@stemy/backend 3.5.3 → 3.5.4
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/bundles/stemy-backend.umd.js +23 -13
- package/bundles/stemy-backend.umd.js.map +1 -1
- package/esm2015/utilities/decorators.js +23 -14
- package/fesm2015/stemy-backend.js +22 -13
- package/fesm2015/stemy-backend.js.map +1 -1
- package/package.json +1 -1
- package/stemy-backend.metadata.json +1 -1
- package/utilities/decorators.d.ts +3 -1
|
@@ -1,26 +1,35 @@
|
|
|
1
1
|
import { getStatusCode, OpenAPI } from "routing-controllers-openapi";
|
|
2
|
-
export function IsDocumented(summary = null) {
|
|
3
|
-
return OpenAPI(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
export function IsDocumented(summary = null, paramDescriptions = {}) {
|
|
3
|
+
return OpenAPI(op => {
|
|
4
|
+
var _a;
|
|
5
|
+
op.summary = summary || op.summary;
|
|
6
|
+
op.tags = ["Documented"].concat(op.tags || []);
|
|
7
|
+
(_a = op.parameters) === null || _a === void 0 ? void 0 : _a.forEach(p => {
|
|
8
|
+
if (p.$ref)
|
|
9
|
+
return;
|
|
10
|
+
const schema = p;
|
|
11
|
+
schema.description = paramDescriptions[schema.name]
|
|
12
|
+
|| schema.description
|
|
13
|
+
|| `param.${op.operationId}.${schema.name}`.toLowerCase();
|
|
14
|
+
});
|
|
15
|
+
return op;
|
|
7
16
|
});
|
|
8
17
|
}
|
|
9
18
|
export function JsonResponse(description = "Success", statusCode = null) {
|
|
10
|
-
return OpenAPI((
|
|
19
|
+
return OpenAPI((op, route) => {
|
|
11
20
|
const status = statusCode !== null && statusCode !== void 0 ? statusCode : getStatusCode(route) + "";
|
|
12
|
-
|
|
13
|
-
|
|
21
|
+
op.responses = op.responses || {};
|
|
22
|
+
op.responses[status] = {
|
|
14
23
|
description,
|
|
15
24
|
content: {
|
|
16
25
|
"application/json": {}
|
|
17
26
|
}
|
|
18
27
|
};
|
|
19
|
-
return
|
|
28
|
+
return op;
|
|
20
29
|
});
|
|
21
30
|
}
|
|
22
31
|
export function ResponseType(type, options = {}) {
|
|
23
|
-
return OpenAPI((
|
|
32
|
+
return OpenAPI((op, route) => {
|
|
24
33
|
var _a;
|
|
25
34
|
const contentType = "application/json";
|
|
26
35
|
const statusCode = (_a = options === null || options === void 0 ? void 0 : options.statusCode) !== null && _a !== void 0 ? _a : getStatusCode(route) + "";
|
|
@@ -30,8 +39,8 @@ export function ResponseType(type, options = {}) {
|
|
|
30
39
|
const schema = options.isArray
|
|
31
40
|
? { items: reference, type: "array" }
|
|
32
41
|
: reference;
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
op.responses = op.responses || {};
|
|
43
|
+
op.responses[statusCode] = {
|
|
35
44
|
description: options.description || "Success",
|
|
36
45
|
content: {
|
|
37
46
|
[contentType]: {
|
|
@@ -39,7 +48,7 @@ export function ResponseType(type, options = {}) {
|
|
|
39
48
|
}
|
|
40
49
|
}
|
|
41
50
|
};
|
|
42
|
-
return
|
|
51
|
+
return op;
|
|
43
52
|
});
|
|
44
53
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR25FLE1BQU0sVUFBVSxZQUFZLENBQUMsVUFBa0IsSUFBSSxFQUFFLG9CQUE4QyxFQUFFO0lBQ2pHLE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFOztRQUNoQixFQUFFLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ25DLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvQyxNQUFBLEVBQUUsQ0FBQyxVQUFVLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDbkIsTUFBTSxNQUFNLEdBQUcsQ0FBaUIsQ0FBQztZQUNqQyxNQUFNLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7bUJBQzVDLE1BQU0sQ0FBQyxXQUFXO21CQUNsQixTQUFTLEVBQUUsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLGNBQXNCLFNBQVMsRUFBRSxhQUFxQixJQUFJO0lBQ25GLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkQsRUFBRSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQ25CLFdBQVc7WUFDWCxPQUFPLEVBQUU7Z0JBQ0wsa0JBQWtCLEVBQUUsRUFBRTthQUN6QjtTQUNKLENBQUM7UUFDRixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQVFELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBYyxFQUFFLFVBQWdDLEVBQUU7SUFDM0UsT0FBTyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUU7O1FBQ3pCLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFVBQVUsbUNBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNwRSxNQUFNLFNBQVMsR0FBb0I7WUFDL0IsSUFBSSxFQUFFLHdCQUF3QixJQUFJLENBQUMsSUFBSSxFQUFFO1NBQzVDLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBaUIsT0FBTyxDQUFDLE9BQU87WUFDeEMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEIsRUFBRSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQ3ZCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVM7WUFDN0MsT0FBTyxFQUFFO2dCQUNMLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ1gsTUFBTTtpQkFDVDthQUNKO1NBQ0osQ0FBQztRQUNGLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRTdGF0dXNDb2RlLCBPcGVuQVBJfSBmcm9tIFwicm91dGluZy1jb250cm9sbGVycy1vcGVuYXBpXCI7XHJcbmltcG9ydCB7UmVmZXJlbmNlT2JqZWN0LCBTY2hlbWFPYmplY3R9IGZyb20gXCJvcGVuYXBpMy10c1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIElzRG9jdW1lbnRlZChzdW1tYXJ5OiBzdHJpbmcgPSBudWxsLCBwYXJhbURlc2NyaXB0aW9uczoge1tuYW1lOiBzdHJpbmddOiBzdHJpbmd9ID0ge30pIHtcclxuICAgIHJldHVybiBPcGVuQVBJKG9wID0+IHtcclxuICAgICAgICBvcC5zdW1tYXJ5ID0gc3VtbWFyeSB8fCBvcC5zdW1tYXJ5O1xyXG4gICAgICAgIG9wLnRhZ3MgPSBbXCJEb2N1bWVudGVkXCJdLmNvbmNhdChvcC50YWdzIHx8IFtdKTtcclxuICAgICAgICBvcC5wYXJhbWV0ZXJzPy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgICBpZiAocC4kcmVmKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYSA9IHAgYXMgU2NoZW1hT2JqZWN0O1xyXG4gICAgICAgICAgICBzY2hlbWEuZGVzY3JpcHRpb24gPSBwYXJhbURlc2NyaXB0aW9uc1tzY2hlbWEubmFtZV1cclxuICAgICAgICAgICAgICAgIHx8IHNjaGVtYS5kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgfHwgYHBhcmFtLiR7b3Aub3BlcmF0aW9uSWR9LiR7c2NoZW1hLm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvcDtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSnNvblJlc3BvbnNlKGRlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlN1Y2Nlc3NcIiwgc3RhdHVzQ29kZTogbnVtYmVyID0gbnVsbCkge1xyXG4gICAgcmV0dXJuIE9wZW5BUEkoKG9wLCByb3V0ZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IHN0YXR1c0NvZGUgPz8gZ2V0U3RhdHVzQ29kZShyb3V0ZSkgKyBcIlwiO1xyXG4gICAgICAgIG9wLnJlc3BvbnNlcyA9IG9wLnJlc3BvbnNlcyB8fCB7fTtcclxuICAgICAgICBvcC5yZXNwb25zZXNbc3RhdHVzXSA9IHtcclxuICAgICAgICAgICAgZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHtcclxuICAgICAgICAgICAgICAgIFwiYXBwbGljYXRpb24vanNvblwiOiB7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gb3A7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUmVzcG9uc2VUeXBlT3B0aW9ucyB7XHJcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICAgIHN0YXR1c0NvZGU/OiBudW1iZXI7XHJcbiAgICBpc0FycmF5PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFJlc3BvbnNlVHlwZSh0eXBlOiBGdW5jdGlvbiwgb3B0aW9uczogSVJlc3BvbnNlVHlwZU9wdGlvbnMgPSB7fSkge1xyXG4gICAgcmV0dXJuIE9wZW5BUEkoKG9wLCByb3V0ZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gXCJhcHBsaWNhdGlvbi9qc29uXCI7XHJcbiAgICAgICAgY29uc3Qgc3RhdHVzQ29kZSA9IG9wdGlvbnM/LnN0YXR1c0NvZGUgPz8gZ2V0U3RhdHVzQ29kZShyb3V0ZSkgKyBcIlwiO1xyXG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZTogUmVmZXJlbmNlT2JqZWN0ID0ge1xyXG4gICAgICAgICAgICAkcmVmOiBgIy9jb21wb25lbnRzL3NjaGVtYXMvJHt0eXBlLm5hbWV9YCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IHNjaGVtYTogU2NoZW1hT2JqZWN0ID0gb3B0aW9ucy5pc0FycmF5XHJcbiAgICAgICAgICAgID8geyBpdGVtczogcmVmZXJlbmNlLCB0eXBlOiBcImFycmF5XCIgfVxyXG4gICAgICAgICAgICA6IHJlZmVyZW5jZTtcclxuICAgICAgICBvcC5yZXNwb25zZXMgPSBvcC5yZXNwb25zZXMgfHwge307XHJcbiAgICAgICAgb3AucmVzcG9uc2VzW3N0YXR1c0NvZGVdID0ge1xyXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbiB8fCBcIlN1Y2Nlc3NcIixcclxuICAgICAgICAgICAgY29udGVudDoge1xyXG4gICAgICAgICAgICAgICAgW2NvbnRlbnRUeXBlXToge1xyXG4gICAgICAgICAgICAgICAgICAgIHNjaGVtYVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gb3A7XHJcbiAgICB9KTtcclxufVxyXG4iXX0=
|
|
@@ -4006,28 +4006,37 @@ class BaseDoc {
|
|
|
4006
4006
|
const PrimitiveArray = Types.Array;
|
|
4007
4007
|
const DocumentArray = Types.DocumentArray;
|
|
4008
4008
|
|
|
4009
|
-
function IsDocumented(summary = null) {
|
|
4010
|
-
return OpenAPI(
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
|
|
4009
|
+
function IsDocumented(summary = null, paramDescriptions = {}) {
|
|
4010
|
+
return OpenAPI(op => {
|
|
4011
|
+
var _a;
|
|
4012
|
+
op.summary = summary || op.summary;
|
|
4013
|
+
op.tags = ["Documented"].concat(op.tags || []);
|
|
4014
|
+
(_a = op.parameters) === null || _a === void 0 ? void 0 : _a.forEach(p => {
|
|
4015
|
+
if (p.$ref)
|
|
4016
|
+
return;
|
|
4017
|
+
const schema = p;
|
|
4018
|
+
schema.description = paramDescriptions[schema.name]
|
|
4019
|
+
|| schema.description
|
|
4020
|
+
|| `param.${op.operationId}.${schema.name}`.toLowerCase();
|
|
4021
|
+
});
|
|
4022
|
+
return op;
|
|
4014
4023
|
});
|
|
4015
4024
|
}
|
|
4016
4025
|
function JsonResponse(description = "Success", statusCode = null) {
|
|
4017
|
-
return OpenAPI((
|
|
4026
|
+
return OpenAPI((op, route) => {
|
|
4018
4027
|
const status = statusCode !== null && statusCode !== void 0 ? statusCode : getStatusCode(route) + "";
|
|
4019
|
-
|
|
4020
|
-
|
|
4028
|
+
op.responses = op.responses || {};
|
|
4029
|
+
op.responses[status] = {
|
|
4021
4030
|
description,
|
|
4022
4031
|
content: {
|
|
4023
4032
|
"application/json": {}
|
|
4024
4033
|
}
|
|
4025
4034
|
};
|
|
4026
|
-
return
|
|
4035
|
+
return op;
|
|
4027
4036
|
});
|
|
4028
4037
|
}
|
|
4029
4038
|
function ResponseType(type, options = {}) {
|
|
4030
|
-
return OpenAPI((
|
|
4039
|
+
return OpenAPI((op, route) => {
|
|
4031
4040
|
var _a;
|
|
4032
4041
|
const contentType = "application/json";
|
|
4033
4042
|
const statusCode = (_a = options === null || options === void 0 ? void 0 : options.statusCode) !== null && _a !== void 0 ? _a : getStatusCode(route) + "";
|
|
@@ -4037,8 +4046,8 @@ function ResponseType(type, options = {}) {
|
|
|
4037
4046
|
const schema = options.isArray
|
|
4038
4047
|
? { items: reference, type: "array" }
|
|
4039
4048
|
: reference;
|
|
4040
|
-
|
|
4041
|
-
|
|
4049
|
+
op.responses = op.responses || {};
|
|
4050
|
+
op.responses[statusCode] = {
|
|
4042
4051
|
description: options.description || "Success",
|
|
4043
4052
|
content: {
|
|
4044
4053
|
[contentType]: {
|
|
@@ -4046,7 +4055,7 @@ function ResponseType(type, options = {}) {
|
|
|
4046
4055
|
}
|
|
4047
4056
|
}
|
|
4048
4057
|
};
|
|
4049
|
-
return
|
|
4058
|
+
return op;
|
|
4050
4059
|
});
|
|
4051
4060
|
}
|
|
4052
4061
|
|