refacto: Changing actions reset windows + display

This commit is contained in:
gauvainboiche
2026-04-02 15:44:58 +02:00
parent e573ea0d37
commit 3cdb6385a7
9 changed files with 70 additions and 16 deletions
+4 -3
View File
@@ -34,7 +34,7 @@ import {
getTeamVisibleCells,
} from "../db/gameDb.js";
import {
nextNoonUtc,
nextResetUtc,
getUserActionsRow,
resetUserActions,
decrementUserActions,
@@ -100,6 +100,7 @@ router.get("/config", async (req, res) => {
seedPeriodStartsAtUtc: ws.seedPeriodStartsAtUtc,
actionsRemaining,
teamActionsRemaining,
actionsResetIntervalHours: cfg.actionsResetIntervalHours ?? 12,
resourceWorth: cfg.resourceWorth ?? { common: {}, rare: {} },
elementWorth: cfg.elementWorth ?? {},
militaryPower: cfg.militaryPower ?? {},
@@ -170,7 +171,7 @@ router.post("/cell/reveal", authMiddleware, async (req, res) => {
const now = new Date();
const quotaRow = await getUserActionsRow(userId);
if (!quotaRow || new Date(quotaRow.quota_reset_at) <= now) {
await resetUserActions(userId, effectiveQuota - 1, nextNoonUtc().toISOString());
await resetUserActions(userId, effectiveQuota - 1, nextResetUtc(cfg.actionsResetIntervalHours ?? 12).toISOString());
} else {
const updated = await decrementUserActions(userId);
if (!updated) {
@@ -247,7 +248,7 @@ router.post("/cell/capture", authMiddleware, async (req, res) => {
if (totalActions < cost) {
return res.status(429).json({ error: "team_quota_exhausted", cost, teamActionsRemaining: totalActions });
}
await resetTeamActions(team, totalActions - cost, nextNoonUtc().toISOString());
await resetTeamActions(team, totalActions - cost, nextResetUtc(cfg.actionsResetIntervalHours ?? 12).toISOString());
} else {
if (teamRow.actions_remaining < cost) {
return res.status(429).json({ error: "team_quota_exhausted", cost, teamActionsRemaining: teamRow.actions_remaining });