@golemio/pid 3.4.1-dev.1622952033 → 3.5.0-rc.1632299332
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/integration-engine/ropid-gtfs/data-access/cache/RunTripsRedisRepository.js +1 -2
- package/dist/integration-engine/ropid-gtfs/data-access/cache/RunTripsRedisRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
- package/dist/output-gateway/pid/controllers/v2/V2DepartureBoardsController.js +1 -1
- package/dist/output-gateway/pid/controllers/v3/V3TransferBoardsController.d.ts +0 -1
- package/dist/output-gateway/pid/controllers/v3/V3TransferBoardsController.js +3 -12
- package/dist/output-gateway/pid/controllers/v3/V3TransferBoardsController.js.map +1 -1
- package/dist/output-gateway/pid/index.d.ts +5 -4
- package/dist/output-gateway/pid/index.js +0 -1
- package/dist/output-gateway/pid/index.js.map +1 -1
- package/dist/output-gateway/pid/ioc/Di.js +0 -4
- package/dist/output-gateway/pid/ioc/Di.js.map +1 -1
- package/dist/output-gateway/pid/ioc/OgPidToken.d.ts +0 -2
- package/dist/output-gateway/pid/ioc/OgPidToken.js +0 -2
- package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
- package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.d.ts +28 -14
- package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js +71 -192
- package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js.map +1 -1
- package/dist/output-gateway/pid/models/helpers/PIDDepartureModel.js +15 -27
- package/dist/output-gateway/pid/models/helpers/PIDDepartureModel.js.map +1 -1
- package/dist/output-gateway/pid/models/helpers/interfaces/IPIDDepartureQueryOptions.d.ts +1 -4
- package/dist/output-gateway/pid/routers/v3/V3PIDRouter.js +1 -1
- package/dist/output-gateway/pid/routers/v3/V3PIDRouter.js.map +1 -1
- package/dist/output-gateway/pid/service/facade/TransferFacade.d.ts +1 -1
- package/dist/output-gateway/pid/service/facade/TransferFacade.js +0 -2
- package/dist/output-gateway/pid/service/facade/TransferFacade.js.map +1 -1
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.d.ts +2 -4
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js +68 -90
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map +1 -1
- package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.d.ts +1 -2
- package/dist/output-gateway/shared/constants/validations.js +1 -1
- package/dist/output-gateway/shared/constants/validations.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/redis/const.d.ts +0 -1
- package/dist/schema-definitions/ropid-gtfs/redis/const.js +1 -2
- package/dist/schema-definitions/ropid-gtfs/redis/const.js.map +1 -1
- package/docs/openapi-output.yaml +3 -11
- package/package.json +3 -3
- package/db/migrations/postgresql/20250103092631-skip-missing.js +0 -53
- package/db/migrations/postgresql/sqls/20250103092631-skip-missing-down.sql +0 -184
- package/db/migrations/postgresql/sqls/20250103092631-skip-missing-up.sql +0 -195
- package/dist/output-gateway/pid/domain/DepartureInterfaces.d.ts +0 -7
- package/dist/output-gateway/pid/domain/DepartureInterfaces.js +0 -3
- package/dist/output-gateway/pid/domain/DepartureInterfaces.js.map +0 -1
- package/dist/output-gateway/pid/models/helpers/SkipHelper.d.ts +0 -19
- package/dist/output-gateway/pid/models/helpers/SkipHelper.js +0 -116
- package/dist/output-gateway/pid/models/helpers/SkipHelper.js.map +0 -1
- package/dist/output-gateway/pid/models/helpers/const.d.ts +0 -4
- package/dist/output-gateway/pid/models/helpers/const.js +0 -8
- package/dist/output-gateway/pid/models/helpers/const.js.map +0 -1
- package/dist/output-gateway/pid/models/interfaces/IGetDeparturesOptions.d.ts +0 -21
- package/dist/output-gateway/pid/models/interfaces/IGetDeparturesOptions.js +0 -3
- package/dist/output-gateway/pid/models/interfaces/IGetDeparturesOptions.js.map +0 -1
- package/dist/output-gateway/ropid-gtfs/data-access/redis/RunTripsRedisRepository.d.ts +0 -10
- package/dist/output-gateway/ropid-gtfs/data-access/redis/RunTripsRedisRepository.js +0 -65
- package/dist/output-gateway/ropid-gtfs/data-access/redis/RunTripsRedisRepository.js.map +0 -1
- package/dist/output-gateway/ropid-gtfs/domain/repository/IRunTripsRedisRepository.d.ts +0 -4
- package/dist/output-gateway/ropid-gtfs/domain/repository/IRunTripsRedisRepository.js +0 -3
- package/dist/output-gateway/ropid-gtfs/domain/repository/IRunTripsRedisRepository.js.map +0 -1
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const pid_1 = require("../..");
|
|
7
7
|
const DepartureBoardMapper_1 = __importDefault(require("../../helpers/DepartureBoardMapper"));
|
|
8
8
|
const FilterHelper_1 = require("./FilterHelper");
|
|
9
|
-
const SkipHelper_1 = require("./SkipHelper");
|
|
10
9
|
class PIDDeparturesModel {
|
|
11
10
|
constructor(departures, options) {
|
|
12
11
|
this.toArray = () => {
|
|
@@ -43,34 +42,23 @@ class PIDDeparturesModel {
|
|
|
43
42
|
*/
|
|
44
43
|
this.skip = () => {
|
|
45
44
|
this.departures = this.departures.filter((departure) => {
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
let isAtStop = false;
|
|
46
|
+
let isPassStop = false;
|
|
47
|
+
let isCurrentTrip = false;
|
|
48
|
+
if ("arrival_datetime" in departure) {
|
|
49
|
+
isAtStop = departure.stop_sequence === departure["trip.last_position.this_stop_sequence"];
|
|
50
|
+
isPassStop =
|
|
51
|
+
!!departure["trip.last_position.last_stop_sequence"] &&
|
|
52
|
+
departure.stop_sequence <= departure["trip.last_position.last_stop_sequence"];
|
|
48
53
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
let isSkipAtStop = false;
|
|
53
|
-
for (const skip of this.options.skip) {
|
|
54
|
-
if (skip === pid_1.DepartureSkip.UNTRACKED) {
|
|
55
|
-
isSkipUntracked = true;
|
|
56
|
-
}
|
|
57
|
-
else if (skip === pid_1.DepartureSkip.MISSING) {
|
|
58
|
-
isSkipMissing = true;
|
|
59
|
-
}
|
|
60
|
-
else if (skip === pid_1.DepartureSkip.CANCELED) {
|
|
61
|
-
isSkipCanceled = true;
|
|
62
|
-
}
|
|
63
|
-
else if (skip === pid_1.DepartureSkip.AT_STOP) {
|
|
64
|
-
isSkipAtStop = true;
|
|
65
|
-
}
|
|
54
|
+
else if (this.options.tripNumber) {
|
|
55
|
+
// Skip transfers of current trip (in the vehicle in which the transfer board is located)
|
|
56
|
+
isCurrentTrip = departure.trip_short_name?.endsWith(this.options.tripNumber) ?? false;
|
|
66
57
|
}
|
|
67
|
-
return !(
|
|
68
|
-
(
|
|
69
|
-
(
|
|
70
|
-
|
|
71
|
-
SkipHelper_1.SkipHelper.isVehicleMissing(departure, this.options.runScheduleMap, this.options.untrackedTrips)) ||
|
|
72
|
-
(isSkipCanceled && SkipHelper_1.SkipHelper.isTripCanceled(departure)) ||
|
|
73
|
-
(isSkipAtStop && SkipHelper_1.SkipHelper.isVehicleAtStop(departure)));
|
|
58
|
+
return !(isCurrentTrip ||
|
|
59
|
+
(this.options.skip.includes(pid_1.DepartureSkip.UNTRACKED) && !departure.is_delay_available) ||
|
|
60
|
+
(this.options.skip.includes(pid_1.DepartureSkip.CANCELED) && departure.is_canceled) ||
|
|
61
|
+
(this.options.skip.includes(pid_1.DepartureSkip.AT_STOP) && (isAtStop || isPassStop)));
|
|
74
62
|
});
|
|
75
63
|
};
|
|
76
64
|
/** Sorts by proper datetime by given options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PIDDepartureModel.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/models/helpers/PIDDepartureModel.ts"],"names":[],"mappings":";;;;;AAAA,+BAQiB;AACjB,8FAAwE;AACxE,iDAAoE;
|
|
1
|
+
{"version":3,"file":"PIDDepartureModel.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/models/helpers/PIDDepartureModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DepartureFilter, DepartureMode, DepartureOrder, DepartureSkip } from "../../..";
|
|
2
2
|
import { IRopidDeparturesDirectionsOutput } from "../../../../../schema-definitions/ropid-departures-directions";
|
|
3
|
-
import { IScheduleDto } from "../../../../../schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto";
|
|
4
3
|
export default interface IPIDDepartureQueryOptions {
|
|
5
4
|
limit: number;
|
|
6
5
|
offset: number;
|
|
@@ -11,7 +10,5 @@ export default interface IPIDDepartureQueryOptions {
|
|
|
11
10
|
skip: DepartureSkip[];
|
|
12
11
|
departuresDirections: IRopidDeparturesDirectionsOutput[];
|
|
13
12
|
timezone: string;
|
|
14
|
-
tripNumber
|
|
15
|
-
runScheduleMap: Map<string, IScheduleDto[]> | null;
|
|
16
|
-
untrackedTrips: Set<string> | null;
|
|
13
|
+
tripNumber?: string;
|
|
17
14
|
}
|
|
@@ -20,7 +20,7 @@ class V3PIDRouter extends AbstractRouter_1.AbstractRouter {
|
|
|
20
20
|
this.registerInfotextsRoutes = () => {
|
|
21
21
|
this.router.get("/transferboards", [
|
|
22
22
|
(0, express_validator_1.query)("cisId").exists().isInt().not().isArray(),
|
|
23
|
-
(0, express_validator_1.query)("tripNumber").
|
|
23
|
+
(0, express_validator_1.query)("tripNumber").exists().isInt().not().isArray(),
|
|
24
24
|
(0, express_validator_1.query)("timeFrom").optional().isISO8601().custom(ParamValidatorManager_1.ParamValidatorManager.getTimeFromValidator()).not().isArray(),
|
|
25
25
|
], Validation_1.checkErrors,
|
|
26
26
|
// max-age 5 seconds, stale-while-revalidate 5 seconds
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V3PIDRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/routers/v3/V3PIDRouter.ts"],"names":[],"mappings":";;;AAEA,+EAA8E;AAC9E,qCAAgD;AAChD,qDAAoD;AACpD,yDAAoD;AACpD,sFAAmF;AAEnF,6EAA2E;AAC3E,+DAAuE;AACvE,+DAA2D;AAC3D,mFAAoE;AAEpE,MAAa,WAAY,SAAQ,+BAAc;IAM3C;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QANlB,WAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QAaxB,eAAU,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACnC,CAAC,CAAC;QAEM,4BAAuB,GAAG,GAAG,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,iBAAiB,EACjB;gBACI,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBAC/C,IAAA,yBAAK,EAAC,YAAY,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"V3PIDRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/routers/v3/V3PIDRouter.ts"],"names":[],"mappings":";;;AAEA,+EAA8E;AAC9E,qCAAgD;AAChD,qDAAoD;AACpD,yDAAoD;AACpD,sFAAmF;AAEnF,6EAA2E;AAC3E,+DAAuE;AACvE,+DAA2D;AAC3D,mFAAoE;AAEpE,MAAa,WAAY,SAAQ,+BAAc;IAM3C;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QANlB,WAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QAaxB,eAAU,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACnC,CAAC,CAAC;QAEM,4BAAuB,GAAG,GAAG,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,iBAAiB,EACjB;gBACI,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBAC/C,IAAA,yBAAK,EAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACpD,IAAA,yBAAK,EAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,6CAAqB,CAAC,oBAAoB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;aAChH,EACD,wBAAW;YACX,sDAAsD;YACtD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,CACtD,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,YAAY,EACZ,wBAAW;YACX,wDAAwD;YACxD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAChD,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAC3C,CAAC;QACN,CAAC,CAAC;QA/BE,IAAI,CAAC,qBAAqB,GAAG,mBAAc,CAAC,OAAO,CAAwB,oBAAc,CAAC,qBAAqB,CAAC,CAAC;QACjH,IAAI,CAAC,wBAAwB,GAAG,mBAAc,CAAC,OAAO,CAA6B,uBAAU,CAAC,0BAA0B,CAAC,CAAC;QAC1H,IAAI,CAAC,mBAAmB,GAAG,mBAAc,CAAC,OAAO,CAAwB,uBAAU,CAAC,qBAAqB,CAAC,CAAC;QAC3G,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CA4BJ;AAxCD,kCAwCC;AAED,MAAM,WAAW,GAAmB,IAAI,WAAW,EAAE,CAAC;AAC7C,kCAAW"}
|
|
@@ -12,7 +12,7 @@ export declare class TransferFacade {
|
|
|
12
12
|
* - Process them (filter, sort, etc.)
|
|
13
13
|
* - Transform them to DTO
|
|
14
14
|
*/
|
|
15
|
-
getTransferDepartures(stopIds: string[], tripNumber: string
|
|
15
|
+
getTransferDepartures(stopIds: string[], tripNumber: string, currentMoment: Moment, minutesOffset: number, timeZone?: string): Promise<ITransferOutputDto[]>;
|
|
16
16
|
/**
|
|
17
17
|
* Fallback options as defined by ROPID
|
|
18
18
|
*/
|
|
@@ -84,8 +84,6 @@ let TransferFacade = exports.TransferFacade = class TransferFacade {
|
|
|
84
84
|
filter: pid_1.DepartureFilter.ROUTE_HEADING_ONCE_NOGAP_FILL,
|
|
85
85
|
skip: [pid_1.DepartureSkip.CANCELED],
|
|
86
86
|
departuresDirections: [],
|
|
87
|
-
runScheduleMap: null,
|
|
88
|
-
untrackedTrips: null, // not used in this context
|
|
89
87
|
};
|
|
90
88
|
}
|
|
91
89
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/facade/TransferFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+BAAgI;AAChI,mDAA2D;AAC3D,qDAAoD;AACpD,+FAA0E;AAC1E,0HAAoG;AACpG,4CAA8C;AAC9C,6EAA8F;AAE9F,iEAAwE;AACxE,wGAAqG;AAG9F,IAAM,cAAc,4BAApB,MAAM,cAAc;IACvB,YACqD,mBAAyC,EAC9B,uBAAwD;QADnE,wBAAmB,GAAnB,mBAAmB,CAAsB;QAC9B,4BAAuB,GAAvB,uBAAuB,CAAiC;IACrH,CAAC;IAEJ;;;;;OAKG;IACI,KAAK,CAAC,qBAAqB,CAC9B,OAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"TransferFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/facade/TransferFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+BAAgI;AAChI,mDAA2D;AAC3D,qDAAoD;AACpD,+FAA0E;AAC1E,0HAAoG;AACpG,4CAA8C;AAC9C,6EAA8F;AAE9F,iEAAwE;AACxE,wGAAqG;AAG9F,IAAM,cAAc,4BAApB,MAAM,cAAc;IACvB,YACqD,mBAAyC,EAC9B,uBAAwD;QADnE,wBAAmB,GAAnB,mBAAmB,CAAsB;QAC9B,4BAAuB,GAAvB,uBAAuB,CAAiC;IACrH,CAAC;IAEJ;;;;;OAKG;IACI,KAAK,CAAC,qBAAqB,CAC9B,OAAiB,EACjB,UAAkB,EAClB,aAAqB,EACrB,aAAqB,EACrB,QAAQ,GAAG,yBAAgB,CAAC,QAAQ;QAEpC,IAAI,iBAAiB,GAAyB,EAAE,CAAC;QACjD,IAAI;YACA,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;gBACrE,QAAQ,EAAE,OAAO;gBACjB,aAAa;gBACb,aAAa;aAChB,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,IAAI,6BAAY,CAAC,wCAAwC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SACvG;QAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,EAAE,CAAC;SACb;QAED,IAAI,kBAAkB,GAAyB,EAAE,CAAC;QAClD,IAAI;YACA,MAAM,mBAAmB,GAAG,IAAI,2BAAkB,CAAC,iBAAiB,EAAE;gBAClE,GAAG,IAAI,CAAC,cAAc;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,UAAU;aACb,CAAC,CAAC,yBAAyB,EAAE,CAAC;YAE/B,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;SACzF;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,IAAI,6BAAY,CAAC,uCAAuC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SACtG;QAED,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAY,cAAc;QACtB,OAAO;YACH,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,mBAAa,CAAC,UAAU;YAC9B,KAAK,EAAE,oBAAc,CAAC,IAAI;YAC1B,MAAM,EAAE,qBAAe,CAAC,6BAA6B;YACrD,IAAI,EAAE,CAAC,mBAAa,CAAC,QAAQ,CAAC;YAC9B,oBAAoB,EAAE,EAAE;SAC3B,CAAC;IACN,CAAC;CACJ,CAAA;yBAzEY,cAAc;IAD1B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,oBAAoB,CAAC,CAAA;IACvC,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,+BAA+B,CAAC,CAAA;qCADmB,kCAAoB;QACL,iEAA+B;GAH/G,cAAc,CAyE1B"}
|
|
@@ -8,12 +8,10 @@ export declare class PublicVehiclePositionsRepository implements IVehiclePositio
|
|
|
8
8
|
private log;
|
|
9
9
|
private setName;
|
|
10
10
|
constructor(redisConnector: IoRedisConnector, log: ILogger);
|
|
11
|
-
setCurrentSetName(name: string): void;
|
|
12
11
|
getAllVehicleIds(boundingBox: IBoundingBoxWithCenter): Promise<string[]>;
|
|
13
12
|
getAllVehiclePositions(vehicleIds: string[], tripIds?: string[]): Promise<IPublicApiCacheDto[]>;
|
|
14
13
|
getAllVehiclePositionsForMultipleTrips(tripIds: string[]): Promise<Map<string, IPublicApiCacheDto[]>>;
|
|
15
|
-
getTripsWithUntrackedVehicles(tripIds: string[]): Promise<Set<string>>;
|
|
16
|
-
getDetailedVehiclePosition(vehicleId: string, tripId?: string): Promise<IPublicApiCacheDto | null>;
|
|
17
|
-
private getVehicleIdsForMultiple;
|
|
18
14
|
private getCanceledTrips;
|
|
15
|
+
getDetailedVehiclePosition(vehicleId: string, tripId?: string): Promise<IPublicApiCacheDto | null>;
|
|
16
|
+
setCurrentSetName(name: string): void;
|
|
19
17
|
}
|
|
@@ -24,9 +24,6 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
24
24
|
this.log = log;
|
|
25
25
|
this.setName = undefined; // loaded via pub sub
|
|
26
26
|
}
|
|
27
|
-
setCurrentSetName(name) {
|
|
28
|
-
this.setName = name;
|
|
29
|
-
}
|
|
30
27
|
async getAllVehicleIds(boundingBox) {
|
|
31
28
|
if (!this.setName) {
|
|
32
29
|
this.log.debug("Empty setName for public vehicle positions api.");
|
|
@@ -40,8 +37,8 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
40
37
|
try {
|
|
41
38
|
vehicleIds = (await connection.geosearch(this.setName, "FROMLONLAT", boundingBox.centerPoint.longitude, boundingBox.centerPoint.latitude, "BYBOX", boundingBox.width, boundingBox.height, "m", "ASC"));
|
|
42
39
|
}
|
|
43
|
-
catch (
|
|
44
|
-
throw new golemio_errors_1.GeneralError(
|
|
40
|
+
catch (err) {
|
|
41
|
+
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get vehicle ids from cache: ${err.message}`, this.constructor.name, err);
|
|
45
42
|
}
|
|
46
43
|
return vehicleIds;
|
|
47
44
|
}
|
|
@@ -64,8 +61,8 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
64
61
|
}
|
|
65
62
|
vehiclePositions = await connection.mget(keys);
|
|
66
63
|
}
|
|
67
|
-
catch (
|
|
68
|
-
throw new golemio_errors_1.GeneralError(
|
|
64
|
+
catch (err) {
|
|
65
|
+
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get vehicle positions from cache: ${err.message}`, this.constructor.name, err);
|
|
69
66
|
}
|
|
70
67
|
const parsedVehiclePositions = [];
|
|
71
68
|
for (const vehiclePosition of vehiclePositions) {
|
|
@@ -75,8 +72,8 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
75
72
|
try {
|
|
76
73
|
parsedVehiclePositions.push(JSON.parse(vehiclePosition));
|
|
77
74
|
}
|
|
78
|
-
catch (
|
|
79
|
-
throw new golemio_errors_1.GeneralError(
|
|
75
|
+
catch (err) {
|
|
76
|
+
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse vehicle position: ${err.message}`, this.constructor.name, err);
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
79
|
return parsedVehiclePositions;
|
|
@@ -90,20 +87,46 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
90
87
|
if (!this.redisConnector.isConnected()) {
|
|
91
88
|
await this.redisConnector.connect();
|
|
92
89
|
}
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
90
|
+
const vehicleIdsByTrip = new Map();
|
|
91
|
+
const vehicleIdsByFutureTrip = new Map();
|
|
92
|
+
const connection = this.redisConnector.getConnection();
|
|
93
|
+
const pipeline = connection.pipeline();
|
|
94
|
+
const futurePipeline = connection.pipeline();
|
|
95
|
+
for (const tripId of tripIds) {
|
|
96
|
+
pipeline.lrange(`${this.setName}:trip-${tripId}`, 0, -1);
|
|
97
|
+
futurePipeline.lrange(`${this.setName}:future-trip-${tripId}`, 0, -1);
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
const [trips, futureTrips] = await Promise.all([pipeline.exec(), futurePipeline.exec()]);
|
|
101
|
+
for (const [err, vehicleIds] of trips) {
|
|
102
|
+
if (err) {
|
|
103
|
+
throw new golemio_errors_1.GeneralError("Cannot get vehicle ids for trip from cache", this.constructor.name, err);
|
|
104
|
+
}
|
|
105
|
+
vehicleIdsByTrip.set(tripIds[vehicleIdsByTrip.size], vehicleIds);
|
|
106
|
+
}
|
|
107
|
+
for (const [err, vehicleIds] of futureTrips) {
|
|
108
|
+
if (err) {
|
|
109
|
+
throw new golemio_errors_1.GeneralError("Cannot get vehicle ids for future-trip from cache", this.constructor.name, err);
|
|
110
|
+
}
|
|
111
|
+
vehicleIdsByFutureTrip.set(tripIds[vehicleIdsByFutureTrip.size], vehicleIds);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
if (err instanceof golemio_errors_1.GeneralError) {
|
|
116
|
+
throw err;
|
|
117
|
+
}
|
|
118
|
+
throw new golemio_errors_1.GeneralError("Cannot get vehicle ids for trip from cache", this.constructor.name, err);
|
|
119
|
+
}
|
|
120
|
+
const positionValues = Array.from(new Set([...vehicleIdsByTrip.values(), ...vehicleIdsByFutureTrip.values()].flat()));
|
|
121
|
+
if (positionValues.length > 0) {
|
|
122
|
+
const allPositions = await this.getAllVehiclePositions(positionValues);
|
|
100
123
|
for (const position of allPositions) {
|
|
101
124
|
if (!positionsByTrip.has(position.gtfs_trip_id)) {
|
|
102
125
|
positionsByTrip.set(position.gtfs_trip_id, []);
|
|
103
126
|
}
|
|
104
127
|
positionsByTrip.get(position.gtfs_trip_id).push(position);
|
|
105
128
|
}
|
|
106
|
-
const futurePositions = await this.getAllVehiclePositions(
|
|
129
|
+
const futurePositions = await this.getAllVehiclePositions(positionValues, tripIds);
|
|
107
130
|
for (const position of futurePositions) {
|
|
108
131
|
if (!positionsByTrip.has(position.gtfs_trip_id)) {
|
|
109
132
|
positionsByTrip.set(position.gtfs_trip_id, []);
|
|
@@ -117,29 +140,31 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
117
140
|
}
|
|
118
141
|
return positionsByTrip;
|
|
119
142
|
}
|
|
120
|
-
async
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return
|
|
143
|
+
async getCanceledTrips(tripIds) {
|
|
144
|
+
const connection = this.redisConnector.getConnection();
|
|
145
|
+
const parsedCanceledTrips = [];
|
|
146
|
+
if (tripIds.length === 0) {
|
|
147
|
+
return [];
|
|
125
148
|
}
|
|
126
|
-
|
|
127
|
-
|
|
149
|
+
const keys = [];
|
|
150
|
+
for (const tripId of tripIds) {
|
|
151
|
+
keys.push(`${this.setName}:canceled-trips-${tripId}`);
|
|
128
152
|
}
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
153
|
+
const canceledTrips = await connection.mget(keys);
|
|
154
|
+
for (const canceledTrip of canceledTrips) {
|
|
155
|
+
if (canceledTrip === null) {
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
try {
|
|
160
|
+
parsedCanceledTrips.push(JSON.parse(canceledTrip));
|
|
161
|
+
}
|
|
162
|
+
catch (err) {
|
|
163
|
+
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse canceled trip: ${err.message}`, this.constructor.name, err);
|
|
136
164
|
}
|
|
137
165
|
}
|
|
138
166
|
}
|
|
139
|
-
|
|
140
|
-
throw new golemio_errors_1.GeneralError("Cannot get vehicle positions from cache", this.constructor.name, error);
|
|
141
|
-
}
|
|
142
|
-
return untrackedTrips;
|
|
167
|
+
return parsedCanceledTrips;
|
|
143
168
|
}
|
|
144
169
|
// Current trips are saved in the cache with key made from vehicleId only. For future trips tripId has to be also provided.
|
|
145
170
|
async getDetailedVehiclePosition(vehicleId, tripId) {
|
|
@@ -156,9 +181,9 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
156
181
|
const key = tripId ? `${this.setName}:future-trip-${vehicleId}-${tripId}` : `${this.setName}:vehicle-${vehicleId}`;
|
|
157
182
|
vehiclePosition = await connection.get(key);
|
|
158
183
|
}
|
|
159
|
-
catch (
|
|
160
|
-
this.log.error(
|
|
161
|
-
throw new golemio_errors_1.GeneralError(
|
|
184
|
+
catch (err) {
|
|
185
|
+
this.log.error(`${this.constructor.name}: Cannot get vehicle position from cache: ${err.message}`);
|
|
186
|
+
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get vehicle position from cache: ${err.message}`, this.constructor.name, err);
|
|
162
187
|
}
|
|
163
188
|
if (vehiclePosition === null) {
|
|
164
189
|
this.log.info(`${this.constructor.name}: Cannot find vehicle_id ${vehicleId}`);
|
|
@@ -167,60 +192,13 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
167
192
|
try {
|
|
168
193
|
return JSON.parse(vehiclePosition);
|
|
169
194
|
}
|
|
170
|
-
catch (
|
|
171
|
-
this.log.error(
|
|
172
|
-
throw new golemio_errors_1.GeneralError(
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
async getVehicleIdsForMultiple(tripIds, keyPrefix) {
|
|
176
|
-
const vehicleIdsByTrip = new Map();
|
|
177
|
-
const connection = this.redisConnector.getConnection();
|
|
178
|
-
const pipeline = connection.pipeline();
|
|
179
|
-
for (const tripId of tripIds) {
|
|
180
|
-
pipeline.lrange(`${this.setName}:${keyPrefix}-${tripId}`, 0, -1);
|
|
181
|
-
}
|
|
182
|
-
try {
|
|
183
|
-
const trips = await pipeline.exec();
|
|
184
|
-
for (const [error, vehicleIds] of trips) {
|
|
185
|
-
if (error) {
|
|
186
|
-
throw new golemio_errors_1.GeneralError(`Cannot get vehicle ids for ${keyPrefix} from cache`, this.constructor.name, error);
|
|
187
|
-
}
|
|
188
|
-
vehicleIdsByTrip.set(tripIds[vehicleIdsByTrip.size], vehicleIds);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
catch (error) {
|
|
192
|
-
if (error instanceof golemio_errors_1.GeneralError) {
|
|
193
|
-
throw error;
|
|
194
|
-
}
|
|
195
|
-
throw new golemio_errors_1.GeneralError(`Cannot get vehicle ids for ${keyPrefix} from cache`, this.constructor.name, error);
|
|
195
|
+
catch (err) {
|
|
196
|
+
this.log.error(`${this.constructor.name}: Cannot parse ${vehicleId}: ${err.message}`);
|
|
197
|
+
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse ${vehicleId}: ${err.message}`, this.constructor.name, err);
|
|
196
198
|
}
|
|
197
|
-
return Array.from(vehicleIdsByTrip.values()).flat();
|
|
198
199
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
const parsedCanceledTrips = [];
|
|
202
|
-
if (tripIds.length === 0) {
|
|
203
|
-
return [];
|
|
204
|
-
}
|
|
205
|
-
const keys = [];
|
|
206
|
-
for (const tripId of tripIds) {
|
|
207
|
-
keys.push(`${this.setName}:canceled-trips-${tripId}`);
|
|
208
|
-
}
|
|
209
|
-
const canceledTrips = await connection.mget(keys);
|
|
210
|
-
for (const canceledTrip of canceledTrips) {
|
|
211
|
-
if (canceledTrip === null) {
|
|
212
|
-
continue;
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
try {
|
|
216
|
-
parsedCanceledTrips.push(JSON.parse(canceledTrip));
|
|
217
|
-
}
|
|
218
|
-
catch (error) {
|
|
219
|
-
throw new golemio_errors_1.GeneralError("Cannot parse canceled trip", this.constructor.name, error);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
return parsedCanceledTrips;
|
|
200
|
+
setCurrentSetName(name) {
|
|
201
|
+
this.setName = name;
|
|
224
202
|
}
|
|
225
203
|
};
|
|
226
204
|
exports.PublicVehiclePositionsRepository = PublicVehiclePositionsRepository = __decorate([
|
package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,oGAAiG;AACjG,wEAAqE;AAErE,+DAAuE;AACvE,6EAAwE;AACxE,iEAAwE;AAGjE,IAAM,gCAAgC,8CAAtC,MAAM,gCAAgC;IAGzC,YAC2C,cAAwC,EACrD,GAAoB;QADC,mBAAc,GAAd,cAAc,CAAkB;QAC7C,QAAG,GAAH,GAAG,CAAS;QAJ1C,YAAO,GAAuB,SAAS,CAAC,CAAC,qBAAqB;IAKnE,CAAC;IAEG,
|
|
1
|
+
{"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { IPublicApiCacheDto } from "../../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto";
|
|
2
2
|
import { IBoundingBoxWithCenter } from "../IBoudingBox";
|
|
3
3
|
export interface IVehiclePositionsRepository {
|
|
4
|
-
setCurrentSetName(name: string): void;
|
|
5
4
|
getAllVehicleIds(boundingBox: IBoundingBoxWithCenter): Promise<string[]>;
|
|
6
5
|
getAllVehiclePositions(vehicleIds: string[]): Promise<IPublicApiCacheDto[]>;
|
|
7
6
|
getAllVehiclePositionsForMultipleTrips(tripIds: string[]): Promise<Map<string, IPublicApiCacheDto[]>>;
|
|
8
7
|
getDetailedVehiclePosition(vehicleId: string, tripdId?: string): Promise<IPublicApiCacheDto | null>;
|
|
9
|
-
|
|
8
|
+
setCurrentSetName(name: string): void;
|
|
10
9
|
}
|
|
@@ -18,7 +18,7 @@ exports.ValidationArrays = {
|
|
|
18
18
|
"routeHeadingOnceNoGap",
|
|
19
19
|
"routeHeadingOnceNoGapFill",
|
|
20
20
|
],
|
|
21
|
-
skip: ["untracked", "
|
|
21
|
+
skip: ["untracked", "canceled", "atStop" /*, "onInfotext"*/],
|
|
22
22
|
},
|
|
23
23
|
// TODO replace moment.tz.names() with Intl.supportedValuesOf("timeZone") after migrating to Node 18
|
|
24
24
|
preferredTimezone: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../../src/output-gateway/shared/constants/validations.ts"],"names":[],"mappings":";;;;;;AAAA,gGAA+D;AAElD,QAAA,gBAAgB,GAAG;IAC5B,eAAe,EAAE;QACb,aAAa,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC;QAClD,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QAC5B,MAAM,EAAE;YACJ,MAAM;YACN,WAAW;YACX,kBAAkB;YAClB,eAAe;YACf,sBAAsB;YACtB,uBAAuB;YACvB,2BAA2B;SAC9B;QACD,IAAI,EAAE,CAAC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../../src/output-gateway/shared/constants/validations.ts"],"names":[],"mappings":";;;;;;AAAA,gGAA+D;AAElD,QAAA,gBAAgB,GAAG;IAC5B,eAAe,EAAE;QACb,aAAa,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC;QAClD,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QAC5B,MAAM,EAAE;YACJ,MAAM;YACN,WAAW;YACX,kBAAkB;YAClB,eAAe;YACf,sBAAsB;YACtB,uBAAuB;YACvB,2BAA2B;SAC9B;QACD,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,kBAAkB,CAAC;KAC/D;IACD,oGAAoG;IACpG,iBAAiB,EAAE;QACf,GAAG,yBAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,GAAG,yBAAM,CAAC,EAAE;aACP,KAAK,EAAE;YACR,iDAAiD;aAChD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,0BAA0B;aACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KAC/C;CACJ,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PUBLIC_DEPARTURE_NAMESPACE_PREFIX =
|
|
4
|
-
exports.GTFS_RUN_SCHEDULE_NAMESPACE_PREFIX = "gtfsRunSchedule";
|
|
3
|
+
exports.PUBLIC_DEPARTURE_NAMESPACE_PREFIX = void 0;
|
|
5
4
|
exports.PUBLIC_DEPARTURE_NAMESPACE_PREFIX = "gtfsPublicDepartureCache";
|
|
6
5
|
//# sourceMappingURL=const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../src/schema-definitions/ropid-gtfs/redis/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../src/schema-definitions/ropid-gtfs/redis/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,iCAAiC,GAAG,0BAA0B,CAAC"}
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -976,20 +976,12 @@ paths:
|
|
|
976
976
|
example: "routeOnce"
|
|
977
977
|
- name: skip
|
|
978
978
|
in: query
|
|
979
|
-
description:
|
|
980
|
-
|
|
981
|
-
Multiple filters can be applied using array syntax, e.g., `&skip[]=canceled&skip[]=atStop`.
|
|
982
|
-
Using both `untracked` and `missing` will exclude all untracked vehicles, as missing vehicles are a subset of untracked vehicles.
|
|
983
|
-
We recommend using `missing` instead of `untracked`, as skipping all untracked vehicles may result in departures not appearing in the API response until the last few minutes before departure, especially for departure boards near the starting station/stop.
|
|
979
|
+
description: >-
|
|
980
|
+
Valid entries: `canceled`, `atStop`, `untracked`. Skips trips with these attributes. Use multiple rules with `&skip[]=cancelled&skip[]=atStop` query parameter array form.
|
|
984
981
|
required: false
|
|
985
982
|
schema:
|
|
986
983
|
type: string
|
|
987
984
|
example: "canceled"
|
|
988
|
-
enum:
|
|
989
|
-
- canceled
|
|
990
|
-
- atStop
|
|
991
|
-
- untracked
|
|
992
|
-
- missing
|
|
993
985
|
- name: limit
|
|
994
986
|
in: query
|
|
995
987
|
description: Limits the number of items in response. The maximum is 1000 (default value is 20).
|
|
@@ -1127,7 +1119,7 @@ paths:
|
|
|
1127
1119
|
- name: tripNumber
|
|
1128
1120
|
in: query
|
|
1129
1121
|
description: Trip number of the vehicle in which the transfer is planned. Use to filter out transfers for a specific trip. Represents the numeric part of the GTFS `trip_short_name` (Os 2547 -> 2547).
|
|
1130
|
-
required:
|
|
1122
|
+
required: true
|
|
1131
1123
|
schema:
|
|
1132
1124
|
type: number
|
|
1133
1125
|
example: 2547
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/pid",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0-rc.1632299332",
|
|
4
4
|
"description": "Golemio PID Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@commitlint/cli": "^11.0.0",
|
|
38
38
|
"@commitlint/config-conventional": "^11.0.0",
|
|
39
39
|
"@golemio/cli": "1.8.0",
|
|
40
|
-
"@golemio/core": "1.
|
|
40
|
+
"@golemio/core": "1.19.0",
|
|
41
41
|
"@golemio/db-common": "1.1.4",
|
|
42
42
|
"@golemio/eslint-config": "1.1.2",
|
|
43
43
|
"@types/amqplib": "^0.5.17",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"@golemio/core": ">=1.16.0-rc.1551191551"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.
|
|
79
|
+
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.3",
|
|
80
80
|
"@turf/turf": "^6.5.0",
|
|
81
81
|
"cheap-ruler": "^3.0.2",
|
|
82
82
|
"csv-parser": "^3.0.0",
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var dbm;
|
|
4
|
-
var type;
|
|
5
|
-
var seed;
|
|
6
|
-
var fs = require('fs');
|
|
7
|
-
var path = require('path');
|
|
8
|
-
var Promise;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
-
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
-
*/
|
|
14
|
-
exports.setup = function(options, seedLink) {
|
|
15
|
-
dbm = options.dbmigrate;
|
|
16
|
-
type = dbm.dataType;
|
|
17
|
-
seed = seedLink;
|
|
18
|
-
Promise = options.Promise;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
exports.up = function(db) {
|
|
22
|
-
var filePath = path.join(__dirname, 'sqls', '20250103092631-skip-missing-up.sql');
|
|
23
|
-
return new Promise( function( resolve, reject ) {
|
|
24
|
-
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
25
|
-
if (err) return reject(err);
|
|
26
|
-
console.log('received data: ' + data);
|
|
27
|
-
|
|
28
|
-
resolve(data);
|
|
29
|
-
});
|
|
30
|
-
})
|
|
31
|
-
.then(function(data) {
|
|
32
|
-
return db.runSql(data);
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
exports.down = function(db) {
|
|
37
|
-
var filePath = path.join(__dirname, 'sqls', '20250103092631-skip-missing-down.sql');
|
|
38
|
-
return new Promise( function( resolve, reject ) {
|
|
39
|
-
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
40
|
-
if (err) return reject(err);
|
|
41
|
-
console.log('received data: ' + data);
|
|
42
|
-
|
|
43
|
-
resolve(data);
|
|
44
|
-
});
|
|
45
|
-
})
|
|
46
|
-
.then(function(data) {
|
|
47
|
-
return db.runSql(data);
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
exports._meta = {
|
|
52
|
-
"version": 1
|
|
53
|
-
};
|