Files
patchy631--ai-engineering-hub/open-agent-builder/app/api/approval/route.ts
T
2026-07-13 12:37:47 +08:00

43 lines
1.1 KiB
TypeScript

import { NextRequest, NextResponse } from 'next/server';
import { createOrUpdateApprovalRecord } from '@/lib/approval/approval-store';
export const dynamic = 'force-dynamic';
/**
* POST /api/approval - Create a new approval request
*/
export async function POST(request: NextRequest) {
try {
const body = await request.json();
const { approvalId, executionId, workflowId, nodeId, message, userId } = body;
if (!approvalId || !executionId || !workflowId || !nodeId) {
return NextResponse.json(
{ success: false, error: 'Missing required fields' },
{ status: 400 }
);
}
const record = await createOrUpdateApprovalRecord({
approvalId,
executionId,
workflowId,
nodeId,
message: message || 'Approval required',
userId,
status: 'pending',
});
return NextResponse.json({ success: true, record });
} catch (error) {
console.error('Failed to create approval record:', error);
return NextResponse.json(
{
success: false,
error: error instanceof Error ? error.message : 'Failed to create approval',
},
{ status: 500 }
);
}
}