@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.
Files changed (130) hide show
  1. package/LICENSE +2 -2
  2. package/db/example/.config.json +3 -0
  3. package/db/example/00_truncate_tables.sql +2 -0
  4. package/db/example/01_municipal_authorities.sql +11 -0
  5. package/db/migrations/postgresql/.config.json +3 -0
  6. package/db/migrations/postgresql/20221008165642-init-mongo-to-pg.js +51 -0
  7. package/db/migrations/postgresql/package.json +3 -0
  8. package/db/migrations/postgresql/sqls/20221008165642-init-mongo-to-pg-down.sql +3 -0
  9. package/db/migrations/postgresql/sqls/20221008165642-init-mongo-to-pg-up.sql +70 -0
  10. package/db/migrations/postgresql/sqls/package.json +3 -0
  11. package/dist/integration-engine/datasources/MunicipalAuthoritiesDataSource.d.ts +4 -0
  12. package/dist/integration-engine/datasources/MunicipalAuthoritiesDataSource.js +18 -0
  13. package/dist/integration-engine/datasources/MunicipalAuthoritiesDataSource.js.map +1 -0
  14. package/dist/integration-engine/datasources/SkodaPalaceQueuesDataSource.d.ts +4 -0
  15. package/dist/integration-engine/datasources/SkodaPalaceQueuesDataSource.js +26 -0
  16. package/dist/integration-engine/datasources/SkodaPalaceQueuesDataSource.js.map +1 -0
  17. package/dist/integration-engine/index.d.ts +1 -4
  18. package/dist/integration-engine/index.js +3 -18
  19. package/dist/integration-engine/index.js.map +1 -1
  20. package/dist/integration-engine/repositories/MunicipalAuthoritiesRepository.d.ts +6 -0
  21. package/dist/integration-engine/repositories/MunicipalAuthoritiesRepository.js +39 -0
  22. package/dist/integration-engine/repositories/MunicipalAuthoritiesRepository.js.map +1 -0
  23. package/dist/integration-engine/repositories/SkodaPalaceQueuesHistoryRepository.d.ts +4 -0
  24. package/dist/integration-engine/repositories/SkodaPalaceQueuesHistoryRepository.js +20 -0
  25. package/dist/integration-engine/repositories/SkodaPalaceQueuesHistoryRepository.js.map +1 -0
  26. package/dist/integration-engine/repositories/SkodaPalaceQueuesRepository.d.ts +6 -0
  27. package/dist/integration-engine/repositories/SkodaPalaceQueuesRepository.js +40 -0
  28. package/dist/integration-engine/repositories/SkodaPalaceQueuesRepository.js.map +1 -0
  29. package/dist/integration-engine/repositories/index.d.ts +3 -0
  30. package/dist/integration-engine/repositories/index.js +21 -0
  31. package/dist/integration-engine/repositories/index.js.map +1 -0
  32. package/dist/integration-engine/schema/SaveWaitingQueuesDataToHistorySchema.d.ts +9 -0
  33. package/dist/integration-engine/schema/SaveWaitingQueuesDataToHistorySchema.js +41 -0
  34. package/dist/integration-engine/schema/SaveWaitingQueuesDataToHistorySchema.js.map +1 -0
  35. package/dist/integration-engine/transformations/MunicipalAuthoritiesTransformation.d.ts +11 -0
  36. package/dist/integration-engine/{MunicipalAuthoritiesTransformation.js → transformations/MunicipalAuthoritiesTransformation.js} +61 -35
  37. package/dist/integration-engine/transformations/MunicipalAuthoritiesTransformation.js.map +1 -0
  38. package/dist/integration-engine/transformations/SkodaPalaceQueuesTransformation.d.ts +17 -0
  39. package/dist/integration-engine/{SkodaPalaceQueuesTransformation.js → transformations/SkodaPalaceQueuesTransformation.js} +26 -28
  40. package/dist/integration-engine/transformations/SkodaPalaceQueuesTransformation.js.map +1 -0
  41. package/dist/integration-engine/workers/MunicipalAuthoritiesWorker.d.ts +5 -0
  42. package/dist/integration-engine/workers/MunicipalAuthoritiesWorker.js +16 -0
  43. package/dist/integration-engine/workers/MunicipalAuthoritiesWorker.js.map +1 -0
  44. package/dist/integration-engine/workers/index.d.ts +2 -0
  45. package/dist/integration-engine/workers/index.js +6 -0
  46. package/dist/integration-engine/workers/index.js.map +1 -0
  47. package/dist/integration-engine/workers/tasks/RefreshDataInDBTask.d.ts +10 -0
  48. package/dist/integration-engine/workers/tasks/RefreshDataInDBTask.js +35 -0
  49. package/dist/integration-engine/workers/tasks/RefreshDataInDBTask.js.map +1 -0
  50. package/dist/integration-engine/workers/tasks/RefreshWaitingQueuesTask.d.ts +10 -0
  51. package/dist/integration-engine/workers/tasks/RefreshWaitingQueuesTask.js +39 -0
  52. package/dist/integration-engine/workers/tasks/RefreshWaitingQueuesTask.js.map +1 -0
  53. package/dist/integration-engine/workers/tasks/SaveWaitingQueuesDataToHistoryTask.d.ts +11 -0
  54. package/dist/integration-engine/workers/tasks/SaveWaitingQueuesDataToHistoryTask.js +33 -0
  55. package/dist/integration-engine/workers/tasks/SaveWaitingQueuesDataToHistoryTask.js.map +1 -0
  56. package/dist/integration-engine/workers/tasks/index.d.ts +3 -0
  57. package/dist/{output-gateway/models → integration-engine/workers/tasks}/index.js +3 -2
  58. package/dist/integration-engine/workers/tasks/index.js.map +1 -0
  59. package/dist/output-gateway/MunicipalAuthoritiesRouter.d.ts +2 -10
  60. package/dist/output-gateway/MunicipalAuthoritiesRouter.js +13 -57
  61. package/dist/output-gateway/MunicipalAuthoritiesRouter.js.map +1 -1
  62. package/dist/output-gateway/index.d.ts +1 -1
  63. package/dist/output-gateway/index.js +1 -1
  64. package/dist/output-gateway/index.js.map +1 -1
  65. package/dist/output-gateway/repositories/FilterHelper.d.ts +11 -0
  66. package/dist/output-gateway/repositories/FilterHelper.js +58 -0
  67. package/dist/output-gateway/repositories/FilterHelper.js.map +1 -0
  68. package/dist/output-gateway/repositories/MunicipalAuthoritiesRepository.d.ts +12 -0
  69. package/dist/output-gateway/repositories/MunicipalAuthoritiesRepository.js +92 -0
  70. package/dist/output-gateway/repositories/MunicipalAuthoritiesRepository.js.map +1 -0
  71. package/dist/output-gateway/repositories/SkodaPalaceQueuesRepository.d.ts +7 -0
  72. package/dist/output-gateway/repositories/SkodaPalaceQueuesRepository.js +56 -0
  73. package/dist/output-gateway/repositories/SkodaPalaceQueuesRepository.js.map +1 -0
  74. package/dist/schema-definitions/MunicipalAuthorities.d.ts +37 -0
  75. package/dist/schema-definitions/MunicipalAuthorities.js +8 -0
  76. package/dist/schema-definitions/MunicipalAuthorities.js.map +1 -0
  77. package/dist/schema-definitions/SkodaPalaceQueues.d.ts +37 -0
  78. package/dist/schema-definitions/SkodaPalaceQueues.js +12 -0
  79. package/dist/schema-definitions/SkodaPalaceQueues.js.map +1 -0
  80. package/dist/schema-definitions/datasources/MunicipalAuthoritiesJsonSchema.d.ts +37 -0
  81. package/dist/schema-definitions/datasources/MunicipalAuthoritiesJsonSchema.js +86 -0
  82. package/dist/schema-definitions/datasources/MunicipalAuthoritiesJsonSchema.js.map +1 -0
  83. package/dist/schema-definitions/datasources/SkodaPalaceQueuesJsonSchema.d.ts +29 -0
  84. package/dist/schema-definitions/datasources/SkodaPalaceQueuesJsonSchema.js +49 -0
  85. package/dist/schema-definitions/datasources/SkodaPalaceQueuesJsonSchema.js.map +1 -0
  86. package/dist/schema-definitions/index.d.ts +1 -207
  87. package/dist/schema-definitions/index.js +9 -247
  88. package/dist/schema-definitions/index.js.map +1 -1
  89. package/dist/schema-definitions/models/AuthorityModel.d.ts +22 -0
  90. package/dist/schema-definitions/models/AuthorityModel.js +99 -0
  91. package/dist/schema-definitions/models/AuthorityModel.js.map +1 -0
  92. package/dist/schema-definitions/models/QueueHistoryModel.d.ts +13 -0
  93. package/dist/schema-definitions/models/QueueHistoryModel.js +34 -0
  94. package/dist/schema-definitions/models/QueueHistoryModel.js.map +1 -0
  95. package/dist/schema-definitions/models/QueueModel.d.ts +14 -0
  96. package/dist/schema-definitions/models/QueueModel.js +43 -0
  97. package/dist/schema-definitions/models/QueueModel.js.map +1 -0
  98. package/docs/assets/municipalauthorities_erd.png +0 -0
  99. package/docs/implementation_documentation.md +112 -0
  100. package/docs/openapi.yaml +423 -0
  101. package/package.json +66 -61
  102. package/db/example/mongo_data/dataplatform/municipalauthorities.bson +0 -0
  103. package/db/example/mongo_data/dataplatform/municipalauthorities.metadata.json +0 -1
  104. package/db/example/mongo_data/dataplatform/municipalauthorities_queues.bson +0 -0
  105. package/db/example/mongo_data/dataplatform/municipalauthorities_queues.metadata.json +0 -1
  106. package/db/example/mongo_data/dataplatform/municipalauthorities_queues_history.bson +0 -0
  107. package/db/example/mongo_data/dataplatform/municipalauthorities_queues_history.metadata.json +0 -1
  108. package/db/example/mongo_data/dataplatform/skodapalacequeues.bson +0 -0
  109. package/db/example/mongo_data/dataplatform/skodapalacequeues.metadata.json +0 -1
  110. package/dist/index.d.ts +0 -3
  111. package/dist/index.js +0 -31
  112. package/dist/index.js.map +0 -1
  113. package/dist/integration-engine/MunicipalAuthoritiesTransformation.d.ts +0 -8
  114. package/dist/integration-engine/MunicipalAuthoritiesTransformation.js.map +0 -1
  115. package/dist/integration-engine/MunicipalAuthoritiesWorker.d.ts +0 -15
  116. package/dist/integration-engine/MunicipalAuthoritiesWorker.js +0 -119
  117. package/dist/integration-engine/MunicipalAuthoritiesWorker.js.map +0 -1
  118. package/dist/integration-engine/SkodaPalaceQueuesTransformation.d.ts +0 -11
  119. package/dist/integration-engine/SkodaPalaceQueuesTransformation.js.map +0 -1
  120. package/dist/integration-engine/queueDefinitions.d.ts +0 -3
  121. package/dist/integration-engine/queueDefinitions.js +0 -45
  122. package/dist/integration-engine/queueDefinitions.js.map +0 -1
  123. package/dist/output-gateway/models/MunicipalAuthoritiesModel.d.ts +0 -7
  124. package/dist/output-gateway/models/MunicipalAuthoritiesModel.js +0 -17
  125. package/dist/output-gateway/models/MunicipalAuthoritiesModel.js.map +0 -1
  126. package/dist/output-gateway/models/MunicipalAuthoritiesQueuesModel.d.ts +0 -35
  127. package/dist/output-gateway/models/MunicipalAuthoritiesQueuesModel.js +0 -33
  128. package/dist/output-gateway/models/MunicipalAuthoritiesQueuesModel.js.map +0 -1
  129. package/dist/output-gateway/models/index.d.ts +0 -2
  130. 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 index_1 = require("../schema-definitions/index");
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
- properties: {
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] && element[openingHoursDaysKey] !== "") {
58
- res.properties.opening_hours = [
59
- ...res.properties.opening_hours,
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) => __awaiter(this, void 0, void 0, function* () {
67
- const newAgenda = {
68
- description: agenda.description,
69
- keywords: agenda.keywords ? agenda.keywords : [],
70
- long_description: agenda.long_description ? agenda.long_description : null,
71
- };
72
- if (!newAgenda.long_description) {
73
- delete newAgenda.long_description;
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.properties.agendas = yield Promise.all(agendas);
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 = index_1.MunicipalAuthorities.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 index_1 = require("../schema-definitions/index");
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
- const servedActivities = [];
23
- for (const activity of data.served_activities) {
24
- servedActivities.push({
25
- activity: activity.activity,
26
- last_updated: new Date(data.last_updated).getTime(),
27
- municipal_authority_id: data.municipal_authority_id,
28
- number_of_person_in_queue: activity.number_of_person_in_queue,
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
- served_activities: servedActivities,
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 = index_1.MunicipalAuthorities.skodaPalaceQueues.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,5 @@
1
+ import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
2
+ export declare class MunicipalAuthoritiesWorker extends AbstractWorker {
3
+ protected readonly name = "MunicipalAuthorities";
4
+ constructor();
5
+ }
@@ -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,2 @@
1
+ import { MunicipalAuthoritiesWorker } from "./MunicipalAuthoritiesWorker";
2
+ export declare const workers: (typeof MunicipalAuthoritiesWorker)[];
@@ -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"}
@@ -0,0 +1,3 @@
1
+ export * from "./RefreshDataInDBTask";
2
+ export * from "./RefreshWaitingQueuesTask";
3
+ export * from "./SaveWaitingQueuesDataToHistoryTask";
@@ -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("./MunicipalAuthoritiesModel"), exports);
18
- __exportStar(require("./MunicipalAuthoritiesQueuesModel"), exports);
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 { MunicipalAuthoritiesModel, MunicipalAuthoritiesQueuesModel } from "./models";
4
+ import { SkodaPalaceQueuesRepository } from "./repositories/SkodaPalaceQueuesRepository";
11
5
  export declare class MunicipalAuthoritiesRouter extends GeoJsonRouter {
12
- protected model: MunicipalAuthoritiesModel;
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;