User stuff, config structure changes, web panel start, versioncheck fix, api start, recaptcha support for web panel

This commit is contained in:
2025-02-08 21:19:25 -05:00
parent bc3443b1dc
commit 73e9b72ad4
36 changed files with 5526 additions and 87 deletions

View File

@@ -3,7 +3,7 @@ import { GameConfigs } from "../../data/config.ts";
export const route = APIUtils.createRouter('/config');
route.router.get('/v2', (rq, rs) => {
route.router.get('/v2', (_rq, rs) => {
const config = GameConfigs.getConfig();
if (config == null) rs.sendStatus(500);
else rs.json(config);

View File

@@ -0,0 +1,7 @@
import { APIUtils } from "../../apiutils.ts";
export const route = APIUtils.createRouter('/gameconfigs');
route.router.get('/v1/all', (_rq, rs) => {
rs.json([]);
});

View File

@@ -4,20 +4,29 @@ export const route = APIUtils.createRouter('/versioncheck');
const validVersion = '20191120';
enum VersionStatus {
UpdateRequired,
ValidForMenu,
ValidForPlay
}
type ValidVersionResponse = {
ValidVersion: boolean
VersionStatus: VersionStatus
}
route.router.get('/v3', (rq, rs) => {
route.router.get('/v4', (rq, rs) => {
const requestedVer = rq.query['v'];
if (typeof requestedVer !== 'string' || requestedVer !== validVersion) {
if (typeof requestedVer == 'undefined') {
rs.statusCode = 400;
rs.json(APIUtils.genericResponseFormat(true, 'One or more query parameters were not found.'));
}
else if (requestedVer !== validVersion) {
const res: ValidVersionResponse = {
ValidVersion: false
VersionStatus: VersionStatus.UpdateRequired
}
rs.json(res);
} else {
const res: ValidVersionResponse = {
ValidVersion: true
VersionStatus: VersionStatus.ValidForPlay
}
rs.json(res);
}