From ee7b5eefdaab2fc12410b20954d408569a989881 Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Sat, 19 Jul 2025 13:14:39 -0400 Subject: [PATCH] Rename query interface for historical data --- src/repositories/parking/InMemoryParkingRepository.ts | 6 +++--- src/repositories/parking/ParkingGetterRepository.ts | 4 ++-- src/repositories/parking/RedisParkingRepository.ts | 6 +++--- test/repositories/ParkingRepositorySharedTests.test.ts | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/repositories/parking/InMemoryParkingRepository.ts b/src/repositories/parking/InMemoryParkingRepository.ts index 0ca6ba2..6cd68aa 100644 --- a/src/repositories/parking/InMemoryParkingRepository.ts +++ b/src/repositories/parking/InMemoryParkingRepository.ts @@ -3,7 +3,7 @@ import { IParkingStructure, IParkingStructureTimestampRecord } from "../../entities/ParkingRepositoryEntities"; -import { HistoricalParkingAverageQueryResult, ParkingStructureCountOptions } from "./ParkingGetterRepository"; +import { HistoricalParkingAverageQueryResult, HistoricalParkingAverageQueryArguments } from "./ParkingGetterRepository"; import { CircularQueue } from "../../types/CircularQueue"; import { PARKING_LOGGING_INTERVAL_MS } from "./ParkingRepositoryConstants"; @@ -63,7 +63,7 @@ export class InMemoryParkingRepository implements ParkingGetterSetterRepository return null; }; - getHistoricalAveragesOfParkingStructureCounts = async (id: string, options: ParkingStructureCountOptions): Promise => { + getHistoricalAveragesOfParkingStructureCounts = async (id: string, options: HistoricalParkingAverageQueryArguments): Promise => { const queue = this.historicalData.get(id); if (!queue || queue.size() === 0) { return []; @@ -107,7 +107,7 @@ export class InMemoryParkingRepository implements ParkingGetterSetterRepository private calculateAveragesFromRecords = ( records: IParkingStructureTimestampRecord[], - options: ParkingStructureCountOptions + options: HistoricalParkingAverageQueryArguments ): HistoricalParkingAverageQueryResult[] => { const results: HistoricalParkingAverageQueryResult[] = []; const { from, to, intervalMs } = options; diff --git a/src/repositories/parking/ParkingGetterRepository.ts b/src/repositories/parking/ParkingGetterRepository.ts index 3ce4998..e1346a4 100644 --- a/src/repositories/parking/ParkingGetterRepository.ts +++ b/src/repositories/parking/ParkingGetterRepository.ts @@ -1,6 +1,6 @@ import { IParkingStructure } from "../../entities/ParkingRepositoryEntities"; -export interface ParkingStructureCountOptions { +export interface HistoricalParkingAverageQueryArguments { from: Date; to: Date; intervalMs: number; @@ -22,5 +22,5 @@ export interface ParkingGetterRepository { * @param id * @param options */ - getHistoricalAveragesOfParkingStructureCounts(id: string, options: ParkingStructureCountOptions): Promise; + getHistoricalAveragesOfParkingStructureCounts(id: string, options: HistoricalParkingAverageQueryArguments): Promise; } diff --git a/src/repositories/parking/RedisParkingRepository.ts b/src/repositories/parking/RedisParkingRepository.ts index 9747a69..97576f8 100644 --- a/src/repositories/parking/RedisParkingRepository.ts +++ b/src/repositories/parking/RedisParkingRepository.ts @@ -1,6 +1,6 @@ import { ParkingGetterSetterRepository } from "./ParkingGetterSetterRepository"; import { IParkingStructure } from "../../entities/ParkingRepositoryEntities"; -import { HistoricalParkingAverageQueryResult, ParkingStructureCountOptions } from "./ParkingGetterRepository"; +import { HistoricalParkingAverageQueryResult, HistoricalParkingAverageQueryArguments } from "./ParkingGetterRepository"; import { BaseRedisRepository } from "../BaseRedisRepository"; import { PARKING_LOGGING_INTERVAL_MS } from "./ParkingRepositoryConstants"; @@ -75,7 +75,7 @@ export class RedisParkingRepository extends BaseRedisRepository implements Parki return null; }; - getHistoricalAveragesOfParkingStructureCounts = async (id: string, options: ParkingStructureCountOptions): Promise => { + getHistoricalAveragesOfParkingStructureCounts = async (id: string, options: HistoricalParkingAverageQueryArguments): Promise => { return this.calculateAveragesFromRecords(id, options); }; @@ -157,7 +157,7 @@ export class RedisParkingRepository extends BaseRedisRepository implements Parki private calculateAveragesFromRecords = async ( id: string, - options: ParkingStructureCountOptions + options: HistoricalParkingAverageQueryArguments ): Promise => { const keys = this.createRedisKeys(id); const { from, to, intervalMs } = options; diff --git a/test/repositories/ParkingRepositorySharedTests.test.ts b/test/repositories/ParkingRepositorySharedTests.test.ts index 6c1641c..04bfe6f 100644 --- a/test/repositories/ParkingRepositorySharedTests.test.ts +++ b/test/repositories/ParkingRepositorySharedTests.test.ts @@ -1,7 +1,7 @@ import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals"; import { InMemoryParkingRepository, } from "../../src/repositories/parking/InMemoryParkingRepository"; import { IParkingStructure } from "../../src/entities/ParkingRepositoryEntities"; -import { ParkingStructureCountOptions } from "../../src/repositories/parking/ParkingGetterRepository"; +import { HistoricalParkingAverageQueryArguments } from "../../src/repositories/parking/ParkingGetterRepository"; import { ParkingGetterSetterRepository } from "../../src/repositories/parking/ParkingGetterSetterRepository"; import { RedisParkingRepository } from "../../src/repositories/parking/RedisParkingRepository"; @@ -151,7 +151,7 @@ describe.each(repositoryImplementations)('$name', (holder) => { describe("getHistoricalAveragesOfParkingStructureCounts", () => { it("should return empty array for non-existent structure or no data", async () => { - const options: ParkingStructureCountOptions = { + const options: HistoricalParkingAverageQueryArguments = { from: new Date(1000), to: new Date(2000), intervalMs: 500 @@ -182,7 +182,7 @@ describe.each(repositoryImplementations)('$name', (holder) => { } const now = Date.now(); - const options: ParkingStructureCountOptions = { + const options: HistoricalParkingAverageQueryArguments = { from: new Date(now - 10000), // Look back 10 seconds to: new Date(now + 10000), // Look forward 10 seconds intervalMs: 20000 // Single large interval