diff --git a/app/http/endpoints/api/tags/tagdelete.go b/app/http/endpoints/api/tags/tagdelete.go index afe2b43..5b0ee21 100644 --- a/app/http/endpoints/api/tags/tagdelete.go +++ b/app/http/endpoints/api/tags/tagdelete.go @@ -2,29 +2,31 @@ package api import ( "github.com/TicketsBot/GoPanel/database" + "github.com/TicketsBot/GoPanel/utils" "github.com/gin-gonic/gin" ) func DeleteTag(ctx *gin.Context) { guildId := ctx.Keys["guildid"].(uint64) - tagId := ctx.Param("tag") - if tagId == "" || len(tagId) > 16 { - ctx.JSON(400, gin.H{ - "success": false, - "error": "Invalid tag", - }) + type Body struct { + TagId string `json:"tag_id"` + } + + var body Body + if err := ctx.BindJSON(&body); err != nil { + ctx.JSON(400, utils.ErrorJson(err)) return } - if err := database.Client.Tag.Delete(guildId, tagId); err != nil { - ctx.JSON(500, gin.H{ - "success": false, - "error": err.Error(), - }) + if body.TagId == "" || len(body.TagId) > 16 { + ctx.JSON(400, utils.ErrorStr("Invalid tag")) + return + } + + if err := database.Client.Tag.Delete(guildId, body.TagId); err != nil { + ctx.JSON(500, utils.ErrorJson(err)) } else { - ctx.JSON(200, gin.H{ - "success": true, - }) + ctx.JSON(200, utils.SuccessResponse) } } diff --git a/app/http/server.go b/app/http/server.go index 00629b3..d7b9168 100644 --- a/app/http/server.go +++ b/app/http/server.go @@ -84,7 +84,8 @@ func StartServer() { guildAuthApiAdmin.PATCH("/multipanels/:panelid", api_panels.MultiPanelUpdate) guildAuthApiAdmin.DELETE("/multipanels/:panelid", api_panels.MultiPanelDelete) - guildAuthApiSupport.GET("/transcripts", createLimiter(5, 5 * time.Second), createLimiter(20, time.Minute), api_transcripts.ListTranscripts) + // Should be a GET, but easier to take a body for development purposes + guildAuthApiSupport.POST("/transcripts", createLimiter(5, 5 * time.Second), createLimiter(20, time.Minute), api_transcripts.ListTranscripts) // Allow regular users to get their own transcripts, make sure you check perms inside guildApiNoAuth.GET("/transcripts/:ticketId", createLimiter(10, 10 * time.Second), api_transcripts.GetTranscriptHandler) @@ -95,7 +96,7 @@ func StartServer() { guildAuthApiSupport.GET("/tags", api_tags.TagsListHandler) guildAuthApiSupport.PUT("/tags", api_tags.CreateTag) - guildAuthApiSupport.DELETE("/tags/:tag", api_tags.DeleteTag) + guildAuthApiSupport.DELETE("/tags", api_tags.DeleteTag) guildAuthApiAdmin.GET("/claimsettings", api_settings.GetClaimSettings) guildAuthApiAdmin.POST("/claimsettings", api_settings.PostClaimSettings) diff --git a/frontend/src/views/Tags.svelte b/frontend/src/views/Tags.svelte index 75fb74f..3cb9b71 100644 --- a/frontend/src/views/Tags.svelte +++ b/frontend/src/views/Tags.svelte @@ -88,7 +88,11 @@ } async function deleteTag(id) { - const res = await axios.delete(`${API_URL}/api/${guildId}/tags/${id}`); + const data = { + tag_id: id + }; + + const res = await axios.delete(`${API_URL}/api/${guildId}/tags`, {data: data}); if (res.status !== 200) { notifyError(res.data.error); return; diff --git a/frontend/src/views/Transcripts.svelte b/frontend/src/views/Transcripts.svelte index 1085c90..bd9f238 100644 --- a/frontend/src/views/Transcripts.svelte +++ b/frontend/src/views/Transcripts.svelte @@ -176,8 +176,7 @@ } async function loadData(paginationSettings) { - let query = buildQuery(paginationSettings); - const res = await axios.get(`${API_URL}/api/${guildId}/transcripts?${query.toString()}`); + const res = await axios.post(`${API_URL}/api/${guildId}/transcripts`, paginationSettings); if (res.status !== 200) { notifyError(res.data.error); return false; diff --git a/go.mod b/go.mod index aaaa02e..578579d 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-20210220155137-a562b2f1bbbb github.com/TicketsBot/common v0.0.0-20210727134627-35eb7ed03a44 - github.com/TicketsBot/database v0.0.0-20210808170243-bcb4f117ed18 + github.com/TicketsBot/database v0.0.0-20210809170854-748ae1fff443 github.com/TicketsBot/worker v0.0.0-20210727130432-3df3cd1246a3 github.com/apex/log v1.1.2 github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff // indirect