mirror of
https://github.com/Xevion/bus-reminder.git
synced 2025-12-06 11:14:32 -06:00
Add proper boolean parsing function, commit utils.helpers.unauthorized function
This commit is contained in:
@@ -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
24
src/utils/helpers.ts
Normal 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';
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user