update resolvers to include timestamps

This commit is contained in:
2025-04-29 16:26:47 -07:00
parent 6dae7959bf
commit b02e2f721d
4 changed files with 22 additions and 10 deletions

View File

@@ -24,6 +24,7 @@ export const OrderedStopResolvers: Resolvers<ServerContext> = {
routeId: parent.routeId,
stopId: nextOrderedStopObject.id,
systemId: system.id,
updatedTimeMs: nextOrderedStopObject.updatedTimeMs
}
},
previousStop: async (parent, args, contextValue, _info): Promise<OrderedStop | null> => {
@@ -47,6 +48,7 @@ export const OrderedStopResolvers: Resolvers<ServerContext> = {
routeId: parent.routeId,
stopId: previousOrderedStopObject.id,
systemId: system.id,
updatedTimeMs: previousOrderedStopObject.updatedTimeMs,
}
},
stop: async (parent, args, contextValue, _info) => {

View File

@@ -13,7 +13,8 @@ export const RouteResolvers: Resolvers<ServerContext> = {
coordinates,
name,
id,
orientationInDegrees
orientationInDegrees,
updatedTimeMs
}) => ({
coordinates: coordinates as Coordinates,
name,
@@ -22,6 +23,7 @@ export const RouteResolvers: Resolvers<ServerContext> = {
id,
orientationInDegrees,
systemId: parent.systemId,
updatedTimeMs,
}));
},
orderedStop: async (parent, args, contextValue, info) => {
@@ -41,6 +43,7 @@ export const RouteResolvers: Resolvers<ServerContext> = {
routeId: parent.id,
route: parent,
systemId: system.id,
updatedTimeMs: orderedStop.updatedTimeMs,
}
},
},

View File

@@ -18,6 +18,7 @@ export const ShuttleResolvers: Resolvers<ServerContext> = {
shuttleId: parent.id,
shuttle: parent,
systemId: system.id,
updatedTimeMs: etaForStopId.updatedTimeMs,
};
},
etas: async (parent, args, contextValue, info) => {
@@ -27,17 +28,20 @@ export const ShuttleResolvers: Resolvers<ServerContext> = {
const etasForShuttle = await system.shuttleRepository.getEtasForShuttleId(parent.id);
if (!etasForShuttle) return null;
const computedEtas = await Promise.all(etasForShuttle.map(async ({
secondsRemaining,
stopId,
}): Promise<Eta | null> => {
return {
const computedEtas = await Promise.all(
etasForShuttle.map(async ({
secondsRemaining,
stopId,
shuttle: parent,
shuttleId: parent.id,
systemId: system.id,
}
updatedTimeMs
}): Promise<Eta | null> => {
return {
secondsRemaining,
stopId,
shuttle: parent,
shuttleId: parent.id,
systemId: system.id,
updatedTimeMs,
}
}));
if (computedEtas.every((eta) => eta !== null)) {
@@ -59,6 +63,7 @@ export const ShuttleResolvers: Resolvers<ServerContext> = {
name: route.name,
polylineCoordinates: route.polylineCoordinates,
systemId: system.id,
updatedTimeMs: route.updatedTimeMs
}
}
},

View File

@@ -36,6 +36,7 @@ export const SystemResolvers: Resolvers<ServerContext> = {
name: stop.name,
coordinates: stop.coordinates as Coordinates,
systemId: parent.id,
updatedTimeMs: stop.updatedTimeMs,
};
},
route: async (parent, args, contextValue, _info) => {
@@ -55,6 +56,7 @@ export const SystemResolvers: Resolvers<ServerContext> = {
name: route.name,
polylineCoordinates: route.polylineCoordinates as Coordinates[],
systemId: parent.id,
updatedTimeMs: route.updatedTimeMs,
};
},
shuttle: async (parent, args, contextValue, _info) => {