From b712cda36ef7f4b9a06085550aeeb8b88a62417e Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Thu, 10 Oct 2024 06:13:17 +0530 Subject: [PATCH] feat: get all runs by a robot /api/robots/robotId/runs --- server/src/api/record.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/server/src/api/record.ts b/server/src/api/record.ts index 34dff609..4200d3e6 100644 --- a/server/src/api/record.ts +++ b/server/src/api/record.ts @@ -2,6 +2,7 @@ import { readFile, readFiles } from "../workflow-management/storage"; import { Router, Request, Response } from 'express'; import { requireAPIKey } from "../middlewares/api"; import Robot from "../models/Robot"; +import Run from "../models/Run"; const router = Router(); const formatRecording = (recordingData: any) => { @@ -105,4 +106,34 @@ router.get("/robots/:id", requireAPIKey, async (req: Request, res: Response) => } }); +router.get("/robots/:id/runs", requireAPIKey, async (req: Request, res: Response) => { + try { + const runs = await Run.findAll({ + where: { + robotId: req.params.id + }, + raw: true + }); + + const response = { + statusCode: 200, + messageCode: "success", + runs: { + totalCount: runs.length, + items: runs, + }, + }; + + res.status(200).json(response); + } catch (error) { + console.error("Error fetching runs:", error); + res.status(500).json({ + statusCode: 500, + messageCode: "error", + message: "Failed to retrieve runs", + }); + } +} +); + export default router; \ No newline at end of file