diff --git a/src/resolvers/RouteResolvers.ts b/src/resolvers/RouteResolvers.ts index a0adc01..2b5dfa8 100644 --- a/src/resolvers/RouteResolvers.ts +++ b/src/resolvers/RouteResolvers.ts @@ -4,7 +4,10 @@ import { ServerContext } from "../ServerContext"; export const RouteResolvers: Resolvers = { Route: { shuttles: async (parent, args, contextValue, info) => { - const shuttles = await contextValue.shuttleRepository.getShuttlesByRouteId(parent.id); + const system = contextValue.findSystemById(parent.systemId); + if (!system) return null; + + const shuttles = await system.shuttleRepository.getShuttlesByRouteId(parent.id); return shuttles.map(({ coordinates, @@ -17,15 +20,20 @@ export const RouteResolvers: Resolvers = { route: parent, routeId: parent.id, id, - orientationInDegrees + orientationInDegrees, + systemId: parent.systemId, })); }, orderedStop: async (parent, args, contextValue, info) => { if (!args.forStopId) return null; - const orderedStop = await contextValue.shuttleRepository.getOrderedStopByRouteAndStopId(parent.id, args.forStopId); + + const system = contextValue.findSystemById(parent.systemId); + if (!system) return null; + + const orderedStop = await system.shuttleRepository.getOrderedStopByRouteAndStopId(parent.id, args.forStopId); if (!orderedStop) return null; - const stop = await contextValue.shuttleRepository.getStopById(orderedStop.stopId); + const stop = await system.shuttleRepository.getStopById(orderedStop.stopId); if (!stop) return null; return {