@golemio/pid 4.1.4-dev.2059844632 → 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 (61) hide show
  1. package/dist/helpers/GtfsStopParser.d.ts +6 -6
  2. package/dist/helpers/GtfsStopParser.js +16 -25
  3. package/dist/helpers/GtfsStopParser.js.map +1 -1
  4. package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.d.ts +1 -3
  5. package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js +4 -7
  6. package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js.map +1 -1
  7. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +0 -2
  8. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  9. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +0 -1
  10. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +0 -1
  11. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  12. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.d.ts +1 -3
  13. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.js +3 -9
  14. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.js.map +1 -1
  15. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.d.ts +2 -1
  16. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js +24 -5
  17. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js.map +1 -1
  18. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.d.ts +3 -4
  19. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js +36 -36
  20. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js.map +1 -1
  21. package/dist/output-gateway/pid/helpers/DepartureBoardMapper.d.ts +2 -0
  22. package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js +3 -0
  23. package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js.map +1 -1
  24. package/dist/output-gateway/pid/helpers/TransferBoardFilter.d.ts +1 -1
  25. package/dist/output-gateway/pid/helpers/TransferBoardFilter.js +15 -10
  26. package/dist/output-gateway/pid/helpers/TransferBoardFilter.js.map +1 -1
  27. package/dist/output-gateway/pid/index.d.ts +6 -0
  28. package/dist/output-gateway/pid/index.js.map +1 -1
  29. package/dist/output-gateway/pid/ioc/Di.js +0 -2
  30. package/dist/output-gateway/pid/ioc/Di.js.map +1 -1
  31. package/dist/output-gateway/pid/ioc/OgPidToken.d.ts +0 -1
  32. package/dist/output-gateway/pid/ioc/OgPidToken.js +0 -1
  33. package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
  34. package/dist/output-gateway/pid/models/index.d.ts +0 -3
  35. package/dist/output-gateway/pid/models/index.js +0 -3
  36. package/dist/output-gateway/pid/models/index.js.map +1 -1
  37. package/dist/output-gateway/pid/routers/v2/V2PIDRouter.d.ts +0 -2
  38. package/dist/output-gateway/pid/routers/v2/V2PIDRouter.js +0 -8
  39. package/dist/output-gateway/pid/routers/v2/V2PIDRouter.js.map +1 -1
  40. package/dist/output-gateway/pid/service/facade/StopFacade.d.ts +0 -1
  41. package/dist/output-gateway/pid/service/facade/StopFacade.js +2 -3
  42. package/dist/output-gateway/pid/service/facade/StopFacade.js.map +1 -1
  43. package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.d.ts +0 -1
  44. package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.js +2 -4
  45. package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.js.map +1 -1
  46. package/dist/schema-definitions/ropid-gtfs/interfaces/IStopDto.d.ts +2 -1
  47. package/docs/implementation_documentation.md +0 -5
  48. package/docs/openapi-output.yaml +1 -76
  49. package/package.json +1 -1
  50. package/dist/output-gateway/pid/controllers/v2/V2InfotextsController.d.ts +0 -7
  51. package/dist/output-gateway/pid/controllers/v2/V2InfotextsController.js +0 -27
  52. package/dist/output-gateway/pid/controllers/v2/V2InfotextsController.js.map +0 -1
  53. package/dist/output-gateway/pid/models/RopidVYMIEventsModel.d.ts +0 -9
  54. package/dist/output-gateway/pid/models/RopidVYMIEventsModel.js +0 -24
  55. package/dist/output-gateway/pid/models/RopidVYMIEventsModel.js.map +0 -1
  56. package/dist/output-gateway/pid/models/RopidVYMIEventsRoutesModel.d.ts +0 -9
  57. package/dist/output-gateway/pid/models/RopidVYMIEventsRoutesModel.js +0 -22
  58. package/dist/output-gateway/pid/models/RopidVYMIEventsRoutesModel.js.map +0 -1
  59. package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.d.ts +0 -44
  60. package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.js +0 -137
  61. package/dist/output-gateway/pid/models/RopidVYMIEventsStopsModel.js.map +0 -1
@@ -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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"}