vona-module-a-web 5.1.21 → 5.1.23

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export declare class PipeFilter extends BeanBase implements IPipeTransform<TypeP
12
12
  private _transform;
13
13
  private _transformSystem;
14
14
  private _transformOrders;
15
+ private _resolveField;
16
+ private _addJoin;
15
17
  private _transformField;
16
18
  private _transformFields;
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.filter.d.ts","sourceRoot":"","sources":["../../src/bean/pipe.filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,6BAA6B,EAC7B,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAEV,WAAW,EACX,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,EAAE,QAAQ,EAAmC,MAAM,MAAM,CAAC;AAGjE,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAExD,MAAM,WAAW,kBACf,SAAQ,qBAAqB,EAAE,6BAA6B,EAAE,gBAAgB;CAAG;AAInF,qBAOa,UACX,SAAQ,QACR,YAAW,cAAc,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;IAE7D,SAAS,CACb,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;YAmBlB,UAAU;IAYxB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,gBAAgB;YA6BV,eAAe;YA2Ef,gBAAgB;CAU/B;AAED,eAAO,MAAM,YAAY,4DAAqC,CAAC"}
1
+ {"version":3,"file":"pipe.filter.d.ts","sourceRoot":"","sources":["../../src/bean/pipe.filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,6BAA6B,EAC7B,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAEV,WAAW,EACX,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,EAAE,QAAQ,EAAmC,MAAM,MAAM,CAAC;AAGjE,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAGxD,MAAM,WAAW,kBACf,SAAQ,qBAAqB,EAAE,6BAA6B,EAAE,gBAAgB;CAAG;AAInF,qBAOa,UACX,SAAQ,QACR,YAAW,cAAc,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;IAE7D,SAAS,CACb,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;YAmBlB,UAAU;IAexB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,aAAa;IAyCrB,OAAO,CAAC,QAAQ;YAQF,eAAe;YAuDf,gBAAgB;CAW/B;AAED,eAAO,MAAM,YAAY,4DAAqC,CAAC"}
package/dist/index.js CHANGED
@@ -33,10 +33,11 @@ let PipeFilter = class PipeFilter extends BeanBase {
33
33
  async _transform(value, options) {
34
34
  // 1. system: columns/where/orders/pageNo/pageSize
35
35
  const params = this._transformSystem(value);
36
+ const rootOpenapi = ZodMetadata.getOpenapiMetadata(options.schema);
36
37
  // 2. fields
37
- await this._transformFields(params, value, options);
38
+ await this._transformFields(params, value, options, rootOpenapi);
38
39
  // 3. system: orders
39
- this._transformOrders(params, options);
40
+ this._transformOrders(params, options, rootOpenapi);
40
41
  // ok
41
42
  return params;
42
43
  }
@@ -67,58 +68,79 @@ let PipeFilter = class PipeFilter extends BeanBase {
67
68
  // ok
68
69
  return params;
69
70
  }
70
- _transformOrders(params, options) {
71
+ _transformOrders(params, options, rootOpenapi) {
71
72
  if (!params.orders) return;
72
- // openapi
73
- const openapi = ZodMetadata.getOpenapiMetadata(options.schema);
74
- const table = openapi?.filter?.table;
75
- // loop
76
73
  for (const order of params.orders) {
77
- const field = order[0];
78
- if (field.includes('.')) continue;
79
- let tableCurrent = table;
80
- let fieldCurrent = field;
81
- const fieldSchema = ZodMetadata.getFieldSchema(options.schema, field);
82
- if (fieldSchema) {
83
- const openapi = ZodMetadata.getOpenapiMetadata(fieldSchema);
84
- if (openapi?.filter?.table) {
85
- tableCurrent = openapi?.filter?.table;
86
- }
87
- if (openapi?.filter?.originalName) {
88
- fieldCurrent = openapi?.filter?.originalName;
89
- }
74
+ if (!Array.isArray(order) || order.length !== 2) {
75
+ throw new Error('invalid order');
76
+ }
77
+ const [key, direction] = order;
78
+ if (typeof key !== 'string' || direction !== 'asc' && direction !== 'desc') {
79
+ throw new Error('invalid order');
90
80
  }
91
- cast(order)[0] = tableCurrent ? `${tableCurrent}.${fieldCurrent}` : fieldCurrent;
81
+ const info = this._resolveField(key, options, rootOpenapi);
82
+ if (!info || info.openapi?.filter?.capabilities?.order === false) {
83
+ throw new Error(`invalid order field: ${key}`);
84
+ }
85
+ cast(order)[0] = info.orderFullName;
86
+ this._addJoin(params, info.joinInfo);
92
87
  }
93
88
  }
94
- async _transformField(key, fieldValue, params, value, options) {
95
- if (__FieldsSystem.includes(key)) return;
89
+ _resolveField(key, options, rootOpenapi) {
96
90
  const fieldSchema = ZodMetadata.getFieldSchema(options.schema, key);
97
- if (!fieldSchema) return;
91
+ if (!fieldSchema) {
92
+ if (!rootOpenapi?.filter?.table) {
93
+ return {
94
+ orderFullName: key
95
+ };
96
+ }
97
+ const keyParts = key.split('.');
98
+ const [table, field] = keyParts;
99
+ if (!table || !field || keyParts.length !== 2) return;
100
+ const resolved = this._resolveField(field, options, rootOpenapi);
101
+ if (!resolved || resolved.orderFullName !== key) return;
102
+ return resolved;
103
+ }
98
104
  const fieldSchemaInner = ZodMetadata.unwrapChained(fieldSchema);
99
- // openapi
100
105
  const openapi = ZodMetadata.getOpenapiMetadata(fieldSchema);
101
- const [transformName] = openapi?.filter?.transform ?? ['a-web:base', undefined];
102
- const fieldNullable = fieldValue === null && isNullableSchema(fieldSchema);
103
- if (isNilOrEmptyString(fieldValue) && !fieldNullable) return;
104
- // name
105
106
  const originalName = openapi?.filter?.originalName ?? key;
106
- let fullName;
107
- // joins
108
- let joinInfo;
109
- if (openapi?.filter?.joinOn) {
110
- const joinType = openapi.filter.joinType ?? 'innerJoin';
111
- const joinTable = openapi.filter.table;
112
- const joinOn = openapi.filter.joinOn;
113
- joinInfo = [joinType, joinTable, joinOn];
114
- fullName = `${joinTable}.${originalName}`;
115
- } else {
116
- fullName = originalName;
107
+ const table = openapi?.filter?.table ?? rootOpenapi?.filter?.table;
108
+ const joinInfo = openapi?.filter?.joinOn ? [openapi.filter.joinType ?? 'innerJoin', openapi.filter.table, openapi.filter.joinOn] : undefined;
109
+ return {
110
+ fieldSchema,
111
+ fieldSchemaInner,
112
+ openapi,
113
+ originalName,
114
+ fullName: joinInfo ? `${openapi?.filter?.table}.${originalName}` : originalName,
115
+ orderFullName: table ? `${table}.${originalName}` : originalName,
116
+ joinInfo
117
+ };
118
+ }
119
+ _addJoin(params, joinInfo) {
120
+ if (!joinInfo) return;
121
+ if (!params.joins) params.joins = [];
122
+ if (params.joins.findIndex(item => item[1] === joinInfo[1]) === -1) {
123
+ params.joins.push(joinInfo);
117
124
  }
125
+ }
126
+ async _transformField(key, fieldValue, params, value, options, rootOpenapi) {
127
+ if (__FieldsSystem.includes(key)) return;
128
+ const info = this._resolveField(key, options, rootOpenapi);
129
+ if (!info) return;
130
+ const {
131
+ fieldSchema,
132
+ fieldSchemaInner,
133
+ openapi,
134
+ originalName,
135
+ fullName,
136
+ joinInfo
137
+ } = info;
138
+ const [transformName, transformOptions] = openapi?.filter?.transform ?? ['a-web:base', undefined];
139
+ const fieldNullable = fieldValue === null && isNullableSchema(fieldSchema);
140
+ if (isNilOrEmptyString(fieldValue) && !fieldNullable) return;
118
141
  // check where
119
142
  if (Object.prototype.hasOwnProperty.call(params.where, fullName)) return;
120
143
  // filter transform
121
- const [, transformOptions] = openapi?.filter?.transform ?? ['a-web:base', undefined];
122
144
  const transformOptions2 = this.bean.onion.filterTransform.getOnionOptionsDynamic(transformName, transformOptions);
123
145
  // execute
124
146
  const beanFullName = beanFullNameFromOnionName(transformName, 'filterTransform');
@@ -129,7 +151,7 @@ let PipeFilter = class PipeFilter extends BeanBase {
129
151
  if (!beanInstance.where) {
130
152
  throw new Error(`filterTransform.where not found: ${beanFullName}`);
131
153
  }
132
- const info = {
154
+ const transformInfo = {
133
155
  params,
134
156
  query: value,
135
157
  options,
@@ -141,23 +163,18 @@ let PipeFilter = class PipeFilter extends BeanBase {
141
163
  schema: fieldSchema,
142
164
  openapi
143
165
  };
144
- const resTransform = await beanInstance.where(info, transformOptions2);
166
+ const resTransform = await beanInstance.where(transformInfo, transformOptions2);
145
167
  if (resTransform !== undefined) {
146
168
  // where
147
169
  params.where[fullName] = resTransform;
148
170
  // join
149
- if (joinInfo) {
150
- if (!params.joins) params.joins = [];
151
- if (params.joins.findIndex(item => item[1] === joinInfo.joinTable) === -1) {
152
- params.joins.push(joinInfo);
153
- }
154
- }
171
+ this._addJoin(params, joinInfo);
155
172
  }
156
173
  }
157
- async _transformFields(params, value, options) {
174
+ async _transformFields(params, value, options, rootOpenapi) {
158
175
  // loop
159
176
  for (const key in value) {
160
- await this._transformField(key, value[key], params, value, options);
177
+ await this._transformField(key, value[key], params, value, options, rootOpenapi);
161
178
  }
162
179
  }
163
180
  };
@@ -264,6 +281,11 @@ function exchangeKeyForValue(ctx, type, field) {
264
281
  ip: () => req.ip,
265
282
  rawBody: () => req.rawBody,
266
283
  user: () => ctx.app.bean.passport.currentUser,
284
+ rbacScopeCurrent: async () => {
285
+ const rbacScope = ctx.app.bean.rbacScope;
286
+ if (!rbacScope) ctx.app.throw(403);
287
+ return await rbacScope.current();
288
+ },
267
289
  fields: () => {
268
290
  const uploadValue = ctx[SymbolUploadValue];
269
291
  if (!uploadValue) throw new Error('should use interceptor: a-upload:upload');
@@ -804,7 +826,9 @@ function createPipesArgumentDecorator(paramType, extractValue) {
804
826
  const paramSchemaLikes = hasParamField ? schemaLikes : [field, ...schemaLikes].filter(item => !!item);
805
827
  const paramtypes = appMetadata.getMetadata('design:paramtypes', target, prop);
806
828
  let metaType;
807
- if (paramType === 'file') {
829
+ if (paramType === 'rbacScopeCurrent') {
830
+ metaType = undefined;
831
+ } else if (paramType === 'file') {
808
832
  metaType = z.string().openapi({
809
833
  format: 'binary'
810
834
  });
@@ -853,6 +877,9 @@ function File(property, ...schemaLikes) {
853
877
  function User(...schemaLikes) {
854
878
  return createPipesArgumentDecorator('user')(undefined, ...schemaLikes);
855
879
  }
880
+ function RbacScopeCurrent() {
881
+ return createPipesArgumentDecorator('rbacScopeCurrent')();
882
+ }
856
883
  function ArgFilter(schemaLike) {
857
884
  return function (target, prop, index) {
858
885
  const schema = $schema(schemaLike);
@@ -872,6 +899,7 @@ const Arg = {
872
899
  files: Files,
873
900
  file: File,
874
901
  user: User,
902
+ rbacScopeCurrent: RbacScopeCurrent,
875
903
  filter: ArgFilter
876
904
  };
877
905
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/bean/pipe.filter.ts","../src/bean/pipe.valid.ts","../src/lib/const.ts","../src/lib/middleware/utils.ts","../src/lib/middleware/middlewareGuard.ts","../src/lib/middleware/middlewareInterceptor.ts","../src/lib/middleware/extractValue.ts","../src/lib/middleware/middlewarePipe.ts","../src/types/request.ts","../src/bean/bean.router.ts","../src/service/web.ts","../src/bean/hmr.controller.ts","../src/bean/hmr.dto.ts","../src/bean/startup.listen.ts","../src/lib/decorator/filterTransform.ts","../src/bean/filterTransform.base.ts","../src/bean/filterTransform.dateRange.ts","../src/config/config.ts","../src/.metadata/this.ts","../src/main.ts","../src/.metadata/index.ts","../src/lib/decorator/pipesArgument.ts","../src/lib/decorator/arguments.ts","../src/lib/decorator/bean.ts","../src/lib/decorator/request.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["__FieldsSystem","PipeFilter","BeanBase","transform","value","metadata","options","schema","Error","controller","name","method","index","bean","validator","validateSchema","field","params","_transform","_transformSystem","_transformFields","_transformOrders","isNil","columns","where","orders","startsWith","endsWith","JSON","parse","cast","split","pageNo","pageSize","offset","limit","openapi","ZodMetadata","getOpenapiMetadata","table","filter","order","includes","tableCurrent","fieldCurrent","fieldSchema","getFieldSchema","originalName","_transformField","key","fieldValue","fieldSchemaInner","unwrapChained","transformName","undefined","fieldNullable","isNullableSchema","isNilOrEmptyString","fullName","joinInfo","joinOn","joinType","joinTable","Object","prototype","hasOwnProperty","call","transformOptions","transformOptions2","onion","filterTransform","getOnionOptionsDynamic","beanFullName","beanFullNameFromOnionName","beanInstance","_getBean","info","query","type","resTransform","joins","findIndex","item","push","__decorate","Pipe","disableErrorMessages","errorHttpStatusCode","loose","strict","__z_BeanInfo","module","ArgFilterPro","createArgumentPipe","PipeValid","ArgValid","SymbolCacheControllerRoutes","Symbol","recordResourceNameToRoutePath","getCacheControllerRoutes","app","meta","composeGuards","route","SymbolCacheComposeGuards","cacheComposeGuards","controllerBeanFullName","handlerName","action","guard","compose","middlewareGuard","ctx","next","handler","getHandler","result","throw","middlewareInterceptor","_composeInterceptors","SymbolCacheComposeInterceptors","cacheComposeInterceptors","interceptor","extractValue","argMeta","exchangeKeyForValue","req","request","res","response","modes","body","param","headers","toLowerCase","host","hosts","ip","rawBody","user","passport","currentUser","fields","uploadValue","SymbolUploadValue","map","find","files","file","middlewarePipe","SymbolRouteHandlersArgumentsValue","_transformArguments","paramtypes","appMetadata","getMetadata","argsMeta","SymbolRouteHandlersArgumentsMeta","args","Array","from","length","_extractArgumentValue","metaType","_transformArgument","pipes","composePipes","_next","argIndex","pipe","_pipeNextDefault","executeCustom","SymbolCacheComposePipes","cacheComposePipes","onionPipe","middlewares","onionsGlobal","_wrapOnion","middlewaresLocal","_collectOnionsHandler","middlewaresArgument","_collectArgumentMiddlewares","pipeName","onionsNormal","sceneName","argumentPipe","SymbolRequestMappingHandler","BeanRouter","reRegisterController","cacheControllerRoutes","routes","router","off","routeMethod","toUpperCase","routePath","registerController","beanOptions","appResource","getBean","beanClass","controllerOptions","controllerPath","path","controllerMiddlewaresOptions","SymbolUseOnionOptions","descs","getOwnPropertyDescriptors","actionKey","desc","_registerControllerAction","register","moduleName","simplify","fn","_path","util","combineApiPath","on","unRegister","findByPath","findRoute","hasMetadata","handlerMetadata","actionPath","actionMethod","combineApiPathControllerAndAction","routePathRaw","combineApiPathControllerAndActionRaw","actionMiddlewaresOptions","deepExtend","defineMetadata","SymbolUseOnionOptionsRouteReal","_route","actionDescriptor","routePathOriginal","_req","_res","_store","searchParams","_composeMiddlewares","Bean","SymbolCacheComposeMiddlewares","cacheComposeMiddlewares","fnStart","routeStartMiddleware","fnMid","routeTailDoneMiddleware","fnEnd","classControllerMiddleware","middleware","getHandlerName","getControllerBean","commitsDone","ServiceWeb","combineControllerActionApiPath","prefix","Service","HmrController","reload","clearCacheComposesRouter","clearAllCaches","permission","Hmr","HmrDto","_beanOptions","worker","StartupListen","execute","config","server","listen","disable","_listen","port","hostname","http","createServer","_callback","listenerCount","onerror","executor","newCtx","handleRequest","dbInfo","level","innerAccess","Startup","after","FilterTransform","createBeanDecorator","FilterTransformBase","_options","op","FilterTransformDateRange","dateStartStr","dateEndStr","separator","dateStart","_parseDate","_gte_","toJSDate","dateEnd","plus","day","_lt_","str","date","DateTime","fromISO","zone","tz","isValid","format","fromFormat","_app","maxParamLength","defaultRoute","__ThisModule__","SymbolRouter","Main","BeanSimple","constructor","moduleLoading","moduleLoaded","scope","self","defineProperty","get","Router","getOnionsEnabledCached","use","_composeMiddlewareSystems","SymbolRouterMiddleware","routerMiddleware","configLoaded","_config","Promise","resolve","reject","lookup","err","SymbolCacheComposeMiddlewareSystems","middlewareSystem","getOnionsEnabledWrapped","_ctx","checkOnionOptionsEnabled","_name","ScopeModuleAWeb","BeanScopeBase","Scope","createPipesArgumentDecorator","paramType","schemaLikes","target","prop","hasParamField","paramField","paramSchemaLikes","z","string","array","argSchema","makeSchemaLikes","setArgumentPipe","Param","property","Query","Body","Headers","Fields","Field","Files","File","User","ArgFilter","schemaLike","$schema","Arg","Controller","assign","optionsMeta","getOwnMetadataMap","SymbolOpenApiOptions","mergeControllerActionsOpenapiMetadata","onionName","onionNameFromBeanFullName","controllerResource","getOwnMetadata","SymbolControllerResource","useApp","apiPath","Dto","mergeDtoFieldsOpenapiMetadata","mergeDtoBlocksOpenapiMetadata","mergeDtoPipesOpenapiMetadata","actions","onionOptions","blocks","rest","schemaScene","getTargetDecoratorDtoOpenapi","mergeTargetDecoratorDtoOpenapi","getTargetDecoratorDtoPipes","setTargetDecoratorDtoPipes","defaultMetadata","RequestMapping","descriptor","createMappingDecorator","Post","Get","Delete","Put","Patch","Options","Head","Web","post","delete","put","patch","head"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/bean/pipe.filter.ts","../src/bean/pipe.valid.ts","../src/lib/const.ts","../src/lib/middleware/utils.ts","../src/lib/middleware/middlewareGuard.ts","../src/lib/middleware/middlewareInterceptor.ts","../src/lib/middleware/extractValue.ts","../src/lib/middleware/middlewarePipe.ts","../src/types/request.ts","../src/bean/bean.router.ts","../src/service/web.ts","../src/bean/hmr.controller.ts","../src/bean/hmr.dto.ts","../src/bean/startup.listen.ts","../src/lib/decorator/filterTransform.ts","../src/bean/filterTransform.base.ts","../src/bean/filterTransform.dateRange.ts","../src/config/config.ts","../src/.metadata/this.ts","../src/main.ts","../src/.metadata/index.ts","../src/lib/decorator/pipesArgument.ts","../src/lib/decorator/arguments.ts","../src/lib/decorator/bean.ts","../src/lib/decorator/request.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["__FieldsSystem","PipeFilter","BeanBase","transform","value","metadata","options","schema","Error","controller","name","method","index","bean","validator","validateSchema","field","params","_transform","_transformSystem","rootOpenapi","ZodMetadata","getOpenapiMetadata","_transformFields","_transformOrders","isNil","columns","where","orders","startsWith","endsWith","JSON","parse","cast","split","pageNo","pageSize","offset","limit","order","Array","isArray","length","key","direction","info","_resolveField","openapi","filter","capabilities","orderFullName","_addJoin","joinInfo","fieldSchema","getFieldSchema","table","keyParts","resolved","fieldSchemaInner","unwrapChained","originalName","joinOn","joinType","undefined","fullName","joins","findIndex","item","push","_transformField","fieldValue","includes","transformName","transformOptions","fieldNullable","isNullableSchema","isNilOrEmptyString","Object","prototype","hasOwnProperty","call","transformOptions2","onion","filterTransform","getOnionOptionsDynamic","beanFullName","beanFullNameFromOnionName","beanInstance","_getBean","transformInfo","query","type","resTransform","__decorate","Pipe","disableErrorMessages","errorHttpStatusCode","loose","strict","__z_BeanInfo","module","ArgFilterPro","createArgumentPipe","PipeValid","ArgValid","SymbolCacheControllerRoutes","Symbol","recordResourceNameToRoutePath","getCacheControllerRoutes","app","meta","composeGuards","route","SymbolCacheComposeGuards","cacheComposeGuards","controllerBeanFullName","handlerName","action","guard","compose","middlewareGuard","ctx","next","handler","getHandler","result","throw","middlewareInterceptor","_composeInterceptors","SymbolCacheComposeInterceptors","cacheComposeInterceptors","interceptor","extractValue","argMeta","exchangeKeyForValue","req","request","res","response","modes","body","param","headers","toLowerCase","host","hosts","ip","rawBody","user","passport","currentUser","rbacScopeCurrent","rbacScope","current","fields","uploadValue","SymbolUploadValue","map","find","files","file","middlewarePipe","SymbolRouteHandlersArgumentsValue","_transformArguments","paramtypes","appMetadata","getMetadata","argsMeta","SymbolRouteHandlersArgumentsMeta","args","from","_extractArgumentValue","metaType","_transformArgument","pipes","composePipes","_next","argIndex","pipe","_pipeNextDefault","executeCustom","SymbolCacheComposePipes","cacheComposePipes","onionPipe","middlewares","onionsGlobal","_wrapOnion","middlewaresLocal","_collectOnionsHandler","middlewaresArgument","_collectArgumentMiddlewares","pipeName","onionsNormal","sceneName","argumentPipe","SymbolRequestMappingHandler","BeanRouter","reRegisterController","cacheControllerRoutes","routes","router","off","routeMethod","toUpperCase","routePath","registerController","beanOptions","appResource","getBean","beanClass","controllerOptions","controllerPath","path","controllerMiddlewaresOptions","SymbolUseOnionOptions","descs","getOwnPropertyDescriptors","actionKey","desc","_registerControllerAction","register","moduleName","simplify","fn","_path","util","combineApiPath","on","unRegister","findByPath","findRoute","hasMetadata","handlerMetadata","actionPath","actionMethod","combineApiPathControllerAndAction","routePathRaw","combineApiPathControllerAndActionRaw","actionMiddlewaresOptions","deepExtend","defineMetadata","SymbolUseOnionOptionsRouteReal","_route","actionDescriptor","routePathOriginal","_req","_res","_store","searchParams","_composeMiddlewares","Bean","SymbolCacheComposeMiddlewares","cacheComposeMiddlewares","fnStart","routeStartMiddleware","fnMid","routeTailDoneMiddleware","fnEnd","classControllerMiddleware","middleware","getHandlerName","getControllerBean","commitsDone","ServiceWeb","combineControllerActionApiPath","prefix","Service","HmrController","reload","clearCacheComposesRouter","clearAllCaches","permission","Hmr","HmrDto","_beanOptions","worker","StartupListen","execute","config","server","listen","disable","_listen","port","hostname","http","createServer","_callback","listenerCount","onerror","executor","newCtx","handleRequest","dbInfo","level","innerAccess","Startup","after","FilterTransform","createBeanDecorator","FilterTransformBase","_options","op","FilterTransformDateRange","dateStartStr","dateEndStr","separator","dateStart","_parseDate","_gte_","toJSDate","dateEnd","plus","day","_lt_","str","date","DateTime","fromISO","zone","tz","isValid","format","fromFormat","_app","maxParamLength","defaultRoute","__ThisModule__","SymbolRouter","Main","BeanSimple","constructor","moduleLoading","moduleLoaded","scope","self","defineProperty","get","Router","getOnionsEnabledCached","use","_composeMiddlewareSystems","SymbolRouterMiddleware","routerMiddleware","configLoaded","_config","Promise","resolve","reject","lookup","err","SymbolCacheComposeMiddlewareSystems","middlewareSystem","getOnionsEnabledWrapped","_ctx","checkOnionOptionsEnabled","_name","ScopeModuleAWeb","BeanScopeBase","Scope","createPipesArgumentDecorator","paramType","schemaLikes","target","prop","hasParamField","paramField","paramSchemaLikes","z","string","array","argSchema","makeSchemaLikes","setArgumentPipe","Param","property","Query","Body","Headers","Fields","Field","Files","File","User","RbacScopeCurrent","ArgFilter","schemaLike","$schema","Arg","Controller","assign","optionsMeta","getOwnMetadataMap","SymbolOpenApiOptions","mergeControllerActionsOpenapiMetadata","onionName","onionNameFromBeanFullName","controllerResource","getOwnMetadata","SymbolControllerResource","useApp","apiPath","Dto","mergeDtoFieldsOpenapiMetadata","mergeDtoBlocksOpenapiMetadata","mergeDtoPipesOpenapiMetadata","actions","onionOptions","blocks","rest","schemaScene","getTargetDecoratorDtoOpenapi","mergeTargetDecoratorDtoOpenapi","getTargetDecoratorDtoPipes","setTargetDecoratorDtoPipes","defaultMetadata","RequestMapping","descriptor","createMappingDecorator","Post","Get","Delete","Put","Patch","Options","Head","Web","post","delete","put","patch","head"],"mappings":"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"}
@@ -26,6 +26,7 @@ declare function File(): ParameterDecorator;
26
26
  declare function File(...schemaLikes: SchemaLike[]): ParameterDecorator;
27
27
  declare function File(property: string, ...schemaLikes: SchemaLike[]): ParameterDecorator;
28
28
  declare function User(...schemaLikes: SchemaLike[]): ParameterDecorator;
29
+ declare function RbacScopeCurrent(): ParameterDecorator;
29
30
  declare function ArgFilter(schemaLike: z.ZodType | Constructable): any;
30
31
  export declare const Arg: {
31
32
  param: typeof Param;
@@ -37,6 +38,7 @@ export declare const Arg: {
37
38
  files: typeof Files;
38
39
  file: typeof File;
39
40
  user: typeof User;
41
+ rbacScopeCurrent: typeof RbacScopeCurrent;
40
42
  filter: typeof ArgFilter;
41
43
  };
42
44
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../../../src/lib/decorator/arguments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,iBAAS,KAAK,IAAI,kBAAkB,CAAC;AACrC,iBAAS,KAAK,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACjE,iBAAS,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKnF,iBAAS,KAAK,IAAI,kBAAkB,CAAC;AACrC,iBAAS,KAAK,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACjE,iBAAS,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKnF,iBAAS,IAAI,IAAI,kBAAkB,CAAC;AACpC,iBAAS,IAAI,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAChE,iBAAS,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKlF,iBAAS,OAAO,IAAI,kBAAkB,CAAC;AACvC,iBAAS,OAAO,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACnE,iBAAS,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKrF,iBAAS,MAAM,IAAI,kBAAkB,CAAC;AACtC,iBAAS,MAAM,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAClE,iBAAS,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKpF,iBAAS,KAAK,IAAI,kBAAkB,CAAC;AACrC,iBAAS,KAAK,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACjE,iBAAS,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKnF,iBAAS,KAAK,IAAI,kBAAkB,CAAC;AACrC,iBAAS,KAAK,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACjE,iBAAS,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKnF,iBAAS,IAAI,IAAI,kBAAkB,CAAC;AACpC,iBAAS,IAAI,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAChE,iBAAS,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKlF,iBAAS,IAAI,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAE9D;AAED,iBAAS,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,GAAG,aAAa,GAAG,GAAG,CAK7D;AAED,eAAO,MAAM,GAAG;;;;;;;;;;;CAWf,CAAC"}
1
+ {"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../../../src/lib/decorator/arguments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,iBAAS,KAAK,IAAI,kBAAkB,CAAC;AACrC,iBAAS,KAAK,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACjE,iBAAS,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKnF,iBAAS,KAAK,IAAI,kBAAkB,CAAC;AACrC,iBAAS,KAAK,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACjE,iBAAS,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKnF,iBAAS,IAAI,IAAI,kBAAkB,CAAC;AACpC,iBAAS,IAAI,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAChE,iBAAS,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKlF,iBAAS,OAAO,IAAI,kBAAkB,CAAC;AACvC,iBAAS,OAAO,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACnE,iBAAS,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKrF,iBAAS,MAAM,IAAI,kBAAkB,CAAC;AACtC,iBAAS,MAAM,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAClE,iBAAS,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKpF,iBAAS,KAAK,IAAI,kBAAkB,CAAC;AACrC,iBAAS,KAAK,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACjE,iBAAS,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKnF,iBAAS,KAAK,IAAI,kBAAkB,CAAC;AACrC,iBAAS,KAAK,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AACjE,iBAAS,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKnF,iBAAS,IAAI,IAAI,kBAAkB,CAAC;AACpC,iBAAS,IAAI,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAChE,iBAAS,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAKlF,iBAAS,IAAI,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAE9D;AAED,iBAAS,gBAAgB,IAAI,kBAAkB,CAE9C;AAED,iBAAS,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,GAAG,aAAa,GAAG,GAAG,CAK7D;AAED,eAAO,MAAM,GAAG;;;;;;;;;;;;CAYf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipesArgument.d.ts","sourceRoot":"","sources":["../../../src/lib/decorator/pipesArgument.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAO7D,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,wBAAwB,EACnC,YAAY,CAAC,EAAE,gBAAgB,IAEd,QAAQ,MAAM,GAAG,UAAU,EAAE,GAAG,aAAa,UAAU,EAAE,KAAG,kBAAkB,CAkChG"}
1
+ {"version":3,"file":"pipesArgument.d.ts","sourceRoot":"","sources":["../../../src/lib/decorator/pipesArgument.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAO7D,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,wBAAwB,EACnC,YAAY,CAAC,EAAE,gBAAgB,IAEd,QAAQ,MAAM,GAAG,UAAU,EAAE,GAAG,aAAa,UAAU,EAAE,KAAG,kBAAkB,CAoChG"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractValue.d.ts","sourceRoot":"","sources":["../../../src/lib/middleware/extractValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EACV,iCAAiC,EACjC,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAK/B,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,iCAAiC,OAExF;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,wBAAwB,EAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,OA6C1B"}
1
+ {"version":3,"file":"extractValue.d.ts","sourceRoot":"","sources":["../../../src/lib/middleware/extractValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EACV,iCAAiC,EACjC,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAK/B,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,iCAAiC,OAExF;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,wBAAwB,EAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,OAkD1B"}
@@ -1,5 +1,6 @@
1
1
  import type { OmitNever } from 'vona';
2
2
  import type { ServiceOnion, TypeOnionOptionsEnableSimple } from 'vona-module-a-onion';
3
+ import type { IOpenapiOptions } from 'vona-module-a-openapiutils';
3
4
  export interface IApiPathRecordMethodMap {
4
5
  get: IApiPathGetRecord;
5
6
  post: IApiPathPostRecord;
@@ -23,6 +24,8 @@ export interface IControllerRecord {
23
24
  }
24
25
  export interface IDecoratorControllerOptions extends TypeOnionOptionsEnableSimple {
25
26
  path?: string;
27
+ description?: IOpenapiOptions['description'];
28
+ summary?: IOpenapiOptions['summary'];
26
29
  exclude?: boolean;
27
30
  tags?: string[];
28
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/types/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEtF,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,iBAAiB,CAAC;IACvB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AACD,MAAM,WAAW,cACf,SACE,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB;CAAG;AAE1B,MAAM,WAAW,iBAAiB;CAAG;AACrC,MAAM,WAAW,kBAAkB;CAAG;AACtC,MAAM,WAAW,oBAAoB;CAAG;AACxC,MAAM,WAAW,iBAAiB;CAAG;AACrC,MAAM,WAAW,mBAAmB;CAAG;AAEvC,MAAM,WAAW,iBAAiB;CAAG;AAErC,MAAM,WAAW,2BAA4B,SAAQ,4BAA4B;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAiB,SAAS;QACxB,UAAU,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;KAC7C;CACF;AAED,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,YAAY;QAC3B,UAAU,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;KAC1C;IAED,UAAiB,gBAAgB;QAC/B,UAAU,EAAE,KAAK,CAAC;KACnB;CACF"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/types/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,iBAAiB,CAAC;IACvB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AACD,MAAM,WAAW,cACf,SACE,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB;CAAG;AAE1B,MAAM,WAAW,iBAAiB;CAAG;AACrC,MAAM,WAAW,kBAAkB;CAAG;AACtC,MAAM,WAAW,oBAAoB;CAAG;AACxC,MAAM,WAAW,iBAAiB;CAAG;AACrC,MAAM,WAAW,mBAAmB;CAAG;AAEvC,MAAM,WAAW,iBAAiB;CAAG;AAErC,MAAM,WAAW,2BAA4B,SAAQ,4BAA4B;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAiB,SAAS;QACxB,UAAU,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;KAC7C;CACF;AAED,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,YAAY;QAC3B,UAAU,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;KAC1C;IAED,UAAiB,gBAAgB;QAC/B,UAAU,EAAE,KAAK,CAAC;KACnB;CACF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-module-a-web",
3
- "version": "5.1.21",
4
- "gitHead": "f56eaba77347037643b625c8e6c5af408ff2d495",
3
+ "version": "5.1.23",
4
+ "gitHead": "2658f35c02c5b1732087f980ee564c159d0ebd25",
5
5
  "description": "",
6
6
  "keywords": [
7
7
  "Vona Module"
@@ -6,8 +6,8 @@ import type { IPipeOptionsFilter } from '../bean/pipe.filter.ts';
6
6
  import type { IPipeOptionsValid } from '../bean/pipe.valid.ts';
7
7
  import 'vona-module-a-aspect';
8
8
  declare module 'vona-module-a-aspect' {
9
-
10
-
9
+
10
+
11
11
  export interface IPipeRecordLocal {
12
12
  'a-web:filter': IPipeOptionsFilter;
13
13
  'a-web:valid': IPipeOptionsValid;
@@ -15,7 +15,7 @@ export interface IPipeRecordLocal {
15
15
 
16
16
  }
17
17
  declare module 'vona-module-a-web' {
18
-
18
+
19
19
  export interface PipeFilter {
20
20
  /** @internal */
21
21
  get scope(): ScopeModuleAWeb;
@@ -36,7 +36,7 @@ declare module 'vona-module-a-web' {
36
36
  get $beanFullName(): 'a-web.pipe.valid';
37
37
  get $onionName(): 'a-web:valid';
38
38
  get $onionOptions(): IPipeOptionsValid;
39
- }
39
+ }
40
40
  }
41
41
  /** pipe: end */
42
42
  /** bean: begin */
@@ -44,15 +44,15 @@ export * from '../bean/bean.router.ts';
44
44
 
45
45
  import 'vona';
46
46
  declare module 'vona' {
47
-
48
-
47
+
48
+
49
49
  }
50
50
  declare module 'vona-module-a-web' {
51
-
51
+
52
52
  export interface BeanRouter {
53
53
  /** @internal */
54
54
  get scope(): ScopeModuleAWeb;
55
- }
55
+ }
56
56
  }
57
57
  /** bean: end */
58
58
  /** bean: begin */
@@ -69,15 +69,15 @@ export * from '../service/web.ts';
69
69
 
70
70
  import 'vona-module-a-bean';
71
71
  declare module 'vona-module-a-bean' {
72
-
72
+
73
73
  export interface IServiceRecord {
74
74
  'a-web:web': never;
75
75
  }
76
76
 
77
-
77
+
78
78
  }
79
79
  declare module 'vona-module-a-web' {
80
-
80
+
81
81
  export interface ServiceWeb {
82
82
  /** @internal */
83
83
  get scope(): ScopeModuleAWeb;
@@ -86,8 +86,7 @@ declare module 'vona-module-a-web' {
86
86
  export interface ServiceWeb {
87
87
  get $beanFullName(): 'a-web.service.web';
88
88
  get $onionName(): 'a-web:web';
89
-
90
- }
89
+ }
91
90
  }
92
91
  /** service: end */
93
92
  /** service: begin */
@@ -111,16 +110,16 @@ export * from '../bean/hmr.dto.ts';
111
110
 
112
111
  import 'vona';
113
112
  declare module 'vona' {
114
-
113
+
115
114
  export interface IHmrRecord {
116
115
  'a-web:controller': never;
117
116
  'a-web:dto': never;
118
117
  }
119
118
 
120
-
119
+
121
120
  }
122
121
  declare module 'vona-module-a-web' {
123
-
122
+
124
123
  export interface HmrController {
125
124
  /** @internal */
126
125
  get scope(): ScopeModuleAWeb;
@@ -129,7 +128,6 @@ declare module 'vona-module-a-web' {
129
128
  export interface HmrController {
130
129
  get $beanFullName(): 'a-web.hmr.controller';
131
130
  get $onionName(): 'a-web:controller';
132
-
133
131
  }
134
132
 
135
133
  export interface HmrDto {
@@ -140,8 +138,7 @@ declare module 'vona-module-a-web' {
140
138
  export interface HmrDto {
141
139
  get $beanFullName(): 'a-web.hmr.dto';
142
140
  get $onionName(): 'a-web:dto';
143
-
144
- }
141
+ }
145
142
  }
146
143
  /** hmr: end */
147
144
  /** startup: begin */
@@ -149,15 +146,15 @@ export * from '../bean/startup.listen.ts';
149
146
 
150
147
  import { type IDecoratorStartupOptions } from 'vona-module-a-startup';
151
148
  declare module 'vona-module-a-startup' {
152
-
149
+
153
150
  export interface IStartupRecord {
154
151
  'a-web:listen': IDecoratorStartupOptions;
155
152
  }
156
153
 
157
-
154
+
158
155
  }
159
156
  declare module 'vona-module-a-web' {
160
-
157
+
161
158
  export interface StartupListen {
162
159
  /** @internal */
163
160
  get scope(): ScopeModuleAWeb;
@@ -167,7 +164,7 @@ declare module 'vona-module-a-web' {
167
164
  get $beanFullName(): 'a-web.startup.listen';
168
165
  get $onionName(): 'a-web:listen';
169
166
  get $onionOptions(): IDecoratorStartupOptions;
170
- }
167
+ }
171
168
  }
172
169
  /** startup: end */
173
170
  /** filterTransform: begin */
@@ -177,16 +174,16 @@ import type { IFilterTransformOptionsBase } from '../bean/filterTransform.base.t
177
174
  import type { IFilterTransformOptionsDateRange } from '../bean/filterTransform.dateRange.ts';
178
175
  import 'vona-module-a-web';
179
176
  declare module 'vona-module-a-web' {
180
-
177
+
181
178
  export interface IFilterTransformRecord {
182
179
  'a-web:base': IFilterTransformOptionsBase;
183
180
  'a-web:dateRange': IFilterTransformOptionsDateRange;
184
181
  }
185
182
 
186
-
183
+
187
184
  }
188
185
  declare module 'vona-module-a-web' {
189
-
186
+
190
187
  export interface FilterTransformBase {
191
188
  /** @internal */
192
189
  get scope(): ScopeModuleAWeb;
@@ -207,7 +204,7 @@ declare module 'vona-module-a-web' {
207
204
  get $beanFullName(): 'a-web.filterTransform.dateRange';
208
205
  get $onionName(): 'a-web:dateRange';
209
206
  get $onionOptions(): IFilterTransformOptionsDateRange;
210
- }
207
+ }
211
208
  }
212
209
  /** filterTransform: end */
213
210
  /** config: begin */
@@ -239,13 +236,13 @@ declare module 'vona' {
239
236
  export interface IBeanScopeContainer {
240
237
  web: ScopeModuleAWeb;
241
238
  }
242
-
239
+
243
240
  export interface IBeanScopeConfig {
244
241
  'a-web': ReturnType<typeof config>;
245
242
  }
246
243
 
247
-
248
244
 
249
-
245
+
246
+
250
247
  }
251
248
  /** scope: end */
@@ -25,6 +25,7 @@ import type {
25
25
  export type TypePipeFilterData = ITableQuery;
26
26
 
27
27
  export type TypePipeFilterResult = TypeQueryParamsPatch;
28
+ type TypeQueryJoin = NonNullable<TypeQueryParamsPatch['joins']>[number];
28
29
 
29
30
  export interface IPipeOptionsFilter
30
31
  extends IDecoratorPipeOptions, IDecoratorPipeOptionsArgument, ValidatorOptions {}
@@ -68,10 +69,13 @@ export class PipeFilter
68
69
  private async _transform(value: TypePipeFilterData, options: IPipeOptionsFilter) {
69
70
  // 1. system: columns/where/orders/pageNo/pageSize
70
71
  const params = this._transformSystem(value);
72
+ const rootOpenapi = ZodMetadata.getOpenapiMetadata(options.schema!) as
73
+ | ISchemaObjectExtensionField
74
+ | undefined;
71
75
  // 2. fields
72
- await this._transformFields(params, value, options);
76
+ await this._transformFields(params, value, options, rootOpenapi);
73
77
  // 3. system: orders
74
- this._transformOrders(params, options);
78
+ this._transformOrders(params, options, rootOpenapi);
75
79
  // ok
76
80
  return params;
77
81
  }
@@ -104,32 +108,75 @@ export class PipeFilter
104
108
  return params;
105
109
  }
106
110
 
107
- private _transformOrders(params: TypeQueryParamsPatch, options: IPipeOptionsFilter) {
111
+ private _transformOrders(
112
+ params: TypeQueryParamsPatch,
113
+ options: IPipeOptionsFilter,
114
+ rootOpenapi: ISchemaObjectExtensionField | undefined,
115
+ ) {
108
116
  if (!params.orders) return;
109
- // openapi
110
- const openapi: ISchemaObjectExtensionField | undefined = ZodMetadata.getOpenapiMetadata(
111
- options.schema!,
112
- ) as ISchemaObjectExtensionField | undefined;
113
- const table = openapi?.filter?.table;
114
- // loop
115
117
  for (const order of params.orders) {
116
- const field = order[0] as string;
117
- if (field.includes('.')) continue;
118
- let tableCurrent = table;
119
- let fieldCurrent = field;
120
- const fieldSchema = ZodMetadata.getFieldSchema(options.schema, field);
121
- if (fieldSchema) {
122
- const openapi: ISchemaObjectExtensionField | undefined = ZodMetadata.getOpenapiMetadata(
123
- fieldSchema,
124
- ) as ISchemaObjectExtensionField | undefined;
125
- if (openapi?.filter?.table) {
126
- tableCurrent = openapi?.filter?.table;
127
- }
128
- if (openapi?.filter?.originalName) {
129
- fieldCurrent = openapi?.filter?.originalName;
130
- }
118
+ if (!Array.isArray(order) || order.length !== 2) {
119
+ throw new Error('invalid order');
120
+ }
121
+ const [key, direction] = order;
122
+ if (typeof key !== 'string' || (direction !== 'asc' && direction !== 'desc')) {
123
+ throw new Error('invalid order');
124
+ }
125
+ const info = this._resolveField(key, options, rootOpenapi);
126
+ if (!info || info.openapi?.filter?.capabilities?.order === false) {
127
+ throw new Error(`invalid order field: ${key}`);
131
128
  }
132
- cast(order)[0] = tableCurrent ? `${tableCurrent}.${fieldCurrent}` : fieldCurrent;
129
+ cast(order)[0] = info.orderFullName;
130
+ this._addJoin(params, info.joinInfo);
131
+ }
132
+ }
133
+
134
+ private _resolveField(
135
+ key: string,
136
+ options: IPipeOptionsFilter,
137
+ rootOpenapi: ISchemaObjectExtensionField | undefined,
138
+ ) {
139
+ const fieldSchema = ZodMetadata.getFieldSchema(options.schema!, key);
140
+ if (!fieldSchema) {
141
+ if (!rootOpenapi?.filter?.table) {
142
+ return { orderFullName: key };
143
+ }
144
+ const keyParts = key.split('.');
145
+ const [table, field] = keyParts;
146
+ if (!table || !field || keyParts.length !== 2) return;
147
+ const resolved = this._resolveField(field, options, rootOpenapi);
148
+ if (!resolved || resolved.orderFullName !== key) return;
149
+ return resolved;
150
+ }
151
+ const fieldSchemaInner = ZodMetadata.unwrapChained(fieldSchema);
152
+ const openapi: ISchemaObjectExtensionField | undefined = ZodMetadata.getOpenapiMetadata(
153
+ fieldSchema,
154
+ ) as ISchemaObjectExtensionField | undefined;
155
+ const originalName = openapi?.filter?.originalName ?? key;
156
+ const table = openapi?.filter?.table ?? rootOpenapi?.filter?.table;
157
+ const joinInfo = openapi?.filter?.joinOn
158
+ ? ([
159
+ openapi.filter.joinType ?? 'innerJoin',
160
+ openapi.filter.table,
161
+ openapi.filter.joinOn,
162
+ ] as TypeQueryJoin)
163
+ : undefined;
164
+ return {
165
+ fieldSchema,
166
+ fieldSchemaInner,
167
+ openapi,
168
+ originalName,
169
+ fullName: joinInfo ? `${openapi?.filter?.table}.${originalName}` : originalName,
170
+ orderFullName: table ? `${table}.${originalName}` : originalName,
171
+ joinInfo,
172
+ };
173
+ }
174
+
175
+ private _addJoin(params: TypeQueryParamsPatch, joinInfo: TypeQueryJoin | undefined) {
176
+ if (!joinInfo) return;
177
+ if (!params.joins) params.joins = [];
178
+ if (params.joins.findIndex(item => item[1] === joinInfo[1]) === -1) {
179
+ params.joins.push(joinInfo);
133
180
  }
134
181
  }
135
182
 
@@ -139,36 +186,21 @@ export class PipeFilter
139
186
  params: TypeQueryParamsPatch,
140
187
  value: any,
141
188
  options: IPipeOptionsFilter,
189
+ rootOpenapi: ISchemaObjectExtensionField | undefined,
142
190
  ) {
143
191
  if (__FieldsSystem.includes(key)) return;
144
- const fieldSchema = ZodMetadata.getFieldSchema(options.schema, key);
145
- if (!fieldSchema) return;
146
- const fieldSchemaInner = ZodMetadata.unwrapChained(fieldSchema);
147
- // openapi
148
- const openapi: ISchemaObjectExtensionField | undefined = ZodMetadata.getOpenapiMetadata(
149
- fieldSchema,
150
- ) as ISchemaObjectExtensionField | undefined;
151
- const [transformName] = openapi?.filter?.transform ?? ['a-web:base', undefined];
192
+ const info = this._resolveField(key, options, rootOpenapi);
193
+ if (!info) return;
194
+ const { fieldSchema, fieldSchemaInner, openapi, originalName, fullName, joinInfo } = info;
195
+ const [transformName, transformOptions] = openapi?.filter?.transform ?? [
196
+ 'a-web:base',
197
+ undefined,
198
+ ];
152
199
  const fieldNullable = fieldValue === null && isNullableSchema(fieldSchema);
153
200
  if (isNilOrEmptyString(fieldValue) && !fieldNullable) return;
154
- // name
155
- const originalName = openapi?.filter?.originalName ?? key;
156
- let fullName: string;
157
- // joins
158
- let joinInfo;
159
- if (openapi?.filter?.joinOn) {
160
- const joinType = openapi.filter.joinType ?? 'innerJoin';
161
- const joinTable = openapi.filter.table;
162
- const joinOn = openapi.filter.joinOn;
163
- joinInfo = [joinType, joinTable, joinOn];
164
- fullName = `${joinTable}.${originalName}`;
165
- } else {
166
- fullName = originalName;
167
- }
168
201
  // check where
169
202
  if (Object.prototype.hasOwnProperty.call(params.where, fullName)) return;
170
203
  // filter transform
171
- const [, transformOptions] = openapi?.filter?.transform ?? ['a-web:base', undefined];
172
204
  const transformOptions2 = this.bean.onion.filterTransform.getOnionOptionsDynamic(
173
205
  transformName as keyof IFilterTransformRecord,
174
206
  transformOptions,
@@ -182,7 +214,7 @@ export class PipeFilter
182
214
  if (!beanInstance.where) {
183
215
  throw new Error(`filterTransform.where not found: ${beanFullName}`);
184
216
  }
185
- const info = {
217
+ const transformInfo = {
186
218
  params,
187
219
  query: value,
188
220
  options,
@@ -194,17 +226,12 @@ export class PipeFilter
194
226
  schema: fieldSchema,
195
227
  openapi,
196
228
  };
197
- const resTransform = await beanInstance.where(info, transformOptions2);
229
+ const resTransform = await beanInstance.where(transformInfo, transformOptions2);
198
230
  if (resTransform !== undefined) {
199
231
  // where
200
232
  params.where[fullName] = resTransform;
201
233
  // join
202
- if (joinInfo) {
203
- if (!params.joins) params.joins = [];
204
- if (params.joins.findIndex(item => item[1] === joinInfo.joinTable) === -1) {
205
- params.joins.push(joinInfo);
206
- }
207
- }
234
+ this._addJoin(params, joinInfo);
208
235
  }
209
236
  }
210
237
 
@@ -212,10 +239,11 @@ export class PipeFilter
212
239
  params: TypeQueryParamsPatch,
213
240
  value: any,
214
241
  options: IPipeOptionsFilter,
242
+ rootOpenapi: ISchemaObjectExtensionField | undefined,
215
243
  ) {
216
244
  // loop
217
245
  for (const key in value) {
218
- await this._transformField(key, value[key], params, value, options);
246
+ await this._transformField(key, value[key], params, value, options, rootOpenapi);
219
247
  }
220
248
  }
221
249
  }
@@ -67,6 +67,10 @@ function User(...schemaLikes: SchemaLike[]): ParameterDecorator {
67
67
  return createPipesArgumentDecorator('user')(undefined, ...schemaLikes);
68
68
  }
69
69
 
70
+ function RbacScopeCurrent(): ParameterDecorator {
71
+ return createPipesArgumentDecorator('rbacScopeCurrent')();
72
+ }
73
+
70
74
  function ArgFilter(schemaLike: z.ZodType | Constructable): any {
71
75
  return function (target: object, prop: MetadataKey | undefined, index: number) {
72
76
  const schema = $schema(schemaLike as any);
@@ -84,5 +88,6 @@ export const Arg = {
84
88
  files: Files,
85
89
  file: File,
86
90
  user: User,
91
+ rbacScopeCurrent: RbacScopeCurrent,
87
92
  filter: ArgFilter,
88
93
  };
@@ -21,7 +21,9 @@ export function createPipesArgumentDecorator(
21
21
 
22
22
  const paramtypes = appMetadata.getMetadata<any[]>('design:paramtypes', target, prop)!;
23
23
  let metaType;
24
- if (paramType === 'file') {
24
+ if (paramType === 'rbacScopeCurrent') {
25
+ metaType = undefined;
26
+ } else if (paramType === 'file') {
25
27
  metaType = z.string().openapi({ format: 'binary' });
26
28
  } else if (paramType === 'files') {
27
29
  metaType = z.array(z.string().openapi({ format: 'binary' }));
@@ -33,6 +33,11 @@ export function exchangeKeyForValue(
33
33
  ip: () => req.ip,
34
34
  rawBody: () => req.rawBody,
35
35
  user: () => ctx.app.bean.passport.currentUser,
36
+ rbacScopeCurrent: async () => {
37
+ const rbacScope = ctx.app.bean.rbacScope;
38
+ if (!rbacScope) ctx.app.throw(403);
39
+ return await rbacScope.current();
40
+ },
36
41
  fields: () => {
37
42
  const uploadValue: IUploadValue = ctx[SymbolUploadValue];
38
43
  if (!uploadValue) throw new Error('should use interceptor: a-upload:upload');
@@ -1,5 +1,6 @@
1
1
  import type { OmitNever } from 'vona';
2
2
  import type { ServiceOnion, TypeOnionOptionsEnableSimple } from 'vona-module-a-onion';
3
+ import type { IOpenapiOptions } from 'vona-module-a-openapiutils';
3
4
 
4
5
  export interface IApiPathRecordMethodMap {
5
6
  get: IApiPathGetRecord;
@@ -26,6 +27,8 @@ export interface IControllerRecord {}
26
27
 
27
28
  export interface IDecoratorControllerOptions extends TypeOnionOptionsEnableSimple {
28
29
  path?: string;
30
+ description?: IOpenapiOptions['description'];
31
+ summary?: IOpenapiOptions['summary'];
29
32
  exclude?: boolean;
30
33
  tags?: string[];
31
34
  }