mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-17 07:50:31 +00:00
refactor parking structure construction into separate method
This commit is contained in:
@@ -31,24 +31,10 @@ export class ChapmanTimedApiBasedParkingRepositoryLoader implements ParkingRepos
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if (typeof json.Structures === "object") {
|
if (typeof json.Structures === "object") {
|
||||||
const parkingStructures: IParkingStructure[] = json.Structures.map((jsonStructure: any) => {
|
const parkingStructures: IParkingStructure[] = json.Structures.map(this.constructIParkingStructureFromJson);
|
||||||
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;
|
|
||||||
});
|
|
||||||
|
|
||||||
await Promise.all(parkingStructures.map(async (structure: IParkingStructure) => {
|
await Promise.all(parkingStructures.map(async (structure: IParkingStructure) => {
|
||||||
this.repository.addOrUpdateParkingStructure(structure);
|
await this.repository.addOrUpdateParkingStructure(structure);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
} catch(e: any) {
|
} 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 {
|
private static normalizeAddress(address: string): string {
|
||||||
return address
|
return address
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
|
|||||||
Reference in New Issue
Block a user