UNPKG

@golemio/parkings

Version:
29 lines 1.6 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractV3ParkingController = void 0; const OpenDataHelper_1 = __importDefault(require("../../helpers/OpenDataHelper")); const Di_1 = require("../../ioc/Di"); const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken"); const express_validator_1 = require("@golemio/core/dist/shared/express-validator"); class AbstractV3ParkingController { constructor() { this.cachedParkingSourcesRepository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.CachedParkingSourcesRepository); } async getAllowedScope(req) { const queryData = (0, express_validator_1.matchedData)(req); const isRestrictedToOpenData = OpenDataHelper_1.default.parseOpenDataParam(req); const requestedSources = queryData.primarySource ? queryData.primarySource instanceof Array ? queryData.primarySource : [queryData.primarySource] : undefined; const roleLimitedTo = await this.cachedParkingSourcesRepository.getV3Sources({ isRestrictedToOpenData }); const allowedSources = OpenDataHelper_1.default.getIntersectionOfAllowedSources(requestedSources, roleLimitedTo); return { isRestrictedToOpenData, allowedSources }; } } exports.AbstractV3ParkingController = AbstractV3ParkingController; //# sourceMappingURL=AbstractV3ParkingController.js.map