custom-config.model.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. defaultClientRoute: string
  9. defaultNSFWPolicy: NSFWPolicyType
  10. customizations: {
  11. javascript?: string
  12. css?: string
  13. }
  14. }
  15. services: {
  16. twitter: {
  17. username: string
  18. whitelisted: boolean
  19. }
  20. }
  21. cache: {
  22. previews: {
  23. size: number
  24. }
  25. captions: {
  26. size: number
  27. }
  28. }
  29. signup: {
  30. enabled: boolean
  31. limit: number
  32. requiresEmailVerification: boolean
  33. }
  34. admin: {
  35. email: string
  36. }
  37. user: {
  38. videoQuota: number
  39. videoQuotaDaily: number
  40. }
  41. transcoding: {
  42. enabled: boolean
  43. threads: number
  44. resolutions: {
  45. '240p': boolean
  46. '360p': boolean
  47. '480p': boolean
  48. '720p': boolean
  49. '1080p': boolean
  50. }
  51. }
  52. import: {
  53. videos: {
  54. http: {
  55. enabled: boolean
  56. },
  57. torrent: {
  58. enabled: boolean
  59. }
  60. }
  61. }
  62. }