diff --git a/src/resolvers/ParkingStructureResolvers.ts b/src/resolvers/ParkingStructureResolvers.ts index 6ab6dfc..dc995c6 100644 --- a/src/resolvers/ParkingStructureResolvers.ts +++ b/src/resolvers/ParkingStructureResolvers.ts @@ -1,6 +1,7 @@ import { Resolvers } from "../generated/graphql"; import { ServerContext } from "../ServerContext"; import { HistoricalParkingAverageQueryArguments } from "../repositories/parking/ParkingGetterRepository"; +import { GraphQLError } from "graphql/error"; export const ParkingStructureResolvers: Resolvers = { ParkingStructure: { @@ -8,7 +9,11 @@ export const ParkingStructureResolvers: Resolvers = { const system = contextValue.findSystemById(parent.systemId); if (!args.input?.intervalMs) { - return null; + throw new GraphQLError('No interval provided', { + extensions: { + code: 'BAD_USER_INPUT', + }, + }); } const historicalParkingAverageQueryArguments: HistoricalParkingAverageQueryArguments = { from: new Date(args.input.from), @@ -17,7 +22,11 @@ export const ParkingStructureResolvers: Resolvers = { } if (Number.isNaN(historicalParkingAverageQueryArguments.from.getTime() || Number.isNaN(historicalParkingAverageQueryArguments.to.getTime()))) { - return null; + throw new GraphQLError('One or more invalid dates provided', { + extensions: { + code: 'BAD_USER_INPUT', + }, + }); } const parkingAverages = await system?.parkingRepository?.getHistoricalAveragesOfParkingStructureCounts(parent.id, historicalParkingAverageQueryArguments);