29 lines
739 B
TypeScript
29 lines
739 B
TypeScript
import { asErrorMessage, jsonError } from '@/lib/server/http';
|
|
import { enqueueTask } from '@/lib/server/tasks';
|
|
|
|
export async function POST(request: Request) {
|
|
try {
|
|
const payload = await request.json() as {
|
|
ticker?: string;
|
|
limit?: number;
|
|
};
|
|
|
|
if (!payload.ticker || payload.ticker.trim().length < 1) {
|
|
return jsonError('ticker is required');
|
|
}
|
|
|
|
const task = await enqueueTask({
|
|
taskType: 'sync_filings',
|
|
payload: {
|
|
ticker: payload.ticker.trim().toUpperCase(),
|
|
limit: payload.limit ?? 20
|
|
},
|
|
priority: 90
|
|
});
|
|
|
|
return Response.json({ task });
|
|
} catch (error) {
|
|
return jsonError(asErrorMessage(error, 'Failed to queue filings sync task'));
|
|
}
|
|
}
|