@golemio/parkings 1.6.1-dev.1025863406 → 1.6.1-dev.1033132960

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 (116) hide show
  1. package/db/example/00_clear_test_data.sql +3 -0
  2. package/db/example/04_tsk_parking_v2.sql +18 -0
  3. package/dist/helpers/const.d.ts +0 -0
  4. package/dist/helpers/const.js +2 -0
  5. package/dist/helpers/const.js.map +1 -0
  6. package/dist/helpers/data-access/CachedParkingSourcesRepository.d.ts +12 -0
  7. package/dist/helpers/data-access/CachedParkingSourcesRepository.js +39 -0
  8. package/dist/helpers/data-access/CachedParkingSourcesRepository.js.map +1 -0
  9. package/dist/helpers/interfaces/IParkingSource.d.ts +7 -0
  10. package/dist/helpers/interfaces/IParkingSource.js +3 -0
  11. package/dist/helpers/interfaces/IParkingSource.js.map +1 -0
  12. package/dist/integration-engine/ParkingInterface.d.ts +1 -6
  13. package/dist/integration-engine/ioc/Di.js +6 -6
  14. package/dist/integration-engine/ioc/Di.js.map +1 -1
  15. package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.js.map +1 -1
  16. package/dist/output-gateway/controllers/v3/V3ParkingController.d.ts +9 -0
  17. package/dist/output-gateway/controllers/v3/V3ParkingController.js +79 -0
  18. package/dist/output-gateway/controllers/v3/V3ParkingController.js.map +1 -0
  19. package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.d.ts +9 -0
  20. package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js +78 -0
  21. package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js.map +1 -0
  22. package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.d.ts +9 -0
  23. package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js +70 -0
  24. package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js.map +1 -0
  25. package/dist/output-gateway/data-access/ParkingMachinesRepository.d.ts +10 -0
  26. package/dist/output-gateway/data-access/ParkingMachinesRepository.js +101 -0
  27. package/dist/output-gateway/data-access/ParkingMachinesRepository.js.map +1 -0
  28. package/dist/output-gateway/data-access/ParkingRepository.d.ts +14 -0
  29. package/dist/output-gateway/data-access/ParkingRepository.js +141 -0
  30. package/dist/output-gateway/data-access/ParkingRepository.js.map +1 -0
  31. package/dist/output-gateway/data-access/TariffRepository.d.ts +10 -0
  32. package/dist/output-gateway/data-access/TariffRepository.js +95 -0
  33. package/dist/output-gateway/data-access/TariffRepository.js.map +1 -0
  34. package/dist/output-gateway/helpers/params/IPaginationParams.d.ts +4 -0
  35. package/dist/output-gateway/helpers/params/IPaginationParams.js +3 -0
  36. package/dist/output-gateway/helpers/params/IPaginationParams.js.map +1 -0
  37. package/dist/output-gateway/helpers/params/IParkingMachinesParams.d.ts +9 -0
  38. package/dist/output-gateway/helpers/params/IParkingMachinesParams.js +3 -0
  39. package/dist/output-gateway/helpers/params/IParkingMachinesParams.js.map +1 -0
  40. package/dist/output-gateway/helpers/params/IParkingParams.d.ts +10 -0
  41. package/dist/output-gateway/helpers/params/IParkingParams.js +3 -0
  42. package/dist/output-gateway/helpers/params/IParkingParams.js.map +1 -0
  43. package/dist/output-gateway/helpers/params/IParkingTariffsParams.d.ts +7 -0
  44. package/dist/output-gateway/helpers/params/IParkingTariffsParams.js +3 -0
  45. package/dist/output-gateway/helpers/params/IParkingTariffsParams.js.map +1 -0
  46. package/dist/output-gateway/index.js +9 -1
  47. package/dist/output-gateway/index.js.map +1 -1
  48. package/dist/output-gateway/ioc/Di.d.ts +3 -0
  49. package/dist/output-gateway/ioc/Di.js +30 -0
  50. package/dist/output-gateway/ioc/Di.js.map +1 -0
  51. package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +9 -0
  52. package/dist/output-gateway/ioc/ModuleContainerToken.js +13 -0
  53. package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -0
  54. package/dist/output-gateway/models/ParkingsLocationModel.d.ts +1 -1
  55. package/dist/output-gateway/models/ParkingsLocationModel.js +19 -5
  56. package/dist/output-gateway/models/ParkingsLocationModel.js.map +1 -1
  57. package/dist/output-gateway/models/ParkingsModel.d.ts +4 -3
  58. package/dist/output-gateway/models/ParkingsModel.js +38 -11
  59. package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
  60. package/dist/output-gateway/models/ParkingsTariffsModel.d.ts +3 -0
  61. package/dist/output-gateway/models/ParkingsTariffsModel.js +17 -1
  62. package/dist/output-gateway/models/ParkingsTariffsModel.js.map +1 -1
  63. package/dist/output-gateway/routers/constants.d.ts +2 -1
  64. package/dist/output-gateway/routers/constants.js +1 -0
  65. package/dist/output-gateway/routers/constants.js.map +1 -1
  66. package/dist/output-gateway/routers/index.d.ts +1 -0
  67. package/dist/output-gateway/routers/index.js +1 -0
  68. package/dist/output-gateway/routers/index.js.map +1 -1
  69. package/dist/output-gateway/routers/v2/V2ParkingRouter.js +25 -4
  70. package/dist/output-gateway/routers/v2/V2ParkingRouter.js.map +1 -1
  71. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.d.ts +3 -0
  72. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js +43 -0
  73. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js.map +1 -0
  74. package/dist/output-gateway/routers/v3/V3ParkingRouter.d.ts +3 -0
  75. package/dist/output-gateway/routers/v3/V3ParkingRouter.js +57 -0
  76. package/dist/output-gateway/routers/v3/V3ParkingRouter.js.map +1 -0
  77. package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.d.ts +3 -0
  78. package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js +31 -0
  79. package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js.map +1 -0
  80. package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.d.ts +8 -0
  81. package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js +56 -0
  82. package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js.map +1 -0
  83. package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.d.ts +27 -0
  84. package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js +3 -0
  85. package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js.map +1 -0
  86. package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.d.ts +9 -0
  87. package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js +50 -0
  88. package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js.map +1 -0
  89. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.d.ts +8 -0
  90. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js +35 -0
  91. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js.map +1 -0
  92. package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.d.ts +11 -0
  93. package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js +87 -0
  94. package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js.map +1 -0
  95. package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.d.ts +111 -3
  96. package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.js.map +1 -1
  97. package/dist/schema-definitions/models/ParkingMachinesModel.d.ts +14 -0
  98. package/dist/schema-definitions/models/ParkingMachinesModel.js +21 -0
  99. package/dist/schema-definitions/models/ParkingMachinesModel.js.map +1 -0
  100. package/dist/schema-definitions/models/interfaces/IAddress.d.ts +8 -0
  101. package/dist/schema-definitions/models/interfaces/IAddress.js +3 -0
  102. package/dist/schema-definitions/models/interfaces/IAddress.js.map +1 -0
  103. package/dist/schema-definitions/models/interfaces/IParking.d.ts +28 -0
  104. package/dist/schema-definitions/models/interfaces/IParking.js +3 -0
  105. package/dist/schema-definitions/models/interfaces/IParking.js.map +1 -0
  106. package/dist/schema-definitions/models/interfaces/IParkingLocation.d.ts +13 -0
  107. package/dist/schema-definitions/models/interfaces/IParkingLocation.js +3 -0
  108. package/dist/schema-definitions/models/interfaces/IParkingLocation.js.map +1 -0
  109. package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.d.ts +5 -4
  110. package/dist/schema-definitions/models/interfaces/IParkingTariffDto.js.map +1 -0
  111. package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.d.ts +6 -0
  112. package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js +3 -0
  113. package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js.map +1 -0
  114. package/package.json +2 -2
  115. package/dist/schema-definitions/datasources/interfaces/IParkingTariffDto.js.map +0 -1
  116. /package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.js +0 -0
@@ -5,3 +5,6 @@ DELETE FROM parkings_location;
5
5
  DELETE FROM parkings;
6
6
  DELETE FROM common.citydistricts where district_name_slug = 'praha-10';
7
7
  truncate table parkings_business_errors;
8
+
9
+ truncate table parking_sources;
10
+ truncate table parking_machines;
@@ -0,0 +1,18 @@
1
+ INSERT INTO parking_sources ("source",open_data,ipt_allowed,payment_url,contact) VALUES
2
+ ('tsk_v2',false,true,'test','{"email": "parking@tsk-praha.cz", "phone": "+420 257 015 257", "web_url": "https://parking.praha.eu/", "term_of_use_url": "https://parking.praha.eu/cs/moznosti-parkovani-v-praze/parkovani-v-zonach/"}');
3
+
4
+ INSERT INTO "parking_machines" (id,"source",code,"type","location",valid_from,tariff_id) VALUES
5
+ ('4521afac-66db-4680-abc5-0006837d977a','tsk_v2','10000088','info_box','SRID=4326;POINT (14.509560372775391 50.08336146182989)','2023-03-27 16:22:55.370','bdd68c37-2462-4825-befa-1eeab518dfbd');
6
+
7
+ INSERT INTO parkings (id,"source",source_id,data_provider,"name",category,date_modified,address,"location",area_served,web_app_payment_url,total_spot_number,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,tariff_id,valid_from,valid_to,parking_type,zone_type,centroid,android_app_payment_url,ios_app_payment_url) VALUES
8
+ ('tsk2-P1-0586','tsk_v2','c66bb668-eab6-49da-bc84-002263e1dce0','www.tsk-praha.cz','P1-0586','blue','2023-10-04 22:05:32.300',NULL,'SRID=4326;MULTIPOLYGON (((14.435146686704691 50.09031935764648, 14.435158778421304 50.090037674196914, 14.436496591004804 50.090271939573704, 14.436891101497103 50.09057582442722, 14.436584596966501 50.090700574765144, 14.436361060659229 50.09071081877421, 14.435146686704691 50.09031935764648)), ((14.432518050883488 50.08963880488788, 14.432849963583294 50.08974602637074, 14.433520760939317 50.08983654654372, 14.434026273297146 50.08989232808531, 14.433980344589223 50.0900468365997, 14.433568068617168 50.09014494638063, 14.4326828562706 50.08990536564012, 14.432518050883488 50.08963880488788)), ((14.43054520416443 50.089075595822536, 14.431267236152568 50.08895539557057, 14.431701029418882 50.089166218961886, 14.432130432442564 50.089421387255, 14.432518050883488 50.08963880488788, 14.43220935744498 50.089735597324186, 14.432069970660601 50.08973394311176, 14.431747143504648 50.08969881144357, 14.4308507378023 50.08944361428869, 14.43054520416443 50.089075595822536)))',NULL,NULL,42,NULL,'2023-10-04 22:05:34.589',NULL,NULL,'2023-10-04 22:05:34.589',NULL,'0639c53f-c555-49ac-b5e0-bb3d50acf588','2023-06-12 02:03:43.000',NULL,'on_street','zone','SRID=4326;POINT (14.433520760939317 50.08983654654372)',NULL,NULL);
9
+
10
+ INSERT INTO parkings_location (id,"source",source_id,data_provider,"location",centroid,address,total_spot_number,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,special_access) VALUES
11
+ ('tsk2-P1-0586','tsk_v2','c66bb668-eab6-49da-bc84-002263e1dce0','www.tsk-praha.cz','SRID=4326;POLYGON ((14.430752009766316 50.08911821177594, 14.430769229998441 50.08910172868469, 14.430963092041813 50.089173302203854, 14.431121142940848 50.089229729083705, 14.431288241809778 50.089282708701234, 14.431380867359115 50.089311873860034, 14.4314096437366 50.08932032789265, 14.431440597404489 50.089328628720935, 14.431480187766274 50.0893393542484, 14.431531156892785 50.08935234952796, 14.432034928912303 50.08948101755296, 14.432024626323633 50.08950011783093, 14.431408883289269 50.08933960160983, 14.431288556785107 50.08930381070842, 14.43119927473038 50.089275437868416, 14.430947745128789 50.08918874462976, 14.430752009766316 50.08911821177594))','SRID=4326;POINT (14.431380867359115 50.089311873860034)',NULL,16,NULL,'2023-10-04 09:38:30.821',NULL,NULL,'2023-10-04 09:38:30.821',NULL,'disabled');
12
+
13
+ INSERT INTO parkings_location (id,"source",source_id,data_provider,"location",centroid,address,total_spot_number,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,special_access) VALUES
14
+ ('tsk2-P1-0587','tsk_v2','c66bb668-eab6-49da-bc84-002263e1dce0','www.tsk-praha.cz','SRID=4326;POLYGON ((14.430752009766316 50.08911821177594, 14.430769229998441 50.08910172868469, 14.430963092041813 50.089173302203854, 14.431121142940848 50.089229729083705, 14.431288241809778 50.089282708701234, 14.431380867359115 50.089311873860034, 14.4314096437366 50.08932032789265, 14.431440597404489 50.089328628720935, 14.431480187766274 50.0893393542484, 14.431531156892785 50.08935234952796, 14.432034928912303 50.08948101755296, 14.432024626323633 50.08950011783093, 14.431408883289269 50.08933960160983, 14.431288556785107 50.08930381070842, 14.43119927473038 50.089275437868416, 14.430947745128789 50.08918874462976, 14.430752009766316 50.08911821177594))','SRID=4326;POINT (14.431380867359115 50.089311873860034)',NULL,17,NULL,'2023-10-04 09:38:30.821',NULL,NULL,'2023-10-04 09:38:30.821',NULL,NULL);
15
+
16
+ INSERT INTO parkings_tariffs (tariff_id,"source",last_updated,payment_mode,payment_additional_description,free_of_charge,url_link_address,charge_band_name,accepts_payment_card,accepts_cash,accepts_mobile_payment,charge_currency,charge,charge_type,charge_order_index,charge_interval,max_iterations_of_charge,min_iterations_of_charge,start_time_of_period,end_time_of_period,allowed_vehicle_type,allowed_fuel_type,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,accepts_litacka,valid_from,valid_to,maximum_duration_seconds,periods_of_time) VALUES
17
+ ('0639c53f-c555-49ac-b5e0-bb3d50acf588','tsk_v2','2023-10-04 22:09:18.720','pre_paid',NULL,false,NULL,'PO-NE 00-06+08-24',NULL,NULL,true,'czk',1.3333333333333333,'other',0,60,1440,1,NULL,NULL,NULL,NULL,NULL,'2023-10-04 22:09:19.749',NULL,NULL,'2023-10-04 22:09:19.749',NULL,true,'2022-06-21 10:11:00.000','2999-12-31 00:00:00.000',3600,'[{"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Mo"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Tu"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "We"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Th"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Fr"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Sa"}, {"ph": "PH_off", "end": "05:59:00", "start": "00:00:00", "day_in_week": "Su"}]'),
18
+ ('0639c53f-c555-49ac-b5e0-bb3d50acf588','tsk_v2','2023-10-04 22:09:18.720','pre_paid',NULL,false,NULL,'PO-NE 00-06+08-24',NULL,NULL,true,'czk',1.3333333333333333,'other',1,60,1440,1,NULL,NULL,NULL,NULL,NULL,'2023-10-04 22:09:19.750',NULL,NULL,'2023-10-04 22:09:19.750',NULL,true,'2022-06-21 10:11:15.000','2999-12-31 00:00:00.000',3600,'[{"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Mo"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Tu"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "We"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Th"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Fr"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Sa"}, {"ph": "PH_off", "end": "23:59:00", "start": "08:00:00", "day_in_week": "Su"}]');
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/helpers/const.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { IParkingSource } from "../interfaces/IParkingSource";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
+ import { AbstractCachedRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractCachedRepository";
4
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
5
+ export declare class CachedParkingSourcesRepository extends AbstractCachedRepository<IParkingSource> {
6
+ schema: string;
7
+ tableName: string;
8
+ constructor(connnector: IDatabaseConnector, log: ILogger, cacheTTLInSeconds?: number);
9
+ protected getAllInternal(): Promise<IParkingSource[]>;
10
+ getV3Sources(): Promise<string[]>;
11
+ static getLegacySources(): string[];
12
+ }
@@ -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.CachedParkingSourcesRepository = void 0;
13
+ const _sch_1 = require("../../schema-definitions");
14
+ const AbstractCachedRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractCachedRepository");
15
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
16
+ class CachedParkingSourcesRepository extends AbstractCachedRepository_1.AbstractCachedRepository {
17
+ constructor(connnector, log, cacheTTLInSeconds = 60 * 5) {
18
+ super(connnector, log, cacheTTLInSeconds);
19
+ this.schema = _sch_1.Parkings.pgSchema;
20
+ this.tableName = "parking_sources";
21
+ }
22
+ getAllInternal() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return yield this.connector
25
+ .getConnection()
26
+ .query(`SELECT source, open_data, ipt_allowed, payment_url, contact FROM ${this.schema}.${this.tableName}`, { type: sequelize_1.QueryTypes.SELECT, raw: true });
27
+ });
28
+ }
29
+ getV3Sources() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ return (yield this.getAll()).map((element) => element.source);
32
+ });
33
+ }
34
+ static getLegacySources() {
35
+ return ["tsk", "korid", "ipr"]; // TBD shall be done while user story for pushing parking sources
36
+ }
37
+ }
38
+ exports.CachedParkingSourcesRepository = CachedParkingSourcesRepository;
39
+ //# sourceMappingURL=CachedParkingSourcesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CachedParkingSourcesRepository.js","sourceRoot":"","sources":["../../../src/helpers/data-access/CachedParkingSourcesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mDAAgC;AAEhC,oIAAiI;AAEjI,mEAAiE;AAEjE,MAAa,8BAA+B,SAAQ,mDAAwC;IAIxF,YAAY,UAA8B,EAAE,GAAY,EAAE,oBAA4B,EAAE,GAAG,CAAC;QACxF,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAJvC,WAAM,GAAW,eAAQ,CAAC,QAAQ,CAAC;QACnC,cAAS,GAAW,iBAAiB,CAAC;IAI7C,CAAC;IAEe,cAAc;;YAC1B,OAAO,MAAM,IAAI,CAAC,SAAS;iBACtB,aAAa,EAAE;iBACf,KAAK,CACF,oEAAoE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,EACnG,EAAE,IAAI,EAAE,sBAAU,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CACzC,CAAC;QACV,CAAC;KAAA;IAEY,YAAY;;YACrB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;KAAA;IAEM,MAAM,CAAC,gBAAgB;QAC1B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,iEAAiE;IACrG,CAAC;CACJ;AAxBD,wEAwBC"}
@@ -0,0 +1,7 @@
1
+ export interface IParkingSource {
2
+ source: string;
3
+ open_data: boolean;
4
+ ipt_allowed: boolean;
5
+ payment_url: string | null;
6
+ contact: object | null;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IParkingSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IParkingSource.js","sourceRoot":"","sources":["../../../src/helpers/interfaces/IParkingSource.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import { TGeoCoordinates, IGeoCoordinatesPoint } from "@golemio/core/dist/output-gateway/Geo";
2
2
  import { IPostalAddress } from "@golemio/core/dist/integration-engine";
3
+ import { IParkingTariffPeriod } from "../schema-definitions/models/interfaces/tariff/IParkingTariffPeriod";
3
4
  export interface IParking {
4
5
  id: string;
5
6
  source: string;
@@ -42,12 +43,6 @@ export interface IParkingMeasurements {
42
43
  total_spot_number: number;
43
44
  date_modified: string;
44
45
  }
45
- export interface IParkingTariffPeriod {
46
- day_in_week: string;
47
- start: string;
48
- end: string;
49
- ph: string;
50
- }
51
46
  export interface IParkingTariffDescription {
52
47
  tariff_id: string;
53
48
  source: string;
@@ -2,18 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParkingsContainer = void 0;
4
4
  const TskTariffChecker_1 = require("../businessRules/TskTariffChecker");
5
+ const TskParkingDataSourceFactory_1 = require("../datasources/TskParkingDataSourceFactory");
6
+ const ParkingMachinesRepository_1 = require("../repositories/ParkingMachinesRepository");
5
7
  const ParkingTariffsRepository_1 = require("../repositories/ParkingTariffsRepository");
6
8
  const ParkingsBusinessErrorsRepository_1 = require("../repositories/ParkingsBusinessErrorsRepository");
9
+ const ParkingsLocationRepository_1 = require("../repositories/ParkingsLocationRepository");
7
10
  const ParkingsRepository_1 = require("../repositories/ParkingsRepository");
8
11
  const ParkingsRedisModel_1 = require("../repositories/redis/ParkingsRedisModel");
9
- const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
10
- const ModuleContainerToken_1 = require("./ModuleContainerToken");
11
- const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
12
12
  const TskParkingMachinesTransformation_1 = require("../transformations/TskParkingMachinesTransformation");
13
- const TskParkingDataSourceFactory_1 = require("../datasources/TskParkingDataSourceFactory");
14
13
  const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
15
- const ParkingMachinesRepository_1 = require("../repositories/ParkingMachinesRepository");
16
- const ParkingsLocationRepository_1 = require("../repositories/ParkingsLocationRepository");
14
+ const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
15
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
16
+ const ModuleContainerToken_1 = require("./ModuleContainerToken");
17
17
  //#region Initialization
18
18
  const parkingsContainer = Di_1.IntegrationEngineContainer.createChildContainer();
19
19
  exports.ParkingsContainer = parkingsContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AACtE,uFAAqF;AACrF,uGAAqG;AACrG,2EAAyE;AACzE,iFAA+E;AAC/E,qEAA0F;AAC1F,iEAA8D;AAC9D,iEAAiG;AACjG,0GAAwG;AAGxG,4FAA0F;AAE1F,mEAA2E;AAE3E,yFAAuF;AAEvF,2FAAyF;AAIzF,wBAAwB;AACxB,MAAM,iBAAiB,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAmDnE,8CAAiB;AAlD/C,MAAM,MAAM,GAAG,+BAA0B,CAAC,OAAO,CAAiB,oBAAc,CAAC,MAAM,CAAC,CAAC;AACzF,MAAM,wBAAwB,GAAG,IAAI,yDAA2B,CAAC,MAAM,CAAC,CAAC;AACzE,YAAY;AAEZ,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,mCAAmC,EAAE;IACtH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CACnE;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,mCAAmC,EAAE;IACtH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CACnE;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAiC,2CAAoB,CAAC,4BAA4B,EAAE;IAC1G,UAAU,EAAE,IAAA,iCAAsB,EAAiC,GAAG,EAAE,CACpE,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC5D;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAiC,2CAAoB,CAAC,4BAA4B,EAAE;IAC1G,UAAU,EAAE,IAAA,iCAAsB,EAAiC,GAAG,EAAE,CACpE,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC5D;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,gCAAgC,EAAE;IACnH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAC3D;CACJ,CAAC,CAAC;AACH,YAAY;AAEZ,wBAAwB;AACxB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AACpH,YAAY;AAEZ,sBAAsB;AACtB,iBAAiB;KACZ,QAAQ,CAAC,2CAAoB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC;KACrE,QAAQ,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC;KACrF,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC;KACjF,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC;KACjG,QAAQ,CAAC,2CAAoB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACzF,iBAAiB,CAAC,QAAQ,CAAqB,2CAAoB,CAAC,UAAU,EAAE,uCAAkB,CAAC,CAAC;AACpG,YAAY;AAEZ,iBAAiB;AACjB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AACtE,4FAA0F;AAC1F,yFAAuF;AACvF,uFAAqF;AACrF,uGAAqG;AACrG,2FAAyF;AACzF,2EAAyE;AACzE,iFAA+E;AAC/E,0GAAwG;AAOxG,mEAA2E;AAC3E,qEAA0F;AAC1F,iEAAiG;AACjG,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,iBAAiB,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAmDnE,8CAAiB;AAlD/C,MAAM,MAAM,GAAG,+BAA0B,CAAC,OAAO,CAAiB,oBAAc,CAAC,MAAM,CAAC,CAAC;AACzF,MAAM,wBAAwB,GAAG,IAAI,yDAA2B,CAAC,MAAM,CAAC,CAAC;AACzE,YAAY;AAEZ,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,mCAAmC,EAAE;IACtH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CACnE;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,mCAAmC,EAAE;IACtH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CACnE;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAiC,2CAAoB,CAAC,4BAA4B,EAAE;IAC1G,UAAU,EAAE,IAAA,iCAAsB,EAAiC,GAAG,EAAE,CACpE,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC5D;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAiC,2CAAoB,CAAC,4BAA4B,EAAE;IAC1G,UAAU,EAAE,IAAA,iCAAsB,EAAiC,GAAG,EAAE,CACpE,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC5D;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,gCAAgC,EAAE;IACnH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAC3D;CACJ,CAAC,CAAC;AACH,YAAY;AAEZ,wBAAwB;AACxB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AACpH,YAAY;AAEZ,sBAAsB;AACtB,iBAAiB;KACZ,QAAQ,CAAC,2CAAoB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC;KACrE,QAAQ,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC;KACrF,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC;KACjF,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC;KACjG,QAAQ,CAAC,2CAAoB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACzF,iBAAiB,CAAC,QAAQ,CAAqB,2CAAoB,CAAC,UAAU,EAAE,uCAAkB,CAAC,CAAC;AACpG,YAAY;AAEZ,iBAAiB;AACjB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TskParkingZonesTariffsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingZonesTariffsTransformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TskParkingZonesTariffsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingZonesTariffsTransformation.ts"],"names":[],"mappings":";;;AAAA,6GAA0G;AAO1G,wDAAgE;AAGhE,IAAK,cAQJ;AARD,WAAK,cAAc;IACf,+BAAe,CAAA;IACf,gCAAgB,CAAA;IAChB,kCAAkB,CAAA;IAClB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,+BAAe,CAAA;AACnB,CAAC,EARI,cAAc,KAAd,cAAc,QAQlB;AAmBD,MAAa,oCAAqC,SAAQ,+CAA+D;IAIrH,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAHrC,SAAI,GAAW,sCAAsC,CAAC;QACtD,aAAQ,GAAW,CAAC,CAAC;QAM5B,sBAAiB,GAAG,CAAC,IAA2B,EAAoB,EAAE;YAClE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClB,MAAM,MAAM,GAAqB,EAAE,CAAC;YAEpC,MAAM,gBAAgB,GAAsB;gBACxC,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBACnD,YAAY,EAAE,UAAU;gBACxB,cAAc,EAAE,KAAK;gBACrB,gBAAgB,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACjC,sBAAsB,EAAE,IAAI;gBAC5B,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,KAAK;aACzB,CAAC;YAEF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;gBACtC,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBACzC,MAAM,YAAY,GAAG,kBAAQ,CAAC,GAAG,CAC7B,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,EAC5E,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,EAC5E,kBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,CACjF,CAAC;oBACF,MAAM,UAAU,GAAG,kBAAQ,CAAC,GAAG,CAC3B,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,EAC1E,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,EAC1E,kBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,CAC/E,CAAC;oBAEF,gBAAgB,CAAC,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;oBACtF,gBAAgB,CAAC,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;oBAElF,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;oBAEnF,IAAI,UAAU,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;wBAChD,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE;4BACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;4BACnG,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;yBACrC;wBAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;wBACvF,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;wBAExB,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE;4BACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;4BACnG,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;yBACrC;qBACJ;iBACJ;aACJ;YAED,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QAEM,mBAAc,GAAG,CACrB,UAA2C,EAC3C,OAAsB,EACtB,OAAiC,EACjC,gBAAmC,EACnB,EAAE,CAClB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,6DACjB,gBAAgB,KACnB,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,EACnC,MAAM,EAAE,UAAU,CAAC,YAAY,GAAG,EAAE,EACpC,WAAW,EAAE,OAAO,EACpB,eAAe,EAAE,EAAE,EACnB,wBAAwB,EAAE,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,UAAU,EACrE,wBAAwB,EAAE,CAAC,KACxB,CAAC,OAAO,IAAI,EAAE,wBAAwB,EAAE,OAAO,GAAG,IAAI,EAAE,CAAC,KAC5D,eAAe,EAAE,MAAM,IACzB,CAAC,CAAC;QAEA,sBAAiB,GAAG,CACxB,KAAa,EACb,OAAiC,EACjC,gBAAmC,EACnB,EAAE,CAClB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iCACjB,gBAAgB,KACnB,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,EACnC,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,MAAM,IACzB,CAAC,CAAC;QAEA,sBAAiB,GAAG,CACxB,KAAa,EACb,OAAiC,EACjC,gBAAmC,EACnB,EAAE,CAClB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iCACjB,gBAAgB,KACnB,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,EACnC,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,MAAM,IACzB,CAAC,CAAC;QAEA,qBAAgB,GAAG,CACvB,KAAiC,EACjC,UAA2C,EAC3C,gBAAyB,EACD,EAAE;YAC1B,MAAM,MAAM,GAA2B,EAAE,CAAC;YAE1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;gBAC3C,IAAI,KAAK,CAAC,GAAY,CAAC,EAAE;oBACrB,MAAM,CAAC,IAAI,CAAC;wBACR,WAAW,EAAE,cAAc,CAAC,GAAY,CAAC;wBACzC,KAAK,EAAE,UAAU,CAAC,QAAQ;wBAC1B,GAAG,EAAE,kBAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;6BACjF,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC;6BACtB,MAAM,CAAC,UAAU,CAAC;wBACvB,EAAE,EAAE,QAAQ;qBACf,CAAC,CAAC;iBACN;aACJ;YAED,IAAI,gBAAgB,EAAE;gBAClB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iCAAM,EAAE,KAAE,EAAE,EAAE,SAAS,IAAG,CAAC,CAAC,CAAC;aACnE;YAED,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC;IA7HF,CAAC;CA8HJ;AApID,oFAoIC"}
@@ -0,0 +1,9 @@
1
+ import { NextFunction, Request, Response } from "@golemio/core/dist/shared/express";
2
+ export declare class V3ParkingController {
3
+ private repository;
4
+ private transformation;
5
+ constructor();
6
+ getAll: (req: Request, res: Response, next: NextFunction) => Promise<void>;
7
+ getOne: (req: Request, res: Response, next: NextFunction) => Promise<void>;
8
+ private parseParams;
9
+ }
@@ -0,0 +1,79 @@
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.V3ParkingController = void 0;
13
+ const Di_1 = require("../../ioc/Di");
14
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
15
+ const ParkingDtoTransformation_1 = require("../../transformations/v3/ParkingDtoTransformation");
16
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
17
+ class V3ParkingController {
18
+ constructor() {
19
+ this.getAll = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
20
+ try {
21
+ const params = this.parseParams(req);
22
+ const result = yield this.repository.GetAll(params);
23
+ const transformedResult = this.transformation.transformToFeatureCollection(result);
24
+ res.json(transformedResult);
25
+ }
26
+ catch (err) {
27
+ next(err);
28
+ }
29
+ });
30
+ this.getOne = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
31
+ try {
32
+ const id = req.params.id;
33
+ const result = yield this.repository.GetOne(id);
34
+ if (result === null) {
35
+ throw new golemio_errors_1.GeneralError("not_found", "V3ParkingController", undefined, 404);
36
+ }
37
+ else {
38
+ const transformedResult = this.transformation.transformElement(result);
39
+ res.json(transformedResult);
40
+ }
41
+ }
42
+ catch (err) {
43
+ next(err);
44
+ }
45
+ });
46
+ this.repository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingRepository);
47
+ this.transformation = new ParkingDtoTransformation_1.ParkingDtoTransformation();
48
+ }
49
+ parseParams(req) {
50
+ try {
51
+ return {
52
+ primarySource: req.query.primarySource
53
+ ? req.query.primarySource instanceof Array
54
+ ? req.query.primarySource
55
+ : [req.query.primarySource]
56
+ : undefined,
57
+ primarySourceId: req.query.primarySourceId ? req.query.primarySourceId : undefined,
58
+ validFrom: req.query.validFrom ? req.query.validFrom : undefined,
59
+ boundingBox: req.query.boundingBox
60
+ ? req.query.boundingBox.split(",").map((x) => parseFloat(x))
61
+ : undefined,
62
+ limit: req.query.limit ? parseInt(req.query.limit) : undefined,
63
+ offset: req.query.offset ? parseInt(req.query.offset) : undefined,
64
+ accessDedicatedTo: req.query.accessDedicatedTo
65
+ ? req.query.accessDedicatedTo instanceof Array
66
+ ? req.query.accessDedicatedTo
67
+ : [req.query.accessDedicatedTo]
68
+ : undefined,
69
+ minutesBefore: req.query.minutesBefore ? parseInt(req.query.minutesBefore) : undefined,
70
+ updatedSince: req.query.updatedSince ? req.query.updatedSince : undefined,
71
+ };
72
+ }
73
+ catch (err) {
74
+ throw new golemio_errors_1.GeneralError("Param parsing error", "V3ParkingController", err, 500);
75
+ }
76
+ }
77
+ }
78
+ exports.V3ParkingController = V3ParkingController;
79
+ //# sourceMappingURL=V3ParkingController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V3ParkingController.js","sourceRoot":"","sources":["../../../../src/output-gateway/controllers/v3/V3ParkingController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { NextFunction, Request, Response } from "@golemio/core/dist/shared/express";
2
+ export declare class V3ParkingMachinesController {
3
+ private repository;
4
+ private transformation;
5
+ constructor();
6
+ getAll: (req: Request, res: Response, next: NextFunction) => Promise<void>;
7
+ getOne: (req: Request, res: Response, next: NextFunction) => Promise<void>;
8
+ private newMethod;
9
+ }
@@ -0,0 +1,78 @@
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.V3ParkingMachinesController = void 0;
13
+ const Di_1 = require("../../ioc/Di");
14
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
15
+ const ParkingMachinesDtoTransformation_1 = require("../../transformations/v3/ParkingMachinesDtoTransformation");
16
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
17
+ class V3ParkingMachinesController {
18
+ constructor() {
19
+ this.getAll = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
20
+ try {
21
+ const params = this.newMethod(req);
22
+ const result = yield this.repository.GetAll(params);
23
+ const transformedResult = this.transformation.transformToFeatureCollection(result);
24
+ res.json(transformedResult);
25
+ }
26
+ catch (err) {
27
+ next(err);
28
+ }
29
+ });
30
+ this.getOne = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
31
+ try {
32
+ const id = req.params.id;
33
+ const result = yield this.repository.GetOne(id);
34
+ if (result === null) {
35
+ throw new golemio_errors_1.GeneralError("not_found", "V3ParkingMachinesController", undefined, 404);
36
+ }
37
+ else {
38
+ const transformedResult = this.transformation.transformElement(result);
39
+ res.json(transformedResult);
40
+ }
41
+ }
42
+ catch (err) {
43
+ next(err);
44
+ }
45
+ });
46
+ this.repository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesRepository);
47
+ this.transformation = new ParkingMachinesDtoTransformation_1.ParkingMachinesDtoTransformation();
48
+ }
49
+ newMethod(req) {
50
+ try {
51
+ return {
52
+ primarySource: req.query.primarySource
53
+ ? req.query.primarySource instanceof Array
54
+ ? req.query.primarySource
55
+ : [req.query.primarySource]
56
+ : undefined,
57
+ primarySourceId: req.query.primarySourceId ? req.query.primarySourceId : undefined,
58
+ validFrom: req.query.validFrom ? req.query.validFrom : undefined,
59
+ type: req.query.type
60
+ ? req.query.type instanceof Array
61
+ ? req.query.type
62
+ : [req.query.type]
63
+ : undefined,
64
+ boundingBox: req.query.boundingBox
65
+ ? req.query.boundingBox.split(",").map((x) => parseFloat(x))
66
+ : undefined,
67
+ codeMask: req.query.codeMask ? req.query.codeMask : undefined,
68
+ limit: req.query.limit ? parseInt(req.query.limit) : undefined,
69
+ offset: req.query.offset ? parseInt(req.query.offset) : undefined,
70
+ };
71
+ }
72
+ catch (err) {
73
+ throw new golemio_errors_1.GeneralError("Param parsing error", "V3ParkingMachinesController", err, 500);
74
+ }
75
+ }
76
+ }
77
+ exports.V3ParkingMachinesController = V3ParkingMachinesController;
78
+ //# sourceMappingURL=V3ParkingMachinesController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V3ParkingMachinesController.js","sourceRoot":"","sources":["../../../../src/output-gateway/controllers/v3/V3ParkingMachinesController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { NextFunction, Request, Response } from "@golemio/core/dist/shared/express";
2
+ export declare class V3ParkingTariffsController {
3
+ private repository;
4
+ private transformation;
5
+ constructor();
6
+ getAll: (req: Request, res: Response, next: NextFunction) => Promise<void>;
7
+ getOne: (req: Request, res: Response, next: NextFunction) => Promise<void>;
8
+ private parseParams;
9
+ }
@@ -0,0 +1,70 @@
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.V3ParkingTariffsController = void 0;
13
+ const Di_1 = require("../../ioc/Di");
14
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
15
+ const ParkingTariffDtoTransformation_1 = require("../../transformations/v3/ParkingTariffDtoTransformation");
16
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
17
+ class V3ParkingTariffsController {
18
+ constructor() {
19
+ this.getAll = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
20
+ try {
21
+ const params = this.parseParams(req);
22
+ const result = yield this.repository.GetAll(params);
23
+ const transformedResult = this.transformation.transformElement(result);
24
+ res.json(transformedResult);
25
+ }
26
+ catch (err) {
27
+ next(err);
28
+ }
29
+ });
30
+ this.getOne = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
31
+ try {
32
+ const id = req.params.id;
33
+ const result = yield this.repository.GetOne(id);
34
+ if (result === null) {
35
+ throw new golemio_errors_1.GeneralError("not_found", "V3ParkingTariffsController", undefined, 404);
36
+ }
37
+ else {
38
+ const transformedResult = this.transformation.transformElement(result);
39
+ res.json(transformedResult[0]);
40
+ }
41
+ }
42
+ catch (err) {
43
+ next(err);
44
+ }
45
+ });
46
+ this.repository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingTariffRepository);
47
+ this.transformation = new ParkingTariffDtoTransformation_1.ParkingTariffDtoTransformation();
48
+ }
49
+ parseParams(req) {
50
+ try {
51
+ return {
52
+ primarySource: req.query.primarySource
53
+ ? req.query.primarySource instanceof Array
54
+ ? req.query.primarySource
55
+ : [req.query.primarySource]
56
+ : undefined,
57
+ primarySourceId: req.query.primarySourceId ? req.query.primarySourceId : undefined,
58
+ validFrom: req.query.validFrom ? req.query.validFrom : undefined,
59
+ validTo: req.query.validTo ? req.query.validTo : undefined,
60
+ limit: req.query.limit ? parseInt(req.query.limit) : undefined,
61
+ offset: req.query.offset ? parseInt(req.query.offset) : undefined,
62
+ };
63
+ }
64
+ catch (err) {
65
+ throw new golemio_errors_1.GeneralError("Param parsing error", "V3ParkingTariffsController", err, 500);
66
+ }
67
+ }
68
+ }
69
+ exports.V3ParkingTariffsController = V3ParkingTariffsController;
70
+ //# sourceMappingURL=V3ParkingTariffsController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V3ParkingTariffsController.js","sourceRoot":"","sources":["../../../../src/output-gateway/controllers/v3/V3ParkingTariffsController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { CachedParkingSourcesRepository } from "../../helpers/data-access/CachedParkingSourcesRepository";
2
+ import { IParkingMachinesParams } from "../helpers/params/IParkingMachinesParams";
3
+ import { IParkingMachine } from "../../schema-definitions/models/interfaces/IParkingMachine";
4
+ import { SequelizeModel } from "@golemio/core/dist/output-gateway/models/SequelizeModel";
5
+ export declare class ParkingMachinesRepository extends SequelizeModel {
6
+ private cachedParkingSourcesRepository;
7
+ constructor(cachedParkingSourcesRepository: CachedParkingSourcesRepository);
8
+ GetAll(params: IParkingMachinesParams): Promise<IParkingMachine[]>;
9
+ GetOne(id: any): Promise<IParkingMachine | null>;
10
+ }
@@ -0,0 +1,101 @@
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.ParkingMachinesRepository = void 0;
25
+ const CachedParkingSourcesRepository_1 = require("../../helpers/data-access/CachedParkingSourcesRepository");
26
+ const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
27
+ const _sch_1 = require("../../schema-definitions");
28
+ const ParkingMachinesModel_1 = require("../../schema-definitions/models/ParkingMachinesModel");
29
+ const SequelizeModel_1 = require("@golemio/core/dist/output-gateway/models/SequelizeModel");
30
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
31
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
32
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
33
+ let ParkingMachinesRepository = exports.ParkingMachinesRepository = class ParkingMachinesRepository extends SequelizeModel_1.SequelizeModel {
34
+ constructor(cachedParkingSourcesRepository) {
35
+ super("OGParkingMachinesRepository", ParkingMachinesModel_1.ParkingMachinesModel.tableName, ParkingMachinesModel_1.ParkingMachinesModel.attributeModel, {
36
+ schema: _sch_1.Parkings.pgSchema,
37
+ underscored: true,
38
+ });
39
+ this.cachedParkingSourcesRepository = cachedParkingSourcesRepository;
40
+ }
41
+ GetAll(params) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ try {
44
+ let where = {};
45
+ if (params.primarySource) {
46
+ where.source = { [sequelize_1.Op.in]: params.primarySource };
47
+ }
48
+ else {
49
+ where.source = { [sequelize_1.Op.in]: yield this.cachedParkingSourcesRepository.getV3Sources() };
50
+ }
51
+ if (params.primarySourceId) {
52
+ where.id = params.primarySourceId;
53
+ }
54
+ if (params.validFrom) {
55
+ where.validFrom = { [sequelize_1.Op.gte]: params.validFrom };
56
+ }
57
+ if (params.type) {
58
+ where.type = { [sequelize_1.Op.in]: params.type };
59
+ }
60
+ if (params.codeMask) {
61
+ where.code = { [sequelize_1.Op.like]: params.codeMask };
62
+ }
63
+ if (params.boundingBox) {
64
+ where = Object.assign(Object.assign({}, where), { [sequelize_1.Op.and]: (0, sequelize_1.literal)(`ST_Contains(ST_MakeEnvelope($lonMin, $latMin, $lonMax, $latMax, 4326), location)`) });
65
+ }
66
+ const result = yield this.sequelizeModel.findAll({
67
+ raw: true,
68
+ where,
69
+ limit: params.limit,
70
+ offset: params.offset,
71
+ bind: params.boundingBox && {
72
+ lonMin: params.boundingBox[1],
73
+ latMin: params.boundingBox[2],
74
+ lonMax: params.boundingBox[3],
75
+ latMax: params.boundingBox[0],
76
+ },
77
+ });
78
+ return result;
79
+ }
80
+ catch (err) {
81
+ throw new golemio_errors_1.GeneralError("Database error ~ GetAll", this.name, err, 500);
82
+ }
83
+ });
84
+ }
85
+ GetOne(id) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ try {
88
+ return yield this.sequelizeModel.findByPk(id, { raw: true });
89
+ }
90
+ catch (err) {
91
+ throw new golemio_errors_1.GeneralError("Database error ~ GetOne", this.name, err, 500);
92
+ }
93
+ });
94
+ }
95
+ };
96
+ exports.ParkingMachinesRepository = ParkingMachinesRepository = __decorate([
97
+ (0, tsyringe_1.injectable)(),
98
+ __param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.CachedParkingSourcesRepository)),
99
+ __metadata("design:paramtypes", [CachedParkingSourcesRepository_1.CachedParkingSourcesRepository])
100
+ ], ParkingMachinesRepository);
101
+ //# sourceMappingURL=ParkingMachinesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingMachinesRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/ParkingMachinesRepository.ts"],"names":[],"mappings":"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"}