mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-17 07:50:31 +00:00
Add errors to the parking structure resolvers
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import { Resolvers } from "../generated/graphql";
|
import { Resolvers } from "../generated/graphql";
|
||||||
import { ServerContext } from "../ServerContext";
|
import { ServerContext } from "../ServerContext";
|
||||||
import { HistoricalParkingAverageQueryArguments } from "../repositories/parking/ParkingGetterRepository";
|
import { HistoricalParkingAverageQueryArguments } from "../repositories/parking/ParkingGetterRepository";
|
||||||
|
import { GraphQLError } from "graphql/error";
|
||||||
|
|
||||||
export const ParkingStructureResolvers: Resolvers<ServerContext> = {
|
export const ParkingStructureResolvers: Resolvers<ServerContext> = {
|
||||||
ParkingStructure: {
|
ParkingStructure: {
|
||||||
@@ -8,7 +9,11 @@ export const ParkingStructureResolvers: Resolvers<ServerContext> = {
|
|||||||
const system = contextValue.findSystemById(parent.systemId);
|
const system = contextValue.findSystemById(parent.systemId);
|
||||||
|
|
||||||
if (!args.input?.intervalMs) {
|
if (!args.input?.intervalMs) {
|
||||||
return null;
|
throw new GraphQLError('No interval provided', {
|
||||||
|
extensions: {
|
||||||
|
code: 'BAD_USER_INPUT',
|
||||||
|
},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
const historicalParkingAverageQueryArguments: HistoricalParkingAverageQueryArguments = {
|
const historicalParkingAverageQueryArguments: HistoricalParkingAverageQueryArguments = {
|
||||||
from: new Date(args.input.from),
|
from: new Date(args.input.from),
|
||||||
@@ -17,7 +22,11 @@ export const ParkingStructureResolvers: Resolvers<ServerContext> = {
|
|||||||
}
|
}
|
||||||
if (Number.isNaN(historicalParkingAverageQueryArguments.from.getTime()
|
if (Number.isNaN(historicalParkingAverageQueryArguments.from.getTime()
|
||||||
|| Number.isNaN(historicalParkingAverageQueryArguments.to.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);
|
const parkingAverages = await system?.parkingRepository?.getHistoricalAveragesOfParkingStructureCounts(parent.id, historicalParkingAverageQueryArguments);
|
||||||
|
|||||||
Reference in New Issue
Block a user