diff --git a/src/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoader.ts b/src/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoader.ts index 390f904..8682559 100644 --- a/src/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoader.ts +++ b/src/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoader.ts @@ -31,24 +31,10 @@ export class ChapmanTimedApiBasedParkingRepositoryLoader implements ParkingRepos try { if (typeof json.Structures === "object") { - const parkingStructures: IParkingStructure[] = json.Structures.map((jsonStructure: any) => { - const structureToReturn: IParkingStructure = { - capacity: jsonStructure.Capacity, - coordinates: { - latitude: jsonStructure.Latitude, - longitude: jsonStructure.Longitude, - }, - id: ChapmanTimedApiBasedParkingRepositoryLoader.generateId(jsonStructure.Address), - name: jsonStructure.Name, - spotsAvailable: jsonStructure.CurrentCount, - address: jsonStructure.Address - } - - return structureToReturn; - }); + const parkingStructures: IParkingStructure[] = json.Structures.map(this.constructIParkingStructureFromJson); await Promise.all(parkingStructures.map(async (structure: IParkingStructure) => { - this.repository.addOrUpdateParkingStructure(structure); + await this.repository.addOrUpdateParkingStructure(structure); })); } } catch(e: any) { @@ -56,6 +42,22 @@ export class ChapmanTimedApiBasedParkingRepositoryLoader implements ParkingRepos } } + private constructIParkingStructureFromJson(jsonStructure: any) { + const structureToReturn: IParkingStructure = { + capacity: jsonStructure.Capacity, + coordinates: { + latitude: jsonStructure.Latitude, + longitude: jsonStructure.Longitude, + }, + id: ChapmanTimedApiBasedParkingRepositoryLoader.generateId(jsonStructure.Address), + name: jsonStructure.Name, + spotsAvailable: jsonStructure.CurrentCount, + address: jsonStructure.Address + } + + return structureToReturn; + } + private static normalizeAddress(address: string): string { return address .toLowerCase()