import { NSFWPolicyType } from '../videos/nsfw-policy.type'
+import { BroadcastMessageLevel } from './broadcast-message-level.type'
export interface CustomConfig {
instance: {
shortDescription: string
description: string
terms: string
+ codeOfConduct: string
+
+ creationReason: string
+ moderationInformation: string
+ administrator: string
+ maintenanceLifetime: string
+ businessModel: string
+ hardwareInformation: string
+
+ languages: string[]
+ categories: number[]
+
+ isNSFW: boolean
defaultClientRoute: string
defaultNSFWPolicy: NSFWPolicyType
customizations: {
}
}
+ theme: {
+ default: string
+ }
+
services: {
twitter: {
username: string
transcoding: {
enabled: boolean
+
allowAdditionalExtensions: boolean
+ allowAudioFiles: boolean
+
threads: number
resolutions: {
+ '0p': boolean
'240p': boolean
'360p': boolean
'480p': boolean
'720p': boolean
'1080p': boolean
+ '2160p': boolean
}
+
+ webtorrent: {
+ enabled: boolean
+ }
+
hls: {
enabled: boolean
}
videos: {
http: {
enabled: boolean
- },
+ }
torrent: {
enabled: boolean
}
}
}
+
+ autoBlacklist: {
+ videos: {
+ ofUsers: {
+ enabled: boolean
+ }
+ }
+ }
+
+ followers: {
+ instance: {
+ enabled: boolean
+ manualApproval: boolean
+ }
+ }
+
+ followings: {
+ instance: {
+ autoFollowBack: {
+ enabled: boolean
+ }
+
+ autoFollowIndex: {
+ enabled: boolean
+ indexUrl: string
+ }
+ }
+ }
+
+ broadcastMessage: {
+ enabled: boolean
+ message: string
+ level: BroadcastMessageLevel
+ dismissable: boolean
+ }
}