????
Current Path : C:/inetpub/vhost/invest.gdtsolutions.vn/api/dist/apps/permissions/ |
Current File : C:/inetpub/vhost/invest.gdtsolutions.vn/api/dist/apps/permissions/permission-definition.js |
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CrudPermissionDefinition = exports.PermissionDefinition = void 0; class PermissionDefinition { constructor(config) { this.config = config; } getMetadata() { const { name, description, assignable, internal } = this.config; return [ { name, description: description || `Grants permissions on ${name} operations`, assignable: assignable ?? true, internal: internal ?? false, }, ]; } get Permission() { return this.config.name; } } exports.PermissionDefinition = PermissionDefinition; class CrudPermissionDefinition extends PermissionDefinition { constructor(name, descriptionFn) { super({ name }); this.descriptionFn = descriptionFn; } getMetadata() { return ['Create', 'List', 'Edit', 'Delete'].map((operation) => ({ name: `${operation}${this.config.name}`, description: typeof this.descriptionFn === 'function' ? this.descriptionFn(operation.toLocaleLowerCase()) : `Grants permission to ${operation.toLocaleLowerCase()} ${this.config.name}`, assignable: true, internal: false, })); } get Create() { return `Create${this.config.name}`; } get List() { return `List${this.config.name}`; } get Edit() { return `Edit${this.config.name}`; } get Delete() { return `Delete${this.config.name}`; } } exports.CrudPermissionDefinition = CrudPermissionDefinition; //# sourceMappingURL=permission-definition.js.map