mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			126 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
| import { NSFWPolicyType } from '../videos/nsfw-policy.type'
 | |
| import { ClientScript } from '../plugins/plugin-package-json.model'
 | |
| 
 | |
| export interface ServerConfigPlugin {
 | |
|   name: string
 | |
|   version: string
 | |
|   description: string
 | |
|   clientScripts: { [name: string]: ClientScript }
 | |
| }
 | |
| 
 | |
| export interface ServerConfigTheme extends ServerConfigPlugin {
 | |
|   css: string[]
 | |
| }
 | |
| 
 | |
| export interface ServerConfig {
 | |
|   serverVersion: string
 | |
|   serverCommit?: string
 | |
| 
 | |
|   instance: {
 | |
|     name: string
 | |
|     shortDescription: string
 | |
|     defaultClientRoute: string
 | |
|     isNSFW: boolean
 | |
|     defaultNSFWPolicy: NSFWPolicyType
 | |
|     customizations: {
 | |
|       javascript: string
 | |
|       css: string
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   plugin: {
 | |
|     registered: ServerConfigPlugin[]
 | |
|   }
 | |
| 
 | |
|   theme: {
 | |
|     registered: ServerConfigTheme[]
 | |
|     default: string
 | |
|   }
 | |
| 
 | |
|   email: {
 | |
|     enabled: boolean
 | |
|   }
 | |
| 
 | |
|   contactForm: {
 | |
|     enabled: boolean
 | |
|   }
 | |
| 
 | |
|   signup: {
 | |
|     allowed: boolean,
 | |
|     allowedForCurrentIP: boolean
 | |
|     requiresEmailVerification: boolean
 | |
|   }
 | |
| 
 | |
|   transcoding: {
 | |
|     hls: {
 | |
|       enabled: boolean
 | |
|     }
 | |
| 
 | |
|     enabledResolutions: number[]
 | |
|   }
 | |
| 
 | |
|   import: {
 | |
|     videos: {
 | |
|       http: {
 | |
|         enabled: boolean
 | |
|       }
 | |
|       torrent: {
 | |
|         enabled: boolean
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   autoBlacklist: {
 | |
|     videos: {
 | |
|       ofUsers: {
 | |
|         enabled: boolean
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   avatar: {
 | |
|     file: {
 | |
|       size: {
 | |
|         max: number
 | |
|       }
 | |
|       extensions: string[]
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   video: {
 | |
|     image: {
 | |
|       size: {
 | |
|         max: number
 | |
|       }
 | |
|       extensions: string[]
 | |
|     },
 | |
|     file: {
 | |
|       extensions: string[]
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   videoCaption: {
 | |
|     file: {
 | |
|       size: {
 | |
|         max: number
 | |
|       },
 | |
|       extensions: string[]
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   user: {
 | |
|     videoQuota: number
 | |
|     videoQuotaDaily: number
 | |
|   }
 | |
| 
 | |
|   trending: {
 | |
|     videos: {
 | |
|       intervalDays: number
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   tracker: {
 | |
|     enabled: boolean
 | |
|   }
 | |
| }
 |