@flusys/nestjs-iam 1.1.0-beta → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +285 -115
- package/cjs/controllers/action.controller.js +45 -2
- package/cjs/controllers/company-action-permission.controller.js +16 -10
- package/cjs/controllers/my-permission.controller.js +7 -3
- package/cjs/controllers/role-permission.controller.js +35 -17
- package/cjs/controllers/role.controller.js +46 -3
- package/cjs/controllers/user-action-permission.controller.js +26 -11
- package/cjs/dtos/action.dto.js +0 -27
- package/cjs/dtos/permission.dto.js +117 -27
- package/cjs/dtos/role.dto.js +0 -27
- package/cjs/entities/permission-base.entity.js +0 -12
- package/cjs/helpers/company-access.helper.js +19 -0
- package/cjs/helpers/index.js +1 -1
- package/cjs/interfaces/iam-module-options.interface.js +0 -14
- package/cjs/interfaces/index.js +0 -1
- package/cjs/modules/iam.module.js +50 -102
- package/cjs/services/action.service.js +30 -41
- package/cjs/services/iam-config.service.js +2 -5
- package/cjs/services/{iam-datasource.provider.js → iam-datasource.service.js} +33 -36
- package/cjs/services/index.js +1 -1
- package/cjs/services/permission-cache.service.js +31 -61
- package/cjs/services/permission.service.js +160 -188
- package/cjs/services/role.service.js +8 -8
- package/cjs/types/logic-node.type.js +0 -24
- package/controllers/company-action-permission.controller.d.ts +3 -3
- package/controllers/my-permission.controller.d.ts +2 -2
- package/controllers/role-permission.controller.d.ts +7 -5
- package/controllers/user-action-permission.controller.d.ts +6 -4
- package/dtos/action.dto.d.ts +0 -7
- package/dtos/permission.dto.d.ts +4 -0
- package/dtos/role.dto.d.ts +0 -7
- package/entities/permission-base.entity.d.ts +0 -4
- package/fesm/controllers/action.controller.js +47 -4
- package/fesm/controllers/company-action-permission.controller.js +18 -12
- package/fesm/controllers/index.js +1 -1
- package/fesm/controllers/my-permission.controller.js +7 -3
- package/fesm/controllers/role-permission.controller.js +37 -19
- package/fesm/controllers/role.controller.js +45 -2
- package/fesm/controllers/user-action-permission.controller.js +28 -13
- package/fesm/dtos/action.dto.js +0 -24
- package/fesm/dtos/permission.dto.js +117 -29
- package/fesm/dtos/role.dto.js +0 -24
- package/fesm/entities/permission-base.entity.js +0 -12
- package/fesm/helpers/company-access.helper.js +14 -0
- package/fesm/helpers/index.js +1 -1
- package/fesm/interfaces/iam-module-options.interface.js +3 -1
- package/fesm/interfaces/index.js +0 -1
- package/fesm/modules/iam.module.js +52 -104
- package/fesm/services/action.service.js +32 -43
- package/fesm/services/iam-config.service.js +2 -5
- package/fesm/services/{iam-datasource.provider.js → iam-datasource.service.js} +31 -34
- package/fesm/services/index.js +1 -1
- package/fesm/services/permission-cache.service.js +31 -61
- package/fesm/services/permission.service.js +161 -189
- package/fesm/services/role.service.js +8 -8
- package/fesm/types/logic-node.type.js +1 -10
- package/helpers/company-access.helper.d.ts +3 -0
- package/helpers/index.d.ts +1 -1
- package/interfaces/iam-module-options.interface.d.ts +9 -1
- package/interfaces/index.d.ts +0 -1
- package/modules/iam.module.d.ts +2 -2
- package/package.json +3 -3
- package/services/action.service.d.ts +6 -4
- package/services/iam-config.service.d.ts +2 -2
- package/services/{iam-datasource.provider.d.ts → iam-datasource.service.d.ts} +4 -5
- package/services/index.d.ts +1 -1
- package/services/permission-cache.service.d.ts +4 -6
- package/services/permission.service.d.ts +8 -4
- package/services/role.service.d.ts +3 -3
- package/types/logic-node.type.d.ts +0 -8
- package/cjs/helpers/permission-evaluator.helper.js +0 -175
- package/cjs/interfaces/iam-module-async-options.interface.js +0 -4
- package/fesm/helpers/permission-evaluator.helper.js +0 -165
- package/fesm/interfaces/iam-module-async-options.interface.js +0 -3
- package/helpers/permission-evaluator.helper.d.ts +0 -26
- package/interfaces/iam-module-async-options.interface.d.ts +0 -11
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { LogicNode } from '../types';
|
|
2
|
-
export interface UserPermissionContext {
|
|
3
|
-
userId: string;
|
|
4
|
-
branchId?: string | null;
|
|
5
|
-
grantedActionIds: Set<string>;
|
|
6
|
-
deniedActionIds: Set<string>;
|
|
7
|
-
roleIds: Set<string>;
|
|
8
|
-
inheritedActionIds?: Set<string>;
|
|
9
|
-
}
|
|
10
|
-
export declare class PermissionEvaluatorHelper {
|
|
11
|
-
evaluate(logic: LogicNode | null, context: UserPermissionContext): boolean;
|
|
12
|
-
private evaluateNode;
|
|
13
|
-
evaluateAction(actionId: string, context: UserPermissionContext): boolean;
|
|
14
|
-
private evaluateGroup;
|
|
15
|
-
batchEvaluate(logics: Array<{
|
|
16
|
-
id: string;
|
|
17
|
-
logic: LogicNode | null;
|
|
18
|
-
}>, context: UserPermissionContext): Map<string, boolean>;
|
|
19
|
-
hasAnyAction(actionIds: string[], context: UserPermissionContext): boolean;
|
|
20
|
-
hasAllActions(actionIds: string[], context: UserPermissionContext): boolean;
|
|
21
|
-
hasAnyRole(roleIds: string[], context: UserPermissionContext): boolean;
|
|
22
|
-
hasAllRoles(roleIds: string[], context: UserPermissionContext): boolean;
|
|
23
|
-
evaluateLogicNode(logic: LogicNode | null, actionCodes: Set<string>): boolean;
|
|
24
|
-
private evaluateNodeSimple;
|
|
25
|
-
private evaluateGroupSimple;
|
|
26
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IBootstrapAppConfig, IDynamicModuleConfig } from '@flusys/nestjs-core';
|
|
2
|
-
import { ModuleMetadata, Type } from '@nestjs/common';
|
|
3
|
-
import { IIAMModuleConfig, IAMOptionsFactory } from './iam-module-options.interface';
|
|
4
|
-
export interface IAMModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'>, IDynamicModuleConfig {
|
|
5
|
-
bootstrapAppConfig?: IBootstrapAppConfig;
|
|
6
|
-
config?: IIAMModuleConfig;
|
|
7
|
-
useFactory?: (...args: any[]) => Promise<IIAMModuleConfig> | IIAMModuleConfig;
|
|
8
|
-
inject?: any[];
|
|
9
|
-
useClass?: Type<IAMOptionsFactory>;
|
|
10
|
-
useExisting?: Type<IAMOptionsFactory>;
|
|
11
|
-
}
|