@golemio/parkings
Version:
Golemio Parkings Module
29 lines • 1.6 kB
JavaScript
;
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