24 lines
868 B
TypeScript
24 lines
868 B
TypeScript
import { Resolvers } from "../generated/graphql";
|
|
import { ServerContext } from "../ServerContext";
|
|
|
|
export const StopResolvers: Resolvers<ServerContext> = {
|
|
Stop: {
|
|
orderedStops: async (parent, args, contextValue, _info) => {
|
|
const system = contextValue.findSystemById(parent.systemId);
|
|
if (!system) {
|
|
return [];
|
|
}
|
|
const orderedStops = await system.shuttleRepository.getOrderedStopsByStopId(parent.id);
|
|
return orderedStops.slice().sort((a, b) => a.position - b.position);
|
|
},
|
|
etas: async (parent, args, contextValue, _info) => {
|
|
const system = contextValue.findSystemById(parent.systemId);
|
|
if (!system) {
|
|
return [];
|
|
}
|
|
const etas = await system.etaRepository.getEtasForStopId(parent.id);
|
|
return etas.slice().sort((a, b) => a.secondsRemaining - b.secondsRemaining);
|
|
},
|
|
},
|
|
}
|