@minimaltech/node-infra
Version:
Minimal Technology NodeJS Infrastructure - Loopback 4 Framework
30 lines • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDecoratorData = exports.MetadataDecoratorKeys = void 0;
exports.permission = permission;
const metadata_1 = require("@loopback/metadata");
class MetadataDecoratorKeys {
}
exports.MetadataDecoratorKeys = MetadataDecoratorKeys;
MetadataDecoratorKeys.PERMISSION = 'metadata-key-for-permission-decorator';
// Read more: https://loopback.io/doc/en/lb4/Creating-decorators.html#inspect-metadata-of-a-property
/**
* @example
* ```typescript
* class MyController {
* @permission({ idx: 1, allowedRoles: ['admin'], deniedRoles: ['guest'] })
* myMethod() {
* // method implementation
* }
* }
* ```
*/
function permission(spec) {
return metadata_1.MethodDecoratorFactory.createDecorator(MetadataDecoratorKeys.PERMISSION, spec);
}
// Read more: https://loopback.io/doc/en/lb4/Creating-decorators.html#to-create-a-decorator-that-can-be-used-multiple-times-on-a-single-method
const getDecoratorData = (controllerPrototype, keyTargetDecorator) => {
return metadata_1.MetadataInspector.getAllPropertyMetadata(keyTargetDecorator, controllerPrototype);
};
exports.getDecoratorData = getDecoratorData;
//# sourceMappingURL=index.js.map