From e8a567c7d17b2bb2ee05a48edc46a0b96239bf03 Mon Sep 17 00:00:00 2001 From: Saurabh Kumar <70131915+Saurabhkmr98@users.noreply.github.com> Date: Wed, 9 Jul 2025 19:59:22 +0530 Subject: [PATCH] [SILO-364] API to trigger job pull step #3628 --- .../apps/engine/controllers/job.controller.ts | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/apps/silo/src/apps/engine/controllers/job.controller.ts b/apps/silo/src/apps/engine/controllers/job.controller.ts index af5dc0d95a..f09b771a28 100644 --- a/apps/silo/src/apps/engine/controllers/job.controller.ts +++ b/apps/silo/src/apps/engine/controllers/job.controller.ts @@ -227,4 +227,34 @@ export class JobController { responseHandler(res, 500, error); } } + + @Post("/:id/trigger-job-step") + @useValidateUserAuthentication() + async triggerJobStep(req: Request, res: Response) { + try { + const jobId = req.params.id; + const job = await client.importJob.getImportJob(jobId); + if (!job?.id) { + return res.status(400).json({ message: "Job not found" }); + } + + const { route, type, data } = req.body; + + if (!route || !type) { + return res.status(400).json({ message: "Invalid request, expecting (route, type) to be passed" }); + } + + await importTaskManger.registerTask( + { + route, + jobId, + type, + }, + data + ); + res.status(200).json({ message: "Job step triggered successfully" }); + } catch (error: any) { + responseHandler(res, 500, error); + } + } }