nxtgauge-frontend-solid/src/routes/api/admin/approval-cases/bulk.ts

20 lines
712 B
TypeScript
Raw Normal View History

import { approvalService } from '~/lib/admin/data';
import { jsonError, proxyOrFallback } from '~/lib/admin/api';
export async function POST({ request }: { request: Request }) {
const payload = (await request.json().catch(() => null)) as { ids?: string[]; action?: string } | null;
const ids = payload?.ids ?? [];
const action = payload?.action ?? '';
if (!Array.isArray(ids) || ids.length === 0) return jsonError('ids must be a non-empty array', 400);
if (!action) return jsonError('action is required', 400);
return proxyOrFallback({
request,
method: 'POST',
path: '/admin/approval-cases/bulk',
body: payload,
fallback: () => approvalService.bulkAction(ids, action),
});
}