diff --git a/src/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoader.ts b/src/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoader.ts index 0ff07ef..2bb88ab 100644 --- a/src/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoader.ts +++ b/src/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoader.ts @@ -1,5 +1,6 @@ import { ParkingRepositoryLoader } from "./ParkingRepositoryLoader"; import { ParkingGetterSetterRepository } from "../../repositories/ParkingGetterSetterRepository"; +import { createHash } from "node:crypto"; export class ChapmanTimedApiBasedParkingRepositoryLoader implements ParkingRepositoryLoader { public static readonly id = "chapman-parking-loader"; @@ -11,4 +12,21 @@ export class ChapmanTimedApiBasedParkingRepositoryLoader implements ParkingRepos async fetchAndUpdateParkingStructures(): Promise { // TODO } + + private normalizeAddress(address: string): string { + return address + .toLowerCase() + .split(/\s+/) + .filter(part => part.length > 0) + .join(' '); + } + + private generateId(address: string): string { + const normalized = this.normalizeAddress(address); + const hash = createHash('sha256') + .update(normalized) + .digest('hex'); + + return hash.substring(0, 12); + } }