Add proper boolean parsing function, commit utils.helpers.unauthorized function

This commit is contained in:
2023-09-05 10:42:30 -05:00
parent 7ddfaa483b
commit d2728eb4f7
2 changed files with 26 additions and 6 deletions

View File

@@ -12,7 +12,7 @@ import {
} from '@/db'; } from '@/db';
import { localNow } from '@/utils/timezone'; import { localNow } from '@/utils/timezone';
import logger from '@/logger'; import logger from '@/logger';
import { unauthorized } from '@/utils/helpers'; import { parseBoolean, unauthorized } from '@/utils/helpers';
type ResponseData = { type ResponseData = {
diff: number; diff: number;
@@ -87,11 +87,7 @@ export default async function handler(
try { try {
let result; let result;
if ( if (process.env.NODE_ENV === 'production' && parseBoolean(req.query.report))
process.env.NODE_ENV === 'production' &&
// TODO: Proper boolean parsing
(req.query.report ?? 'true') === 'true'
)
result = await monitorAsync(innerFunction); result = await monitorAsync(innerFunction);
else result = await innerFunction(); else result = await innerFunction();

24
src/utils/helpers.ts Normal file
View File

@@ -0,0 +1,24 @@
import { env } from '@/env/server.mjs';
import logger from '@/logger';
import { NextApiRequest, NextApiResponse } from 'next';
export function unauthorized(
req: NextApiRequest,
res: NextApiResponse
): boolean {
if (req.query.key != env.API_KEY) {
logger.debug('Unauthorized request');
res.status(401).json({ status: 'unauthorized' });
return true;
}
return false;
}
export function parseBoolean(
value: string | string[] | undefined | null
): boolean {
if (value == undefined) return false;
if (Array.isArray(value)) return false;
value = value.toLowerCase();
return value === 'true' || value === '1' || value === 'yes';
}