/* Galvanic Corrosion - Rec Room custom server for communities. Copyright (C) 2025 @zombieb (Discord / proxnet Gitea) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ import { APIUtils } from "../../apiutils.ts"; import express from "express"; import { AuthType } from "../../data/UserTypes.ts"; import { StorefrontBalanceType } from "../../data/content/storefronts.ts"; export const route = APIUtils.createRouter('/storefronts'); interface StorefrontFetchParams { id?: string } route.router.get('/v3/giftdropstore/:id', APIUtils.Authentication, APIUtils.AuthenticationType(AuthType.Game), (rq: express.Request, rs: express.Response) => { if (!rq.params.id) { rs.sendStatus(400); return; } rs.json({ StorefrontType: parseInt(rq.params.id), NextUpdate: new Date(Date.now() + 604_800_000).toISOString(), StoreItems: [] }); }, ); interface BalanceParams { currencyType?: string } route.router.get('/v4/balance/:currencyType', APIUtils.Authentication, APIUtils.AuthenticationType(AuthType.Game), (rq: express.Request, rs: express.Response) => { const parsedCurrencyType = parseInt(rq.params.currencyType ? rq.params.currencyType : "2"); if (isNaN(parsedCurrencyType)) { rs.sendStatus(400); } else { rs.json([{ Balance: 0, BalanceType: StorefrontBalanceType.NonPurchasedNonP2P, CurrencyType: parsedCurrencyType }]); } }, );