@golemio/parkings 1.12.0-dev.1402524611 → 1.12.0-dev.1403814762
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/dist/integration-engine/businessRules/DataSourceIntegrationChecker.d.ts +5 -0
- package/dist/integration-engine/businessRules/DataSourceIntegrationChecker.js +27 -0
- package/dist/integration-engine/businessRules/DataSourceIntegrationChecker.js.map +1 -0
- package/dist/integration-engine/workers/ParkingSourcesWorker.js +2 -1
- package/dist/integration-engine/workers/ParkingSourcesWorker.js.map +1 -1
- package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.d.ts +3 -1
- package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.js +3 -1
- package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataSourceIntegrationChecker = void 0;
|
|
4
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
5
|
+
class DataSourceIntegrationChecker {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.disallowedDataSources = new Map([
|
|
8
|
+
["ipr", ["parking", "locations"]],
|
|
9
|
+
["korid", ["parking", "locations"]],
|
|
10
|
+
["mr_parkig", ["parking", "locations", "prohibitions"]],
|
|
11
|
+
["osm", ["parking", "locations"]],
|
|
12
|
+
["smart4city", ["parking", "locations"]],
|
|
13
|
+
["tsk", ["parking", "locations"]],
|
|
14
|
+
["tsk_v2", ["parking", "locations"]],
|
|
15
|
+
]);
|
|
16
|
+
}
|
|
17
|
+
checkAllowedDataSources(inputData) {
|
|
18
|
+
const sourceName = inputData.source;
|
|
19
|
+
const containsDataSource = (disallowed) => inputData[`datasource_${disallowed}`] == null;
|
|
20
|
+
const disallowedFields = this.disallowedDataSources.get(sourceName);
|
|
21
|
+
if (disallowedFields && disallowedFields.every(containsDataSource)) {
|
|
22
|
+
throw new golemio_errors_1.ValidationError(`Disallowed datasource for ${sourceName}!`, "DatasourceIntegrationChecker");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.DataSourceIntegrationChecker = DataSourceIntegrationChecker;
|
|
27
|
+
//# sourceMappingURL=DataSourceIntegrationChecker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceIntegrationChecker.js","sourceRoot":"","sources":["../../../src/integration-engine/businessRules/DataSourceIntegrationChecker.ts"],"names":[],"mappings":";;;AAAA,6EAA2E;AAG3E,MAAa,4BAA4B;IAAzC;QACqB,0BAAqB,GAAG,IAAI,GAAG,CAAmB;YAC/D,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACjC,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACnC,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;YACvD,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACjC,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACxC,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACjC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SACvC,CAAC,CAAC;IAWP,CAAC;IATU,uBAAuB,CAAC,SAAyB;QACpD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;QAEpC,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,UAAU,EAA0B,CAAC,IAAI,IAAI,CAAC;QACzH,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;YAChE,MAAM,IAAI,gCAAe,CAAC,6BAA6B,UAAU,GAAG,EAAE,8BAA8B,CAAC,CAAC;SACzG;IACL,CAAC;CACJ;AApBD,oEAoBC"}
|
|
@@ -6,11 +6,12 @@ const UpdateParkingSourceTask_1 = require("./tasks/UpdateParkingSourceTask");
|
|
|
6
6
|
const ParkingSourcesRepository_1 = require("../repositories/ParkingSourcesRepository");
|
|
7
7
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
8
8
|
const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
9
|
+
const DataSourceIntegrationChecker_1 = require("../businessRules/DataSourceIntegrationChecker");
|
|
9
10
|
class ParkingSourcesWorker extends integration_engine_1.AbstractWorker {
|
|
10
11
|
constructor() {
|
|
11
12
|
super();
|
|
12
13
|
this.name = "ParkingSources";
|
|
13
|
-
const task = new UpdateParkingSourceTask_1.UpdateParkingSourceTask(this.getQueuePrefix(), ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.Logger), new ParkingSourcesRepository_1.ParkingSourcesRepository());
|
|
14
|
+
const task = new UpdateParkingSourceTask_1.UpdateParkingSourceTask(this.getQueuePrefix(), ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.Logger), new ParkingSourcesRepository_1.ParkingSourcesRepository(), new DataSourceIntegrationChecker_1.DataSourceIntegrationChecker());
|
|
14
15
|
this.registerTask(task);
|
|
15
16
|
}
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingSourcesWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/ParkingSourcesWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AACvE,6EAAoF;AACpF,uFAAqF;AACrF,wEAAqE;AAErE,mEAAuF;
|
|
1
|
+
{"version":3,"file":"ParkingSourcesWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/ParkingSourcesWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AACvE,6EAAoF;AACpF,uFAAqF;AACrF,wEAAqE;AAErE,mEAAuF;AACvF,gGAA8F;AAE9F,MAAa,oBAAqB,SAAQ,mCAAc;IAGpD;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAW,gBAAgB,CAAC;QAI/C,MAAM,IAAI,GAAG,IAAI,iDAAuB,CACpC,IAAI,CAAC,cAAc,EAAE,EACrB,gCAA0B,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,EAC7D,IAAI,mDAAwB,EAAE,EAC9B,IAAI,2DAA4B,EAAE,CACrC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACJ;AAbD,oDAaC"}
|
|
@@ -3,12 +3,14 @@ import { ILogger } from "@golemio/core/dist/helpers";
|
|
|
3
3
|
import { ParkingSourcesRepository } from "../../repositories/ParkingSourcesRepository";
|
|
4
4
|
import { IParkingSource } from "../../../schema-definitions/models/interfaces/IParkingSource";
|
|
5
5
|
import { UpdateParkingSourceValidationSchema } from "../schemas/ParkingSourceSchema";
|
|
6
|
+
import { DataSourceIntegrationChecker } from "../../businessRules/DataSourceIntegrationChecker";
|
|
6
7
|
export declare class UpdateParkingSourceTask extends AbstractTask<IParkingSource> {
|
|
7
8
|
private log;
|
|
8
9
|
private repository;
|
|
10
|
+
private integrationChecker;
|
|
9
11
|
readonly queueName = "updateParkingSource";
|
|
10
12
|
readonly queueTtl: number;
|
|
11
13
|
readonly schema: typeof UpdateParkingSourceValidationSchema;
|
|
12
|
-
constructor(queuePrefix: string, log: ILogger, repository: ParkingSourcesRepository);
|
|
14
|
+
constructor(queuePrefix: string, log: ILogger, repository: ParkingSourcesRepository, integrationChecker: DataSourceIntegrationChecker);
|
|
13
15
|
protected execute(data: IParkingSource): Promise<void>;
|
|
14
16
|
}
|
|
@@ -13,10 +13,11 @@ exports.UpdateParkingSourceTask = void 0;
|
|
|
13
13
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
14
14
|
const ParkingSourceSchema_1 = require("../schemas/ParkingSourceSchema");
|
|
15
15
|
class UpdateParkingSourceTask extends integration_engine_1.AbstractTask {
|
|
16
|
-
constructor(queuePrefix, log, repository) {
|
|
16
|
+
constructor(queuePrefix, log, repository, integrationChecker) {
|
|
17
17
|
super(queuePrefix);
|
|
18
18
|
this.log = log;
|
|
19
19
|
this.repository = repository;
|
|
20
|
+
this.integrationChecker = integrationChecker;
|
|
20
21
|
this.queueName = "updateParkingSource";
|
|
21
22
|
this.queueTtl = 3 * 60 * 60 * 1000; // 3h
|
|
22
23
|
this.schema = ParkingSourceSchema_1.UpdateParkingSourceValidationSchema;
|
|
@@ -24,6 +25,7 @@ class UpdateParkingSourceTask extends integration_engine_1.AbstractTask {
|
|
|
24
25
|
execute(data) {
|
|
25
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
27
|
try {
|
|
28
|
+
this.integrationChecker.checkAllowedDataSources(data);
|
|
27
29
|
yield this.repository.save(data);
|
|
28
30
|
}
|
|
29
31
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateParkingSourceTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/UpdateParkingSourceTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAqE;AAIrE,wEAA8F;
|
|
1
|
+
{"version":3,"file":"UpdateParkingSourceTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/UpdateParkingSourceTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAqE;AAIrE,wEAA8F;AAG9F,MAAa,uBAAwB,SAAQ,iCAA4B;IAKrE,YACI,WAAmB,EACX,GAAY,EACZ,UAAoC,EACpC,kBAAgD;QAExD,KAAK,CAAC,WAAW,CAAC,CAAC;QAJX,QAAG,GAAH,GAAG,CAAS;QACZ,eAAU,GAAV,UAAU,CAA0B;QACpC,uBAAkB,GAAlB,kBAAkB,CAA8B;QAR5C,cAAS,GAAG,qBAAqB,CAAC;QAClC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,KAAK;QACpC,WAAM,GAAG,yDAAmC,CAAC;IAS7D,CAAC;IAEe,OAAO,CAAC,IAAoB;;YACxC,IAAI;gBACA,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpC;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;aACjE;QACL,CAAC;KAAA;CACJ;AAtBD,0DAsBC"}
|