slight reworking on the configuration-based invite system to include open registration flag, contact details, and store strategy. moved to 'admin' stanza (#229)

This commit is contained in:
Michael Quigley
2023-05-22 15:42:20 -04:00
parent 41c30e4158
commit b334ff50b2
10 changed files with 86 additions and 40 deletions

View File

@@ -19,18 +19,14 @@ func newConfigurationHandler(cfg *config.Config) *configurationHandler {
}
func (ch *configurationHandler) Handle(_ metadata.ConfigurationParams) middleware.Responder {
tou := ""
if cfg.Admin != nil {
tou = cfg.Admin.TouLink
}
tokenRequired := false
if cfg.Registration != nil {
tokenRequired = cfg.Registration.TokenStrategy == "store"
}
data := &rest_model_zrok.Configuration{
Version: build.String(),
TouLink: tou,
RegistrationRequiresToken: tokenRequired,
Version: build.String(),
InvitesOpen: cfg.Admin != nil && cfg.Admin.InvitesOpen,
RequiresInviteToken: cfg.Registration != nil && cfg.Admin.InviteTokenStrategy == "store",
}
if cfg.Admin != nil {
data.TouLink = cfg.Admin.TouLink
data.InviteTokenContact = cfg.Admin.InviteTokenContact
}
return metadata.NewConfigurationOK().WithPayload(data)
}