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
JavaScript
;
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=