@golemio/pid 4.1.4-dev.2065096627 → 4.1.4-dev.2065400061
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-vymi/workers/tasks/helpers/RopidVYMIApiHelper.d.ts +2 -1
- package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js +24 -5
- package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js.map +1 -1
- package/dist/output-gateway/pid/models/index.d.ts +0 -3
- package/dist/output-gateway/pid/models/index.js +0 -3
- package/dist/output-gateway/pid/models/index.js.map +1 -1
- package/dist/output-gateway/pid/routers/v2/V2PIDRouter.d.ts +0 -2
- package/dist/output-gateway/pid/routers/v2/V2PIDRouter.js +0 -8
- package/dist/output-gateway/pid/routers/v2/V2PIDRouter.js.map +1 -1
- package/docs/implementation_documentation.md +0 -5
- package/docs/openapi-output.yaml +1 -76
- package/package.json +1 -1
- package/dist/output-gateway/pid/controllers/v2/V2InfotextsController.d.ts +0 -7
- package/dist/output-gateway/pid/controllers/v2/V2InfotextsController.js +0 -27
- package/dist/output-gateway/pid/controllers/v2/V2InfotextsController.js.map +0 -1
- package/dist/output-gateway/pid/models/RopidVYMIEventsModel.d.ts +0 -9
- package/dist/output-gateway/pid/models/RopidVYMIEventsModel.js +0 -24
- package/dist/output-gateway/pid/models/RopidVYMIEventsModel.js.map +0 -1
- package/dist/output-gateway/pid/models/RopidVYMIEventsRoutesModel.d.ts +0 -9
- package/dist/output-gateway/pid/models/RopidVYMIEventsRoutesModel.js +0 -22
- package/dist/output-gateway/pid/models/RopidVYMIEventsRoutesModel.js.map +0 -1
- package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.d.ts +0 -44
- package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.js +0 -137
- package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.js.map +0 -1
|
@@ -2,9 +2,10 @@ import { BinaryLike } from "crypto";
|
|
|
2
2
|
import { IEventFetchOutput } from "../interfaces/IEventFetchOutput";
|
|
3
3
|
export default class RopidVYMIApiHelper {
|
|
4
4
|
private static _instance;
|
|
5
|
-
private readonly datasource;
|
|
6
5
|
static getInstance: () => RopidVYMIApiHelper;
|
|
7
6
|
private constructor();
|
|
7
|
+
private createDatasource;
|
|
8
8
|
getAllEvents: () => Promise<IEventFetchOutput>;
|
|
9
9
|
createDigest: (data: BinaryLike) => string;
|
|
10
|
+
private computeCreatedFrom;
|
|
10
11
|
}
|
|
@@ -16,7 +16,8 @@ class RopidVYMIApiHelper {
|
|
|
16
16
|
constructor() {
|
|
17
17
|
this.getAllEvents = async () => {
|
|
18
18
|
try {
|
|
19
|
-
const
|
|
19
|
+
const datasource = this.createDatasource();
|
|
20
|
+
const events = await datasource.getAll();
|
|
20
21
|
const digest = this.createDigest(JSON.stringify(events));
|
|
21
22
|
return {
|
|
22
23
|
data: events,
|
|
@@ -36,14 +37,32 @@ class RopidVYMIApiHelper {
|
|
|
36
37
|
this.createDigest = (data) => {
|
|
37
38
|
return crypto_1.default.createHash("sha1").update(data).digest("hex");
|
|
38
39
|
};
|
|
39
|
-
|
|
40
|
+
}
|
|
41
|
+
createDatasource() {
|
|
42
|
+
const createdFrom = this.computeCreatedFrom();
|
|
43
|
+
return new integration_engine_1.DataSource(ropid_vymi_1.RopidVYMI.events.name + "DataSource", new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
40
44
|
headers: config_1.config.datasources.RopidVYMIApiHeaders,
|
|
41
45
|
method: "GET",
|
|
42
|
-
timeoutInSeconds:
|
|
43
|
-
url: `${config_1.config.datasources.RopidVYMIApiUrl}
|
|
44
|
-
|
|
46
|
+
timeoutInSeconds: 20,
|
|
47
|
+
url: `${config_1.config.datasources.RopidVYMIApiUrl}` +
|
|
48
|
+
`?level=${RopidVYMIApiOutputLevel_1.RopidVYMIApiOutputLevel.Standard}` +
|
|
49
|
+
`&status=1` +
|
|
50
|
+
`&recordtype=1` +
|
|
51
|
+
`&createdfrom=${createdFrom}`,
|
|
45
52
|
}), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "vymi-report.vymi-list" }), new golemio_validator_1.JSONSchemaValidator(ropid_vymi_1.RopidVYMI.events.name + "DataSource", ropid_vymi_1.RopidVYMI.events.datasourceJsonSchema));
|
|
46
53
|
}
|
|
54
|
+
computeCreatedFrom() {
|
|
55
|
+
const d = new Date();
|
|
56
|
+
d.setDate(d.getDate() - 100);
|
|
57
|
+
const pad = (n) => String(n).padStart(2, "0");
|
|
58
|
+
// Format: YYYYMMDDHHMMSS
|
|
59
|
+
return (d.getFullYear().toString() +
|
|
60
|
+
pad(d.getMonth() + 1) +
|
|
61
|
+
pad(d.getDate()) +
|
|
62
|
+
pad(d.getHours()) +
|
|
63
|
+
pad(d.getMinutes()) +
|
|
64
|
+
pad(d.getSeconds()));
|
|
65
|
+
}
|
|
47
66
|
}
|
|
48
67
|
_a = RopidVYMIApiHelper;
|
|
49
68
|
RopidVYMIApiHelper.getInstance = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RopidVYMIApiHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.ts"],"names":[],"mappings":";;;;;;AAAA,6EAA6D;AAC7D,8EAA8F;AAC9F,yEAAsE;AACtE,6IAA0I;AAC1I,6EAA8F;AAC9F,mFAAkF;AAClF,oDAA4C;AAE5C,uEAAoE;AAEpE,MAAqB,kBAAkB;
|
|
1
|
+
{"version":3,"file":"RopidVYMIApiHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./PIDDepartureBoardsModel"), exports);
|
|
18
|
-
__exportStar(require("./RopidVYMIEventsModel"), exports);
|
|
19
|
-
__exportStar(require("./RopidVYMIEventsRoutesModel"), exports);
|
|
20
|
-
__exportStar(require("./RopidVYMIEventsStopsModel"), exports);
|
|
21
18
|
__exportStar(require("./RopidDeparturesDirectionsModel"), exports);
|
|
22
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,mEAAiD"}
|
|
@@ -9,11 +9,9 @@ export declare class V2PIDRouter extends AbstractRouter {
|
|
|
9
9
|
readonly router: Router;
|
|
10
10
|
private cacheHeaderMiddleware;
|
|
11
11
|
private readonly departureBoardsController;
|
|
12
|
-
private readonly infotextsController;
|
|
13
12
|
constructor();
|
|
14
13
|
protected initRoutes: () => void;
|
|
15
14
|
private registerDepartureBoardsRoutes;
|
|
16
|
-
private registerInfotextsRoutes;
|
|
17
15
|
private commonMiddleware;
|
|
18
16
|
}
|
|
19
17
|
declare const v2PidRouter: AbstractRouter;
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.v2PidRouter = exports.V2PIDRouter = void 0;
|
|
8
8
|
const V2DepartureBoardsController_1 = require("../../controllers/v2/V2DepartureBoardsController");
|
|
9
|
-
const V2InfotextsController_1 = require("../../controllers/v2/V2InfotextsController");
|
|
10
9
|
const ParamValidatorManager_1 = require("../../helpers/ParamValidatorManager");
|
|
11
10
|
const constants_1 = require("../../../shared/constants");
|
|
12
11
|
const AbstractRouter_1 = require("@golemio/core/dist/helpers/routing/AbstractRouter");
|
|
@@ -21,7 +20,6 @@ class V2PIDRouter extends AbstractRouter_1.AbstractRouter {
|
|
|
21
20
|
this.router = (0, express_1.Router)();
|
|
22
21
|
this.initRoutes = () => {
|
|
23
22
|
this.registerDepartureBoardsRoutes();
|
|
24
|
-
this.registerInfotextsRoutes();
|
|
25
23
|
};
|
|
26
24
|
this.registerDepartureBoardsRoutes = () => {
|
|
27
25
|
const { preferredTimezone, departureBoards: { departureMode, order, filter, skip }, } = constants_1.ValidationArrays;
|
|
@@ -66,15 +64,9 @@ class V2PIDRouter extends AbstractRouter_1.AbstractRouter {
|
|
|
66
64
|
// max-age 5 seconds, stale-while-revalidate 5 seconds
|
|
67
65
|
this.cacheHeaderMiddleware.getMiddleware(5, 5), this.departureBoardsController.getDepartureBoard);
|
|
68
66
|
};
|
|
69
|
-
this.registerInfotextsRoutes = () => {
|
|
70
|
-
this.router.get("/infotexts", ...this.commonMiddleware("PIDInfotexts"),
|
|
71
|
-
// max-age 25 seconds, stale-while-revalidate 10 seconds
|
|
72
|
-
this.cacheHeaderMiddleware.getMiddleware(25, 10), this.infotextsController.getInfotexts);
|
|
73
|
-
};
|
|
74
67
|
this.commonMiddleware = (name) => [Validation_1.pagination, Validation_1.checkErrors, (0, Validation_1.paginationLimitMiddleware)(name)];
|
|
75
68
|
this.cacheHeaderMiddleware = ioc_1.OutputGatewayContainer.resolve(ioc_1.ContainerToken.CacheHeaderMiddleware);
|
|
76
69
|
this.departureBoardsController = new V2DepartureBoardsController_1.V2DepartureBoardsController();
|
|
77
|
-
this.infotextsController = new V2InfotextsController_1.V2InfotextsController();
|
|
78
70
|
this.initRoutes();
|
|
79
71
|
}
|
|
80
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V2PIDRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/routers/v2/V2PIDRouter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,kGAAiG;AACjG
|
|
1
|
+
{"version":3,"file":"V2PIDRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/routers/v2/V2PIDRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1405,11 +1405,6 @@ Worker má na starost stahování VYMI (JIS) událostí a infotextů, jejich tra
|
|
|
1405
1405
|
- zdrojové tabulky
|
|
1406
1406
|
- `ropidgtfs_precomputed_departures`, `ropidgtfs_stops`, `ropidgtfs_cis_stops`, `jis_infotexts`, `jis_infotexts_ropidgtfs_stops`, `ropid_departures_directions`, `vehiclepositions_positions`, `vehiclepositions_trips`
|
|
1407
1407
|
|
|
1408
|
-
#### _/v2/pid/infotexts_
|
|
1409
|
-
|
|
1410
|
-
- zdrojové tabulky
|
|
1411
|
-
- `ropidvymi_events`, `ropidvymi_events_stops`, `ropidvymi_events_routes`, `ropidgtfs_stops`
|
|
1412
|
-
|
|
1413
1408
|
### PID Departure Boards v3
|
|
1414
1409
|
|
|
1415
1410
|
#### _/v3/pid/transferboards_
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -1041,81 +1041,6 @@ paths:
|
|
|
1041
1041
|
"404":
|
|
1042
1042
|
description: Not found
|
|
1043
1043
|
|
|
1044
|
-
/v2/pid/infotexts:
|
|
1045
|
-
get:
|
|
1046
|
-
summary: GET Infotexts (export from the legacy VYMI system)
|
|
1047
|
-
description: ""
|
|
1048
|
-
tags:
|
|
1049
|
-
- 🚏 PID Departure Boards (v2)
|
|
1050
|
-
responses:
|
|
1051
|
-
"200":
|
|
1052
|
-
description: List of all active infotexts
|
|
1053
|
-
headers:
|
|
1054
|
-
Cache-Control:
|
|
1055
|
-
description: Cache control directive for caching proxies
|
|
1056
|
-
schema:
|
|
1057
|
-
type: string
|
|
1058
|
-
example: public, s-maxage=25, stale-while-revalidate=10
|
|
1059
|
-
content:
|
|
1060
|
-
application/json:
|
|
1061
|
-
schema:
|
|
1062
|
-
type: array
|
|
1063
|
-
items:
|
|
1064
|
-
allOf:
|
|
1065
|
-
- $ref: "#/components/schemas/PIDDepartureBoardInfotext"
|
|
1066
|
-
- type: object
|
|
1067
|
-
properties:
|
|
1068
|
-
related_stops:
|
|
1069
|
-
type: array
|
|
1070
|
-
description: ""
|
|
1071
|
-
items:
|
|
1072
|
-
type: object
|
|
1073
|
-
properties:
|
|
1074
|
-
id:
|
|
1075
|
-
type: string
|
|
1076
|
-
example: "U118S1"
|
|
1077
|
-
description: GTFS station IDs for which the infotexts apply.
|
|
1078
|
-
name:
|
|
1079
|
-
type: string
|
|
1080
|
-
example: "Flora"
|
|
1081
|
-
description: GTFS station name.
|
|
1082
|
-
platform_code:
|
|
1083
|
-
type: string
|
|
1084
|
-
nullable: true
|
|
1085
|
-
example: null
|
|
1086
|
-
description: GTFS station platform code.
|
|
1087
|
-
related_routes:
|
|
1088
|
-
type: array
|
|
1089
|
-
description: ""
|
|
1090
|
-
items:
|
|
1091
|
-
type: string
|
|
1092
|
-
example: "L152"
|
|
1093
|
-
description: ""
|
|
1094
|
-
example: ["L152", "L177"]
|
|
1095
|
-
vymi_id:
|
|
1096
|
-
type: number
|
|
1097
|
-
description: Legacy VYMI event identifier.
|
|
1098
|
-
example: 83
|
|
1099
|
-
vymi_id_dtb:
|
|
1100
|
-
type: number
|
|
1101
|
-
description: Legacy VYMI database identifier.
|
|
1102
|
-
example: 3
|
|
1103
|
-
expiration_date:
|
|
1104
|
-
type: string
|
|
1105
|
-
nullable: true
|
|
1106
|
-
example: "2021-01-07T12:48:06+01:00"
|
|
1107
|
-
last_updated:
|
|
1108
|
-
type: string
|
|
1109
|
-
example: "2021-01-07T12:48:06+01:00"
|
|
1110
|
-
last_updated_user:
|
|
1111
|
-
type: string
|
|
1112
|
-
description: Legacy ROPID VYMI user.
|
|
1113
|
-
example: "user"
|
|
1114
|
-
"401":
|
|
1115
|
-
$ref: "#/components/responses/UnauthorizedError"
|
|
1116
|
-
"404":
|
|
1117
|
-
description: Not found
|
|
1118
|
-
|
|
1119
1044
|
/v3/pid/transferboards:
|
|
1120
1045
|
get:
|
|
1121
1046
|
tags:
|
|
@@ -1407,7 +1332,7 @@ paths:
|
|
|
1407
1332
|
in: query
|
|
1408
1333
|
description: |
|
|
1409
1334
|
ASW identifier of the stop. The format is `nodeId/stopId` where stopId is not mandatory.
|
|
1410
|
-
You can use `_` instead of `/` or encode the slash sign with `%2F`,
|
|
1335
|
+
You can use `_` instead of `/` or encode the slash sign with `%2F`,
|
|
1411
1336
|
Includes departures from the given stop, plus from all stops at the given node (1330_1 -> 1330 -> 1330_1, 1330_2, ...),
|
|
1412
1337
|
plus from all stops sharing the same name. Departures from associated metro and train stations are also included (Na Knížecí -> Anděl).
|
|
1413
1338
|
Required if `cisId` is not provided. Only one of `cisId` or `aswId` can be used.
|
package/package.json
CHANGED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.V2InfotextsController = void 0;
|
|
4
|
-
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
5
|
-
const config_1 = require("@golemio/core/dist/output-gateway/config");
|
|
6
|
-
const models_1 = require("../../models");
|
|
7
|
-
class V2InfotextsController {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.getInfotexts = async (_req, res, next) => {
|
|
10
|
-
const span = (0, trace_provider_1.createChildSpan)("V2InfotextsController.getInfotexts");
|
|
11
|
-
try {
|
|
12
|
-
const preferredTimezone = config_1.config.vehiclePositions.defaultTimezone;
|
|
13
|
-
const data = await this.eventsStopsModel.GetAllWithRoutes(preferredTimezone);
|
|
14
|
-
res.status(200).send(data);
|
|
15
|
-
}
|
|
16
|
-
catch (err) {
|
|
17
|
-
next(err);
|
|
18
|
-
}
|
|
19
|
-
finally {
|
|
20
|
-
span?.end();
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
this.eventsStopsModel = new models_1.RopidVYMIEventsStopsModel();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.V2InfotextsController = V2InfotextsController;
|
|
27
|
-
//# sourceMappingURL=V2InfotextsController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"V2InfotextsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v2/V2InfotextsController.ts"],"names":[],"mappings":";;;AACA,+FAA6F;AAC7F,qEAAkE;AAClE,yCAA2D;AAE3D,MAAa,qBAAqB;IAG9B;QAIO,iBAAY,GAAmB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC5D,MAAM,IAAI,GAAG,IAAA,gCAAe,EAAC,oCAAoC,CAAC,CAAC;YAEnE,IAAI;gBACA,MAAM,iBAAiB,GAAG,eAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC;gBAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBAC7E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;oBAAS;gBACN,IAAI,EAAE,GAAG,EAAE,CAAC;aACf;QACL,CAAC,CAAC;QAfE,IAAI,CAAC,gBAAgB,GAAG,IAAI,kCAAyB,EAAE,CAAC;IAC5D,CAAC;CAeJ;AApBD,sDAoBC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SequelizeModel } from "@golemio/core/dist/output-gateway";
|
|
2
|
-
/**
|
|
3
|
-
* Custom Postgres model for Ropid VYMI Events
|
|
4
|
-
*/
|
|
5
|
-
export declare class RopidVYMIEventsModel extends SequelizeModel {
|
|
6
|
-
GetAll(options?: any): Promise<any>;
|
|
7
|
-
GetOne(id: any): Promise<any>;
|
|
8
|
-
constructor();
|
|
9
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RopidVYMIEventsModel = void 0;
|
|
4
|
-
const const_1 = require("../../../schema-definitions/const");
|
|
5
|
-
const ropid_vymi_1 = require("../../../schema-definitions/ropid-vymi");
|
|
6
|
-
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
7
|
-
/**
|
|
8
|
-
* Custom Postgres model for Ropid VYMI Events
|
|
9
|
-
*/
|
|
10
|
-
class RopidVYMIEventsModel extends output_gateway_1.SequelizeModel {
|
|
11
|
-
GetAll(options) {
|
|
12
|
-
throw new Error("Method not implemented.");
|
|
13
|
-
}
|
|
14
|
-
GetOne(id) {
|
|
15
|
-
throw new Error("Method not implemented.");
|
|
16
|
-
}
|
|
17
|
-
constructor() {
|
|
18
|
-
super(ropid_vymi_1.RopidVYMI.events.name + "Model", ropid_vymi_1.RopidVYMI.events.pgTableName, ropid_vymi_1.RopidVYMI.events.outputSequelizeAttributes, {
|
|
19
|
-
schema: const_1.PG_SCHEMA,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.RopidVYMIEventsModel = RopidVYMIEventsModel;
|
|
24
|
-
//# sourceMappingURL=RopidVYMIEventsModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RopidVYMIEventsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/RopidVYMIEventsModel.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AACvC,uEAA4C;AAC5C,sEAAmE;AAEnE;;GAEG;AACH,MAAa,oBAAqB,SAAQ,+BAAc;IACpD,MAAM,CAAC,OAAa;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,EAAO;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED;QACI,KAAK,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,sBAAS,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAS,CAAC,MAAM,CAAC,yBAAyB,EAAE;YAC7G,MAAM,EAAE,iBAAS;SACpB,CAAC,CAAC;IACP,CAAC;CACJ;AAbD,oDAaC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SequelizeModel } from "@golemio/core/dist/output-gateway";
|
|
2
|
-
/**
|
|
3
|
-
* Custom Postgres model for Ropid VYMI Events Routes
|
|
4
|
-
*/
|
|
5
|
-
export declare class RopidVYMIEventsRoutesModel extends SequelizeModel {
|
|
6
|
-
GetAll(options?: any): Promise<any>;
|
|
7
|
-
GetOne(id: any): Promise<any>;
|
|
8
|
-
constructor();
|
|
9
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RopidVYMIEventsRoutesModel = void 0;
|
|
4
|
-
const const_1 = require("../../../schema-definitions/const");
|
|
5
|
-
const ropid_vymi_1 = require("../../../schema-definitions/ropid-vymi");
|
|
6
|
-
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
7
|
-
/**
|
|
8
|
-
* Custom Postgres model for Ropid VYMI Events Routes
|
|
9
|
-
*/
|
|
10
|
-
class RopidVYMIEventsRoutesModel extends output_gateway_1.SequelizeModel {
|
|
11
|
-
GetAll(options) {
|
|
12
|
-
throw new Error("Method not implemented.");
|
|
13
|
-
}
|
|
14
|
-
GetOne(id) {
|
|
15
|
-
throw new Error("Method not implemented.");
|
|
16
|
-
}
|
|
17
|
-
constructor() {
|
|
18
|
-
super(ropid_vymi_1.RopidVYMI.eventsRoutes.name + "Model", ropid_vymi_1.RopidVYMI.eventsRoutes.pgTableName, ropid_vymi_1.RopidVYMI.eventsRoutes.outputSequelizeAttributes, { schema: const_1.PG_SCHEMA });
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.RopidVYMIEventsRoutesModel = RopidVYMIEventsRoutesModel;
|
|
22
|
-
//# sourceMappingURL=RopidVYMIEventsRoutesModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RopidVYMIEventsRoutesModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/RopidVYMIEventsRoutesModel.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AACvC,uEAA4C;AAC5C,sEAAmE;AAEnE;;GAEG;AACH,MAAa,0BAA2B,SAAQ,+BAAc;IAC1D,MAAM,CAAC,OAAa;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,EAAO;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED;QACI,KAAK,CACD,sBAAS,CAAC,YAAY,CAAC,IAAI,GAAG,OAAO,EACrC,sBAAS,CAAC,YAAY,CAAC,WAAW,EAClC,sBAAS,CAAC,YAAY,CAAC,yBAAyB,EAChD,EAAE,MAAM,EAAE,iBAAS,EAAE,CACxB,CAAC;IACN,CAAC;CACJ;AAhBD,gEAgBC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { SequelizeModel } from "@golemio/core/dist/output-gateway";
|
|
2
|
-
import { InfotextDisplayType } from "../domain/InfotextDisplayTypeEnum";
|
|
3
|
-
interface IInfotextsStopsWithEventModel {
|
|
4
|
-
valid_from: Date | null;
|
|
5
|
-
valid_to: Date | null;
|
|
6
|
-
text: string;
|
|
7
|
-
stop_type: number;
|
|
8
|
-
related_stops: string[];
|
|
9
|
-
}
|
|
10
|
-
interface IInfotextsStopsWithRoutesModel extends IInfotextsStopsWithEventModel {
|
|
11
|
-
vymi_id: number;
|
|
12
|
-
vymi_id_dtb: number;
|
|
13
|
-
expiration_date: Date | null;
|
|
14
|
-
last_updated: Date;
|
|
15
|
-
last_updated_user: string;
|
|
16
|
-
related_routes: string[];
|
|
17
|
-
}
|
|
18
|
-
interface IInfotextsStopsWithRoutesOutputModel extends Omit<IInfotextsStopsWithRoutesModel, "stop_type" | "expiration_date" | "last_updated" | "valid_from" | "valid_to"> {
|
|
19
|
-
display_type: InfotextDisplayType;
|
|
20
|
-
text_en: null;
|
|
21
|
-
expiration_date: string | null;
|
|
22
|
-
last_updated: string;
|
|
23
|
-
valid_from: string | null;
|
|
24
|
-
valid_to: string | null;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Custom Postgres model for Ropid VYMI Events
|
|
28
|
-
*/
|
|
29
|
-
export declare class RopidVYMIEventsStopsModel extends SequelizeModel {
|
|
30
|
-
private dbConnector;
|
|
31
|
-
private readonly eventsModel;
|
|
32
|
-
private readonly eventsRoutesModel;
|
|
33
|
-
private readonly gtfsStopsModel;
|
|
34
|
-
GetAll(options?: any): Promise<any>;
|
|
35
|
-
GetOne(id: any): Promise<any>;
|
|
36
|
-
constructor();
|
|
37
|
-
/**
|
|
38
|
-
* Retrieve all infotexts with routes
|
|
39
|
-
*/
|
|
40
|
-
GetAllWithRoutes: (timezone: string) => Promise<IInfotextsStopsWithRoutesOutputModel[]>;
|
|
41
|
-
private mapDataWithRoutes;
|
|
42
|
-
private mapStopTypeToDisplayType;
|
|
43
|
-
}
|
|
44
|
-
export {};
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RopidVYMIEventsStopsModel = void 0;
|
|
7
|
-
const models_1 = require("./");
|
|
8
|
-
const GTFSStopModel_1 = require("../../ropid-gtfs/models/GTFSStopModel");
|
|
9
|
-
const shared_1 = require("../../shared");
|
|
10
|
-
const const_1 = require("../../../schema-definitions/const");
|
|
11
|
-
const ropid_gtfs_1 = require("../../../schema-definitions/ropid-gtfs");
|
|
12
|
-
const ropid_vymi_1 = require("../../../schema-definitions/ropid-vymi");
|
|
13
|
-
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
14
|
-
const ioc_1 = require("@golemio/core/dist/output-gateway/ioc/");
|
|
15
|
-
const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
|
|
16
|
-
const InfotextDisplayTypeEnum_1 = require("../domain/InfotextDisplayTypeEnum");
|
|
17
|
-
/**
|
|
18
|
-
* Custom Postgres model for Ropid VYMI Events
|
|
19
|
-
*/
|
|
20
|
-
class RopidVYMIEventsStopsModel extends output_gateway_1.SequelizeModel {
|
|
21
|
-
GetAll(options) {
|
|
22
|
-
throw new Error("Method not implemented.");
|
|
23
|
-
}
|
|
24
|
-
GetOne(id) {
|
|
25
|
-
throw new Error("Method not implemented.");
|
|
26
|
-
}
|
|
27
|
-
constructor() {
|
|
28
|
-
super(ropid_vymi_1.RopidVYMI.eventsStops.name + "Model", ropid_vymi_1.RopidVYMI.eventsStops.pgTableName, ropid_vymi_1.RopidVYMI.eventsStops.outputSequelizeAttributes, { schema: const_1.PG_SCHEMA });
|
|
29
|
-
/**
|
|
30
|
-
* Retrieve all infotexts with routes
|
|
31
|
-
*/
|
|
32
|
-
this.GetAllWithRoutes = async (timezone) => {
|
|
33
|
-
const currentDateISO = new Date().toISOString();
|
|
34
|
-
const data = await this.sequelizeModel.findAll({
|
|
35
|
-
attributes: [
|
|
36
|
-
"valid_from",
|
|
37
|
-
"valid_to",
|
|
38
|
-
"text",
|
|
39
|
-
"stop_type",
|
|
40
|
-
[sequelize_1.default.literal("vymi_event.vymi_id"), "vymi_id"],
|
|
41
|
-
[sequelize_1.default.literal("vymi_event.vymi_id_dtb"), "vymi_id_dtb"],
|
|
42
|
-
[sequelize_1.default.literal("vymi_event.expiration_date"), "expiration_date"],
|
|
43
|
-
[sequelize_1.default.literal("vymi_event.ropid_updated_at"), "last_updated"],
|
|
44
|
-
[sequelize_1.default.literal("vymi_event.ropid_updated_by"), "last_updated_user"],
|
|
45
|
-
[
|
|
46
|
-
sequelize_1.default.literal(
|
|
47
|
-
// eslint-disable-next-line max-len
|
|
48
|
-
"ARRAY_AGG(DISTINCT jsonb_build_object('id', gtfs_stop_id, 'name', gtfs_stop.stop_name, 'platform_code', gtfs_stop.platform_code))"),
|
|
49
|
-
"related_stops",
|
|
50
|
-
],
|
|
51
|
-
[sequelize_1.default.literal("ARRAY_REMOVE(ARRAY_AGG(DISTINCT vymi_route.gtfs_route_id), NULL)"), "related_routes"],
|
|
52
|
-
],
|
|
53
|
-
include: [
|
|
54
|
-
{
|
|
55
|
-
attributes: [],
|
|
56
|
-
as: "vymi_event",
|
|
57
|
-
model: this.dbConnector.getConnection().models[ropid_vymi_1.RopidVYMI.events.pgTableName],
|
|
58
|
-
where: {
|
|
59
|
-
time_from: {
|
|
60
|
-
[sequelize_1.default.Op.lte]: currentDateISO,
|
|
61
|
-
},
|
|
62
|
-
expiration_date: {
|
|
63
|
-
[sequelize_1.default.Op.or]: [null, { [sequelize_1.default.Op.gte]: currentDateISO }],
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
attributes: [],
|
|
69
|
-
as: "vymi_route",
|
|
70
|
-
model: this.dbConnector.getConnection().models[ropid_vymi_1.RopidVYMI.eventsRoutes.pgTableName],
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
attributes: [],
|
|
74
|
-
as: "gtfs_stop",
|
|
75
|
-
model: this.dbConnector.getConnection().models[ropid_gtfs_1.RopidGTFS.stops.pgTableName],
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
where: {
|
|
79
|
-
text: {
|
|
80
|
-
[sequelize_1.default.Op.and]: [{ [sequelize_1.default.Op.ne]: null }, { [sequelize_1.default.Op.ne]: "" }],
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
group: [
|
|
84
|
-
"ropidvymi_events_stops.valid_from",
|
|
85
|
-
"ropidvymi_events_stops.valid_to",
|
|
86
|
-
"ropidvymi_events_stops.text",
|
|
87
|
-
"stop_type",
|
|
88
|
-
"vymi_event.vymi_id",
|
|
89
|
-
],
|
|
90
|
-
raw: true,
|
|
91
|
-
});
|
|
92
|
-
return this.mapDataWithRoutes(data, timezone);
|
|
93
|
-
};
|
|
94
|
-
this.mapDataWithRoutes = (items, timezone) => {
|
|
95
|
-
return items.map((item) => {
|
|
96
|
-
const { vymi_id, vymi_id_dtb, stop_type: stopType, expiration_date, last_updated, valid_from, valid_to, last_updated_user, ...infotextsStopModel } = item;
|
|
97
|
-
return {
|
|
98
|
-
vymi_id: vymi_id,
|
|
99
|
-
vymi_id_dtb: vymi_id_dtb,
|
|
100
|
-
display_type: this.mapStopTypeToDisplayType(stopType),
|
|
101
|
-
text_en: null,
|
|
102
|
-
...infotextsStopModel,
|
|
103
|
-
expiration_date: shared_1.RopidRouterUtils.formatTimestamp(expiration_date, timezone),
|
|
104
|
-
last_updated: shared_1.RopidRouterUtils.formatTimestamp(last_updated, timezone),
|
|
105
|
-
last_updated_user: last_updated_user,
|
|
106
|
-
valid_from: shared_1.RopidRouterUtils.formatTimestamp(valid_from, timezone),
|
|
107
|
-
valid_to: shared_1.RopidRouterUtils.formatTimestamp(valid_to, timezone),
|
|
108
|
-
};
|
|
109
|
-
});
|
|
110
|
-
};
|
|
111
|
-
this.mapStopTypeToDisplayType = (stopType) => {
|
|
112
|
-
// stop type 1 and 9 leads to general infotext type
|
|
113
|
-
return stopType === 1 || stopType === 9 ? InfotextDisplayTypeEnum_1.InfotextDisplayType.General : InfotextDisplayTypeEnum_1.InfotextDisplayType.Inline;
|
|
114
|
-
};
|
|
115
|
-
this.dbConnector = ioc_1.OutputGatewayContainer.resolve(ioc_1.ContainerToken.PostgresDatabase);
|
|
116
|
-
this.eventsModel = new models_1.RopidVYMIEventsModel();
|
|
117
|
-
this.eventsRoutesModel = new models_1.RopidVYMIEventsRoutesModel();
|
|
118
|
-
this.gtfsStopsModel = new GTFSStopModel_1.GTFSStopModel();
|
|
119
|
-
this.sequelizeModel.belongsTo(this.eventsModel.sequelizeModel, {
|
|
120
|
-
as: "vymi_event",
|
|
121
|
-
targetKey: "vymi_id",
|
|
122
|
-
foreignKey: "event_id",
|
|
123
|
-
});
|
|
124
|
-
this.sequelizeModel.hasMany(this.eventsRoutesModel.sequelizeModel, {
|
|
125
|
-
as: "vymi_route",
|
|
126
|
-
foreignKey: "event_id",
|
|
127
|
-
sourceKey: "event_id",
|
|
128
|
-
});
|
|
129
|
-
this.sequelizeModel.hasOne(this.gtfsStopsModel.sequelizeModel, {
|
|
130
|
-
as: "gtfs_stop",
|
|
131
|
-
foreignKey: "stop_id",
|
|
132
|
-
sourceKey: "gtfs_stop_id",
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
exports.RopidVYMIEventsStopsModel = RopidVYMIEventsStopsModel;
|
|
137
|
-
//# sourceMappingURL=RopidVYMIEventsStopsModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RopidVYMIEventsStopsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/RopidVYMIEventsStopsModel.ts"],"names":[],"mappings":"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"}
|