From 27e2fb6d25b92aa2877f52b0d95cfa00ed7168e3 Mon Sep 17 00:00:00 2001 From: rxdn <29165304+rxdn@users.noreply.github.com> Date: Sun, 31 Jul 2022 22:36:24 +0100 Subject: [PATCH] Ticket permissions --- app/http/endpoints/api/settings/settings.go | 13 ++++++++--- .../endpoints/api/settings/updatesettings.go | 5 +++++ frontend/src/components/Collapsible.svelte | 10 +++++++++ frontend/src/components/form/Toggle.svelte | 19 ++++++++++++++++ .../src/components/manage/SettingsCard.svelte | 22 +++++++++++++++---- go.mod | 2 +- go.sum | 2 ++ 7 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 frontend/src/components/form/Toggle.svelte 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 @@ + {#if tooltip !== undefined} +
+ + + +
+ {/if} +
@@ -20,11 +28,13 @@ \ No newline at end of file diff --git a/frontend/src/components/manage/SettingsCard.svelte b/frontend/src/components/manage/SettingsCard.svelte index c1044dd..2882cf2 100644 --- a/frontend/src/components/manage/SettingsCard.svelte +++ b/frontend/src/components/manage/SettingsCard.svelte @@ -93,7 +93,8 @@
-
@@ -104,12 +105,14 @@
- +
-
@@ -118,7 +121,8 @@
-
@@ -130,6 +134,15 @@
+ + Ticket Permissions +
+ + + +
+
+
Colour Scheme @@ -183,6 +196,7 @@ import Colour from "../form/Colour.svelte"; import PremiumBadge from "../PremiumBadge.svelte"; import {toDays, toHours, toMinutes} from "../../js/timeutil"; + import Toggle from "../form/Toggle.svelte"; export let guildId; diff --git a/go.mod b/go.mod index f97e48c..c8bbd09 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-20220326163414-558fd52746dc github.com/TicketsBot/common v0.0.0-20220703211704-f792aa9f0c42 - github.com/TicketsBot/database v0.0.0-20220726141552-4560095e37f7 + github.com/TicketsBot/database v0.0.0-20220731213519-9fc9b34ab06f github.com/TicketsBot/logarchiver v0.0.0-20220326162808-cdf0310f5e1c github.com/TicketsBot/worker v0.0.0-20220726162721-eb8978799cd0 github.com/apex/log v1.1.2 diff --git a/go.sum b/go.sum index 293e8d8..058c59d 100644 --- a/go.sum +++ b/go.sum @@ -41,6 +41,8 @@ github.com/TicketsBot/common v0.0.0-20220703211704-f792aa9f0c42 h1:3/qnbrEfL8gqS github.com/TicketsBot/common v0.0.0-20220703211704-f792aa9f0c42/go.mod h1:WxHh6bY7KhIqdayeOp5f0Zj2NNi/7QqCQfMEqHnpdAM= github.com/TicketsBot/database v0.0.0-20220726141552-4560095e37f7 h1:fdGleu/242MMcdFyyVlhfBXbOWoKREjEXdRS62O42Ao= github.com/TicketsBot/database v0.0.0-20220726141552-4560095e37f7/go.mod h1:F57cywrZsnper1cy56Bx0c/HEsxQBLHz3Pl98WXblWw= +github.com/TicketsBot/database v0.0.0-20220731213519-9fc9b34ab06f h1:5tpytvC/I1eOgLXhhWvg4RA+vu40oXXzLFwfLde37gY= +github.com/TicketsBot/database v0.0.0-20220731213519-9fc9b34ab06f/go.mod h1:F57cywrZsnper1cy56Bx0c/HEsxQBLHz3Pl98WXblWw= github.com/TicketsBot/logarchiver v0.0.0-20220326162808-cdf0310f5e1c h1:OqGjFH6mbE6gd+NqI2ARJdtH3UUvhiAkD0r0fhGJK2s= github.com/TicketsBot/logarchiver v0.0.0-20220326162808-cdf0310f5e1c/go.mod h1:jgi2OXQKsd5nUnTIRkwvPmeuD/i7OhN68LKMssuQY1c= github.com/TicketsBot/ttlcache v1.6.1-0.20200405150101-acc18e37b261 h1:NHD5GB6cjlkpZFjC76Yli2S63/J2nhr8MuE6KlYJpQM=