UNPKG

claire-framework

Version:

- được viết bằng TypeScript - hỗ trợ websocket và HTTP request - hỗ trợ CLI để generate base project (claire-cli)

53 lines 3.81 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const AbstractAccessCondition_1 = require("../security/AbstractAccessCondition"); const ModelMetadata_1 = require("../model/ModelMetadata"); class OwnedResource extends AbstractAccessCondition_1.AbstractAccessCondition { constructor(requestedValueResolver) { super(requestedValueResolver); } getConditionPrototype() { return { operator: "owned_resource", valueType: AbstractAccessCondition_1.ConditionValueType.BOOLEAN, }; } validate(requestedValue, permittedValue) { return __awaiter(this, void 0, void 0, function* () { return requestedValue; }); } } exports.OwnedResource = OwnedResource; class FilterModelInfo extends AbstractAccessCondition_1.AbstractAccessCondition { constructor(model, operator, requestedValueResolver) { super(requestedValueResolver); this.operator = operator; const meta = ModelMetadata_1.ModelMetadata.fromModel(model); this.valueConstraint = meta.fields.map(f => f.fieldLogicName); } getConditionPrototype() { return { operator: this.operator, valueType: AbstractAccessCondition_1.ConditionValueType.CHOICES, valueConstraint: this.valueConstraint, }; } ; validate(requestedValue, permittedValue) { return __awaiter(this, void 0, void 0, function* () { return requestedValue.every((v) => permittedValue.includes(v)); }); } } exports.FilterModelInfo = FilterModelInfo; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEFjY2Vzc0NvbmRpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZGVmYXVsdC1pbXBsZW1lbnRhdGlvbnMvRGVmYXVsdEFjY2Vzc0NvbmRpdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxpRkFBb0g7QUFJcEgsMERBQXFEO0FBRXJELE1BQWEsYUFBYyxTQUFRLGlEQUFnQztJQUMvRCxZQUFtQixzQkFBNEc7UUFDM0gsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLHFCQUFxQjtRQUN4QixPQUFPO1lBQ0gsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUUsNENBQWtCLENBQUMsT0FBTztTQUN4QyxDQUFDO0lBQ04sQ0FBQztJQUVZLFFBQVEsQ0FBQyxjQUF1QixFQUFFLGNBQXVCOztZQUNsRSxPQUFPLGNBQWMsQ0FBQztRQUMxQixDQUFDO0tBQUE7Q0FFSjtBQWhCRCxzQ0FnQkM7QUFFRCxNQUFhLGVBQWdCLFNBQVEsaURBQWlDO0lBSWxFLFlBQW1CLEtBQXlDLEVBQUUsUUFBZ0IsRUFBRSxzQkFBbUU7UUFDL0ksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQWtCLDZCQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBZSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLHFCQUFxQjtRQUN4QixPQUFPO1lBQ0gsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFNBQVMsRUFBRSw0Q0FBa0IsQ0FBQyxPQUFPO1lBQ3JDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUN4QyxDQUFDO0lBQ04sQ0FBQztJQUFBLENBQUM7SUFFVyxRQUFRLENBQUMsY0FBd0IsRUFBRSxjQUF3Qjs7WUFDcEUsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztLQUFBO0NBQ0o7QUF0QkQsMENBc0JDIn0=