add methods to generate an ID based on address

This commit is contained in:
2025-04-10 16:36:02 -07:00
parent aed005f7a7
commit 45df97f15c

View File

@@ -1,5 +1,6 @@
import { ParkingRepositoryLoader } from "./ParkingRepositoryLoader"; import { ParkingRepositoryLoader } from "./ParkingRepositoryLoader";
import { ParkingGetterSetterRepository } from "../../repositories/ParkingGetterSetterRepository"; import { ParkingGetterSetterRepository } from "../../repositories/ParkingGetterSetterRepository";
import { createHash } from "node:crypto";
export class ChapmanTimedApiBasedParkingRepositoryLoader implements ParkingRepositoryLoader { export class ChapmanTimedApiBasedParkingRepositoryLoader implements ParkingRepositoryLoader {
public static readonly id = "chapman-parking-loader"; public static readonly id = "chapman-parking-loader";
@@ -11,4 +12,21 @@ export class ChapmanTimedApiBasedParkingRepositoryLoader implements ParkingRepos
async fetchAndUpdateParkingStructures(): Promise<void> { async fetchAndUpdateParkingStructures(): Promise<void> {
// TODO // 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);
}
} }