mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-17 07:50:31 +00:00
add work in progress code to get data for etas
This commit is contained in:
@@ -41,10 +41,11 @@ export interface IEta {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface IOrderedStop {
|
export interface IOrderedStop {
|
||||||
nextStop?: IOrderedStop,
|
nextStop?: IOrderedStop;
|
||||||
previousStop?: IOrderedStop,
|
previousStop?: IOrderedStop;
|
||||||
routeId: string;
|
routeId: string;
|
||||||
stopId: string;
|
stopId: string;
|
||||||
|
position: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -37,13 +37,13 @@ export class RepositoryDataLoader {
|
|||||||
await this.fetchAndUpdateRouteDataForExistingSystems();
|
await this.fetchAndUpdateRouteDataForExistingSystems();
|
||||||
await this.fetchAndUpdateStopAndPolylineDataForRoutesInExistingSystems();
|
await this.fetchAndUpdateStopAndPolylineDataForRoutesInExistingSystems();
|
||||||
await this.fetchAndUpdateShuttleDataForExistingSystems();
|
await this.fetchAndUpdateShuttleDataForExistingSystems();
|
||||||
await this.fetchAndUpdateEtaData();
|
await this.fetchAndUpdateEtaDataForExistingOrderedStops();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
} finally {
|
} finally {
|
||||||
// TODO test if memoization of shouldBeRunning works as intended,
|
// TODO test if memoization of shouldBeRunning works as intended,
|
||||||
// I have no idea how JavaScript works
|
// I have no idea how JavaScript works
|
||||||
setTimeout(this.startFetchDataAndUpdate, timeout);
|
// setTimeout(this.startFetchDataAndUpdate, timeout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,8 +181,30 @@ export class RepositoryDataLoader {
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
private async fetchAndUpdateEtaData() {
|
private async fetchAndUpdateEtaDataForExistingOrderedStops() {
|
||||||
|
// TODO implement once I figure out how to associate ETA data with shuttles
|
||||||
|
|
||||||
|
// const systems = await this.repository.getSystems();
|
||||||
|
// await Promise.all(systems.map(async (system: ISystem) => {
|
||||||
|
// const stops = await this.repository.getStopsBySystemId(system.id);
|
||||||
|
//
|
||||||
|
// await Promise.all(stops.map(async (stop: IStop) => {
|
||||||
|
// const orderedStops = await this.repository.getOrderedStopsByStopId(stop.id);
|
||||||
|
//
|
||||||
|
// await Promise.all(orderedStops.map(async (orderedStop) => {
|
||||||
|
// const params = {
|
||||||
|
// eta: "3",
|
||||||
|
// stopIds: stop.id,
|
||||||
|
// routeId: orderedStop.routeId,
|
||||||
|
// position: orderedStop.position,
|
||||||
|
// };
|
||||||
|
//
|
||||||
|
// // How to get shuttle ID?????????
|
||||||
|
// // API doesn't provide it
|
||||||
|
// // I might be cooked
|
||||||
|
// }));
|
||||||
|
// }));
|
||||||
|
// }));
|
||||||
}
|
}
|
||||||
|
|
||||||
private async updateStopDataForSystemAndApiResponse(system: ISystem, json: any) {
|
private async updateStopDataForSystemAndApiResponse(system: ISystem, json: any) {
|
||||||
@@ -225,6 +247,7 @@ export class RepositoryDataLoader {
|
|||||||
constructedOrderedStop = {
|
constructedOrderedStop = {
|
||||||
routeId,
|
routeId,
|
||||||
stopId,
|
stopId,
|
||||||
|
position: index + 1,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,12 +255,14 @@ export class RepositoryDataLoader {
|
|||||||
constructedOrderedStop.previousStop = {
|
constructedOrderedStop.previousStop = {
|
||||||
routeId,
|
routeId,
|
||||||
stopId: jsonOrderedStopData[index - 1][1],
|
stopId: jsonOrderedStopData[index - 1][1],
|
||||||
|
position: index,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if (index < jsonOrderedStopData.length - 1) {
|
if (index < jsonOrderedStopData.length - 1) {
|
||||||
constructedOrderedStop.nextStop = {
|
constructedOrderedStop.nextStop = {
|
||||||
routeId,
|
routeId,
|
||||||
stopId: jsonOrderedStopData[index + 1][1],
|
stopId: jsonOrderedStopData[index + 1][1],
|
||||||
|
position: index + 2,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,10 +50,12 @@ const orderedStopsForRedRoute: IOrderedStop[] = [
|
|||||||
{
|
{
|
||||||
routeId: routes[0].id,
|
routeId: routes[0].id,
|
||||||
stopId: stops[0].id,
|
stopId: stops[0].id,
|
||||||
|
position: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
routeId: routes[0].id,
|
routeId: routes[0].id,
|
||||||
stopId: stops[1].id,
|
stopId: stops[1].id,
|
||||||
|
position: 2,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -61,10 +63,12 @@ const orderedStopsForTealRoute: IOrderedStop[] = [
|
|||||||
{
|
{
|
||||||
routeId: routes[1].id,
|
routeId: routes[1].id,
|
||||||
stopId: stops[1].id,
|
stopId: stops[1].id,
|
||||||
|
position: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
routeId: routes[1].id,
|
routeId: routes[1].id,
|
||||||
stopId: stops[0].id,
|
stopId: stops[0].id,
|
||||||
|
position: 2,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user