2
0

settings.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. OktaOrgURL string `json:"okta_org_url"`
  20. OktaAPIToken string `json:"okta_api_token"`
  21. UserFilters []string `json:"user_filters"`
  22. GroupFilters []string `json:"group_filters"`
  23. IDPSyncInterval string `json:"idp_sync_interval"`
  24. Telemetry string `json:"telemetry"`
  25. BasicAuth bool `json:"basic_auth"`
  26. // JwtValidityDuration is the validity duration of auth tokens for users
  27. // on the dashboard (NMUI).
  28. JwtValidityDuration int `json:"jwt_validity_duration"`
  29. // JwtValidityDurationClients is the validity duration of auth tokens for
  30. // users on the clients (NetDesk).
  31. JwtValidityDurationClients int `json:"jwt_validity_duration_clients"`
  32. MFAEnforced bool `json:"mfa_enforced"`
  33. RacRestrictToSingleNetwork bool `json:"rac_restrict_to_single_network"`
  34. EndpointDetection bool `json:"endpoint_detection"`
  35. AllowedEmailDomains string `json:"allowed_email_domains"`
  36. EmailSenderAddr string `json:"email_sender_addr"`
  37. EmailSenderUser string `json:"email_sender_user"`
  38. EmailSenderPassword string `json:"email_sender_password"`
  39. SmtpHost string `json:"smtp_host"`
  40. SmtpPort int `json:"smtp_port"`
  41. MetricInterval string `json:"metric_interval"`
  42. MetricsPort int `json:"metrics_port"`
  43. ManageDNS bool `json:"manage_dns"`
  44. DefaultDomain string `json:"default_domain"`
  45. Stun bool `json:"stun"`
  46. StunServers string `json:"stun_servers"`
  47. AuditLogsRetentionPeriodInDays int `json:"audit_logs_retention_period"`
  48. }
  49. type UserSettings struct {
  50. Theme Theme `json:"theme"`
  51. TextSize string `json:"text_size"`
  52. ReducedMotion bool `json:"reduced_motion"`
  53. }