diff --git a/app/http/endpoints/api/settings.go b/app/http/endpoints/api/settings.go index 5dddba6..5dff5a8 100644 --- a/app/http/endpoints/api/settings.go +++ b/app/http/endpoints/api/settings.go @@ -18,6 +18,7 @@ type Settings struct { PingEveryone bool `json:"ping_everyone"` UsersCanClose bool `json:"users_can_close"` CloseConfirmation bool `json:"close_confirmation"` + ModmailEnabled bool `json:"modmail_enabled"` } func GetSettingsHandler(ctx *gin.Context) { @@ -81,6 +82,12 @@ func GetSettingsHandler(ctx *gin.Context) { return }) + // modmail enabled + group.Go(func() (err error) { + settings.ModmailEnabled, err = dbclient.Client.ModmailEnabled.Get(guildId) + return + }) + if err := group.Wait(); err != nil { ctx.AbortWithStatusJSON(500, gin.H{ "success": false, diff --git a/app/http/endpoints/api/updatesettings.go b/app/http/endpoints/api/updatesettings.go index c5d0f12..7d24ab3 100644 --- a/app/http/endpoints/api/updatesettings.go +++ b/app/http/endpoints/api/updatesettings.go @@ -33,6 +33,7 @@ func UpdateSettingsHandler(ctx *gin.Context) { settings.updatePingEveryone(guildId) settings.updateUsersCanClose(guildId) settings.updateCloseConfirmation(guildId) + settings.updateModmailEnabled(guildId) ctx.JSON(200, gin.H{ "prefix": validPrefix, @@ -135,3 +136,7 @@ func (s *Settings) updateUsersCanClose(guildId uint64) { func (s *Settings) updateCloseConfirmation(guildId uint64) { go dbclient.Client.CloseConfirmation.Set(guildId, s.CloseConfirmation) } + +func (s *Settings) updateModmailEnabled(guildId uint64) { + go dbclient.Client.ModmailEnabled.Set(guildId, s.ModmailEnabled) +} diff --git a/go.mod b/go.mod index 6565992..6e2f65d 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/BurntSushi/toml v0.3.1 github.com/TicketsBot/archiverclient v0.0.0-20200425115930-0ca198cc8306 github.com/TicketsBot/common v0.0.0-20200529141045-7426ad13f1a4 - github.com/TicketsBot/database v0.0.0-20200603195715-ce3003c9764c + github.com/TicketsBot/database v0.0.0-20200604215726-514be849d31c github.com/apex/log v1.1.2 github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff // indirect github.com/dgrijalva/jwt-go v3.2.0+incompatible diff --git a/public/templates/views/settings.tmpl b/public/templates/views/settings.tmpl index dd0064e..40bd794 100644 --- a/public/templates/views/settings.tmpl +++ b/public/templates/views/settings.tmpl @@ -35,7 +35,7 @@ -