| 697 | } |
| 698 | |
| 699 | func settingsToResponse(s *models.Settings, enc *util.Encryption) map[string]interface{} { |
| 700 | discordSecretSet := false |
| 701 | if s.DiscordClientSecret != nil && *s.DiscordClientSecret != "" && enc != nil { |
| 702 | _, err := enc.Decrypt(*s.DiscordClientSecret) |
| 703 | discordSecretSet = err == nil |
| 704 | } |
| 705 | res := map[string]interface{}{ |
| 706 | "id": s.ID, "server_url": s.ServerURL, "server_protocol": s.ServerProtocol, |
| 707 | "server_host": s.ServerHost, "server_port": s.ServerPort, |
| 708 | "created_at": s.CreatedAt, "updated_at": s.UpdatedAt, |
| 709 | "update_interval": s.UpdateInterval, "auto_update": s.AutoUpdate, |
| 710 | "default_compliance_mode": s.DefaultComplianceMode, "compliance_scan_interval": s.ComplianceScanInterval, |
| 711 | "package_cache_refresh_mode": s.PackageCacheRefreshMode, "package_cache_refresh_max_age": s.PackageCacheRefreshMaxAge, |
| 712 | "github_repo_url": s.GithubRepoURL, |
| 713 | "ssh_key_path": s.SSHKeyPath, "repository_type": s.RepositoryType, |
| 714 | "last_update_check": s.LastUpdateCheck, "latest_version": s.LatestVersion, |
| 715 | "update_available": s.UpdateAvailable, |
| 716 | "signup_enabled": s.SignupEnabled, "default_user_role": s.DefaultUserRole, |
| 717 | "ignore_ssl_self_signed": s.IgnoreSSLSelfSigned, |
| 718 | "logo_dark": s.LogoDark, "logo_light": s.LogoLight, "favicon": s.Favicon, |
| 719 | "metrics_enabled": s.MetricsEnabled, "metrics_anonymous_id": s.MetricsAnonymousID, |
| 720 | "metrics_last_sent": s.MetricsLastSent, |
| 721 | "show_github_version_on_login": s.ShowGithubVersionOnLogin, |
| 722 | "ai_enabled": s.AiEnabled, "ai_provider": s.AiProvider, "ai_model": s.AiModel, |
| 723 | "alerts_enabled": s.AlertsEnabled, |
| 724 | "discord_oauth_enabled": s.DiscordOAuthEnabled, "discord_client_id": s.DiscordClientID, |
| 725 | "discord_client_secret_set": discordSecretSet, |
| 726 | "discord_redirect_uri": s.DiscordRedirectURI, "discord_button_text": s.DiscordButtonText, |
| 727 | } |
| 728 | return res |
| 729 | } |
| 730 | |
| 731 | // getReqString returns string from req for key or altKey (camelCase fallback). |
| 732 | func getReqString(req map[string]interface{}, key, altKey string) (string, bool) { |