From 07d5702e85081e165bed0dc40bfadf59fd227986 Mon Sep 17 00:00:00 2001 From: DanPlayz0 Date: Wed, 14 May 2025 14:37:30 -0700 Subject: [PATCH 1/3] switch to spaces (to keep consistency) --- frontend/rollup.config.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/rollup.config.js b/frontend/rollup.config.js index e1b4ab7..5b33c0a 100644 --- a/frontend/rollup.config.js +++ b/frontend/rollup.config.js @@ -71,12 +71,12 @@ export default { replace({ env: JSON.stringify({ - CLIENT_ID: process.env.CLIENT_ID, - REDIRECT_URI: process.env.REDIRECT_URI, - API_URL: process.env.API_URL, - WS_URL: process.env.WS_URL, - INVITE_URL: process.env.INVITE_URL, - }) + CLIENT_ID: process.env.CLIENT_ID, + REDIRECT_URI: process.env.REDIRECT_URI, + API_URL: process.env.API_URL, + WS_URL: process.env.WS_URL, + INVITE_URL: process.env.INVITE_URL, + }) }), // In dev mode, call `npm run start` once From 67140e8c896fa9ca7f79b8d2880814c6c955d35c Mon Sep 17 00:00:00 2001 From: DanPlayz0 Date: Wed, 14 May 2025 14:39:11 -0700 Subject: [PATCH 2/3] Add Custom & Competing statuses --- app/http/endpoints/api/whitelabel/whitelabelstatuspost.go | 2 ++ frontend/src/views/Whitelabel.svelte | 2 ++ 2 files changed, 4 insertions(+) diff --git a/app/http/endpoints/api/whitelabel/whitelabelstatuspost.go b/app/http/endpoints/api/whitelabel/whitelabelstatuspost.go index 80828d3..08a27cd 100644 --- a/app/http/endpoints/api/whitelabel/whitelabelstatuspost.go +++ b/app/http/endpoints/api/whitelabel/whitelabelstatuspost.go @@ -51,6 +51,8 @@ func WhitelabelStatusPost(c *gin.Context) { user.ActivityTypePlaying, user.ActivityTypeListening, user.ActivityTypeWatching, + user.ActivityTypeCompeting, + user.ActivityTypeCustom, } if !utils.Contains(validActivities, data.StatusType) { diff --git a/frontend/src/views/Whitelabel.svelte b/frontend/src/views/Whitelabel.svelte index c667f73..9ec00a5 100644 --- a/frontend/src/views/Whitelabel.svelte +++ b/frontend/src/views/Whitelabel.svelte @@ -31,6 +31,8 @@ + +
From ddc9267d6311e92b78a96e51c8cdbe28f468e4c5 Mon Sep 17 00:00:00 2001 From: DanPlayz0 Date: Wed, 14 May 2025 22:31:22 -0700 Subject: [PATCH 3/3] fix(RM-76): Implement clearing status of whitelabel bots --- .../api/whitelabel/whitelabelstatusdelete.go | 40 +++++++++++++++++++ app/http/server.go | 1 + frontend/src/views/Whitelabel.svelte | 20 ++++++++++ 3 files changed, 61 insertions(+) create mode 100644 app/http/endpoints/api/whitelabel/whitelabelstatusdelete.go diff --git a/app/http/endpoints/api/whitelabel/whitelabelstatusdelete.go b/app/http/endpoints/api/whitelabel/whitelabelstatusdelete.go new file mode 100644 index 0000000..f47b601 --- /dev/null +++ b/app/http/endpoints/api/whitelabel/whitelabelstatusdelete.go @@ -0,0 +1,40 @@ +package api + +import ( + "net/http" + + "github.com/TicketsBot-cloud/common/statusupdates" + "github.com/TicketsBot-cloud/dashboard/app" + "github.com/TicketsBot-cloud/dashboard/database" + "github.com/TicketsBot-cloud/dashboard/redis" + "github.com/TicketsBot-cloud/dashboard/utils" + "github.com/gin-gonic/gin" +) + +func WhitelabelStatusDelete(c *gin.Context) { + userId := c.Keys["userid"].(uint64) + + // Get bot + bot, err := database.Client.Whitelabel.GetByUserId(c, userId) + if err != nil { + _ = c.AbortWithError(http.StatusInternalServerError, app.NewServerError(err)) + return + } + + // Ensure bot exists + if bot.BotId == 0 { + c.JSON(404, utils.ErrorStr("No bot found")) + return + } + + // Update in database + if err := database.Client.WhitelabelStatuses.Delete(c, bot.BotId); err != nil { + _ = c.AbortWithError(http.StatusInternalServerError, app.NewServerError(err)) + return + } + + // Send status update to sharder + go statusupdates.Publish(redis.Client.Client, bot.BotId) + + c.JSON(200, utils.SuccessResponse) +} diff --git a/app/http/server.go b/app/http/server.go index abc19c4..2e3c207 100644 --- a/app/http/server.go +++ b/app/http/server.go @@ -215,6 +215,7 @@ func StartServer(logger *zap.Logger, sm *livechat.SocketManager) { whitelabelGroup.POST("/", rl(middleware.RateLimitTypeUser, 5, time.Minute), api_whitelabel.WhitelabelPost()) whitelabelGroup.POST("/status", rl(middleware.RateLimitTypeUser, 1, time.Second*5), api_whitelabel.WhitelabelStatusPost) + whitelabelGroup.DELETE("/status", rl(middleware.RateLimitTypeUser, 1, time.Second*5), api_whitelabel.WhitelabelStatusDelete) } } diff --git a/frontend/src/views/Whitelabel.svelte b/frontend/src/views/Whitelabel.svelte index 9ec00a5..686330b 100644 --- a/frontend/src/views/Whitelabel.svelte +++ b/frontend/src/views/Whitelabel.svelte @@ -44,6 +44,11 @@ + {#if bot.status_type != "0" && bot.status != ""} + + {/if}
@@ -253,6 +258,21 @@ notifySuccess('Updated status successfully') } + async function deleteStatus() { + const res = await axios.delete(`${API_URL}/user/whitelabel/status`); + if (res.status !== 200 || !res.data.success) { + if (res.status === 429) { + notifyRatelimit() + } else { + notifyError(res.data.error) + } + + return; + } + + notifySuccess('Deleted status successfully') + } + async function loadBot() { const res = await axios.get(`${API_URL}/user/whitelabel/`); if (res.status !== 200) {