Add implementation and tests for ParkingStructureResolvers.ts

This commit is contained in:
2025-07-21 19:06:00 -04:00
parent ee7b5eefda
commit e78982538e
3 changed files with 60 additions and 12 deletions

View File

@@ -1,10 +1,31 @@
import { Resolvers } from "../generated/graphql";
import { ServerContext } from "../ServerContext";
import { HistoricalParkingAverageQueryArguments } from "../repositories/parking/ParkingGetterRepository";
export const ParkingStructureResolvers: Resolvers<ServerContext> = {
ParkingStructure: {
historicalAverages: async (parent, args, contextValue, _info) => {
return [];
const system = contextValue.findSystemById(parent.systemId);
if (!args.input?.intervalMs) {
return null;
}
const historicalParkingAverageQueryArguments: HistoricalParkingAverageQueryArguments = {
from: new Date(args.input.from),
intervalMs: args.input.intervalMs,
to: new Date(args.input.to),
}
if (Number.isNaN(historicalParkingAverageQueryArguments.from.getTime()
|| Number.isNaN(historicalParkingAverageQueryArguments.to.getTime()))) {
return null;
}
const parkingAverages = await system?.parkingRepository?.getHistoricalAveragesOfParkingStructureCounts(parent.id, historicalParkingAverageQueryArguments);
if (!parkingAverages) {
return null;
}
return parkingAverages;
}
}
}