diff --git a/backend/src/api/controllers/result.ts b/backend/src/api/controllers/result.ts index 70196220a..595441b42 100644 --- a/backend/src/api/controllers/result.ts +++ b/backend/src/api/controllers/result.ts @@ -73,14 +73,14 @@ export async function getResults( : req.ctx.configuration.results.limits.regularUser; const onOrAfterTimestamp = parseInt( - req.query.onOrAfterTimestamp as string, + req.query["onOrAfterTimestamp"] as string, 10 ); let limit = stringToNumberOrDefault( - req.query.limit as string, + req.query["limit"] as string, Math.min(req.ctx.configuration.results.maxBatchSize, maxLimit) ); - const offset = stringToNumberOrDefault(req.query.offset as string, 0); + const offset = stringToNumberOrDefault(req.query["offset"] as string, 0); //check if premium features are disabled and current call exceeds the limit for regular users if ( diff --git a/backend/src/api/routes/index.ts b/backend/src/api/routes/index.ts index 444e1b5c7..d09dbd1f7 100644 --- a/backend/src/api/routes/index.ts +++ b/backend/src/api/routes/index.ts @@ -26,7 +26,7 @@ import { } from "express"; import { isDevEnvironment } from "../../utils/misc"; -const pathOverride = process.env.API_PATH_OVERRIDE; +const pathOverride = process.env["API_PATH_OVERRIDE"]; const BASE_ROUTE = pathOverride ? `/${pathOverride}` : ""; const APP_START_TIME = Date.now(); @@ -66,7 +66,8 @@ function addApiRoutes(app: Application): void { app.use( (req: MonkeyTypes.Request, res: Response, next: NextFunction): void => { const inMaintenance = - process.env.MAINTENANCE === "true" || req.ctx.configuration.maintenance; + process.env["MAINTENANCE"] === "true" || + req.ctx.configuration.maintenance; if (inMaintenance) { res.status(503).json({ message: "Server is down for maintenance" }); diff --git a/backend/src/api/routes/swagger.ts b/backend/src/api/routes/swagger.ts index 09abfb597..37d4754b8 100644 --- a/backend/src/api/routes/swagger.ts +++ b/backend/src/api/routes/swagger.ts @@ -24,8 +24,8 @@ function addSwaggerMiddlewares(app: Application): void { swaggerSpec: internalSwaggerSpec, onAuthenticate: (_req, username, password) => { return ( - username === process.env.STATS_USERNAME && - password === process.env.STATS_PASSWORD + username === process.env["STATS_USERNAME"] && + password === process.env["STATS_PASSWORD"] ); }, }) diff --git a/backend/src/jobs/log-queue-sizes.ts b/backend/src/jobs/log-queue-sizes.ts index c1c039461..5a1bd5812 100644 --- a/backend/src/jobs/log-queue-sizes.ts +++ b/backend/src/jobs/log-queue-sizes.ts @@ -9,13 +9,13 @@ async function main(): Promise { Queues.map(async (queue) => { const counts = await queue.getJobCounts(); - const active = counts.active; - const completed = counts.completed; - const failed = counts.failed; + const active = counts["active"]; + const completed = counts["completed"]; + const failed = counts["failed"]; - const waiting = counts.waiting; - const paused = counts.paused; - const delayed = counts.delayed; + const waiting = counts["waiting"]; + const paused = counts["paused"]; + const delayed = counts["delayed"]; const waitingChildren = counts["waiting-children"]; const waitingTotal = waiting + paused + delayed + waitingChildren; diff --git a/backend/src/middlewares/auth.ts b/backend/src/middlewares/auth.ts index 055eabb03..926904e27 100644 --- a/backend/src/middlewares/auth.ts +++ b/backend/src/middlewares/auth.ts @@ -261,7 +261,7 @@ function authenticateGithubWebhook(): Handler { //authorize github webhook const { "x-hub-signature-256": authHeader } = req.headers; - const webhookSecret = process.env.GITHUB_WEBHOOK_SECRET; + const webhookSecret = process.env["GITHUB_WEBHOOK_SECRET"]; try { if (!webhookSecret) { diff --git a/backend/src/server.ts b/backend/src/server.ts index 15052506d..445c68cea 100644 --- a/backend/src/server.ts +++ b/backend/src/server.ts @@ -18,8 +18,8 @@ import { createIndicies as leaderboardDbSetup } from "./dal/leaderboards"; async function bootServer(port: number): Promise { try { Logger.info(`Starting server version ${version}`); - Logger.info(`Starting server in ${process.env.MODE} mode`); - Logger.info(`Connecting to database ${process.env.DB_NAME}...`); + Logger.info(`Starting server in ${process.env["MODE"]} mode`); + Logger.info(`Connecting to database ${process.env["DB_NAME"]}...`); await db.connect(); Logger.success("Connected to database"); @@ -81,6 +81,6 @@ async function bootServer(port: number): Promise { }); } -const PORT = parseInt(process.env.PORT ?? "5005", 10); +const PORT = parseInt(process.env["PORT"] ?? "5005", 10); bootServer(PORT); diff --git a/backend/src/utils/captcha.ts b/backend/src/utils/captcha.ts index 6b6748cc3..a681a9b9f 100644 --- a/backend/src/utils/captcha.ts +++ b/backend/src/utils/captcha.ts @@ -17,7 +17,7 @@ export async function verify(captcha: string): Promise { { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, - body: `secret=${process.env.RECAPTCHA_SECRET}&response=${captcha}`, + body: `secret=${process.env["RECAPTCHA_SECRET"]}&response=${captcha}`, } ); diff --git a/backend/src/utils/logger.ts b/backend/src/utils/logger.ts index e86dba58d..8672417e0 100644 --- a/backend/src/utils/logger.ts +++ b/backend/src/utils/logger.ts @@ -9,8 +9,8 @@ const warningColor = chalk.yellow.bold; const successColor = chalk.green.bold; const infoColor = chalk.white; -const logFolderPath = process.env.LOG_FOLDER_PATH ?? "./logs"; -const maxLogSize = parseInt(process.env.LOG_FILE_MAX_SIZE ?? "10485760"); +const logFolderPath = process.env["LOG_FOLDER_PATH"] ?? "./logs"; +const maxLogSize = parseInt(process.env["LOG_FILE_MAX_SIZE"] ?? "10485760"); interface Log { type?: string; @@ -32,7 +32,7 @@ const timestampFormat = format.timestamp({ }); const simpleOutputFormat = format.printf((log) => { - return `${log.timestamp}\t${log.level}: ${log.message}`; + return `${log["timestamp"]}\t${log.level}: ${log.message}`; }); const coloredOutputFormat = format.printf((log) => { @@ -50,7 +50,7 @@ const coloredOutputFormat = format.printf((log) => { break; } - return `${log.timestamp}\t${color(log.message)}`; + return `${log["timestamp"]}\t${color(log.message)}`; }); const fileFormat = format.combine(timestampFormat, simpleOutputFormat); diff --git a/backend/src/utils/misc.ts b/backend/src/utils/misc.ts index 12ac2a016..2dc406c0d 100644 --- a/backend/src/utils/misc.ts +++ b/backend/src/utils/misc.ts @@ -300,5 +300,5 @@ export function stringToNumberOrDefault( } export function isDevEnvironment(): boolean { - return process.env.MODE === "dev"; + return process.env["MODE"] === "dev"; } diff --git a/backend/tsconfig.json b/backend/tsconfig.json index 1375f2545..02f2bf5c7 100644 --- a/backend/tsconfig.json +++ b/backend/tsconfig.json @@ -13,7 +13,8 @@ "esModuleInterop": true, "strictNullChecks": true, "skipLibCheck": false, - "noImplicitReturns": true + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true }, "ts-node": { "files": true