You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

feature.ts 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. export enum SSOProtocol {
  2. SAML = 'saml',
  3. OIDC = 'oidc',
  4. OAuth2 = 'oauth2',
  5. }
  6. export enum LicenseStatus {
  7. NONE = 'none',
  8. INACTIVE = 'inactive',
  9. ACTIVE = 'active',
  10. EXPIRING = 'expiring',
  11. EXPIRED = 'expired',
  12. LOST = 'lost',
  13. }
  14. type License = {
  15. status: LicenseStatus
  16. expired_at: string | null
  17. }
  18. export type SystemFeatures = {
  19. sso_enforced_for_signin: boolean
  20. sso_enforced_for_signin_protocol: SSOProtocol | ''
  21. sso_enforced_for_web: boolean
  22. sso_enforced_for_web_protocol: SSOProtocol | ''
  23. enable_marketplace: boolean
  24. enable_email_code_login: boolean
  25. enable_email_password_login: boolean
  26. enable_social_oauth_login: boolean
  27. is_allow_create_workspace: boolean
  28. is_allow_register: boolean
  29. is_email_setup: boolean
  30. license: License
  31. branding: {
  32. enabled: boolean
  33. login_page_logo: string
  34. workspace_logo: string
  35. favicon: string
  36. application_title: string
  37. }
  38. webapp_auth: {
  39. enabled: boolean
  40. allow_sso: boolean
  41. sso_config: {
  42. protocol: SSOProtocol | ''
  43. }
  44. allow_email_code_login: boolean
  45. allow_email_password_login: boolean
  46. }
  47. }
  48. export const defaultSystemFeatures: SystemFeatures = {
  49. sso_enforced_for_signin: false,
  50. sso_enforced_for_signin_protocol: '',
  51. sso_enforced_for_web: false,
  52. sso_enforced_for_web_protocol: '',
  53. enable_marketplace: false,
  54. enable_email_code_login: false,
  55. enable_email_password_login: false,
  56. enable_social_oauth_login: false,
  57. is_allow_create_workspace: false,
  58. is_allow_register: false,
  59. is_email_setup: false,
  60. license: {
  61. status: LicenseStatus.NONE,
  62. expired_at: '',
  63. },
  64. branding: {
  65. enabled: false,
  66. login_page_logo: '',
  67. workspace_logo: '',
  68. favicon: '',
  69. application_title: 'test title',
  70. },
  71. webapp_auth: {
  72. enabled: false,
  73. allow_sso: false,
  74. sso_config: {
  75. protocol: '',
  76. },
  77. allow_email_code_login: false,
  78. allow_email_password_login: false,
  79. },
  80. }