@golemio/pid 3.15.3-dev.1830712365 → 3.15.3-dev.1841156396

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 (64) hide show
  1. package/db/example/22_jis_events.sql +56 -0
  2. package/db/migrations/postgresql/20250522144056-add-new-attributes-to-event.js +53 -0
  3. package/db/migrations/postgresql/sqls/20250522144056-add-new-attributes-to-event-down.sql +5 -0
  4. package/db/migrations/postgresql/sqls/20250522144056-add-new-attributes-to-event-up.sql +4 -0
  5. package/dist/integration-engine/jis/repositories/JISEventsRepository.d.ts +2 -4
  6. package/dist/integration-engine/jis/repositories/JISEventsRepository.js +16 -56
  7. package/dist/integration-engine/jis/repositories/JISEventsRepository.js.map +1 -1
  8. package/dist/integration-engine/jis/repositories/JISEventsRopidGTFSRoutesRepository.d.ts +0 -2
  9. package/dist/integration-engine/jis/repositories/JISEventsRopidGTFSRoutesRepository.js +0 -21
  10. package/dist/integration-engine/jis/repositories/JISEventsRopidGTFSRoutesRepository.js.map +1 -1
  11. package/dist/integration-engine/jis/services/JISEventsDataService.d.ts +5 -5
  12. package/dist/integration-engine/jis/services/JISEventsDataService.js +8 -12
  13. package/dist/integration-engine/jis/services/JISEventsDataService.js.map +1 -1
  14. package/dist/integration-engine/jis/transformations/JISEventsTransformation.js +3 -0
  15. package/dist/integration-engine/jis/transformations/JISEventsTransformation.js.map +1 -1
  16. package/dist/integration-engine/jis/workers/tasks/RefreshJISEventsTask.js +1 -1
  17. package/dist/integration-engine/jis/workers/tasks/RefreshJISEventsTask.js.map +1 -1
  18. package/dist/output-gateway/index.js +4 -0
  19. package/dist/output-gateway/index.js.map +1 -1
  20. package/dist/output-gateway/jis/controllers/v1/V1EventsController.d.ts +12 -0
  21. package/dist/output-gateway/jis/controllers/v1/V1EventsController.js +71 -0
  22. package/dist/output-gateway/jis/controllers/v1/V1EventsController.js.map +1 -0
  23. package/dist/output-gateway/jis/data-access/JISEventsRepository.d.ts +18 -0
  24. package/dist/output-gateway/jis/data-access/JISEventsRepository.js +76 -0
  25. package/dist/output-gateway/jis/data-access/JISEventsRepository.js.map +1 -0
  26. package/dist/output-gateway/jis/data-access/JISEventsRopidGTFSRoutesRepository.d.ts +12 -0
  27. package/dist/output-gateway/jis/data-access/JISEventsRopidGTFSRoutesRepository.js +40 -0
  28. package/dist/output-gateway/jis/data-access/JISEventsRopidGTFSRoutesRepository.js.map +1 -0
  29. package/dist/output-gateway/jis/data-access/RopidGTFSRoutesRepository.d.ts +12 -0
  30. package/dist/output-gateway/jis/data-access/RopidGTFSRoutesRepository.js +39 -0
  31. package/dist/output-gateway/jis/data-access/RopidGTFSRoutesRepository.js.map +1 -0
  32. package/dist/output-gateway/jis/domain/IJISEventsInterfaces.d.ts +36 -0
  33. package/dist/output-gateway/jis/domain/IJISEventsInterfaces.js +3 -0
  34. package/dist/output-gateway/jis/domain/IJISEventsInterfaces.js.map +1 -0
  35. package/dist/output-gateway/jis/helpers/TranslationHelper.d.ts +4 -0
  36. package/dist/output-gateway/jis/helpers/TranslationHelper.js +48 -0
  37. package/dist/output-gateway/jis/helpers/TranslationHelper.js.map +1 -0
  38. package/dist/output-gateway/jis/ioc/Di.d.ts +3 -0
  39. package/dist/output-gateway/jis/ioc/Di.js +27 -0
  40. package/dist/output-gateway/jis/ioc/Di.js.map +1 -0
  41. package/dist/output-gateway/jis/ioc/OgJisToken.d.ts +8 -0
  42. package/dist/output-gateway/jis/ioc/OgJisToken.js +20 -0
  43. package/dist/output-gateway/jis/ioc/OgJisToken.js.map +1 -0
  44. package/dist/output-gateway/jis/routers/v1/V1JISRouter.d.ts +12 -0
  45. package/dist/output-gateway/jis/routers/v1/V1JISRouter.js +33 -0
  46. package/dist/output-gateway/jis/routers/v1/V1JISRouter.js.map +1 -0
  47. package/dist/output-gateway/jis/routers/v1/index.d.ts +1 -0
  48. package/dist/output-gateway/jis/routers/v1/index.js +6 -0
  49. package/dist/output-gateway/jis/routers/v1/index.js.map +1 -0
  50. package/dist/output-gateway/jis/transofrmations/JISEventsCustomFormatTransformation.d.ts +10 -0
  51. package/dist/output-gateway/jis/transofrmations/JISEventsCustomFormatTransformation.js +72 -0
  52. package/dist/output-gateway/jis/transofrmations/JISEventsCustomFormatTransformation.js.map +1 -0
  53. package/dist/output-gateway/pid/ioc/Di.js +0 -1
  54. package/dist/output-gateway/pid/ioc/Di.js.map +1 -1
  55. package/dist/schema-definitions/jis/datasources/JISEventsJsonSchema.js +17 -0
  56. package/dist/schema-definitions/jis/datasources/JISEventsJsonSchema.js.map +1 -1
  57. package/dist/schema-definitions/jis/datasources/interfaces/IJISEvent.d.ts +5 -0
  58. package/dist/schema-definitions/jis/models/JISEventsModel.d.ts +6 -3
  59. package/dist/schema-definitions/jis/models/JISEventsModel.js +20 -0
  60. package/dist/schema-definitions/jis/models/JISEventsModel.js.map +1 -1
  61. package/dist/schema-definitions/jis/models/interfaces/IJISEvent.d.ts +3 -0
  62. package/docs/openapi-input.yaml +35 -1
  63. package/docs/openapi-output.yaml +267 -0
  64. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshJISEventsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/jis/workers/tasks/RefreshJISEventsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAAkE;AAClE,8EAA6E;AAC7E,2FAA0F;AAE1F,4GAA+E;AAE/E,iHAA8G;AAC9G,mFAAkF;AAClF,iEAAwE;AACxE,4CAA+C;AAGxC,IAAM,oBAAoB,kCAA1B,MAAM,oBAAqB,SAAQ,+CAAmC;IAKzE,YAEI,iBAA+C,EAE/C,oBAAqD;QAErD,KAAK,CAAC,2BAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QAJ7B,sBAAiB,GAAjB,iBAAiB,CAAsB;QAEvC,yBAAoB,GAApB,oBAAoB,CAAyB;QARzC,WAAM,GAAG,IAAI,uCAAmB,CAAC,yBAAyB,EAAE,yCAAmB,CAAC,CAAC;QACjF,cAAS,GAAG,kBAAkB,CAAC;QAC/B,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IASjD,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAiB;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,mCAAmC,CAAC,eAAe,CAAC,CAAC;QACpG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC5E,CAAC;IAEO,mCAAmC,CAAC,eAAsE;QAC9G,MAAM,aAAa,GAAqB,EAAE,CAAC;QAC3C,MAAM,6BAA6B,GAAgC,EAAE,CAAC;QACtE,KAAK,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,eAAe,EAAE;YAC5D,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpC,SAAS;aACZ;YACD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,6BAA6B,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;SAChE;QACD,OAAO;YACH,MAAM,EAAE,aAAa;YACrB,qBAAqB,EAAE,6BAA6B;SACvD,CAAC;IACN,CAAC;CACJ,CAAA;+BAnCY,oBAAoB;IADhC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,oBAAoB,CAAC,CAAA;IAE9C,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,uBAAuB,CAAC,CAAA;qCADvB,2CAAoB;QAEjB,iDAAuB;GAThD,oBAAoB,CAmChC"}
1
+ {"version":3,"file":"RefreshJISEventsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/jis/workers/tasks/RefreshJISEventsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAAkE;AAClE,8EAA6E;AAC7E,2FAA0F;AAE1F,4GAA+E;AAE/E,iHAA8G;AAC9G,mFAAkF;AAClF,iEAAwE;AACxE,4CAA+C;AAGxC,IAAM,oBAAoB,kCAA1B,MAAM,oBAAqB,SAAQ,+CAAmC;IAKzE,YAEI,iBAA+C,EAE/C,oBAAqD;QAErD,KAAK,CAAC,2BAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QAJ7B,sBAAiB,GAAjB,iBAAiB,CAAsB;QAEvC,yBAAoB,GAApB,oBAAoB,CAAyB;QARzC,WAAM,GAAG,IAAI,uCAAmB,CAAC,yBAAyB,EAAE,yCAAmB,CAAC,CAAC;QACjF,cAAS,GAAG,kBAAkB,CAAC;QAC/B,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IASjD,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAiB;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,mCAAmC,CAAC,eAAe,CAAC,CAAC;QACpG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAEO,mCAAmC,CAAC,eAAsE;QAC9G,MAAM,aAAa,GAAqB,EAAE,CAAC;QAC3C,MAAM,6BAA6B,GAAgC,EAAE,CAAC;QACtE,KAAK,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,eAAe,EAAE;YAC5D,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpC,SAAS;aACZ;YACD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,6BAA6B,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;SAChE;QACD,OAAO;YACH,MAAM,EAAE,aAAa;YACrB,qBAAqB,EAAE,6BAA6B;SACvD,CAAC;IACN,CAAC;CACJ,CAAA;+BAnCY,oBAAoB;IADhC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,oBAAoB,CAAC,CAAA;IAE9C,WAAA,IAAA,iBAAM,EAAC,qCAAiB,CAAC,uBAAuB,CAAC,CAAA;qCADvB,2CAAoB;QAEjB,iDAAuB;GAThD,oBAAoB,CAmChC"}
@@ -28,6 +28,7 @@ const pid_1 = require("./pid");
28
28
  const public_1 = require("./public");
29
29
  const ropid_gtfs_1 = require("./ropid-gtfs");
30
30
  const vehicle_positions_1 = require("./vehicle-positions");
31
+ const v1_1 = require("./jis/routers/v1");
31
32
  exports.PID = __importStar(require("./pid"));
32
33
  exports.RopidGTFS = __importStar(require("./ropid-gtfs"));
33
34
  exports.VehiclePositions = __importStar(require("./vehicle-positions"));
@@ -46,5 +47,8 @@ exports.routers = [
46
47
  public_1.v2PublicGtfsRouter,
47
48
  public_1.v2PublicVPRouter,
48
49
  //#endregion
50
+ //#region Jis Endpoints
51
+ v1_1.v1JisRouter,
52
+ //#endregion
49
53
  ];
50
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output-gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAmD;AACnD,qCAA4F;AAC5F,6CAA8C;AAC9C,2DAAiE;AAEjE,6CAA6B;AAC7B,0DAA0C;AAC1C,wEAAwD;AAE3C,QAAA,OAAO,GAAG;IACnB,oBAAoB;IACpB,yBAAY;IACZ,YAAY;IAEZ,2BAA2B;IAC3B,4CAAwB;IAExB,8BAA8B;IAC9B,iBAAW;IACX,iBAAW;IACX,YAAY;IAEZ,0BAA0B;IAC1B,iCAAwB;IACxB,2BAAkB;IAClB,yBAAgB;IAChB,YAAY;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output-gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAmD;AACnD,qCAA4F;AAC5F,6CAA8C;AAC9C,2DAAiE;AACjE,yCAA+C;AAE/C,6CAA6B;AAC7B,0DAA0C;AAC1C,wEAAwD;AAE3C,QAAA,OAAO,GAAG;IACnB,oBAAoB;IACpB,yBAAY;IACZ,YAAY;IAEZ,2BAA2B;IAC3B,4CAAwB;IAExB,8BAA8B;IAC9B,iBAAW;IACX,iBAAW;IACX,YAAY;IAEZ,0BAA0B;IAC1B,iCAAwB;IACxB,2BAAkB;IAClB,yBAAgB;IAChB,YAAY;IAEZ,uBAAuB;IACvB,gBAAW;IACX,YAAY;CACf,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { RequestHandler } from "express";
2
+ import { JISEventsRepository } from "../../data-access/JISEventsRepository";
3
+ import { JISEventsCustomFormatTransformation } from "../../transofrmations/JISEventsCustomFormatTransformation";
4
+ export declare class V1EventsController {
5
+ private jisEventsRepository;
6
+ private eventsCustomFormatTransformation;
7
+ constructor(jisEventsRepository: JISEventsRepository, eventsCustomFormatTransformation: JISEventsCustomFormatTransformation);
8
+ getAllEventsInCustomFormat: RequestHandler;
9
+ private recordBadRequestException;
10
+ private isValidQueryStringParam;
11
+ private isValidQueryArrayParam;
12
+ }
@@ -0,0 +1,71 @@
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.V1EventsController = void 0;
16
+ const OgJisToken_1 = require("../../ioc/OgJisToken");
17
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
18
+ const JISEventsRepository_1 = require("../../data-access/JISEventsRepository");
19
+ const JISEventsCustomFormatTransformation_1 = require("../../transofrmations/JISEventsCustomFormatTransformation");
20
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
+ const monitoring_1 = require("@golemio/core/dist/monitoring");
22
+ let V1EventsController = exports.V1EventsController = class V1EventsController {
23
+ constructor(jisEventsRepository, eventsCustomFormatTransformation) {
24
+ this.jisEventsRepository = jisEventsRepository;
25
+ this.eventsCustomFormatTransformation = eventsCustomFormatTransformation;
26
+ this.getAllEventsInCustomFormat = async (req, res, next) => {
27
+ const span = (0, monitoring_1.createChildSpan)("V1EventsController.getAllEventsInCustomFormat");
28
+ try {
29
+ const { organizationNames, displayPeriodStart, displayPeriodEnd } = req.query;
30
+ if (organizationNames !== undefined && !this.isValidQueryArrayParam(organizationNames)) {
31
+ return next(this.recordBadRequestException("organizationNames is not valid", span));
32
+ }
33
+ else if (displayPeriodStart && !this.isValidQueryStringParam(displayPeriodStart)) {
34
+ return next(this.recordBadRequestException("displayPeriodStart is not valid", span));
35
+ }
36
+ else if (displayPeriodEnd && !this.isValidQueryStringParam(displayPeriodEnd)) {
37
+ return next(this.recordBadRequestException("displayPeriodEnd is not valid", span));
38
+ }
39
+ const events = await this.jisEventsRepository.getAllForCustomFormat(organizationNames, displayPeriodStart, displayPeriodEnd);
40
+ const transformedEvents = this.eventsCustomFormatTransformation.transformArray(events);
41
+ return res.status(200).json(transformedEvents);
42
+ }
43
+ catch (err) {
44
+ span?.recordException(err);
45
+ next(err);
46
+ }
47
+ finally {
48
+ span?.end();
49
+ }
50
+ };
51
+ this.recordBadRequestException = (errorMessage, span) => {
52
+ const exception = new golemio_errors_1.GeneralError(errorMessage, this.constructor.name, undefined, 400);
53
+ span?.recordException(exception);
54
+ return exception;
55
+ };
56
+ this.isValidQueryStringParam = (param) => {
57
+ return typeof param === "string";
58
+ };
59
+ this.isValidQueryArrayParam = (param) => {
60
+ return Array.isArray(param) && param.length > 0 && param.every((item) => typeof item === "string");
61
+ };
62
+ }
63
+ };
64
+ exports.V1EventsController = V1EventsController = __decorate([
65
+ (0, tsyringe_1.injectable)(),
66
+ __param(0, (0, tsyringe_1.inject)(OgJisToken_1.OgJisToken.JISEventsRepository)),
67
+ __param(1, (0, tsyringe_1.inject)(OgJisToken_1.OgJisToken.JISEventsCustomFormatTransformation)),
68
+ __metadata("design:paramtypes", [JISEventsRepository_1.JISEventsRepository,
69
+ JISEventsCustomFormatTransformation_1.JISEventsCustomFormatTransformation])
70
+ ], V1EventsController);
71
+ //# sourceMappingURL=V1EventsController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1EventsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/controllers/v1/V1EventsController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { JISEventsModel } from "../../../schema-definitions/jis/models/JISEventsModel";
2
+ import { ILogger } from "@golemio/core/dist/helpers";
3
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
4
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
5
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
6
+ import { ModelStatic } from "@golemio/core/dist/shared/sequelize";
7
+ import { JISEventsRopidGTFSRoutesRepository } from "./JISEventsRopidGTFSRoutesRepository";
8
+ import { RopidGTFSRoutesRepository } from "./RopidGTFSRoutesRepository";
9
+ export declare class JISEventsRepository extends AbstractValidatableRepository {
10
+ private eventsRopidGTFSRoutesRepository;
11
+ private ropidGTFSRoutesRepository;
12
+ validator: JSONSchemaValidator;
13
+ schema: string;
14
+ tableName: string;
15
+ sequelizeModel: ModelStatic<JISEventsModel>;
16
+ constructor(connector: IDatabaseConnector, logger: ILogger, eventsRopidGTFSRoutesRepository: JISEventsRopidGTFSRoutesRepository, ropidGTFSRoutesRepository: RopidGTFSRoutesRepository);
17
+ getAllForCustomFormat: (organizationNames?: string[], displayPeriodStart?: string, displayPeriodEnd?: string) => Promise<JISEventsModel[]>;
18
+ }
@@ -0,0 +1,76 @@
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.JISEventsRepository = void 0;
16
+ const const_1 = require("../../../schema-definitions/const");
17
+ const JISEventsModel_1 = require("../../../schema-definitions/jis/models/JISEventsModel");
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_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
21
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
22
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
23
+ const JISEventsRopidGTFSRoutesRepository_1 = require("./JISEventsRopidGTFSRoutesRepository");
24
+ const OgJisToken_1 = require("../ioc/OgJisToken");
25
+ const RopidGTFSRoutesRepository_1 = require("./RopidGTFSRoutesRepository");
26
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
27
+ let JISEventsRepository = exports.JISEventsRepository = class JISEventsRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
28
+ constructor(connector, logger, eventsRopidGTFSRoutesRepository, ropidGTFSRoutesRepository) {
29
+ super(connector, logger);
30
+ this.eventsRopidGTFSRoutesRepository = eventsRopidGTFSRoutesRepository;
31
+ this.ropidGTFSRoutesRepository = ropidGTFSRoutesRepository;
32
+ this.schema = const_1.PG_SCHEMA;
33
+ this.tableName = JISEventsModel_1.JISEventsModel.tableName;
34
+ this.getAllForCustomFormat = async (organizationNames, displayPeriodStart, displayPeriodEnd) => {
35
+ try {
36
+ const where = {};
37
+ if (organizationNames) {
38
+ where.organization_name = { [sequelize_1.Op.in]: organizationNames };
39
+ }
40
+ if (displayPeriodStart) {
41
+ where.display_period_start = { [sequelize_1.Op.gte]: displayPeriodStart };
42
+ }
43
+ if (displayPeriodEnd) {
44
+ where.display_period_end = { [sequelize_1.Op.or]: [{ [sequelize_1.Op.lte]: displayPeriodEnd }, { [sequelize_1.Op.is]: null }] };
45
+ }
46
+ return await this.sequelizeModel.findAll({
47
+ where,
48
+ include: { model: this.ropidGTFSRoutesRepository["sequelizeModel"], as: "routes" },
49
+ });
50
+ }
51
+ catch (err) {
52
+ throw new golemio_errors_1.GeneralError("Error in getAllForCustomFormat", this.constructor.name, err);
53
+ }
54
+ };
55
+ this.validator = new golemio_validator_1.JSONSchemaValidator("JISEventsModel", JISEventsModel_1.JISEventsModel.jsonSchema);
56
+ this.sequelizeModel = connector
57
+ .getConnection()
58
+ .define(this.tableName, JISEventsModel_1.JISEventsModel.attributeModel, { schema: this.schema });
59
+ this.sequelizeModel.belongsToMany(this.ropidGTFSRoutesRepository["sequelizeModel"], {
60
+ through: eventsRopidGTFSRoutesRepository["sequelizeModel"],
61
+ foreignKey: "event_id",
62
+ otherKey: "route_id",
63
+ as: "routes",
64
+ });
65
+ }
66
+ };
67
+ exports.JISEventsRepository = JISEventsRepository = __decorate([
68
+ (0, tsyringe_1.injectable)(),
69
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
70
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
71
+ __param(2, (0, tsyringe_1.inject)(OgJisToken_1.OgJisToken.JISEventsRopidGTFSRoutesRepository)),
72
+ __param(3, (0, tsyringe_1.inject)(OgJisToken_1.OgJisToken.RopidGTFSRoutesRepository)),
73
+ __metadata("design:paramtypes", [Object, Object, JISEventsRopidGTFSRoutesRepository_1.JISEventsRopidGTFSRoutesRepository,
74
+ RopidGTFSRoutesRepository_1.RopidGTFSRoutesRepository])
75
+ ], JISEventsRepository);
76
+ //# sourceMappingURL=JISEventsRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JISEventsRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/data-access/JISEventsRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ILogger } from "@golemio/core/dist/helpers";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
4
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
5
+ export declare class JISEventsRopidGTFSRoutesRepository extends AbstractValidatableRepository {
6
+ private logger;
7
+ validator: JSONSchemaValidator;
8
+ schema: string;
9
+ tableName: string;
10
+ private sequelizeModel;
11
+ constructor(connector: IDatabaseConnector, logger: ILogger);
12
+ }
@@ -0,0 +1,40 @@
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.JISEventsRopidGTFSRoutesRepository = void 0;
16
+ const const_1 = require("../../../schema-definitions/const");
17
+ const JISEventsRopidGTFSRoutesModel_1 = require("../../../schema-definitions/jis/models/JISEventsRopidGTFSRoutesModel");
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_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
21
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
22
+ let JISEventsRopidGTFSRoutesRepository = exports.JISEventsRopidGTFSRoutesRepository = class JISEventsRopidGTFSRoutesRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
23
+ constructor(connector, logger) {
24
+ super(connector, logger);
25
+ this.logger = logger;
26
+ this.schema = const_1.PG_SCHEMA;
27
+ this.tableName = JISEventsRopidGTFSRoutesModel_1.JISEventsRopidGTFSRoutesModel.tableName;
28
+ this.validator = new golemio_validator_1.JSONSchemaValidator("JISEventsRopidGTFSRoutesRepository", JISEventsRopidGTFSRoutesModel_1.JISEventsRopidGTFSRoutesModel.jsonSchema);
29
+ this.sequelizeModel = connector
30
+ .getConnection()
31
+ .define(this.tableName, JISEventsRopidGTFSRoutesModel_1.JISEventsRopidGTFSRoutesModel.attributeModel, { schema: this.schema });
32
+ }
33
+ };
34
+ exports.JISEventsRopidGTFSRoutesRepository = JISEventsRopidGTFSRoutesRepository = __decorate([
35
+ (0, tsyringe_1.injectable)(),
36
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
37
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
38
+ __metadata("design:paramtypes", [Object, Object])
39
+ ], JISEventsRopidGTFSRoutesRepository);
40
+ //# sourceMappingURL=JISEventsRopidGTFSRoutesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JISEventsRopidGTFSRoutesRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/data-access/JISEventsRopidGTFSRoutesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAAuC;AACvC,wHAA8F;AAG9F,8IAA2I;AAC3I,wEAAqE;AACrE,mFAAkF;AAElF,iEAAwE;AAGjE,IAAM,kCAAkC,gDAAxC,MAAM,kCAAmC,SAAQ,6DAA6B;IAOjF,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,6DAA6B,CAAC,SAAS,CAAC;QASvD,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CAAC,oCAAoC,EAAE,6DAA6B,CAAC,UAAU,CAAC,CAAC;QACzH,IAAI,CAAC,cAAc,GAAG,SAAS;aAC1B,aAAa,EAAE;aACf,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,6DAA6B,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC;CACJ,CAAA;6CAjBY,kCAAkC;IAD9C,IAAA,qBAAU,GAAE;IASJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GATpB,kCAAkC,CAiB9C"}
@@ -0,0 +1,12 @@
1
+ import { ILogger } from "@golemio/core/dist/helpers";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
4
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
5
+ export declare class RopidGTFSRoutesRepository extends AbstractValidatableRepository {
6
+ private logger;
7
+ validator: JSONSchemaValidator;
8
+ schema: string;
9
+ tableName: any;
10
+ private sequelizeModel;
11
+ constructor(connector: IDatabaseConnector, logger: ILogger);
12
+ }
@@ -0,0 +1,39 @@
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.RopidGTFSRoutesRepository = void 0;
16
+ const const_1 = require("../../../schema-definitions/const");
17
+ const ropid_gtfs_1 = require("../../../schema-definitions/ropid-gtfs");
18
+ const RouteDto_1 = require("../../../schema-definitions/ropid-gtfs/models/RouteDto");
19
+ const AbstractValidatableRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository");
20
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
21
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
22
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
23
+ let RopidGTFSRoutesRepository = exports.RopidGTFSRoutesRepository = class RopidGTFSRoutesRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
24
+ constructor(connector, logger) {
25
+ super(connector, logger);
26
+ this.logger = logger;
27
+ this.schema = const_1.PG_SCHEMA;
28
+ this.tableName = ropid_gtfs_1.RopidGTFS.routes.pgTableName;
29
+ this.validator = new golemio_validator_1.JSONSchemaValidator("RopidGTFSRoutesRepository", RouteDto_1.RouteDto.attributeModel);
30
+ this.sequelizeModel = connector.getConnection().define(this.tableName, RouteDto_1.RouteDto.attributeModel, { schema: this.schema });
31
+ }
32
+ };
33
+ exports.RopidGTFSRoutesRepository = RopidGTFSRoutesRepository = __decorate([
34
+ (0, tsyringe_1.injectable)(),
35
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
36
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
37
+ __metadata("design:paramtypes", [Object, Object])
38
+ ], RopidGTFSRoutesRepository);
39
+ //# sourceMappingURL=RopidGTFSRoutesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidGTFSRoutesRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/data-access/RopidGTFSRoutesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAAuC;AACvC,uEAA4C;AAC5C,qFAA2D;AAG3D,8IAA2I;AAC3I,wEAAqE;AACrE,mFAAkF;AAElF,iEAAwE;AAGjE,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,6DAA6B;IAOxE,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,sBAAS,CAAC,MAAM,CAAC,WAAW,CAAC;QAS5C,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CAAC,2BAA2B,EAAE,mBAAQ,CAAC,cAAc,CAAC,CAAC;QAC/F,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7H,CAAC;CACJ,CAAA;oCAfY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;IASJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GATpB,yBAAyB,CAerC"}
@@ -0,0 +1,36 @@
1
+ import { IJISTranslationText } from "../../../schema-definitions/jis/models/interfaces";
2
+ import { JISEventsModel } from "../../../schema-definitions/jis/models/JISEventsModel";
3
+ export interface IJISEventCustomFormatInputDto {
4
+ data: JISEventsModel;
5
+ timezone: string;
6
+ }
7
+ export interface IJISEventCustomFormatDto {
8
+ id: string;
9
+ type: string;
10
+ header_text: IJISTranslationText;
11
+ cause: IJISTranslationText;
12
+ cause_detail: IJISTranslationText;
13
+ severity_level: string;
14
+ active_period: {
15
+ start: string;
16
+ end?: string | null;
17
+ };
18
+ display_period: {
19
+ start: string;
20
+ end?: string | null;
21
+ };
22
+ effects: IJISTranslationText[];
23
+ description_text: IJISTranslationText;
24
+ description_html: IJISTranslationText;
25
+ organization_name: string;
26
+ informed_entity?: {
27
+ routes?: Array<{
28
+ id: string;
29
+ route_short_name: string;
30
+ route_long_name: string;
31
+ route_type: number;
32
+ }>;
33
+ } | null;
34
+ last_modified_timestamp: string;
35
+ created_timestamp: string;
36
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IJISEventsInterfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IJISEventsInterfaces.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/domain/IJISEventsInterfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare class TranslationHelper {
2
+ effectToCs: (effect: string) => string;
3
+ causeToCs: (cause: string) => string;
4
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TranslationHelper = void 0;
4
+ class TranslationHelper {
5
+ constructor() {
6
+ this.effectToCs = (effect) => {
7
+ const effects = {
8
+ NO_SERVICE: "Přerušení provozu",
9
+ REDUCED_SERVICE: "Omezení provozu",
10
+ SIGNIFICANT_DELAYS: "Zpoždění",
11
+ DETOUR: "Odklon",
12
+ ADDITIONAL_SERVICE: "Posílení spojů",
13
+ MODIFIED_SERVICE: "Změna provozu",
14
+ OTHER_EFFECT: "Ostatní opatření",
15
+ UNKNOWN_EFFECT: "Neznámé opatření",
16
+ STOP_MOVED: "Zastávka přemístěna",
17
+ NO_EFFECT: "Bez opatření",
18
+ ACCESSIBILITY_ISSUE: "Omezení bezbariérového přístupu",
19
+ };
20
+ if (!effects[effect]) {
21
+ return "Neplatný typ události";
22
+ }
23
+ return effects[effect].charAt(0).toUpperCase() + effects[effect].slice(1);
24
+ };
25
+ this.causeToCs = (cause) => {
26
+ const causes = {
27
+ ACCIDENT: "Nehoda",
28
+ STRIKE: "Stávka",
29
+ TECHNICAL_PROBLEM: "Technický problém",
30
+ CONSTRUCTION: "Stavba",
31
+ WEATHER: "Počasí",
32
+ DEMONSTRATION: "Demonstrace",
33
+ POLICE_ACTIVITY: "Policejní uzávěra",
34
+ MEDICAL_EMERGENCY: "Zásah záchranné služby",
35
+ OTHER_CAUSE: "Jiný důvod",
36
+ UNKNOWN_CAUSE: "Neznámý důvod",
37
+ HOLIDAY: "Svátek",
38
+ MAINTENANCE: "Údržba",
39
+ };
40
+ if (!causes[cause]) {
41
+ return "Neplatný důvod události";
42
+ }
43
+ return causes[cause].charAt(0).toUpperCase() + causes[cause].slice(1);
44
+ };
45
+ }
46
+ }
47
+ exports.TranslationHelper = TranslationHelper;
48
+ //# sourceMappingURL=TranslationHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranslationHelper.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/helpers/TranslationHelper.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAiB;IAA9B;QACW,eAAU,GAAG,CAAC,MAAc,EAAU,EAAE;YAC3C,MAAM,OAAO,GAA2B;gBACpC,UAAU,EAAE,mBAAmB;gBAC/B,eAAe,EAAE,iBAAiB;gBAClC,kBAAkB,EAAE,UAAU;gBAC9B,MAAM,EAAE,QAAQ;gBAChB,kBAAkB,EAAE,gBAAgB;gBACpC,gBAAgB,EAAE,eAAe;gBACjC,YAAY,EAAE,kBAAkB;gBAChC,cAAc,EAAE,kBAAkB;gBAClC,UAAU,EAAE,qBAAqB;gBACjC,SAAS,EAAE,cAAc;gBACzB,mBAAmB,EAAE,iCAAiC;aACzD,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAClB,OAAO,uBAAuB,CAAC;aAClC;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,KAAa,EAAE,EAAE;YAC1B,MAAM,MAAM,GAA2B;gBACnC,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,mBAAmB;gBACtC,YAAY,EAAE,QAAQ;gBACtB,OAAO,EAAE,QAAQ;gBACjB,aAAa,EAAE,aAAa;gBAC5B,eAAe,EAAE,mBAAmB;gBACpC,iBAAiB,EAAE,wBAAwB;gBAC3C,WAAW,EAAE,YAAY;gBACzB,aAAa,EAAE,eAAe;gBAC9B,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,QAAQ;aACxB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAChB,OAAO,yBAAyB,CAAC;aACpC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC;IACN,CAAC;CAAA;AA1CD,8CA0CC"}
@@ -0,0 +1,3 @@
1
+ import { DependencyContainer } from "@golemio/core/dist/shared/tsyringe";
2
+ declare const ogJisContainer: DependencyContainer;
3
+ export { ogJisContainer as OgJisContainer };
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OgJisContainer = void 0;
4
+ const OgJisToken_1 = require("./OgJisToken");
5
+ const V1EventsController_1 = require("../controllers/v1/V1EventsController");
6
+ const ioc_1 = require("@golemio/core/dist/output-gateway/ioc");
7
+ const JISEventsRepository_1 = require("../data-access/JISEventsRepository");
8
+ const JISEventsRopidGTFSRoutesRepository_1 = require("../data-access/JISEventsRopidGTFSRoutesRepository");
9
+ const JISEventsCustomFormatTransformation_1 = require("../transofrmations/JISEventsCustomFormatTransformation");
10
+ const TranslationHelper_1 = require("../helpers/TranslationHelper");
11
+ const RopidGTFSRoutesRepository_1 = require("../data-access/RopidGTFSRoutesRepository");
12
+ const ogJisContainer = ioc_1.OutputGatewayContainer.createChildContainer();
13
+ exports.OgJisContainer = ogJisContainer;
14
+ //#region Controllers
15
+ ogJisContainer.registerSingleton(OgJisToken_1.OgJisToken.V1EventsController, V1EventsController_1.V1EventsController);
16
+ //#endregion
17
+ //#region Repositories
18
+ ogJisContainer.registerSingleton(OgJisToken_1.OgJisToken.JISEventsRepository, JISEventsRepository_1.JISEventsRepository);
19
+ ogJisContainer.registerSingleton(OgJisToken_1.OgJisToken.JISEventsRopidGTFSRoutesRepository, JISEventsRopidGTFSRoutesRepository_1.JISEventsRopidGTFSRoutesRepository);
20
+ ogJisContainer.registerSingleton(OgJisToken_1.OgJisToken.RopidGTFSRoutesRepository, RopidGTFSRoutesRepository_1.RopidGTFSRoutesRepository);
21
+ //#endregion
22
+ //#region Transformations
23
+ ogJisContainer.registerSingleton(OgJisToken_1.OgJisToken.JISEventsCustomFormatTransformation, JISEventsCustomFormatTransformation_1.JISEventsCustomFormatTransformation);
24
+ //#endregion
25
+ //#region Helpers
26
+ ogJisContainer.registerSingleton(OgJisToken_1.OgJisToken.TranslationHelper, TranslationHelper_1.TranslationHelper);
27
+ //# sourceMappingURL=Di.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/ioc/Di.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,6EAA0E;AAC1E,+DAA+E;AAC/E,4EAAyE;AACzE,0GAAuG;AACvG,gHAA6G;AAC7G,oEAAiE;AACjE,wFAAqF;AAErF,MAAM,cAAc,GAAwB,4BAAsB,CAAC,oBAAoB,EAAE,CAAC;AAoB/D,wCAAc;AAlBzC,qBAAqB;AACrB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,kBAAkB,EAAE,uCAAkB,CAAC,CAAC;AACpF,YAAY;AAEZ,sBAAsB;AACtB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACtF,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACpH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AAClG,YAAY;AAEZ,yBAAyB;AACzB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,mCAAmC,EAAE,yEAAmC,CAAC,CAAC;AACtH,YAAY;AAEZ,iBAAiB;AACjB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const OgJisToken: {
2
+ V1EventsController: symbol;
3
+ JISEventsRepository: symbol;
4
+ JISEventsRopidGTFSRoutesRepository: symbol;
5
+ RopidGTFSRoutesRepository: symbol;
6
+ JISEventsCustomFormatTransformation: symbol;
7
+ TranslationHelper: symbol;
8
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OgJisToken = void 0;
4
+ exports.OgJisToken = {
5
+ //#region Controllers
6
+ V1EventsController: Symbol("V1EventsController"),
7
+ //#endregion
8
+ //#region Repositories
9
+ JISEventsRepository: Symbol("JISEventsRepository"),
10
+ JISEventsRopidGTFSRoutesRepository: Symbol("JISEventsRopidGTFSRoutesRepository"),
11
+ RopidGTFSRoutesRepository: Symbol("RopidGTFSRoutesRepository"),
12
+ //#endregion
13
+ //#region Transformations
14
+ JISEventsCustomFormatTransformation: Symbol("JISEventsCustomFormatTransformation"),
15
+ //#endregion
16
+ //#region Helpers
17
+ TranslationHelper: Symbol("TranslationHelper"),
18
+ //#endregion
19
+ };
20
+ //# sourceMappingURL=OgJisToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgJisToken.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/ioc/OgJisToken.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACtB,qBAAqB;IACrB,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,YAAY;IAEZ,sBAAsB;IACtB,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,YAAY;IAEZ,yBAAyB;IACzB,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,YAAY;IAEZ,iBAAiB;IACjB,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,YAAY;CACf,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { V1EventsController } from "../../controllers/v1/V1EventsController";
2
+ import { AbstractRouter } from "@golemio/core/dist/helpers/routing/AbstractRouter";
3
+ import { CacheHeaderMiddleware } from "@golemio/core/dist/output-gateway/CacheHeaderMiddleware";
4
+ export declare class V1JISRouter extends AbstractRouter {
5
+ readonly router: import("express-serve-static-core").Router;
6
+ readonly cacheHeaderMiddleware: CacheHeaderMiddleware;
7
+ readonly eventsController: V1EventsController;
8
+ constructor();
9
+ protected initRoutes: () => void;
10
+ }
11
+ declare const v1JisRouter: AbstractRouter;
12
+ export { v1JisRouter };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.v1JisRouter = exports.V1JISRouter = void 0;
4
+ const Di_1 = require("../../ioc/Di");
5
+ const OgJisToken_1 = require("../../ioc/OgJisToken");
6
+ const constants_1 = require("../../../shared/constants");
7
+ const AbstractRouter_1 = require("@golemio/core/dist/helpers/routing/AbstractRouter");
8
+ const ioc_1 = require("@golemio/core/dist/output-gateway/ioc");
9
+ const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
10
+ const express_1 = require("@golemio/core/dist/shared/express");
11
+ const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
12
+ class V1JISRouter extends AbstractRouter_1.AbstractRouter {
13
+ constructor() {
14
+ super(constants_1.RouteVersion.v1, "jis");
15
+ this.router = (0, express_1.Router)();
16
+ this.initRoutes = () => {
17
+ this.router.get("/events/custom-format", [
18
+ (0, express_validator_1.query)("displayPeriodStart").optional().isISO8601(),
19
+ (0, express_validator_1.query)("displayPeriodEnd").optional().isISO8601(),
20
+ (0, express_validator_1.query)("organizationNames[]").optional().isArray(),
21
+ ], Validation_1.checkErrors,
22
+ // // max-age 5 seconds, stale-while-revalidate 5 seconds
23
+ this.cacheHeaderMiddleware.getMiddleware(5, 5), this.eventsController.getAllEventsInCustomFormat);
24
+ };
25
+ this.eventsController = Di_1.OgJisContainer.resolve(OgJisToken_1.OgJisToken.V1EventsController);
26
+ this.cacheHeaderMiddleware = Di_1.OgJisContainer.resolve(ioc_1.ContainerToken.CacheHeaderMiddleware);
27
+ this.initRoutes();
28
+ }
29
+ }
30
+ exports.V1JISRouter = V1JISRouter;
31
+ const v1JisRouter = new V1JISRouter();
32
+ exports.v1JisRouter = v1JisRouter;
33
+ //# sourceMappingURL=V1JISRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1JISRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/routers/v1/V1JISRouter.ts"],"names":[],"mappings":";;;AACA,qCAAgD;AAChD,qDAAoD;AACpD,yDAAoD;AACpD,sFAAmF;AAEnF,+DAAuE;AACvE,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAAoE;AAEpE,MAAa,WAAY,SAAQ,+BAAc;IAK3C;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QALlB,WAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QAUxB,eAAU,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,uBAAuB,EACvB;gBACI,IAAA,yBAAK,EAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;gBAClD,IAAA,yBAAK,EAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;gBAChD,IAAA,yBAAK,EAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;aACpD,EACD,wBAAW;YACX,yDAAyD;YACzD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CACnD,CAAC;QACN,CAAC,CAAC;QAjBE,IAAI,CAAC,gBAAgB,GAAG,mBAAc,CAAC,OAAO,CAAqB,uBAAU,CAAC,kBAAkB,CAAC,CAAC;QAClG,IAAI,CAAC,qBAAqB,GAAG,mBAAc,CAAC,OAAO,CAAwB,oBAAc,CAAC,qBAAqB,CAAC,CAAC;QACjH,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CAeJ;AAzBD,kCAyBC;AAED,MAAM,WAAW,GAAmB,IAAI,WAAW,EAAE,CAAC;AAE7C,kCAAW"}
@@ -0,0 +1 @@
1
+ export { v1JisRouter } from "./V1JISRouter";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.v1JisRouter = void 0;
4
+ var V1JISRouter_1 = require("./V1JISRouter");
5
+ Object.defineProperty(exports, "v1JisRouter", { enumerable: true, get: function () { return V1JISRouter_1.v1JisRouter; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/routers/v1/index.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
@@ -0,0 +1,10 @@
1
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
2
+ import { IJISEventCustomFormatDto } from "../domain/IJISEventsInterfaces";
3
+ import { JISEventsModel } from "../../../schema-definitions/jis/models/JISEventsModel";
4
+ import { TranslationHelper } from "../helpers/TranslationHelper";
5
+ export declare class JISEventsCustomFormatTransformation extends AbstractTransformation<JISEventsModel, IJISEventCustomFormatDto> {
6
+ private translationHelper;
7
+ constructor(translationHelper: TranslationHelper);
8
+ name: string;
9
+ protected transformInternal: (event: JISEventsModel) => IJISEventCustomFormatDto;
10
+ }