@golemio/parkings 1.8.10-dev.1247260302 → 1.8.10-dev.1255286200
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/datasources/parkomats/ParkomatsDataSource.d.ts +8 -0
- package/dist/integration-engine/datasources/parkomats/ParkomatsDataSource.js +53 -0
- package/dist/integration-engine/datasources/parkomats/ParkomatsDataSource.js.map +1 -0
- package/dist/integration-engine/index.d.ts +4 -2
- package/dist/integration-engine/index.js +11 -2
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/ioc/Di.js +8 -0
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +4 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js +6 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/queueDefinitions.js +0 -17
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/integration-engine/repositories/ParkomatsRepository.d.ts +4 -0
- package/dist/integration-engine/repositories/ParkomatsRepository.js +19 -0
- package/dist/integration-engine/repositories/ParkomatsRepository.js.map +1 -0
- package/dist/integration-engine/transformations/ParkomatsTransformation.d.ts +3 -1
- package/dist/integration-engine/transformations/ParkomatsTransformation.js.map +1 -1
- package/dist/integration-engine/workers/ParkomatsWorker.d.ts +6 -0
- package/dist/integration-engine/workers/ParkomatsWorker.js +19 -0
- package/dist/integration-engine/workers/ParkomatsWorker.js.map +1 -0
- package/dist/integration-engine/workers/schemas/ParkomatSchema.d.ts +8 -0
- package/dist/integration-engine/workers/schemas/ParkomatSchema.js +27 -0
- package/dist/integration-engine/workers/schemas/ParkomatSchema.js.map +1 -0
- package/dist/integration-engine/workers/tasks/RefreshDataInDbTask.d.ts +17 -0
- package/dist/integration-engine/workers/tasks/RefreshDataInDbTask.js +76 -0
- package/dist/integration-engine/workers/tasks/RefreshDataInDbTask.js.map +1 -0
- package/docs/implementation-documentation.md +37 -0
- package/package.json +1 -1
- package/dist/integration-engine/ParkomatsWorker.d.ts +0 -10
- package/dist/integration-engine/ParkomatsWorker.js +0 -77
- package/dist/integration-engine/ParkomatsWorker.js.map +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IConfiguration } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
import { IGenericFeature } from "../interfaces/IGenericFeature";
|
|
3
|
+
import { IParkomatInput } from "../../../schema-definitions/parkomats/datasources/interfaces/IParkomatInput";
|
|
4
|
+
export declare class ParkomatsDataSource {
|
|
5
|
+
private config;
|
|
6
|
+
constructor(config: IConfiguration);
|
|
7
|
+
getParkomats(params: string): Promise<Array<IGenericFeature<IParkomatInput>>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.ParkomatsDataSource = void 0;
|
|
25
|
+
const _sch_1 = require("../../../schema-definitions");
|
|
26
|
+
const ParkomatInputSchema_1 = require("../../../schema-definitions/parkomats/datasources/ParkomatInputSchema");
|
|
27
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
28
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
29
|
+
const validator_1 = require("@golemio/validator");
|
|
30
|
+
const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
|
|
31
|
+
const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
32
|
+
let ParkomatsDataSource = exports.ParkomatsDataSource = class ParkomatsDataSource {
|
|
33
|
+
constructor(config) {
|
|
34
|
+
this.config = config;
|
|
35
|
+
}
|
|
36
|
+
getParkomats(params) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
return new integration_engine_1.DataSource(_sch_1.Parkomats.name + "DataSource", new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
39
|
+
headers: {
|
|
40
|
+
authorization: this.config.datasources.TSKParkomatsToken,
|
|
41
|
+
},
|
|
42
|
+
method: "GET",
|
|
43
|
+
url: this.config.datasources.TSKParkomats + "/parkingsessionshistory?" + params,
|
|
44
|
+
}), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), new validator_1.JSONSchemaValidator(_sch_1.Parkomats.name + "DataSource", ParkomatInputSchema_1.ParkomatInputSchema)).getAll();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.ParkomatsDataSource = ParkomatsDataSource = __decorate([
|
|
49
|
+
(0, tsyringe_1.injectable)(),
|
|
50
|
+
__param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
|
|
51
|
+
__metadata("design:paramtypes", [Object])
|
|
52
|
+
], ParkomatsDataSource);
|
|
53
|
+
//# sourceMappingURL=ParkomatsDataSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkomatsDataSource.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/parkomats/ParkomatsDataSource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAiC;AACjC,+GAAqF;AACrF,8EAAyG;AACzG,iEAAwE;AACxE,kDAAyD;AAGzD,6IAA0I;AAC1I,mEAA2E;AAEpE,IAAM,mBAAmB,iCAAzB,MAAM,mBAAmB;IAC5B,YAAmD,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEhE,YAAY,CAAC,MAAc;;YACpC,OAAO,IAAI,+BAAU,CACjB,gBAAS,CAAC,IAAI,GAAG,YAAY,EAC7B,IAAI,qDAAyB,CAAC;gBAC1B,OAAO,EAAE;oBACL,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB;iBAC3D;gBACD,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,GAAG,0BAA0B,GAAG,MAAM;aAClF,CAAC,EACF,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,+BAAmB,CAAC,gBAAS,CAAC,IAAI,GAAG,YAAY,EAAE,yCAAmB,CAAC,CAC9E,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;KAAA;CACJ,CAAA;8BAjBY,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GADjC,mBAAmB,CAiB/B"}
|
|
@@ -3,7 +3,7 @@ import { UpdateAddressWorker } from "./workers/UpdateAddressWorker";
|
|
|
3
3
|
import { NewParkingsWorker } from "./workers/NewParkingsWorker";
|
|
4
4
|
import { TskParkingWorker } from "./workers/TskParkingWorker";
|
|
5
5
|
import { ParkingSourcesWorker } from "./workers/ParkingSourcesWorker";
|
|
6
|
-
|
|
6
|
+
import { ParkomatsWorker } from "./workers/ParkomatsWorker";
|
|
7
7
|
export * from "./transformations/KoridParkingDataTransformation";
|
|
8
8
|
export * from "./transformations/KoridParkingConfigTransformation";
|
|
9
9
|
export * from "./queueDefinitions";
|
|
@@ -13,4 +13,6 @@ export * from "./ZtpParkingZones/ZtpParkingZonesWorker";
|
|
|
13
13
|
export * from "./workers/StaticTariffsWorker";
|
|
14
14
|
export * from "./workers/TskParkingWorker";
|
|
15
15
|
export * from "./workers/ParkingSourcesWorker";
|
|
16
|
-
export
|
|
16
|
+
export * from "./workers/ParkomatsWorker";
|
|
17
|
+
export * from "./transformations/ParkomatsTransformation";
|
|
18
|
+
export declare const workers: (typeof StaticTariffsWorker | typeof UpdateAddressWorker | typeof NewParkingsWorker | typeof TskParkingWorker | typeof ParkingSourcesWorker | typeof ParkomatsWorker)[];
|
|
@@ -21,7 +21,7 @@ const UpdateAddressWorker_1 = require("./workers/UpdateAddressWorker");
|
|
|
21
21
|
const NewParkingsWorker_1 = require("./workers/NewParkingsWorker");
|
|
22
22
|
const TskParkingWorker_1 = require("./workers/TskParkingWorker");
|
|
23
23
|
const ParkingSourcesWorker_1 = require("./workers/ParkingSourcesWorker");
|
|
24
|
-
|
|
24
|
+
const ParkomatsWorker_1 = require("./workers/ParkomatsWorker");
|
|
25
25
|
__exportStar(require("./transformations/KoridParkingDataTransformation"), exports);
|
|
26
26
|
__exportStar(require("./transformations/KoridParkingConfigTransformation"), exports);
|
|
27
27
|
__exportStar(require("./queueDefinitions"), exports);
|
|
@@ -31,5 +31,14 @@ __exportStar(require("./ZtpParkingZones/ZtpParkingZonesWorker"), exports);
|
|
|
31
31
|
__exportStar(require("./workers/StaticTariffsWorker"), exports);
|
|
32
32
|
__exportStar(require("./workers/TskParkingWorker"), exports);
|
|
33
33
|
__exportStar(require("./workers/ParkingSourcesWorker"), exports);
|
|
34
|
-
|
|
34
|
+
__exportStar(require("./workers/ParkomatsWorker"), exports);
|
|
35
|
+
__exportStar(require("./transformations/ParkomatsTransformation"), exports);
|
|
36
|
+
exports.workers = [
|
|
37
|
+
StaticTariffsWorker_1.StaticTariffsWorker,
|
|
38
|
+
UpdateAddressWorker_1.UpdateAddressWorker,
|
|
39
|
+
NewParkingsWorker_1.NewParkingsWorker,
|
|
40
|
+
TskParkingWorker_1.TskParkingWorker,
|
|
41
|
+
ParkingSourcesWorker_1.ParkingSourcesWorker,
|
|
42
|
+
ParkomatsWorker_1.ParkomatsWorker,
|
|
43
|
+
];
|
|
35
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,uEAAsE;AACtE,uEAAsE;AACtE,mEAAgE;AAChE,iEAAgE;AAChE,yEAAwE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,uEAAsE;AACtE,uEAAsE;AACtE,mEAAgE;AAChE,iEAAgE;AAChE,yEAAwE;AACxE,+DAA4D;AAE5D,mFAAiE;AACjE,qFAAmE;AACnE,qDAAmC;AACnC,qFAAmE;AACnE,kFAAgE;AAChE,0EAAwD;AACxD,gEAA8C;AAC9C,6DAA2C;AAC3C,iEAA+C;AAC/C,4DAA0C;AAC1C,4EAA0D;AAE7C,QAAA,OAAO,GAAG;IACnB,yCAAmB;IACnB,yCAAmB;IACnB,qCAAiB;IACjB,mCAAgB;IAChB,2CAAoB;IACpB,iCAAe;CAClB,CAAC"}
|
|
@@ -48,6 +48,10 @@ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
|
48
48
|
const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
|
|
49
49
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
50
50
|
const ModuleContainerToken_1 = require("./ModuleContainerToken");
|
|
51
|
+
const RefreshDataInDbTask_1 = require("../workers/tasks/RefreshDataInDbTask");
|
|
52
|
+
const ParkomatsRepository_1 = require("../repositories/ParkomatsRepository");
|
|
53
|
+
const ParkomatsTransformation_1 = require("../transformations/ParkomatsTransformation");
|
|
54
|
+
const ParkomatsDataSource_1 = require("../datasources/parkomats/ParkomatsDataSource");
|
|
51
55
|
const SaveOsmParkingMachinesTask_1 = require("../workers/tasks/SaveOsmParkingMachinesTask");
|
|
52
56
|
const OsmParkingMachinesDataSource_1 = require("../datasources/osm/OsmParkingMachinesDataSource");
|
|
53
57
|
//#region Initialization
|
|
@@ -81,6 +85,7 @@ parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.
|
|
|
81
85
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.OsmEntrancesDataSource, OsmEntrancesDataSource_1.OsmEntrancesDataSource);
|
|
82
86
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ManualEntrancesDatasource, ManualEntrancesDatasource_1.ManualEntrancesDatasource);
|
|
83
87
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.IptOictDataSource, IptOictDataSource_1.IptOictDataSource);
|
|
88
|
+
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkomatsDataSource, ParkomatsDataSource_1.ParkomatsDataSource);
|
|
84
89
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.IptOictPaymentsDataSource, IptOictPaymentsDataSource_1.IptOictPaymentsDataSource);
|
|
85
90
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.OsmParkingMachinesDataSource, OsmParkingMachinesDataSource_1.OsmParkingMachinesDataSource);
|
|
86
91
|
//#endregion
|
|
@@ -93,6 +98,7 @@ parkingsContainer
|
|
|
93
98
|
parkingsContainer
|
|
94
99
|
.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingMachinesTransformation, TskParkingMachinesTransformation_1.TskParkingMachinesTransformation)
|
|
95
100
|
.register(ModuleContainerToken_1.ModuleContainerToken.OsmOpeningHoursTransformation, OsmOpeningHoursTransformation_1.OsmOpeningHoursTransformation);
|
|
101
|
+
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.ParkomatsTransformation, ParkomatsTransformation_1.ParkomatsTransformation);
|
|
96
102
|
//#endregion
|
|
97
103
|
//#region Repositories
|
|
98
104
|
parkingsContainer
|
|
@@ -112,6 +118,7 @@ parkingsContainer
|
|
|
112
118
|
.register(ModuleContainerToken_1.ModuleContainerToken.ParkingsMeasurementsActualRepository, ParkingsMeasurementsActualRepository_1.ParkingsMeasurementsActualRepository)
|
|
113
119
|
.register(ModuleContainerToken_1.ModuleContainerToken.OpenHoursRepository, OpenHoursRepository_1.OpenHoursRepository);
|
|
114
120
|
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.RedisModel, ParkingsRedisModel_1.ParkingsRedisModel);
|
|
121
|
+
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.ParkomatsRepository, ParkomatsRepository_1.ParkomatsRepository);
|
|
115
122
|
//#endregion
|
|
116
123
|
//#region Tasks
|
|
117
124
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.SaveMrParkitDataTask, SaveMrParkitDataTask_1.SaveMrParkitDataTask);
|
|
@@ -127,5 +134,6 @@ parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.
|
|
|
127
134
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.CalculateAverageOccupancyTask, CalculateAverageOccupancyTask_1.CalculateAverageOccupancyTask);
|
|
128
135
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.SaveManualEntrancesDataTask, SaveManualEntrancesDataTask_1.SaveManualEntrancesDataTask);
|
|
129
136
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.SaveOsmEntrancesDataTask, SaveOsmEntrancesDataTask_1.SaveOsmEntrancesDataTask);
|
|
137
|
+
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.RefreshDataInDbTask, RefreshDataInDbTask_1.RefreshDataInDbTask);
|
|
130
138
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.SaveOsmParkingMachinesTask, SaveOsmParkingMachinesTask_1.SaveOsmParkingMachinesTask);
|
|
131
139
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,6GAAqG;AACrG,6EAAqE;AACrE,wEAAsE;AACtE,gGAA8F;AAC9F,sGAAoG;AACpG,4FAA0F;AAC1F,gFAA8E;AAC9E,+FAA6F;AAC7F,oGAAkG;AAClG,oEAAkE;AAClE,sFAAoF;AACpF,iHAA+G;AAC/G,yHAAuH;AACvH,yGAAuG;AACvG,2FAAyF;AACzF,6EAA2E;AAC3E,2FAAyF;AACzF,yFAAuF;AACvF,yFAAuF;AACvF,uFAAqF;AACrF,uGAAqG;AACrG,2FAAyF;AACzF,iGAA+F;AAC/F,+GAA6G;AAC7G,2EAAyE;AACzE,6FAA2F;AAC3F,iFAA+E;AAC/E,0GAAwG;AACxG,wGAAsG;AACtG,kGAAgG;AAChG,oGAAkG;AAClG,oGAAkG;AAClG,oGAAkG;AAClG,4FAA0F;AAC1F,8FAA4F;AAC5F,0FAAwF;AACxF,8FAA4F;AAC5F,gFAA8E;AAC9E,sEAAoE;AACpE,wFAAsF;AACtF,kGAAgG;AAChG,wGAAsG;AAKtG,wEAAqE;AAGrE,mEAA2E;AAC3E,qEAA0F;AAC1F,iEAAiG;AACjG,iEAA8D;AAC9D,4FAA0F;AAC1F,kGAAgG;AAEhG,wBAAwB;AACxB,MAAM,iBAAiB,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,5 +48,9 @@ declare const ModuleContainerToken: {
|
|
|
48
48
|
GenerateIptOictPaymentJobsTask: symbol;
|
|
49
49
|
SaveIptOictPaymentsDataTask: symbol;
|
|
50
50
|
CalculateAverageOccupancyTask: symbol;
|
|
51
|
+
ParkomatsTransformation: symbol;
|
|
52
|
+
ParkomatsRepository: symbol;
|
|
53
|
+
ParkomatsDataSource: symbol;
|
|
54
|
+
RefreshDataInDbTask: symbol;
|
|
51
55
|
};
|
|
52
56
|
export { ModuleContainerToken };
|
|
@@ -67,6 +67,12 @@ const ModuleContainerToken = {
|
|
|
67
67
|
//#region Average occupancy
|
|
68
68
|
CalculateAverageOccupancyTask: Symbol(),
|
|
69
69
|
//#endregion
|
|
70
|
+
//#region parkomats
|
|
71
|
+
ParkomatsTransformation: Symbol(),
|
|
72
|
+
ParkomatsRepository: Symbol(),
|
|
73
|
+
ParkomatsDataSource: Symbol(),
|
|
74
|
+
RefreshDataInDbTask: Symbol(),
|
|
75
|
+
//#endregion
|
|
70
76
|
};
|
|
71
77
|
exports.ModuleContainerToken = ModuleContainerToken;
|
|
72
78
|
//# 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,gBAAgB,EAAE,MAAM,EAAE;IAC1B,UAAU,EAAE,MAAM,EAAE;IACpB,8BAA8B,EAAE,MAAM,EAAE;IACxC,kBAAkB,EAAE,MAAM,EAAE;IAC5B,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,wBAAwB,EAAE,MAAM,EAAE;IAClC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,yBAAyB,EAAE,MAAM,EAAE;IACnC,0BAA0B,EAAE,MAAM,EAAE;IACpC,6BAA6B,EAAE,MAAM,EAAE;IACvC,oCAAoC,EAAE,MAAM,EAAE;IAC9C,yBAAyB,EAAE,MAAM,EAAE;IACnC,mBAAmB,EAAE,MAAM,EAAE;IAE7B,4BAA4B,EAAE,MAAM,EAAE;IACtC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,4BAA4B,EAAE,MAAM,EAAE;IACtC,+BAA+B,EAAE,MAAM,EAAE;IAEzC,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,gCAAgC,EAAE,MAAM,EAAE;IAE1C,mBAAmB;IACnB,0BAA0B,EAAE,MAAM,EAAE;IACpC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,YAAY;IAEZ,gBAAgB;IAChB,yBAAyB,EAAE,MAAM,EAAE;IACnC,YAAY;IAEZ,oBAAoB;IACpB,gCAAgC,EAAE,MAAM,EAAE;IAC1C,oCAAoC,EAAE,MAAM,EAAE;IAC9C,4BAA4B,EAAE,MAAM,EAAE;IACtC,8BAA8B,EAAE,MAAM,EAAE;IACxC,6BAA6B,EAAE,MAAM,EAAE;IACvC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,YAAY;IAEZ,aAAa;IACb,aAAa,EAAE,MAAM,EAAE;IACvB,eAAe,EAAE,MAAM,EAAE;IACzB,sBAAsB,EAAE,MAAM,EAAE;IAChC,wBAAwB,EAAE,MAAM,EAAE;IAClC,4BAA4B,EAAE,MAAM,EAAE;IACtC,0BAA0B,EAAE,MAAM,EAAE;IACpC,YAAY;IAEZ,mBAAmB;IACnB,0BAA0B,EAAE,MAAM,EAAE;IACpC,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,YAAY;IAEZ,kBAAkB;IAClB,eAAe;IACf,iBAAiB,EAAE,MAAM,EAAE;IAC3B,8BAA8B,EAAE,MAAM,EAAE;IACxC,0BAA0B,EAAE,MAAM,EAAE;IACpC,cAAc;IACd,yBAAyB,EAAE,MAAM,EAAE;IACnC,8BAA8B,EAAE,MAAM,EAAE;IACxC,2BAA2B,EAAE,MAAM,EAAE;IACrC,YAAY;IAEZ,2BAA2B;IAC3B,6BAA6B,EAAE,MAAM,EAAE;IACvC,YAAY;CACf,CAAC;AACO,oDAAoB"}
|
|
1
|
+
{"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,UAAU,EAAE,MAAM,EAAE;IACpB,8BAA8B,EAAE,MAAM,EAAE;IACxC,kBAAkB,EAAE,MAAM,EAAE;IAC5B,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,wBAAwB,EAAE,MAAM,EAAE;IAClC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,yBAAyB,EAAE,MAAM,EAAE;IACnC,0BAA0B,EAAE,MAAM,EAAE;IACpC,6BAA6B,EAAE,MAAM,EAAE;IACvC,oCAAoC,EAAE,MAAM,EAAE;IAC9C,yBAAyB,EAAE,MAAM,EAAE;IACnC,mBAAmB,EAAE,MAAM,EAAE;IAE7B,4BAA4B,EAAE,MAAM,EAAE;IACtC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,4BAA4B,EAAE,MAAM,EAAE;IACtC,+BAA+B,EAAE,MAAM,EAAE;IAEzC,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,gCAAgC,EAAE,MAAM,EAAE;IAE1C,mBAAmB;IACnB,0BAA0B,EAAE,MAAM,EAAE;IACpC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,YAAY;IAEZ,gBAAgB;IAChB,yBAAyB,EAAE,MAAM,EAAE;IACnC,YAAY;IAEZ,oBAAoB;IACpB,gCAAgC,EAAE,MAAM,EAAE;IAC1C,oCAAoC,EAAE,MAAM,EAAE;IAC9C,4BAA4B,EAAE,MAAM,EAAE;IACtC,8BAA8B,EAAE,MAAM,EAAE;IACxC,6BAA6B,EAAE,MAAM,EAAE;IACvC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,YAAY;IAEZ,aAAa;IACb,aAAa,EAAE,MAAM,EAAE;IACvB,eAAe,EAAE,MAAM,EAAE;IACzB,sBAAsB,EAAE,MAAM,EAAE;IAChC,wBAAwB,EAAE,MAAM,EAAE;IAClC,4BAA4B,EAAE,MAAM,EAAE;IACtC,0BAA0B,EAAE,MAAM,EAAE;IACpC,YAAY;IAEZ,mBAAmB;IACnB,0BAA0B,EAAE,MAAM,EAAE;IACpC,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,YAAY;IAEZ,kBAAkB;IAClB,eAAe;IACf,iBAAiB,EAAE,MAAM,EAAE;IAC3B,8BAA8B,EAAE,MAAM,EAAE;IACxC,0BAA0B,EAAE,MAAM,EAAE;IACpC,cAAc;IACd,yBAAyB,EAAE,MAAM,EAAE;IACnC,8BAA8B,EAAE,MAAM,EAAE;IACxC,2BAA2B,EAAE,MAAM,EAAE;IACrC,YAAY;IAEZ,2BAA2B;IAC3B,6BAA6B,EAAE,MAAM,EAAE;IACvC,YAAY;IAEZ,mBAAmB;IACnB,uBAAuB,EAAE,MAAM,EAAE;IACjC,mBAAmB,EAAE,MAAM,EAAE;IAC7B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,mBAAmB,EAAE,MAAM,EAAE;IAE7B,YAAY;CACf,CAAC;AACO,oDAAoB"}
|
|
@@ -4,7 +4,6 @@ exports.queueDefinitions = void 0;
|
|
|
4
4
|
const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
5
5
|
const index_1 = require("../schema-definitions/index");
|
|
6
6
|
const ParkingsWorker_1 = require("./ParkingsWorker");
|
|
7
|
-
const ParkomatsWorker_1 = require("./ParkomatsWorker");
|
|
8
7
|
const ZtpParkingZonesWorker_1 = require("./ZtpParkingZones/ZtpParkingZonesWorker");
|
|
9
8
|
const queueDefinitions = [
|
|
10
9
|
{
|
|
@@ -68,22 +67,6 @@ const queueDefinitions = [
|
|
|
68
67
|
},
|
|
69
68
|
],
|
|
70
69
|
},
|
|
71
|
-
{
|
|
72
|
-
name: index_1.Parkomats.name,
|
|
73
|
-
queuePrefix: config_1.config.RABBIT_EXCHANGE_NAME + "." + index_1.Parkomats.name.toLowerCase(),
|
|
74
|
-
queues: [
|
|
75
|
-
{
|
|
76
|
-
name: "refreshDataInDB",
|
|
77
|
-
options: {
|
|
78
|
-
deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
|
|
79
|
-
deadLetterRoutingKey: "dead",
|
|
80
|
-
messageTtl: 2 * 60 * 1000, // 2 minutes
|
|
81
|
-
},
|
|
82
|
-
worker: ParkomatsWorker_1.ParkomatsWorker,
|
|
83
|
-
workerMethod: "refreshDataInDB",
|
|
84
|
-
},
|
|
85
|
-
],
|
|
86
|
-
},
|
|
87
70
|
];
|
|
88
71
|
exports.queueDefinitions = queueDefinitions;
|
|
89
72
|
//# sourceMappingURL=queueDefinitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,yEAAsE;AAEtE,
|
|
1
|
+
{"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,yEAAsE;AAEtE,uDAAsC;AACtC,qDAAoD;AACpD,mFAAkF;AAElF,MAAM,gBAAgB,GAAuB;IACzC;QACI,IAAI,EAAE,gBAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,gBAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;QAC5E,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,mBAAmB;aACpC;YACD;gBACI,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,mBAAmB;aACpC;YACD;gBACI,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,uBAAuB;aACxC;YACD;gBACI,IAAI,EAAE,mCAAmC;gBACzC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,mCAAmC;aACpD;YACD;gBACI,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,yBAAyB;aAC1C;YACD;gBACI,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,6CAAqB;gBAC7B,YAAY,EAAE,mBAAmB;aACpC;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParkomatsRepository = void 0;
|
|
4
|
+
const _sch_1 = require("../../schema-definitions");
|
|
5
|
+
const ParkomatDto_1 = require("../../schema-definitions/parkomats/models/ParkomatDto");
|
|
6
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
7
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
8
|
+
class ParkomatsRepository extends integration_engine_1.PostgresModel {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(_sch_1.Parkomats.name + "Model", {
|
|
11
|
+
outputSequelizeAttributes: ParkomatDto_1.ParkomatDto.attributeModel,
|
|
12
|
+
pgSchema: _sch_1.Parkomats.pgSchema,
|
|
13
|
+
pgTableName: _sch_1.Parkomats.pgTableName,
|
|
14
|
+
savingType: "insertOrUpdate",
|
|
15
|
+
}, new golemio_validator_1.JSONSchemaValidator(_sch_1.Parkomats.name + "ModelValidator", ParkomatDto_1.ParkomatDto.jsonSchema));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ParkomatsRepository = ParkomatsRepository;
|
|
19
|
+
//# sourceMappingURL=ParkomatsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkomatsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkomatsRepository.ts"],"names":[],"mappings":";;;AAAA,mDAAiC;AACjC,uFAAgE;AAChE,8EAA8E;AAC9E,mFAAkF;AAElF,MAAa,mBAAoB,SAAQ,kCAAa;IAClD;QACI,KAAK,CACD,gBAAS,CAAC,IAAI,GAAG,OAAO,EACxB;YACI,yBAAyB,EAAE,yBAAW,CAAC,cAAc;YACrD,QAAQ,EAAE,gBAAS,CAAC,QAAQ;YAC5B,WAAW,EAAE,gBAAS,CAAC,WAAW;YAClC,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,gBAAS,CAAC,IAAI,GAAG,gBAAgB,EAAE,yBAAW,CAAC,UAAU,CAAC,CACrF,CAAC;IACN,CAAC;CACJ;AAbD,kDAaC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
|
|
2
|
+
import { IParkomatDto } from "../../schema-definitions/parkomats/models/interfaces/IParkomatDto";
|
|
3
|
+
import { IParkomatInput } from "../../schema-definitions/parkomats/datasources/interfaces/IParkomatInput";
|
|
2
4
|
export declare class ParkomatsTransformation extends BaseTransformation implements ITransformation {
|
|
3
5
|
name: string;
|
|
4
6
|
constructor();
|
|
5
|
-
protected transformElement: (data:
|
|
7
|
+
protected transformElement: (data: IParkomatInput) => Promise<IParkomatDto>;
|
|
6
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkomatsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/ParkomatsTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2FAA4G;AAC5G,mDAAiC;AAEjC,wDAAsD;
|
|
1
|
+
{"version":3,"file":"ParkomatsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/ParkomatsTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2FAA4G;AAC5G,mDAAiC;AAEjC,wDAAsD;AAGtD,MAAa,uBAAwB,SAAQ,oCAAkB;IAG3D;QACI,KAAK,EAAE,CAAC;QAIF,qBAAgB,GAAG,CAAO,IAAoB,EAAyB,EAAE;YAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEtE,MAAM,GAAG,GAAiB;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,OAAO;gBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC/D,cAAc,EAAE,IAAI,CAAC,EAAE;gBACvB,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC/D,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;aAC5D,CAAC;YAEF,OAAO,GAAG,CAAC;QACf,CAAC,CAAA,CAAC;QAnBE,IAAI,CAAC,IAAI,GAAG,gBAAS,CAAC,IAAI,CAAC;IAC/B,CAAC;CAmBJ;AAzBD,0DAyBC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AbstractTask, AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
export declare class ParkomatsWorker extends AbstractWorker {
|
|
3
|
+
protected readonly name = "Parkomats";
|
|
4
|
+
constructor();
|
|
5
|
+
registerTask: (task: AbstractTask<any>) => void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParkomatsWorker = void 0;
|
|
4
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
5
|
+
const Di_1 = require("../ioc/Di");
|
|
6
|
+
const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
|
|
7
|
+
class ParkomatsWorker extends workers_1.AbstractWorker {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.name = "Parkomats";
|
|
11
|
+
this.registerTask = (task) => {
|
|
12
|
+
super.registerTask(task);
|
|
13
|
+
task.queuePrefix = this.getQueuePrefix();
|
|
14
|
+
};
|
|
15
|
+
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RefreshDataInDbTask));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ParkomatsWorker = ParkomatsWorker;
|
|
19
|
+
//# sourceMappingURL=ParkomatsWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkomatsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/ParkomatsWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA6F;AAC7F,kCAA+C;AAE/C,sEAAoE;AAEpE,MAAa,eAAgB,SAAQ,wBAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAG,WAAW,CAAC;QAM/B,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QALE,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAsB,2CAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChH,CAAC;CAKJ;AAXD,0CAWC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.IParkomatValidationSchema = void 0;
|
|
13
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
14
|
+
class IParkomatValidationSchema {
|
|
15
|
+
}
|
|
16
|
+
exports.IParkomatValidationSchema = IParkomatValidationSchema;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsDateString)(),
|
|
19
|
+
(0, class_validator_1.IsOptional)(),
|
|
20
|
+
__metadata("design:type", String)
|
|
21
|
+
], IParkomatValidationSchema.prototype, "from", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, class_validator_1.IsDateString)(),
|
|
24
|
+
(0, class_validator_1.IsOptional)(),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], IParkomatValidationSchema.prototype, "to", void 0);
|
|
27
|
+
//# sourceMappingURL=ParkomatSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkomatSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/ParkomatSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAqF;AAOrF,MAAa,yBAAyB;CAOrC;AAPD,8DAOC;AAJG;IAFC,IAAA,8BAAY,GAAE;IACd,IAAA,4BAAU,GAAE;;uDACC;AAGd;IAFC,IAAA,8BAAY,GAAE;IACd,IAAA,4BAAU,GAAE;;qDACD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ILogger } from "@golemio/core/dist/helpers";
|
|
2
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
3
|
+
import { IParkomatMessage, IParkomatValidationSchema } from "../schemas/ParkomatSchema";
|
|
4
|
+
import { ParkomatsTransformation } from "../../transformations/ParkomatsTransformation";
|
|
5
|
+
import { ParkomatsRepository } from "../../repositories/ParkomatsRepository";
|
|
6
|
+
import { ParkomatsDataSource } from "../../datasources/parkomats/ParkomatsDataSource";
|
|
7
|
+
export declare class RefreshDataInDbTask extends AbstractTask<IParkomatMessage> {
|
|
8
|
+
private model;
|
|
9
|
+
private transformation;
|
|
10
|
+
private dataSource;
|
|
11
|
+
private log;
|
|
12
|
+
readonly queueName = "refreshDataInDB";
|
|
13
|
+
readonly queueTtl: number;
|
|
14
|
+
readonly schema: typeof IParkomatValidationSchema;
|
|
15
|
+
constructor(model: ParkomatsRepository, transformation: ParkomatsTransformation, dataSource: ParkomatsDataSource, log: ILogger);
|
|
16
|
+
execute: (msg: IParkomatMessage) => Promise<void>;
|
|
17
|
+
}
|
|
@@ -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
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.RefreshDataInDbTask = void 0;
|
|
25
|
+
const helpers_1 = require("@golemio/core/dist/helpers");
|
|
26
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
27
|
+
const ParkomatSchema_1 = require("../schemas/ParkomatSchema");
|
|
28
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
29
|
+
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
30
|
+
const ParkomatsTransformation_1 = require("../../transformations/ParkomatsTransformation");
|
|
31
|
+
const ParkomatsRepository_1 = require("../../repositories/ParkomatsRepository");
|
|
32
|
+
const ParkomatsDataSource_1 = require("../../datasources/parkomats/ParkomatsDataSource");
|
|
33
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
34
|
+
const _sch_1 = require("../../../schema-definitions");
|
|
35
|
+
let RefreshDataInDbTask = exports.RefreshDataInDbTask = class RefreshDataInDbTask extends integration_engine_1.AbstractTask {
|
|
36
|
+
constructor(model, transformation, dataSource, log) {
|
|
37
|
+
super(_sch_1.Parkomats.name.toLowerCase());
|
|
38
|
+
this.model = model;
|
|
39
|
+
this.transformation = transformation;
|
|
40
|
+
this.dataSource = dataSource;
|
|
41
|
+
this.log = log;
|
|
42
|
+
this.queueName = "refreshDataInDB";
|
|
43
|
+
this.queueTtl = 2 * 60 * 1000; // 2 minutes
|
|
44
|
+
this.schema = ParkomatSchema_1.IParkomatValidationSchema;
|
|
45
|
+
this.execute = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
let from;
|
|
47
|
+
let to;
|
|
48
|
+
if (msg.from && msg.to) {
|
|
49
|
+
from = (0, helpers_1.dateTime)(new Date(msg.from), { timeZone: "Europe/Prague" });
|
|
50
|
+
to = (0, helpers_1.dateTime)(new Date(msg.to), { timeZone: "Europe/Prague" });
|
|
51
|
+
this.log.debug(`Interval from: ${from} to ${to} was used.`);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const now = new Date();
|
|
55
|
+
now.setHours(4, 0, 0, 0);
|
|
56
|
+
to = (0, helpers_1.dateTime)(now).setTimeZone("Europe/Prague");
|
|
57
|
+
from = to.clone();
|
|
58
|
+
from.subtract(28, "hours");
|
|
59
|
+
}
|
|
60
|
+
const data = yield this.dataSource.getParkomats("from=" + from.format("yyyy-LL-dd'T'HH:mm:ss") + `&to=${to.format("yyyy-LL-dd'T'HH:mm:ss")}`);
|
|
61
|
+
const transformedData = yield this.transformation.transform(data);
|
|
62
|
+
yield this.model.bulkSave(transformedData);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.RefreshDataInDbTask = RefreshDataInDbTask = __decorate([
|
|
67
|
+
(0, tsyringe_1.injectable)(),
|
|
68
|
+
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkomatsRepository)),
|
|
69
|
+
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkomatsTransformation)),
|
|
70
|
+
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkomatsDataSource)),
|
|
71
|
+
__param(3, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
72
|
+
__metadata("design:paramtypes", [ParkomatsRepository_1.ParkomatsRepository,
|
|
73
|
+
ParkomatsTransformation_1.ParkomatsTransformation,
|
|
74
|
+
ParkomatsDataSource_1.ParkomatsDataSource, Object])
|
|
75
|
+
], RefreshDataInDbTask);
|
|
76
|
+
//# sourceMappingURL=RefreshDataInDbTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshDataInDbTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshDataInDbTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAyE;AACzE,8EAAqE;AACrE,8DAAwF;AACxF,iEAAwE;AACxE,yEAAoE;AACpE,2FAAsF;AACtF,gFAA2E;AAC3E,yFAAoF;AACpF,wEAAqE;AACrE,sDAAiC;AAG1B,IAAM,mBAAmB,iCAAzB,MAAM,mBAAoB,SAAQ,iCAA8B;IAKnE,YAEI,KAAkC,EAElC,cAA+C,EAE/C,UAAuC,EAEvC,GAAoB;QAEpB,KAAK,CAAC,gBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAR5B,UAAK,GAAL,KAAK,CAAqB;QAE1B,mBAAc,GAAd,cAAc,CAAyB;QAEvC,eAAU,GAAV,UAAU,CAAqB;QAE/B,QAAG,GAAH,GAAG,CAAS;QAZR,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,0CAAyB,CAAC;QAe5C,YAAO,GAAG,CAAO,GAAqB,EAAiB,EAAE;YAC5D,IAAI,IAAc,CAAC;YACnB,IAAI,EAAY,CAAC;YACjB,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE;gBACpB,IAAI,GAAG,IAAA,kBAAQ,EAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;gBACnE,EAAE,GAAG,IAAA,kBAAQ,EAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,OAAO,EAAE,YAAY,CAAC,CAAC;aAC/D;iBAAM;gBACH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,EAAE,GAAG,IAAA,kBAAQ,EAAC,GAAG,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAChD,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;aAC9B;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAC3C,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAC/F,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC,CAAA,CAAC;IAtBF,CAAC;CAuBJ,CAAA;8BAvCY,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAEhD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,uBAAuB,CAAC,CAAA;IAEpD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAEhD,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCALV,yCAAmB;QAEV,iDAAuB;QAE3B,yCAAmB;GAXlC,mBAAmB,CAuC/B"}
|
|
@@ -244,6 +244,24 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
|
|
|
244
244
|
- dataplatform.parkings.updateSmart4CityLocations
|
|
245
245
|
- dataplatform.parkings.updateSmart4CityMeasurements
|
|
246
246
|
|
|
247
|
+
#### _parkomats_
|
|
248
|
+
- zdroj dat
|
|
249
|
+
- url: `https://apicore.zpspraha.cz/CISICTService/CISICTService.svc/parkingsessionshistory`
|
|
250
|
+
- parametry
|
|
251
|
+
- `from` - nastavujeme na predchozi den 00
|
|
252
|
+
- `to` - nastavujeme na dnesni den v 04
|
|
253
|
+
- poznamka stahujeme data za 28 hodin abychom o zadna data neprisli
|
|
254
|
+
- protokol: http
|
|
255
|
+
- datovy typ: json
|
|
256
|
+
- validacni schema: [parkomatInputSchema](../src/schema-definitions/parkomats/datasources/ParkomatInputSchema.ts)
|
|
257
|
+
- frekvence stahovani:
|
|
258
|
+
- cron definice
|
|
259
|
+
- rabin: `0 04,16 * * *`
|
|
260
|
+
- prod: `0 07,19 * * *`
|
|
261
|
+
- nazev rabbitmq fronty
|
|
262
|
+
- dataplatform.parkomats.refreshDataInDB
|
|
263
|
+
|
|
264
|
+
|
|
247
265
|
## Zpracování dat / transformace
|
|
248
266
|
|
|
249
267
|
Při transformaci dat lokací data obohacujeme o adresu parkoviště, která vychází z centroidu geometrie daného parkoviště a získává se z Photon API metodou `GeocodeApi.getAddressByLatLngFromPhoton` v modulu Core.
|
|
@@ -577,6 +595,25 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
|
|
|
577
595
|
- ukládá data z queue `saveParkingSourceToDB` do db
|
|
578
596
|
- zdroj je IG přes `ParkingSourcesRouter`
|
|
579
597
|
- transformace není
|
|
598
|
+
-
|
|
599
|
+
|
|
600
|
+
### ParkomatsWorker
|
|
601
|
+
|
|
602
|
+
#### _RefreshDataInDbTask_
|
|
603
|
+
|
|
604
|
+
- vstupní rabbitmq fronta:
|
|
605
|
+
- název: `refreshDataInDB`
|
|
606
|
+
- optional paramtery
|
|
607
|
+
- from
|
|
608
|
+
- to
|
|
609
|
+
- datový zdroj
|
|
610
|
+
- JSON stahovaný z API
|
|
611
|
+
- transformace
|
|
612
|
+
- Mapovani z `IParkomatInput` na `IParkomatDto`
|
|
613
|
+
- data modely
|
|
614
|
+
- `parkomats`
|
|
615
|
+
|
|
616
|
+
|
|
580
617
|
|
|
581
618
|
## Uložení dat
|
|
582
619
|
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { BaseWorker } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
-
export declare class ParkomatsWorker extends BaseWorker {
|
|
3
|
-
private dataSource;
|
|
4
|
-
private dataSourceHTTPSettings;
|
|
5
|
-
private transformation;
|
|
6
|
-
private model;
|
|
7
|
-
private dataSourceUrl;
|
|
8
|
-
constructor();
|
|
9
|
-
refreshDataInDB: (msg: any) => Promise<void>;
|
|
10
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ParkomatsWorker = void 0;
|
|
13
|
-
const _sch_1 = require("../schema-definitions");
|
|
14
|
-
const ParkomatInputSchema_1 = require("../schema-definitions/parkomats/datasources/ParkomatInputSchema");
|
|
15
|
-
const ParkomatDto_1 = require("../schema-definitions/parkomats/models/ParkomatDto");
|
|
16
|
-
const helpers_1 = require("@golemio/core/dist/helpers");
|
|
17
|
-
const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
18
|
-
const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
|
|
19
|
-
const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
|
|
20
|
-
const helpers_2 = require("@golemio/core/dist/integration-engine/helpers");
|
|
21
|
-
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
22
|
-
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
23
|
-
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
24
|
-
const ParkomatsTransformation_1 = require("./transformations/ParkomatsTransformation");
|
|
25
|
-
class ParkomatsWorker extends workers_1.BaseWorker {
|
|
26
|
-
constructor() {
|
|
27
|
-
super();
|
|
28
|
-
this.dataSourceUrl = config_1.config.datasources.TSKParkomats + "/parkingsessions?from=";
|
|
29
|
-
this.refreshDataInDB = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
let from;
|
|
31
|
-
let to;
|
|
32
|
-
try {
|
|
33
|
-
// setting custom interval from message data
|
|
34
|
-
const customInterval = JSON.parse(msg.content.toString());
|
|
35
|
-
if (customInterval.from && customInterval.to) {
|
|
36
|
-
from = (0, helpers_1.dateTime)(new Date(customInterval.from), { timeZone: "Europe/Prague" });
|
|
37
|
-
to = (0, helpers_1.dateTime)(new Date(customInterval.to), { timeZone: "Europe/Prague" });
|
|
38
|
-
helpers_2.log.debug(`Interval from: ${from} to ${to} was used.`);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
throw new Error("Interval must contain from and to properties.");
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
catch (err) {
|
|
45
|
-
// setting default interval (normal situation)
|
|
46
|
-
to = (0, helpers_1.dateTime)(new Date()).setTimeZone("Europe/Prague");
|
|
47
|
-
from = to.clone();
|
|
48
|
-
from.subtract(12, "minutes");
|
|
49
|
-
}
|
|
50
|
-
this.dataSourceHTTPSettings.url =
|
|
51
|
-
this.dataSourceUrl + from.format("yyyy-LL-dd'T'HH:mm:ss") + `&to=${to.format("yyyy-LL-dd'T'HH:mm:ss")}`;
|
|
52
|
-
this.dataSource.setProtocolStrategy(new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy(this.dataSourceHTTPSettings));
|
|
53
|
-
const data = yield this.dataSource.getAll();
|
|
54
|
-
const transformedData = yield this.transformation.transform(data);
|
|
55
|
-
yield this.model.save(transformedData);
|
|
56
|
-
});
|
|
57
|
-
this.dataSourceHTTPSettings = {
|
|
58
|
-
headers: {
|
|
59
|
-
authorization: config_1.config.datasources.TSKParkomatsToken,
|
|
60
|
-
},
|
|
61
|
-
method: "GET",
|
|
62
|
-
// Warning! Url must be filled with required `from` and `to` querystring param
|
|
63
|
-
// if `to` omitted, API returns empty array!
|
|
64
|
-
url: this.dataSourceUrl,
|
|
65
|
-
};
|
|
66
|
-
this.dataSource = new datasources_1.DataSource(_sch_1.Parkomats.name + "DataSource", new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy(this.dataSourceHTTPSettings), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(_sch_1.Parkomats.name + "DataSource", ParkomatInputSchema_1.ParkomatInputSchema));
|
|
67
|
-
this.model = new models_1.PostgresModel(_sch_1.Parkomats.name + "Model", {
|
|
68
|
-
outputSequelizeAttributes: ParkomatDto_1.ParkomatDto.attributeModel,
|
|
69
|
-
pgSchema: _sch_1.Parkomats.pgSchema,
|
|
70
|
-
pgTableName: _sch_1.Parkomats.pgTableName,
|
|
71
|
-
savingType: "insertOrUpdate",
|
|
72
|
-
}, new golemio_validator_1.JSONSchemaValidator(_sch_1.Parkomats.name + "ModelValidator", ParkomatDto_1.ParkomatDto.jsonSchema));
|
|
73
|
-
this.transformation = new ParkomatsTransformation_1.ParkomatsTransformation();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
exports.ParkomatsWorker = ParkomatsWorker;
|
|
77
|
-
//# sourceMappingURL=ParkomatsWorker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParkomatsWorker.js","sourceRoot":"","sources":["../../src/integration-engine/ParkomatsWorker.ts"],"names":[],"mappings":"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"}
|