diff --git a/schema.graphqls b/schema.graphqls index 9874720..2823738 100644 --- a/schema.graphqls +++ b/schema.graphqls @@ -30,6 +30,7 @@ type ParkingStructure { coordinates: Coordinates! address: String! updatedTime: DateTime + systemId: ID! historicalAverages(input: HistoricalParkingAverageQueryInput): [HistoricalParkingAverageQueryResult!] } diff --git a/src/resolvers/ParkingSystemResolvers.ts b/src/resolvers/ParkingSystemResolvers.ts index 73a5303..076f18e 100644 --- a/src/resolvers/ParkingSystemResolvers.ts +++ b/src/resolvers/ParkingSystemResolvers.ts @@ -11,9 +11,15 @@ export const ParkingSystemResolvers: Resolvers = { const parkingRepository = system.parkingRepository; if (!parkingRepository) return []; - return await parkingRepository.getParkingStructures(); + const parkingStructures = await parkingRepository.getParkingStructures(); + return parkingStructures.map((structure) => { + return { + ...structure, + systemId: parent.systemId + }; + }); }, - parkingStructure: async (parent, args, contextValue, info) => { + parkingStructure: async (parent, args, contextValue, _info) => { if (!args.id) return null; const system = contextValue.findSystemById(parent.systemId); @@ -23,7 +29,11 @@ export const ParkingSystemResolvers: Resolvers = { const parkingRepository = system.parkingRepository; if (!parkingRepository) return null; - return await parkingRepository.getParkingStructureById(args.id); + const parkingStructure = await parkingRepository.getParkingStructureById(args.id); + return parkingStructure ? { + ...parkingStructure, + systemId: parent.systemId, + } : null; }, } }