umami/src/lib/response.ts
Mike Cao baba06c692
Some checks failed
Node.js CI / build (postgresql, 18.18) (push) Has been cancelled
Added lib/password. Small tweaks.
2025-09-13 09:40:20 -07:00

58 lines
1.2 KiB
TypeScript

export function ok() {
return Response.json({ ok: true });
}
export function json(data: Record<string, any> = {}) {
return Response.json(data);
}
export function badRequest(error?: Record<string, any>) {
return Response.json(
{
error: { message: 'Bad request', code: 'bad-request', status: 400, ...error },
},
{ status: 400 },
);
}
export function unauthorized(error?: Record<string, any>) {
return Response.json(
{
error: {
message: 'Unauthorized',
code: 'unauthorized',
status: 401,
...error,
},
},
{ status: 401 },
);
}
export function forbidden(error?: Record<string, any>) {
return Response.json(
{ error: { message: 'Forbidden', code: 'forbidden', status: 403, ...error } },
{ status: 403 },
);
}
export function notFound(error?: Record<string, any>) {
return Response.json(
{ error: { message: 'Not found', code: 'not-found', status: 404, ...error } },
{ status: 404 },
);
}
export function serverError(error?: Record<string, any>) {
return Response.json(
{
error: {
message: 'Server error',
code: 'server-error',
status: 500,
...error,
},
},
{ status: 500 },
);
}