20 lines
512 B
TypeScript
20 lines
512 B
TypeScript
import { NextResponse } from "next/server";
|
|
|
|
export function jsonOk<T>(payload: T, init?: ResponseInit) {
|
|
return NextResponse.json(payload, init);
|
|
}
|
|
|
|
export function jsonError(error: unknown, status = 400) {
|
|
return NextResponse.json({
|
|
error: error instanceof Error ? error.message : String(error)
|
|
}, { status });
|
|
}
|
|
|
|
export async function readJsonBody<T extends Record<string, unknown>>(request: Request): Promise<T> {
|
|
try {
|
|
return await request.json() as T;
|
|
} catch {
|
|
return {} as T;
|
|
}
|
|
}
|