summaryrefslogtreecommitdiff
path: root/backend/src/controllers/getRobots.ts
diff options
context:
space:
mode:
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);