@kaapi/kaapi 0.0.24 → 0.0.26

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.
@@ -8,6 +8,8 @@ const joiHelper_1 = require("@novice1/api-doc-generator/lib/generators/openapi/h
8
8
  const api_doc_mix_helpers_1 = require("./api-doc-mix-helpers");
9
9
  const deep_extend_1 = require("./deep-extend");
10
10
  const baseAuthUtils_1 = require("@novice1/api-doc-generator/lib/utils/auth/baseAuthUtils");
11
+ const modifiers_1 = require("./modifiers");
12
+ const baseResponseUtils_1 = require("@novice1/api-doc-generator/lib/utils/responses/baseResponseUtils");
11
13
  class CustomHelper extends joiHelper_1.OpenAPIJoiHelper {
12
14
  isFile() {
13
15
  return this._joi['$_terms']
@@ -42,7 +44,7 @@ function formatRoutes(serverRoutes, securitySchemes, authConfigDefault) {
42
44
  sRoutes = [serverRoutes];
43
45
  }
44
46
  const routes = [];
45
- const extensions = [];
47
+ const modifiers = [];
46
48
  sRoutes.forEach(sRoute => {
47
49
  var _a, _b, _c, _d, _e;
48
50
  // only string paths
@@ -67,7 +69,7 @@ function formatRoutes(serverRoutes, securitySchemes, authConfigDefault) {
67
69
  methods = [sRoute.method];
68
70
  }
69
71
  const formattedRoutes = methods.map(method => {
70
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
72
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
71
73
  const route = {
72
74
  methods: {
73
75
  [method.toLowerCase()]: true
@@ -88,8 +90,8 @@ function formatRoutes(serverRoutes, securitySchemes, authConfigDefault) {
88
90
  (_g = sRoute.options) === null || _g === void 0 ? void 0 : _g.validate;
89
91
  let files = undefined;
90
92
  if (((_h = sRoute.options) === null || _h === void 0 ? void 0 : _h.payload) && (typeof (routeOptionsValidate === null || routeOptionsValidate === void 0 ? void 0 : routeOptionsValidate.payload) === 'object' || typeof (routeOptionsValidate === null || routeOptionsValidate === void 0 ? void 0 : routeOptionsValidate.payload) === 'function')) {
91
- const helperClass = (typeof ((_k = (_j = sRoute.options.plugins) === null || _j === void 0 ? void 0 : _j.kaapi) === null || _k === void 0 ? void 0 : _k.docs) === 'object' && sRoute.options.plugins.kaapi.docs.openAPIHelperClass) ?
92
- sRoute.options.plugins.kaapi.docs.openAPIHelperClass :
93
+ const helperClass = (pluginKaapiDocs.openAPIHelperClass) ?
94
+ pluginKaapiDocs.openAPIHelperClass :
93
95
  CustomHelper;
94
96
  const helper = new helperClass({ value: routeOptionsValidate.payload });
95
97
  if (helper.isValid() && helper.getType() === 'object') {
@@ -100,7 +102,7 @@ function formatRoutes(serverRoutes, securitySchemes, authConfigDefault) {
100
102
  }
101
103
  }
102
104
  route.parameters = routeOptionsValidate ? Object.assign(Object.assign({}, routeOptionsValidate), { body: routeOptionsValidate.payload, files: files }) : {};
103
- if ((_l = sRoute.options) === null || _l === void 0 ? void 0 : _l.notes) {
105
+ if ((_j = sRoute.options) === null || _j === void 0 ? void 0 : _j.notes) {
104
106
  route.parameters.descriptionType = 'text/markdown';
105
107
  if (Array.isArray(sRoute.options.notes)) {
106
108
  route.parameters.story = sRoute.options.notes.join('\n\n');
@@ -109,27 +111,50 @@ function formatRoutes(serverRoutes, securitySchemes, authConfigDefault) {
109
111
  route.parameters.story = sRoute.options.notes;
110
112
  }
111
113
  }
112
- if ((_o = (_m = sRoute.options) === null || _m === void 0 ? void 0 : _m.payload) === null || _o === void 0 ? void 0 : _o.allow) {
114
+ if ((_l = (_k = sRoute.options) === null || _k === void 0 ? void 0 : _k.payload) === null || _l === void 0 ? void 0 : _l.allow) {
113
115
  route.parameters.consumes = Array.isArray(sRoute.options.payload.allow) ? sRoute.options.payload.allow : [sRoute.options.payload.allow];
114
116
  }
115
- if (typeof ((_r = (_q = (_p = sRoute.options) === null || _p === void 0 ? void 0 : _p.plugins) === null || _q === void 0 ? void 0 : _q.kaapi) === null || _r === void 0 ? void 0 : _r.docs) === 'object') {
116
- if (sRoute.options.plugins.kaapi.docs.openApiSchemaExtension) {
117
- extensions.push({
117
+ let docsModifiers = undefined;
118
+ if (typeof pluginKaapiDocs.modifiers === 'function') {
119
+ docsModifiers = pluginKaapiDocs.modifiers();
120
+ }
121
+ if (docsModifiers === null || docsModifiers === void 0 ? void 0 : docsModifiers.requestBody) {
122
+ if (docsModifiers.requestBody instanceof modifiers_1.RequestBodyDocsModifier) {
123
+ modifiers.push({
118
124
  path: path,
119
125
  method: method.toLowerCase(),
120
- definition: sRoute.options.plugins.kaapi.docs.openApiSchemaExtension
126
+ definition: docsModifiers.requestBody,
127
+ name: route.name,
128
+ tags: route.tags
121
129
  });
122
130
  }
131
+ else {
132
+ throw TypeError(`Expected instance of RequestBodyDocsModifier (at ${method} ${path})`);
133
+ }
134
+ }
135
+ if (docsModifiers === null || docsModifiers === void 0 ? void 0 : docsModifiers.responses) {
136
+ if (docsModifiers.responses instanceof baseResponseUtils_1.BaseResponseUtil) {
137
+ modifiers.push({
138
+ path: path,
139
+ method: method.toLowerCase(),
140
+ definition: docsModifiers.responses,
141
+ name: route.name,
142
+ tags: route.tags
143
+ });
144
+ }
145
+ else {
146
+ throw TypeError(`Expected instance of BaseResponseUtil (at ${method} ${path})`);
147
+ }
123
148
  }
124
149
  // route security
125
- if (((_s = sRoute.options) === null || _s === void 0 ? void 0 : _s.auth) && typeof sRoute.options.auth === 'object' && securitySchemes) {
150
+ if (((_m = sRoute.options) === null || _m === void 0 ? void 0 : _m.auth) && typeof sRoute.options.auth === 'object' && securitySchemes) {
126
151
  let strategies = sRoute.options.auth.strategy ?
127
152
  [sRoute.options.auth.strategy] :
128
- (((_t = sRoute.options.auth.strategies) === null || _t === void 0 ? void 0 : _t.length) ? sRoute.options.auth.strategies : []);
153
+ (((_o = sRoute.options.auth.strategies) === null || _o === void 0 ? void 0 : _o.length) ? sRoute.options.auth.strategies : []);
129
154
  if (!strategies.length && authConfigDefault) {
130
155
  strategies = authConfigDefault.strategy ?
131
156
  [authConfigDefault.strategy] :
132
- (((_u = authConfigDefault.strategies) === null || _u === void 0 ? void 0 : _u.length) ? authConfigDefault.strategies : []);
157
+ (((_p = authConfigDefault.strategies) === null || _p === void 0 ? void 0 : _p.length) ? authConfigDefault.strategies : []);
133
158
  }
134
159
  if (strategies.length && securitySchemes) {
135
160
  const schemes = strategies
@@ -161,13 +186,13 @@ function formatRoutes(serverRoutes, securitySchemes, authConfigDefault) {
161
186
  });
162
187
  routes.push(...formattedRoutes);
163
188
  });
164
- return { routes, extensions };
189
+ return { routes, modifiers };
165
190
  }
166
191
  function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
167
192
  var _a, _b, _c, _d, _e;
168
193
  const sRoute = reqRoute;
169
194
  const routes = [];
170
- const extensions = [];
195
+ const modifiers = [];
171
196
  // only string paths
172
197
  if (typeof sRoute.path != 'string')
173
198
  return { routes };
@@ -190,7 +215,7 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
190
215
  methods = [sRoute.method];
191
216
  }
192
217
  const formattedRoutes = methods.map(method => {
193
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
218
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
194
219
  const route = {
195
220
  methods: {
196
221
  [method.toLowerCase()]: true
@@ -210,8 +235,8 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
210
235
  (_h = sRoute.settings) === null || _h === void 0 ? void 0 : _h.validate;
211
236
  let files = undefined;
212
237
  if (((_j = sRoute.settings) === null || _j === void 0 ? void 0 : _j.payload) && (typeof (routeOptionsValidate === null || routeOptionsValidate === void 0 ? void 0 : routeOptionsValidate.payload) === 'object' || typeof (routeOptionsValidate === null || routeOptionsValidate === void 0 ? void 0 : routeOptionsValidate.payload) === 'function')) {
213
- const helperClass = (typeof ((_l = (_k = sRoute.settings.plugins) === null || _k === void 0 ? void 0 : _k.kaapi) === null || _l === void 0 ? void 0 : _l.docs) === 'object' && sRoute.settings.plugins.kaapi.docs.openAPIHelperClass) ?
214
- sRoute.settings.plugins.kaapi.docs.openAPIHelperClass :
238
+ const helperClass = (pluginKaapiDocs.openAPIHelperClass) ?
239
+ pluginKaapiDocs.openAPIHelperClass :
215
240
  CustomHelper;
216
241
  const helper = new helperClass({ value: routeOptionsValidate.payload });
217
242
  if (helper.isValid() && helper.getType() === 'object') {
@@ -222,7 +247,7 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
222
247
  }
223
248
  }
224
249
  route.parameters = routeOptionsValidate ? Object.assign(Object.assign({}, routeOptionsValidate), { body: routeOptionsValidate.payload, files: files }) : {};
225
- if ((_m = sRoute.settings) === null || _m === void 0 ? void 0 : _m.notes) {
250
+ if ((_k = sRoute.settings) === null || _k === void 0 ? void 0 : _k.notes) {
226
251
  route.parameters.descriptionType = 'text/markdown';
227
252
  if (Array.isArray(sRoute.settings.notes)) {
228
253
  route.parameters.story = sRoute.settings.notes.join('\n\n');
@@ -231,25 +256,48 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
231
256
  route.parameters.story = sRoute.settings.notes;
232
257
  }
233
258
  }
234
- if (route.parameters && ((_p = (_o = sRoute.settings) === null || _o === void 0 ? void 0 : _o.payload) === null || _p === void 0 ? void 0 : _p.allow)) {
259
+ if (route.parameters && ((_m = (_l = sRoute.settings) === null || _l === void 0 ? void 0 : _l.payload) === null || _m === void 0 ? void 0 : _m.allow)) {
235
260
  route.parameters.consumes = Array.isArray(sRoute.settings.payload.allow) ? sRoute.settings.payload.allow : [sRoute.settings.payload.allow];
236
261
  }
237
- if (route.parameters && typeof ((_r = (_q = sRoute.settings.plugins) === null || _q === void 0 ? void 0 : _q.kaapi) === null || _r === void 0 ? void 0 : _r.docs) === 'object') {
238
- if (sRoute.settings.plugins.kaapi.docs.openApiSchemaExtension) {
239
- extensions.push({
262
+ let docsModifiers = undefined;
263
+ if (typeof pluginKaapiDocs.modifiers === 'function') {
264
+ docsModifiers = pluginKaapiDocs.modifiers();
265
+ }
266
+ if (docsModifiers === null || docsModifiers === void 0 ? void 0 : docsModifiers.requestBody) {
267
+ if (docsModifiers.requestBody instanceof modifiers_1.RequestBodyDocsModifier) {
268
+ modifiers.push({
240
269
  path: path,
241
270
  method: method.toLowerCase(),
242
- definition: sRoute.settings.plugins.kaapi.docs.openApiSchemaExtension
271
+ definition: docsModifiers.requestBody,
272
+ name: route.name,
273
+ tags: route.tags
243
274
  });
244
275
  }
276
+ else {
277
+ throw TypeError(`Expected instance of RequestBodyDocsModifier (at ${method} ${path})`);
278
+ }
279
+ }
280
+ if (docsModifiers === null || docsModifiers === void 0 ? void 0 : docsModifiers.responses) {
281
+ if (docsModifiers.responses instanceof baseResponseUtils_1.BaseResponseUtil) {
282
+ modifiers.push({
283
+ path: path,
284
+ method: method.toLowerCase(),
285
+ definition: docsModifiers.responses,
286
+ name: route.name,
287
+ tags: route.tags
288
+ });
289
+ }
290
+ else {
291
+ throw TypeError(`Expected instance of BaseResponseUtil (at ${method} ${path})`);
292
+ }
245
293
  }
246
294
  // route security
247
- if (((_s = sRoute.settings) === null || _s === void 0 ? void 0 : _s.auth) && typeof sRoute.settings.auth === 'object' && securitySchemes) {
295
+ if (((_o = sRoute.settings) === null || _o === void 0 ? void 0 : _o.auth) && typeof sRoute.settings.auth === 'object' && securitySchemes) {
248
296
  let strategies = sRoute.settings.auth.strategies;
249
297
  if (!strategies.length && authConfigDefault) {
250
298
  strategies = authConfigDefault.strategy ?
251
299
  [authConfigDefault.strategy] :
252
- (((_t = authConfigDefault.strategies) === null || _t === void 0 ? void 0 : _t.length) ? authConfigDefault.strategies : []);
300
+ (((_p = authConfigDefault.strategies) === null || _p === void 0 ? void 0 : _p.length) ? authConfigDefault.strategies : []);
253
301
  }
254
302
  if (strategies.length && securitySchemes) {
255
303
  const schemes = strategies
@@ -272,7 +320,7 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
272
320
  return route;
273
321
  });
274
322
  routes.push(...formattedRoutes);
275
- return { routes, extensions };
323
+ return { routes, modifiers };
276
324
  }
277
325
  class KaapiOpenAPI extends api_doc_generator_1.OpenAPI {
278
326
  constructor(options) {
@@ -327,17 +375,46 @@ class KaapiOpenAPI extends api_doc_generator_1.OpenAPI {
327
375
  }
328
376
  return result;
329
377
  }
330
- extendRoute(path, method, definition) {
331
- this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
332
- [path]: {
333
- [method.toLowerCase()]: definition
334
- }
335
- });
378
+ modifyRoute(path, method, definition) {
379
+ if (definition instanceof modifiers_1.ResponseDocsModifier) {
380
+ this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
381
+ [path]: {
382
+ [method.toLowerCase()]: {
383
+ responses: definition.toOpenAPIRefPreferred()
384
+ }
385
+ }
386
+ });
387
+ }
388
+ else if (definition instanceof baseResponseUtils_1.BaseResponseUtil) {
389
+ this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
390
+ [path]: {
391
+ [method.toLowerCase()]: {
392
+ responses: definition.toOpenAPI()
393
+ }
394
+ }
395
+ });
396
+ }
397
+ else if (definition instanceof modifiers_1.RequestBodyDocsModifier) {
398
+ this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
399
+ [path]: {
400
+ [method.toLowerCase()]: {
401
+ requestBody: definition.toOpenAPI()
402
+ }
403
+ }
404
+ });
405
+ }
406
+ else {
407
+ this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
408
+ [path]: {
409
+ [method.toLowerCase()]: definition
410
+ }
411
+ });
412
+ }
336
413
  }
337
- addCustom(routes, extensions) {
338
- if (extensions) {
339
- for (const o of extensions) {
340
- this.extendRoute(o.path, o.method, o.definition);
414
+ addCustom(routes, modifiers) {
415
+ if (modifiers) {
416
+ for (const o of modifiers) {
417
+ this.modifyRoute(o.path, o.method, o.definition);
341
418
  }
342
419
  }
343
420
  return super.add(routes);
@@ -370,6 +447,153 @@ class KaapiPostman extends api_doc_generator_1.Postman {
370
447
  api_doc_mix_helpers_1.PostmanMixHelper.helperClasses.add(options.helperClass);
371
448
  }
372
449
  super(Object.assign(Object.assign({}, options), { helperClass: api_doc_mix_helpers_1.PostmanMixHelper }));
450
+ this.routeExtensions = {
451
+ tagged: {},
452
+ notTagged: {}
453
+ };
454
+ }
455
+ /**
456
+ * @override
457
+ */
458
+ removeAll() {
459
+ this.routeExtensions = {
460
+ tagged: {},
461
+ notTagged: {}
462
+ };
463
+ return super.removeAll();
464
+ }
465
+ /**
466
+ * @override
467
+ */
468
+ result() {
469
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
470
+ let result = super.result();
471
+ if (Object.keys(this.routeExtensions.tagged).length || Object.keys(this.routeExtensions.notTagged).length) {
472
+ result = (0, deep_extend_1.deepExtend)({}, result);
473
+ }
474
+ if (Object.keys(this.routeExtensions.tagged).length) {
475
+ for (const tag in this.routeExtensions.tagged) {
476
+ const folder = result.item.find(f => f.name === tag);
477
+ if (tag === (folder === null || folder === void 0 ? void 0 : folder.name)) {
478
+ if ('item' in folder) {
479
+ const extByPath = this.routeExtensions.tagged[tag];
480
+ itemLoop: for (const item of folder.item) {
481
+ if ('request' in item &&
482
+ ((_a = item.request.url) === null || _a === void 0 ? void 0 : _a.path) &&
483
+ item.request.method) {
484
+ const requestPath = (typeof ((_b = item.request.url) === null || _b === void 0 ? void 0 : _b.path) === 'string' ?
485
+ (_c = item.request.url) === null || _c === void 0 ? void 0 : _c.path : (_e = (_d = item.request.url) === null || _d === void 0 ? void 0 : _d.path) === null || _e === void 0 ? void 0 : _e.join('/'));
486
+ if (requestPath) {
487
+ const extByMethod = extByPath[`/${requestPath}`];
488
+ if (extByMethod && extByMethod[item.request.method]) {
489
+ const def = extByMethod[item.request.method];
490
+ if (def.name && def.name != item.name) {
491
+ continue itemLoop;
492
+ }
493
+ if (def.definition.header.length) {
494
+ item.request.header = item.request.header || [];
495
+ if (Array.isArray(item.request.header)) {
496
+ const mergedMap = new Map();
497
+ // Add all source items first
498
+ item.request.header.forEach(item => mergedMap.set(item.key, item));
499
+ // Merge with updates
500
+ def.definition.header.forEach(item => {
501
+ if (mergedMap.has(item.key)) {
502
+ // Merge properties: source + update (update overrides conflicts)
503
+ mergedMap.set(item.key, Object.assign(Object.assign({}, mergedMap.get(item.key)), item));
504
+ }
505
+ else {
506
+ mergedMap.set(item.key, item);
507
+ }
508
+ });
509
+ item.request.header = Array.from(mergedMap.values());
510
+ }
511
+ else {
512
+ // is a string
513
+ }
514
+ }
515
+ item.request.body = (0, deep_extend_1.deepExtend)(item.request.body || {}, def.definition.body);
516
+ }
517
+ }
518
+ }
519
+ }
520
+ }
521
+ }
522
+ }
523
+ }
524
+ if (Object.keys(this.routeExtensions.notTagged).length) {
525
+ const extByPath = this.routeExtensions.notTagged;
526
+ itemLoop: for (const item of result.item) {
527
+ if ('request' in item &&
528
+ ((_f = item.request.url) === null || _f === void 0 ? void 0 : _f.path) &&
529
+ item.request.method) {
530
+ const requestPath = (typeof ((_g = item.request.url) === null || _g === void 0 ? void 0 : _g.path) === 'string' ?
531
+ (_h = item.request.url) === null || _h === void 0 ? void 0 : _h.path : (_k = (_j = item.request.url) === null || _j === void 0 ? void 0 : _j.path) === null || _k === void 0 ? void 0 : _k.join('/'));
532
+ if (requestPath) {
533
+ const extByMethod = extByPath[`/${requestPath}`];
534
+ if (extByMethod && extByMethod[item.request.method]) {
535
+ const def = extByMethod[item.request.method];
536
+ if (def.name && def.name != item.name) {
537
+ continue itemLoop;
538
+ }
539
+ if (def.definition.header.length) {
540
+ item.request.header = item.request.header || [];
541
+ if (Array.isArray(item.request.header)) {
542
+ const mergedMap = new Map();
543
+ // Add all source items first
544
+ item.request.header.forEach(item => mergedMap.set(item.key, item));
545
+ // Merge with updates
546
+ def.definition.header.forEach(item => {
547
+ if (mergedMap.has(item.key)) {
548
+ // Merge properties: source + update (update overrides conflicts)
549
+ mergedMap.set(item.key, Object.assign(Object.assign({}, mergedMap.get(item.key)), item));
550
+ }
551
+ else {
552
+ mergedMap.set(item.key, item);
553
+ }
554
+ });
555
+ item.request.header = Array.from(mergedMap.values());
556
+ }
557
+ else {
558
+ // is a string
559
+ }
560
+ }
561
+ item.request.body = (0, deep_extend_1.deepExtend)(item.request.body || {}, def.definition.body);
562
+ }
563
+ }
564
+ }
565
+ }
566
+ }
567
+ return result;
568
+ }
569
+ modifyRoute(path, method, definition, name, tags) {
570
+ if (name && definition instanceof modifiers_1.RequestBodyDocsModifier) {
571
+ const v = {
572
+ [path.replace(/{([^}]+)}/g, ':$1').replace(/\*/g, '')]: {
573
+ [method.toUpperCase()]: {
574
+ name,
575
+ definition: definition.toPostman()
576
+ }
577
+ }
578
+ };
579
+ if (tags === null || tags === void 0 ? void 0 : tags.length) {
580
+ for (const tag of tags) {
581
+ this.routeExtensions.tagged[tag] = (0, deep_extend_1.deepExtend)(this.routeExtensions.tagged[tag], v);
582
+ }
583
+ }
584
+ else {
585
+ this.routeExtensions.notTagged = (0, deep_extend_1.deepExtend)(this.routeExtensions.notTagged, v);
586
+ }
587
+ }
588
+ }
589
+ addCustom(routes, modifiers) {
590
+ if (modifiers) {
591
+ for (const o of modifiers) {
592
+ if (o.name && o.definition instanceof modifiers_1.RequestBodyDocsModifier)
593
+ this.modifyRoute(o.path, o.method, o.definition, o.name, o.tags);
594
+ }
595
+ }
596
+ return super.add(routes);
373
597
  }
374
598
  addHelperClass(helperClass) {
375
599
  api_doc_mix_helpers_1.PostmanMixHelper.helperClasses.add(helperClass);
@@ -1 +1 @@
1
- {"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../src/services/docs/generators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../src/services/docs/generators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { ContextResponseUtil, GroupResponseUtil, IOpenAPIResponseContext, MediaTypeUtil, ReferenceObject, ResponseUtil, SchemaObject3_1 } from '@novice1/api-doc-generator';
2
+ import { ExampleObject, MediaTypeObject, ResponseObject } from '@novice1/api-doc-generator/lib/generators/openapi/definitions';
3
+ import { HeaderObject, RequestBodyObject } from '@novice1/api-doc-generator/lib/generators/postman/definitions';
4
+ import { BaseResponseUtil } from '@novice1/api-doc-generator/lib/utils/responses/baseResponseUtils';
5
+ export type SchemaModel = Omit<SchemaObject3_1, 'allOf' | 'anyOf' | 'oneOf' | 'not' | 'items' | 'properties' | 'additionalProperties'> & {
6
+ allOf?: Array<SchemaModel | ISchemaModifier>;
7
+ anyOf?: Array<SchemaModel | ISchemaModifier>;
8
+ oneOf?: Array<SchemaModel | ISchemaModifier>;
9
+ not?: SchemaModel | ISchemaModifier;
10
+ items?: SchemaModel | ISchemaModifier;
11
+ properties?: Record<string, SchemaModel | ISchemaModifier>;
12
+ additionalProperties?: boolean | SchemaModel | ISchemaModifier;
13
+ };
14
+ export interface ISchemaModifier {
15
+ ref(): ReferenceObject;
16
+ toObject(): SchemaObject3_1;
17
+ }
18
+ export type MediaTypeModel = Omit<MediaTypeObject, 'schema' | 'examples'> & {
19
+ examples?: Record<string, ExampleObject | ReferenceObject | ExampleModifier>;
20
+ schema?: SchemaModel | ReferenceObject | SchemaModifier;
21
+ };
22
+ export interface OpenAPIRequestBodyObject {
23
+ content: Record<string, MediaTypeObject>;
24
+ description?: string;
25
+ required?: boolean;
26
+ }
27
+ export type PostmanRequestBodyModel = {
28
+ body: RequestBodyObject;
29
+ header: HeaderObject[];
30
+ };
31
+ export declare class ExampleModifier {
32
+ protected name: string;
33
+ protected value: unknown;
34
+ protected externalValue?: string;
35
+ protected summary?: string;
36
+ protected description?: string;
37
+ constructor(name: string, example?: ExampleObject);
38
+ getName(): string;
39
+ setValue(value: unknown): this;
40
+ getValue(): unknown;
41
+ setExternalValue(externalValue: string): this;
42
+ getExternalValue(): string | undefined;
43
+ setSummary(summary: string): this;
44
+ getSummary(): string | undefined;
45
+ setDescription(description: string): this;
46
+ getDescription(): string | undefined;
47
+ ref(): ReferenceObject;
48
+ toObject(): ExampleObject;
49
+ toJSON(): ExampleObject;
50
+ }
51
+ export declare class SchemaModifier implements ISchemaModifier {
52
+ #private;
53
+ protected name: string;
54
+ protected schema: SchemaModel;
55
+ constructor(name: string, schema?: SchemaModel);
56
+ getName(): string;
57
+ setSchema(schema: SchemaModel): this;
58
+ ref(): ReferenceObject;
59
+ toObject(): SchemaObject3_1;
60
+ toJSON(): SchemaObject3_1;
61
+ }
62
+ export declare class MediaTypeModifier extends MediaTypeUtil {
63
+ protected schema?: SchemaModel | SchemaModifier;
64
+ protected examples?: Record<string, ExampleObject | ReferenceObject | ExampleModifier>;
65
+ constructor(mediaType?: MediaTypeModel);
66
+ setExamples(examples: Record<string, ExampleObject | ReferenceObject | ExampleModifier>): this;
67
+ setSchema(schema: SchemaModel | SchemaModifier): this;
68
+ toObject(noRef?: boolean): MediaTypeObject;
69
+ toModel(): MediaTypeModel;
70
+ }
71
+ export declare class RequestBodyDocsModifier {
72
+ protected name: string;
73
+ protected content: Record<string, MediaTypeModifier>;
74
+ protected description?: string;
75
+ protected required?: boolean;
76
+ protected requestBodyRef?: string;
77
+ constructor(name?: string);
78
+ /**
79
+ *
80
+ * @param description A short description of the response.
81
+ * CommonMark syntax MAY be used for rich text representation.
82
+ */
83
+ setDescription(description: string): this;
84
+ setName(name: string): this;
85
+ setRequired(isRequired: boolean): this;
86
+ setRef(requestBodyRef: string): this;
87
+ getDescription(): string | undefined;
88
+ getName(): string;
89
+ isRequired(): boolean;
90
+ addMediaType(contentType: string, mediaType?: MediaTypeModel | MediaTypeModifier): this;
91
+ ref(): ReferenceObject;
92
+ toPostman(): PostmanRequestBodyModel;
93
+ toOpenAPI(): OpenAPIRequestBodyObject;
94
+ }
95
+ /**
96
+ * Set a name (setName) or a ref (setRef) for it to be used as a reference.
97
+ */
98
+ export declare class ResponseDocsModifier extends ResponseUtil {
99
+ constructor(name?: string);
100
+ toOpenAPIRefPreferred(): Record<string, ResponseObject | ReferenceObject>;
101
+ toOpenAPIRefPreferred(ctxt: IOpenAPIResponseContext): Record<string, ResponseObject | ReferenceObject>;
102
+ withContext(): ContextResponseDocsModifier;
103
+ }
104
+ export declare class ContextResponseDocsModifier extends ContextResponseUtil {
105
+ toOpenAPI(): Record<string, ResponseObject | ReferenceObject>;
106
+ }
107
+ export declare class GroupResponseDocsModifier extends GroupResponseUtil {
108
+ constructor(responseUtils: BaseResponseUtil[]);
109
+ toOpenAPIRefPreferred(): Record<string, ResponseObject | ReferenceObject>;
110
+ }
111
+ export declare function groupResponses(...modifiers: BaseResponseUtil[]): GroupResponseDocsModifier;