@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.
Files changed (24) hide show
  1. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.d.ts +2 -1
  2. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js +24 -5
  3. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js.map +1 -1
  4. package/dist/output-gateway/pid/models/index.d.ts +0 -3
  5. package/dist/output-gateway/pid/models/index.js +0 -3
  6. package/dist/output-gateway/pid/models/index.js.map +1 -1
  7. package/dist/output-gateway/pid/routers/v2/V2PIDRouter.d.ts +0 -2
  8. package/dist/output-gateway/pid/routers/v2/V2PIDRouter.js +0 -8
  9. package/dist/output-gateway/pid/routers/v2/V2PIDRouter.js.map +1 -1
  10. package/docs/implementation_documentation.md +0 -5
  11. package/docs/openapi-output.yaml +1 -76
  12. package/package.json +1 -1
  13. package/dist/output-gateway/pid/controllers/v2/V2InfotextsController.d.ts +0 -7
  14. package/dist/output-gateway/pid/controllers/v2/V2InfotextsController.js +0 -27
  15. package/dist/output-gateway/pid/controllers/v2/V2InfotextsController.js.map +0 -1
  16. package/dist/output-gateway/pid/models/RopidVYMIEventsModel.d.ts +0 -9
  17. package/dist/output-gateway/pid/models/RopidVYMIEventsModel.js +0 -24
  18. package/dist/output-gateway/pid/models/RopidVYMIEventsModel.js.map +0 -1
  19. package/dist/output-gateway/pid/models/RopidVYMIEventsRoutesModel.d.ts +0 -9
  20. package/dist/output-gateway/pid/models/RopidVYMIEventsRoutesModel.js +0 -22
  21. package/dist/output-gateway/pid/models/RopidVYMIEventsRoutesModel.js.map +0 -1
  22. package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.d.ts +0 -44
  23. package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.js +0 -137
  24. 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 events = await this.datasource.getAll();
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
- this.datasource = new integration_engine_1.DataSource(ropid_vymi_1.RopidVYMI.events.name + "DataSource", new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
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: 60,
43
- url: `${config_1.config.datasources.RopidVYMIApiUrl}?level=${RopidVYMIApiOutputLevel_1.RopidVYMIApiOutputLevel.Standard}`,
44
- responseType: "json",
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;IAYnC;QAeO,iBAAY,GAAG,KAAK,IAAgC,EAAE;YACzD,IAAI;gBACA,MAAM,MAAM,GAAsB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEzD,OAAO;oBACH,IAAI,EAAE,MAAM;oBACZ,MAAM;iBACT,CAAC;aACL;YAAC,OAAO,GAAQ,EAAE;gBACf,wBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,0BAA0B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBAClF;aACJ;QACL,CAAC,CAAC;QAEK,iBAAY,GAAG,CAAC,IAAgB,EAAU,EAAE;YAC/C,OAAO,gBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC,CAAC;QAnCE,IAAI,CAAC,UAAU,GAAG,IAAI,+BAAU,CAC5B,sBAAS,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,EACpC,IAAI,qDAAyB,CAAC;YAC1B,OAAO,EAAE,eAAM,CAAC,WAAW,CAAC,mBAAmB;YAC/C,MAAM,EAAE,KAAK;YACb,gBAAgB,EAAE,EAAE;YACpB,GAAG,EAAE,GAAG,eAAM,CAAC,WAAW,CAAC,eAAe,UAAU,iDAAuB,CAAC,QAAQ,EAAE;YACtF,YAAY,EAAE,MAAM;SACvB,CAAC,EACF,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,EAClE,IAAI,uCAAmB,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,EAAE,sBAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,CACvG,CAAC;IACN,CAAC;;;AArBa,8BAAW,GAAG,GAAG,EAAE;IAC7B,IAAI,CAAC,EAAI,CAAC,SAAS,EAAE;QACjB,EAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;KAC7C;IAED,OAAO,EAAI,CAAC,SAAS,CAAC;AAC1B,CAAC,AANwB,CAMvB;kBAVe,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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"}
@@ -1,5 +1,2 @@
1
1
  export * from "./PIDDepartureBoardsModel";
2
- export * from "./RopidVYMIEventsModel";
3
- export * from "./RopidVYMIEventsRoutesModel";
4
- export * from "./RopidVYMIEventsStopsModel";
5
2
  export * from "./RopidDeparturesDirectionsModel";
@@ -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,yDAAuC;AACvC,+DAA6C;AAC7C,8DAA4C;AAC5C,mEAAiD"}
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":"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"}
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_
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "4.1.4-dev.2065096627",
3
+ "version": "4.1.4-dev.2065400061",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,7 +0,0 @@
1
- /// <reference types="express" />
2
- import { RequestHandler } from "@golemio/core/dist/shared/express";
3
- export declare class V2InfotextsController {
4
- private readonly eventsStopsModel;
5
- constructor();
6
- getInfotexts: RequestHandler;
7
- }
@@ -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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"}