vona-module-a-rbac 5.0.5 → 5.0.7

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.
@@ -19,6 +19,7 @@ declare module 'vona-module-a-rbac' {
19
19
  /** guard: end */
20
20
  /** bean: begin */
21
21
  export * from '../bean/bean.rbacCatalog.ts';
22
+ export * from '../bean/bean.rbacResourceBulk.ts';
22
23
  export * from '../bean/bean.rbacScope.ts';
23
24
  import 'vona';
24
25
  declare module 'vona' {
@@ -26,17 +27,21 @@ declare module 'vona' {
26
27
  declare module 'vona-module-a-rbac' {
27
28
  interface BeanRbacCatalog {
28
29
  }
30
+ interface BeanRbacResourceBulk {
31
+ }
29
32
  interface BeanRbacScope {
30
33
  }
31
34
  }
32
35
  /** bean: end */
33
36
  /** bean: begin */
34
37
  import type { BeanRbacCatalog } from '../bean/bean.rbacCatalog.ts';
38
+ import type { BeanRbacResourceBulk } from '../bean/bean.rbacResourceBulk.ts';
35
39
  import type { BeanRbacScope } from '../bean/bean.rbacScope.ts';
36
40
  import 'vona';
37
41
  declare module 'vona' {
38
42
  interface IBeanRecordGlobal {
39
43
  'rbacCatalog': BeanRbacCatalog;
44
+ 'rbacResourceBulk': BeanRbacResourceBulk;
40
45
  'rbacScope': BeanRbacScope;
41
46
  }
42
47
  }
@@ -103,13 +108,22 @@ declare module 'vona-module-a-rbac' {
103
108
  export * from '../config/config.ts';
104
109
  import type { config } from '../config/config.ts';
105
110
  /** config: end */
111
+ /** locale: begin */
112
+ import { locales } from './locales.ts';
113
+ /** locale: end */
114
+ /** error: begin */
115
+ export * from '../config/errors.ts';
116
+ import type { errors } from '../config/errors.ts';
117
+ /** error: end */
106
118
  /** scope: begin */
107
- import { BeanScopeBase, type BeanScopeUtil, type TypeModuleConfig } from 'vona';
119
+ import { BeanScopeBase, type BeanScopeUtil, type TypeModuleConfig, type TypeModuleErrors, type TypeModuleLocales, type TypeLocaleBase } from 'vona';
108
120
  export declare class ScopeModuleARbac extends BeanScopeBase {
109
121
  }
110
122
  export interface ScopeModuleARbac {
111
123
  util: BeanScopeUtil;
112
124
  config: TypeModuleConfig<typeof config>;
125
+ error: TypeModuleErrors<typeof errors>;
126
+ locale: TypeModuleLocales<(typeof locales)[TypeLocaleBase]>;
113
127
  event: IModuleEvent;
114
128
  }
115
129
  import 'vona';
@@ -123,6 +137,12 @@ declare module 'vona' {
123
137
  interface IBeanScopeConfig {
124
138
  'a-rbac': ReturnType<typeof config>;
125
139
  }
140
+ interface IBeanScopeLocale {
141
+ 'a-rbac': (typeof locales)[TypeLocaleBase];
142
+ }
143
+ interface IBeanScopeErrors {
144
+ 'a-rbac': typeof errors;
145
+ }
126
146
  }
127
147
  /** scope: end */
128
148
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,mBAAmB;AACnB,cAAc,uBAAuB,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,sBAAsB,CAAC;AAC9B,OAAO,QAAQ,sBAAsB,CAAC;IAGtC,UAAiB,iBAAiB;QAChC,aAAa,EAAE,iBAAiB,CAAC;KAClC;CAEA;AACD,OAAO,QAAQ,oBAAoB,CAAC;IAE5B,UAAiB,SAAS;KAGzB;IAEC,UAAiB,SAAS;QACxB,IAAI,aAAa,IAAI,mBAAmB,CAAC;QACzC,IAAI,UAAU,IAAI,aAAa,CAAC;QAChC,IAAI,aAAa,IAAI,iBAAiB,CAAC;KACxC;CACV;AACD,iBAAiB;AACjB,kBAAkB;AAClB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAE1C,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,oBAAoB,CAAC;IAE5B,UAAiB,eAAe;KAG/B;IAED,UAAiB,aAAa;KAG7B;CACR;AACD,gBAAgB;AAChB,kBAAkB;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,iBAAiB;QAChC,aAAa,EAAE,eAAe,CAAC;QAC/B,WAAW,EAAE,aAAa,CAAC;KAC5B;CACF;AACD,gBAAgB;AAChB,mBAAmB;AACnB,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAE/C,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,oBAAoB,CAAC;IAE5B,UAAiB,sBAAsB;KAGtC;IAEC,UAAiB,sBAAsB;QACrC,IAAI,aAAa,IAAI,gCAAgC,CAAC;QACtD,IAAI,UAAU,IAAI,0BAA0B,CAAC;KAC9C;IAEH,UAAiB,kBAAkB;KAGlC;IAEC,UAAiB,kBAAkB;QACjC,IAAI,aAAa,IAAI,4BAA4B,CAAC;QAClD,IAAI,UAAU,IAAI,sBAAsB,CAAC;KAC1C;CACV;AACD,iBAAiB;AACjB,mBAAmB;AACnB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,MAAM,WAAW,YAAY;IAC3B,mBAAmB,EAAE,sBAAsB,CAAC;IAC9C,eAAe,EAAE,kBAAkB,CAAC;CACnC;AACD,iBAAiB;AACjB,mBAAmB;AACnB,OAAO,KAAK,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAC3H,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC/G,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAiB,YAAY;QAC3B,0BAA0B,EAAE,OAAO,CAAC,8BAA8B,EAAE,gCAAgC,CAAC,CAAC;QAC1G,sBAAsB,EAAE,OAAO,CAAC,0BAA0B,EAAE,4BAA4B,CAAC,CAAC;KACvF;CACF;AACD,iBAAiB;AACjB,2BAA2B;AAC3B,cAAc,gDAAgD,CAAC;AAE/D,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,QAAQ,qBAAqB,CAAC;IAEjC,UAAiB,oBAAoB;QACnC,8BAA8B,EAAE,8BAA8B,CAAC;KAChE;CAGJ;AACD,OAAO,QAAQ,oBAAoB,CAAC;IAE5B,UAAiB,kCAAkC;KAGlD;IAEC,UAAiB,kCAAkC;QACjD,IAAI,aAAa,IAAI,4CAA4C,CAAC;QAClE,IAAI,UAAU,IAAI,8BAA8B,CAAC;QACjD,IAAI,aAAa,IAAI,8BAA8B,CAAC;KACrD;CACV;AACD,yBAAyB;AACzB,oBAAoB;AACpB,cAAc,qBAAqB,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,kBAAkB;AAClB,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAGhF,qBACa,gBAAiB,SAAQ,aAAa;CAAG;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC,OAAO,MAAM,CAAC,CAAC;IACxC,KAAK,EAAE,YAAY,CAAC;CACnB;AAED,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,gBAAgB;QAC/B,QAAQ,EAAE,gBAAgB,CAAC;KAC5B;IAED,UAAiB,mBAAmB;QAClC,IAAI,EAAE,gBAAgB,CAAC;KACxB;IAED,UAAiB,gBAAgB;QAC/B,QAAQ,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;KACrC;CAKF;AACD,iBAAiB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,mBAAmB;AACnB,cAAc,uBAAuB,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,sBAAsB,CAAC;AAC9B,OAAO,QAAQ,sBAAsB,CAAC;IAGtC,UAAiB,iBAAiB;QAChC,aAAa,EAAE,iBAAiB,CAAC;KAClC;CAEA;AACD,OAAO,QAAQ,oBAAoB,CAAC;IAE5B,UAAiB,SAAS;KAGzB;IAEC,UAAiB,SAAS;QACxB,IAAI,aAAa,IAAI,mBAAmB,CAAC;QACzC,IAAI,UAAU,IAAI,aAAa,CAAC;QAChC,IAAI,aAAa,IAAI,iBAAiB,CAAC;KACxC;CACV;AACD,iBAAiB;AACjB,kBAAkB;AAClB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAE1C,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,oBAAoB,CAAC;IAE5B,UAAiB,eAAe;KAG/B;IAED,UAAiB,oBAAoB;KAGpC;IAED,UAAiB,aAAa;KAG7B;CACR;AACD,gBAAgB;AAChB,kBAAkB;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,iBAAiB;QAChC,aAAa,EAAE,eAAe,CAAC;QAC/B,kBAAkB,EAAE,oBAAoB,CAAC;QACzC,WAAW,EAAE,aAAa,CAAC;KAC5B;CACF;AACD,gBAAgB;AAChB,mBAAmB;AACnB,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAE/C,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,oBAAoB,CAAC;IAE5B,UAAiB,sBAAsB;KAGtC;IAEC,UAAiB,sBAAsB;QACrC,IAAI,aAAa,IAAI,gCAAgC,CAAC;QACtD,IAAI,UAAU,IAAI,0BAA0B,CAAC;KAC9C;IAEH,UAAiB,kBAAkB;KAGlC;IAEC,UAAiB,kBAAkB;QACjC,IAAI,aAAa,IAAI,4BAA4B,CAAC;QAClD,IAAI,UAAU,IAAI,sBAAsB,CAAC;KAC1C;CACV;AACD,iBAAiB;AACjB,mBAAmB;AACnB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,MAAM,WAAW,YAAY;IAC3B,mBAAmB,EAAE,sBAAsB,CAAC;IAC9C,eAAe,EAAE,kBAAkB,CAAC;CACnC;AACD,iBAAiB;AACjB,mBAAmB;AACnB,OAAO,KAAK,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAC3H,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC/G,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAiB,YAAY;QAC3B,0BAA0B,EAAE,OAAO,CAAC,8BAA8B,EAAE,gCAAgC,CAAC,CAAC;QAC1G,sBAAsB,EAAE,OAAO,CAAC,0BAA0B,EAAE,4BAA4B,CAAC,CAAC;KACvF;CACF;AACD,iBAAiB;AACjB,2BAA2B;AAC3B,cAAc,gDAAgD,CAAC;AAE/D,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,QAAQ,qBAAqB,CAAC;IAEjC,UAAiB,oBAAoB;QACnC,8BAA8B,EAAE,8BAA8B,CAAC;KAChE;CAGJ;AACD,OAAO,QAAQ,oBAAoB,CAAC;IAE5B,UAAiB,kCAAkC;KAGlD;IAEC,UAAiB,kCAAkC;QACjD,IAAI,aAAa,IAAI,4CAA4C,CAAC;QAClE,IAAI,UAAU,IAAI,8BAA8B,CAAC;QACjD,IAAI,aAAa,IAAI,8BAA8B,CAAC;KACrD;CACV;AACD,yBAAyB;AACzB,oBAAoB;AACpB,cAAc,qBAAqB,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,kBAAkB;AAClB,oBAAoB;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,kBAAkB;AAClB,mBAAmB;AACnB,cAAc,qBAAqB,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,iBAAiB;AACjB,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,MAAM,CAAC;AAGpJ,qBACa,gBAAiB,SAAQ,aAAa;CAAG;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC,OAAO,MAAM,CAAC,CAAC;IACxC,KAAK,EAAE,gBAAgB,CAAC,OAAO,MAAM,CAAC,CAAC;IACvC,MAAM,EAAE,iBAAiB,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5D,KAAK,EAAE,YAAY,CAAC;CACnB;AAED,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,gBAAgB;QAC/B,QAAQ,EAAE,gBAAgB,CAAC;KAC5B;IAED,UAAiB,mBAAmB;QAClC,IAAI,EAAE,gBAAgB,CAAC;KACxB;IAED,UAAiB,gBAAgB;QAC/B,QAAQ,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;KACrC;IAED,UAAiB,gBAAgB;QAC/B,QAAQ,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;KAC5C;IAED,UAAiB,gBAAgB;QAC/B,QAAQ,EAAE,OAAO,MAAM,CAAC;KACzB;CACF;AACD,iBAAiB"}
@@ -0,0 +1,17 @@
1
+ import type { TypeLocaleBase } from 'vona';
2
+ export declare const locales: {
3
+ 'en-us': {
4
+ ResourceBulkIdsEmpty: string;
5
+ ResourceBulkIdsInvalid: string;
6
+ ResourceBulkIdsDuplicate: string;
7
+ ResourceBulkEntriesMissing: string;
8
+ };
9
+ 'zh-cn': {
10
+ ResourceBulkIdsEmpty: string;
11
+ ResourceBulkIdsInvalid: string;
12
+ ResourceBulkIdsDuplicate: string;
13
+ ResourceBulkEntriesMissing: string;
14
+ };
15
+ };
16
+ export declare function $locale<K extends keyof (typeof locales)[TypeLocaleBase]>(key: K, ...args: any[]): any;
17
+ //# sourceMappingURL=locales.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/.metadata/locales.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAO3C,eAAO,MAAM,OAAO;;;;;;;;;;;;;CAGnB,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,cAAc,CAAC,EACtE,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,GAAG,CAEL"}
@@ -0,0 +1,14 @@
1
+ import type { TableIdentity } from 'table-identity';
2
+ import { BeanBase } from 'vona';
3
+ import type { IRbacScopeAccess } from '../types/scope.ts';
4
+ export type TypeRbacResourceBulkLoad<Entry extends {
5
+ id: TableIdentity;
6
+ }> = (ids: readonly TableIdentity[]) => Promise<Entry[]>;
7
+ export declare class BeanRbacResourceBulk extends BeanBase {
8
+ entries<Entry extends {
9
+ id: TableIdentity;
10
+ }>(ids: readonly TableIdentity[], load: TypeRbacResourceBulkLoad<Entry>, access: IRbacScopeAccess): Promise<Entry[]>;
11
+ private validateIds;
12
+ private idKey;
13
+ }
14
+ //# sourceMappingURL=bean.rbacResourceBulk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bean.rbacResourceBulk.d.ts","sourceRoot":"","sources":["../../src/bean/bean.rbacResourceBulk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS;IAAE,EAAE,EAAE,aAAa,CAAA;CAAE,IAAI,CAC1E,GAAG,EAAE,SAAS,aAAa,EAAE,KAC1B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAEtB,qBACa,oBAAqB,SAAQ,QAAQ;IAC1C,OAAO,CAAC,KAAK,SAAS;QAAE,EAAE,EAAE,aAAa,CAAA;KAAE,EAC/C,GAAG,EAAE,SAAS,aAAa,EAAE,EAC7B,IAAI,EAAE,wBAAwB,CAAC,KAAK,CAAC,EACrC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,KAAK,EAAE,CAAC;IAenB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,KAAK;CAMd"}
@@ -1 +1 @@
1
- {"version":3,"file":"bean.rbacScope.d.ts","sourceRoot":"","sources":["../../src/bean/bean.rbacScope.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,mBAAmB,CAAC;AAI7E,qBACa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,aAAa,CAAgC;IAE/C,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe5D,OAAO,KAAK,YAAY,GASvB;YAEa,kBAAkB;IAgBhC,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;CAYvB"}
1
+ {"version":3,"file":"bean.rbacScope.d.ts","sourceRoot":"","sources":["../../src/bean/bean.rbacScope.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,mBAAmB,CAAC;AAI7E,qBACa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,aAAa,CAAuC;IAEtD,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAMlC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe5D,OAAO,KAAK,YAAY,GAWvB;YAEa,kBAAkB;IAkBhC,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;CAYvB"}
@@ -1,4 +1,5 @@
1
1
  export * from './bean.rbacCatalog.ts';
2
+ export * from './bean.rbacResourceBulk.ts';
2
3
  export * from './bean.rbacScope.ts';
3
4
  export * from './event.policyInvalidated.ts';
4
5
  export * from './event.resolvePolicy.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bean/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bean/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,19 @@
1
+ export declare const errors: {
2
+ readonly ResourceBulkIdsEmpty: {
3
+ readonly code: 1001;
4
+ readonly status: 422;
5
+ };
6
+ readonly ResourceBulkIdsInvalid: {
7
+ readonly code: 1003;
8
+ readonly status: 422;
9
+ };
10
+ readonly ResourceBulkIdsDuplicate: {
11
+ readonly code: 1004;
12
+ readonly status: 422;
13
+ };
14
+ readonly ResourceBulkEntriesMissing: {
15
+ readonly code: 1005;
16
+ readonly status: 404;
17
+ };
18
+ };
19
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/config/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;CAiBT,CAAC"}
@@ -0,0 +1,8 @@
1
+ declare const _default: {
2
+ ResourceBulkIdsEmpty: string;
3
+ ResourceBulkIdsInvalid: string;
4
+ ResourceBulkIdsDuplicate: string;
5
+ ResourceBulkEntriesMissing: string;
6
+ };
7
+ export default _default;
8
+ //# sourceMappingURL=en-us.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en-us.d.ts","sourceRoot":"","sources":["../../../src/config/locale/en-us.ts"],"names":[],"mappings":";;;;;;AAAA,wBAKE"}
@@ -0,0 +1,8 @@
1
+ declare const _default: {
2
+ ResourceBulkIdsEmpty: string;
3
+ ResourceBulkIdsInvalid: string;
4
+ ResourceBulkIdsDuplicate: string;
5
+ ResourceBulkEntriesMissing: string;
6
+ };
7
+ export default _default;
8
+ //# sourceMappingURL=zh-cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-cn.d.ts","sourceRoot":"","sources":["../../../src/config/locale/zh-cn.ts"],"names":[],"mappings":";;;;;;AAAA,wBAKE"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './.metadata/locales.ts';
1
2
  export * from './lib/index.ts';
2
3
  export * from './types/index.ts';
3
4
  export * from './.metadata/index.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,32 @@
1
- import { BeanInfo, beanFullNameFromOnionName, BeanBase, BeanScopeBase } from 'vona';
1
+ import { $makeLocaleMagic, BeanInfo, beanFullNameFromOnionName, BeanBase, BeanScopeBase } from 'vona';
2
2
  import { __decorate } from 'tslib';
3
3
  import { Guard, GuardBase } from 'vona-module-a-aspect';
4
4
  import { Bean, Scope } from 'vona-module-a-bean';
5
5
  import { getCacheControllerRoutes } from 'vona-module-a-web';
6
6
  import { Event, BeanEventBase, EventListener } from 'vona-module-a-event';
7
7
 
8
+ var locale_en_us = {
9
+ ResourceBulkIdsEmpty: 'Bulk resource IDs are required',
10
+ ResourceBulkIdsInvalid: 'Bulk resource IDs cannot contain empty values',
11
+ ResourceBulkIdsDuplicate: 'Bulk resource IDs cannot contain duplicates',
12
+ ResourceBulkEntriesMissing: 'One or more bulk resource entries are absent'
13
+ };
14
+
15
+ var locale_zh_cn = {
16
+ ResourceBulkIdsEmpty: '批量资源 ID 不能为空',
17
+ ResourceBulkIdsInvalid: '批量资源 ID 不能包含空值',
18
+ ResourceBulkIdsDuplicate: '批量资源 ID 不能包含重复值',
19
+ ResourceBulkEntriesMissing: '一个或多个批量资源条目不存在'
20
+ };
21
+
22
+ const locales = {
23
+ 'en-us': locale_en_us,
24
+ 'zh-cn': locale_zh_cn
25
+ };
26
+ function $locale(key, ...args) {
27
+ return $makeLocaleMagic(`a-rbac::${key}`, ...args);
28
+ }
29
+
8
30
  const SymbolRbacDecision = Symbol('SymbolRbacDecision');
9
31
  function createRbacAllScopeDecision(action) {
10
32
  return {
@@ -182,13 +204,48 @@ BeanRbacCatalog = __decorate([Bean(), BeanInfo({
182
204
  module: "a-rbac"
183
205
  })], BeanRbacCatalog);
184
206
 
207
+ let BeanRbacResourceBulk = class BeanRbacResourceBulk extends BeanBase {
208
+ async entries(ids, load, access) {
209
+ const requested = this.validateIds(ids);
210
+ const entries = await load(requested);
211
+ const entriesByKey = new Map(entries.map(entry => [this.idKey(entry.id), entry]));
212
+ if (entries.length !== requested.length || requested.some(id => !entriesByKey.has(this.idKey(id)))) {
213
+ this.scope.error.ResourceBulkEntriesMissing.throw();
214
+ }
215
+ const orderedEntries = requested.map(id => entriesByKey.get(this.idKey(id)));
216
+ access.checkEntries(orderedEntries);
217
+ return orderedEntries;
218
+ }
219
+ validateIds(ids) {
220
+ if (ids.length === 0) this.scope.error.ResourceBulkIdsEmpty.throw();
221
+ const keys = new Set();
222
+ for (const id of ids) {
223
+ const key = this.idKey(id);
224
+ if (keys.has(key)) this.scope.error.ResourceBulkIdsDuplicate.throw();
225
+ keys.add(key);
226
+ }
227
+ return [...ids];
228
+ }
229
+ idKey(id) {
230
+ if (id === undefined || id === null || id === '') {
231
+ this.scope.error.ResourceBulkIdsInvalid.throw();
232
+ }
233
+ return String(id);
234
+ }
235
+ };
236
+ BeanRbacResourceBulk = __decorate([Bean(), BeanInfo({
237
+ module: "a-rbac"
238
+ })], BeanRbacResourceBulk);
239
+
185
240
  let BeanRbacScope = class BeanRbacScope extends BeanBase {
186
241
  constructor(...args) {
187
242
  super(...args);
188
243
  this._scopeAdapter = void 0;
189
244
  }
190
245
  async isUnrestricted() {
191
- return await this.scopeAdapter.isUnrestricted();
246
+ const scopeAdapter = this.scopeAdapter;
247
+ if (scopeAdapter) return await scopeAdapter.isUnrestricted();
248
+ return await this.bean.passport.isSystemAdmin();
192
249
  }
193
250
  async current(actionKey) {
194
251
  const action = this.resolveAction(actionKey);
@@ -196,18 +253,20 @@ let BeanRbacScope = class BeanRbacScope extends BeanBase {
196
253
  const decision = getRbacDecision(this.ctx);
197
254
  if (!this.isDecisionForAction(decision, action)) this.app.throw(403);
198
255
  const unrestricted = hasRbacAllScope(decision);
199
- const ownerValues = action.action === 'create' ? await this.prepareOwnerValues(action, decision, unrestricted) : undefined;
256
+ const ownerValues = action.action === 'create' && action.options.dataScope ? await this.prepareOwnerValues(action, decision, unrestricted) : undefined;
200
257
  return this.createAccess(action, decision, unrestricted, ownerValues);
201
258
  }
202
259
  get scopeAdapter() {
203
- if (!this._scopeAdapter) {
260
+ if (this._scopeAdapter === undefined) {
204
261
  const beanFullName = beanFullNameFromOnionName(this.scope.config.adapter.rbacScope, 'service');
205
- this._scopeAdapter = this.bean._getBean(beanFullName);
262
+ this._scopeAdapter = this.bean._getBean(beanFullName) ?? null;
206
263
  }
207
264
  return this._scopeAdapter;
208
265
  }
209
266
  async prepareOwnerValues(action, decision, unrestricted) {
210
- const values = await this.scopeAdapter.ownerValues(action, decision);
267
+ const scopeAdapter = this.scopeAdapter;
268
+ if (!scopeAdapter) this.app.throw(403);
269
+ const values = await scopeAdapter.ownerValues(action, decision);
211
270
  const departmentField = action.options.dataScopeField ?? 'departmentId';
212
271
  const ownerField = action.options.dataScopeMineField ?? 'userIdOwner';
213
272
  const ownerValues = {
@@ -369,11 +428,30 @@ function config(_app) {
369
428
  };
370
429
  }
371
430
 
431
+ const errors = {
432
+ ResourceBulkIdsEmpty: {
433
+ code: 1001,
434
+ status: 422
435
+ },
436
+ ResourceBulkIdsInvalid: {
437
+ code: 1003,
438
+ status: 422
439
+ },
440
+ ResourceBulkIdsDuplicate: {
441
+ code: 1004,
442
+ status: 422
443
+ },
444
+ ResourceBulkEntriesMissing: {
445
+ code: 1005,
446
+ status: 404
447
+ }
448
+ };
449
+
372
450
  let ScopeModuleARbac = class ScopeModuleARbac extends BeanScopeBase {};
373
451
  ScopeModuleARbac = __decorate([Scope(), BeanInfo({
374
452
  module: "a-rbac"
375
453
  })], ScopeModuleARbac);
376
454
  /** scope: end */
377
455
 
378
- export { BeanRbacCatalog, BeanRbacScope, EventListenerRoleMembershipChanged, EventPolicyInvalidated, EventResolvePolicy, GuardRbac, ScopeModuleARbac, SymbolRbacDecision, clearRbacDecision, config, createRbacAllScopeDecision, createRbacCapability, getRbacDecision, hasRbacAllScope, isRbacCapability, rbacActionKey, setRbacDecision };
456
+ export { $locale, BeanRbacCatalog, BeanRbacResourceBulk, BeanRbacScope, EventListenerRoleMembershipChanged, EventPolicyInvalidated, EventResolvePolicy, GuardRbac, ScopeModuleARbac, SymbolRbacDecision, clearRbacDecision, config, createRbacAllScopeDecision, createRbacCapability, errors, getRbacDecision, hasRbacAllScope, isRbacCapability, locales, rbacActionKey, setRbacDecision };
379
457
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/lib/rbac.ts","../src/bean/guard.rbac.ts","../src/bean/bean.rbacCatalog.ts","../src/bean/bean.rbacScope.ts","../src/bean/event.policyInvalidated.ts","../src/bean/event.resolvePolicy.ts","../src/bean/eventListener.roleMembershipChanged.ts","../src/config/config.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["SymbolRbacDecision","Symbol","createRbacAllScopeDecision","action","allowed","actionKey","terms","dataScope","createRbacCapability","key","isRbacCapability","value","capability","Object","keys","every","length","hasRbacAllScope","decision","some","term","rbacActionKey","controllerBeanFullName","getRbacDecision","ctx","setRbacDecision","clearRbacDecision","GuardRbac","GuardBase","check","options","bean","rbacCatalog","getAction","route","effectiveAction","rbacScope","isUnrestricted","scope","event","resolvePolicy","emit","policyActionKey","actionInheritKey","undefined","isValidDecision","isValidAction","revision","isValidTerms","descriptor","Array","isArray","isValidTerm","ownerId","isDepartmentDataScope","departmentIds","id","includes","__decorate","Guard","dataScopeField","dataScopeMineField","__z_BeanInfo","module","BeanFullNameGuardRbac","beanFullNameFromOnionName","BeanRbacCatalog","BeanBase","constructor","args","_catalog","getCatalog","get","createCatalog","clear","catalog","Map","routesByController","getCacheControllerRoutes","app","routes","values","meta","set","freeze","resolveActionInherit","actionInherit","routesByAction","map","resolveActionInheritKey","seen","Set","current","Error","targetKey","has","add","target","Bean","BeanRbacScope","_scopeAdapter","scopeAdapter","resolveAction","throw","isDecisionForAction","unrestricted","ownerValues","prepareOwnerValues","createAccess","beanFullName","config","adapter","_getBean","departmentField","ownerField","departmentId","userIdOwner","matches","where","callerWhere","checkEntry","entry","checkEntries","entries","permissionProjection","matcher","mode","rules","flatMap","field","scopeWhere","_and_","_and_0","predicates","termPredicates","_or_","row","String","Boolean","_in_","EventPolicyInvalidated","BeanEventBase","Event","EventResolvePolicy","EventListenerRoleMembershipChanged","execute","data","next","policyInvalidated","kind","EventListener","match","_app","ScopeModuleARbac","BeanScopeBase","Scope"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/config/locale/en-us.ts","../src/config/locale/zh-cn.ts","../src/.metadata/locales.ts","../src/lib/rbac.ts","../src/bean/guard.rbac.ts","../src/bean/bean.rbacCatalog.ts","../src/bean/bean.rbacResourceBulk.ts","../src/bean/bean.rbacScope.ts","../src/bean/event.policyInvalidated.ts","../src/bean/event.resolvePolicy.ts","../src/bean/eventListener.roleMembershipChanged.ts","../src/config/config.ts","../src/config/errors.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ResourceBulkIdsEmpty","ResourceBulkIdsInvalid","ResourceBulkIdsDuplicate","ResourceBulkEntriesMissing","locales","locale_en_us","locale_zh_cn","$locale","key","args","$makeLocaleMagic","SymbolRbacDecision","Symbol","createRbacAllScopeDecision","action","allowed","actionKey","terms","dataScope","createRbacCapability","isRbacCapability","value","capability","Object","keys","every","length","hasRbacAllScope","decision","some","term","rbacActionKey","controllerBeanFullName","getRbacDecision","ctx","setRbacDecision","clearRbacDecision","GuardRbac","GuardBase","check","options","bean","rbacCatalog","getAction","route","effectiveAction","rbacScope","isUnrestricted","scope","event","resolvePolicy","emit","policyActionKey","actionInheritKey","undefined","isValidDecision","isValidAction","revision","isValidTerms","descriptor","Array","isArray","isValidTerm","ownerId","isDepartmentDataScope","departmentIds","id","includes","__decorate","Guard","dataScopeField","dataScopeMineField","__z_BeanInfo","module","BeanFullNameGuardRbac","beanFullNameFromOnionName","BeanRbacCatalog","BeanBase","constructor","_catalog","getCatalog","get","createCatalog","clear","catalog","Map","routesByController","getCacheControllerRoutes","app","routes","values","meta","set","freeze","resolveActionInherit","actionInherit","routesByAction","map","resolveActionInheritKey","seen","Set","current","Error","targetKey","has","add","target","Bean","BeanRbacResourceBulk","entries","ids","load","access","requested","validateIds","entriesByKey","entry","idKey","error","throw","orderedEntries","checkEntries","String","BeanRbacScope","_scopeAdapter","scopeAdapter","passport","isSystemAdmin","resolveAction","isDecisionForAction","unrestricted","ownerValues","prepareOwnerValues","createAccess","beanFullName","config","adapter","_getBean","departmentField","ownerField","departmentId","userIdOwner","matches","where","callerWhere","checkEntry","permissionProjection","matcher","mode","rules","flatMap","field","scopeWhere","_and_","_and_0","predicates","termPredicates","_or_","row","Boolean","_in_","EventPolicyInvalidated","BeanEventBase","Event","EventResolvePolicy","EventListenerRoleMembershipChanged","execute","data","next","policyInvalidated","kind","EventListener","match","_app","errors","code","status","ScopeModuleARbac","BeanScopeBase","Scope"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-rbac",
3
- "version": "5.0.5",
3
+ "version": "5.0.7",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "Vona Module"
@@ -42,5 +42,5 @@
42
42
  "a-vona": "5.0.0"
43
43
  }
44
44
  },
45
- "gitHead": "2658f35c02c5b1732087f980ee564c159d0ebd25"
45
+ "gitHead": "e2843e4cab02a08051be465a8993919c9a37b5f5"
46
46
  }
@@ -27,6 +27,7 @@ declare module 'vona-module-a-rbac' {
27
27
  /** guard: end */
28
28
  /** bean: begin */
29
29
  export * from '../bean/bean.rbacCatalog.ts';
30
+ export * from '../bean/bean.rbacResourceBulk.ts';
30
31
  export * from '../bean/bean.rbacScope.ts';
31
32
 
32
33
  import 'vona';
@@ -41,6 +42,11 @@ declare module 'vona-module-a-rbac' {
41
42
  get scope(): ScopeModuleARbac;
42
43
  }
43
44
 
45
+ export interface BeanRbacResourceBulk {
46
+ /** @internal */
47
+ get scope(): ScopeModuleARbac;
48
+ }
49
+
44
50
  export interface BeanRbacScope {
45
51
  /** @internal */
46
52
  get scope(): ScopeModuleARbac;
@@ -49,11 +55,13 @@ declare module 'vona-module-a-rbac' {
49
55
  /** bean: end */
50
56
  /** bean: begin */
51
57
  import type { BeanRbacCatalog } from '../bean/bean.rbacCatalog.ts';
58
+ import type { BeanRbacResourceBulk } from '../bean/bean.rbacResourceBulk.ts';
52
59
  import type { BeanRbacScope } from '../bean/bean.rbacScope.ts';
53
60
  import 'vona';
54
61
  declare module 'vona' {
55
62
  export interface IBeanRecordGlobal {
56
63
  'rbacCatalog': BeanRbacCatalog;
64
+ 'rbacResourceBulk': BeanRbacResourceBulk;
57
65
  'rbacScope': BeanRbacScope;
58
66
  }
59
67
  }
@@ -139,8 +147,15 @@ declare module 'vona-module-a-rbac' {
139
147
  export * from '../config/config.ts';
140
148
  import type { config } from '../config/config.ts';
141
149
  /** config: end */
150
+ /** locale: begin */
151
+ import { locales } from './locales.ts';
152
+ /** locale: end */
153
+ /** error: begin */
154
+ export * from '../config/errors.ts';
155
+ import type { errors } from '../config/errors.ts';
156
+ /** error: end */
142
157
  /** scope: begin */
143
- import { BeanScopeBase, type BeanScopeUtil, type TypeModuleConfig } from 'vona';
158
+ import { BeanScopeBase, type BeanScopeUtil, type TypeModuleConfig, type TypeModuleErrors, type TypeModuleLocales, type TypeLocaleBase } from 'vona';
144
159
  import { Scope } from 'vona-module-a-bean';
145
160
 
146
161
  @Scope()
@@ -149,6 +164,8 @@ export class ScopeModuleARbac extends BeanScopeBase {}
149
164
  export interface ScopeModuleARbac {
150
165
  util: BeanScopeUtil;
151
166
  config: TypeModuleConfig<typeof config>;
167
+ error: TypeModuleErrors<typeof errors>;
168
+ locale: TypeModuleLocales<(typeof locales)[TypeLocaleBase]>;
152
169
  event: IModuleEvent;
153
170
  }
154
171
 
@@ -166,8 +183,12 @@ declare module 'vona' {
166
183
  'a-rbac': ReturnType<typeof config>;
167
184
  }
168
185
 
186
+ export interface IBeanScopeLocale {
187
+ 'a-rbac': (typeof locales)[TypeLocaleBase];
188
+ }
169
189
 
170
-
171
-
190
+ export interface IBeanScopeErrors {
191
+ 'a-rbac': typeof errors;
192
+ }
172
193
  }
173
194
  /** scope: end */
@@ -0,0 +1,18 @@
1
+ import type { TypeLocaleBase } from 'vona';
2
+
3
+ import { $makeLocaleMagic } from 'vona';
4
+
5
+ import locale_en_us from '../config/locale/en-us.ts';
6
+ import locale_zh_cn from '../config/locale/zh-cn.ts';
7
+
8
+ export const locales = {
9
+ 'en-us': locale_en_us,
10
+ 'zh-cn': locale_zh_cn,
11
+ };
12
+
13
+ export function $locale<K extends keyof (typeof locales)[TypeLocaleBase]>(
14
+ key: K,
15
+ ...args: any[]
16
+ ): any {
17
+ return $makeLocaleMagic(`a-rbac::${key}`, ...args);
18
+ }
@@ -0,0 +1,50 @@
1
+ import type { TableIdentity } from 'table-identity';
2
+
3
+ import { BeanBase } from 'vona';
4
+ import { Bean } from 'vona-module-a-bean';
5
+
6
+ import type { IRbacScopeAccess } from '../types/scope.ts';
7
+
8
+ export type TypeRbacResourceBulkLoad<Entry extends { id: TableIdentity }> = (
9
+ ids: readonly TableIdentity[],
10
+ ) => Promise<Entry[]>;
11
+
12
+ @Bean()
13
+ export class BeanRbacResourceBulk extends BeanBase {
14
+ async entries<Entry extends { id: TableIdentity }>(
15
+ ids: readonly TableIdentity[],
16
+ load: TypeRbacResourceBulkLoad<Entry>,
17
+ access: IRbacScopeAccess,
18
+ ): Promise<Entry[]> {
19
+ const requested = this.validateIds(ids);
20
+ const entries = await load(requested);
21
+ const entriesByKey = new Map(entries.map(entry => [this.idKey(entry.id), entry]));
22
+ if (
23
+ entries.length !== requested.length ||
24
+ requested.some(id => !entriesByKey.has(this.idKey(id)))
25
+ ) {
26
+ this.scope.error.ResourceBulkEntriesMissing.throw();
27
+ }
28
+ const orderedEntries = requested.map(id => entriesByKey.get(this.idKey(id))!);
29
+ access.checkEntries(orderedEntries);
30
+ return orderedEntries;
31
+ }
32
+
33
+ private validateIds(ids: readonly TableIdentity[]): TableIdentity[] {
34
+ if (ids.length === 0) this.scope.error.ResourceBulkIdsEmpty.throw();
35
+ const keys = new Set<string>();
36
+ for (const id of ids) {
37
+ const key = this.idKey(id);
38
+ if (keys.has(key)) this.scope.error.ResourceBulkIdsDuplicate.throw();
39
+ keys.add(key);
40
+ }
41
+ return [...ids];
42
+ }
43
+
44
+ private idKey(id: TableIdentity): string {
45
+ if (id === undefined || id === null || id === '') {
46
+ this.scope.error.ResourceBulkIdsInvalid.throw();
47
+ }
48
+ return String(id);
49
+ }
50
+ }
@@ -11,10 +11,12 @@ import { getRbacDecision, hasRbacAllScope, rbacActionKey } from '../lib/rbac.ts'
11
11
 
12
12
  @Bean()
13
13
  export class BeanRbacScope extends BeanBase {
14
- private _scopeAdapter: IRbacScopeAdapter | undefined;
14
+ private _scopeAdapter: IRbacScopeAdapter | null | undefined;
15
15
 
16
16
  async isUnrestricted(): Promise<boolean> {
17
- return await this.scopeAdapter.isUnrestricted();
17
+ const scopeAdapter = this.scopeAdapter;
18
+ if (scopeAdapter) return await scopeAdapter.isUnrestricted();
19
+ return await this.bean.passport.isSystemAdmin();
18
20
  }
19
21
 
20
22
  async current(actionKey?: string): Promise<IRbacScopeAccess> {
@@ -26,19 +28,21 @@ export class BeanRbacScope extends BeanBase {
26
28
 
27
29
  const unrestricted = hasRbacAllScope(decision);
28
30
  const ownerValues =
29
- action.action === 'create'
31
+ action.action === 'create' && action.options.dataScope
30
32
  ? await this.prepareOwnerValues(action, decision, unrestricted)
31
33
  : undefined;
32
34
  return this.createAccess(action, decision, unrestricted, ownerValues);
33
35
  }
34
36
 
35
- private get scopeAdapter(): IRbacScopeAdapter {
36
- if (!this._scopeAdapter) {
37
+ private get scopeAdapter(): IRbacScopeAdapter | null {
38
+ if (this._scopeAdapter === undefined) {
37
39
  const beanFullName = beanFullNameFromOnionName(
38
40
  this.scope.config.adapter.rbacScope,
39
41
  'service',
40
42
  );
41
- this._scopeAdapter = this.bean._getBean(beanFullName) as unknown as IRbacScopeAdapter;
43
+ this._scopeAdapter =
44
+ (this.bean._getBean(beanFullName) as unknown as IRbacScopeAdapter | null | undefined) ??
45
+ null;
42
46
  }
43
47
  return this._scopeAdapter;
44
48
  }
@@ -48,7 +52,9 @@ export class BeanRbacScope extends BeanBase {
48
52
  decision: IRbacPolicyDecision,
49
53
  unrestricted: boolean,
50
54
  ): Promise<Record<string, TableIdentity | null | undefined>> {
51
- const values = await this.scopeAdapter.ownerValues(action, decision);
55
+ const scopeAdapter = this.scopeAdapter;
56
+ if (!scopeAdapter) this.app.throw(403);
57
+ const values = await scopeAdapter.ownerValues(action, decision);
52
58
  const departmentField = action.options.dataScopeField ?? 'departmentId';
53
59
  const ownerField = action.options.dataScopeMineField ?? 'userIdOwner';
54
60
  const ownerValues = {
package/src/bean/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './bean.rbacCatalog.ts';
2
+ export * from './bean.rbacResourceBulk.ts';
2
3
  export * from './bean.rbacScope.ts';
3
4
  export * from './event.policyInvalidated.ts';
4
5
  export * from './event.resolvePolicy.ts';
@@ -0,0 +1,18 @@
1
+ export const errors = {
2
+ ResourceBulkIdsEmpty: {
3
+ code: 1001,
4
+ status: 422,
5
+ },
6
+ ResourceBulkIdsInvalid: {
7
+ code: 1003,
8
+ status: 422,
9
+ },
10
+ ResourceBulkIdsDuplicate: {
11
+ code: 1004,
12
+ status: 422,
13
+ },
14
+ ResourceBulkEntriesMissing: {
15
+ code: 1005,
16
+ status: 404,
17
+ },
18
+ } as const;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ ResourceBulkIdsEmpty: 'Bulk resource IDs are required',
3
+ ResourceBulkIdsInvalid: 'Bulk resource IDs cannot contain empty values',
4
+ ResourceBulkIdsDuplicate: 'Bulk resource IDs cannot contain duplicates',
5
+ ResourceBulkEntriesMissing: 'One or more bulk resource entries are absent',
6
+ };
@@ -0,0 +1,6 @@
1
+ export default {
2
+ ResourceBulkIdsEmpty: '批量资源 ID 不能为空',
3
+ ResourceBulkIdsInvalid: '批量资源 ID 不能包含空值',
4
+ ResourceBulkIdsDuplicate: '批量资源 ID 不能包含重复值',
5
+ ResourceBulkEntriesMissing: '一个或多个批量资源条目不存在',
6
+ };
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './.metadata/locales.ts';
1
2
  export * from './lib/index.ts';
2
3
  export * from './types/index.ts';
3
4
  export * from './.metadata/index.ts';