itrm-tools 1.0.45 → 1.0.46
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/api/APIRequest.d.ts +67 -67
- package/dist/api/APIRequest.js +145 -145
- package/dist/api/APIRequest.js.map +1 -1
- package/dist/api/APIRequestBuilder.d.ts +20 -20
- package/dist/api/APIRequestBuilder.js +14 -14
- package/dist/api/APIRouter.d.ts +11 -11
- package/dist/api/APIRouter.js +21 -21
- package/dist/api/APIService.d.ts +42 -42
- package/dist/api/APIService.js +108 -108
- package/dist/api/APIService.js.map +1 -1
- package/dist/api/ExpressConfiguration.d.ts +4 -4
- package/dist/api/ExpressConfiguration.js +2 -2
- package/dist/api/HttpsAPIService.d.ts +10 -10
- package/dist/api/HttpsAPIService.js +47 -47
- package/dist/api/channel/ServerSentEventsManager.d.ts +8 -8
- package/dist/api/channel/ServerSentEventsManager.js +25 -25
- package/dist/api/check/APIChecker.d.ts +26 -26
- package/dist/api/check/APIChecker.js +40 -40
- package/dist/api/check/CheckableAPIRequest.d.ts +9 -9
- package/dist/api/check/CheckableAPIRequest.js +44 -44
- package/dist/api/check/CheckableAPIRouter.d.ts +11 -11
- package/dist/api/check/CheckableAPIRouter.js +48 -48
- package/dist/api/check/request/CheckableDeleteRequest.d.ts +8 -8
- package/dist/api/check/request/CheckableDeleteRequest.js +17 -17
- package/dist/api/check/request/CheckableFileUploadingPostRequest.d.ts +11 -11
- package/dist/api/check/request/CheckableFileUploadingPostRequest.js +22 -22
- package/dist/api/check/request/CheckableGetRequest.d.ts +8 -8
- package/dist/api/check/request/CheckableGetRequest.js +17 -17
- package/dist/api/check/request/CheckablePostRequest.d.ts +8 -8
- package/dist/api/check/request/CheckablePostRequest.js +17 -17
- package/dist/api/check/request/CheckablePutRequest.d.ts +8 -8
- package/dist/api/check/request/CheckablePutRequest.js +17 -17
- package/dist/api/check/route/SimpleCheckableAPIRouter.d.ts +7 -7
- package/dist/api/check/route/SimpleCheckableAPIRouter.js +25 -25
- package/dist/api/express/ExpressFileUploadingConfiguration.d.ts +6 -6
- package/dist/api/express/ExpressFileUploadingConfiguration.js +27 -27
- package/dist/api/express/ExpressStandardConfiguration.d.ts +11 -11
- package/dist/api/express/ExpressStandardConfiguration.js +29 -29
- package/dist/api/request/DeleteRequest.d.ts +7 -7
- package/dist/api/request/DeleteRequest.js +16 -16
- package/dist/api/request/GetRequest.d.ts +7 -7
- package/dist/api/request/GetRequest.js +16 -16
- package/dist/api/request/PostRequest.d.ts +7 -7
- package/dist/api/request/PostRequest.js +16 -16
- package/dist/api/request/PutRequest.d.ts +7 -7
- package/dist/api/request/PutRequest.js +16 -16
- package/dist/api/request/RequestAxiosCall.d.ts +7 -7
- package/dist/api/request/RequestAxiosCall.js +57 -57
- package/dist/api/request/docs/DocumentationModels.d.ts +47 -47
- package/dist/api/request/docs/DocumentationModels.js +114 -114
- package/dist/api/request/docs/DocumentationRequest.d.ts +12 -12
- package/dist/api/request/docs/DocumentationRequest.js +126 -126
- package/dist/api/route/SimpleAPIRouter.d.ts +6 -6
- package/dist/api/route/SimpleAPIRouter.js +24 -24
- package/dist/database/mongoose/MongooseModelManager.d.ts +47 -43
- package/dist/database/mongoose/MongooseModelManager.js +65 -65
- package/dist/database/mongoose/MongooseModelManager.js.map +1 -1
- package/dist/database/redis/RedisConnection.d.ts +7 -7
- package/dist/database/redis/RedisConnection.js +17 -17
- package/dist/database/redis/RedisModelManager.d.ts +10 -10
- package/dist/database/redis/RedisModelManager.js +17 -17
- package/dist/database/sequelize/SequelizeConnection.d.ts +16 -16
- package/dist/database/sequelize/SequelizeConnection.js +22 -22
- package/dist/database/sequelize/SequelizeModelManager.d.ts +26 -26
- package/dist/database/sequelize/SequelizeModelManager.js +58 -58
- package/dist/index.d.ts +31 -31
- package/dist/index.js +67 -67
- package/dist/log/Logger.d.ts +7 -7
- package/dist/log/Logger.js +28 -28
- package/dist/log/LoggerManager.d.ts +7 -7
- package/dist/log/LoggerManager.js +63 -63
- package/dist/log/LoggerWebSocket.d.ts +10 -10
- package/dist/log/LoggerWebSocket.js +15 -15
- package/dist/web3/Coin.d.ts +18 -18
- package/dist/web3/Coin.js +22 -22
- package/dist/web3/Coin.js.map +1 -1
- package/dist/web3/coingecko/CoingeckoPriceFinder.d.ts +10 -10
- package/dist/web3/coingecko/CoingeckoPriceFinder.js +88 -88
- package/package.json +25 -25
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.httpStatusCodes = exports.securityDeclaration = exports.securitySchema = exports.defaultBodySchema = exports.defaultDocumentationSchema = void 0;
|
|
4
|
-
exports.defaultDocumentationSchema = {
|
|
5
|
-
openapi: "3.0.0",
|
|
6
|
-
info: {
|
|
7
|
-
title: "Documentation",
|
|
8
|
-
version: "1.0.0",
|
|
9
|
-
description: "Documentation",
|
|
10
|
-
contact: {}
|
|
11
|
-
},
|
|
12
|
-
servers: [
|
|
13
|
-
{
|
|
14
|
-
url: "http://localhost:3000"
|
|
15
|
-
}
|
|
16
|
-
],
|
|
17
|
-
paths: {},
|
|
18
|
-
tags: [],
|
|
19
|
-
components: {},
|
|
20
|
-
security: []
|
|
21
|
-
};
|
|
22
|
-
exports.defaultBodySchema = {
|
|
23
|
-
content: {
|
|
24
|
-
"application/json": {
|
|
25
|
-
schema: {
|
|
26
|
-
type: "object",
|
|
27
|
-
properties: {}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
exports.securitySchema = {
|
|
33
|
-
"components": {
|
|
34
|
-
"securitySchemes": {
|
|
35
|
-
"bearerAuth": {
|
|
36
|
-
"type": "http",
|
|
37
|
-
"scheme": "bearer",
|
|
38
|
-
"bearerFormat": "JWT"
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
exports.securityDeclaration = {
|
|
44
|
-
"security": [
|
|
45
|
-
{
|
|
46
|
-
"bearerAuth": []
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
};
|
|
50
|
-
exports.httpStatusCodes = {
|
|
51
|
-
100: 'Continue',
|
|
52
|
-
101: 'Switching Protocols',
|
|
53
|
-
102: 'Processing',
|
|
54
|
-
103: 'Early Hints',
|
|
55
|
-
200: 'OK',
|
|
56
|
-
201: 'Created',
|
|
57
|
-
202: 'Accepted',
|
|
58
|
-
203: 'Non-Authoritative Information',
|
|
59
|
-
204: 'No Content',
|
|
60
|
-
205: 'Reset Content',
|
|
61
|
-
206: 'Partial Content',
|
|
62
|
-
207: 'Multi-Status',
|
|
63
|
-
208: 'Already Reported',
|
|
64
|
-
226: 'IM Used',
|
|
65
|
-
300: 'Multiple Choices',
|
|
66
|
-
301: 'Moved Permanently',
|
|
67
|
-
302: 'Found',
|
|
68
|
-
303: 'See Other',
|
|
69
|
-
304: 'Not Modified',
|
|
70
|
-
305: 'Use Proxy',
|
|
71
|
-
306: 'Switch Proxy',
|
|
72
|
-
307: 'Temporary Redirect',
|
|
73
|
-
308: 'Permanent Redirect',
|
|
74
|
-
400: 'Bad Request',
|
|
75
|
-
401: 'Unauthorized',
|
|
76
|
-
402: 'Payment Required',
|
|
77
|
-
403: 'Forbidden',
|
|
78
|
-
404: 'Not Found',
|
|
79
|
-
405: 'Method Not Allowed',
|
|
80
|
-
406: 'Not Acceptable',
|
|
81
|
-
407: 'Proxy Authentication Required',
|
|
82
|
-
408: 'Request Timeout',
|
|
83
|
-
409: 'Conflict',
|
|
84
|
-
410: 'Gone',
|
|
85
|
-
411: 'Length Required',
|
|
86
|
-
412: 'Precondition Failed',
|
|
87
|
-
413: 'Payload Too Large',
|
|
88
|
-
414: 'URI Too Long',
|
|
89
|
-
415: 'Unsupported Media Type',
|
|
90
|
-
416: 'Range Not Satisfiable',
|
|
91
|
-
417: 'Expectation Failed',
|
|
92
|
-
418: 'I\'m a Teapot',
|
|
93
|
-
421: 'Misdirected Request',
|
|
94
|
-
422: 'Unprocessable Entity',
|
|
95
|
-
423: 'Locked',
|
|
96
|
-
424: 'Failed Dependency',
|
|
97
|
-
425: 'Too Early',
|
|
98
|
-
426: 'Upgrade Required',
|
|
99
|
-
428: 'Precondition Required',
|
|
100
|
-
429: 'Too Many Requests',
|
|
101
|
-
431: 'Request Header Fields Too Large',
|
|
102
|
-
451: 'Unavailable For Legal Reasons',
|
|
103
|
-
500: 'Internal Server Error',
|
|
104
|
-
501: 'Not Implemented',
|
|
105
|
-
502: 'Bad Gateway',
|
|
106
|
-
503: 'Service Unavailable',
|
|
107
|
-
504: 'Gateway Timeout',
|
|
108
|
-
505: 'HTTP Version Not Supported',
|
|
109
|
-
506: 'Variant Also Negotiates',
|
|
110
|
-
507: 'Insufficient Storage',
|
|
111
|
-
508: 'Loop Detected',
|
|
112
|
-
510: 'Not Extended',
|
|
113
|
-
511: 'Network Authentication Required'
|
|
114
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.httpStatusCodes = exports.securityDeclaration = exports.securitySchema = exports.defaultBodySchema = exports.defaultDocumentationSchema = void 0;
|
|
4
|
+
exports.defaultDocumentationSchema = {
|
|
5
|
+
openapi: "3.0.0",
|
|
6
|
+
info: {
|
|
7
|
+
title: "Documentation",
|
|
8
|
+
version: "1.0.0",
|
|
9
|
+
description: "Documentation",
|
|
10
|
+
contact: {}
|
|
11
|
+
},
|
|
12
|
+
servers: [
|
|
13
|
+
{
|
|
14
|
+
url: "http://localhost:3000"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
paths: {},
|
|
18
|
+
tags: [],
|
|
19
|
+
components: {},
|
|
20
|
+
security: []
|
|
21
|
+
};
|
|
22
|
+
exports.defaultBodySchema = {
|
|
23
|
+
content: {
|
|
24
|
+
"application/json": {
|
|
25
|
+
schema: {
|
|
26
|
+
type: "object",
|
|
27
|
+
properties: {}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.securitySchema = {
|
|
33
|
+
"components": {
|
|
34
|
+
"securitySchemes": {
|
|
35
|
+
"bearerAuth": {
|
|
36
|
+
"type": "http",
|
|
37
|
+
"scheme": "bearer",
|
|
38
|
+
"bearerFormat": "JWT"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
exports.securityDeclaration = {
|
|
44
|
+
"security": [
|
|
45
|
+
{
|
|
46
|
+
"bearerAuth": []
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
};
|
|
50
|
+
exports.httpStatusCodes = {
|
|
51
|
+
100: 'Continue',
|
|
52
|
+
101: 'Switching Protocols',
|
|
53
|
+
102: 'Processing',
|
|
54
|
+
103: 'Early Hints',
|
|
55
|
+
200: 'OK',
|
|
56
|
+
201: 'Created',
|
|
57
|
+
202: 'Accepted',
|
|
58
|
+
203: 'Non-Authoritative Information',
|
|
59
|
+
204: 'No Content',
|
|
60
|
+
205: 'Reset Content',
|
|
61
|
+
206: 'Partial Content',
|
|
62
|
+
207: 'Multi-Status',
|
|
63
|
+
208: 'Already Reported',
|
|
64
|
+
226: 'IM Used',
|
|
65
|
+
300: 'Multiple Choices',
|
|
66
|
+
301: 'Moved Permanently',
|
|
67
|
+
302: 'Found',
|
|
68
|
+
303: 'See Other',
|
|
69
|
+
304: 'Not Modified',
|
|
70
|
+
305: 'Use Proxy',
|
|
71
|
+
306: 'Switch Proxy',
|
|
72
|
+
307: 'Temporary Redirect',
|
|
73
|
+
308: 'Permanent Redirect',
|
|
74
|
+
400: 'Bad Request',
|
|
75
|
+
401: 'Unauthorized',
|
|
76
|
+
402: 'Payment Required',
|
|
77
|
+
403: 'Forbidden',
|
|
78
|
+
404: 'Not Found',
|
|
79
|
+
405: 'Method Not Allowed',
|
|
80
|
+
406: 'Not Acceptable',
|
|
81
|
+
407: 'Proxy Authentication Required',
|
|
82
|
+
408: 'Request Timeout',
|
|
83
|
+
409: 'Conflict',
|
|
84
|
+
410: 'Gone',
|
|
85
|
+
411: 'Length Required',
|
|
86
|
+
412: 'Precondition Failed',
|
|
87
|
+
413: 'Payload Too Large',
|
|
88
|
+
414: 'URI Too Long',
|
|
89
|
+
415: 'Unsupported Media Type',
|
|
90
|
+
416: 'Range Not Satisfiable',
|
|
91
|
+
417: 'Expectation Failed',
|
|
92
|
+
418: 'I\'m a Teapot',
|
|
93
|
+
421: 'Misdirected Request',
|
|
94
|
+
422: 'Unprocessable Entity',
|
|
95
|
+
423: 'Locked',
|
|
96
|
+
424: 'Failed Dependency',
|
|
97
|
+
425: 'Too Early',
|
|
98
|
+
426: 'Upgrade Required',
|
|
99
|
+
428: 'Precondition Required',
|
|
100
|
+
429: 'Too Many Requests',
|
|
101
|
+
431: 'Request Header Fields Too Large',
|
|
102
|
+
451: 'Unavailable For Legal Reasons',
|
|
103
|
+
500: 'Internal Server Error',
|
|
104
|
+
501: 'Not Implemented',
|
|
105
|
+
502: 'Bad Gateway',
|
|
106
|
+
503: 'Service Unavailable',
|
|
107
|
+
504: 'Gateway Timeout',
|
|
108
|
+
505: 'HTTP Version Not Supported',
|
|
109
|
+
506: 'Variant Also Negotiates',
|
|
110
|
+
507: 'Insufficient Storage',
|
|
111
|
+
508: 'Loop Detected',
|
|
112
|
+
510: 'Not Extended',
|
|
113
|
+
511: 'Network Authentication Required'
|
|
114
|
+
};
|
|
115
115
|
//# sourceMappingURL=DocumentationModels.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export declare class DocumentationRequest {
|
|
2
|
-
constructor();
|
|
3
|
-
init(): any;
|
|
4
|
-
private createTagsObject;
|
|
5
|
-
private createPathsObject;
|
|
6
|
-
private buildRequest;
|
|
7
|
-
private buildBodyParams;
|
|
8
|
-
private buildParams;
|
|
9
|
-
private fixParamName;
|
|
10
|
-
private buildResponses;
|
|
11
|
-
private buildResponseProperties;
|
|
12
|
-
}
|
|
1
|
+
export declare class DocumentationRequest {
|
|
2
|
+
constructor();
|
|
3
|
+
init(): any;
|
|
4
|
+
private createTagsObject;
|
|
5
|
+
private createPathsObject;
|
|
6
|
+
private buildRequest;
|
|
7
|
+
private buildBodyParams;
|
|
8
|
+
private buildParams;
|
|
9
|
+
private fixParamName;
|
|
10
|
+
private buildResponses;
|
|
11
|
+
private buildResponseProperties;
|
|
12
|
+
}
|
|
@@ -1,127 +1,127 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DocumentationRequest = void 0;
|
|
4
|
-
const DocumentationModels_1 = require("./DocumentationModels");
|
|
5
|
-
const APIService_1 = require("../../APIService");
|
|
6
|
-
class DocumentationRequest {
|
|
7
|
-
constructor() { }
|
|
8
|
-
init() {
|
|
9
|
-
var _a;
|
|
10
|
-
const { name, port, routers, requests } = (_a = APIService_1.ITRMAPIServiceGlobal.service) === null || _a === void 0 ? void 0 : _a.getServerInformation();
|
|
11
|
-
DocumentationModels_1.defaultDocumentationSchema.info.title = name;
|
|
12
|
-
DocumentationModels_1.defaultDocumentationSchema.servers = [{ url: `http://localhost:${port}` }];
|
|
13
|
-
DocumentationModels_1.defaultDocumentationSchema.tags = this.createTagsObject(routers, name);
|
|
14
|
-
DocumentationModels_1.defaultDocumentationSchema.paths = this.createPathsObject(requests, name);
|
|
15
|
-
DocumentationModels_1.defaultDocumentationSchema.components = DocumentationModels_1.securitySchema.components;
|
|
16
|
-
DocumentationModels_1.defaultDocumentationSchema.security = DocumentationModels_1.securityDeclaration.security;
|
|
17
|
-
return DocumentationModels_1.defaultDocumentationSchema;
|
|
18
|
-
}
|
|
19
|
-
createTagsObject(routers, name) {
|
|
20
|
-
let tags = [];
|
|
21
|
-
for (let router in routers)
|
|
22
|
-
tags.push({ name: router.replace("/", "") });
|
|
23
|
-
tags.push({ name: name });
|
|
24
|
-
return tags;
|
|
25
|
-
}
|
|
26
|
-
createPathsObject(requests, name) {
|
|
27
|
-
var _a, _b, _c, _d;
|
|
28
|
-
let paths = {};
|
|
29
|
-
for (let request in requests) {
|
|
30
|
-
let buildRequest = this.buildRequest(requests[request], request, name);
|
|
31
|
-
paths[buildRequest.name] ? paths[buildRequest.name] : paths[buildRequest.name] = {};
|
|
32
|
-
paths[buildRequest.name][buildRequest.requestMethod] = {
|
|
33
|
-
tags: [buildRequest.tag],
|
|
34
|
-
operationId: buildRequest.requestMethod + " " + (buildRequest.name).toLowerCase(),
|
|
35
|
-
description: (_b = (_a = requests[request].details) === null || _a === void 0 ? void 0 : _a.description) !== null && _b !== void 0 ? _b : (buildRequest.name).toLowerCase(),
|
|
36
|
-
summary: (_d = (_c = requests[request].details) === null || _c === void 0 ? void 0 : _c.description) !== null && _d !== void 0 ? _d : (buildRequest.name).toLowerCase(),
|
|
37
|
-
parameters: buildRequest.params,
|
|
38
|
-
responses: this.buildResponses(requests[request])
|
|
39
|
-
};
|
|
40
|
-
if ((buildRequest.requestMethod === "post" || buildRequest.requestMethod === "put") && requests[request].bodyParams.length > 0)
|
|
41
|
-
paths[buildRequest.name][buildRequest.requestMethod].requestBody = this.buildBodyParams(requests[request].bodyParams);
|
|
42
|
-
}
|
|
43
|
-
return paths;
|
|
44
|
-
}
|
|
45
|
-
buildRequest(request, requestName, serviceName) {
|
|
46
|
-
let name = requestName.replace(`${request.method}_`, "");
|
|
47
|
-
name = name.replace(/:([^/]+)/g, '{$1}');
|
|
48
|
-
let tag = name === request.path ? serviceName : name.split("/")[1];
|
|
49
|
-
let requestMethod = request.method.toLowerCase();
|
|
50
|
-
let buildParams = this.buildParams(request.getRequestDetails().params);
|
|
51
|
-
return { name, tag, requestMethod, params: buildParams };
|
|
52
|
-
}
|
|
53
|
-
buildBodyParams(bodyParams) {
|
|
54
|
-
let bodySchema = structuredClone(DocumentationModels_1.defaultBodySchema);
|
|
55
|
-
for (let param of bodyParams) {
|
|
56
|
-
let parameter = param.properties;
|
|
57
|
-
parameter.forEach((element) => {
|
|
58
|
-
bodySchema.content["application/json"].schema.properties[element.name] = { type: element.type };
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return bodySchema;
|
|
62
|
-
}
|
|
63
|
-
buildParams(params) {
|
|
64
|
-
let parameters = [];
|
|
65
|
-
if (params.length > 0) {
|
|
66
|
-
for (let param of params) {
|
|
67
|
-
let parameter = param.properties;
|
|
68
|
-
parameter.forEach((element) => {
|
|
69
|
-
if (param.context !== "body") {
|
|
70
|
-
let body = {
|
|
71
|
-
name: element.name,
|
|
72
|
-
in: this.fixParamName(param.context),
|
|
73
|
-
schema: {
|
|
74
|
-
type: element.type
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
if (param.context === "params")
|
|
78
|
-
body.required = true;
|
|
79
|
-
parameters.push(body);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
return parameters;
|
|
84
|
-
}
|
|
85
|
-
return [];
|
|
86
|
-
}
|
|
87
|
-
fixParamName(name) {
|
|
88
|
-
switch (name) {
|
|
89
|
-
case "params":
|
|
90
|
-
return "path";
|
|
91
|
-
case "headers":
|
|
92
|
-
return "header";
|
|
93
|
-
default:
|
|
94
|
-
return name;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
buildResponses(request) {
|
|
98
|
-
var _a;
|
|
99
|
-
let response = {};
|
|
100
|
-
if (request.details) {
|
|
101
|
-
for (let sample of request.details.samples) {
|
|
102
|
-
response[sample.status] = {
|
|
103
|
-
description: (_a = DocumentationModels_1.httpStatusCodes[sample.status]) !== null && _a !== void 0 ? _a : "response",
|
|
104
|
-
content: {
|
|
105
|
-
"application/json": {
|
|
106
|
-
schema: {
|
|
107
|
-
type: "object",
|
|
108
|
-
properties: this.buildResponseProperties(sample)
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
return response;
|
|
115
|
-
}
|
|
116
|
-
else
|
|
117
|
-
return { "200": { description: "Successful response" } };
|
|
118
|
-
}
|
|
119
|
-
buildResponseProperties(sample) {
|
|
120
|
-
let properties = {};
|
|
121
|
-
for (let key in sample.output)
|
|
122
|
-
properties[key] = { type: typeof (sample.output[key]), example: sample.output[key] };
|
|
123
|
-
return properties;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
exports.DocumentationRequest = DocumentationRequest;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocumentationRequest = void 0;
|
|
4
|
+
const DocumentationModels_1 = require("./DocumentationModels");
|
|
5
|
+
const APIService_1 = require("../../APIService");
|
|
6
|
+
class DocumentationRequest {
|
|
7
|
+
constructor() { }
|
|
8
|
+
init() {
|
|
9
|
+
var _a;
|
|
10
|
+
const { name, port, routers, requests } = (_a = APIService_1.ITRMAPIServiceGlobal.service) === null || _a === void 0 ? void 0 : _a.getServerInformation();
|
|
11
|
+
DocumentationModels_1.defaultDocumentationSchema.info.title = name;
|
|
12
|
+
DocumentationModels_1.defaultDocumentationSchema.servers = [{ url: `http://localhost:${port}` }];
|
|
13
|
+
DocumentationModels_1.defaultDocumentationSchema.tags = this.createTagsObject(routers, name);
|
|
14
|
+
DocumentationModels_1.defaultDocumentationSchema.paths = this.createPathsObject(requests, name);
|
|
15
|
+
DocumentationModels_1.defaultDocumentationSchema.components = DocumentationModels_1.securitySchema.components;
|
|
16
|
+
DocumentationModels_1.defaultDocumentationSchema.security = DocumentationModels_1.securityDeclaration.security;
|
|
17
|
+
return DocumentationModels_1.defaultDocumentationSchema;
|
|
18
|
+
}
|
|
19
|
+
createTagsObject(routers, name) {
|
|
20
|
+
let tags = [];
|
|
21
|
+
for (let router in routers)
|
|
22
|
+
tags.push({ name: router.replace("/", "") });
|
|
23
|
+
tags.push({ name: name });
|
|
24
|
+
return tags;
|
|
25
|
+
}
|
|
26
|
+
createPathsObject(requests, name) {
|
|
27
|
+
var _a, _b, _c, _d;
|
|
28
|
+
let paths = {};
|
|
29
|
+
for (let request in requests) {
|
|
30
|
+
let buildRequest = this.buildRequest(requests[request], request, name);
|
|
31
|
+
paths[buildRequest.name] ? paths[buildRequest.name] : paths[buildRequest.name] = {};
|
|
32
|
+
paths[buildRequest.name][buildRequest.requestMethod] = {
|
|
33
|
+
tags: [buildRequest.tag],
|
|
34
|
+
operationId: buildRequest.requestMethod + " " + (buildRequest.name).toLowerCase(),
|
|
35
|
+
description: (_b = (_a = requests[request].details) === null || _a === void 0 ? void 0 : _a.description) !== null && _b !== void 0 ? _b : (buildRequest.name).toLowerCase(),
|
|
36
|
+
summary: (_d = (_c = requests[request].details) === null || _c === void 0 ? void 0 : _c.description) !== null && _d !== void 0 ? _d : (buildRequest.name).toLowerCase(),
|
|
37
|
+
parameters: buildRequest.params,
|
|
38
|
+
responses: this.buildResponses(requests[request])
|
|
39
|
+
};
|
|
40
|
+
if ((buildRequest.requestMethod === "post" || buildRequest.requestMethod === "put") && requests[request].bodyParams.length > 0)
|
|
41
|
+
paths[buildRequest.name][buildRequest.requestMethod].requestBody = this.buildBodyParams(requests[request].bodyParams);
|
|
42
|
+
}
|
|
43
|
+
return paths;
|
|
44
|
+
}
|
|
45
|
+
buildRequest(request, requestName, serviceName) {
|
|
46
|
+
let name = requestName.replace(`${request.method}_`, "");
|
|
47
|
+
name = name.replace(/:([^/]+)/g, '{$1}');
|
|
48
|
+
let tag = name === request.path ? serviceName : name.split("/")[1];
|
|
49
|
+
let requestMethod = request.method.toLowerCase();
|
|
50
|
+
let buildParams = this.buildParams(request.getRequestDetails().params);
|
|
51
|
+
return { name, tag, requestMethod, params: buildParams };
|
|
52
|
+
}
|
|
53
|
+
buildBodyParams(bodyParams) {
|
|
54
|
+
let bodySchema = structuredClone(DocumentationModels_1.defaultBodySchema);
|
|
55
|
+
for (let param of bodyParams) {
|
|
56
|
+
let parameter = param.properties;
|
|
57
|
+
parameter.forEach((element) => {
|
|
58
|
+
bodySchema.content["application/json"].schema.properties[element.name] = { type: element.type };
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return bodySchema;
|
|
62
|
+
}
|
|
63
|
+
buildParams(params) {
|
|
64
|
+
let parameters = [];
|
|
65
|
+
if (params.length > 0) {
|
|
66
|
+
for (let param of params) {
|
|
67
|
+
let parameter = param.properties;
|
|
68
|
+
parameter.forEach((element) => {
|
|
69
|
+
if (param.context !== "body") {
|
|
70
|
+
let body = {
|
|
71
|
+
name: element.name,
|
|
72
|
+
in: this.fixParamName(param.context),
|
|
73
|
+
schema: {
|
|
74
|
+
type: element.type
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
if (param.context === "params")
|
|
78
|
+
body.required = true;
|
|
79
|
+
parameters.push(body);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return parameters;
|
|
84
|
+
}
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
fixParamName(name) {
|
|
88
|
+
switch (name) {
|
|
89
|
+
case "params":
|
|
90
|
+
return "path";
|
|
91
|
+
case "headers":
|
|
92
|
+
return "header";
|
|
93
|
+
default:
|
|
94
|
+
return name;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
buildResponses(request) {
|
|
98
|
+
var _a;
|
|
99
|
+
let response = {};
|
|
100
|
+
if (request.details) {
|
|
101
|
+
for (let sample of request.details.samples) {
|
|
102
|
+
response[sample.status] = {
|
|
103
|
+
description: (_a = DocumentationModels_1.httpStatusCodes[sample.status]) !== null && _a !== void 0 ? _a : "response",
|
|
104
|
+
content: {
|
|
105
|
+
"application/json": {
|
|
106
|
+
schema: {
|
|
107
|
+
type: "object",
|
|
108
|
+
properties: this.buildResponseProperties(sample)
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
return response;
|
|
115
|
+
}
|
|
116
|
+
else
|
|
117
|
+
return { "200": { description: "Successful response" } };
|
|
118
|
+
}
|
|
119
|
+
buildResponseProperties(sample) {
|
|
120
|
+
let properties = {};
|
|
121
|
+
for (let key in sample.output)
|
|
122
|
+
properties[key] = { type: typeof (sample.output[key]), example: sample.output[key] };
|
|
123
|
+
return properties;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.DocumentationRequest = DocumentationRequest;
|
|
127
127
|
//# sourceMappingURL=DocumentationRequest.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NextFunction, Request, Response, RouterOptions } from "express";
|
|
2
|
-
import { APIRouter } from "../APIRouter";
|
|
3
|
-
export declare class SimpleAPIRouter extends APIRouter {
|
|
4
|
-
constructor(path: string, options?: RouterOptions);
|
|
5
|
-
protected runMiddleware(req: Request, res: Response, next: NextFunction): Promise<void | Response>;
|
|
6
|
-
}
|
|
1
|
+
import { NextFunction, Request, Response, RouterOptions } from "express";
|
|
2
|
+
import { APIRouter } from "../APIRouter";
|
|
3
|
+
export declare class SimpleAPIRouter extends APIRouter {
|
|
4
|
+
constructor(path: string, options?: RouterOptions);
|
|
5
|
+
protected runMiddleware(req: Request, res: Response, next: NextFunction): Promise<void | Response>;
|
|
6
|
+
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SimpleAPIRouter = void 0;
|
|
13
|
-
const APIRouter_1 = require("../APIRouter");
|
|
14
|
-
class SimpleAPIRouter extends APIRouter_1.APIRouter {
|
|
15
|
-
constructor(path, options) {
|
|
16
|
-
super(path, options);
|
|
17
|
-
}
|
|
18
|
-
runMiddleware(req, res, next) {
|
|
19
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
return next();
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.SimpleAPIRouter = SimpleAPIRouter;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SimpleAPIRouter = void 0;
|
|
13
|
+
const APIRouter_1 = require("../APIRouter");
|
|
14
|
+
class SimpleAPIRouter extends APIRouter_1.APIRouter {
|
|
15
|
+
constructor(path, options) {
|
|
16
|
+
super(path, options);
|
|
17
|
+
}
|
|
18
|
+
runMiddleware(req, res, next) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
return next();
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.SimpleAPIRouter = SimpleAPIRouter;
|
|
25
25
|
//# sourceMappingURL=SimpleAPIRouter.js.map
|