@golemio/municipal-authorities 1.0.4-dev.632094713 → 1.0.5-dev.674670756
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/LICENSE +2 -2
- package/db/example/.config.json +3 -0
- package/db/example/00_truncate_tables.sql +2 -0
- package/db/example/01_municipal_authorities.sql +11 -0
- package/db/migrations/postgresql/.config.json +3 -0
- package/db/migrations/postgresql/20221008165642-init-mongo-to-pg.js +51 -0
- package/db/migrations/postgresql/package.json +3 -0
- package/db/migrations/postgresql/sqls/20221008165642-init-mongo-to-pg-down.sql +3 -0
- package/db/migrations/postgresql/sqls/20221008165642-init-mongo-to-pg-up.sql +70 -0
- package/db/migrations/postgresql/sqls/package.json +3 -0
- package/dist/integration-engine/datasources/MunicipalAuthoritiesDataSource.d.ts +4 -0
- package/dist/integration-engine/datasources/MunicipalAuthoritiesDataSource.js +18 -0
- package/dist/integration-engine/datasources/MunicipalAuthoritiesDataSource.js.map +1 -0
- package/dist/integration-engine/datasources/SkodaPalaceQueuesDataSource.d.ts +4 -0
- package/dist/integration-engine/datasources/SkodaPalaceQueuesDataSource.js +26 -0
- package/dist/integration-engine/datasources/SkodaPalaceQueuesDataSource.js.map +1 -0
- package/dist/integration-engine/index.d.ts +1 -4
- package/dist/integration-engine/index.js +3 -18
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/repositories/MunicipalAuthoritiesRepository.d.ts +6 -0
- package/dist/integration-engine/repositories/MunicipalAuthoritiesRepository.js +39 -0
- package/dist/integration-engine/repositories/MunicipalAuthoritiesRepository.js.map +1 -0
- package/dist/integration-engine/repositories/SkodaPalaceQueuesHistoryRepository.d.ts +4 -0
- package/dist/integration-engine/repositories/SkodaPalaceQueuesHistoryRepository.js +20 -0
- package/dist/integration-engine/repositories/SkodaPalaceQueuesHistoryRepository.js.map +1 -0
- package/dist/integration-engine/repositories/SkodaPalaceQueuesRepository.d.ts +6 -0
- package/dist/integration-engine/repositories/SkodaPalaceQueuesRepository.js +40 -0
- package/dist/integration-engine/repositories/SkodaPalaceQueuesRepository.js.map +1 -0
- package/dist/integration-engine/repositories/index.d.ts +3 -0
- package/dist/integration-engine/repositories/index.js +21 -0
- package/dist/integration-engine/repositories/index.js.map +1 -0
- package/dist/integration-engine/schema/SaveWaitingQueuesDataToHistorySchema.d.ts +9 -0
- package/dist/integration-engine/schema/SaveWaitingQueuesDataToHistorySchema.js +41 -0
- package/dist/integration-engine/schema/SaveWaitingQueuesDataToHistorySchema.js.map +1 -0
- package/dist/integration-engine/transformations/MunicipalAuthoritiesTransformation.d.ts +11 -0
- package/dist/integration-engine/{MunicipalAuthoritiesTransformation.js → transformations/MunicipalAuthoritiesTransformation.js} +61 -35
- package/dist/integration-engine/transformations/MunicipalAuthoritiesTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/SkodaPalaceQueuesTransformation.d.ts +17 -0
- package/dist/integration-engine/{SkodaPalaceQueuesTransformation.js → transformations/SkodaPalaceQueuesTransformation.js} +26 -28
- package/dist/integration-engine/transformations/SkodaPalaceQueuesTransformation.js.map +1 -0
- package/dist/integration-engine/workers/MunicipalAuthoritiesWorker.d.ts +5 -0
- package/dist/integration-engine/workers/MunicipalAuthoritiesWorker.js +16 -0
- package/dist/integration-engine/workers/MunicipalAuthoritiesWorker.js.map +1 -0
- package/dist/integration-engine/workers/index.d.ts +2 -0
- package/dist/integration-engine/workers/index.js +6 -0
- package/dist/integration-engine/workers/index.js.map +1 -0
- package/dist/integration-engine/workers/tasks/RefreshDataInDBTask.d.ts +10 -0
- package/dist/integration-engine/workers/tasks/RefreshDataInDBTask.js +35 -0
- package/dist/integration-engine/workers/tasks/RefreshDataInDBTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/RefreshWaitingQueuesTask.d.ts +10 -0
- package/dist/integration-engine/workers/tasks/RefreshWaitingQueuesTask.js +39 -0
- package/dist/integration-engine/workers/tasks/RefreshWaitingQueuesTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveWaitingQueuesDataToHistoryTask.d.ts +11 -0
- package/dist/integration-engine/workers/tasks/SaveWaitingQueuesDataToHistoryTask.js +33 -0
- package/dist/integration-engine/workers/tasks/SaveWaitingQueuesDataToHistoryTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/index.d.ts +3 -0
- package/dist/{output-gateway/models → integration-engine/workers/tasks}/index.js +3 -2
- package/dist/integration-engine/workers/tasks/index.js.map +1 -0
- package/dist/output-gateway/MunicipalAuthoritiesRouter.d.ts +2 -10
- package/dist/output-gateway/MunicipalAuthoritiesRouter.js +13 -57
- package/dist/output-gateway/MunicipalAuthoritiesRouter.js.map +1 -1
- package/dist/output-gateway/index.d.ts +1 -1
- package/dist/output-gateway/index.js +1 -1
- package/dist/output-gateway/index.js.map +1 -1
- package/dist/output-gateway/repositories/FilterHelper.d.ts +11 -0
- package/dist/output-gateway/repositories/FilterHelper.js +58 -0
- package/dist/output-gateway/repositories/FilterHelper.js.map +1 -0
- package/dist/output-gateway/repositories/MunicipalAuthoritiesRepository.d.ts +12 -0
- package/dist/output-gateway/repositories/MunicipalAuthoritiesRepository.js +92 -0
- package/dist/output-gateway/repositories/MunicipalAuthoritiesRepository.js.map +1 -0
- package/dist/output-gateway/repositories/SkodaPalaceQueuesRepository.d.ts +7 -0
- package/dist/output-gateway/repositories/SkodaPalaceQueuesRepository.js +56 -0
- package/dist/output-gateway/repositories/SkodaPalaceQueuesRepository.js.map +1 -0
- package/dist/schema-definitions/MunicipalAuthorities.d.ts +37 -0
- package/dist/schema-definitions/MunicipalAuthorities.js +8 -0
- package/dist/schema-definitions/MunicipalAuthorities.js.map +1 -0
- package/dist/schema-definitions/SkodaPalaceQueues.d.ts +37 -0
- package/dist/schema-definitions/SkodaPalaceQueues.js +12 -0
- package/dist/schema-definitions/SkodaPalaceQueues.js.map +1 -0
- package/dist/schema-definitions/datasources/MunicipalAuthoritiesJsonSchema.d.ts +37 -0
- package/dist/schema-definitions/datasources/MunicipalAuthoritiesJsonSchema.js +86 -0
- package/dist/schema-definitions/datasources/MunicipalAuthoritiesJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/SkodaPalaceQueuesJsonSchema.d.ts +29 -0
- package/dist/schema-definitions/datasources/SkodaPalaceQueuesJsonSchema.js +49 -0
- package/dist/schema-definitions/datasources/SkodaPalaceQueuesJsonSchema.js.map +1 -0
- package/dist/schema-definitions/index.d.ts +1 -207
- package/dist/schema-definitions/index.js +9 -247
- package/dist/schema-definitions/index.js.map +1 -1
- package/dist/schema-definitions/models/AuthorityModel.d.ts +22 -0
- package/dist/schema-definitions/models/AuthorityModel.js +99 -0
- package/dist/schema-definitions/models/AuthorityModel.js.map +1 -0
- package/dist/schema-definitions/models/QueueHistoryModel.d.ts +13 -0
- package/dist/schema-definitions/models/QueueHistoryModel.js +34 -0
- package/dist/schema-definitions/models/QueueHistoryModel.js.map +1 -0
- package/dist/schema-definitions/models/QueueModel.d.ts +14 -0
- package/dist/schema-definitions/models/QueueModel.js +43 -0
- package/dist/schema-definitions/models/QueueModel.js.map +1 -0
- package/docs/assets/municipalauthorities_erd.png +0 -0
- package/docs/implementation_documentation.md +112 -0
- package/docs/openapi.yaml +423 -0
- package/package.json +66 -61
- package/db/example/mongo_data/dataplatform/municipalauthorities.bson +0 -0
- package/db/example/mongo_data/dataplatform/municipalauthorities.metadata.json +0 -1
- package/db/example/mongo_data/dataplatform/municipalauthorities_queues.bson +0 -0
- package/db/example/mongo_data/dataplatform/municipalauthorities_queues.metadata.json +0 -1
- package/db/example/mongo_data/dataplatform/municipalauthorities_queues_history.bson +0 -0
- package/db/example/mongo_data/dataplatform/municipalauthorities_queues_history.metadata.json +0 -1
- package/db/example/mongo_data/dataplatform/skodapalacequeues.bson +0 -0
- package/db/example/mongo_data/dataplatform/skodapalacequeues.metadata.json +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -31
- package/dist/index.js.map +0 -1
- package/dist/integration-engine/MunicipalAuthoritiesTransformation.d.ts +0 -8
- package/dist/integration-engine/MunicipalAuthoritiesTransformation.js.map +0 -1
- package/dist/integration-engine/MunicipalAuthoritiesWorker.d.ts +0 -15
- package/dist/integration-engine/MunicipalAuthoritiesWorker.js +0 -119
- package/dist/integration-engine/MunicipalAuthoritiesWorker.js.map +0 -1
- package/dist/integration-engine/SkodaPalaceQueuesTransformation.d.ts +0 -11
- package/dist/integration-engine/SkodaPalaceQueuesTransformation.js.map +0 -1
- package/dist/integration-engine/queueDefinitions.d.ts +0 -3
- package/dist/integration-engine/queueDefinitions.js +0 -45
- package/dist/integration-engine/queueDefinitions.js.map +0 -1
- package/dist/output-gateway/models/MunicipalAuthoritiesModel.d.ts +0 -7
- package/dist/output-gateway/models/MunicipalAuthoritiesModel.js +0 -17
- package/dist/output-gateway/models/MunicipalAuthoritiesModel.js.map +0 -1
- package/dist/output-gateway/models/MunicipalAuthoritiesQueuesModel.d.ts +0 -35
- package/dist/output-gateway/models/MunicipalAuthoritiesQueuesModel.js +0 -33
- package/dist/output-gateway/models/MunicipalAuthoritiesQueuesModel.js.map +0 -1
- package/dist/output-gateway/models/index.d.ts +0 -2
- package/dist/output-gateway/models/index.js.map +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
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.SaveWaitingQueuesDataToHistorySchema = void 0;
|
|
13
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
14
|
+
class SaveWaitingQueuesDataToHistorySchema {
|
|
15
|
+
}
|
|
16
|
+
__decorate([
|
|
17
|
+
(0, class_validator_1.IsNumber)(),
|
|
18
|
+
__metadata("design:type", Number)
|
|
19
|
+
], SaveWaitingQueuesDataToHistorySchema.prototype, "last_updated", void 0);
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_validator_1.IsString)(),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], SaveWaitingQueuesDataToHistorySchema.prototype, "municipal_authority_id", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsString)(),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], SaveWaitingQueuesDataToHistorySchema.prototype, "activity", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, class_validator_1.IsNumber)(),
|
|
30
|
+
__metadata("design:type", Number)
|
|
31
|
+
], SaveWaitingQueuesDataToHistorySchema.prototype, "number_of_person_in_queue", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_validator_1.IsNumber)(),
|
|
34
|
+
__metadata("design:type", Number)
|
|
35
|
+
], SaveWaitingQueuesDataToHistorySchema.prototype, "number_of_serving_counters", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_validator_1.IsString)(),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], SaveWaitingQueuesDataToHistorySchema.prototype, "title", void 0);
|
|
40
|
+
exports.SaveWaitingQueuesDataToHistorySchema = SaveWaitingQueuesDataToHistorySchema;
|
|
41
|
+
//# sourceMappingURL=SaveWaitingQueuesDataToHistorySchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveWaitingQueuesDataToHistorySchema.js","sourceRoot":"","sources":["../../../src/integration-engine/schema/SaveWaitingQueuesDataToHistorySchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+EAA+E;AAE/E,MAAa,oCAAoC;CAahD;AAXG;IADC,IAAA,0BAAQ,GAAE;;0EACW;AAEtB;IADC,IAAA,0BAAQ,GAAE;;oFACqB;AAEhC;IADC,IAAA,0BAAQ,GAAE;;sEACO;AAElB;IADC,IAAA,0BAAQ,GAAE;;uFACwB;AAEnC;IADC,IAAA,0BAAQ,GAAE;;wFACyB;AAEpC;IADC,IAAA,0BAAQ,GAAE;;mEACI;AAZnB,oFAaC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
|
|
2
|
+
import { IMunicipalAuthority } from "../../schema-definitions/MunicipalAuthorities";
|
|
3
|
+
import { IMunicipalAuthoritiesInput } from "../../schema-definitions/datasources/MunicipalAuthoritiesJsonSchema";
|
|
4
|
+
export declare class MunicipalAuthoritiesTransformation extends BaseTransformation implements ITransformation {
|
|
5
|
+
name: string;
|
|
6
|
+
constructor();
|
|
7
|
+
transform: (data: IMunicipalAuthoritiesInput[]) => Promise<IMunicipalAuthority[]>;
|
|
8
|
+
protected transformElement: (element: IMunicipalAuthoritiesInput) => Promise<IMunicipalAuthority>;
|
|
9
|
+
private getTypeDescription;
|
|
10
|
+
private transformOpeningHours;
|
|
11
|
+
}
|
|
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.MunicipalAuthoritiesTransformation = void 0;
|
|
13
13
|
const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
14
14
|
const transformations_1 = require("@golemio/core/dist/integration-engine/transformations");
|
|
15
|
-
const
|
|
15
|
+
const _sch_1 = require("../../schema-definitions");
|
|
16
16
|
var openingHoursDaysKeys;
|
|
17
17
|
(function (openingHoursDaysKeys) {
|
|
18
18
|
openingHoursDaysKeys["opening_hours_monday"] = "Monday";
|
|
@@ -26,55 +26,81 @@ var openingHoursDaysKeys;
|
|
|
26
26
|
class MunicipalAuthoritiesTransformation extends transformations_1.BaseTransformation {
|
|
27
27
|
constructor() {
|
|
28
28
|
super();
|
|
29
|
+
this.transform = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const authorities = [];
|
|
31
|
+
for (const item of data) {
|
|
32
|
+
const transformedData = yield this.transformElement(item);
|
|
33
|
+
authorities.push(transformedData);
|
|
34
|
+
}
|
|
35
|
+
return authorities;
|
|
36
|
+
});
|
|
29
37
|
this.transformElement = (element) => __awaiter(this, void 0, void 0, function* () {
|
|
30
38
|
const res = {
|
|
39
|
+
id: element.slug,
|
|
31
40
|
geometry: {
|
|
32
41
|
coordinates: element.coordinates,
|
|
33
42
|
type: "Point",
|
|
34
43
|
},
|
|
35
|
-
|
|
36
|
-
address: element.address ? { address_formatted: element.address } : null,
|
|
37
|
-
agendas: [],
|
|
38
|
-
district: element.district ? element.district : null,
|
|
39
|
-
email: element.email ? element.email : [],
|
|
40
|
-
id: element.slug,
|
|
41
|
-
image: {
|
|
42
|
-
mimetype: element.image && element.image.mimetype ? element.image.mimetype : null,
|
|
43
|
-
size: element.image && element.image.size ? element.image.size : null,
|
|
44
|
-
url: element.image && element.image.url ? config_1.config.MOJEPRAHA_ENDPOINT_BASEURL + element.image.url : null,
|
|
45
|
-
},
|
|
46
|
-
name: element.name,
|
|
47
|
-
official_board: element.official_board ? element.official_board : null,
|
|
48
|
-
opening_hours: [],
|
|
49
|
-
telephone: element.telephone ? element.telephone : [],
|
|
50
|
-
type: element.type ? { id: element.type, description: this.getTypeDescription(element.type) } : null,
|
|
51
|
-
updated_at: new Date().getTime(),
|
|
52
|
-
web: element.web ? element.web : [],
|
|
53
|
-
},
|
|
54
|
-
type: "Feature",
|
|
44
|
+
name: element.name,
|
|
55
45
|
};
|
|
46
|
+
if (element.address) {
|
|
47
|
+
res.address_formatted = element.address;
|
|
48
|
+
}
|
|
49
|
+
if (element.telephone && element.telephone.length) {
|
|
50
|
+
res.telephone = element.telephone;
|
|
51
|
+
}
|
|
52
|
+
if (element.web && element.web.length) {
|
|
53
|
+
res.web = element.web;
|
|
54
|
+
}
|
|
55
|
+
if (element.email && element.email.length) {
|
|
56
|
+
res.email = element.email;
|
|
57
|
+
}
|
|
58
|
+
if (element.district) {
|
|
59
|
+
res.district = element.district;
|
|
60
|
+
}
|
|
61
|
+
if (element.official_board) {
|
|
62
|
+
res.official_board = element.official_board;
|
|
63
|
+
}
|
|
64
|
+
if (element.image && element.image.url) {
|
|
65
|
+
res.image = {
|
|
66
|
+
mimetype: element.image.mimetype,
|
|
67
|
+
size: element.image.size,
|
|
68
|
+
};
|
|
69
|
+
if (element.image.url) {
|
|
70
|
+
res.image.url = config_1.config.MOJEPRAHA_ENDPOINT_BASEURL + element.image.url;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (element.type) {
|
|
74
|
+
res.type = element.type;
|
|
75
|
+
res.description = this.getTypeDescription(element.type);
|
|
76
|
+
}
|
|
77
|
+
let opening_hours = [];
|
|
56
78
|
Object.keys(openingHoursDaysKeys).map((openingHoursDaysKey) => {
|
|
57
|
-
if (element[openingHoursDaysKey] &&
|
|
58
|
-
|
|
59
|
-
|
|
79
|
+
if (element[openingHoursDaysKey] &&
|
|
80
|
+
element[openingHoursDaysKey] !== "") {
|
|
81
|
+
opening_hours = [
|
|
82
|
+
...opening_hours,
|
|
60
83
|
// @ts-ignore
|
|
61
84
|
...this.transformOpeningHours(openingHoursDaysKeys[openingHoursDaysKey], element[openingHoursDaysKey]),
|
|
62
85
|
];
|
|
63
86
|
}
|
|
64
87
|
});
|
|
88
|
+
if (opening_hours) {
|
|
89
|
+
res.opening_hours = opening_hours;
|
|
90
|
+
}
|
|
65
91
|
if (element.agendas && element.agendas.length > 0) {
|
|
66
|
-
const agendas = element.agendas.map((agenda) =>
|
|
67
|
-
const newAgenda = {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
if (
|
|
73
|
-
|
|
92
|
+
const agendas = element.agendas.map((agenda) => {
|
|
93
|
+
const newAgenda = {};
|
|
94
|
+
newAgenda.keywords = agenda.keywords ? agenda.keywords : [];
|
|
95
|
+
if (agenda.long_description) {
|
|
96
|
+
newAgenda.long_description = agenda.long_description;
|
|
97
|
+
}
|
|
98
|
+
if (agenda.description) {
|
|
99
|
+
newAgenda.description = agenda.description;
|
|
74
100
|
}
|
|
75
101
|
return newAgenda;
|
|
76
|
-
})
|
|
77
|
-
res.
|
|
102
|
+
});
|
|
103
|
+
res.agendas = agendas;
|
|
78
104
|
}
|
|
79
105
|
return res;
|
|
80
106
|
});
|
|
@@ -88,7 +114,7 @@ class MunicipalAuthoritiesTransformation extends transformations_1.BaseTransform
|
|
|
88
114
|
return "";
|
|
89
115
|
}
|
|
90
116
|
};
|
|
91
|
-
this.name =
|
|
117
|
+
this.name = _sch_1.MunicipalAuthorities.name;
|
|
92
118
|
}
|
|
93
119
|
transformOpeningHours(dayString, openingHoursString) {
|
|
94
120
|
const res = [];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MunicipalAuthoritiesTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/MunicipalAuthoritiesTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
|
|
2
|
+
import { IInputQueue, ISkodaPalaceQueuesInput } from "../../schema-definitions/datasources/SkodaPalaceQueuesJsonSchema";
|
|
3
|
+
import { ISkodaPalaceQueue, ISkodaPalaceQueueHistory } from "../../schema-definitions/SkodaPalaceQueues";
|
|
4
|
+
interface IInputQueueForTransform extends IInputQueue {
|
|
5
|
+
lastUpdated: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class SkodaPalaceQueuesTransformation extends BaseTransformation implements ITransformation {
|
|
8
|
+
name: string;
|
|
9
|
+
constructor();
|
|
10
|
+
transform: (data: ISkodaPalaceQueuesInput) => Promise<ISkodaPalaceQueue[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Overrides BaseTransformation::transformHistory
|
|
13
|
+
*/
|
|
14
|
+
transformHistory: (data: ISkodaPalaceQueue) => Promise<ISkodaPalaceQueueHistory>;
|
|
15
|
+
protected transformElement: (element: IInputQueueForTransform) => Promise<ISkodaPalaceQueue>;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -11,48 +11,46 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.SkodaPalaceQueuesTransformation = void 0;
|
|
13
13
|
const transformations_1 = require("@golemio/core/dist/integration-engine/transformations");
|
|
14
|
-
const
|
|
14
|
+
const SkodaPalaceQueues_1 = require("../../schema-definitions/SkodaPalaceQueues");
|
|
15
15
|
class SkodaPalaceQueuesTransformation extends transformations_1.BaseTransformation {
|
|
16
16
|
constructor() {
|
|
17
17
|
super();
|
|
18
|
+
this.transform = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
const lastUpdated = data.apiInfo.currentTime * 1000;
|
|
20
|
+
const queues = [];
|
|
21
|
+
for (const item of data.return) {
|
|
22
|
+
if (item.m_aktivni === 1) {
|
|
23
|
+
const adaptedItem = item;
|
|
24
|
+
adaptedItem.lastUpdated = lastUpdated;
|
|
25
|
+
const transformedData = yield this.transformElement(adaptedItem);
|
|
26
|
+
queues.push(transformedData);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return queues;
|
|
30
|
+
});
|
|
18
31
|
/**
|
|
19
32
|
* Overrides BaseTransformation::transformHistory
|
|
20
33
|
*/
|
|
21
34
|
this.transformHistory = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
number_of_serving_counters: activity.number_of_serving_counters,
|
|
30
|
-
updated_at: data.updated_at,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
return servedActivities;
|
|
35
|
+
return {
|
|
36
|
+
activity: data.activity,
|
|
37
|
+
last_updated: new Date(data.last_updated).getTime(),
|
|
38
|
+
municipal_authority_id: data.municipal_authority_id,
|
|
39
|
+
number_of_person_in_queue: data.number_of_person_in_queue,
|
|
40
|
+
number_of_serving_counters: data.number_of_serving_counters,
|
|
41
|
+
};
|
|
34
42
|
});
|
|
35
43
|
this.transformElement = (element) => __awaiter(this, void 0, void 0, function* () {
|
|
36
|
-
const lastUpdated = element.apiInfo.currentTime * 1000;
|
|
37
|
-
const servedActivities = [];
|
|
38
|
-
for (const activity of element.return) {
|
|
39
|
-
if (activity.m_aktivni === 1) {
|
|
40
|
-
servedActivities.push({
|
|
41
|
-
activity: activity.nazev,
|
|
42
|
-
number_of_person_in_queue: activity.fronta,
|
|
43
|
-
number_of_serving_counters: activity.pocet_prepazek,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
44
|
return {
|
|
48
|
-
last_updated: lastUpdated,
|
|
45
|
+
last_updated: element.lastUpdated,
|
|
49
46
|
municipal_authority_id: "skoduv-palac",
|
|
50
|
-
|
|
47
|
+
activity: element.nazev,
|
|
48
|
+
number_of_person_in_queue: element.fronta,
|
|
49
|
+
number_of_serving_counters: element.pocet_prepazek,
|
|
51
50
|
title: "Monitoring odbavování klientů ve Škodově paláci",
|
|
52
|
-
updated_at: new Date().getTime(),
|
|
53
51
|
};
|
|
54
52
|
});
|
|
55
|
-
this.name =
|
|
53
|
+
this.name = SkodaPalaceQueues_1.skodaPalaceQueues.name;
|
|
56
54
|
}
|
|
57
55
|
}
|
|
58
56
|
exports.SkodaPalaceQueuesTransformation = SkodaPalaceQueuesTransformation;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkodaPalaceQueuesTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/SkodaPalaceQueuesTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2FAA4G;AAE5G,kFAAwG;AAMxG,MAAa,+BAAgC,SAAQ,oCAAkB;IAGnE;QACI,KAAK,EAAE,CAAC;QAIL,cAAS,GAAG,CAAO,IAA6B,EAAgC,EAAE;YACrF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YACpD,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC5B,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;oBACtB,MAAM,WAAW,GAAG,IAA+B,CAAC;oBACpD,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;oBACtC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBACjE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBAChC;aACJ;YAED,OAAO,MAAM,CAAC;QAClB,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,qBAAgB,GAAG,CAAO,IAAuB,EAAqC,EAAE;YAC3F,OAAO;gBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;gBACnD,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;gBACzD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;aAC9D,CAAC;QACN,CAAC,CAAA,CAAC;QAEQ,qBAAgB,GAAG,CAAO,OAAgC,EAA8B,EAAE;YAChG,OAAO;gBACH,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,sBAAsB,EAAE,cAAc;gBACtC,QAAQ,EAAE,OAAO,CAAC,KAAK;gBACvB,yBAAyB,EAAE,OAAO,CAAC,MAAM;gBACzC,0BAA0B,EAAE,OAAO,CAAC,cAAc;gBAClD,KAAK,EAAE,iDAAiD;aAC3D,CAAC;QACN,CAAC,CAAA,CAAC;QAxCE,IAAI,CAAC,IAAI,GAAG,qCAAiB,CAAC,IAAI,CAAC;IACvC,CAAC;CAwCJ;AA9CD,0EA8CC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MunicipalAuthoritiesWorker = void 0;
|
|
4
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
5
|
+
const tasks_1 = require("./tasks");
|
|
6
|
+
class MunicipalAuthoritiesWorker extends workers_1.AbstractWorker {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.name = "MunicipalAuthorities";
|
|
10
|
+
this.registerTask(new tasks_1.RefreshDataInDBTask(this.getQueuePrefix()));
|
|
11
|
+
this.registerTask(new tasks_1.RefreshWaitingQueuesTask(this.getQueuePrefix()));
|
|
12
|
+
this.registerTask(new tasks_1.SaveWaitingQueuesDataToHistoryTask(this.getQueuePrefix()));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.MunicipalAuthoritiesWorker = MunicipalAuthoritiesWorker;
|
|
16
|
+
//# sourceMappingURL=MunicipalAuthoritiesWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MunicipalAuthoritiesWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/MunicipalAuthoritiesWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA+E;AAC/E,mCAA4G;AAE5G,MAAa,0BAA2B,SAAQ,wBAAc;IAG1D;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAG,sBAAsB,CAAC;QAI7C,IAAI,CAAC,YAAY,CAAC,IAAI,2BAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,gCAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,IAAI,0CAAkC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;CACJ;AATD,gEASC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.workers = void 0;
|
|
4
|
+
const MunicipalAuthoritiesWorker_1 = require("./MunicipalAuthoritiesWorker");
|
|
5
|
+
exports.workers = [MunicipalAuthoritiesWorker_1.MunicipalAuthoritiesWorker];
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/index.ts"],"names":[],"mappings":";;;AAAA,6EAA0E;AAE7D,QAAA,OAAO,GAAG,CAAC,uDAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
export declare class RefreshDataInDBTask extends AbstractEmptyTask {
|
|
3
|
+
readonly queueName = "refreshDataInDB";
|
|
4
|
+
readonly queueTtl: number;
|
|
5
|
+
private dataSource;
|
|
6
|
+
private transformation;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(queuePrefix: string);
|
|
9
|
+
protected execute(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
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.RefreshDataInDBTask = void 0;
|
|
13
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
14
|
+
const MunicipalAuthoritiesDataSource_1 = require("../../datasources/MunicipalAuthoritiesDataSource");
|
|
15
|
+
const MunicipalAuthoritiesTransformation_1 = require("../../transformations/MunicipalAuthoritiesTransformation");
|
|
16
|
+
const repositories_1 = require("../../repositories");
|
|
17
|
+
class RefreshDataInDBTask extends integration_engine_1.AbstractEmptyTask {
|
|
18
|
+
constructor(queuePrefix) {
|
|
19
|
+
super(queuePrefix);
|
|
20
|
+
this.queueName = "refreshDataInDB";
|
|
21
|
+
this.queueTtl = 23 * 60 * 60 * 1000; // 23 hours
|
|
22
|
+
this.dataSource = MunicipalAuthoritiesDataSource_1.MunicipalAuthoritiesDataSourceFactory.getDataSource();
|
|
23
|
+
this.transformation = new MunicipalAuthoritiesTransformation_1.MunicipalAuthoritiesTransformation();
|
|
24
|
+
this.repository = new repositories_1.MunicipalAuthoritiesRepository();
|
|
25
|
+
}
|
|
26
|
+
execute() {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const data = yield this.dataSource.getAll();
|
|
29
|
+
const transformedData = yield this.transformation.transform(data);
|
|
30
|
+
yield this.repository.saveBulk(transformedData);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.RefreshDataInDBTask = RefreshDataInDBTask;
|
|
35
|
+
//# 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,8EAA0E;AAE1E,qGAAuG;AACvG,iHAA4G;AAC5G,qDAAkE;AAElE,MAAa,mBAAoB,SAAQ,sCAAiB;IAQtD,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;QAQvD,IAAI,CAAC,UAAU,GAAG,sEAAqC,CAAC,aAAa,EAAE,CAAC;QACxE,IAAI,CAAC,cAAc,GAAG,IAAI,uEAAkC,EAAE,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,6CAA8B,EAAE,CAAC;IAC3D,CAAC;IAEe,OAAO;;YACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;KAAA;CACJ;AApBD,kDAoBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
export declare class RefreshWaitingQueuesTask extends AbstractEmptyTask {
|
|
3
|
+
readonly queueName = "refreshWaitingQueues";
|
|
4
|
+
readonly queueTtl: number;
|
|
5
|
+
private dataSource;
|
|
6
|
+
private transformation;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(queuePrefix: string);
|
|
9
|
+
protected execute(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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.RefreshWaitingQueuesTask = void 0;
|
|
13
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
14
|
+
const SkodaPalaceQueuesDataSource_1 = require("../../datasources/SkodaPalaceQueuesDataSource");
|
|
15
|
+
const SkodaPalaceQueuesTransformation_1 = require("../../transformations/SkodaPalaceQueuesTransformation");
|
|
16
|
+
const repositories_1 = require("../../repositories");
|
|
17
|
+
class RefreshWaitingQueuesTask extends integration_engine_1.AbstractEmptyTask {
|
|
18
|
+
constructor(queuePrefix) {
|
|
19
|
+
super(queuePrefix);
|
|
20
|
+
this.queueName = "refreshWaitingQueues";
|
|
21
|
+
this.queueTtl = 60 * 1000;
|
|
22
|
+
this.dataSource = SkodaPalaceQueuesDataSource_1.SkodaPalaceQueuesDataSourceFactory.getDataSource();
|
|
23
|
+
this.transformation = new SkodaPalaceQueuesTransformation_1.SkodaPalaceQueuesTransformation();
|
|
24
|
+
this.repository = new repositories_1.SkodaPalaceQueuesRepository();
|
|
25
|
+
}
|
|
26
|
+
execute() {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const data = yield this.dataSource.getAll();
|
|
29
|
+
const transformedData = yield this.transformation.transform(data);
|
|
30
|
+
yield this.repository.saveBulk(transformedData);
|
|
31
|
+
const promises = transformedData.map((queueObj) => {
|
|
32
|
+
return integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "saveWaitingQueuesDataToHistory", queueObj);
|
|
33
|
+
});
|
|
34
|
+
yield Promise.all(promises);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.RefreshWaitingQueuesTask = RefreshWaitingQueuesTask;
|
|
39
|
+
//# sourceMappingURL=RefreshWaitingQueuesTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshWaitingQueuesTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshWaitingQueuesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAwF;AAGxF,+FAAiG;AACjG,2GAAsG;AACtG,qDAA+D;AAE/D,MAAa,wBAAyB,SAAQ,sCAAiB;IAQ3D,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,sBAAsB,CAAC;QACnC,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC;QAQjC,IAAI,CAAC,UAAU,GAAG,gEAAkC,CAAC,aAAa,EAAE,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,iEAA+B,EAAE,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,0CAA2B,EAAE,CAAC;IACxD,CAAC;IAEe,OAAO;;YACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC9C,OAAO,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,gCAAgC,EAAE,QAAQ,CAAC,CAAC;YAC5G,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KAAA;CACJ;AAzBD,4DAyBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SaveWaitingQueuesDataToHistorySchema } from "../../schema/SaveWaitingQueuesDataToHistorySchema";
|
|
2
|
+
import { ISkodaPalaceQueue } from "../../../schema-definitions/SkodaPalaceQueues";
|
|
3
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
4
|
+
export declare class SaveWaitingQueuesDataToHistoryTask extends AbstractTask<ISkodaPalaceQueue> {
|
|
5
|
+
readonly queueName = "saveWaitingQueuesDataToHistory";
|
|
6
|
+
readonly schema: typeof SaveWaitingQueuesDataToHistorySchema;
|
|
7
|
+
private transformation;
|
|
8
|
+
private repository;
|
|
9
|
+
constructor(queuePrefix: string);
|
|
10
|
+
protected execute(msg: ISkodaPalaceQueue): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
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.SaveWaitingQueuesDataToHistoryTask = void 0;
|
|
13
|
+
const repositories_1 = require("../../repositories");
|
|
14
|
+
const SaveWaitingQueuesDataToHistorySchema_1 = require("../../schema/SaveWaitingQueuesDataToHistorySchema");
|
|
15
|
+
const SkodaPalaceQueuesTransformation_1 = require("../../transformations/SkodaPalaceQueuesTransformation");
|
|
16
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
17
|
+
class SaveWaitingQueuesDataToHistoryTask extends integration_engine_1.AbstractTask {
|
|
18
|
+
constructor(queuePrefix) {
|
|
19
|
+
super(queuePrefix);
|
|
20
|
+
this.queueName = "saveWaitingQueuesDataToHistory";
|
|
21
|
+
this.schema = SaveWaitingQueuesDataToHistorySchema_1.SaveWaitingQueuesDataToHistorySchema;
|
|
22
|
+
this.transformation = new SkodaPalaceQueuesTransformation_1.SkodaPalaceQueuesTransformation();
|
|
23
|
+
this.repository = new repositories_1.SkodaPalaceQueuesHistoryRepository();
|
|
24
|
+
}
|
|
25
|
+
execute(msg) {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const transformedData = yield this.transformation.transformHistory(msg);
|
|
28
|
+
yield this.repository.save(transformedData);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.SaveWaitingQueuesDataToHistoryTask = SaveWaitingQueuesDataToHistoryTask;
|
|
33
|
+
//# sourceMappingURL=SaveWaitingQueuesDataToHistoryTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveWaitingQueuesDataToHistoryTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveWaitingQueuesDataToHistoryTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAsE;AACtE,4GAAuG;AACvG,2GAAsG;AAEtG,8EAAqE;AAErE,MAAa,kCAAmC,SAAQ,iCAA+B;IAMnF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QANP,cAAS,GAAG,gCAAgC,CAAC;QAC7C,WAAM,GAAG,2EAAoC,CAAC;QAM1D,IAAI,CAAC,cAAc,GAAG,IAAI,iEAA+B,EAAE,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,iDAAkC,EAAE,CAAC;IAC/D,CAAC;IAEe,OAAO,CAAC,GAAsB;;YAC1C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACxE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC;KAAA;CACJ;AAhBD,gFAgBC"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./RefreshDataInDBTask"), exports);
|
|
18
|
+
__exportStar(require("./RefreshWaitingQueuesTask"), exports);
|
|
19
|
+
__exportStar(require("./SaveWaitingQueuesDataToHistoryTask"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,6DAA2C;AAC3C,uEAAqD"}
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* app/routers/MunicipalAuthoritiesRouter.ts
|
|
3
|
-
*
|
|
4
|
-
* Router /WEB LAYER/: maps routes to specific model functions, passes request parameters and handles responses.
|
|
5
|
-
* Handles web logic (http request, response). Sets response headers, handles error responses.
|
|
6
|
-
*/
|
|
7
1
|
/// <reference types="express" />
|
|
8
2
|
import { NextFunction, Request, Response, Router } from "@golemio/core/dist/shared/express";
|
|
9
3
|
import { GeoJsonRouter } from "@golemio/core/dist/output-gateway/routes";
|
|
10
|
-
import {
|
|
4
|
+
import { SkodaPalaceQueuesRepository } from "./repositories/SkodaPalaceQueuesRepository";
|
|
11
5
|
export declare class MunicipalAuthoritiesRouter extends GeoJsonRouter {
|
|
12
|
-
|
|
13
|
-
protected queuesModel: MunicipalAuthoritiesQueuesModel;
|
|
6
|
+
skodaPalaceQueuesRepository: SkodaPalaceQueuesRepository;
|
|
14
7
|
constructor();
|
|
15
|
-
GetAll: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
16
8
|
GetQueues: (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>> | undefined>;
|
|
17
9
|
}
|
|
18
10
|
declare const municipalAuthoritiesRouter: Router;
|