From 6a9b411fea563ccbc8ab1267502cb2bdf89c008f Mon Sep 17 00:00:00 2001 From: JohnDoe6345789 Date: Fri, 26 Dec 2025 00:58:33 +0000 Subject: [PATCH] update: packages,lua,lobby (2 files) --- .../arcade_lobby/seed/scripts/permissions.lua | 13 ++++++++++++ .../seed/scripts/queue_metrics.lua | 20 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 packages/arcade_lobby/seed/scripts/permissions.lua create mode 100644 packages/arcade_lobby/seed/scripts/queue_metrics.lua diff --git a/packages/arcade_lobby/seed/scripts/permissions.lua b/packages/arcade_lobby/seed/scripts/permissions.lua new file mode 100644 index 000000000..7162faee4 --- /dev/null +++ b/packages/arcade_lobby/seed/scripts/permissions.lua @@ -0,0 +1,13 @@ +local M = {} + +function M.can_create_tournament(user) + local role = user.role or "public" + local allowed = { + admin = true, + god = true, + supergod = true + } + return allowed[role] == true +end + +return M diff --git a/packages/arcade_lobby/seed/scripts/queue_metrics.lua b/packages/arcade_lobby/seed/scripts/queue_metrics.lua new file mode 100644 index 000000000..cef2b753c --- /dev/null +++ b/packages/arcade_lobby/seed/scripts/queue_metrics.lua @@ -0,0 +1,20 @@ +local M = {} + +function M.summarize(queues) + local total_players = 0 + local longest_wait = 0 + + for _, queue in ipairs(queues) do + total_players = total_players + (queue.players or 0) + if (queue.waitSeconds or 0) > longest_wait then + longest_wait = queue.waitSeconds + end + end + + return { + totalPlayers = total_players, + longestWaitSeconds = longest_wait + } +end + +return M