From b737cd0fa5b4420fe1e9d889b9ace5cc818dcdfb Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Mon, 21 Jul 2025 19:16:38 -0400 Subject: [PATCH] Add errors to the parking structure resolvers --- src/resolvers/ParkingStructureResolvers.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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);