@golemio/pid 5.9.2-rc.2487640217 → 5.9.2-rc.2501336371

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 (44) hide show
  1. package/db/migrations/postgresql/20260428091015-jis-infotexts-presets.js +49 -0
  2. package/db/migrations/postgresql/sqls/20260428091015-jis-infotexts-presets-down.sql +2 -0
  3. package/db/migrations/postgresql/sqls/20260428091015-jis-infotexts-presets-up.sql +8 -0
  4. package/dist/integration-engine/jis/ioc/Di.js +2 -0
  5. package/dist/integration-engine/jis/ioc/Di.js.map +1 -1
  6. package/dist/integration-engine/jis/ioc/JISContainerToken.d.ts +1 -0
  7. package/dist/integration-engine/jis/ioc/JISContainerToken.js +1 -0
  8. package/dist/integration-engine/jis/ioc/JISContainerToken.js.map +1 -1
  9. package/dist/integration-engine/jis/repositories/JISInfotextsPresetsRepository.d.ts +23 -0
  10. package/dist/integration-engine/jis/repositories/JISInfotextsPresetsRepository.js +79 -0
  11. package/dist/integration-engine/jis/repositories/JISInfotextsPresetsRepository.js.map +1 -0
  12. package/dist/integration-engine/jis/services/JISInfotextsDataService.d.ts +5 -3
  13. package/dist/integration-engine/jis/services/JISInfotextsDataService.js +15 -7
  14. package/dist/integration-engine/jis/services/JISInfotextsDataService.js.map +1 -1
  15. package/dist/integration-engine/jis/transformations/JISInfotextsTransformation.d.ts +2 -1
  16. package/dist/integration-engine/jis/transformations/JISInfotextsTransformation.js +5 -0
  17. package/dist/integration-engine/jis/transformations/JISInfotextsTransformation.js.map +1 -1
  18. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.js +8 -4
  19. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.js.map +1 -1
  20. package/dist/output-gateway/pid/controllers/v2/V2DepartureBoardsController.d.ts +4 -0
  21. package/dist/output-gateway/pid/controllers/v2/V2DepartureBoardsController.js +69 -37
  22. package/dist/output-gateway/pid/controllers/v2/V2DepartureBoardsController.js.map +1 -1
  23. package/dist/output-gateway/pid/helpers/MpvnetTransportTypeMapper.d.ts +8 -0
  24. package/dist/output-gateway/pid/helpers/MpvnetTransportTypeMapper.js +45 -0
  25. package/dist/output-gateway/pid/helpers/MpvnetTransportTypeMapper.js.map +1 -0
  26. package/dist/output-gateway/pid/helpers/MpvnetXmlSerializer.d.ts +16 -0
  27. package/dist/output-gateway/pid/helpers/MpvnetXmlSerializer.js +137 -0
  28. package/dist/output-gateway/pid/helpers/MpvnetXmlSerializer.js.map +1 -0
  29. package/dist/output-gateway/pid/routers/v2/V2PIDRouter.js +3 -0
  30. package/dist/output-gateway/pid/routers/v2/V2PIDRouter.js.map +1 -1
  31. package/dist/schema-definitions/jis/datasources/JISInfotextsJsonSchema.js +12 -0
  32. package/dist/schema-definitions/jis/datasources/JISInfotextsJsonSchema.js.map +1 -1
  33. package/dist/schema-definitions/jis/datasources/interfaces/IJISInfotext.d.ts +4 -0
  34. package/dist/schema-definitions/jis/models/JISInfotextsPresetsModel.d.ts +12 -0
  35. package/dist/schema-definitions/jis/models/JISInfotextsPresetsModel.js +41 -0
  36. package/dist/schema-definitions/jis/models/JISInfotextsPresetsModel.js.map +1 -0
  37. package/dist/schema-definitions/jis/models/interfaces/IJISInfotextsPresets.d.ts +4 -0
  38. package/dist/schema-definitions/jis/models/interfaces/IJISInfotextsPresets.js +3 -0
  39. package/dist/schema-definitions/jis/models/interfaces/IJISInfotextsPresets.js.map +1 -0
  40. package/dist/schema-definitions/jis/models/interfaces/index.d.ts +1 -0
  41. package/dist/schema-definitions/jis/models/interfaces/index.js +1 -0
  42. package/dist/schema-definitions/jis/models/interfaces/index.js.map +1 -1
  43. package/docs/openapi-output.yaml +256 -137
  44. package/package.json +3 -10
@@ -0,0 +1,49 @@
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
+ exports.setup = function(options, seedLink) {
11
+ dbm = options.dbmigrate;
12
+ type = dbm.dataType;
13
+ seed = seedLink;
14
+ Promise = options.Promise;
15
+ };
16
+
17
+ exports.up = function(db) {
18
+ var filePath = path.join(__dirname, 'sqls', '20260428091015-jis-infotexts-presets-up.sql');
19
+ return new Promise( function( resolve, reject ) {
20
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
21
+ if (err) return reject(err);
22
+ console.log('received data: ' + data);
23
+
24
+ resolve(data);
25
+ });
26
+ })
27
+ .then(function(data) {
28
+ return db.runSql(data);
29
+ });
30
+ };
31
+
32
+ exports.down = function(db) {
33
+ var filePath = path.join(__dirname, 'sqls', '20260428091015-jis-infotexts-presets-down.sql');
34
+ return new Promise( function( resolve, reject ) {
35
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
36
+ if (err) return reject(err);
37
+ console.log('received data: ' + data);
38
+
39
+ resolve(data);
40
+ });
41
+ })
42
+ .then(function(data) {
43
+ return db.runSql(data);
44
+ });
45
+ };
46
+
47
+ exports._meta = {
48
+ "version": 1
49
+ };
@@ -0,0 +1,2 @@
1
+ drop index if exists jis_infotexts_presets_route_name_idx;
2
+ drop table if exists jis_infotexts_presets;
@@ -0,0 +1,8 @@
1
+ create table jis_infotexts_presets (
2
+ infotext_id uuid not null,
3
+ route_name varchar(100) not null,
4
+ created_at timestamptz not null,
5
+ updated_at timestamptz not null,
6
+ constraint jis_infotexts_presets_pk primary key (infotext_id, route_name)
7
+ );
8
+ create index jis_infotexts_presets_route_name_idx on jis_infotexts_presets (route_name);
@@ -8,6 +8,7 @@ const JISInfotextsDataSourceFactory_1 = require("../datasources/JISInfotextsData
8
8
  const JISEventsRepository_1 = require("../repositories/JISEventsRepository");
9
9
  const JISEventsRopidGTFSRoutesRepository_1 = require("../repositories/JISEventsRopidGTFSRoutesRepository");
10
10
  const JISInfotextsRedisRepository_1 = require("../repositories/JISInfotextsRedisRepository");
11
+ const JISInfotextsPresetsRepository_1 = require("../repositories/JISInfotextsPresetsRepository");
11
12
  const JISInfotextsRepository_1 = require("../repositories/JISInfotextsRepository");
12
13
  const JISInfotextsRopidGTFSStopsRepository_1 = require("../repositories/JISInfotextsRopidGTFSStopsRepository");
13
14
  const JISMetadataRepository_1 = require("../repositories/JISMetadataRepository");
@@ -42,6 +43,7 @@ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsRe
42
43
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsRopidGTFSRoutesRepository, JISEventsRopidGTFSRoutesRepository_1.JISEventsRopidGTFSRoutesRepository);
43
44
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsRepository, JISInfotextsRepository_1.JISInfotextsRepository);
44
45
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsRopidGTFSStopsRepository, JISInfotextsRopidGTFSStopsRepository_1.JISInfotextsRopidGTFSStopsRepository);
46
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsPresetsRepository, JISInfotextsPresetsRepository_1.JISInfotextsPresetsRepository);
45
47
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISMetadataRepository, JISMetadataRepository_1.JISMetadataRepository);
46
48
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.RopidGTFSStopsRepository, RopidGTFSStopsModel_1.RopidGTFSStopsModel);
47
49
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.RopidGTFSRoutesRepository, RopidGTFSRoutesRepository_1.RopidGTFSRoutesRepository);
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/Di.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/Di.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ declare const JISContainerToken: {
6
6
  JISEventsRopidGTFSRoutesRepository: symbol;
7
7
  JISInfotextsRepository: symbol;
8
8
  JISInfotextsRopidGTFSStopsRepository: symbol;
9
+ JISInfotextsPresetsRepository: symbol;
9
10
  JISMetadataRepository: symbol;
10
11
  RopidGTFSStopsRepository: symbol;
11
12
  RopidGTFSRoutesRepository: symbol;
@@ -12,6 +12,7 @@ const JISContainerToken = {
12
12
  JISEventsRopidGTFSRoutesRepository: Symbol("JISEventsRopidGTFSRoutesRepository"),
13
13
  JISInfotextsRepository: Symbol("JISInfotextsRepository"),
14
14
  JISInfotextsRopidGTFSStopsRepository: Symbol("JISInfotextsRopidGTFSStopsRepository"),
15
+ JISInfotextsPresetsRepository: Symbol("JISInfotextsPresetsRepository"),
15
16
  JISMetadataRepository: Symbol("JISMetadataRepository"),
16
17
  RopidGTFSStopsRepository: Symbol("RopidGTFSStopsRepository"),
17
18
  RopidGTFSRoutesRepository: Symbol("RopidGTFSRoutesRepository"),
@@ -1 +1 @@
1
- {"version":3,"file":"JISContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/JISContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,iBAAiB,GAAG;IACtB,kBAAkB;IAClB,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,wBAAwB;IACxB,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,kBAAkB;IAClB,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,oCAAoC,EAAE,MAAM,CAAC,sCAAsC,CAAC;IACpF,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,cAAc;IACd,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,qBAAqB;IACrB,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,WAAW;IACX,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,4BAA4B,EAAE,MAAM,CAAC,8BAA8B,CAAC;IACpE,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;CAC3D,CAAC;AAEO,8CAAiB"}
1
+ {"version":3,"file":"JISContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/JISContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,iBAAiB,GAAG;IACtB,kBAAkB;IAClB,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,wBAAwB;IACxB,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,kBAAkB;IAClB,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,oCAAoC,EAAE,MAAM,CAAC,sCAAsC,CAAC;IACpF,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,cAAc;IACd,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,qBAAqB;IACrB,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,WAAW;IACX,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,4BAA4B,EAAE,MAAM,CAAC,8BAA8B,CAAC;IACpE,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;CAC3D,CAAC;AAEO,8CAAiB"}
@@ -0,0 +1,23 @@
1
+ import { JISInfotextsPresetsModel } from "../../../schema-definitions/jis/models/JISInfotextsPresetsModel";
2
+ import { IJISInfotextsPresets } from "../../../schema-definitions/jis/models/interfaces";
3
+ import { ILogger } from "@golemio/core/dist/helpers";
4
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
5
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
6
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
7
+ import { ModelStatic, Transaction } from "@golemio/core/dist/shared/sequelize";
8
+ type RepositoryOptions = {
9
+ transaction?: Transaction;
10
+ };
11
+ export declare class JISInfotextsPresetsRepository extends AbstractValidatableRepository {
12
+ private logger;
13
+ validator: JSONSchemaValidator;
14
+ schema: string;
15
+ tableName: string;
16
+ private sequelizeModel;
17
+ constructor(connector: IDatabaseConnector, logger: ILogger);
18
+ upsertAll(data: IJISInfotextsPresets[], options?: RepositoryOptions): ReturnType<ModelStatic<JISInfotextsPresetsModel>["bulkCreate"]>;
19
+ deleteAllLastUpdatedBefore(dateTime: Date, options?: RepositoryOptions): Promise<number>;
20
+ deleteAll(options?: RepositoryOptions): Promise<number>;
21
+ private getUpdateAttributes;
22
+ }
23
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.JISInfotextsPresetsRepository = void 0;
16
+ const const_1 = require("../../../schema-definitions/const");
17
+ const JISInfotextsPresetsModel_1 = require("../../../schema-definitions/jis/models/JISInfotextsPresetsModel");
18
+ const AbstractValidatableRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository");
19
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
20
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
22
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
23
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
24
+ const RepositoryUtils_1 = require("../../shared/RepositoryUtils");
25
+ let JISInfotextsPresetsRepository = class JISInfotextsPresetsRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
26
+ constructor(connector, logger) {
27
+ super(connector, logger);
28
+ this.logger = logger;
29
+ this.schema = const_1.PG_SCHEMA;
30
+ this.tableName = JISInfotextsPresetsModel_1.JISInfotextsPresetsModel.tableName;
31
+ this.validator = new golemio_validator_1.JSONSchemaValidator("JISInfotextsPresetsRepository", JISInfotextsPresetsModel_1.JISInfotextsPresetsModel.jsonSchema);
32
+ this.sequelizeModel = connector
33
+ .getConnection()
34
+ .define(this.tableName, JISInfotextsPresetsModel_1.JISInfotextsPresetsModel.attributeModel, { schema: this.schema });
35
+ }
36
+ async upsertAll(data, options) {
37
+ try {
38
+ return await this.sequelizeModel.bulkCreate(data, {
39
+ updateOnDuplicate: this.getUpdateAttributes(),
40
+ transaction: options?.transaction,
41
+ });
42
+ }
43
+ catch (err) {
44
+ RepositoryUtils_1.RepositoryUtils.mapSequelizeError(err, this.constructor.name, "upsertAll");
45
+ }
46
+ }
47
+ async deleteAllLastUpdatedBefore(dateTime, options) {
48
+ try {
49
+ return await this.sequelizeModel.destroy({
50
+ where: {
51
+ updated_at: { [sequelize_1.Op.lt]: dateTime },
52
+ },
53
+ transaction: options?.transaction,
54
+ });
55
+ }
56
+ catch (err) {
57
+ throw new golemio_errors_1.GeneralError("Error in deleteAllLastUpdatedBefore", this.constructor.name, err);
58
+ }
59
+ }
60
+ async deleteAll(options) {
61
+ try {
62
+ return await this.sequelizeModel.destroy({ where: {}, transaction: options?.transaction });
63
+ }
64
+ catch (err) {
65
+ throw new golemio_errors_1.GeneralError("Error in deleteAll", this.constructor.name, err);
66
+ }
67
+ }
68
+ getUpdateAttributes() {
69
+ return Object.keys(JISInfotextsPresetsModel_1.JISInfotextsPresetsModel.attributeModel).filter((attribute) => !["created_at"].includes(attribute));
70
+ }
71
+ };
72
+ exports.JISInfotextsPresetsRepository = JISInfotextsPresetsRepository;
73
+ exports.JISInfotextsPresetsRepository = JISInfotextsPresetsRepository = __decorate([
74
+ (0, tsyringe_1.injectable)(),
75
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
76
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
77
+ __metadata("design:paramtypes", [Object, Object])
78
+ ], JISInfotextsPresetsRepository);
79
+ //# sourceMappingURL=JISInfotextsPresetsRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JISInfotextsPresetsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/JISInfotextsPresetsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAAuC;AACvC,8GAAoF;AAIpF,8IAA2I;AAC3I,wEAAqE;AACrE,6EAAwE;AACxE,mFAAkF;AAClF,mEAAmF;AACnF,iEAAwE;AACxE,kEAA6D;AAOtD,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,6DAA6B;IAO5E,YACyC,SAA6B,EACxC,MAAuB;QAEjD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAFS,WAAM,GAAN,MAAM,CAAS;QAP9C,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,mDAAwB,CAAC,SAAS,CAAC;QASlD,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CAAC,+BAA+B,EAAE,mDAAwB,CAAC,UAAU,CAAC,CAAC;QAC/G,IAAI,CAAC,cAAc,GAAG,SAAS;aAC1B,aAAa,EAAE;aACf,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,mDAAwB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClG,CAAC;IAEM,KAAK,CAAC,SAAS,CAClB,IAA4B,EAC5B,OAA2B;QAE3B,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE;gBAC9C,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,EAAS;gBACpD,WAAW,EAAE,OAAO,EAAE,WAAW;aACpC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,iCAAe,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,0BAA0B,CAAC,QAAc,EAAE,OAA2B;QAC/E,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACrC,KAAK,EAAE;oBACH,UAAU,EAAE,EAAE,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE;iBACpC;gBACD,WAAW,EAAE,OAAO,EAAE,WAAW;aACpC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,6BAAY,CAAC,qCAAqC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9F,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,OAA2B;QAC9C,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,6BAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IAEO,mBAAmB;QACvB,OAAO,MAAM,CAAC,IAAI,CAAC,mDAAwB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3H,CAAC;CACJ,CAAA;AAxDY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IASJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GATpB,6BAA6B,CAwDzC"}
@@ -1,14 +1,16 @@
1
+ import { JISInfotextsPresetsRepository } from "../repositories/JISInfotextsPresetsRepository";
1
2
  import { JISInfotextsRepository } from "../repositories/JISInfotextsRepository";
2
3
  import { JISInfotextsRopidGTFSStopsRepository } from "../repositories/JISInfotextsRopidGTFSStopsRepository";
3
- import { IJISInfotext, IJISInfotextsRopidGTFSStops } from "../../../schema-definitions/jis/models/interfaces";
4
+ import { IJISInfotext, IJISInfotextsPresets, IJISInfotextsRopidGTFSStops } from "../../../schema-definitions/jis/models/interfaces";
4
5
  import { ILogger } from "@golemio/core/dist/helpers";
5
6
  import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
6
7
  export declare class JISInfotextsDataService {
7
8
  private infotextsRepository;
8
9
  private infotextsRopidGTFSStopsRepository;
10
+ private infotextsPresetsRepository;
9
11
  private databaseConnector;
10
12
  private logger;
11
- constructor(infotextsRepository: JISInfotextsRepository, infotextsRopidGTFSStopsRepository: JISInfotextsRopidGTFSStopsRepository, databaseConnector: IDatabaseConnector, logger: ILogger);
13
+ constructor(infotextsRepository: JISInfotextsRepository, infotextsRopidGTFSStopsRepository: JISInfotextsRopidGTFSStopsRepository, infotextsPresetsRepository: JISInfotextsPresetsRepository, databaseConnector: IDatabaseConnector, logger: ILogger);
12
14
  /**
13
15
  * Insert or update all given infotexts and infotextsRopidGTFSStops data. In case of an update, all attributes except for
14
16
  * `created_at` shall be overwritten. Delete all non-updated data from before the refresh.
@@ -16,5 +18,5 @@ export declare class JISInfotextsDataService {
16
18
  * @param infotexts The infotexts data to be upserted
17
19
  * @param infotextsRopidGTFSStops The infotextsRopidGTFSStops data to be upserted
18
20
  */
19
- refreshData(infotexts: IJISInfotext[], infotextsRopidGTFSStops: IJISInfotextsRopidGTFSStops[]): Promise<void>;
21
+ refreshData(infotexts: IJISInfotext[], infotextsRopidGTFSStops: IJISInfotextsRopidGTFSStops[], infotextsPresets: IJISInfotextsPresets[]): Promise<void>;
20
22
  }
@@ -14,15 +14,17 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.JISInfotextsDataService = void 0;
16
16
  const JISContainerToken_1 = require("../ioc/JISContainerToken");
17
+ const JISInfotextsPresetsRepository_1 = require("../repositories/JISInfotextsPresetsRepository");
17
18
  const JISInfotextsRepository_1 = require("../repositories/JISInfotextsRepository");
18
19
  const JISInfotextsRopidGTFSStopsRepository_1 = require("../repositories/JISInfotextsRopidGTFSStopsRepository");
19
20
  const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
20
21
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
22
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
22
23
  let JISInfotextsDataService = class JISInfotextsDataService {
23
- constructor(infotextsRepository, infotextsRopidGTFSStopsRepository, databaseConnector, logger) {
24
+ constructor(infotextsRepository, infotextsRopidGTFSStopsRepository, infotextsPresetsRepository, databaseConnector, logger) {
24
25
  this.infotextsRepository = infotextsRepository;
25
26
  this.infotextsRopidGTFSStopsRepository = infotextsRopidGTFSStopsRepository;
27
+ this.infotextsPresetsRepository = infotextsPresetsRepository;
26
28
  this.databaseConnector = databaseConnector;
27
29
  this.logger = logger;
28
30
  // do nothing
@@ -34,12 +36,13 @@ let JISInfotextsDataService = class JISInfotextsDataService {
34
36
  * @param infotexts The infotexts data to be upserted
35
37
  * @param infotextsRopidGTFSStops The infotextsRopidGTFSStops data to be upserted
36
38
  */
37
- async refreshData(infotexts, infotextsRopidGTFSStops) {
39
+ async refreshData(infotexts, infotextsRopidGTFSStops, infotextsPresets) {
38
40
  const connection = this.databaseConnector.getConnection();
39
41
  const transaction = await connection.transaction();
40
42
  const saveTime = new Date();
41
43
  try {
42
44
  if (infotexts.length === 0) {
45
+ await this.infotextsPresetsRepository.deleteAll({ transaction });
43
46
  await this.infotextsRopidGTFSStopsRepository.deleteAll({ transaction });
44
47
  await this.infotextsRepository.deleteAll({ transaction });
45
48
  await transaction.commit();
@@ -49,9 +52,12 @@ let JISInfotextsDataService = class JISInfotextsDataService {
49
52
  await this.infotextsRepository.refreshData(infotexts, { transaction });
50
53
  await this.infotextsRopidGTFSStopsRepository.upsertAll(infotextsRopidGTFSStops, { transaction });
51
54
  await this.infotextsRopidGTFSStopsRepository.deleteAllLastUpdatedBefore(saveTime, { transaction });
55
+ await this.infotextsPresetsRepository.upsertAll(infotextsPresets, { transaction });
56
+ await this.infotextsPresetsRepository.deleteAllLastUpdatedBefore(saveTime, { transaction });
52
57
  await transaction.commit();
53
- this.logger.info(`${this.constructor.name}.refreshData: ${infotexts.length} JIS infotexts and ` +
54
- `${infotextsRopidGTFSStops.length} JIS infotextsRopidGTFSStops were saved`);
58
+ this.logger.info(`${this.constructor.name}.refreshData: ${infotexts.length} JIS infotexts, ` +
59
+ `${infotextsRopidGTFSStops.length} JIS infotextsRopidGTFSStops and ` +
60
+ `${infotextsPresets.length} JIS infotextsPresets were saved`);
55
61
  }
56
62
  }
57
63
  catch (err) {
@@ -67,9 +73,11 @@ exports.JISInfotextsDataService = JISInfotextsDataService = __decorate([
67
73
  (0, tsyringe_1.injectable)(),
68
74
  __param(0, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISInfotextsRepository)),
69
75
  __param(1, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISInfotextsRopidGTFSStopsRepository)),
70
- __param(2, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
71
- __param(3, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
76
+ __param(2, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISInfotextsPresetsRepository)),
77
+ __param(3, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
78
+ __param(4, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
72
79
  __metadata("design:paramtypes", [JISInfotextsRepository_1.JISInfotextsRepository,
73
- JISInfotextsRopidGTFSStopsRepository_1.JISInfotextsRopidGTFSStopsRepository, Object, Object])
80
+ JISInfotextsRopidGTFSStopsRepository_1.JISInfotextsRopidGTFSStopsRepository,
81
+ JISInfotextsPresetsRepository_1.JISInfotextsPresetsRepository, Object, Object])
74
82
  ], JISInfotextsDataService);
75
83
  //# sourceMappingURL=JISInfotextsDataService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JISInfotextsDataService.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/services/JISInfotextsDataService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAkE;AAClE,mFAAqF;AACrF,+GAAiH;AAIjH,wEAAqE;AACrE,6EAAwE;AACxE,iEAAwE;AAGjE,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAChC,YAEY,mBAA2C,EAE3C,iCAAuE,EAClC,iBAAqC,EAChD,MAAe;QAJzC,wBAAmB,GAAnB,mBAAmB,CAAwB;QAE3C,sCAAiC,GAAjC,iCAAiC,CAAsC;QAClC,sBAAiB,GAAjB,iBAAiB,CAAoB;QAChD,WAAM,GAAN,MAAM,CAAS;QAEjD,aAAa;IACjB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,WAAW,CAAC,SAAyB,EAAE,uBAAsD;QACtG,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,IAAI,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,iCAAiC,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;gBACxE,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC1D,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,gFAAgF,CAC3G,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBACvE,MAAM,IAAI,CAAC,iCAAiC,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBACjG,MAAM,IAAI,CAAC,iCAAiC,CAAC,0BAA0B,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBACnG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,SAAS,CAAC,MAAM,qBAAqB;oBAC1E,GAAG,uBAAuB,CAAC,MAAM,yCAAyC,CACjF,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,GAAG,YAAY,6BAAY;gBAAE,MAAM,GAAG,CAAC;YAC3C,MAAM,IAAI,6BAAY,CAAC,6CAA6C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtG,CAAC;IACL,CAAC;CACJ,CAAA;AAhDY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,sBAAsB,CAAC,CAAA;IAEhD,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,oCAAoC,CAAC,CAAA;IAE9D,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCAJI,+CAAsB;QAER,2EAAoC;GAL1E,uBAAuB,CAgDnC"}
1
+ {"version":3,"file":"JISInfotextsDataService.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/services/JISInfotextsDataService.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { IJISInfotext as IJISInfotextDataSource } from "../../../schema-definitions/jis/datasources/interfaces";
2
- import { IJISInfotext as IJISInfotextModel, IJISInfotextsRopidGTFSStops as IJISInfotextsRopidGTFSStopsModel } from "../../../schema-definitions/jis/models/interfaces";
2
+ import { IJISInfotext as IJISInfotextModel, IJISInfotextsPresets as IJISInfotextsPresetsModel, IJISInfotextsRopidGTFSStops as IJISInfotextsRopidGTFSStopsModel } from "../../../schema-definitions/jis/models/interfaces";
3
3
  import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
4
4
  type TransformIn = IJISInfotextDataSource;
5
5
  type TransformOut = {
6
6
  infotext: IJISInfotextModel;
7
7
  infotextsRopidGTFSStops: IJISInfotextsRopidGTFSStopsModel[];
8
+ infotextsPresets: IJISInfotextsPresetsModel[];
8
9
  };
9
10
  export declare class JISInfotextsTransformation extends AbstractTransformation<TransformIn, TransformOut> {
10
11
  name: string;
@@ -31,9 +31,14 @@ let JISInfotextsTransformation = class JISInfotextsTransformation extends Abstra
31
31
  infotext_id: data.id,
32
32
  stop_id: id,
33
33
  })) ?? [];
34
+ const infotextsPresets = data.informed_entity?.presets?.map(({ id }) => ({
35
+ infotext_id: data.id,
36
+ route_name: id,
37
+ })) ?? [];
34
38
  return {
35
39
  infotext,
36
40
  infotextsRopidGTFSStops,
41
+ infotextsPresets,
37
42
  };
38
43
  };
39
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JISInfotextsTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/transformations/JISInfotextsTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAKA,6GAA0G;AAC1G,iEAAgE;AASzD,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,+CAAiD;IAA1F;;QACI,SAAI,GAAG,4BAA4B,CAAC;QAEjC,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;YAC9D,MAAM,QAAQ,GAAG;gBACb,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,mBAAmB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBACvD,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnF,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK;gBAC7C,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI;gBAClD,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI;gBAC9C,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACnD,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;aAC5D,CAAC;YACF,MAAM,uBAAuB,GACzB,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC1C,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,OAAO,EAAE,EAAE;aACd,CAAC,CAAC,IAAI,EAAE,CAAC;YACd,OAAO;gBACH,QAAQ;gBACR,uBAAuB;aAC1B,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;AA3BY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,qBAAU,GAAE;GACA,0BAA0B,CA2BtC"}
1
+ {"version":3,"file":"JISInfotextsTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/transformations/JISInfotextsTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAMA,6GAA0G;AAC1G,iEAAgE;AAUzD,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,+CAAiD;IAA1F;;QACI,SAAI,GAAG,4BAA4B,CAAC;QAEjC,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;YAC9D,MAAM,QAAQ,GAAG;gBACb,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,mBAAmB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBACvD,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnF,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK;gBAC7C,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI;gBAClD,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI;gBAC9C,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACnD,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;aAC5D,CAAC;YACF,MAAM,uBAAuB,GACzB,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC1C,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,OAAO,EAAE,EAAE;aACd,CAAC,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,gBAAgB,GAClB,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5C,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,UAAU,EAAE,EAAE;aACjB,CAAC,CAAC,IAAI,EAAE,CAAC;YACd,OAAO;gBACH,QAAQ;gBACR,uBAAuB;gBACvB,gBAAgB;aACnB,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;AAjCY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,qBAAU,GAAE;GACA,0BAA0B,CAiCtC"}
@@ -33,23 +33,27 @@ let RefreshJISInfotextsTask = class RefreshJISInfotextsTask extends AbstractTask
33
33
  }
34
34
  async execute(data) {
35
35
  const transformedData = this.infotextsTransformation.transformArray(data);
36
- const { infotexts, infotextsRopidGTFSStops } = this.getEntitiesFromTransformationResult(transformedData);
37
- await this.infotextsDataService.refreshData(infotexts, infotextsRopidGTFSStops);
36
+ const { infotexts, infotextsRopidGTFSStops, infotextsPresets } = this.getEntitiesFromTransformationResult(transformedData);
37
+ await this.infotextsDataService.refreshData(infotexts, infotextsRopidGTFSStops, infotextsPresets);
38
38
  await integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "refreshJISInfotextsCache", {});
39
39
  }
40
40
  getEntitiesFromTransformationResult(transformedData) {
41
41
  const infotextEntities = [];
42
42
  const infotextsRopidGTFSStopsEntities = [];
43
- for (const { infotext, infotextsRopidGTFSStops } of transformedData) {
44
- if (infotextsRopidGTFSStops.length === 0) {
43
+ const infotextsPresetsEntities = [];
44
+ for (const data of transformedData) {
45
+ const { infotext, infotextsRopidGTFSStops, infotextsPresets } = data;
46
+ if (infotextsRopidGTFSStops.length === 0 && infotextsPresets.length === 0) {
45
47
  continue;
46
48
  }
47
49
  infotextEntities.push(infotext);
48
50
  infotextsRopidGTFSStopsEntities.push(...infotextsRopidGTFSStops);
51
+ infotextsPresetsEntities.push(...infotextsPresets);
49
52
  }
50
53
  return {
51
54
  infotexts: infotextEntities,
52
55
  infotextsRopidGTFSStops: infotextsRopidGTFSStopsEntities,
56
+ infotextsPresets: infotextsPresetsEntities,
53
57
  };
54
58
  }
55
59
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshJISInfotextsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAAkE;AAClE,oFAAmF;AACnF,iGAAgG;AAEhG,kHAAqF;AAErF,8EAAqE;AACrE,iHAA8G;AAC9G,mFAAkF;AAClF,iEAAwE;AACxE,4CAA+C;AAGxC,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,+CAAsC;IAK/E,YAEI,oBAAqD,EAErD,uBAA2D;QAE3D,KAAK,CAAC,2BAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QAJ7B,yBAAoB,GAApB,oBAAoB,CAAyB;QAE7C,4BAAuB,GAAvB,uBAAuB,CAA4B;QAR/C,WAAM,GAAG,IAAI,uCAAmB,CAAC,4BAA4B,EAAE,+CAAsB,CAAC,CAAC;QACvF,cAAS,GAAG,qBAAqB,CAAC;QAClC,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IASjD,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAoB;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,EAAE,SAAS,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC,mCAAmC,CAAC,eAAe,CAAC,CAAC;QACzG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAChF,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;IAC/F,CAAC;IAEO,mCAAmC,CAAC,eAAyE;QACjH,MAAM,gBAAgB,GAAwB,EAAE,CAAC;QACjD,MAAM,+BAA+B,GAAkC,EAAE,CAAC;QAC1E,KAAK,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,IAAI,eAAe,EAAE,CAAC;YAClE,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,SAAS;YACb,CAAC;YACD,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,+BAA+B,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC;QACrE,CAAC;QACD,OAAO;YACH,SAAS,EAAE,gBAAgB;YAC3B,uBAAuB,EAAE,+BAA+B;SAC3D,CAAC;IACN,CAAC;CACJ,CAAA;AApCY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,uBAAuB,CAAC,CAAA;IAEjD,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,0BAA0B,CAAC,CAAA;qCADvB,iDAAuB;QAEpB,uDAA0B;GATtD,uBAAuB,CAoCnC"}
1
+ {"version":3,"file":"RefreshJISInfotextsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAAkE;AAClE,oFAAmF;AACnF,iGAAgG;AAEhG,kHAAqF;AAErF,8EAAqE;AACrE,iHAA8G;AAC9G,mFAAkF;AAClF,iEAAwE;AACxE,4CAA+C;AAGxC,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,+CAAsC;IAK/E,YAEI,oBAAqD,EAErD,uBAA2D;QAE3D,KAAK,CAAC,2BAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QAJ7B,yBAAoB,GAApB,oBAAoB,CAAyB;QAE7C,4BAAuB,GAAvB,uBAAuB,CAA4B;QAR/C,WAAM,GAAG,IAAI,uCAAmB,CAAC,4BAA4B,EAAE,+CAAsB,CAAC,CAAC;QACvF,cAAS,GAAG,qBAAqB,CAAC;QAClC,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IASjD,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAoB;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,EAAE,SAAS,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,GAC1D,IAAI,CAAC,mCAAmC,CAAC,eAAe,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;QAClG,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;IAC/F,CAAC;IAEO,mCAAmC,CAAC,eAAyE;QACjH,MAAM,gBAAgB,GAAwB,EAAE,CAAC;QACjD,MAAM,+BAA+B,GAAkC,EAAE,CAAC;QAC1E,MAAM,wBAAwB,GAA2B,EAAE,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACjC,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;YACrE,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxE,SAAS;YACb,CAAC;YACD,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,+BAA+B,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC;YACjE,wBAAwB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACvD,CAAC;QACD,OAAO;YACH,SAAS,EAAE,gBAAgB;YAC3B,uBAAuB,EAAE,+BAA+B;YACxD,gBAAgB,EAAE,wBAAwB;SAC7C,CAAC;IACN,CAAC;CACJ,CAAA;AAzCY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,uBAAuB,CAAC,CAAA;IAEjD,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,0BAA0B,CAAC,CAAA;qCADvB,iDAAuB;QAEpB,uDAA0B;GATtD,uBAAuB,CAyCnC"}
@@ -3,4 +3,8 @@ export declare class V2DepartureBoardsController {
3
3
  private departureBoardsModel;
4
4
  constructor();
5
5
  getDepartureBoard: RequestHandler;
6
+ getDepartureBoardXml: RequestHandler;
7
+ private parseQuery;
8
+ private computeTimeFrom;
9
+ private fetchBoard;
6
10
  }
@@ -5,54 +5,42 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.V2DepartureBoardsController = void 0;
7
7
  const dto_1 = require("../../dto");
8
+ const MpvnetXmlSerializer_1 = require("../../helpers/MpvnetXmlSerializer");
8
9
  const PIDDepartureBoardsModel_1 = require("../../models/PIDDepartureBoardsModel");
9
10
  const shared_1 = require("../../../shared");
10
11
  const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
11
12
  const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
13
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
12
14
  const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
13
15
  class V2DepartureBoardsController {
14
16
  constructor() {
15
17
  this.getDepartureBoard = async (req, res, next) => {
16
- const queryData = (0, express_validator_1.matchedData)(req);
17
- const query = shared_1.RopidRouterUtils.mapObjectToDTOInstance(dto_1.DepartureBoardsQueryDTO, queryData);
18
- const preferredTimezone = shared_1.RopidRouterUtils.getPreferredTimezone(query.preferredTimezone);
18
+ const { query, preferredTimezone } = this.parseQuery(req);
19
19
  res.setHeader("X-Golemio-Preset-Metadata", `airConditionPossible=${query.airCondition ? 1 : 0}`);
20
- // datetime is valid ISO 8601 (by express validator)
21
- // it matches:
22
- // 2020-10-10T10:00:00Z
23
- // 2020-10-10 10:00:00.00Z
24
- // 2020-10-10T10:00:00+02
25
- // 2020-10-10T10:00:00+02:00
26
- const timezoneDefinedRegexp = /[T ][\d:.]+([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)/;
27
- // use timezone from ?preferredTimezone if not set in ?timeFrom
28
- const timeFrom = query.timeFrom
29
- ? query.timeFrom.match(timezoneDefinedRegexp)
30
- ? (0, moment_timezone_1.default)(query.timeFrom)
31
- : moment_timezone_1.default.tz(query.timeFrom, preferredTimezone)
32
- : undefined;
20
+ const timeFrom = this.computeTimeFrom(query, preferredTimezone);
33
21
  const span = (0, trace_provider_1.createChildSpan)("V2DepartureBoardsController.getDepartureBoard");
34
22
  try {
35
- const data = await this.departureBoardsModel.getAll({
36
- aswIds: query.aswIds,
37
- cisIds: query.cisIds,
38
- gtfsIds: query.ids,
39
- names: query.names,
40
- minutesAfter: query.minutesAfter,
41
- minutesBefore: query.minutesBefore,
42
- timeFrom,
43
- mode: query.mode,
44
- order: query.order,
45
- filter: query.filter,
46
- skip: query.skip,
47
- limit: query.limit,
48
- offset: query.offset,
49
- total: query.total ?? query.limit,
50
- timezone: preferredTimezone,
51
- includeMetroTrains: query.includeMetroTrains,
52
- airCondition: query.airCondition,
53
- appendHeadsignsLimit: query.appendHeadsignsLimit,
54
- });
55
- res.status(200).send(shared_1.RopidRouterUtils.mapObjectToDTOInstance(dto_1.DepartureBoardsResponseDTO, data));
23
+ const dto = await this.fetchBoard(query, preferredTimezone, timeFrom);
24
+ res.status(200).send(dto);
25
+ }
26
+ catch (err) {
27
+ next(err);
28
+ }
29
+ finally {
30
+ span?.end();
31
+ }
32
+ };
33
+ this.getDepartureBoardXml = async (req, res, next) => {
34
+ const { query, preferredTimezone } = this.parseQuery(req);
35
+ if (query.mode !== undefined && query.mode !== "departures") {
36
+ next(new golemio_errors_1.GeneralError("Only mode=departures is supported for the XML endpoint.", "V2DepartureBoardsController", undefined, 400));
37
+ return;
38
+ }
39
+ const timeFrom = this.computeTimeFrom(query, preferredTimezone);
40
+ const span = (0, trace_provider_1.createChildSpan)("V2DepartureBoardsController.getDepartureBoardXml");
41
+ try {
42
+ const dto = await this.fetchBoard(query, preferredTimezone, timeFrom);
43
+ res.set("Content-Type", "text/xml; charset=utf-8").status(200).send(MpvnetXmlSerializer_1.MpvnetXmlSerializer.serialize(dto));
56
44
  }
57
45
  catch (err) {
58
46
  next(err);
@@ -63,6 +51,50 @@ class V2DepartureBoardsController {
63
51
  };
64
52
  this.departureBoardsModel = new PIDDepartureBoardsModel_1.PIDDepartureBoardsModel();
65
53
  }
54
+ parseQuery(req) {
55
+ const queryData = (0, express_validator_1.matchedData)(req);
56
+ const query = shared_1.RopidRouterUtils.mapObjectToDTOInstance(dto_1.DepartureBoardsQueryDTO, queryData);
57
+ const preferredTimezone = shared_1.RopidRouterUtils.getPreferredTimezone(query.preferredTimezone);
58
+ return { query, preferredTimezone };
59
+ }
60
+ computeTimeFrom(query, preferredTimezone) {
61
+ // datetime is valid ISO 8601 (by express validator)
62
+ // it matches:
63
+ // 2020-10-10T10:00:00Z
64
+ // 2020-10-10 10:00:00.00Z
65
+ // 2020-10-10T10:00:00+02
66
+ // 2020-10-10T10:00:00+02:00
67
+ const timezoneDefinedRegexp = /[T ][\d:.]+([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)/;
68
+ // use timezone from ?preferredTimezone if not set in ?timeFrom
69
+ return query.timeFrom
70
+ ? query.timeFrom.match(timezoneDefinedRegexp)
71
+ ? (0, moment_timezone_1.default)(query.timeFrom)
72
+ : moment_timezone_1.default.tz(query.timeFrom, preferredTimezone)
73
+ : undefined;
74
+ }
75
+ async fetchBoard(query, preferredTimezone, timeFrom) {
76
+ const data = await this.departureBoardsModel.getAll({
77
+ aswIds: query.aswIds,
78
+ cisIds: query.cisIds,
79
+ gtfsIds: query.ids,
80
+ names: query.names,
81
+ minutesAfter: query.minutesAfter,
82
+ minutesBefore: query.minutesBefore,
83
+ timeFrom,
84
+ mode: query.mode,
85
+ order: query.order,
86
+ filter: query.filter,
87
+ skip: query.skip,
88
+ limit: query.limit,
89
+ offset: query.offset,
90
+ total: query.total ?? query.limit,
91
+ timezone: preferredTimezone,
92
+ includeMetroTrains: query.includeMetroTrains,
93
+ airCondition: query.airCondition,
94
+ appendHeadsignsLimit: query.appendHeadsignsLimit,
95
+ });
96
+ return shared_1.RopidRouterUtils.mapObjectToDTOInstance(dto_1.DepartureBoardsResponseDTO, data);
97
+ }
66
98
  }
67
99
  exports.V2DepartureBoardsController = V2DepartureBoardsController;
68
100
  //# sourceMappingURL=V2DepartureBoardsController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"V2DepartureBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v2/V2DepartureBoardsController.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAkF;AAClF,kFAAiF;AACjF,4CAA8C;AAC9C,+FAA6F;AAE7F,mFAA0E;AAC1E,gGAA2E;AAE3E,MAAa,2BAA2B;IAGpC;QAIO,sBAAiB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAChE,MAAM,SAAS,GAAG,IAAA,+BAAW,EAAC,GAAG,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,yBAAgB,CAAC,sBAAsB,CAAC,6BAAuB,EAAE,SAAS,CAAC,CAAC;YAC1F,MAAM,iBAAiB,GAAG,yBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACzF,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,wBAAwB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEjG,oDAAoD;YACpD,cAAc;YACd,uBAAuB;YACvB,0BAA0B;YAC1B,yBAAyB;YACzB,4BAA4B;YAC5B,MAAM,qBAAqB,GAAW,qDAAqD,CAAC;YAC5F,+DAA+D;YAC/D,MAAM,QAAQ,GAAuB,KAAK,CAAC,QAAQ;gBAC/C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC;oBACzC,CAAC,CAAC,IAAA,yBAAM,EAAC,KAAK,CAAC,QAAQ,CAAC;oBACxB,CAAC,CAAC,yBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC;YAEhB,MAAM,IAAI,GAAG,IAAA,gCAAe,EAAC,+CAA+C,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;oBAChD,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,GAAG;oBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;oBACjC,QAAQ,EAAE,iBAAiB;oBAC3B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;oBAC5C,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;iBACnD,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,yBAAgB,CAAC,sBAAsB,CAAC,gCAA0B,EAAE,IAAI,CAAC,CAAC,CAAC;YACpG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;oBAAS,CAAC;gBACP,IAAI,EAAE,GAAG,EAAE,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;QAnDE,IAAI,CAAC,oBAAoB,GAAG,IAAI,iDAAuB,EAAE,CAAC;IAC9D,CAAC;CAmDJ;AAxDD,kEAwDC"}
1
+ {"version":3,"file":"V2DepartureBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v2/V2DepartureBoardsController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { MPVRouteTypesEnum } from "../../../helpers/RouteTypeEnums";
2
+ export interface ITransportTypeInput {
3
+ type: number | null;
4
+ is_night: boolean;
5
+ is_regional: boolean;
6
+ is_substitute_transport: boolean;
7
+ }
8
+ export declare function mapTransportType(route: ITransportTypeInput): MPVRouteTypesEnum;