@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.
@@ -1,26 +1,35 @@
1
1
  import { getStatusCode, OpenAPI } from "routing-controllers-openapi";
2
- export function IsDocumented(summary = null) {
3
- return OpenAPI(operation => {
4
- operation.summary = summary || operation.summary;
5
- operation.tags = ["Documented"].concat(operation.tags || []);
6
- return operation;
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((operation, route) => {
19
+ return OpenAPI((op, route) => {
11
20
  const status = statusCode !== null && statusCode !== void 0 ? statusCode : getStatusCode(route) + "";
12
- operation.responses = operation.responses || {};
13
- operation.responses[status] = {
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 operation;
28
+ return op;
20
29
  });
21
30
  }
22
31
  export function ResponseType(type, options = {}) {
23
- return OpenAPI((operation, route) => {
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
- operation.responses = operation.responses || {};
34
- operation.responses[statusCode] = {
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 operation;
51
+ return op;
43
52
  });
44
53
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR25FLE1BQU0sVUFBVSxZQUFZLENBQUMsVUFBa0IsSUFBSTtJQUMvQyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUN2QixTQUFTLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLGNBQXNCLFNBQVMsRUFBRSxhQUFxQixJQUFJO0lBQ25GLE9BQU8sT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkQsU0FBUyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQzFCLFdBQVc7WUFDWCxPQUFPLEVBQUU7Z0JBQ0wsa0JBQWtCLEVBQUUsRUFBRTthQUN6QjtTQUNKLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFRRCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQWMsRUFBRSxVQUFnQyxFQUFFO0lBQzNFLE9BQU8sT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFOztRQUNoQyxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztRQUN2QyxNQUFNLFVBQVUsR0FBRyxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxVQUFVLG1DQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDcEUsTUFBTSxTQUFTLEdBQW9CO1lBQy9CLElBQUksRUFBRSx3QkFBd0IsSUFBSSxDQUFDLElBQUksRUFBRTtTQUM1QyxDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQWlCLE9BQU8sQ0FBQyxPQUFPO1lBQ3hDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUNyQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hCLFNBQVMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDaEQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRztZQUM5QixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsSUFBSSxTQUFTO1lBQzdDLE9BQU8sRUFBRTtnQkFDTCxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUNYLE1BQU07aUJBQ1Q7YUFDSjtTQUNKLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldFN0YXR1c0NvZGUsIE9wZW5BUEl9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzLW9wZW5hcGlcIjtcclxuaW1wb3J0IHtSZWZlcmVuY2VPYmplY3QsIFNjaGVtYU9iamVjdH0gZnJvbSBcIm9wZW5hcGkzLXRzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSXNEb2N1bWVudGVkKHN1bW1hcnk6IHN0cmluZyA9IG51bGwpIHtcclxuICAgIHJldHVybiBPcGVuQVBJKG9wZXJhdGlvbiA9PiB7XHJcbiAgICAgICAgb3BlcmF0aW9uLnN1bW1hcnkgPSBzdW1tYXJ5IHx8IG9wZXJhdGlvbi5zdW1tYXJ5O1xyXG4gICAgICAgIG9wZXJhdGlvbi50YWdzID0gW1wiRG9jdW1lbnRlZFwiXS5jb25jYXQob3BlcmF0aW9uLnRhZ3MgfHwgW10pO1xyXG4gICAgICAgIHJldHVybiBvcGVyYXRpb247XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEpzb25SZXNwb25zZShkZXNjcmlwdGlvbjogc3RyaW5nID0gXCJTdWNjZXNzXCIsIHN0YXR1c0NvZGU6IG51bWJlciA9IG51bGwpIHtcclxuICAgIHJldHVybiBPcGVuQVBJKChvcGVyYXRpb24sIHJvdXRlKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gc3RhdHVzQ29kZSA/PyBnZXRTdGF0dXNDb2RlKHJvdXRlKSArIFwiXCI7XHJcbiAgICAgICAgb3BlcmF0aW9uLnJlc3BvbnNlcyA9IG9wZXJhdGlvbi5yZXNwb25zZXMgfHwge307XHJcbiAgICAgICAgb3BlcmF0aW9uLnJlc3BvbnNlc1tzdGF0dXNdID0ge1xyXG4gICAgICAgICAgICBkZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgY29udGVudDoge1xyXG4gICAgICAgICAgICAgICAgXCJhcHBsaWNhdGlvbi9qc29uXCI6IHt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBvcGVyYXRpb247XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUmVzcG9uc2VUeXBlT3B0aW9ucyB7XHJcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICAgIHN0YXR1c0NvZGU/OiBudW1iZXI7XHJcbiAgICBpc0FycmF5PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFJlc3BvbnNlVHlwZSh0eXBlOiBGdW5jdGlvbiwgb3B0aW9uczogSVJlc3BvbnNlVHlwZU9wdGlvbnMgPSB7fSkge1xyXG4gICAgcmV0dXJuIE9wZW5BUEkoKG9wZXJhdGlvbiwgcm91dGUpID0+IHtcclxuICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IFwiYXBwbGljYXRpb24vanNvblwiO1xyXG4gICAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBvcHRpb25zPy5zdGF0dXNDb2RlID8/IGdldFN0YXR1c0NvZGUocm91dGUpICsgXCJcIjtcclxuICAgICAgICBjb25zdCByZWZlcmVuY2U6IFJlZmVyZW5jZU9iamVjdCA9IHtcclxuICAgICAgICAgICAgJHJlZjogYCMvY29tcG9uZW50cy9zY2hlbWFzLyR7dHlwZS5uYW1lfWAsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBzY2hlbWE6IFNjaGVtYU9iamVjdCA9IG9wdGlvbnMuaXNBcnJheVxyXG4gICAgICAgICAgICA/IHsgaXRlbXM6IHJlZmVyZW5jZSwgdHlwZTogXCJhcnJheVwiIH1cclxuICAgICAgICAgICAgOiByZWZlcmVuY2U7XHJcbiAgICAgICAgb3BlcmF0aW9uLnJlc3BvbnNlcyA9IG9wZXJhdGlvbi5yZXNwb25zZXMgfHwge307XHJcbiAgICAgICAgb3BlcmF0aW9uLnJlc3BvbnNlc1tzdGF0dXNDb2RlXSA9IHtcclxuICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24gfHwgXCJTdWNjZXNzXCIsXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHtcclxuICAgICAgICAgICAgICAgIFtjb250ZW50VHlwZV06IHtcclxuICAgICAgICAgICAgICAgICAgICBzY2hlbWFcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIG9wZXJhdGlvbjtcclxuICAgIH0pO1xyXG59XHJcbiJdfQ==
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(operation => {
4011
- operation.summary = summary || operation.summary;
4012
- operation.tags = ["Documented"].concat(operation.tags || []);
4013
- return operation;
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((operation, route) => {
4026
+ return OpenAPI((op, route) => {
4018
4027
  const status = statusCode !== null && statusCode !== void 0 ? statusCode : getStatusCode(route) + "";
4019
- operation.responses = operation.responses || {};
4020
- operation.responses[status] = {
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 operation;
4035
+ return op;
4027
4036
  });
4028
4037
  }
4029
4038
  function ResponseType(type, options = {}) {
4030
- return OpenAPI((operation, route) => {
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
- operation.responses = operation.responses || {};
4041
- operation.responses[statusCode] = {
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 operation;
4058
+ return op;
4050
4059
  });
4051
4060
  }
4052
4061