27 lines
706 B
JavaScript
27 lines
706 B
JavaScript
import Router from '@koa/router';
|
|
import { execute_action_and_record } from '../services/task_executor.js';
|
|
|
|
export const crawl_router = new Router();
|
|
|
|
crawl_router.post('/api/crawl/run_action', async (ctx) => {
|
|
const { action_name, action_payload } = ctx.request.body || {};
|
|
|
|
if (!action_name) {
|
|
ctx.status = 400;
|
|
ctx.body = { ok: false, error: '缺少 action_name' };
|
|
return;
|
|
}
|
|
|
|
try {
|
|
const data = await execute_action_and_record({
|
|
action_name,
|
|
action_payload: action_payload || {},
|
|
source: 'api'
|
|
});
|
|
ctx.body = { ok: true, data };
|
|
} catch (err) {
|
|
ctx.status = 500;
|
|
ctx.body = { ok: false, error: (err && err.message) || String(err) };
|
|
}
|
|
});
|