custom-config.model.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. import { NSFWPolicyType } from '../videos/nsfw-policy.type'
  2. export interface CustomConfig {
  3. instance: {
  4. name: string
  5. shortDescription: string
  6. description: string
  7. terms: string
  8. codeOfConduct: string
  9. creationReason: string
  10. moderationInformation: string
  11. administrator: string
  12. maintenanceLifetime: string
  13. businessModel: string
  14. hardwareInformation: string
  15. languages: string[]
  16. categories: number[]
  17. isNSFW: boolean
  18. defaultClientRoute: string
  19. defaultNSFWPolicy: NSFWPolicyType
  20. customizations: {
  21. javascript?: string
  22. css?: string
  23. }
  24. }
  25. theme: {
  26. default: string
  27. }
  28. services: {
  29. twitter: {
  30. username: string
  31. whitelisted: boolean
  32. }
  33. }
  34. cache: {
  35. previews: {
  36. size: number
  37. }
  38. captions: {
  39. size: number
  40. }
  41. }
  42. signup: {
  43. enabled: boolean
  44. limit: number
  45. requiresEmailVerification: boolean
  46. }
  47. admin: {
  48. email: string
  49. }
  50. contactForm: {
  51. enabled: boolean
  52. }
  53. user: {
  54. videoQuota: number
  55. videoQuotaDaily: number
  56. }
  57. transcoding: {
  58. enabled: boolean
  59. allowAdditionalExtensions: boolean
  60. allowAudioFiles: boolean
  61. threads: number
  62. resolutions: {
  63. '240p': boolean
  64. '360p': boolean
  65. '480p': boolean
  66. '720p': boolean
  67. '1080p': boolean
  68. '2160p': boolean
  69. }
  70. webtorrent: {
  71. enabled: boolean
  72. }
  73. hls: {
  74. enabled: boolean
  75. }
  76. }
  77. import: {
  78. videos: {
  79. http: {
  80. enabled: boolean
  81. },
  82. torrent: {
  83. enabled: boolean
  84. }
  85. }
  86. }
  87. autoBlacklist: {
  88. videos: {
  89. ofUsers: {
  90. enabled: boolean
  91. }
  92. }
  93. }
  94. followers: {
  95. instance: {
  96. enabled: boolean,
  97. manualApproval: boolean
  98. }
  99. }
  100. followings: {
  101. instance: {
  102. autoFollowBack: {
  103. enabled: boolean
  104. }
  105. autoFollowIndex: {
  106. enabled: boolean
  107. indexUrl: string
  108. }
  109. }
  110. }
  111. }