anncic-api 3.7.18 → 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.
- package/dist/config/config.default.js +51 -1
- package/dist/config/config.local.js +10 -1
- package/dist/config/config.production.js +7 -1
- package/dist/configuration.js +292 -1
- package/dist/decorator/Action.js +200 -1
- package/dist/decorator/ActionApitest.js +25 -1
- package/dist/decorator/Intercept.js +30 -1
- package/dist/exception/ApiError.js +46 -1
- package/dist/helper/getAppsConfig.js +10 -1
- package/dist/helper/getRoutes.js +219 -1
- package/dist/helper/getSwaggerJson.js +419 -1
- package/dist/index.js +69 -1
- package/dist/service/ApiService.js +82 -1
- package/dist/service/ApitestService.js +137 -1
- package/dist/service/ExcelService.js +162 -1
- package/dist/service/ExcelStream.js +221 -1
- package/dist/types/action.js +11 -1
- package/dist/types/common.js +33 -1
- package/dist/types/intercept.js +8 -1
- package/package.json +8 -8
package/dist/helper/getRoutes.js
CHANGED
|
@@ -1 +1,219 @@
|
|
|
1
|
-
function a9_0x1a05(){const _0x4a9fce=['Boolean','routerOptions','min','INJECT_CUSTOM_PARAM','concat','(((.+)+)+)+$','Object','path','@anncic-api/validator','header','routerName','flags.label','HEADERS','properties','QUERY','propertyData','filter','intercept','getClassMetadata','648732bLLlar','FILESSTREAM','args','method','apply','BODY','filepath','166325ptAgLe','children','@midwayjs/core','ACTION_ROUTE_KEY','allow','constructor','iterator','RouteParamTypes','prefix','lodash','rules','4BLpJky','route','getMethodParamTypes','PARAM','flags.presence','File','parameterIndex','find','object','WEB_ROUTER_PARAM_KEY','describe','required','metadata','文件上传-','join','response','string','substring','static/apitest','486108ycfhyV','limit','title','1295400BBPOVZ','default','boolean','get','pprefix','items','startsWith','request','keys','split','key','body','query','RULES_KEY','../types/action','defineProperty','getClassExtendedMetadata','errors','file','toString','number','format','indexOf','3RStwJs','function','max','endsWith','884255GdTxaq','routes','summary','push','type','/static/apitest','isArray','__esModule','replace','description','1183902ueANCV','search','length','ACTION_KEY','module','373732ZQcJht','listModule'];a9_0x1a05=function(){return _0x4a9fce;};return a9_0x1a05();}const a9_0x3c2853=a9_0x7706;(function(_0x521623,_0x47a762){const _0x3c21cb=a9_0x7706,_0x5ee46b=_0x521623();while(!![]){try{const _0x601dd0=parseInt(_0x3c21cb(0x205))/0x1+-parseInt(_0x3c21cb(0x1e9))/0x2*(-parseInt(_0x3c21cb(0x23d))/0x3)+parseInt(_0x3c21cb(0x210))/0x4*(-parseInt(_0x3c21cb(0x241))/0x5)+-parseInt(_0x3c21cb(0x1e4))/0x6+-parseInt(_0x3c21cb(0x1fe))/0x7+parseInt(_0x3c21cb(0x226))/0x8+parseInt(_0x3c21cb(0x223))/0x9;if(_0x601dd0===_0x47a762)break;else _0x5ee46b['push'](_0x5ee46b['shift']());}catch(_0x36499e){_0x5ee46b['push'](_0x5ee46b['shift']());}}}(a9_0x1a05,0x18f8c));const a9_0xe5c171=(function(){let _0x275c0c=!![];return function(_0x351d2e,_0x94904f){const _0x5eca50=_0x275c0c?function(){const _0x3ba585=a9_0x7706;if(_0x94904f){const _0x171c0f=_0x94904f[_0x3ba585(0x202)](_0x351d2e,arguments);return _0x94904f=null,_0x171c0f;}}:function(){};return _0x275c0c=![],_0x5eca50;};}()),a9_0xd5b4c7=a9_0xe5c171(this,function(){const _0x3d2bfb=a9_0x7706;return a9_0xd5b4c7['toString']()['search']('(((.+)+)+)+$')[_0x3d2bfb(0x239)]()[_0x3d2bfb(0x20a)](a9_0xd5b4c7)[_0x3d2bfb(0x1e5)](_0x3d2bfb(0x1f0));});a9_0xd5b4c7();'use strict';Object[a9_0x3c2853(0x235)](exports,a9_0x3c2853(0x1e1),{'value':!![]}),exports['getRoutes']=getRoutes;const lodash_1=require(a9_0x3c2853(0x20e)),validator_1=require(a9_0x3c2853(0x1f3)),core_1=require(a9_0x3c2853(0x207)),core_2=require(a9_0x3c2853(0x207)),core_3=require(a9_0x3c2853(0x207)),action_1=require(a9_0x3c2853(0x234));function a9_0x7706(_0x5af16d,_0x458f74){const _0xd7af54=a9_0x1a05();return a9_0x7706=function(_0xd5b4c7,_0xe5c171){_0xd5b4c7=_0xd5b4c7-0x1e1;let _0x1a0559=_0xd7af54[_0xd5b4c7];return _0x1a0559;},a9_0x7706(_0x5af16d,_0x458f74);}function getRoutes(_0x51513f={'prefix':'/','module':![]}){const _0x5eab84=a9_0x3c2853;var _0x3d9092,_0xf990b6;const _0x3afeb8=(0x0,core_3[_0x5eab84(0x1ea)])(action_1[_0x5eab84(0x1e7)]),_0x1381af={},_0x409bd3=Array[_0x5eab84(0x247)](_0x51513f[_0x5eab84(0x1fb)]||[])?_0x51513f[_0x5eab84(0x1fb)]||[]:[_0x51513f['filter']];_0x58d65a:for(const _0x53589a of _0x3afeb8){let _0x452411=(0x0,core_3[_0x5eab84(0x1fd)])(action_1[_0x5eab84(0x1e7)],_0x53589a),_0x1bfede=(0x0,core_3[_0x5eab84(0x1fd)])(action_1[_0x5eab84(0x208)],_0x53589a);if(_0x452411&&_0x1bfede){let _0x395108=_0x452411[_0x5eab84(0x20d)],_0x1d0653={};if(_0x51513f['module']&&(0x0,lodash_1[_0x5eab84(0x229)])(_0x452411,_0x5eab84(0x1e8),![])!=_0x51513f[_0x5eab84(0x1e8)])continue _0x58d65a;else{if(_0x51513f[_0x5eab84(0x1e8)]===![]&&!!(0x0,lodash_1['get'])(_0x452411,_0x5eab84(0x1e8),null))continue _0x58d65a;}if(_0x51513f['prefix']&&!_0x395108[_0x5eab84(0x22c)](_0x51513f['prefix']))continue _0x58d65a;_0x395108!=='/'?(_0x1d0653[_0x5eab84(0x243)]=(_0x452411===null||_0x452411===void 0x0?void 0x0:_0x452411['routerOptions']['tagName'])||(/^\//['test'](_0x395108)?_0x395108[_0x5eab84(0x22f)]('/')[0x1]:_0x395108),_0x1d0653[_0x5eab84(0x1e3)]=(_0x452411===null||_0x452411===void 0x0?void 0x0:_0x452411[_0x5eab84(0x1ec)]['description'])||_0x1d0653['summary'],_0x1d0653[_0x5eab84(0x242)]=[]):(_0x1d0653[_0x5eab84(0x243)]=(_0x452411===null||_0x452411===void 0x0?void 0x0:_0x452411[_0x5eab84(0x1ec)]['tagName'])||_0x5eab84(0x227),_0x1d0653[_0x5eab84(0x1e3)]=(_0x452411===null||_0x452411===void 0x0?void 0x0:_0x452411['routerOptions']['description'])||'',_0x1d0653[_0x5eab84(0x242)]=[]);_0x51513f[_0x5eab84(0x204)]&&(_0x1d0653['filepath']=_0x452411===null||_0x452411===void 0x0?void 0x0:_0x452411[_0x5eab84(0x204)]);(_0x452411===null||_0x452411===void 0x0?void 0x0:_0x452411['pprefix'])&&(_0x1d0653[_0x5eab84(0x20d)]=_0x452411[_0x5eab84(0x22a)]);(_0x452411===null||_0x452411===void 0x0?void 0x0:_0x452411['module'])&&(_0x1d0653['module']=_0x452411[_0x5eab84(0x1e8)]);let _0x1e1ab2=(0x0,core_3[_0x5eab84(0x1fd)])(core_2[_0x5eab84(0x1ee)],_0x53589a)||{};if(typeof _0x1bfede[Symbol[_0x5eab84(0x20b)]]==='function')for(let _0x19a2b4 of _0x1bfede){if((_0x51513f===null||_0x51513f===void 0x0?void 0x0:_0x51513f[_0x5eab84(0x1fc)])&&!(_0x19a2b4===null||_0x19a2b4===void 0x0?void 0x0:_0x19a2b4['intercept']))continue;let _0x52327b={};_0x52327b[_0x5eab84(0x201)]=_0x19a2b4['requestMethod'],_0x52327b[_0x5eab84(0x211)]=(_0x395108+_0x19a2b4[_0x5eab84(0x1f2)])[_0x5eab84(0x1e2)](/\/{2,}/g,'/'),_0x52327b[_0x5eab84(0x243)]=(_0x19a2b4===null||_0x19a2b4===void 0x0?void 0x0:_0x19a2b4[_0x5eab84(0x1f5)])||_0x1d0653[_0x5eab84(0x243)]||_0x5eab84(0x227),_0x52327b[_0x5eab84(0x1e3)]=(_0x19a2b4===null||_0x19a2b4===void 0x0?void 0x0:_0x19a2b4[_0x5eab84(0x1e3)])||'',_0x52327b['request']=[],_0x52327b[_0x5eab84(0x21f)]=getMethodResponse(_0x53589a,_0x19a2b4[_0x5eab84(0x201)]);_0x52327b[_0x5eab84(0x211)][_0x5eab84(0x240)]('/')&&(_0x52327b['route']=_0x52327b[_0x5eab84(0x211)][_0x5eab84(0x221)](0x0,_0x52327b[_0x5eab84(0x211)][_0x5eab84(0x1e6)]-0x1));if(!(0x0,lodash_1['startsWith'])(_0x52327b['route'],_0x5eab84(0x222))&&!(0x0,lodash_1['startsWith'])(_0x52327b['route'],_0x5eab84(0x246))&&_0x409bd3[_0x5eab84(0x23c)](_0x52327b[_0x5eab84(0x211)])===-0x1){if(!(_0x51513f===null||_0x51513f===void 0x0?void 0x0:_0x51513f['noreq'])){let _0x387e71=(0x0,core_3[_0x5eab84(0x212)])(new _0x53589a(),_0x19a2b4[_0x5eab84(0x201)]);for(const _0x47a436 in _0x387e71){let _0x2d2d94=(_0x3d9092=_0x1e1ab2[_0x19a2b4['method']])===null||_0x3d9092===void 0x0?void 0x0:_0x3d9092[_0x5eab84(0x217)](_0x44b039=>_0x44b039['parameterIndex']==_0x47a436&&_0x44b039[_0x5eab84(0x230)]===core_2[_0x5eab84(0x219)]&&(_0x44b039===null||_0x44b039===void 0x0?void 0x0:_0x44b039[_0x5eab84(0x21c)]));if(_0x2d2d94===null||_0x2d2d94===void 0x0?void 0x0:_0x2d2d94[_0x5eab84(0x21c)]){let _0x46aed3=convertTypeToString(_0x2d2d94['metadata'][_0x5eab84(0x245)]||0x0);if(['query',_0x5eab84(0x231)][_0x5eab84(0x23c)](_0x46aed3)!=-0x1&&_0x2d2d94[_0x5eab84(0x21c)][_0x5eab84(0x1fa)][_0x5eab84(0x23c)](':')==-0x1&&!_0x52327b[_0x5eab84(0x22d)][_0x5eab84(0x217)](_0x285079=>_0x285079['key']==_0x2d2d94['metadata']['propertyData']))_0x52327b[_0x5eab84(0x22d)][_0x5eab84(0x244)]({'key':_0x2d2d94['metadata']['propertyData'],'title':_0x2d2d94[_0x5eab84(0x21c)][_0x5eab84(0x1fa)],'type':convertSchemaType(_0x387e71[_0x2d2d94[_0x5eab84(0x216)]]['name']),'required':![],'default':'','desc':''});else{if(_0x46aed3==_0x5eab84(0x238)){let _0x4be4ac=((_0xf990b6=_0x2d2d94===null||_0x2d2d94===void 0x0?void 0x0:_0x2d2d94['metadata'])===null||_0xf990b6===void 0x0?void 0x0:_0xf990b6[_0x5eab84(0x1fa)])||_0x5eab84(0x238);_0x4be4ac[_0x5eab84(0x23c)](':')==-0x1&&!_0x52327b['request'][_0x5eab84(0x217)](_0x1f954=>_0x1f954[_0x5eab84(0x230)]==_0x4be4ac&&_0x1f954[_0x5eab84(0x245)]=='file')&&_0x52327b[_0x5eab84(0x22d)][_0x5eab84(0x244)]({'key':_0x4be4ac,'title':_0x5eab84(0x21d)+_0x4be4ac,'type':'file','required':!![],'default':'','desc':''});}}}else{const _0x1ac47c=(0x0,core_3[_0x5eab84(0x236)])(validator_1[_0x5eab84(0x233)],_0x387e71[_0x47a436]);_0x1ac47c&&_0x52327b['request'][_0x5eab84(0x244)](...getJoiRequest(_0x1ac47c));}}}_0x1d0653[_0x5eab84(0x242)][_0x5eab84(0x244)](_0x52327b);}}if(_0x1d0653[_0x5eab84(0x242)][_0x5eab84(0x1e6)]>0x0){let _0x2e64a2=_0x1381af[_0x395108];_0x2e64a2?(_0x2e64a2['summary']!=_0x1d0653[_0x5eab84(0x243)]&&(_0x2e64a2[_0x5eab84(0x243)]=_0x2e64a2[_0x5eab84(0x243)]+','+_0x1d0653[_0x5eab84(0x243)]),_0x2e64a2['description']!=_0x1d0653[_0x5eab84(0x1e3)]&&(_0x2e64a2[_0x5eab84(0x1e3)]=_0x2e64a2[_0x5eab84(0x1e3)]+','+_0x1d0653[_0x5eab84(0x1e3)]),_0x2e64a2[_0x5eab84(0x242)]=_0x2e64a2[_0x5eab84(0x242)][_0x5eab84(0x1ef)](_0x1d0653['routes']),_0x1381af[_0x395108]=_0x2e64a2):_0x1381af[_0x395108]=_0x1d0653;}}}return _0x1381af;}function getJoiRequest(_0x32012a){const _0x1f811d=a9_0x3c2853;var _0x581a5d,_0x113f6f;const _0x26d566=[];for(let _0x5d8048 in _0x32012a){const _0x3671fd={'title':'','key':'','type':'','description':'','rules':{},'children':[]},_0x3e246e=typeof _0x32012a[_0x5d8048]['describe']==_0x1f811d(0x23e)?_0x32012a[_0x5d8048][_0x1f811d(0x21a)]():_0x32012a[_0x5d8048];_0x3671fd[_0x1f811d(0x230)]=_0x5d8048,_0x3671fd['type']=_0x3e246e[_0x1f811d(0x245)],_0x3671fd[_0x1f811d(0x225)]=(0x0,lodash_1['get'])(_0x3e246e,_0x1f811d(0x1f6),_0x5d8048),_0x3671fd['default']=(0x0,lodash_1[_0x1f811d(0x229)])(_0x3e246e,'flags.default',''),_0x3671fd[_0x1f811d(0x21b)]=(0x0,lodash_1['get'])(_0x3e246e,_0x1f811d(0x214),'')==_0x1f811d(0x21b),_0x3671fd[_0x1f811d(0x1e3)]=(0x0,lodash_1[_0x1f811d(0x229)])(_0x3e246e,'flags.description','');if(_0x3e246e['type']==_0x1f811d(0x218))(_0x3e246e===null||_0x3e246e===void 0x0?void 0x0:_0x3e246e[_0x1f811d(0x22e)])&&(_0x3671fd[_0x1f811d(0x206)]=getJoiRequest(_0x3e246e['keys']));else _0x3e246e[_0x1f811d(0x245)]=='array'&&_0x3e246e[_0x1f811d(0x22b)]&&Array[_0x1f811d(0x247)](_0x3e246e[_0x1f811d(0x22b)])&&(((_0x113f6f=(_0x581a5d=_0x3e246e===null||_0x3e246e===void 0x0?void 0x0:_0x3e246e[_0x1f811d(0x22b)])===null||_0x581a5d===void 0x0?void 0x0:_0x581a5d[0x0])===null||_0x113f6f===void 0x0?void 0x0:_0x113f6f['keys'])&&(_0x3671fd[_0x1f811d(0x206)]=getJoiRequest(_0x3e246e[_0x1f811d(0x22b)][0x0][_0x1f811d(0x22e)])));_0x3e246e['allow']&&Array[_0x1f811d(0x247)](_0x3e246e[_0x1f811d(0x209)])&&_0x3e246e[_0x1f811d(0x209)][_0x1f811d(0x1e6)]>0x0&&(_0x3671fd[_0x1f811d(0x1e3)]='只允许:['+_0x3e246e[_0x1f811d(0x209)][_0x1f811d(0x21e)](',')+'];'+_0x3671fd['description']);if(_0x3671fd[_0x1f811d(0x230)]&&_0x3671fd[_0x1f811d(0x245)]){const _0x1ad332={};for(const _0x1415d2 of _0x3e246e[_0x1f811d(0x20f)]||[]){if(_0x1415d2['name']===_0x1f811d(0x1ed)&&_0x1415d2[_0x1f811d(0x200)])_0x1ad332[_0x1f811d(0x1ed)]=_0x1415d2[_0x1f811d(0x200)][_0x1f811d(0x224)];else _0x1415d2['name']===_0x1f811d(0x23f)&&(_0x1ad332[_0x1f811d(0x23f)]=_0x1415d2[_0x1f811d(0x200)][_0x1f811d(0x224)]);}_0x3671fd[_0x1f811d(0x20f)]=_0x1ad332;}_0x3671fd[_0x1f811d(0x230)]&&_0x3671fd[_0x1f811d(0x225)]&&_0x26d566[_0x1f811d(0x244)](_0x3671fd);}return _0x26d566;}function convertSchemaType(_0x5abc0a){const _0x2f4745=a9_0x3c2853;switch(_0x5abc0a){case _0x2f4745(0x1f1):return'object';case _0x2f4745(0x1eb):return _0x2f4745(0x228);case'Number':return _0x2f4745(0x23a);case'String':return _0x2f4745(0x220);case _0x2f4745(0x215):return _0x2f4745(0x238);default:return'string';}}function convertTypeToString(_0x1f6326){const _0x1c8d07=a9_0x3c2853;switch(_0x1f6326){case core_1[_0x1c8d07(0x20c)][_0x1c8d07(0x1f7)]:return _0x1c8d07(0x1f4);case core_1[_0x1c8d07(0x20c)][_0x1c8d07(0x1f9)]:return _0x1c8d07(0x232);case core_1['RouteParamTypes'][_0x1c8d07(0x213)]:return _0x1c8d07(0x1f2);case core_1[_0x1c8d07(0x20c)][_0x1c8d07(0x203)]:return _0x1c8d07(0x231);case core_1[_0x1c8d07(0x20c)]['FIELDS']:case core_1['RouteParamTypes'][_0x1c8d07(0x1ff)]:case core_1['RouteParamTypes']['FILESTREAM']:return _0x1c8d07(0x238);default:return _0x1c8d07(0x1f4);}}function getMethodResponse(_0x2b2aff,_0x41fb6d){const _0x2bc30e=a9_0x3c2853,_0x52fa8c=(0x0,core_3[_0x2bc30e(0x1fd)])(action_1['ACTION_RESPONSE_KEY'],_0x2b2aff);if(!_0x52fa8c)return null;const _0x2041a2=_0x52fa8c[_0x2bc30e(0x217)](_0xc0cc39=>_0xc0cc39[_0x2bc30e(0x201)]===_0x41fb6d);if(!_0x2041a2)return null;return{'format':_0x2041a2[_0x2bc30e(0x23b)]||_0x2bc30e(0x227),'type':_0x2041a2[_0x2bc30e(0x245)],'description':_0x2041a2[_0x2bc30e(0x1e3)]||'','properties':_0x2041a2[_0x2bc30e(0x1f8)]||[],'errors':_0x2041a2[_0x2bc30e(0x237)]||[]};}
|
|
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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
|