@golemio/pid 3.12.1 → 3.12.2-dev.1783567547
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/example/00_clear_test_data.sql +3 -1
- package/db/example/22_jis_events.sql +551 -0
- package/db/migrations/postgresql/20250415115907-jis-events.js +53 -0
- package/db/migrations/postgresql/sqls/20250415115907-jis-events-down.sql +3 -0
- package/db/migrations/postgresql/sqls/20250415115907-jis-events-up.sql +30 -0
- package/dist/{output-gateway/shared/constants/jis/InfotextSeverityLevelEnum.d.ts → helpers/jis/JISEventSeverityLevelEnum.d.ts} +1 -1
- package/dist/helpers/jis/JISEventSeverityLevelEnum.js +10 -0
- package/dist/helpers/jis/JISEventSeverityLevelEnum.js.map +1 -0
- package/dist/helpers/jis/JISInfotextSeverityLevelEnum.d.ts +5 -0
- package/dist/helpers/jis/JISInfotextSeverityLevelEnum.js +10 -0
- package/dist/helpers/jis/JISInfotextSeverityLevelEnum.js.map +1 -0
- package/dist/input-gateway/jis/JisInfotextsRouter.d.ts +4 -2
- package/dist/input-gateway/jis/JisInfotextsRouter.js +19 -5
- package/dist/input-gateway/jis/JisInfotextsRouter.js.map +1 -1
- package/dist/input-gateway/jis/controllers/JisEventsController.d.ts +9 -0
- package/dist/input-gateway/jis/controllers/JisEventsController.js +28 -0
- package/dist/input-gateway/jis/controllers/JisEventsController.js.map +1 -0
- package/dist/input-gateway/jis/{JisInfotextsController.js → controllers/JisInfotextsController.js} +1 -1
- package/dist/input-gateway/jis/controllers/JisInfotextsController.js.map +1 -0
- package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +0 -1
- package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
- package/dist/integration-engine/data-retention/ioc/RetentionContainerToken.js +1 -1
- package/dist/integration-engine/data-retention/ioc/RetentionContainerToken.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.js +9 -9
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/jis/datasources/JISEventsDataSourceFactory.d.ts +10 -0
- package/dist/integration-engine/jis/datasources/JISEventsDataSourceFactory.js +52 -0
- package/dist/integration-engine/jis/datasources/JISEventsDataSourceFactory.js.map +1 -0
- package/dist/integration-engine/jis/ioc/Di.js +16 -2
- package/dist/integration-engine/jis/ioc/Di.js.map +1 -1
- package/dist/integration-engine/jis/ioc/JISContainerToken.d.ts +8 -1
- package/dist/integration-engine/jis/ioc/JISContainerToken.js +15 -8
- package/dist/integration-engine/jis/ioc/JISContainerToken.js.map +1 -1
- package/dist/integration-engine/jis/repositories/JISEventsRepository.d.ts +29 -0
- package/dist/integration-engine/jis/repositories/JISEventsRepository.js +113 -0
- package/dist/integration-engine/jis/repositories/JISEventsRepository.js.map +1 -0
- package/dist/integration-engine/jis/repositories/JISEventsRopidGTFSRoutesRepository.d.ts +30 -0
- package/dist/integration-engine/jis/repositories/JISEventsRopidGTFSRoutesRepository.js +88 -0
- package/dist/integration-engine/jis/repositories/JISEventsRopidGTFSRoutesRepository.js.map +1 -0
- package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js +4 -1
- package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js.map +1 -1
- package/dist/integration-engine/jis/services/JISEventsDataService.d.ts +20 -0
- package/dist/integration-engine/jis/services/JISEventsDataService.js +74 -0
- package/dist/integration-engine/jis/services/JISEventsDataService.js.map +1 -0
- package/dist/integration-engine/jis/transformations/JISEventsTransformation.d.ts +13 -0
- package/dist/integration-engine/jis/transformations/JISEventsTransformation.js +48 -0
- package/dist/integration-engine/jis/transformations/JISEventsTransformation.js.map +1 -0
- package/dist/integration-engine/jis/workers/JISWorker.js +3 -1
- package/dist/integration-engine/jis/workers/JISWorker.js.map +1 -1
- package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.d.ts +9 -0
- package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.js +50 -0
- package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.js.map +1 -0
- package/dist/integration-engine/jis/workers/tasks/RefreshJISEventsTask.d.ts +15 -0
- package/dist/integration-engine/jis/workers/tasks/RefreshJISEventsTask.js +61 -0
- package/dist/integration-engine/jis/workers/tasks/RefreshJISEventsTask.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +29 -29
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +43 -43
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
- package/dist/output-gateway/pid/ioc/OgPidToken.js +22 -22
- package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
- package/dist/output-gateway/pid/service/helpers/PriorityMapper.d.ts +2 -2
- package/dist/output-gateway/pid/service/helpers/PriorityMapper.js +4 -4
- package/dist/output-gateway/pid/service/helpers/PriorityMapper.js.map +1 -1
- package/dist/output-gateway/public/ioc/OgModuleToken.js +26 -26
- package/dist/output-gateway/public/ioc/OgModuleToken.js.map +1 -1
- package/dist/schema-definitions/jis/constants/jisEventCause.d.ts +1 -0
- package/dist/schema-definitions/jis/constants/jisEventCause.js +18 -0
- package/dist/schema-definitions/jis/constants/jisEventCause.js.map +1 -0
- package/dist/schema-definitions/jis/constants/jisEventEffect.d.ts +1 -0
- package/dist/schema-definitions/jis/constants/jisEventEffect.js +17 -0
- package/dist/schema-definitions/jis/constants/jisEventEffect.js.map +1 -0
- package/dist/schema-definitions/jis/datasources/JISEventsJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/jis/datasources/JISEventsJsonSchema.js +88 -0
- package/dist/schema-definitions/jis/datasources/JISEventsJsonSchema.js.map +1 -0
- package/dist/schema-definitions/jis/datasources/JISInfotextsJsonSchema.js +2 -2
- package/dist/schema-definitions/jis/datasources/JISInfotextsJsonSchema.js.map +1 -1
- package/dist/schema-definitions/jis/datasources/interfaces/IJISEvent.d.ts +25 -0
- package/dist/schema-definitions/jis/datasources/interfaces/IJISEvent.js +3 -0
- package/dist/schema-definitions/jis/datasources/interfaces/IJISEvent.js.map +1 -0
- package/dist/schema-definitions/jis/datasources/interfaces/IJISEventRoute.d.ts +3 -0
- package/dist/schema-definitions/jis/datasources/interfaces/IJISEventRoute.js +3 -0
- package/dist/schema-definitions/jis/datasources/interfaces/IJISEventRoute.js.map +1 -0
- package/dist/schema-definitions/jis/datasources/interfaces/IJISInfotext.d.ts +2 -2
- package/dist/schema-definitions/jis/datasources/interfaces/index.d.ts +2 -0
- package/dist/schema-definitions/jis/datasources/interfaces/index.js +2 -0
- package/dist/schema-definitions/jis/datasources/interfaces/index.js.map +1 -1
- package/dist/schema-definitions/jis/models/JISEventsModel.d.ts +28 -0
- package/dist/schema-definitions/jis/models/JISEventsModel.js +137 -0
- package/dist/schema-definitions/jis/models/JISEventsModel.js.map +1 -0
- package/dist/schema-definitions/jis/models/JISEventsRopidGTFSRoutesModel.d.ts +12 -0
- package/dist/schema-definitions/jis/models/JISEventsRopidGTFSRoutesModel.js +41 -0
- package/dist/schema-definitions/jis/models/JISEventsRopidGTFSRoutesModel.js.map +1 -0
- package/dist/schema-definitions/jis/models/JISInfotextsModel.d.ts +2 -2
- package/dist/schema-definitions/jis/models/JISInfotextsModel.js +3 -3
- package/dist/schema-definitions/jis/models/JISInfotextsModel.js.map +1 -1
- package/dist/schema-definitions/jis/models/interfaces/IJISEvent.d.ts +19 -0
- package/dist/schema-definitions/jis/models/interfaces/IJISEvent.js +3 -0
- package/dist/schema-definitions/jis/models/interfaces/IJISEvent.js.map +1 -0
- package/dist/schema-definitions/jis/models/interfaces/IJISEventsRopidGTFSRoutes.d.ts +4 -0
- package/dist/schema-definitions/jis/models/interfaces/IJISEventsRopidGTFSRoutes.js +3 -0
- package/dist/schema-definitions/jis/models/interfaces/IJISEventsRopidGTFSRoutes.js.map +1 -0
- package/dist/schema-definitions/jis/models/interfaces/IJISInfotext.d.ts +2 -2
- package/dist/schema-definitions/jis/models/interfaces/index.d.ts +2 -0
- package/dist/schema-definitions/jis/models/interfaces/index.js +2 -0
- package/dist/schema-definitions/jis/models/interfaces/index.js.map +1 -1
- package/docs/assets/pid_jis_erd.png +0 -0
- package/docs/asyncapi.yaml +278 -55
- package/docs/implementation_documentation.md +45 -1
- package/docs/openapi-input.yaml +328 -58
- package/package.json +2 -2
- package/dist/input-gateway/jis/JisInfotextsController.js.map +0 -1
- package/dist/output-gateway/shared/constants/jis/InfotextSeverityLevelEnum.js +0 -10
- package/dist/output-gateway/shared/constants/jis/InfotextSeverityLevelEnum.js.map +0 -1
- /package/dist/input-gateway/jis/{JisInfotextsController.d.ts → controllers/JisInfotextsController.d.ts} +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JISEventSeverityLevel = void 0;
|
|
4
|
+
var JISEventSeverityLevel;
|
|
5
|
+
(function (JISEventSeverityLevel) {
|
|
6
|
+
JISEventSeverityLevel["Info"] = "INFO";
|
|
7
|
+
JISEventSeverityLevel["Warning"] = "WARNING";
|
|
8
|
+
JISEventSeverityLevel["Severe"] = "SEVERE";
|
|
9
|
+
})(JISEventSeverityLevel || (exports.JISEventSeverityLevel = JISEventSeverityLevel = {}));
|
|
10
|
+
//# sourceMappingURL=JISEventSeverityLevelEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JISEventSeverityLevelEnum.js","sourceRoot":"","sources":["../../../src/helpers/jis/JISEventSeverityLevelEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,sCAAa,CAAA;IACb,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;AACrB,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JISInfotextSeverityLevel = void 0;
|
|
4
|
+
var JISInfotextSeverityLevel;
|
|
5
|
+
(function (JISInfotextSeverityLevel) {
|
|
6
|
+
JISInfotextSeverityLevel["Info"] = "INFO";
|
|
7
|
+
JISInfotextSeverityLevel["Warning"] = "WARNING";
|
|
8
|
+
JISInfotextSeverityLevel["Severe"] = "SEVERE";
|
|
9
|
+
})(JISInfotextSeverityLevel || (exports.JISInfotextSeverityLevel = JISInfotextSeverityLevel = {}));
|
|
10
|
+
//# sourceMappingURL=JISInfotextSeverityLevelEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JISInfotextSeverityLevelEnum.js","sourceRoot":"","sources":["../../../src/helpers/jis/JISInfotextSeverityLevelEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAChC,yCAAa,CAAA;IACb,+CAAmB,CAAA;IACnB,6CAAiB,CAAA;AACrB,CAAC,EAJW,wBAAwB,wCAAxB,wBAAwB,QAInC"}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
import { Router } from "@golemio/core/dist/shared/express";
|
|
3
3
|
export declare class JisInfotextsRouter {
|
|
4
4
|
router: Router;
|
|
5
|
-
private
|
|
5
|
+
private eventsController;
|
|
6
|
+
private infotextsController;
|
|
6
7
|
constructor();
|
|
7
8
|
private initRoutes;
|
|
8
|
-
private
|
|
9
|
+
private postEvents;
|
|
10
|
+
private postInfotexts;
|
|
9
11
|
}
|
|
@@ -3,12 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.JisInfotextsRouter = void 0;
|
|
4
4
|
const CheckContentTypeMiddleware_1 = require("@golemio/core/dist/input-gateway/helpers/CheckContentTypeMiddleware");
|
|
5
5
|
const express_1 = require("@golemio/core/dist/shared/express");
|
|
6
|
-
const
|
|
6
|
+
const JisEventsController_1 = require("./controllers/JisEventsController");
|
|
7
|
+
const JisInfotextsController_1 = require("./controllers/JisInfotextsController");
|
|
7
8
|
class JisInfotextsRouter {
|
|
8
9
|
constructor() {
|
|
9
|
-
this.
|
|
10
|
+
this.postEvents = async (req, res, next) => {
|
|
10
11
|
try {
|
|
11
|
-
await this.
|
|
12
|
+
await this.eventsController.processData(req.body);
|
|
13
|
+
res.sendStatus(204);
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
next(err);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
this.postInfotexts = async (req, res, next) => {
|
|
20
|
+
try {
|
|
21
|
+
await this.infotextsController.processData(req.body);
|
|
12
22
|
res.sendStatus(204);
|
|
13
23
|
}
|
|
14
24
|
catch (err) {
|
|
@@ -16,11 +26,15 @@ class JisInfotextsRouter {
|
|
|
16
26
|
}
|
|
17
27
|
};
|
|
18
28
|
this.router = (0, express_1.Router)();
|
|
19
|
-
this.
|
|
29
|
+
this.eventsController = new JisEventsController_1.JISEventsController();
|
|
30
|
+
this.infotextsController = new JisInfotextsController_1.JisInfotextsController();
|
|
20
31
|
this.initRoutes();
|
|
21
32
|
}
|
|
22
33
|
initRoutes() {
|
|
23
|
-
this
|
|
34
|
+
// TODO: Either rename this router to just "JISRouter", or move to a separate "JISEventsRouter"
|
|
35
|
+
// TODO: This can be done later along with possible addition of RouterLoader to (VP) Input Gateway
|
|
36
|
+
this.router.post("/events", (0, CheckContentTypeMiddleware_1.checkContentTypeMiddleware)(["application/json"]), this.postEvents);
|
|
37
|
+
this.router.post("/infotexts", (0, CheckContentTypeMiddleware_1.checkContentTypeMiddleware)(["application/json"]), this.postInfotexts);
|
|
24
38
|
}
|
|
25
39
|
}
|
|
26
40
|
exports.JisInfotextsRouter = JisInfotextsRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JisInfotextsRouter.js","sourceRoot":"","sources":["../../../src/input-gateway/jis/JisInfotextsRouter.ts"],"names":[],"mappings":";;;AAAA,oHAAiH;AACjH,+DAA4F;AAC5F,
|
|
1
|
+
{"version":3,"file":"JisInfotextsRouter.js","sourceRoot":"","sources":["../../../src/input-gateway/jis/JisInfotextsRouter.ts"],"names":[],"mappings":";;;AAAA,oHAAiH;AACjH,+DAA4F;AAC5F,2EAAwE;AACxE,iFAA8E;AAE9E,MAAa,kBAAkB;IAK3B;QAcQ,eAAU,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC1F,IAAI;gBACA,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QAEM,kBAAa,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC7F,IAAI;gBACA,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QA7BE,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,+CAAsB,EAAE,CAAC;QACxD,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAEO,UAAU;QACd,+FAA+F;QAC/F,kGAAkG;QAClG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAA,uDAA0B,EAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAA,uDAA0B,EAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzG,CAAC;CAmBJ;AApCD,gDAoCC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseController } from "@golemio/core/dist/input-gateway/controllers";
|
|
2
|
+
import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
|
|
3
|
+
export declare class JISEventsController extends BaseController {
|
|
4
|
+
name: string;
|
|
5
|
+
protected validator: JSONSchemaValidator;
|
|
6
|
+
protected queuePrefix: string;
|
|
7
|
+
constructor();
|
|
8
|
+
processData: (inputData: any) => Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JISEventsController = void 0;
|
|
4
|
+
const JISEventsJsonSchema_1 = require("../../../schema-definitions/jis/datasources/JISEventsJsonSchema");
|
|
5
|
+
const controllers_1 = require("@golemio/core/dist/input-gateway/controllers");
|
|
6
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
7
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
8
|
+
class JISEventsController extends controllers_1.BaseController {
|
|
9
|
+
constructor() {
|
|
10
|
+
super("jis", new golemio_validator_1.JSONSchemaValidator("JISEventsDataValidation", JISEventsJsonSchema_1.jisEventsJsonSchema));
|
|
11
|
+
this.processData = async (inputData) => {
|
|
12
|
+
try {
|
|
13
|
+
await this.validator.Validate(inputData);
|
|
14
|
+
await this.sendMessageToExchange("input." + this.queuePrefix + ".refreshJISEvents", JSON.stringify(inputData));
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
18
|
+
throw err;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
throw new golemio_errors_1.GeneralError("Error while validating input data.", this.constructor.name, err, 422);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.JISEventsController = JISEventsController;
|
|
28
|
+
//# sourceMappingURL=JisEventsController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JisEventsController.js","sourceRoot":"","sources":["../../../../src/input-gateway/jis/controllers/JisEventsController.ts"],"names":[],"mappings":";;;AAAA,yGAA+E;AAC/E,8EAA8E;AAC9E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAa,mBAAoB,SAAQ,4BAAc;IAKnD;QACI,KAAK,CAAC,KAAK,EAAE,IAAI,uCAAmB,CAAC,yBAAyB,EAAE,yCAAmB,CAAC,CAAC,CAAC;QAGnF,gBAAW,GAAG,KAAK,EAAE,SAAc,EAAiB,EAAE;YACzD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;aAClH;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACjG;aACJ;QACL,CAAC,CAAC;IAbF,CAAC;CAcJ;AArBD,kDAqBC"}
|
package/dist/input-gateway/jis/{JisInfotextsController.js → controllers/JisInfotextsController.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JisInfotextsController = void 0;
|
|
4
|
-
const JISInfotextsJsonSchema_1 = require("
|
|
4
|
+
const JISInfotextsJsonSchema_1 = require("../../../schema-definitions/jis/datasources/JISInfotextsJsonSchema");
|
|
5
5
|
const controllers_1 = require("@golemio/core/dist/input-gateway/controllers");
|
|
6
6
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
7
7
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JisInfotextsController.js","sourceRoot":"","sources":["../../../../src/input-gateway/jis/controllers/JisInfotextsController.ts"],"names":[],"mappings":";;;AAAA,+GAAqF;AACrF,8EAA8E;AAC9E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAa,sBAAuB,SAAQ,4BAAc;IAKtD;QACI,KAAK,CAAC,KAAK,EAAE,IAAI,uCAAmB,CAAC,4BAA4B,EAAE,+CAAsB,CAAC,CAAC,CAAC;QAGzF,gBAAW,GAAG,KAAK,EAAE,SAAc,EAAiB,EAAE;YACzD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;aACrH;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACjG;aACJ;QACL,CAAC,CAAC;IAbF,CAAC;CAcJ;AArBD,wDAqBC"}
|
|
@@ -20,7 +20,6 @@ class VehiclePositionsController extends controllers_1.BaseController {
|
|
|
20
20
|
const dataBatches = this.splitData(inputData);
|
|
21
21
|
for (const batch of dataBatches) {
|
|
22
22
|
await this.sendMessageToExchange("input." + this.queuePrefix + ".saveDataToDB", JSON.stringify(batch), {
|
|
23
|
-
persistent: true,
|
|
24
23
|
timestamp: new Date().getTime(),
|
|
25
24
|
});
|
|
26
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VehiclePositionsController.js","sourceRoot":"","sources":["../../../src/input-gateway/vehicle-positions/VehiclePositionsController.ts"],"names":[],"mappings":";;;AAAA,kFAA0D;AAG1D,wEAAqE;AACrE,8EAA8E;AAC9E,8DAA6E;AAC7E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAa,0BAA2B,SAAQ,4BAAc;IAM1D;QACI,KAAK,CACD,oCAAgB,CAAC,IAAI,EACrB,IAAI,uCAAmB,CAAC,oCAAgB,CAAC,IAAI,GAAG,YAAY,EAAE,oCAAgB,CAAC,oBAAoB,CAAC,CACvG,CAAC;QAMN;;WAEG;QACI,gBAAW,GAAG,KAAK,EAAE,SAA2B,EAAiB,EAAE;YACtE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACnG,
|
|
1
|
+
{"version":3,"file":"VehiclePositionsController.js","sourceRoot":"","sources":["../../../src/input-gateway/vehicle-positions/VehiclePositionsController.ts"],"names":[],"mappings":";;;AAAA,kFAA0D;AAG1D,wEAAqE;AACrE,8EAA8E;AAC9E,8DAA6E;AAC7E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAa,0BAA2B,SAAQ,4BAAc;IAM1D;QACI,KAAK,CACD,oCAAgB,CAAC,IAAI,EACrB,IAAI,uCAAmB,CAAC,oCAAgB,CAAC,IAAI,GAAG,YAAY,EAAE,oCAAgB,CAAC,oBAAoB,CAAC,CACvG,CAAC;QAMN;;WAEG;QACI,gBAAW,GAAG,KAAK,EAAE,SAA2B,EAAiB,EAAE;YACtE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACnG,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;qBAClC,CAAC,CAAC;iBACN;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,IAAsB,EAAsB,EAAE;YAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBAChF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;aACvC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QArCE,MAAM,MAAM,GAAG,2BAAqB,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,4CAA4C,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CAmCJ;AAjDD,gEAiDC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RetentionContainerToken = void 0;
|
|
4
4
|
const RetentionContainerToken = {
|
|
5
|
-
TableStorageRetentionTask: Symbol(),
|
|
5
|
+
TableStorageRetentionTask: Symbol("TableStorageRetentionTask"),
|
|
6
6
|
};
|
|
7
7
|
exports.RetentionContainerToken = RetentionContainerToken;
|
|
8
8
|
//# sourceMappingURL=RetentionContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RetentionContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-retention/ioc/RetentionContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RetentionContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-retention/ioc/RetentionContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;CACjE,CAAC;AAEO,0DAAuB"}
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ModuleContainerToken = void 0;
|
|
4
4
|
const ModuleContainerToken = {
|
|
5
|
-
GeoMeasurementHelper: Symbol(),
|
|
6
|
-
DeparturePresetsRepository: Symbol(),
|
|
7
|
-
RopidDeparturesPresetsTransformation: Symbol(),
|
|
8
|
-
GrafanaLokiDataSourceProvider: Symbol(),
|
|
9
|
-
PresetLogDataSourceFactory: Symbol(),
|
|
10
|
-
PresetLogTransformation: Symbol(),
|
|
11
|
-
PresetLogRepository: Symbol(),
|
|
12
|
-
PresetLogFilter: Symbol(),
|
|
13
|
-
RopidMonitoringService: Symbol(),
|
|
5
|
+
GeoMeasurementHelper: Symbol("GeoMeasurementHelper"),
|
|
6
|
+
DeparturePresetsRepository: Symbol("DeparturePresetsRepository"),
|
|
7
|
+
RopidDeparturesPresetsTransformation: Symbol("RopidDeparturesPresetsTransformation"),
|
|
8
|
+
GrafanaLokiDataSourceProvider: Symbol("GrafanaLokiDataSourceProvider"),
|
|
9
|
+
PresetLogDataSourceFactory: Symbol("PresetLogDataSourceFactory"),
|
|
10
|
+
PresetLogTransformation: Symbol("PresetLogTransformation"),
|
|
11
|
+
PresetLogRepository: Symbol("PresetLogRepository"),
|
|
12
|
+
PresetLogFilter: Symbol("PresetLogFilter"),
|
|
13
|
+
RopidMonitoringService: Symbol("RopidMonitoringService"),
|
|
14
14
|
};
|
|
15
15
|
exports.ModuleContainerToken = ModuleContainerToken;
|
|
16
16
|
//# sourceMappingURL=ModuleContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,oCAAoC,EAAE,MAAM,CAAC,sCAAsC,CAAC;IACpF,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;CAC3D,CAAC;AAEO,oDAAoB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IJISEvent } from "../../../schema-definitions/jis/datasources/interfaces";
|
|
2
|
+
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
3
|
+
import { IDataSource } from "@golemio/core/dist/integration-engine";
|
|
4
|
+
export declare class JISEventsDataSourceFactory {
|
|
5
|
+
private config;
|
|
6
|
+
constructor(config: ISimpleConfig);
|
|
7
|
+
private static DATASOURCE_NAME;
|
|
8
|
+
getDataSource(etag?: string): IDataSource<IJISEvent[]>;
|
|
9
|
+
private getProtocolStrategy;
|
|
10
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
var JISEventsDataSourceFactory_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.JISEventsDataSourceFactory = void 0;
|
|
17
|
+
const JISEventsJsonSchema_1 = require("../../../schema-definitions/jis/datasources/JISEventsJsonSchema");
|
|
18
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
19
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
20
|
+
const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
|
|
21
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
22
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
23
|
+
let JISEventsDataSourceFactory = exports.JISEventsDataSourceFactory = JISEventsDataSourceFactory_1 = class JISEventsDataSourceFactory {
|
|
24
|
+
constructor(config) {
|
|
25
|
+
this.config = config;
|
|
26
|
+
}
|
|
27
|
+
getDataSource(etag) {
|
|
28
|
+
return new integration_engine_1.DataSource(JISEventsDataSourceFactory_1.DATASOURCE_NAME, this.getProtocolStrategy(etag), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(JISEventsDataSourceFactory_1.DATASOURCE_NAME + "Validator", JISEventsJsonSchema_1.jisEventsJsonSchema));
|
|
29
|
+
}
|
|
30
|
+
getProtocolStrategy(etag) {
|
|
31
|
+
const baseUrl = this.config.getValue("module.pid.jis.baseUrl");
|
|
32
|
+
let headers = this.config.getValue("module.pid.jis.events.headers");
|
|
33
|
+
const urlPath = this.config.getValue("module.pid.jis.events.path");
|
|
34
|
+
const url = new URL(urlPath, baseUrl).toString();
|
|
35
|
+
if (typeof etag === "string") {
|
|
36
|
+
headers = { ...headers, "If-None-Match": etag, "Cache-Control": "no-store" };
|
|
37
|
+
}
|
|
38
|
+
return new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
39
|
+
method: "GET",
|
|
40
|
+
url,
|
|
41
|
+
headers,
|
|
42
|
+
timeoutInSeconds: 20,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
JISEventsDataSourceFactory.DATASOURCE_NAME = "JISEventsDataSource";
|
|
47
|
+
exports.JISEventsDataSourceFactory = JISEventsDataSourceFactory = JISEventsDataSourceFactory_1 = __decorate([
|
|
48
|
+
(0, tsyringe_1.injectable)(),
|
|
49
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
50
|
+
__metadata("design:paramtypes", [Object])
|
|
51
|
+
], JISEventsDataSourceFactory);
|
|
52
|
+
//# sourceMappingURL=JISEventsDataSourceFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JISEventsDataSourceFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/datasources/JISEventsDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,yGAA+E;AAE/E,wEAAqE;AACrE,8EAAwH;AACxH,6IAA0I;AAC1I,mFAAkF;AAClF,iEAAwE;AAGjE,IAAM,0BAA0B,uEAAhC,MAAM,0BAA0B;IACnC,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAItE,aAAa,CAAC,IAAa;QAC9B,OAAO,IAAI,+BAAU,CACjB,4BAA0B,CAAC,eAAe,EAC1C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAC9B,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,4BAA0B,CAAC,eAAe,GAAG,WAAW,EAAE,yCAAmB,CAAC,CACzG,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,IAAa;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,wBAAwB,CAAC,CAAC;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAc,+BAA+B,CAAgB,CAAC;QAChG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,4BAA4B,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEjD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;SAChF;QAED,OAAO,IAAI,qDAAyB,CAAC;YACjC,MAAM,EAAE,KAAK;YACb,GAAG;YACH,OAAO;YACP,gBAAgB,EAAE,EAAE;SACvB,CAAC,CAAC;IACP,CAAC;;AA3Bc,0CAAe,GAAG,qBAAqB,AAAxB,CAAyB;qCAH9C,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GADlC,0BAA0B,CA+BtC"}
|
|
@@ -2,34 +2,48 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JISContainer = void 0;
|
|
4
4
|
const Di_1 = require("../../ioc/Di");
|
|
5
|
+
const JISEventsDataSourceFactory_1 = require("../datasources/JISEventsDataSourceFactory");
|
|
5
6
|
const JISInfotextsDataSourceFactory_1 = require("../datasources/JISInfotextsDataSourceFactory");
|
|
7
|
+
const JISEventsRepository_1 = require("../repositories/JISEventsRepository");
|
|
8
|
+
const JISEventsRopidGTFSRoutesRepository_1 = require("../repositories/JISEventsRopidGTFSRoutesRepository");
|
|
6
9
|
const JISInfotextsRepository_1 = require("../repositories/JISInfotextsRepository");
|
|
7
10
|
const JISInfotextsRopidGTFSStopsRepository_1 = require("../repositories/JISInfotextsRopidGTFSStopsRepository");
|
|
8
11
|
const JISMetadataRepository_1 = require("../repositories/JISMetadataRepository");
|
|
12
|
+
const JISEventsDataService_1 = require("../services/JISEventsDataService");
|
|
9
13
|
const JISInfotextsDataService_1 = require("../services/JISInfotextsDataService");
|
|
14
|
+
const JISEventsTransformation_1 = require("../transformations/JISEventsTransformation");
|
|
10
15
|
const JISInfotextsTransformation_1 = require("../transformations/JISInfotextsTransformation");
|
|
16
|
+
const FetchJISEventsTask_1 = require("../workers/tasks/FetchJISEventsTask");
|
|
17
|
+
const FetchJISInfotextsTask_1 = require("../workers/tasks/FetchJISInfotextsTask");
|
|
18
|
+
const RefreshJISEventsTask_1 = require("../workers/tasks/RefreshJISEventsTask");
|
|
11
19
|
const RefreshJISInfotextsTask_1 = require("../workers/tasks/RefreshJISInfotextsTask");
|
|
12
20
|
const JISContainerToken_1 = require("./JISContainerToken");
|
|
13
|
-
const FetchJISInfotextsTask_1 = require("../workers/tasks/FetchJISInfotextsTask");
|
|
14
21
|
//#region Initialization
|
|
15
22
|
const JISContainer = Di_1.PidContainer.createChildContainer();
|
|
16
23
|
exports.JISContainer = JISContainer;
|
|
17
24
|
//#endregion
|
|
18
25
|
//#region Data Sources
|
|
26
|
+
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsDataSourceFactory, JISEventsDataSourceFactory_1.JISEventsDataSourceFactory);
|
|
19
27
|
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsDataSourceFactory, JISInfotextsDataSourceFactory_1.JISInfotextsDataSourceFactory);
|
|
20
28
|
//#endregion
|
|
21
29
|
//#region Repositories
|
|
30
|
+
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsRepository, JISEventsRepository_1.JISEventsRepository);
|
|
31
|
+
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsRopidGTFSRoutesRepository, JISEventsRopidGTFSRoutesRepository_1.JISEventsRopidGTFSRoutesRepository);
|
|
22
32
|
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsRepository, JISInfotextsRepository_1.JISInfotextsRepository);
|
|
23
33
|
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsRopidGTFSStopsRepository, JISInfotextsRopidGTFSStopsRepository_1.JISInfotextsRopidGTFSStopsRepository);
|
|
24
34
|
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISMetadataRepository, JISMetadataRepository_1.JISMetadataRepository);
|
|
25
35
|
//#endregion
|
|
26
36
|
//#region Services
|
|
37
|
+
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsDataService, JISEventsDataService_1.JISEventsDataService);
|
|
27
38
|
JISContainer.register(JISContainerToken_1.JISContainerToken.JISInfotextsDataService, JISInfotextsDataService_1.JISInfotextsDataService);
|
|
28
39
|
//#endregion
|
|
29
40
|
//#region Tasks
|
|
30
|
-
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.
|
|
41
|
+
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.FetchJISEventsTask, FetchJISEventsTask_1.FetchJISEventsTask);
|
|
31
42
|
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.FetchJISInfotextsTask, FetchJISInfotextsTask_1.FetchJISInfotextsTask);
|
|
43
|
+
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.RefreshJISEventsTask, RefreshJISEventsTask_1.RefreshJISEventsTask);
|
|
44
|
+
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.RefreshJISInfotextsTask, RefreshJISInfotextsTask_1.RefreshJISInfotextsTask);
|
|
32
45
|
//#endregion
|
|
33
46
|
//#region Transformations
|
|
47
|
+
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsTransformation, JISEventsTransformation_1.JISEventsTransformation);
|
|
34
48
|
JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsTransformation, JISInfotextsTransformation_1.JISInfotextsTransformation);
|
|
35
49
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,gGAA6F;AAC7F,mFAAgF;AAChF,+GAA4G;AAC5G,iFAA8E;AAC9E,iFAA8E;AAC9E,8FAA2F;AAC3F,
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,0FAAuF;AACvF,gGAA6F;AAC7F,6EAA0E;AAC1E,2GAAwG;AACxG,mFAAgF;AAChF,+GAA4G;AAC5G,iFAA8E;AAC9E,2EAAwE;AACxE,iFAA8E;AAC9E,wFAAqF;AACrF,8FAA2F;AAC3F,4EAAyE;AACzE,kFAA+E;AAC/E,gFAA6E;AAC7E,sFAAmF;AACnF,2DAAwD;AAExD,wBAAwB;AACxB,MAAM,YAAY,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAiCrE,oCAAY;AAhCrB,YAAY;AAEZ,sBAAsB;AACtB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACzG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC/G,YAAY;AAEZ,sBAAsB;AACtB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AAC3F,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AACjG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,oCAAoC,EAAE,2EAAoC,CAAC,CAAC;AAC7H,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,YAAY;AAEZ,kBAAkB;AAClB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAC7F,YAAY,CAAC,QAAQ,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC1F,YAAY;AAEZ,eAAe;AACf,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC,CAAC;AACzF,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAC7F,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AACnG,YAAY;AAEZ,yBAAyB;AACzB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AACnG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
declare const JISContainerToken: {
|
|
2
|
+
JISEventsDataSourceFactory: symbol;
|
|
2
3
|
JISInfotextsDataSourceFactory: symbol;
|
|
4
|
+
JISEventsRepository: symbol;
|
|
5
|
+
JISEventsRopidGTFSRoutesRepository: symbol;
|
|
3
6
|
JISInfotextsRepository: symbol;
|
|
4
7
|
JISInfotextsRopidGTFSStopsRepository: symbol;
|
|
5
8
|
JISMetadataRepository: symbol;
|
|
9
|
+
JISEventsDataService: symbol;
|
|
6
10
|
JISInfotextsDataService: symbol;
|
|
11
|
+
JISEventsTransformation: symbol;
|
|
7
12
|
JISInfotextsTransformation: symbol;
|
|
8
|
-
|
|
13
|
+
FetchJISEventsTask: symbol;
|
|
9
14
|
FetchJISInfotextsTask: symbol;
|
|
15
|
+
RefreshJISEventsTask: symbol;
|
|
16
|
+
RefreshJISInfotextsTask: symbol;
|
|
10
17
|
};
|
|
11
18
|
export { JISContainerToken };
|
|
@@ -3,18 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.JISContainerToken = void 0;
|
|
4
4
|
const JISContainerToken = {
|
|
5
5
|
/* Data Sources */
|
|
6
|
-
|
|
6
|
+
JISEventsDataSourceFactory: Symbol("JISEventsDataSourceFactory"),
|
|
7
|
+
JISInfotextsDataSourceFactory: Symbol("JISInfotextsDataSourceFactory"),
|
|
7
8
|
/* Repositories */
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
JISEventsRepository: Symbol("JISEventsRepository"),
|
|
10
|
+
JISEventsRopidGTFSRoutesRepository: Symbol("JISEventsRopidGTFSRoutesRepository"),
|
|
11
|
+
JISInfotextsRepository: Symbol("JISInfotextsRepository"),
|
|
12
|
+
JISInfotextsRopidGTFSStopsRepository: Symbol("JISInfotextsRopidGTFSStopsRepository"),
|
|
13
|
+
JISMetadataRepository: Symbol("JISMetadataRepository"),
|
|
11
14
|
/* Services */
|
|
12
|
-
|
|
15
|
+
JISEventsDataService: Symbol("JISEventsDataService"),
|
|
16
|
+
JISInfotextsDataService: Symbol("JISInfotextsDataService"),
|
|
13
17
|
/* Transformations */
|
|
14
|
-
|
|
18
|
+
JISEventsTransformation: Symbol("JISEventsTransformation"),
|
|
19
|
+
JISInfotextsTransformation: Symbol("JISInfotextsTransformation"),
|
|
15
20
|
/* Tasks */
|
|
16
|
-
|
|
17
|
-
FetchJISInfotextsTask: Symbol(),
|
|
21
|
+
FetchJISEventsTask: Symbol("FetchJISEventsTask"),
|
|
22
|
+
FetchJISInfotextsTask: Symbol("FetchJISInfotextsTask"),
|
|
23
|
+
RefreshJISEventsTask: Symbol("RefreshJISEventsTask"),
|
|
24
|
+
RefreshJISInfotextsTask: Symbol("RefreshJISInfotextsTask"),
|
|
18
25
|
};
|
|
19
26
|
exports.JISContainerToken = JISContainerToken;
|
|
20
27
|
//# sourceMappingURL=JISContainerToken.js.map
|
|
@@ -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,6BAA6B,EAAE,MAAM,
|
|
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,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,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,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,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;CAC7D,CAAC;AAEO,8CAAiB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { JISEventsModel } from "../../../schema-definitions/jis/models/JISEventsModel";
|
|
2
|
+
import { IJISEvent } 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 { Transaction } from "@golemio/core/dist/shared/sequelize";
|
|
8
|
+
type RepositoryOptions = {
|
|
9
|
+
transaction?: Transaction;
|
|
10
|
+
};
|
|
11
|
+
export declare class JISEventsRepository extends AbstractValidatableRepository {
|
|
12
|
+
private logger;
|
|
13
|
+
validator: JSONSchemaValidator;
|
|
14
|
+
schema: string;
|
|
15
|
+
tableName: string;
|
|
16
|
+
private sequelizeModel;
|
|
17
|
+
constructor(connector: IDatabaseConnector, logger: ILogger);
|
|
18
|
+
deleteAndCountAllLastUpdatedBefore(dateTime: Date, options?: RepositoryOptions): Promise<number>;
|
|
19
|
+
/**
|
|
20
|
+
* Refresh all data from VYMI and delete old data
|
|
21
|
+
*
|
|
22
|
+
* @param data The data to be upserted
|
|
23
|
+
* @param options Options for the operation
|
|
24
|
+
*/
|
|
25
|
+
refreshData(data: IJISEvent[], options?: RepositoryOptions): Promise<JISEventsModel[]>;
|
|
26
|
+
private getUpdateAttributes;
|
|
27
|
+
deleteAndCountAll(options?: RepositoryOptions): Promise<number>;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,113 @@
|
|
|
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_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
|
+
let JISEventsRepository = exports.JISEventsRepository = class JISEventsRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
|
|
25
|
+
constructor(connector, logger) {
|
|
26
|
+
super(connector, logger);
|
|
27
|
+
this.logger = logger;
|
|
28
|
+
this.schema = const_1.PG_SCHEMA;
|
|
29
|
+
this.tableName = JISEventsModel_1.JISEventsModel.tableName;
|
|
30
|
+
this.validator = new golemio_validator_1.JSONSchemaValidator("JISEventsRepository", JISEventsModel_1.JISEventsModel.jsonSchema);
|
|
31
|
+
this.sequelizeModel = connector
|
|
32
|
+
.getConnection()
|
|
33
|
+
.define(this.tableName, JISEventsModel_1.JISEventsModel.attributeModel, { schema: this.schema });
|
|
34
|
+
}
|
|
35
|
+
async deleteAndCountAllLastUpdatedBefore(dateTime, options) {
|
|
36
|
+
try {
|
|
37
|
+
return await this.sequelizeModel.destroy({
|
|
38
|
+
where: {
|
|
39
|
+
updated_at: { [sequelize_1.Op.lt]: dateTime },
|
|
40
|
+
},
|
|
41
|
+
transaction: options?.transaction,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
throw new golemio_errors_1.GeneralError("Error in deleteAndCountAllLastUpdatedBefore", this.constructor.name, err);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Refresh all data from VYMI and delete old data
|
|
50
|
+
*
|
|
51
|
+
* @param data The data to be upserted
|
|
52
|
+
* @param options Options for the operation
|
|
53
|
+
*/
|
|
54
|
+
async refreshData(data, options) {
|
|
55
|
+
try {
|
|
56
|
+
const currentEvents = await this.sequelizeModel.findAll({ transaction: options?.transaction });
|
|
57
|
+
const currentEventsMap = new Map();
|
|
58
|
+
for (const event of currentEvents) {
|
|
59
|
+
currentEventsMap.set(event.id, event);
|
|
60
|
+
}
|
|
61
|
+
const toBeUpserted = [];
|
|
62
|
+
for (const event of data) {
|
|
63
|
+
const info = currentEventsMap.get(event.id);
|
|
64
|
+
if (!info || info.updated_at <= event.updated_timestamp) {
|
|
65
|
+
toBeUpserted.push(event);
|
|
66
|
+
}
|
|
67
|
+
currentEventsMap.delete(event.id);
|
|
68
|
+
}
|
|
69
|
+
const toBeDeleted = [];
|
|
70
|
+
for (const { id } of currentEventsMap.values()) {
|
|
71
|
+
toBeDeleted.push(id);
|
|
72
|
+
}
|
|
73
|
+
const [upserted] = await Promise.all([
|
|
74
|
+
this.sequelizeModel.bulkCreate(toBeUpserted, {
|
|
75
|
+
updateOnDuplicate: this.getUpdateAttributes(),
|
|
76
|
+
transaction: options?.transaction,
|
|
77
|
+
}),
|
|
78
|
+
this.sequelizeModel.destroy({
|
|
79
|
+
where: {
|
|
80
|
+
id: { [sequelize_1.Op.in]: toBeDeleted },
|
|
81
|
+
},
|
|
82
|
+
transaction: options?.transaction,
|
|
83
|
+
}),
|
|
84
|
+
]);
|
|
85
|
+
return upserted;
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
if (err instanceof sequelize_1.ValidationError && err.errors?.length > 0) {
|
|
89
|
+
const mappedErrors = err.errors.map((e) => `${e.message} (${e.value})`).join(", ");
|
|
90
|
+
throw new golemio_errors_1.ValidationError(`Validation error in refreshData: ${mappedErrors}`, this.constructor.name, err, undefined, "pid");
|
|
91
|
+
}
|
|
92
|
+
throw new golemio_errors_1.GeneralError("Error in refreshData", this.constructor.name, err);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
getUpdateAttributes() {
|
|
96
|
+
return Object.keys(JISEventsModel_1.JISEventsModel.attributeModel).filter((attribute) => !["created_at"].includes(attribute));
|
|
97
|
+
}
|
|
98
|
+
async deleteAndCountAll(options) {
|
|
99
|
+
try {
|
|
100
|
+
return await this.sequelizeModel.destroy({ where: {}, transaction: options?.transaction });
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
throw new golemio_errors_1.GeneralError("Error in deleteAndCountAll", this.constructor.name, err);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
exports.JISEventsRepository = JISEventsRepository = __decorate([
|
|
108
|
+
(0, tsyringe_1.injectable)(),
|
|
109
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
|
|
110
|
+
__param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
111
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
112
|
+
], JISEventsRepository);
|
|
113
|
+
//# sourceMappingURL=JISEventsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JISEventsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/JISEventsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { JISEventsRopidGTFSRoutesModel } from "../../../schema-definitions/jis/models/JISEventsRopidGTFSRoutesModel";
|
|
2
|
+
import { IJISEventsRopidGTFSRoutes } 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 JISEventsRopidGTFSRoutesRepository extends AbstractValidatableRepository {
|
|
12
|
+
private logger;
|
|
13
|
+
validator: JSONSchemaValidator;
|
|
14
|
+
schema: string;
|
|
15
|
+
tableName: string;
|
|
16
|
+
private sequelizeModel;
|
|
17
|
+
constructor(connector: IDatabaseConnector, logger: ILogger);
|
|
18
|
+
deleteAndCountAllLastUpdatedBefore(dateTime: Date, options?: RepositoryOptions): Promise<number>;
|
|
19
|
+
/**
|
|
20
|
+
* Insert or update all given data. In case of an update, all attributes except for `created_at` shall be overwritten.
|
|
21
|
+
*
|
|
22
|
+
* @param data The data to be upserted
|
|
23
|
+
* @param options Options for the operation
|
|
24
|
+
* @returns The upserted items
|
|
25
|
+
*/
|
|
26
|
+
upsertAll(data: IJISEventsRopidGTFSRoutes[], options?: RepositoryOptions): ReturnType<ModelStatic<JISEventsRopidGTFSRoutesModel>["bulkCreate"]>;
|
|
27
|
+
private getUpdateAttributes;
|
|
28
|
+
deleteAndCountAll(options?: RepositoryOptions): Promise<number>;
|
|
29
|
+
}
|
|
30
|
+
export {};
|