settings.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package models
  2. type Theme string
  3. const (
  4. Dark Theme = "dark"
  5. Light Theme = "light"
  6. System Theme = "system"
  7. )
  8. type ServerSettings struct {
  9. NetclientAutoUpdate bool `json:"netclientautoupdate"`
  10. Verbosity int32 `json:"verbosity"`
  11. AuthProvider string `json:"authprovider"`
  12. OIDCIssuer string `json:"oidcissuer"`
  13. ClientID string `json:"client_id"`
  14. ClientSecret string `json:"client_secret"`
  15. SyncEnabled bool `json:"sync_enabled"`
  16. GoogleAdminEmail string `json:"google_admin_email"`
  17. GoogleSACredsJson string `json:"google_sa_creds_json"`
  18. AzureTenant string `json:"azure_tenant"`
  19. UserFilters []string `json:"user_filters"`
  20. GroupFilters []string `json:"group_filters"`
  21. IDPSyncInterval string `json:"idp_sync_interval"`
  22. Telemetry string `json:"telemetry"`
  23. BasicAuth bool `json:"basic_auth"`
  24. // JwtValidityDuration is the validity duration of auth tokens for users
  25. // on the dashboard (NMUI).
  26. JwtValidityDuration int `json:"jwt_validity_duration"`
  27. // JwtValidityDurationClients is the validity duration of auth tokens for
  28. // users on the clients (NetDesk).
  29. JwtValidityDurationClients int `json:"jwt_validity_duration_clients"`
  30. MFAEnforced bool `json:"mfa_enforced"`
  31. RacRestrictToSingleNetwork bool `json:"rac_restrict_to_single_network"`
  32. EndpointDetection bool `json:"endpoint_detection"`
  33. AllowedEmailDomains string `json:"allowed_email_domains"`
  34. EmailSenderAddr string `json:"email_sender_addr"`
  35. EmailSenderUser string `json:"email_sender_user"`
  36. EmailSenderPassword string `json:"email_sender_password"`
  37. SmtpHost string `json:"smtp_host"`
  38. SmtpPort int `json:"smtp_port"`
  39. MetricInterval string `json:"metric_interval"`
  40. MetricsPort int `json:"metrics_port"`
  41. ManageDNS bool `json:"manage_dns"`
  42. DefaultDomain string `json:"default_domain"`
  43. Stun bool `json:"stun"`
  44. StunServers string `json:"stun_servers"`
  45. Theme Theme `json:"theme"`
  46. TextSize string `json:"text_size"`
  47. ReducedMotion bool `json:"reduced_motion"`
  48. AuditLogsRetentionPeriodInDays int `json:"audit_logs_retention_period"`
  49. }