UNPKG

@golemio/parkings

Version:
67 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.V3ParkingTariffsController = void 0; const Di_1 = require("../../ioc/Di"); const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken"); const ParkingTariffDtoTransformation_1 = require("../../transformations/v3/ParkingTariffDtoTransformation"); const express_validator_1 = require("@golemio/core/dist/shared/express-validator"); const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors"); const AbstractV3ParkingController_1 = require("./AbstractV3ParkingController"); class V3ParkingTariffsController extends AbstractV3ParkingController_1.AbstractV3ParkingController { constructor() { super(); this.getAll = async (req, res, next) => { try { const params = await this.parseParams(req); const result = await this.repository.GetAll(params); const transformedResult = this.transformation.transformElement(result); res.json(transformedResult); } catch (err) { next(err); } }; this.getOne = async (req, res, next) => { try { const { allowedSources } = await this.getAllowedScope(req); const id = req.params.id; const result = await this.repository.GetOne(id, allowedSources); if (result === null) { throw new golemio_errors_1.GeneralError("not_found", "V3ParkingTariffsController", undefined, 404); } else { const transformedResult = this.transformation.transformElement([ { tariff_id: result[0].tariff_id, parking_tariffs: result, }, ]); res.json(transformedResult[0]); } } catch (err) { next(err); } }; this.repository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingTariffRepository); this.transformation = new ParkingTariffDtoTransformation_1.ParkingTariffDtoTransformation(); } async parseParams(req) { try { const queryData = (0, express_validator_1.matchedData)(req); const { allowedSources } = await this.getAllowedScope(req); return { primarySource: allowedSources, validFrom: queryData.validFrom ? queryData.validFrom : undefined, validTo: queryData.validTo ? queryData.validTo : undefined, limit: queryData.limit ? parseInt(queryData.limit) : 1000, offset: queryData.offset ? parseInt(queryData.offset) : undefined, }; } catch (err) { throw new golemio_errors_1.GeneralError("Param parsing error", "V3ParkingTariffsController", err, 500); } } } exports.V3ParkingTariffsController = V3ParkingTariffsController; //# sourceMappingURL=V3ParkingTariffsController.js.map