summaryrefslogtreecommitdiff
path: root/backend/src/controllers/getRobots.ts
diff options
context:
space:
mode:
authorArne Rief <riearn@proton.me>2025-12-22 21:20:39 +0100
committerArne Rief <riearn@proton.me>2025-12-22 21:20:39 +0100
commite836e7dd4ed5e9fa60e949d159100040b22a8f48 (patch)
treea11954c06e55e8ef53fcb634fa5954dfcb42ffc3 /backend/src/controllers/getRobots.ts
parentd1b64ddd78d8b8dc3eca76038a75071ab2a575d9 (diff)
Movement simulator for all and single robot, project v1 ready
Diffstat (limited to 'backend/src/controllers/getRobots.ts')
-rw-r--r--backend/src/controllers/getRobots.ts14
1 files changed, 12 insertions, 2 deletions
diff --git a/backend/src/controllers/getRobots.ts b/backend/src/controllers/getRobots.ts
index b634306..80b430f 100644
--- a/backend/src/controllers/getRobots.ts
+++ b/backend/src/controllers/getRobots.ts
@@ -17,9 +17,14 @@ async function getRobots(_req: Request, res: Response) {
console.log("Data served from Redis cache.");
const robots: Robot[] = JSON.parse(cachedData);
+ const simulationRunning = robots?.every(
+ (robot) => robot.status === "moving"
+ );
+
const response: RobotsResponse = {
source: "cache",
- data: robots,
+ robots,
+ simulationRunning,
};
return res.status(200).json(response);
@@ -31,6 +36,10 @@ async function getRobots(_req: Request, res: Response) {
);
const robots = robotsQuery.rows;
+ const simulationRunning = robots?.every(
+ (robot) => robot.status === "moving"
+ );
+
await redisClient.set(ROBOTS_CACHE_KEY, JSON.stringify(robots), {
EX: CACHE_TTL,
});
@@ -38,7 +47,8 @@ async function getRobots(_req: Request, res: Response) {
console.log("Cache miss: data queried from PostgreSQL.");
const response: RobotsResponse = {
source: "database",
- data: robots,
+ robots,
+ simulationRunning,
};
return res.status(200).json(response);