@golemio/parkings 1.8.5-dev.1222270376 → 1.8.5-dev.1222317641
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/db/example/00_clear_test_data.sql +1 -0
- package/db/example/07_opening_hours.sql +6 -0
- package/db/example/08_isphk_data.sql +41 -0
- package/dist/integration-engine/transformations/IptoictParkingTransformation.js +1 -1
- package/dist/integration-engine/transformations/IptoictParkingTransformation.js.map +1 -1
- package/dist/output-gateway/controllers/v3/V3ParkingController.js +2 -0
- package/dist/output-gateway/controllers/v3/V3ParkingController.js.map +1 -1
- package/dist/output-gateway/data-access/ParkingOpeningHoursRepository.d.ts +6 -0
- package/dist/output-gateway/data-access/ParkingOpeningHoursRepository.js +34 -0
- package/dist/output-gateway/data-access/ParkingOpeningHoursRepository.js.map +1 -0
- package/dist/output-gateway/data-access/ParkingRepository.d.ts +3 -1
- package/dist/output-gateway/data-access/ParkingRepository.js +45 -2
- package/dist/output-gateway/data-access/ParkingRepository.js.map +1 -1
- package/dist/output-gateway/helpers/params/IParkingParams.d.ts +2 -0
- package/dist/output-gateway/ioc/Di.js +2 -0
- package/dist/output-gateway/ioc/Di.js.map +1 -1
- package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +1 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js +1 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/output-gateway/routers/v3/V3ParkingRouter.js +3 -0
- package/dist/output-gateway/routers/v3/V3ParkingRouter.js.map +1 -1
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.d.ts +1 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js +12 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js.map +1 -1
- package/dist/schema-definitions/models/interfaces/IParking.d.ts +2 -0
- package/docs/openapi-output.yaml +71 -0
- package/package.json +2 -2
|
@@ -4,6 +4,7 @@ DELETE FROM parkings_measurements_part;
|
|
|
4
4
|
DELETE FROM parkings_average_occupancy;
|
|
5
5
|
DELETE FROM parkings_location;
|
|
6
6
|
DELETE FROM parkings;
|
|
7
|
+
DELETE FROM parkings_opening_hours;
|
|
7
8
|
DELETE FROM common.citydistricts where district_name_slug = 'praha-10';
|
|
8
9
|
truncate table parkings_business_errors;
|
|
9
10
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
INSERT INTO parkings_opening_hours (parking_id,"source",valid_from,valid_to,periods_of_time,created_at,updated_at) VALUES
|
|
2
|
+
('isphk-hk_isp_002','isphk','2024-01-30 01:00:00+01','2024-05-30 01:00:00+01','[{"day_in_week":"Mo","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Tu","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"We","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Th","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Fr","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Sa","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Su","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null}]','2024-03-07 10:58:14.286+01','2024-03-19 09:01:00.18+01'),
|
|
3
|
+
('isphk-hk_isp_003','isphk','2024-02-26 01:00:00+01','2024-05-30 01:00:00+01','[{"day_in_week":"Mo","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Tu","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"We","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Th","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Fr","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Sa","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Su","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null}]','2024-03-07 10:58:14.286+01','2024-03-19 09:01:00.18+01'),
|
|
4
|
+
('isphk-hk_isp_005','isphk','2024-03-30 01:00:00+01','2024-06-30 01:00:00+01','[{"day_in_week":"Mo","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Tu","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"We","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Th","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Fr","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Sa","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null},{"day_in_week":"Su","start":"00:00","end":"23:59","ph":"PH_off","maximum_duration":null,"disc_parking":null}]','2024-03-07 10:58:14.286+01','2024-03-19 09:01:00.18+01'),
|
|
5
|
+
('osm-w_22823347','osm','1970-01-01 01:00:00+01',NULL,'[{"day_in_week":"Mo","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Tu","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Mo","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Tu","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Tu","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"We","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Tu","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"We","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"We","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Th","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"We","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Th","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Th","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Fr","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Th","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Fr","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Fr","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Sa","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Fr","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Sa","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Sa","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Su","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Sa","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Su","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Su","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Mo","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Su","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Mo","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null}]','2024-03-06 14:33:20.361+01','2024-03-17 16:00:09.681+01'),
|
|
6
|
+
('osm-r_14470409','osm','1970-01-01 01:00:00+01',NULL,'[{"day_in_week":"Mo","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Tu","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Mo","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Tu","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Tu","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"We","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Tu","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"We","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"We","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Th","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"We","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Th","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Th","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Fr","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Th","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Fr","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Fr","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Sa","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Fr","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Sa","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Sa","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Su","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Sa","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Su","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null},{"day_in_week":"Su","start":"04:00","end":"23:59","ph":"ph_off","maximum_duration":null},{"day_in_week":"Mo","start":"00:00","end":"01:00","ph":"ph_off","maximum_duration":null},{"day_in_week":"Su","start":"04:00","end":"23:59","ph":"ph_only","maximum_duration":null},{"day_in_week":"Mo","start":"00:00","end":"01:00","ph":"ph_only","maximum_duration":null}]','2024-03-06 14:33:20.361+01','2024-03-17 16:00:09.681+01');
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
insert into parking_sources(source, open_data, api_v3_allowed, legacy_api_allowed, payment_url, contact) VALUES
|
|
2
|
+
('isphk', false, true, false, null,
|
|
3
|
+
'{
|
|
4
|
+
"email": "zadosti@isphk.cz",
|
|
5
|
+
"phone": "800 101 039",
|
|
6
|
+
"web_url": "https://www.isphk.cz/",
|
|
7
|
+
"term_of_use_url": null
|
|
8
|
+
}');
|
|
9
|
+
|
|
10
|
+
INSERT INTO parkings
|
|
11
|
+
(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, "security", max_vehicle_dimensions, covered, contact, parking_policy)
|
|
12
|
+
VALUES('isphk-hk_isp_001', 'isphk', 'hk_isp_001', 'manual', 'Parkoviště - Areál Gayerova kasárna', NULL, '2024-03-19 12:35:38.035', NULL, 'SRID=4326;POLYGON ((15.8334023 50.2124219, 15.8332966 50.2126351, 15.8324748 50.2124681, 15.8325805 50.212255, 15.8334023 50.2124219))'::public.geometry, NULL, NULL, NULL, NULL, '2024-03-19 12:24:00.743', NULL, NULL, '2024-03-19 12:35:38.038', NULL, NULL, NULL, NULL, 'surface', NULL, 'SRID=4326;POINT (15.83293855 50.21244505)'::public.geometry, NULL, NULL, NULL, NULL, false, NULL, 'commercial');
|
|
13
|
+
INSERT INTO parkings
|
|
14
|
+
(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, "security", max_vehicle_dimensions, covered, contact, parking_policy)
|
|
15
|
+
VALUES('isphk-hk_isp_002', 'isphk', 'hk_isp_002', 'manual', 'Parkovací dům Jana Gayera', NULL, '2024-03-19 12:35:38.035', NULL, 'SRID=4326;POLYGON ((15.8321452 50.2130086, 15.8322186 50.2128579, 15.8323087 50.2128759, 15.8323223 50.2128479, 15.8323356 50.2128204, 15.8323149 50.2128163, 15.8323881 50.2126659, 15.8331828 50.2128243, 15.8331099 50.2129743, 15.8330819 50.2129687, 15.8330694 50.2129944, 15.8330549 50.213024, 15.8331541 50.2130438, 15.8330805 50.213195, 15.8326895 50.2131171, 15.832548 50.2130889, 15.8321452 50.2130086))'::public.geometry, NULL, NULL, NULL, NULL, '2024-03-19 12:24:00.743', NULL, NULL, '2024-03-19 12:35:38.038', NULL, NULL, NULL, NULL, 'multi_storey', NULL, 'SRID=4326;POINT (15.832664 50.21293045)'::public.geometry, NULL, NULL, NULL, NULL, true, NULL, 'commercial');
|
|
16
|
+
INSERT INTO parkings
|
|
17
|
+
(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, "security", max_vehicle_dimensions, covered, contact, parking_policy)
|
|
18
|
+
VALUES('isphk-hk_isp_003', 'isphk', 'hk_isp_003', 'manual', 'Parkovací dům RegioCentrum', NULL, '2024-03-19 12:35:38.035', NULL, 'SRID=4326;POLYGON ((15.8294385 50.207829, 15.8294834 50.2077227, 15.8294878 50.2077019, 15.82955 50.207706, 15.829675 50.2077134, 15.8298179 50.2082955, 15.8292389 50.2084276, 15.8293478 50.2086025, 15.8291261 50.2086672, 15.8289545 50.2083726, 15.8292259 50.2083024, 15.8289966 50.2079245, 15.8294385 50.207829))'::public.geometry, NULL, NULL, NULL, NULL, '2024-03-19 12:24:00.743', NULL, NULL, '2024-03-19 12:35:38.038', NULL, NULL, NULL, NULL, 'underground', NULL, 'SRID=4326;POINT (15.8293862 50.20818455)'::public.geometry, NULL, NULL, NULL, NULL, true, NULL, 'commercial');
|
|
19
|
+
INSERT INTO parkings
|
|
20
|
+
(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, "security", max_vehicle_dimensions, covered, contact, parking_policy)
|
|
21
|
+
VALUES('isphk-hk_isp_004', 'isphk', 'hk_isp_004', 'manual', 'Parkoviště ‐ Zimní stadion', NULL, '2024-03-19 12:35:38.035', NULL, 'SRID=4326;POLYGON ((15.8302249 50.2073579, 15.8301801 50.2075294, 15.8293367 50.2074391, 15.8293816 50.2072675, 15.8302249 50.2073579))'::public.geometry, NULL, NULL, NULL, NULL, '2024-03-19 12:24:00.743', NULL, NULL, '2024-03-19 12:35:38.038', NULL, NULL, NULL, NULL, 'surface', NULL, 'SRID=4326;POINT (15.8297808 50.20739845)'::public.geometry, NULL, NULL, NULL, NULL, false, NULL, 'commercial');
|
|
22
|
+
INSERT INTO parkings
|
|
23
|
+
(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, "security", max_vehicle_dimensions, covered, contact, parking_policy)
|
|
24
|
+
VALUES('isphk-hk_isp_005', 'isphk', 'hk_isp_005', 'manual', 'Parkovací dům Katschnerka', NULL, '2024-03-19 12:35:38.035', NULL, 'SRID=4326;POLYGON ((15.8215837 50.2146887, 15.8215852 50.2146855, 15.8215877 50.2146826, 15.8215911 50.21468, 15.8215952 50.214678, 15.8215999 50.2146765, 15.8216049 50.2146756, 15.8216101 50.2146755, 15.8216153 50.2146759, 15.8216202 50.2146771, 15.8216247 50.2146788, 15.8216285 50.2146811, 15.8216315 50.2146838, 15.8216336 50.2146869, 15.8216347 50.2146902, 15.8216347 50.2146935, 15.8216337 50.2146968, 15.8216317 50.2146999, 15.8216288 50.2147027, 15.8216251 50.214705, 15.8216207 50.2147068, 15.8216158 50.214708, 15.8216107 50.2147086, 15.8216055 50.2147085, 15.8216004 50.2147077, 15.8215957 50.2147062, 15.8215915 50.2147042, 15.821654 50.2148299, 15.821667 50.2148562, 15.8216957 50.2149139, 15.8208888 50.2150785, 15.8208576 50.2150069, 15.8207455 50.2147894, 15.8207476 50.214789, 15.8207486 50.214791, 15.8208549 50.2147691, 15.820854 50.2147672, 15.8215516 50.2146246, 15.8215837 50.2146887))'::public.geometry, NULL, NULL, NULL, NULL, '2024-03-19 12:24:00.743', NULL, NULL, '2024-03-19 12:35:38.038', NULL, NULL, NULL, NULL, 'multi_storey', NULL, 'SRID=4326;POINT (15.8212206 50.21485155)'::public.geometry, NULL, NULL, NULL, NULL, true, NULL, 'commercial');
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
INSERT INTO parkings_location
|
|
28
|
+
(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)
|
|
29
|
+
VALUES('hk_isp_001_001', 'isphk', 'hk_isp_001', 'manual', 'SRID=4326;POLYGON ((15.8334023 50.2124219, 15.8332966 50.2126351, 15.8324748 50.2124681, 15.8325805 50.212255, 15.8334023 50.2124219))'::public.geometry, 'SRID=4326;POINT (15.83293855 50.21244505)'::public.geometry, NULL, 60, NULL, '2024-03-19 12:35:38.248', NULL, NULL, '2024-03-19 12:35:38.248', NULL, '{}');
|
|
30
|
+
INSERT INTO parkings_location
|
|
31
|
+
(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)
|
|
32
|
+
VALUES('hk_isp_002_001', 'isphk', 'hk_isp_002', 'manual', 'SRID=4326;POLYGON ((15.8321452 50.2130086, 15.8322186 50.2128579, 15.8323087 50.2128759, 15.8323223 50.2128479, 15.8323356 50.2128204, 15.8323149 50.2128163, 15.8323881 50.2126659, 15.8331828 50.2128243, 15.8331099 50.2129743, 15.8330819 50.2129687, 15.8330694 50.2129944, 15.8330549 50.213024, 15.8331541 50.2130438, 15.8330805 50.213195, 15.8326895 50.2131171, 15.832548 50.2130889, 15.8321452 50.2130086))'::public.geometry, 'SRID=4326;POINT (15.832664 50.21293045)'::public.geometry, NULL, 284, NULL, '2024-03-19 12:35:38.248', NULL, NULL, '2024-03-19 12:35:38.248', NULL, NULL);
|
|
33
|
+
INSERT INTO parkings_location
|
|
34
|
+
(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)
|
|
35
|
+
VALUES('hk_isp_003_001', 'isphk', 'hk_isp_003', 'manual', 'SRID=4326;POLYGON ((15.8294385 50.207829, 15.8294834 50.2077227, 15.8294878 50.2077019, 15.82955 50.207706, 15.829675 50.2077134, 15.8298179 50.2082955, 15.8292389 50.2084276, 15.8293478 50.2086025, 15.8291261 50.2086672, 15.8289545 50.2083726, 15.8292259 50.2083024, 15.8289966 50.2079245, 15.8294385 50.207829))'::public.geometry, 'SRID=4326;POINT (15.8293862 50.20818455)'::public.geometry, NULL, 425, NULL, '2024-03-19 12:35:38.248', NULL, NULL, '2024-03-19 12:35:38.248', NULL, NULL);
|
|
36
|
+
INSERT INTO parkings_location
|
|
37
|
+
(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)
|
|
38
|
+
VALUES('hk_isp_004_001', 'isphk', 'hk_isp_004', 'manual', 'SRID=4326;POLYGON ((15.8302249 50.2073579, 15.8301801 50.2075294, 15.8293367 50.2074391, 15.8293816 50.2072675, 15.8302249 50.2073579))'::public.geometry, 'SRID=4326;POINT (15.8297808 50.20739845)'::public.geometry, NULL, 50, NULL, '2024-03-19 12:35:38.248', NULL, NULL, '2024-03-19 12:35:38.248', NULL, '{}');
|
|
39
|
+
INSERT INTO parkings_location
|
|
40
|
+
(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)
|
|
41
|
+
VALUES('hk_isp_005_001', 'isphk', 'hk_isp_005', 'manual', 'SRID=4326;POLYGON ((15.8215837 50.2146887, 15.8215852 50.2146855, 15.8215877 50.2146826, 15.8215911 50.21468, 15.8215952 50.214678, 15.8215999 50.2146765, 15.8216049 50.2146756, 15.8216101 50.2146755, 15.8216153 50.2146759, 15.8216202 50.2146771, 15.8216247 50.2146788, 15.8216285 50.2146811, 15.8216315 50.2146838, 15.8216336 50.2146869, 15.8216347 50.2146902, 15.8216347 50.2146935, 15.8216337 50.2146968, 15.8216317 50.2146999, 15.8216288 50.2147027, 15.8216251 50.214705, 15.8216207 50.2147068, 15.8216158 50.214708, 15.8216107 50.2147086, 15.8216055 50.2147085, 15.8216004 50.2147077, 15.8215957 50.2147062, 15.8215915 50.2147042, 15.821654 50.2148299, 15.821667 50.2148562, 15.8216957 50.2149139, 15.8208888 50.2150785, 15.8208576 50.2150069, 15.8207455 50.2147894, 15.8207476 50.214789, 15.8207486 50.214791, 15.8208549 50.2147691, 15.820854 50.2147672, 15.8215516 50.2146246, 15.8215837 50.2146887))'::public.geometry, 'SRID=4326;POINT (15.8212206 50.21485155)'::public.geometry, NULL, 497, NULL, '2024-03-19 12:35:38.248', NULL, NULL, '2024-03-19 12:35:38.248', NULL, NULL);
|
|
@@ -13,7 +13,7 @@ class IptoictParkingTransformation extends AbstractTransformation_1.AbstractTran
|
|
|
13
13
|
this.transformInternal = (element) => {
|
|
14
14
|
var _a, _b, _c, _d;
|
|
15
15
|
const transformed = {
|
|
16
|
-
id: element.properties.source_id
|
|
16
|
+
id: `${SourceEnum_1.SourceEnum.Isphk}-${element.properties.source_id}`,
|
|
17
17
|
source: SourceEnum_1.SourceEnum.Isphk,
|
|
18
18
|
source_id: element.properties.source_id,
|
|
19
19
|
data_provider: "manual",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IptoictParkingTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/IptoictParkingTransformation.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAGjD,4DAA8D;AAC9D,iIAA0H;AAC1H,6GAA0G;AAG1G,MAAa,4BAA6B,SAAQ,+CAA4E;IAG1H,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAFrC,SAAI,GAAW,8BAA8B,CAAC;QAM3C,sBAAiB,GAAG,CAAC,OAAmD,EAAE,EAAE;;YAClF,MAAM,WAAW,GAAa;gBAC1B,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"IptoictParkingTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/IptoictParkingTransformation.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAGjD,4DAA8D;AAC9D,iIAA0H;AAC1H,6GAA0G;AAG1G,MAAa,4BAA6B,SAAQ,+CAA4E;IAG1H,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAFrC,SAAI,GAAW,8BAA8B,CAAC;QAM3C,sBAAiB,GAAG,CAAC,OAAmD,EAAE,EAAE;;YAClF,MAAM,WAAW,GAAa;gBAC1B,EAAE,EAAE,GAAG,uBAAU,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE;gBACzD,MAAM,EAAE,uBAAU,CAAC,KAAK;gBACxB,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;gBACvC,aAAa,EAAE,QAAQ;gBACvB,QAAQ,EAAE,OAAO,CAAC,QAA2B;gBAC7C,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI;gBAC7B,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO;gBACnG,QAAQ,EAAE,IAAA,iCAAiB,EAAC,OAAO,CAAC,QAA2B,CAAC;gBAChE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;gBACnC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,KAAK,0CAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBACrG,OAAO,EACH,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO;oBAC9E,CAAC,CAAC;wBACI,KAAK,EAAE,MAAA,OAAO,CAAC,UAAU,CAAC,KAAK,mCAAI,IAAI;wBACvC,KAAK,EAAE,MAAA,OAAO,CAAC,UAAU,CAAC,KAAK,mCAAI,IAAI;wBACvC,OAAO,EAAE,MAAA,OAAO,CAAC,UAAU,CAAC,OAAO,mCAAI,IAAI;qBAC9C;oBACH,CAAC,CAAC,IAAI;gBACd,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBACpD,iBAAiB,EAAE,IAAI;gBACvB,sBAAsB,EAAE,IAAI;gBAC5B,cAAc,EAAE,MAAA,OAAO,CAAC,UAAU,CAAC,cAAc,mCAAI,IAAI;aAC5D,CAAC;YAEF,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC;IA7BF,CAAC;CA8BJ;AAnCD,oEAmCC"}
|
|
@@ -71,6 +71,8 @@ class V3ParkingController {
|
|
|
71
71
|
: [req.query.primarySource]
|
|
72
72
|
: undefined,
|
|
73
73
|
validFrom: req.query.validFrom ? req.query.validFrom : undefined,
|
|
74
|
+
openFrom: req.query.openingHoursValidFrom ? req.query.openingHoursValidFrom : undefined,
|
|
75
|
+
openTo: req.query.openingHoursValidTo ? req.query.openingHoursValidTo : undefined,
|
|
74
76
|
boundingBox: req.query.boundingBox
|
|
75
77
|
? req.query.boundingBox.split(",").map((x) => parseFloat(x))
|
|
76
78
|
: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V3ParkingController.js","sourceRoot":"","sources":["../../../../src/output-gateway/controllers/v3/V3ParkingController.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"V3ParkingController.js","sourceRoot":"","sources":["../../../../src/output-gateway/controllers/v3/V3ParkingController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,qCAA+C;AAC/C,yEAAoE;AACpE,gGAA2F;AAE3F,6EAAwE;AAExE,MAAa,mBAAmB;IAM5B;QAWO,WAAM,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI;gBACA,MAAM,MAAM,GAAmB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;gBACnF,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aAC/B;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI;gBACA,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEvD,IAAI,MAAM,KAAK,IAAI,EAAE;oBACjB,MAAM,IAAI,6BAAY,CAAC,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;iBAC9E;qBAAM;oBACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACvE,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;iBAC/B;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAEK,wBAAmB,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACnF,IAAI;gBACA,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,YAAY,EAAE,CAAC;gBACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAE/E,IAAI,CAAC,MAAM,EAAE;oBACT,MAAM,IAAI,6BAAY,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;iBAC9E;gBAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/E;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAnDE,IAAI,CAAC,iBAAiB,GAAG,sBAAiB,CAAC,OAAO,CAAoB,2CAAoB,CAAC,iBAAiB,CAAC,CAAC;QAC9G,IAAI,CAAC,8BAA8B,GAAG,sBAAiB,CAAC,OAAO,CAC3D,2CAAoB,CAAC,8BAA8B,CACtD,CAAC;QACF,IAAI,CAAC,0BAA0B,GAAG,sBAAiB,CAAC,OAAO,CACvD,2CAAoB,CAAC,iCAAiC,CACzD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,mDAAwB,EAAE,CAAC;IACzD,CAAC;IA6CO,WAAW,CAAC,GAAY;QAC5B,IAAI;YACA,OAAO;gBACH,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa;oBAClC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,YAAY,KAAK;wBACtC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,aAA0B;wBACvC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAuB,CAAC;oBACzC,CAAC,CAAC,SAAS;gBACf,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,SAAoB,CAAC,CAAC,CAAC,SAAS;gBAC5E,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,qBAAgC,CAAC,CAAC,CAAC,SAAS;gBACnG,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,mBAA8B,CAAC,CAAC,CAAC,SAAS;gBAC7F,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW;oBAC9B,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,WAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACxE,CAAC,CAAC,SAAS;gBACf,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3E,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,iBAAiB;oBAC1C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,YAAY,KAAK;wBAC1C,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,iBAA8B;wBAC3C,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAA2B,CAAC;oBAC7C,CAAC,CAAC,SAAS;gBACf,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAuB,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChG,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,YAAuB,CAAC,CAAC,CAAC,SAAS;aACxF,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,6BAAY,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SAClF;IACL,CAAC;CACJ;AAxFD,kDAwFC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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.ParkingOpeningHoursRepository = void 0;
|
|
13
|
+
const _sch_1 = require("../../schema-definitions");
|
|
14
|
+
const OpeningHoursModel_1 = require("../../schema-definitions/models/OpeningHoursModel");
|
|
15
|
+
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
16
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
17
|
+
let ParkingOpeningHoursRepository = exports.ParkingOpeningHoursRepository = class ParkingOpeningHoursRepository extends output_gateway_1.SequelizeModel {
|
|
18
|
+
constructor() {
|
|
19
|
+
super("ParkingsOpeningHoursRepository", OpeningHoursModel_1.OpeningHoursModel.tableName, OpeningHoursModel_1.OpeningHoursModel.attributeModel, {
|
|
20
|
+
schema: _sch_1.Parkings.pgSchema,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
GetAll() {
|
|
24
|
+
throw new Error("Not implemented");
|
|
25
|
+
}
|
|
26
|
+
GetOne() {
|
|
27
|
+
throw new Error("Not implemented");
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.ParkingOpeningHoursRepository = ParkingOpeningHoursRepository = __decorate([
|
|
31
|
+
(0, tsyringe_1.injectable)(),
|
|
32
|
+
__metadata("design:paramtypes", [])
|
|
33
|
+
], ParkingOpeningHoursRepository);
|
|
34
|
+
//# sourceMappingURL=ParkingOpeningHoursRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkingOpeningHoursRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/ParkingOpeningHoursRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAgC;AAChC,yFAAkE;AAClE,sEAAmE;AACnE,iEAAgE;AAGzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+BAAc;IAC7D;QACI,KAAK,CAAC,gCAAgC,EAAE,qCAAiB,CAAC,SAAS,EAAE,qCAAiB,CAAC,cAAc,EAAE;YACnG,MAAM,EAAE,eAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ,CAAA;wCAdY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;;GACA,6BAA6B,CAczC"}
|
|
@@ -5,12 +5,14 @@ import { IParkingParams } from "../helpers/params/IParkingParams";
|
|
|
5
5
|
import { ParkingsLocationModel } from "../models/ParkingsLocationModel";
|
|
6
6
|
import { IParkingWithLocationAndOccupancyInfo } from "../../schema-definitions/models/interfaces/IParking";
|
|
7
7
|
import { SequelizeModel } from "@golemio/core/dist/output-gateway";
|
|
8
|
+
import { ParkingOpeningHoursRepository } from "./ParkingOpeningHoursRepository";
|
|
8
9
|
export declare class ParkingRepository extends SequelizeModel {
|
|
9
10
|
private averageOccupancyRepository;
|
|
10
11
|
private cachedParkingSourcesRepository;
|
|
12
|
+
private parkingOpeningHoursRepository;
|
|
11
13
|
private entrancesRepository;
|
|
12
14
|
private locationModel;
|
|
13
|
-
constructor(locationModel: ParkingsLocationModel, averageOccupancyRepository: ParkingAverageOccupancyRepository, cachedParkingSourcesRepository: CachedParkingSourcesRepository, entrancesRepository: ParkingEntrancesRepository);
|
|
15
|
+
constructor(locationModel: ParkingsLocationModel, averageOccupancyRepository: ParkingAverageOccupancyRepository, cachedParkingSourcesRepository: CachedParkingSourcesRepository, parkingOpeningHoursRepository: ParkingOpeningHoursRepository, entrancesRepository: ParkingEntrancesRepository);
|
|
14
16
|
associate(): void;
|
|
15
17
|
GetAll(params: IParkingParams): Promise<IParkingWithLocationAndOccupancyInfo[]>;
|
|
16
18
|
GetOne(id: string): Promise<IParkingWithLocationAndOccupancyInfo | null>;
|
|
@@ -33,13 +33,15 @@ const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
|
33
33
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
34
34
|
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
35
35
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
36
|
+
const ParkingOpeningHoursRepository_1 = require("./ParkingOpeningHoursRepository");
|
|
36
37
|
let ParkingRepository = exports.ParkingRepository = class ParkingRepository extends output_gateway_1.SequelizeModel {
|
|
37
|
-
constructor(locationModel, averageOccupancyRepository, cachedParkingSourcesRepository, entrancesRepository) {
|
|
38
|
+
constructor(locationModel, averageOccupancyRepository, cachedParkingSourcesRepository, parkingOpeningHoursRepository, entrancesRepository) {
|
|
38
39
|
super("OGParkingRepository", _sch_1.Parkings.parkings.pgTableName, _sch_1.Parkings.parkings.outputSequelizeAttributes, {
|
|
39
40
|
schema: _sch_1.Parkings.pgSchema,
|
|
40
41
|
});
|
|
41
42
|
this.averageOccupancyRepository = averageOccupancyRepository;
|
|
42
43
|
this.cachedParkingSourcesRepository = cachedParkingSourcesRepository;
|
|
44
|
+
this.parkingOpeningHoursRepository = parkingOpeningHoursRepository;
|
|
43
45
|
this.entrancesRepository = entrancesRepository;
|
|
44
46
|
this.locationModel = locationModel;
|
|
45
47
|
this.associate();
|
|
@@ -60,6 +62,11 @@ let ParkingRepository = exports.ParkingRepository = class ParkingRepository exte
|
|
|
60
62
|
foreignKey: "source_id",
|
|
61
63
|
sourceKey: "source_id",
|
|
62
64
|
});
|
|
65
|
+
this.sequelizeModel.hasMany(this.parkingOpeningHoursRepository.sequelizeModel, {
|
|
66
|
+
as: "parking_hours",
|
|
67
|
+
foreignKey: "parking_id",
|
|
68
|
+
sourceKey: "id",
|
|
69
|
+
});
|
|
63
70
|
}
|
|
64
71
|
GetAll(params) {
|
|
65
72
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -83,6 +90,17 @@ let ParkingRepository = exports.ParkingRepository = class ParkingRepository exte
|
|
|
83
90
|
subQuery: false,
|
|
84
91
|
where: whereLocation,
|
|
85
92
|
},
|
|
93
|
+
{
|
|
94
|
+
model: this.parkingOpeningHoursRepository.sequelizeModel,
|
|
95
|
+
as: "parking_hours",
|
|
96
|
+
on: {
|
|
97
|
+
parking_id: {
|
|
98
|
+
[sequelize_1.Op.eq]: sequelize_1.Sequelize.col(`${_sch_1.Parkings.parkings.pgTableName}.id`),
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
required: false,
|
|
102
|
+
subQuery: true,
|
|
103
|
+
},
|
|
86
104
|
{
|
|
87
105
|
model: this.averageOccupancyRepository.sequelizeModel,
|
|
88
106
|
as: "parking_average_occupancy",
|
|
@@ -124,6 +142,7 @@ let ParkingRepository = exports.ParkingRepository = class ParkingRepository exte
|
|
|
124
142
|
const result = element.dataValues;
|
|
125
143
|
result.parking_locations = result.parking_locations.map((location) => location.dataValues);
|
|
126
144
|
result.parking_average_occupancy = !!result.parking_average_occupancy;
|
|
145
|
+
result.parking_hours = result.parking_hours.map((item) => item.dataValues);
|
|
127
146
|
return result;
|
|
128
147
|
});
|
|
129
148
|
}
|
|
@@ -152,6 +171,17 @@ let ParkingRepository = exports.ParkingRepository = class ParkingRepository exte
|
|
|
152
171
|
required: true,
|
|
153
172
|
subQuery: false,
|
|
154
173
|
},
|
|
174
|
+
{
|
|
175
|
+
model: this.parkingOpeningHoursRepository.sequelizeModel,
|
|
176
|
+
as: "parking_hours",
|
|
177
|
+
on: {
|
|
178
|
+
parking_id: {
|
|
179
|
+
[sequelize_1.Op.eq]: sequelize_1.Sequelize.col(`${_sch_1.Parkings.parkings.pgTableName}.id`),
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
required: false,
|
|
183
|
+
subQuery: false,
|
|
184
|
+
},
|
|
155
185
|
{
|
|
156
186
|
model: this.averageOccupancyRepository.sequelizeModel,
|
|
157
187
|
as: "parking_average_occupancy",
|
|
@@ -189,6 +219,7 @@ let ParkingRepository = exports.ParkingRepository = class ParkingRepository exte
|
|
|
189
219
|
}
|
|
190
220
|
const resultData = result.dataValues;
|
|
191
221
|
resultData.parking_locations = resultData.parking_locations.map((location) => location.dataValues);
|
|
222
|
+
resultData.parking_hours = resultData.parking_hours.map((item) => item.dataValues);
|
|
192
223
|
resultData.parking_average_occupancy = !!resultData.parking_average_occupancy;
|
|
193
224
|
return resultData;
|
|
194
225
|
}
|
|
@@ -226,6 +257,16 @@ let ParkingRepository = exports.ParkingRepository = class ParkingRepository exte
|
|
|
226
257
|
[sequelize_1.Op.gte]: params.updatedSince,
|
|
227
258
|
} });
|
|
228
259
|
}
|
|
260
|
+
if (params.openFrom) {
|
|
261
|
+
where = Object.assign(Object.assign({}, where), { "$parking_hours.valid_from$": {
|
|
262
|
+
[sequelize_1.Op.gte]: params.openFrom,
|
|
263
|
+
} });
|
|
264
|
+
}
|
|
265
|
+
if (params.openTo) {
|
|
266
|
+
where = Object.assign(Object.assign({}, where), { "$parking_hours.valid_to$": {
|
|
267
|
+
[sequelize_1.Op.gte]: params.openTo,
|
|
268
|
+
} });
|
|
269
|
+
}
|
|
229
270
|
let whereLocation = {};
|
|
230
271
|
if (params.accessDedicatedTo) {
|
|
231
272
|
whereLocation.special_access = { [sequelize_1.Op.overlap]: params.accessDedicatedTo };
|
|
@@ -239,10 +280,12 @@ exports.ParkingRepository = ParkingRepository = __decorate([
|
|
|
239
280
|
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationModel)),
|
|
240
281
|
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingAverageOccupancyRepository)),
|
|
241
282
|
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.CachedParkingSourcesRepository)),
|
|
242
|
-
__param(3, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.
|
|
283
|
+
__param(3, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingOpeningHoursRepository)),
|
|
284
|
+
__param(4, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingEntrancesRepository)),
|
|
243
285
|
__metadata("design:paramtypes", [ParkingsLocationModel_1.ParkingsLocationModel,
|
|
244
286
|
ParkingAverageOccupancyRepository_1.ParkingAverageOccupancyRepository,
|
|
245
287
|
CachedParkingSourcesRepository_1.CachedParkingSourcesRepository,
|
|
288
|
+
ParkingOpeningHoursRepository_1.ParkingOpeningHoursRepository,
|
|
246
289
|
ParkingEntrancesRepository_1.ParkingEntrancesRepository])
|
|
247
290
|
], ParkingRepository);
|
|
248
291
|
//# sourceMappingURL=ParkingRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/ParkingRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAiD;AACjD,6GAAqG;AACrG,2FAAsG;AACtG,6EAAwF;AAExF,sEAAoE;AACpE,2EAAyE;AACzE,mDAAgC;AAGhC,sEAAmE;AACnE,6EAAwE;AACxE,mEAA2F;AAC3F,iEAAwE;
|
|
1
|
+
{"version":3,"file":"ParkingRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/ParkingRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ const ModuleContainerToken_1 = require("./ModuleContainerToken");
|
|
|
13
13
|
const ParkingsLocationModel_1 = require("../models/ParkingsLocationModel");
|
|
14
14
|
const ParkingMachinesRepository_1 = require("../data-access/ParkingMachinesRepository");
|
|
15
15
|
const TariffRepository_1 = require("../data-access/TariffRepository");
|
|
16
|
+
const ParkingOpeningHoursRepository_1 = require("../data-access/ParkingOpeningHoursRepository");
|
|
16
17
|
const ParkingEntrancesRepository_1 = require("../data-access/ParkingEntrancesRepository");
|
|
17
18
|
//#region Initialization
|
|
18
19
|
const parkingsContainer = Di_1.OutputGatewayContainer.createChildContainer();
|
|
@@ -31,6 +32,7 @@ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.ParkingMe
|
|
|
31
32
|
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.ParkingLatestMeasurementRepository, ParkingLatestMeasurementRepository_1.ParkingLatestMeasurementRepository);
|
|
32
33
|
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.ParkingAverageOccupancyRepository, ParkingAverageOccupancyRepository_1.ParkingAverageOccupancyRepository);
|
|
33
34
|
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.ParkingTariffRepository, TariffRepository_1.TariffRepository);
|
|
35
|
+
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.ParkingOpeningHoursRepository, ParkingOpeningHoursRepository_1.ParkingOpeningHoursRepository);
|
|
34
36
|
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.ParkingEntrancesRepository, ParkingEntrancesRepository_1.ParkingEntrancesRepository);
|
|
35
37
|
//#endregion
|
|
36
38
|
//#region Validators
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,6GAAqG;AACrG,wGAAsG;AACtG,0GAAwG;AACxG,8FAA4F;AAC5F,wEAAsE;AACtE,yFAAuF;AACvF,wEAAqE;AACrE,iEAAkF;AAElF,iEAA8D;AAC9D,2EAAyE;AACzE,wFAAsF;AACtF,sEAAoE;AACpE,0FAAwF;AAExF,wBAAwB;AACxB,MAAM,iBAAiB,GAAwB,2BAAsB,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,6GAAqG;AACrG,wGAAsG;AACtG,0GAAwG;AACxG,8FAA4F;AAC5F,wEAAsE;AACtE,yFAAuF;AACvF,wEAAqE;AACrE,iEAAkF;AAElF,iEAA8D;AAC9D,2EAAyE;AACzE,wFAAsF;AACtF,sEAAoE;AACpE,gGAA8F;AAC9F,0FAAwF;AAExF,wBAAwB;AACxB,MAAM,iBAAiB,GAAwB,2BAAsB,CAAC,oBAAoB,EAAE,CAAC;AA4B/D,8CAAiB;AA3B/C,YAAY;AAEZ,gBAAgB;AAChB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC9F,YAAY;AAEZ,sBAAsB;AACtB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,8BAA8B,EAAE;IAC5E,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,+DAA8B,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAS,CAAC,MAAM,CAAC,CAAC;CAC7H,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,CAAC;AACtF,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACtG,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AAC5G,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACxH,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AACtH,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,uBAAuB,EAAE,mCAAgB,CAAC,CAAC;AAC3F,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC9G,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACxG,YAAY;AAEZ,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC"}
|
|
@@ -7,6 +7,7 @@ declare const ModuleContainerToken: {
|
|
|
7
7
|
ParkingAverageOccupancyRepository: symbol;
|
|
8
8
|
ParkingMachinesRepository: symbol;
|
|
9
9
|
ParkingTariffRepository: symbol;
|
|
10
|
+
ParkingOpeningHoursRepository: symbol;
|
|
10
11
|
ParkingEntrancesRepository: symbol;
|
|
11
12
|
PrimarySourceValidator: symbol;
|
|
12
13
|
};
|
|
@@ -10,6 +10,7 @@ const ModuleContainerToken = {
|
|
|
10
10
|
ParkingAverageOccupancyRepository: Symbol(),
|
|
11
11
|
ParkingMachinesRepository: Symbol(),
|
|
12
12
|
ParkingTariffRepository: Symbol(),
|
|
13
|
+
ParkingOpeningHoursRepository: Symbol(),
|
|
13
14
|
ParkingEntrancesRepository: Symbol(),
|
|
14
15
|
PrimarySourceValidator: Symbol(),
|
|
15
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,qBAAqB,EAAE,MAAM,EAAE;IAE/B,8BAA8B,EAAE,MAAM,EAAE;IACxC,iBAAiB,EAAE,MAAM,EAAE;IAC3B,4BAA4B,EAAE,MAAM,EAAE;IACtC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,iCAAiC,EAAE,MAAM,EAAE;IAC3C,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,0BAA0B,EAAE,MAAM,EAAE;IAEpC,sBAAsB,EAAE,MAAM,EAAE;CACnC,CAAC;AAEO,oDAAoB"}
|
|
1
|
+
{"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,qBAAqB,EAAE,MAAM,EAAE;IAE/B,8BAA8B,EAAE,MAAM,EAAE;IACxC,iBAAiB,EAAE,MAAM,EAAE;IAC3B,4BAA4B,EAAE,MAAM,EAAE;IACtC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,iCAAiC,EAAE,MAAM,EAAE;IAC3C,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,6BAA6B,EAAE,MAAM,EAAE;IACvC,0BAA0B,EAAE,MAAM,EAAE;IAEpC,sBAAsB,EAAE,MAAM,EAAE;CACnC,CAAC;AAEO,oDAAoB"}
|
|
@@ -33,7 +33,10 @@ class V3ParkingRouter extends AbstractRouter_1.AbstractRouter {
|
|
|
33
33
|
initRoutes(expire) {
|
|
34
34
|
this.router.get("/", [
|
|
35
35
|
(0, express_validator_1.query)("primarySource").optional().custom(this.primarySourceValidator.validate),
|
|
36
|
+
(0, express_validator_1.query)("primarySourceId").optional().isString(),
|
|
36
37
|
(0, express_validator_1.query)("validFrom").optional().isISO8601().not().isArray(),
|
|
38
|
+
(0, express_validator_1.query)("openingHoursValidFrom").optional().isISO8601(),
|
|
39
|
+
(0, express_validator_1.query)("openingHoursValidTo").optional().isISO8601(),
|
|
37
40
|
(0, express_validator_1.query)("boundingBox")
|
|
38
41
|
.optional()
|
|
39
42
|
.matches(/^\d+\.?\d*(,\d+\.?\d*){3}$/) // 50.123,14.243,50.017,14.573
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V3ParkingRouter.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/v3/V3ParkingRouter.ts"],"names":[],"mappings":";;;AAAA,kFAA6E;AAC7E,qCAA+C;AAC/C,yEAAoE;AACpE,sFAAmF;AACnF,6EAAkH;AAClH,mEAA6E;AAC7E,mFAAkF;AAClF,4CAA4C;AAG5C,MAAM,eAAgB,SAAQ,+BAAc;IAkBxC;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAhB9B,6BAAwB,GAAG;YAC/B,UAAU;YACV,UAAU;YACV,QAAQ;YACR,UAAU;YACV,UAAU;YACV,UAAU;YACV,KAAK;YACL,YAAY;YACZ,OAAO;YACP,KAAK;YACL,YAAY;YACZ,IAAI;SACP,CAAC;QAKE,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAC5C,IAAI,CAAC,sBAAsB,GAAG,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QAErG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAC9E,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACzD,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC,CAAC,8BAA8B;iBACpE,GAAG,EAAE;iBACL,OAAO,EAAE;YACd,IAAA,yBAAK,EAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACzE,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACnE,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;SAC/D,EACD,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,EACpC,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,wBAAwB,EACxB,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAC/B,wBAAW,EACX,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CACtC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,wBAAW,EAAE,IAAA,0BAAkB,GAAE,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACxH,CAAC;CACJ;AAED,MAAM,eAAe,GAAmB,IAAI,eAAe,EAAE,CAAC;AAErD,0CAAe"}
|
|
1
|
+
{"version":3,"file":"V3ParkingRouter.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/v3/V3ParkingRouter.ts"],"names":[],"mappings":";;;AAAA,kFAA6E;AAC7E,qCAA+C;AAC/C,yEAAoE;AACpE,sFAAmF;AACnF,6EAAkH;AAClH,mEAA6E;AAC7E,mFAAkF;AAClF,4CAA4C;AAG5C,MAAM,eAAgB,SAAQ,+BAAc;IAkBxC;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAhB9B,6BAAwB,GAAG;YAC/B,UAAU;YACV,UAAU;YACV,QAAQ;YACR,UAAU;YACV,UAAU;YACV,UAAU;YACV,KAAK;YACL,YAAY;YACZ,OAAO;YACP,KAAK;YACL,YAAY;YACZ,IAAI;SACP,CAAC;QAKE,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAC5C,IAAI,CAAC,sBAAsB,GAAG,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QAErG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAC9E,IAAA,yBAAK,EAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC9C,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACzD,IAAA,yBAAK,EAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;YACrD,IAAA,yBAAK,EAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;YACnD,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC,CAAC,8BAA8B;iBACpE,GAAG,EAAE;iBACL,OAAO,EAAE;YACd,IAAA,yBAAK,EAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACzE,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACnE,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;SAC/D,EACD,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,EACpC,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,wBAAwB,EACxB,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAC/B,wBAAW,EACX,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CACtC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,wBAAW,EAAE,IAAA,0BAAkB,GAAE,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACxH,CAAC;CACJ;AAED,MAAM,eAAe,GAAmB,IAAI,eAAe,EAAE,CAAC;AAErD,0CAAe"}
|
|
@@ -8,6 +8,7 @@ export declare class ParkingDtoTransformation extends AbstractTransformation<IPa
|
|
|
8
8
|
transformToFeatureCollection: (elements: IParkingWithLocationAndOccupancyInfo[]) => import("@golemio/core/dist/output-gateway/Geo").IGeoJSONFeatureCollection;
|
|
9
9
|
protected transformInternal: (element: IParkingWithLocationAndOccupancyInfo) => IGeoJSONFeature;
|
|
10
10
|
private transformLocation;
|
|
11
|
+
private transformParkingHours;
|
|
11
12
|
private transformEntrance;
|
|
12
13
|
transformAverageOccupancyArray: (data: Array<Omit<IParkingAverageOccupancy, "hour"> & {
|
|
13
14
|
hour: string;
|
|
@@ -50,6 +50,11 @@ class ParkingDtoTransformation extends AbstractTransformation_1.AbstractTransfor
|
|
|
50
50
|
space: (0, Geo_1.buildGeojsonFeatureCollection)(element.parking_locations.map((location) => {
|
|
51
51
|
return this.transformLocation(location, element.category);
|
|
52
52
|
})),
|
|
53
|
+
opening_hours: (element === null || element === void 0 ? void 0 : element.parking_hours)
|
|
54
|
+
? element.parking_hours.map((element) => {
|
|
55
|
+
return this.transformParkingHours(element);
|
|
56
|
+
})
|
|
57
|
+
: [],
|
|
53
58
|
entrances: (0, Geo_1.buildGeojsonFeatureCollection)(element.parking_entrances.map((entrance) => {
|
|
54
59
|
return this.transformEntrance(entrance);
|
|
55
60
|
})),
|
|
@@ -83,6 +88,13 @@ class ParkingDtoTransformation extends AbstractTransformation_1.AbstractTransfor
|
|
|
83
88
|
type: "Feature",
|
|
84
89
|
};
|
|
85
90
|
};
|
|
91
|
+
this.transformParkingHours = (element) => {
|
|
92
|
+
return {
|
|
93
|
+
valid_from: new Date(element.valid_from).valueOf() === new Date(0).valueOf() ? null : element.valid_from,
|
|
94
|
+
valid_to: element.valid_to,
|
|
95
|
+
periods_of_time: element.periods_of_time,
|
|
96
|
+
};
|
|
97
|
+
};
|
|
86
98
|
this.transformEntrance = (element) => {
|
|
87
99
|
const properties = {
|
|
88
100
|
entry: element.entry,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingDtoTransformation.js","sourceRoot":"","sources":["../../../../src/output-gateway/transformations/v3/ParkingDtoTransformation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ParkingDtoTransformation.js","sourceRoot":"","sources":["../../../../src/output-gateway/transformations/v3/ParkingDtoTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { IGeoCoordinatesPoint, TGeoCoordinates } from "@golemio/core/dist/output-gateway/Geo";
|
|
2
2
|
import { IAddress } from "./IAddress";
|
|
3
3
|
import { IParkingLocation } from "./IParkingLocation";
|
|
4
|
+
import { IOpeningHours } from "./openingHours/IOpeningHours";
|
|
4
5
|
export interface IParkingWithLocationAndOccupancyInfo extends IParking {
|
|
5
6
|
parking_locations: IParkingLocation[];
|
|
6
7
|
parking_average_occupancy: boolean;
|
|
8
|
+
parking_hours: IOpeningHours[];
|
|
7
9
|
parking_entrances: IParkingEntrance[];
|
|
8
10
|
}
|
|
9
11
|
export interface IParking {
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -579,6 +579,20 @@ paths:
|
|
|
579
579
|
format: date-time
|
|
580
580
|
example: '2022-08-01T00:00:00Z'
|
|
581
581
|
description: 'Filter by valid from date'
|
|
582
|
+
- name: openingHoursValidFrom
|
|
583
|
+
in: query
|
|
584
|
+
schema:
|
|
585
|
+
type: string
|
|
586
|
+
format: date-time
|
|
587
|
+
example: '2022-08-01T00:00:00Z'
|
|
588
|
+
description: 'Filter opening hours by valid from date'
|
|
589
|
+
- name: openingHoursValidTo
|
|
590
|
+
in: query
|
|
591
|
+
schema:
|
|
592
|
+
type: string
|
|
593
|
+
format: date-time
|
|
594
|
+
example: '2022-08-01T00:00:00Z'
|
|
595
|
+
description: 'Filter opening hours by valid to date'
|
|
582
596
|
- name: accessDedicatedTo
|
|
583
597
|
in: query
|
|
584
598
|
schema:
|
|
@@ -1748,6 +1762,11 @@ components:
|
|
|
1748
1762
|
type: string
|
|
1749
1763
|
format: uuid
|
|
1750
1764
|
description: 'UUID of related parking tariff.'
|
|
1765
|
+
opening_hours:
|
|
1766
|
+
type: array
|
|
1767
|
+
nullable: true
|
|
1768
|
+
items:
|
|
1769
|
+
$ref: '#/components/schemas/OpeningHours'
|
|
1751
1770
|
has_measurement_info:
|
|
1752
1771
|
type: boolean
|
|
1753
1772
|
description: 'True if occupancy measurements are available'
|
|
@@ -2342,3 +2361,55 @@ components:
|
|
|
2342
2361
|
max_width: 2.5
|
|
2343
2362
|
max_length: 5.0
|
|
2344
2363
|
max_weight: 1500
|
|
2364
|
+
OpeningHours:
|
|
2365
|
+
type: object
|
|
2366
|
+
title: Parking Hours
|
|
2367
|
+
nullable: true
|
|
2368
|
+
properties:
|
|
2369
|
+
valid_from:
|
|
2370
|
+
type: string
|
|
2371
|
+
nullable: true
|
|
2372
|
+
example: '2020-05-31T00:00:00.000Z'
|
|
2373
|
+
valid_to:
|
|
2374
|
+
type: string
|
|
2375
|
+
nullable: true
|
|
2376
|
+
example: '2022-05-32T00:00:00.000Z'
|
|
2377
|
+
periods_of_time:
|
|
2378
|
+
type: array
|
|
2379
|
+
items:
|
|
2380
|
+
$ref: '#/components/schemas/ParkingPeriodsOfTimeWithDuration'
|
|
2381
|
+
description: 'Array of Periods of Time objects.'
|
|
2382
|
+
ParkingPeriodsOfTimeWithDuration:
|
|
2383
|
+
type: object
|
|
2384
|
+
title: Parking Periods Of Time
|
|
2385
|
+
properties:
|
|
2386
|
+
day_in_week:
|
|
2387
|
+
type: string
|
|
2388
|
+
enum: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su']
|
|
2389
|
+
description: 'Day of the week.'
|
|
2390
|
+
start:
|
|
2391
|
+
type: string
|
|
2392
|
+
format: time
|
|
2393
|
+
description: 'Start time of the periods of time.'
|
|
2394
|
+
end:
|
|
2395
|
+
type: string
|
|
2396
|
+
format: time
|
|
2397
|
+
description: 'End time of the periods of time.'
|
|
2398
|
+
ph:
|
|
2399
|
+
type: string
|
|
2400
|
+
enum: ['PH_only', 'PH_off']
|
|
2401
|
+
description: 'Public holiday availability.'
|
|
2402
|
+
maximum_duration:
|
|
2403
|
+
type: integer
|
|
2404
|
+
example: 120
|
|
2405
|
+
description: 'Time in minutes.'
|
|
2406
|
+
nullable: true
|
|
2407
|
+
disc_parking:
|
|
2408
|
+
type: boolean
|
|
2409
|
+
nullable: true
|
|
2410
|
+
description: 'Need to use a parking disc.'
|
|
2411
|
+
required:
|
|
2412
|
+
- day_in_week
|
|
2413
|
+
- start
|
|
2414
|
+
- end
|
|
2415
|
+
- ph
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/parkings",
|
|
3
|
-
"version": "1.8.5-dev.
|
|
3
|
+
"version": "1.8.5-dev.1222317641",
|
|
4
4
|
"description": "Golemio Parkings Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@commitlint/cli": "^11.0.0",
|
|
37
37
|
"@commitlint/config-conventional": "^11.0.0",
|
|
38
38
|
"@golemio/cli": "1.5.0",
|
|
39
|
-
"@golemio/core": "1.9.
|
|
39
|
+
"@golemio/core": "1.9.15-dev.1211586099",
|
|
40
40
|
"@golemio/db-common": "1.1.3",
|
|
41
41
|
"@golemio/eslint-config": "1.1.1",
|
|
42
42
|
"@types/chai": "4.2.3",
|