Add endpoints for config setting

This commit is contained in:
Ajay 2025-04-08 15:18:32 -04:00
parent 2aa3589312
commit ac26aed21c
3 changed files with 15 additions and 5 deletions

View file

@ -60,6 +60,8 @@ import { getReady } from "./routes/getReady";
import { getMetrics } from "./routes/getMetrics";
import { getSegmentID } from "./routes/getSegmentID";
import { postCasual } from "./routes/postCasual";
import { getConfigEndpoint } from "./routes/getConfig";
import { setConfig } from "./routes/setConfig";
export function createServer(callback: () => void): Server {
// Create a service (the app object is just a callback).
@ -235,6 +237,9 @@ function setupRoutes(router: Router, server: Server) {
router.get("/api/branding/:prefix", getBrandingByHashEndpoint);
router.post("/api/branding", postBranding);
router.get("/api/config", getConfigEndpoint);
router.get("/api/config", setConfig);
router.post("/api/casual", postCasual);
/* istanbul ignore next */

View file

@ -1,11 +1,11 @@
import { getHashCache } from "../utils/getHashCache";
import { db } from "../databases/databases";
import { Request, Response } from "express";
import { isUserVIP } from "../utils/isUserVIP";
import { UserID } from "../types/user.model";
import { Logger } from "../utils/logger";
import { getServerConfig } from "../utils/serverConfig";
export async function getConfig(req: Request, res: Response): Promise<Response> {
export async function getConfigEndpoint(req: Request, res: Response): Promise<Response> {
const userID = req.query.userID as string;
const key = req.query.key as string;
@ -24,10 +24,8 @@ export async function getConfig(req: Request, res: Response): Promise<Response>
}
try {
const row = await db.prepare("run", `SELECT "value" FROM "config" WHERE "key" = ?`, [key]);
return res.status(200).json({
value: row.value
value: getServerConfig(key)
});
} catch (e) {
Logger.error(e as string);

View file

@ -0,0 +1,7 @@
import { db } from "../databases/databases";
export async function getServerConfig(key: string): Promise<string | null> {
const row = await db.prepare("run", `SELECT "value" FROM "config" WHERE "key" = ?`, [key]);
return row?.value ?? null;
}