chatdesk-ui/auth_v2.169.0/internal/api/settings.go

80 lines
3.0 KiB
Go

package api
import "net/http"
type ProviderSettings struct {
AnonymousUsers bool `json:"anonymous_users"`
Apple bool `json:"apple"`
Azure bool `json:"azure"`
Bitbucket bool `json:"bitbucket"`
Discord bool `json:"discord"`
Facebook bool `json:"facebook"`
Figma bool `json:"figma"`
Fly bool `json:"fly"`
GitHub bool `json:"github"`
GitLab bool `json:"gitlab"`
Google bool `json:"google"`
Keycloak bool `json:"keycloak"`
Kakao bool `json:"kakao"`
Linkedin bool `json:"linkedin"`
LinkedinOIDC bool `json:"linkedin_oidc"`
Notion bool `json:"notion"`
Spotify bool `json:"spotify"`
Slack bool `json:"slack"`
SlackOIDC bool `json:"slack_oidc"`
WorkOS bool `json:"workos"`
Twitch bool `json:"twitch"`
Twitter bool `json:"twitter"`
Email bool `json:"email"`
Phone bool `json:"phone"`
Zoom bool `json:"zoom"`
}
type Settings struct {
ExternalProviders ProviderSettings `json:"external"`
DisableSignup bool `json:"disable_signup"`
MailerAutoconfirm bool `json:"mailer_autoconfirm"`
PhoneAutoconfirm bool `json:"phone_autoconfirm"`
SmsProvider string `json:"sms_provider"`
SAMLEnabled bool `json:"saml_enabled"`
}
func (a *API) Settings(w http.ResponseWriter, r *http.Request) error {
config := a.config
return sendJSON(w, http.StatusOK, &Settings{
ExternalProviders: ProviderSettings{
AnonymousUsers: config.External.AnonymousUsers.Enabled,
Apple: config.External.Apple.Enabled,
Azure: config.External.Azure.Enabled,
Bitbucket: config.External.Bitbucket.Enabled,
Discord: config.External.Discord.Enabled,
Facebook: config.External.Facebook.Enabled,
Figma: config.External.Figma.Enabled,
Fly: config.External.Fly.Enabled,
GitHub: config.External.Github.Enabled,
GitLab: config.External.Gitlab.Enabled,
Google: config.External.Google.Enabled,
Kakao: config.External.Kakao.Enabled,
Keycloak: config.External.Keycloak.Enabled,
Linkedin: config.External.Linkedin.Enabled,
LinkedinOIDC: config.External.LinkedinOIDC.Enabled,
Notion: config.External.Notion.Enabled,
Spotify: config.External.Spotify.Enabled,
Slack: config.External.Slack.Enabled,
SlackOIDC: config.External.SlackOIDC.Enabled,
Twitch: config.External.Twitch.Enabled,
Twitter: config.External.Twitter.Enabled,
WorkOS: config.External.WorkOS.Enabled,
Email: config.External.Email.Enabled,
Phone: config.External.Phone.Enabled,
Zoom: config.External.Zoom.Enabled,
},
DisableSignup: config.DisableSignup,
MailerAutoconfirm: config.Mailer.Autoconfirm,
PhoneAutoconfirm: config.Sms.Autoconfirm,
SmsProvider: config.Sms.Provider,
SAMLEnabled: config.SAML.Enabled,
})
}