anncic-api 3.7.17 → 3.7.19

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,219 @@
1
- const a9_0x48831f=a9_0x3232;(function(_0x4286d9,_0xfa1b09){const _0x422d7b=a9_0x3232,_0x39fab1=_0x4286d9();while(!![]){try{const _0x40e87d=parseInt(_0x422d7b(0x18f))/0x1+-parseInt(_0x422d7b(0x16d))/0x2*(parseInt(_0x422d7b(0x1a0))/0x3)+-parseInt(_0x422d7b(0x1a6))/0x4*(parseInt(_0x422d7b(0x1b6))/0x5)+-parseInt(_0x422d7b(0x15a))/0x6+-parseInt(_0x422d7b(0x179))/0x7+parseInt(_0x422d7b(0x16a))/0x8*(parseInt(_0x422d7b(0x153))/0x9)+parseInt(_0x422d7b(0x167))/0xa;if(_0x40e87d===_0xfa1b09)break;else _0x39fab1['push'](_0x39fab1['shift']());}catch(_0x1faf1f){_0x39fab1['push'](_0x39fab1['shift']());}}}(a9_0x5211,0xd9e37));const a9_0x4a7915=(function(){let _0x52e731=!![];return function(_0x55c783,_0x52e4a4){const _0x4f42f4=_0x52e731?function(){const _0x5ce8e8=a9_0x3232;if(_0x52e4a4){const _0x2bfe1=_0x52e4a4[_0x5ce8e8(0x17c)](_0x55c783,arguments);return _0x52e4a4=null,_0x2bfe1;}}:function(){};return _0x52e731=![],_0x4f42f4;};}()),a9_0x477585=a9_0x4a7915(this,function(){const _0x1334dc=a9_0x3232;return a9_0x477585['toString']()['search'](_0x1334dc(0x198))[_0x1334dc(0x163)]()[_0x1334dc(0x180)](a9_0x477585)[_0x1334dc(0x173)](_0x1334dc(0x198));});a9_0x477585();'use strict';Object[a9_0x48831f(0x1a5)](exports,'__esModule',{'value':!![]}),exports[a9_0x48831f(0x157)]=getRoutes;const lodash_1=require(a9_0x48831f(0x14b)),validator_1=require(a9_0x48831f(0x172)),core_1=require(a9_0x48831f(0x152)),core_2=require('@midwayjs/core'),core_3=require(a9_0x48831f(0x152)),action_1=require(a9_0x48831f(0x186));function a9_0x3232(_0x2b341b,_0x4a0f8a){const _0x495ee0=a9_0x5211();return a9_0x3232=function(_0x477585,_0x4a7915){_0x477585=_0x477585-0x14b;let _0x5211d1=_0x495ee0[_0x477585];return _0x5211d1;},a9_0x3232(_0x2b341b,_0x4a0f8a);}function getRoutes(_0x353a9b={'prefix':'/','module':![]}){const _0x38d35d=a9_0x48831f;var _0x542be7,_0x6103af;const _0x1e21c6=(0x0,core_3[_0x38d35d(0x166)])(action_1[_0x38d35d(0x1ab)]),_0x303eac={},_0xd441f6=Array['isArray'](_0x353a9b[_0x38d35d(0x1a2)]||[])?_0x353a9b['filter']||[]:[_0x353a9b[_0x38d35d(0x1a2)]];_0xe93aac:for(const _0x1700db of _0x1e21c6){let _0x597471=(0x0,core_3[_0x38d35d(0x1a1)])(action_1[_0x38d35d(0x1ab)],_0x1700db),_0x515364=(0x0,core_3[_0x38d35d(0x1a1)])(action_1[_0x38d35d(0x189)],_0x1700db);if(_0x597471&&_0x515364){let _0x4d388a=_0x597471['prefix'],_0x253dad={};if(_0x353a9b[_0x38d35d(0x1a8)]&&(0x0,lodash_1[_0x38d35d(0x150)])(_0x597471,_0x38d35d(0x1a8),![])!=_0x353a9b['module'])continue _0xe93aac;else{if(_0x353a9b[_0x38d35d(0x1a8)]===![]&&!!(0x0,lodash_1[_0x38d35d(0x150)])(_0x597471,_0x38d35d(0x1a8),null))continue _0xe93aac;}if(_0x353a9b['prefix']&&!_0x4d388a[_0x38d35d(0x14c)](_0x353a9b[_0x38d35d(0x188)]))continue _0xe93aac;_0x4d388a!=='/'?(_0x253dad[_0x38d35d(0x197)]=(_0x597471===null||_0x597471===void 0x0?void 0x0:_0x597471[_0x38d35d(0x16f)]['tagName'])||(/^\//[_0x38d35d(0x19b)](_0x4d388a)?_0x4d388a[_0x38d35d(0x14d)]('/')[0x1]:_0x4d388a),_0x253dad[_0x38d35d(0x177)]=(_0x597471===null||_0x597471===void 0x0?void 0x0:_0x597471[_0x38d35d(0x16f)]['description'])||_0x253dad[_0x38d35d(0x197)],_0x253dad[_0x38d35d(0x195)]=[]):(_0x253dad[_0x38d35d(0x197)]=(_0x597471===null||_0x597471===void 0x0?void 0x0:_0x597471[_0x38d35d(0x16f)][_0x38d35d(0x15b)])||_0x38d35d(0x174),_0x253dad[_0x38d35d(0x177)]=(_0x597471===null||_0x597471===void 0x0?void 0x0:_0x597471['routerOptions'][_0x38d35d(0x177)])||'',_0x253dad[_0x38d35d(0x195)]=[]);_0x353a9b[_0x38d35d(0x17e)]&&(_0x253dad['filepath']=_0x597471===null||_0x597471===void 0x0?void 0x0:_0x597471[_0x38d35d(0x17e)]);(_0x597471===null||_0x597471===void 0x0?void 0x0:_0x597471[_0x38d35d(0x17a)])&&(_0x253dad['prefix']=_0x597471[_0x38d35d(0x17a)]);(_0x597471===null||_0x597471===void 0x0?void 0x0:_0x597471[_0x38d35d(0x1a8)])&&(_0x253dad[_0x38d35d(0x1a8)]=_0x597471[_0x38d35d(0x1a8)]);let _0x2bce0c=(0x0,core_3[_0x38d35d(0x1a1)])(core_2['INJECT_CUSTOM_PARAM'],_0x1700db)||{};if(typeof _0x515364[Symbol['iterator']]===_0x38d35d(0x18e))for(let _0x14db3f of _0x515364){if((_0x353a9b===null||_0x353a9b===void 0x0?void 0x0:_0x353a9b['intercept'])&&!(_0x14db3f===null||_0x14db3f===void 0x0?void 0x0:_0x14db3f[_0x38d35d(0x1b5)]))continue;let _0x3516d4={};_0x3516d4[_0x38d35d(0x155)]=_0x14db3f[_0x38d35d(0x199)],_0x3516d4[_0x38d35d(0x187)]=(_0x4d388a+_0x14db3f[_0x38d35d(0x15d)])['replace'](/\/{2,}/g,'/'),_0x3516d4['summary']=(_0x14db3f===null||_0x14db3f===void 0x0?void 0x0:_0x14db3f[_0x38d35d(0x181)])||_0x253dad[_0x38d35d(0x197)]||_0x38d35d(0x174),_0x3516d4[_0x38d35d(0x177)]=(_0x14db3f===null||_0x14db3f===void 0x0?void 0x0:_0x14db3f[_0x38d35d(0x177)])||'',_0x3516d4[_0x38d35d(0x1af)]=[],_0x3516d4[_0x38d35d(0x190)]=getMethodResponse(_0x1700db,_0x14db3f['method']);_0x3516d4[_0x38d35d(0x187)][_0x38d35d(0x164)]('/')&&(_0x3516d4[_0x38d35d(0x187)]=_0x3516d4['route'][_0x38d35d(0x14f)](0x0,_0x3516d4[_0x38d35d(0x187)][_0x38d35d(0x1a7)]-0x1));if(!(0x0,lodash_1[_0x38d35d(0x14c)])(_0x3516d4['route'],_0x38d35d(0x19d))&&!(0x0,lodash_1[_0x38d35d(0x14c)])(_0x3516d4[_0x38d35d(0x187)],_0x38d35d(0x1b1))&&_0xd441f6[_0x38d35d(0x15c)](_0x3516d4['route'])===-0x1){if(!(_0x353a9b===null||_0x353a9b===void 0x0?void 0x0:_0x353a9b['noreq'])){let _0x637dc8=(0x0,core_3[_0x38d35d(0x1a9)])(new _0x1700db(),_0x14db3f[_0x38d35d(0x155)]);for(const _0x41a8e in _0x637dc8){let _0x1b1e80=(_0x542be7=_0x2bce0c[_0x14db3f[_0x38d35d(0x155)]])===null||_0x542be7===void 0x0?void 0x0:_0x542be7[_0x38d35d(0x158)](_0x2f3fed=>_0x2f3fed[_0x38d35d(0x1b2)]==_0x41a8e&&_0x2f3fed[_0x38d35d(0x165)]===core_2[_0x38d35d(0x162)]&&(_0x2f3fed===null||_0x2f3fed===void 0x0?void 0x0:_0x2f3fed[_0x38d35d(0x16e)]));if(_0x1b1e80===null||_0x1b1e80===void 0x0?void 0x0:_0x1b1e80['metadata']){let _0x3dfed6=convertTypeToString(_0x1b1e80[_0x38d35d(0x16e)][_0x38d35d(0x16c)]||0x0);if([_0x38d35d(0x1a3),_0x38d35d(0x17f)]['indexOf'](_0x3dfed6)!=-0x1&&_0x1b1e80['metadata']['propertyData']['indexOf'](':')==-0x1&&!_0x3516d4[_0x38d35d(0x1af)][_0x38d35d(0x158)](_0x5e5f99=>_0x5e5f99[_0x38d35d(0x165)]==_0x1b1e80[_0x38d35d(0x16e)][_0x38d35d(0x1b4)]))_0x3516d4[_0x38d35d(0x1af)][_0x38d35d(0x178)]({'key':_0x1b1e80['metadata'][_0x38d35d(0x1b4)],'title':_0x1b1e80[_0x38d35d(0x16e)]['propertyData'],'type':convertSchemaType(_0x637dc8[_0x1b1e80[_0x38d35d(0x1b2)]][_0x38d35d(0x1ac)]),'required':![],'default':'','desc':''});else{if(_0x3dfed6==_0x38d35d(0x170)){let _0x563580=((_0x6103af=_0x1b1e80===null||_0x1b1e80===void 0x0?void 0x0:_0x1b1e80[_0x38d35d(0x16e)])===null||_0x6103af===void 0x0?void 0x0:_0x6103af[_0x38d35d(0x1b4)])||_0x38d35d(0x170);_0x563580[_0x38d35d(0x15c)](':')==-0x1&&!_0x3516d4[_0x38d35d(0x1af)][_0x38d35d(0x158)](_0x307b48=>_0x307b48[_0x38d35d(0x165)]==_0x563580&&_0x307b48[_0x38d35d(0x16c)]==_0x38d35d(0x170))&&_0x3516d4[_0x38d35d(0x1af)][_0x38d35d(0x178)]({'key':_0x563580,'title':_0x38d35d(0x19c)+_0x563580,'type':_0x38d35d(0x170),'required':!![],'default':'','desc':''});}}}else{const _0x383b7d=(0x0,core_3[_0x38d35d(0x1b0)])(validator_1[_0x38d35d(0x175)],_0x637dc8[_0x41a8e]);_0x383b7d&&_0x3516d4[_0x38d35d(0x1af)]['push'](...getJoiRequest(_0x383b7d));}}}_0x253dad[_0x38d35d(0x195)]['push'](_0x3516d4);}}if(_0x253dad['routes'][_0x38d35d(0x1a7)]>0x0){let _0x2452aa=_0x303eac[_0x4d388a];_0x2452aa?(_0x2452aa[_0x38d35d(0x197)]!=_0x253dad['summary']&&(_0x2452aa[_0x38d35d(0x197)]=_0x2452aa[_0x38d35d(0x197)]+','+_0x253dad[_0x38d35d(0x197)]),_0x2452aa['description']!=_0x253dad[_0x38d35d(0x177)]&&(_0x2452aa['description']=_0x2452aa[_0x38d35d(0x177)]+','+_0x253dad['description']),_0x2452aa[_0x38d35d(0x195)]=_0x2452aa[_0x38d35d(0x195)][_0x38d35d(0x16b)](_0x253dad[_0x38d35d(0x195)]),_0x303eac[_0x4d388a]=_0x2452aa):_0x303eac[_0x4d388a]=_0x253dad;}}}return _0x303eac;}function a9_0x5211(){const _0x522e03=['endsWith','key','listModule','27314010FwyxIU','limit','flags.default','9578368SCGNPZ','concat','type','198jzbzyI','metadata','routerOptions','file','PARAM','@anncic-api/validator','search','default','RULES_KEY','properties','description','push','12209617vjBqWI','pprefix','required','apply','format','filepath','body','constructor','routerName','header','HEADERS','FILESSTREAM','object','../types/action','route','prefix','ACTION_ROUTE_KEY','FIELDS','allow','RouteParamTypes','isArray','function','561940rXQgCG','response','flags.description','args','array','items','routes','flags.label','summary','(((.+)+)+)+$','requestMethod','children','test','文件上传-','static/apitest','number','Boolean','14298VEhiPG','getClassMetadata','filter','query','min','defineProperty','564xjnOKI','length','module','getMethodParamTypes','flags.presence','ACTION_KEY','name','String','errors','request','getClassExtendedMetadata','/static/apitest','parameterIndex','keys','propertyData','intercept','29020vBYPkb','lodash','startsWith','split','boolean','substring','get','Number','@midwayjs/core','9CQlmOL','File','method','string','getRoutes','find','rules','3382422WBuocG','tagName','indexOf','path','join','max','title','Object','WEB_ROUTER_PARAM_KEY','toString'];a9_0x5211=function(){return _0x522e03;};return a9_0x5211();}function getJoiRequest(_0x43813e){const _0x221307=a9_0x48831f;var _0x5ad4af,_0x540b1e;const _0x3aa597=[];for(let _0x3d0b1e in _0x43813e){const _0x290367={'title':'','key':'','type':'','description':'','rules':{},'children':[]},_0x21d6ac=typeof _0x43813e[_0x3d0b1e]['describe']==_0x221307(0x18e)?_0x43813e[_0x3d0b1e]['describe']():_0x43813e[_0x3d0b1e];_0x290367[_0x221307(0x165)]=_0x3d0b1e,_0x290367[_0x221307(0x16c)]=_0x21d6ac['type'],_0x290367['title']=(0x0,lodash_1['get'])(_0x21d6ac,_0x221307(0x196),_0x3d0b1e),_0x290367['default']=(0x0,lodash_1['get'])(_0x21d6ac,_0x221307(0x169),''),_0x290367[_0x221307(0x17b)]=(0x0,lodash_1['get'])(_0x21d6ac,_0x221307(0x1aa),'')==_0x221307(0x17b),_0x290367['description']=(0x0,lodash_1['get'])(_0x21d6ac,_0x221307(0x191),'');if(_0x21d6ac['type']==_0x221307(0x185))(_0x21d6ac===null||_0x21d6ac===void 0x0?void 0x0:_0x21d6ac[_0x221307(0x1b3)])&&(_0x290367[_0x221307(0x19a)]=getJoiRequest(_0x21d6ac['keys']));else _0x21d6ac[_0x221307(0x16c)]==_0x221307(0x193)&&_0x21d6ac[_0x221307(0x194)]&&Array[_0x221307(0x18d)](_0x21d6ac[_0x221307(0x194)])&&(((_0x540b1e=(_0x5ad4af=_0x21d6ac===null||_0x21d6ac===void 0x0?void 0x0:_0x21d6ac[_0x221307(0x194)])===null||_0x5ad4af===void 0x0?void 0x0:_0x5ad4af[0x0])===null||_0x540b1e===void 0x0?void 0x0:_0x540b1e[_0x221307(0x1b3)])&&(_0x290367[_0x221307(0x19a)]=getJoiRequest(_0x21d6ac[_0x221307(0x194)][0x0]['keys'])));_0x21d6ac['allow']&&Array[_0x221307(0x18d)](_0x21d6ac[_0x221307(0x18b)])&&_0x21d6ac[_0x221307(0x18b)][_0x221307(0x1a7)]>0x0&&(_0x290367[_0x221307(0x177)]='只允许:['+_0x21d6ac[_0x221307(0x18b)][_0x221307(0x15e)](',')+'];'+_0x290367[_0x221307(0x177)]);if(_0x290367['key']&&_0x290367[_0x221307(0x16c)]){const _0x598a04={};for(const _0x3bf952 of _0x21d6ac[_0x221307(0x159)]||[]){if(_0x3bf952[_0x221307(0x1ac)]===_0x221307(0x1a4)&&_0x3bf952[_0x221307(0x192)])_0x598a04['min']=_0x3bf952[_0x221307(0x192)][_0x221307(0x168)];else _0x3bf952[_0x221307(0x1ac)]===_0x221307(0x15f)&&(_0x598a04[_0x221307(0x15f)]=_0x3bf952[_0x221307(0x192)][_0x221307(0x168)]);}_0x290367['rules']=_0x598a04;}_0x290367['key']&&_0x290367[_0x221307(0x160)]&&_0x3aa597['push'](_0x290367);}return _0x3aa597;}function convertSchemaType(_0x19dea6){const _0x5e2844=a9_0x48831f;switch(_0x19dea6){case _0x5e2844(0x161):return _0x5e2844(0x185);case _0x5e2844(0x19f):return _0x5e2844(0x14e);case _0x5e2844(0x151):return _0x5e2844(0x19e);case _0x5e2844(0x1ad):return _0x5e2844(0x156);case _0x5e2844(0x154):return'file';default:return _0x5e2844(0x156);}}function convertTypeToString(_0x10a333){const _0x4ca374=a9_0x48831f;switch(_0x10a333){case core_1[_0x4ca374(0x18c)][_0x4ca374(0x183)]:return _0x4ca374(0x182);case core_1[_0x4ca374(0x18c)]['QUERY']:return'query';case core_1[_0x4ca374(0x18c)][_0x4ca374(0x171)]:return _0x4ca374(0x15d);case core_1['RouteParamTypes']['BODY']:return _0x4ca374(0x17f);case core_1[_0x4ca374(0x18c)][_0x4ca374(0x18a)]:case core_1[_0x4ca374(0x18c)][_0x4ca374(0x184)]:case core_1[_0x4ca374(0x18c)]['FILESTREAM']:return _0x4ca374(0x170);default:return _0x4ca374(0x182);}}function getMethodResponse(_0x34ea39,_0x58bde2){const _0x47afe8=a9_0x48831f,_0x2705fe=(0x0,core_3[_0x47afe8(0x1a1)])(action_1['ACTION_RESPONSE_KEY'],_0x34ea39);if(!_0x2705fe)return null;const _0x442b5e=_0x2705fe[_0x47afe8(0x158)](_0x2369b9=>_0x2369b9[_0x47afe8(0x155)]===_0x58bde2);if(!_0x442b5e)return null;return{'format':_0x442b5e[_0x47afe8(0x17d)]||'default','type':_0x442b5e['type'],'description':_0x442b5e[_0x47afe8(0x177)]||'','properties':_0x442b5e[_0x47afe8(0x176)]||[],'errors':_0x442b5e[_0x47afe8(0x1ae)]||[]};}
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRoutes = getRoutes;
4
+ const lodash_1 = require("lodash");
5
+ const validator_1 = require("@anncic-api/validator");
6
+ const core_1 = require("@midwayjs/core");
7
+ const core_2 = require("@midwayjs/core");
8
+ const core_3 = require("@midwayjs/core");
9
+ const action_1 = require("../types/action");
10
+ function getRoutes(filter = { prefix: '/', module: false }) {
11
+ var _a, _b;
12
+ const controllerModules = (0, core_3.listModule)(action_1.ACTION_KEY), routers = {}, filterroute = Array.isArray(filter.filter || []) ? (filter.filter || []) : [filter.filter];
13
+ excludemodule: for (const module of controllerModules) {
14
+ let controllerOption = (0, core_3.getClassMetadata)(action_1.ACTION_KEY, module);
15
+ let controllerRouter = (0, core_3.getClassMetadata)(action_1.ACTION_ROUTE_KEY, module);
16
+ if (controllerOption && controllerRouter) {
17
+ let prefix = controllerOption.prefix, routeparse = {};
18
+ if (filter.module && (0, lodash_1.get)(controllerOption, 'module', false) != filter.module) {
19
+ continue excludemodule;
20
+ }
21
+ else if (filter.module === false && !!(0, lodash_1.get)(controllerOption, 'module', null)) {
22
+ continue excludemodule;
23
+ }
24
+ if (filter.prefix && !prefix.startsWith(filter.prefix)) {
25
+ continue excludemodule;
26
+ }
27
+ if (prefix !== '/') {
28
+ routeparse['summary'] = (controllerOption === null || controllerOption === void 0 ? void 0 : controllerOption.routerOptions.tagName) || (/^\//.test(prefix) ? prefix.split('/')[1] : prefix);
29
+ routeparse['description'] = (controllerOption === null || controllerOption === void 0 ? void 0 : controllerOption.routerOptions.description) || routeparse['summary'];
30
+ routeparse['routes'] = [];
31
+ }
32
+ else {
33
+ routeparse['summary'] = (controllerOption === null || controllerOption === void 0 ? void 0 : controllerOption.routerOptions.tagName) || 'default';
34
+ routeparse['description'] = (controllerOption === null || controllerOption === void 0 ? void 0 : controllerOption.routerOptions.description) || '';
35
+ routeparse['routes'] = [];
36
+ }
37
+ if (filter.filepath) {
38
+ routeparse['filepath'] = controllerOption === null || controllerOption === void 0 ? void 0 : controllerOption.filepath;
39
+ }
40
+ if (controllerOption === null || controllerOption === void 0 ? void 0 : controllerOption.pprefix) {
41
+ routeparse['prefix'] = controllerOption.pprefix;
42
+ }
43
+ if (controllerOption === null || controllerOption === void 0 ? void 0 : controllerOption.module) {
44
+ routeparse['module'] = controllerOption.module;
45
+ }
46
+ let RouterParam = (0, core_3.getClassMetadata)(core_2.INJECT_CUSTOM_PARAM, module) || {};
47
+ if (typeof controllerRouter[Symbol.iterator] === 'function') {
48
+ for (let Router of controllerRouter) {
49
+ if ((filter === null || filter === void 0 ? void 0 : filter.intercept) && !(Router === null || Router === void 0 ? void 0 : Router.intercept)) {
50
+ continue;
51
+ }
52
+ let routerparse = {};
53
+ routerparse['method'] = Router.requestMethod;
54
+ routerparse['route'] = (prefix + Router.path).replace(/\/{2,}/g, '/');
55
+ routerparse['summary'] = (Router === null || Router === void 0 ? void 0 : Router.routerName) || routeparse['summary'] || 'default';
56
+ routerparse['description'] = (Router === null || Router === void 0 ? void 0 : Router.description) || '';
57
+ routerparse['request'] = [];
58
+ routerparse['response'] = getMethodResponse(module, Router.method);
59
+ if (routerparse['route'].endsWith('/')) {
60
+ routerparse['route'] = routerparse['route'].substring(0, routerparse['route'].length - 1);
61
+ }
62
+ if (!(0, lodash_1.startsWith)(routerparse['route'], 'static/apitest') && !(0, lodash_1.startsWith)(routerparse['route'], '/static/apitest') && filterroute.indexOf(routerparse['route']) === -1) {
63
+ if (!(filter === null || filter === void 0 ? void 0 : filter.noreq)) {
64
+ let paramTypes = (0, core_3.getMethodParamTypes)(new module, Router.method);
65
+ for (const index in paramTypes) {
66
+ let params = (_a = RouterParam[Router.method]) === null || _a === void 0 ? void 0 : _a.find(item => item.parameterIndex == index && item.key === core_2.WEB_ROUTER_PARAM_KEY && (item === null || item === void 0 ? void 0 : item.metadata));
67
+ if (params === null || params === void 0 ? void 0 : params.metadata) {
68
+ let type = convertTypeToString(params.metadata.type || 0);
69
+ if (['query', 'body'].indexOf(type) != -1 && params.metadata.propertyData.indexOf(':') == -1 && !routerparse.request.find(item => item.key == params.metadata.propertyData)) {
70
+ routerparse.request.push({
71
+ key: params.metadata.propertyData,
72
+ title: params.metadata.propertyData,
73
+ type: convertSchemaType(paramTypes[params.parameterIndex].name),
74
+ required: false,
75
+ default: "",
76
+ desc: ""
77
+ });
78
+ }
79
+ else if (type == 'file') {
80
+ let propertyData = ((_b = params === null || params === void 0 ? void 0 : params.metadata) === null || _b === void 0 ? void 0 : _b.propertyData) || 'file';
81
+ if (propertyData.indexOf(':') == -1 && !routerparse.request.find(item => item.key == propertyData && item.type == 'file')) {
82
+ routerparse.request.push({
83
+ key: propertyData,
84
+ title: `文件上传-${propertyData}`,
85
+ type: 'file',
86
+ required: true,
87
+ default: "",
88
+ desc: ""
89
+ });
90
+ }
91
+ }
92
+ }
93
+ else {
94
+ const rule = (0, core_3.getClassExtendedMetadata)(validator_1.RULES_KEY, paramTypes[index]);
95
+ if (rule) {
96
+ routerparse.request.push(...getJoiRequest(rule));
97
+ }
98
+ }
99
+ }
100
+ }
101
+ routeparse.routes.push(routerparse);
102
+ }
103
+ }
104
+ }
105
+ if (routeparse.routes.length > 0) {
106
+ let _controllerRouters = routers[prefix];
107
+ if (_controllerRouters) {
108
+ if (_controllerRouters['summary'] != routeparse['summary']) {
109
+ _controllerRouters['summary'] = _controllerRouters['summary'] + ',' + routeparse['summary'];
110
+ }
111
+ if (_controllerRouters['description'] != routeparse['description']) {
112
+ _controllerRouters['description'] = _controllerRouters['description'] + ',' + routeparse['description'];
113
+ }
114
+ _controllerRouters['routes'] = _controllerRouters['routes'].concat(routeparse.routes);
115
+ routers[prefix] = _controllerRouters;
116
+ }
117
+ else {
118
+ routers[prefix] = routeparse;
119
+ }
120
+ }
121
+ }
122
+ }
123
+ return routers;
124
+ }
125
+ function getJoiRequest(schema) {
126
+ var _a, _b;
127
+ const requests = [];
128
+ for (let property in schema) {
129
+ const request = { title: "", key: "", type: "", description: "", rules: {}, children: [] };
130
+ const describe = typeof (schema[property].describe) == 'function' ? schema[property].describe() : schema[property];
131
+ request.key = property;
132
+ request.type = describe.type;
133
+ request.title = (0, lodash_1.get)(describe, 'flags.label', property);
134
+ request.default = (0, lodash_1.get)(describe, 'flags.default', '');
135
+ request.required = (0, lodash_1.get)(describe, 'flags.presence', '') == 'required';
136
+ request.description = (0, lodash_1.get)(describe, 'flags.description', '');
137
+ if (describe.type == 'object') {
138
+ if (describe === null || describe === void 0 ? void 0 : describe.keys) {
139
+ request.children = getJoiRequest(describe.keys);
140
+ }
141
+ }
142
+ else if (describe.type == 'array' && describe.items && Array.isArray(describe.items)) {
143
+ if ((_b = (_a = describe === null || describe === void 0 ? void 0 : describe.items) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.keys) {
144
+ request.children = getJoiRequest(describe.items[0].keys);
145
+ }
146
+ }
147
+ if (describe.allow && Array.isArray(describe.allow) && describe.allow.length > 0) {
148
+ request.description = `只允许:[${describe.allow.join(',')}];${request.description}`;
149
+ }
150
+ if (request.key && request.type) {
151
+ const rules = {};
152
+ for (const r of describe.rules || []) {
153
+ if (r.name === 'min' && r.args) {
154
+ rules.min = r.args.limit;
155
+ }
156
+ else if (r.name === 'max') {
157
+ rules.max = r.args.limit;
158
+ }
159
+ }
160
+ request.rules = rules;
161
+ }
162
+ if (request.key && request.title) {
163
+ requests.push(request);
164
+ }
165
+ }
166
+ return requests;
167
+ }
168
+ function convertSchemaType(value) {
169
+ switch (value) {
170
+ case 'Object':
171
+ return 'object';
172
+ case 'Boolean':
173
+ return 'boolean';
174
+ case 'Number':
175
+ return 'number';
176
+ case 'String':
177
+ return 'string';
178
+ case 'File':
179
+ return 'file';
180
+ default:
181
+ return 'string';
182
+ }
183
+ }
184
+ function convertTypeToString(type) {
185
+ switch (type) {
186
+ case core_1.RouteParamTypes.HEADERS:
187
+ return 'header';
188
+ case core_1.RouteParamTypes.QUERY:
189
+ return 'query';
190
+ case core_1.RouteParamTypes.PARAM:
191
+ return 'path';
192
+ case core_1.RouteParamTypes.BODY:
193
+ return 'body';
194
+ case core_1.RouteParamTypes.FIELDS:
195
+ case core_1.RouteParamTypes.FILESSTREAM:
196
+ case core_1.RouteParamTypes.FILESTREAM:
197
+ return 'file';
198
+ default:
199
+ return 'header';
200
+ }
201
+ }
202
+ function getMethodResponse(module, method) {
203
+ const responseMetadata = (0, core_3.getClassMetadata)(action_1.ACTION_RESPONSE_KEY, module);
204
+ if (!responseMetadata) {
205
+ return null;
206
+ }
207
+ const methodResponse = responseMetadata.find((item) => item.method === method);
208
+ if (!methodResponse) {
209
+ return null;
210
+ }
211
+ return {
212
+ format: methodResponse.format || 'default',
213
+ type: methodResponse.type,
214
+ description: methodResponse.description || '',
215
+ properties: methodResponse.properties || [],
216
+ errors: methodResponse.errors || []
217
+ };
218
+ }
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Um91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlci9nZXRSb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrQkEsOEJBaUlDO0FBbEpELG1DQUF5QztBQUN6QyxxREFBaUQ7QUFDakQseUNBQStEO0FBQy9ELHlDQUEyRTtBQUMzRSx5Q0FBNkc7QUFFN0csNENBQXFHO0FBV3JHLFNBQWdCLFNBQVMsQ0FBQyxTQUF5QixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7SUFDN0UsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLGlCQUFVLEVBQUMsbUJBQVUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMxSixhQUFhLEVBQ2IsS0FBSyxNQUFNLE1BQU0sSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3JDLElBQUksZ0JBQWdCLEdBQUcsSUFBQSx1QkFBZ0IsRUFBQyxtQkFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVELElBQUksZ0JBQWdCLEdBQXVDLElBQUEsdUJBQWdCLEVBQUMseUJBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEcsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3ZDLElBQUksTUFBTSxHQUFXLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxVQUFVLEdBQVEsRUFBRSxDQUFDO1lBQ25FLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFBLFlBQUcsRUFBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE1B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