diff --git a/app/http/endpoints/api/settings/settings.go b/app/http/endpoints/api/settings/settings.go
index db55bf7..664cfab 100644
--- a/app/http/endpoints/api/settings/settings.go
+++ b/app/http/endpoints/api/settings/settings.go
@@ -15,9 +15,10 @@ import (
type (
Settings struct {
database.Settings
- ClaimSettings database.ClaimSettings `json:"claim_settings"`
- AutoCloseSettings AutoCloseData `json:"auto_close"`
- Colours ColourMap `json:"colours"`
+ ClaimSettings database.ClaimSettings `json:"claim_settings"`
+ AutoCloseSettings AutoCloseData `json:"auto_close"`
+ TicketPermissions database.TicketPermissions `json:"ticket_permissions"`
+ Colours ColourMap `json:"colours"`
Prefix string `json:"prefix"`
WelcomeMessage string `json:"welcome_message"`
@@ -72,6 +73,12 @@ func GetSettingsHandler(ctx *gin.Context) {
return nil
})
+ // ticket permissions
+ group.Go(func() (err error) {
+ settings.TicketPermissions, err = dbclient.Client.TicketPermissions.Get(guildId)
+ return
+ })
+
// colour map
group.Go(func() (err error) {
settings.Colours, err = getColourMap(guildId)
diff --git a/app/http/endpoints/api/settings/updatesettings.go b/app/http/endpoints/api/settings/updatesettings.go
index f16f5bf..eec6239 100644
--- a/app/http/endpoints/api/settings/updatesettings.go
+++ b/app/http/endpoints/api/settings/updatesettings.go
@@ -59,6 +59,7 @@ func UpdateSettingsHandler(ctx *gin.Context) {
return settings.updateClaimSettings(guildId)
})
+ addToWaitGroup(group, guildId, settings.updateTicketPermissions)
addToWaitGroup(group, guildId, settings.updateLanguage)
addToWaitGroup(group, guildId, settings.updateAutoClose)
@@ -339,6 +340,10 @@ func (s *Settings) updateLanguage(guildId uint64) error {
}
}
+func (s *Settings) updateTicketPermissions(guildId uint64) error {
+ return dbclient.Client.TicketPermissions.Set(guildId, s.TicketPermissions) // No validation required
+}
+
func (s *Settings) updateColours(guildId uint64) error {
// Convert ColourMap to primitives
converted := make(map[int16]int)
diff --git a/frontend/src/components/Collapsible.svelte b/frontend/src/components/Collapsible.svelte
index 1f38ee9..9e5a9b0 100644
--- a/frontend/src/components/Collapsible.svelte
+++ b/frontend/src/components/Collapsible.svelte
@@ -8,6 +8,14 @@