@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.
- package/db/example/00_clear_test_data.sql +3 -0
- package/db/example/04_tsk_parking_v2.sql +18 -0
- package/dist/helpers/const.d.ts +0 -0
- package/dist/helpers/const.js +2 -0
- package/dist/helpers/const.js.map +1 -0
- package/dist/helpers/data-access/CachedParkingSourcesRepository.d.ts +12 -0
- package/dist/helpers/data-access/CachedParkingSourcesRepository.js +39 -0
- package/dist/helpers/data-access/CachedParkingSourcesRepository.js.map +1 -0
- package/dist/helpers/interfaces/IParkingSource.d.ts +7 -0
- package/dist/helpers/interfaces/IParkingSource.js +3 -0
- package/dist/helpers/interfaces/IParkingSource.js.map +1 -0
- package/dist/integration-engine/ParkingInterface.d.ts +1 -6
- package/dist/integration-engine/ioc/Di.js +6 -6
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.js.map +1 -1
- package/dist/output-gateway/controllers/v3/V3ParkingController.d.ts +9 -0
- package/dist/output-gateway/controllers/v3/V3ParkingController.js +79 -0
- package/dist/output-gateway/controllers/v3/V3ParkingController.js.map +1 -0
- package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.d.ts +9 -0
- package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js +78 -0
- package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js.map +1 -0
- package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.d.ts +9 -0
- package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js +70 -0
- package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js.map +1 -0
- package/dist/output-gateway/data-access/ParkingMachinesRepository.d.ts +10 -0
- package/dist/output-gateway/data-access/ParkingMachinesRepository.js +101 -0
- package/dist/output-gateway/data-access/ParkingMachinesRepository.js.map +1 -0
- package/dist/output-gateway/data-access/ParkingRepository.d.ts +14 -0
- package/dist/output-gateway/data-access/ParkingRepository.js +141 -0
- package/dist/output-gateway/data-access/ParkingRepository.js.map +1 -0
- package/dist/output-gateway/data-access/TariffRepository.d.ts +10 -0
- package/dist/output-gateway/data-access/TariffRepository.js +95 -0
- package/dist/output-gateway/data-access/TariffRepository.js.map +1 -0
- package/dist/output-gateway/helpers/params/IPaginationParams.d.ts +4 -0
- package/dist/output-gateway/helpers/params/IPaginationParams.js +3 -0
- package/dist/output-gateway/helpers/params/IPaginationParams.js.map +1 -0
- package/dist/output-gateway/helpers/params/IParkingMachinesParams.d.ts +9 -0
- package/dist/output-gateway/helpers/params/IParkingMachinesParams.js +3 -0
- package/dist/output-gateway/helpers/params/IParkingMachinesParams.js.map +1 -0
- package/dist/output-gateway/helpers/params/IParkingParams.d.ts +10 -0
- package/dist/output-gateway/helpers/params/IParkingParams.js +3 -0
- package/dist/output-gateway/helpers/params/IParkingParams.js.map +1 -0
- package/dist/output-gateway/helpers/params/IParkingTariffsParams.d.ts +7 -0
- package/dist/output-gateway/helpers/params/IParkingTariffsParams.js +3 -0
- package/dist/output-gateway/helpers/params/IParkingTariffsParams.js.map +1 -0
- package/dist/output-gateway/index.js +9 -1
- package/dist/output-gateway/index.js.map +1 -1
- package/dist/output-gateway/ioc/Di.d.ts +3 -0
- package/dist/output-gateway/ioc/Di.js +30 -0
- package/dist/output-gateway/ioc/Di.js.map +1 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +9 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js +13 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -0
- package/dist/output-gateway/models/ParkingsLocationModel.d.ts +1 -1
- package/dist/output-gateway/models/ParkingsLocationModel.js +19 -5
- package/dist/output-gateway/models/ParkingsLocationModel.js.map +1 -1
- package/dist/output-gateway/models/ParkingsModel.d.ts +4 -3
- package/dist/output-gateway/models/ParkingsModel.js +38 -11
- package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
- package/dist/output-gateway/models/ParkingsTariffsModel.d.ts +3 -0
- package/dist/output-gateway/models/ParkingsTariffsModel.js +17 -1
- package/dist/output-gateway/models/ParkingsTariffsModel.js.map +1 -1
- package/dist/output-gateway/routers/constants.d.ts +2 -1
- package/dist/output-gateway/routers/constants.js +1 -0
- package/dist/output-gateway/routers/constants.js.map +1 -1
- package/dist/output-gateway/routers/index.d.ts +1 -0
- package/dist/output-gateway/routers/index.js +1 -0
- package/dist/output-gateway/routers/index.js.map +1 -1
- package/dist/output-gateway/routers/v2/V2ParkingRouter.js +25 -4
- package/dist/output-gateway/routers/v2/V2ParkingRouter.js.map +1 -1
- package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.d.ts +3 -0
- package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js +43 -0
- package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js.map +1 -0
- package/dist/output-gateway/routers/v3/V3ParkingRouter.d.ts +3 -0
- package/dist/output-gateway/routers/v3/V3ParkingRouter.js +57 -0
- package/dist/output-gateway/routers/v3/V3ParkingRouter.js.map +1 -0
- package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.d.ts +3 -0
- package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js +31 -0
- package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js.map +1 -0
- package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.d.ts +8 -0
- package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js +56 -0
- package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js.map +1 -0
- package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.d.ts +27 -0
- package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js +3 -0
- package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js.map +1 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.d.ts +9 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js +50 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js.map +1 -0
- package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.d.ts +8 -0
- package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js +35 -0
- package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js.map +1 -0
- package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.d.ts +11 -0
- package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js +87 -0
- package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js.map +1 -0
- package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.d.ts +111 -3
- package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.js.map +1 -1
- package/dist/schema-definitions/models/ParkingMachinesModel.d.ts +14 -0
- package/dist/schema-definitions/models/ParkingMachinesModel.js +21 -0
- package/dist/schema-definitions/models/ParkingMachinesModel.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IAddress.d.ts +8 -0
- package/dist/schema-definitions/models/interfaces/IAddress.js +3 -0
- package/dist/schema-definitions/models/interfaces/IAddress.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IParking.d.ts +28 -0
- package/dist/schema-definitions/models/interfaces/IParking.js +3 -0
- package/dist/schema-definitions/models/interfaces/IParking.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IParkingLocation.d.ts +13 -0
- package/dist/schema-definitions/models/interfaces/IParkingLocation.js +3 -0
- package/dist/schema-definitions/models/interfaces/IParkingLocation.js.map +1 -0
- package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.d.ts +5 -4
- package/dist/schema-definitions/models/interfaces/IParkingTariffDto.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.d.ts +6 -0
- package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js +3 -0
- package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js.map +1 -0
- package/package.json +2 -2
- package/dist/schema-definitions/datasources/interfaces/IParkingTariffDto.js.map +0 -1
- /package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.js +0 -0
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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
|
|
16
|
-
const
|
|
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,
|
|
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":";;;AAAA,6GAA0G;AAO1G,wDAAgE;
|
|
1
|
+
{"version":3,"file":"TskParkingZonesTariffsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingZonesTariffsTransformation.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 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":";;;;;;;;;;;;AAAA,qCAA+C;AAG/C,yEAAoE;AACpE,4GAAuG;AAEvG,6EAAwE;AAExE,MAAa,0BAA0B;IAInC;QAKO,WAAM,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI;gBACA,MAAM,MAAM,GAA0B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACvE,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,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEhD,IAAI,MAAM,KAAK,IAAI,EAAE;oBACjB,MAAM,IAAI,6BAAY,CAAC,WAAW,EAAE,4BAA4B,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;iBACrF;qBAAM;oBACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAEvE,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClC;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QA/BE,IAAI,CAAC,UAAU,GAAG,sBAAiB,CAAC,OAAO,CAAmB,2CAAoB,CAAC,uBAAuB,CAAC,CAAC;QAC5G,IAAI,CAAC,cAAc,GAAG,IAAI,+DAA8B,EAAE,CAAC;IAC/D,CAAC;IA+BO,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,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,eAA0B,CAAC,CAAC,CAAC,SAAS;gBAC9F,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,SAAoB,CAAC,CAAC,CAAC,SAAS;gBAC5E,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,OAAkB,CAAC,CAAC,CAAC,SAAS;gBACtE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;aAC9E,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,6BAAY,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SACzF;IACL,CAAC;CACJ;AAxDD,gEAwDC"}
|
|
@@ -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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"}
|