20 lines
712 B
TypeScript
20 lines
712 B
TypeScript
|
|
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),
|
||
|
|
});
|
||
|
|
}
|