@kaapi/kaapi 0.0.23 → 0.0.25

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, _q, _r;
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,46 @@ 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
+ if ((_m = pluginKaapiDocs.modifiers) === null || _m === void 0 ? void 0 : _m.requestBody) {
118
+ if (pluginKaapiDocs.modifiers.requestBody instanceof modifiers_1.RequestBodyDocsModifier) {
119
+ modifiers.push({
118
120
  path: path,
119
121
  method: method.toLowerCase(),
120
- definition: sRoute.options.plugins.kaapi.docs.openApiSchemaExtension
122
+ definition: pluginKaapiDocs.modifiers.requestBody,
123
+ name: route.name,
124
+ tags: route.tags
121
125
  });
122
126
  }
127
+ else {
128
+ throw TypeError(`Expected instance of RequestBodyDocsModifier (at ${method} ${path})`);
129
+ }
130
+ }
131
+ if ((_o = pluginKaapiDocs.modifiers) === null || _o === void 0 ? void 0 : _o.responses) {
132
+ if (pluginKaapiDocs.modifiers.responses instanceof baseResponseUtils_1.BaseResponseUtil) {
133
+ modifiers.push({
134
+ path: path,
135
+ method: method.toLowerCase(),
136
+ definition: pluginKaapiDocs.modifiers.responses,
137
+ name: route.name,
138
+ tags: route.tags
139
+ });
140
+ }
141
+ else {
142
+ throw TypeError(`Expected instance of BaseResponseUtil (at ${method} ${path})`);
143
+ }
123
144
  }
124
145
  // route security
125
- if (((_s = sRoute.options) === null || _s === void 0 ? void 0 : _s.auth) && typeof sRoute.options.auth === 'object' && securitySchemes) {
146
+ if (((_p = sRoute.options) === null || _p === void 0 ? void 0 : _p.auth) && typeof sRoute.options.auth === 'object' && securitySchemes) {
126
147
  let strategies = sRoute.options.auth.strategy ?
127
148
  [sRoute.options.auth.strategy] :
128
- (((_t = sRoute.options.auth.strategies) === null || _t === void 0 ? void 0 : _t.length) ? sRoute.options.auth.strategies : []);
149
+ (((_q = sRoute.options.auth.strategies) === null || _q === void 0 ? void 0 : _q.length) ? sRoute.options.auth.strategies : []);
129
150
  if (!strategies.length && authConfigDefault) {
130
151
  strategies = authConfigDefault.strategy ?
131
152
  [authConfigDefault.strategy] :
132
- (((_u = authConfigDefault.strategies) === null || _u === void 0 ? void 0 : _u.length) ? authConfigDefault.strategies : []);
153
+ (((_r = authConfigDefault.strategies) === null || _r === void 0 ? void 0 : _r.length) ? authConfigDefault.strategies : []);
133
154
  }
134
155
  if (strategies.length && securitySchemes) {
135
156
  const schemes = strategies
@@ -161,13 +182,13 @@ function formatRoutes(serverRoutes, securitySchemes, authConfigDefault) {
161
182
  });
162
183
  routes.push(...formattedRoutes);
163
184
  });
164
- return { routes, extensions };
185
+ return { routes, modifiers };
165
186
  }
166
187
  function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
167
188
  var _a, _b, _c, _d, _e;
168
189
  const sRoute = reqRoute;
169
190
  const routes = [];
170
- const extensions = [];
191
+ const modifiers = [];
171
192
  // only string paths
172
193
  if (typeof sRoute.path != 'string')
173
194
  return { routes };
@@ -190,7 +211,7 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
190
211
  methods = [sRoute.method];
191
212
  }
192
213
  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;
214
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
194
215
  const route = {
195
216
  methods: {
196
217
  [method.toLowerCase()]: true
@@ -210,8 +231,8 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
210
231
  (_h = sRoute.settings) === null || _h === void 0 ? void 0 : _h.validate;
211
232
  let files = undefined;
212
233
  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 :
234
+ const helperClass = (pluginKaapiDocs.openAPIHelperClass) ?
235
+ pluginKaapiDocs.openAPIHelperClass :
215
236
  CustomHelper;
216
237
  const helper = new helperClass({ value: routeOptionsValidate.payload });
217
238
  if (helper.isValid() && helper.getType() === 'object') {
@@ -222,7 +243,7 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
222
243
  }
223
244
  }
224
245
  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) {
246
+ if ((_k = sRoute.settings) === null || _k === void 0 ? void 0 : _k.notes) {
226
247
  route.parameters.descriptionType = 'text/markdown';
227
248
  if (Array.isArray(sRoute.settings.notes)) {
228
249
  route.parameters.story = sRoute.settings.notes.join('\n\n');
@@ -231,25 +252,44 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
231
252
  route.parameters.story = sRoute.settings.notes;
232
253
  }
233
254
  }
234
- if (route.parameters && ((_p = (_o = sRoute.settings) === null || _o === void 0 ? void 0 : _o.payload) === null || _p === void 0 ? void 0 : _p.allow)) {
255
+ if (route.parameters && ((_m = (_l = sRoute.settings) === null || _l === void 0 ? void 0 : _l.payload) === null || _m === void 0 ? void 0 : _m.allow)) {
235
256
  route.parameters.consumes = Array.isArray(sRoute.settings.payload.allow) ? sRoute.settings.payload.allow : [sRoute.settings.payload.allow];
236
257
  }
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({
258
+ if ((_o = pluginKaapiDocs.modifiers) === null || _o === void 0 ? void 0 : _o.requestBody) {
259
+ if (pluginKaapiDocs.modifiers.requestBody instanceof modifiers_1.RequestBodyDocsModifier) {
260
+ modifiers.push({
240
261
  path: path,
241
262
  method: method.toLowerCase(),
242
- definition: sRoute.settings.plugins.kaapi.docs.openApiSchemaExtension
263
+ definition: pluginKaapiDocs.modifiers.requestBody,
264
+ name: route.name,
265
+ tags: route.tags
243
266
  });
244
267
  }
268
+ else {
269
+ throw TypeError(`Expected instance of RequestBodyDocsModifier (at ${method} ${path})`);
270
+ }
271
+ }
272
+ if ((_p = pluginKaapiDocs.modifiers) === null || _p === void 0 ? void 0 : _p.responses) {
273
+ if (pluginKaapiDocs.modifiers.responses instanceof baseResponseUtils_1.BaseResponseUtil) {
274
+ modifiers.push({
275
+ path: path,
276
+ method: method.toLowerCase(),
277
+ definition: pluginKaapiDocs.modifiers.responses,
278
+ name: route.name,
279
+ tags: route.tags
280
+ });
281
+ }
282
+ else {
283
+ throw TypeError(`Expected instance of BaseResponseUtil (at ${method} ${path})`);
284
+ }
245
285
  }
246
286
  // route security
247
- if (((_s = sRoute.settings) === null || _s === void 0 ? void 0 : _s.auth) && typeof sRoute.settings.auth === 'object' && securitySchemes) {
287
+ if (((_q = sRoute.settings) === null || _q === void 0 ? void 0 : _q.auth) && typeof sRoute.settings.auth === 'object' && securitySchemes) {
248
288
  let strategies = sRoute.settings.auth.strategies;
249
289
  if (!strategies.length && authConfigDefault) {
250
290
  strategies = authConfigDefault.strategy ?
251
291
  [authConfigDefault.strategy] :
252
- (((_t = authConfigDefault.strategies) === null || _t === void 0 ? void 0 : _t.length) ? authConfigDefault.strategies : []);
292
+ (((_r = authConfigDefault.strategies) === null || _r === void 0 ? void 0 : _r.length) ? authConfigDefault.strategies : []);
253
293
  }
254
294
  if (strategies.length && securitySchemes) {
255
295
  const schemes = strategies
@@ -272,7 +312,7 @@ function formatRequestRoute(reqRoute, securitySchemes, authConfigDefault) {
272
312
  return route;
273
313
  });
274
314
  routes.push(...formattedRoutes);
275
- return { routes, extensions };
315
+ return { routes, modifiers };
276
316
  }
277
317
  class KaapiOpenAPI extends api_doc_generator_1.OpenAPI {
278
318
  constructor(options) {
@@ -327,17 +367,46 @@ class KaapiOpenAPI extends api_doc_generator_1.OpenAPI {
327
367
  }
328
368
  return result;
329
369
  }
330
- extendRoute(path, method, definition) {
331
- this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
332
- [path]: {
333
- [method.toLowerCase()]: definition
334
- }
335
- });
370
+ modifyRoute(path, method, definition) {
371
+ if (definition instanceof modifiers_1.ResponseDocsModifier) {
372
+ this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
373
+ [path]: {
374
+ [method.toLowerCase()]: {
375
+ responses: definition.toOpenAPIRefPreferred()
376
+ }
377
+ }
378
+ });
379
+ }
380
+ else if (definition instanceof baseResponseUtils_1.BaseResponseUtil) {
381
+ this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
382
+ [path]: {
383
+ [method.toLowerCase()]: {
384
+ responses: definition.toOpenAPI()
385
+ }
386
+ }
387
+ });
388
+ }
389
+ else if (definition instanceof modifiers_1.RequestBodyDocsModifier) {
390
+ this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
391
+ [path]: {
392
+ [method.toLowerCase()]: {
393
+ requestBody: definition.toOpenAPI()
394
+ }
395
+ }
396
+ });
397
+ }
398
+ else {
399
+ this.routeExtensions = (0, deep_extend_1.deepExtend)(this.routeExtensions, {
400
+ [path]: {
401
+ [method.toLowerCase()]: definition
402
+ }
403
+ });
404
+ }
336
405
  }
337
- addCustom(routes, extensions) {
338
- if (extensions) {
339
- for (const o of extensions) {
340
- this.extendRoute(o.path, o.method, o.definition);
406
+ addCustom(routes, modifiers) {
407
+ if (modifiers) {
408
+ for (const o of modifiers) {
409
+ this.modifyRoute(o.path, o.method, o.definition);
341
410
  }
342
411
  }
343
412
  return super.add(routes);
@@ -370,6 +439,153 @@ class KaapiPostman extends api_doc_generator_1.Postman {
370
439
  api_doc_mix_helpers_1.PostmanMixHelper.helperClasses.add(options.helperClass);
371
440
  }
372
441
  super(Object.assign(Object.assign({}, options), { helperClass: api_doc_mix_helpers_1.PostmanMixHelper }));
442
+ this.routeExtensions = {
443
+ tagged: {},
444
+ notTagged: {}
445
+ };
446
+ }
447
+ /**
448
+ * @override
449
+ */
450
+ removeAll() {
451
+ this.routeExtensions = {
452
+ tagged: {},
453
+ notTagged: {}
454
+ };
455
+ return super.removeAll();
456
+ }
457
+ /**
458
+ * @override
459
+ */
460
+ result() {
461
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
462
+ let result = super.result();
463
+ if (Object.keys(this.routeExtensions.tagged).length || Object.keys(this.routeExtensions.notTagged).length) {
464
+ result = (0, deep_extend_1.deepExtend)({}, result);
465
+ }
466
+ if (Object.keys(this.routeExtensions.tagged).length) {
467
+ for (const tag in this.routeExtensions.tagged) {
468
+ const folder = result.item.find(f => f.name === tag);
469
+ if (tag === (folder === null || folder === void 0 ? void 0 : folder.name)) {
470
+ if ('item' in folder) {
471
+ const extByPath = this.routeExtensions.tagged[tag];
472
+ itemLoop: for (const item of folder.item) {
473
+ if ('request' in item &&
474
+ ((_a = item.request.url) === null || _a === void 0 ? void 0 : _a.path) &&
475
+ item.request.method) {
476
+ const requestPath = (typeof ((_b = item.request.url) === null || _b === void 0 ? void 0 : _b.path) === 'string' ?
477
+ (_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('/'));
478
+ if (requestPath) {
479
+ const extByMethod = extByPath[`/${requestPath}`];
480
+ if (extByMethod && extByMethod[item.request.method]) {
481
+ const def = extByMethod[item.request.method];
482
+ if (def.name && def.name != item.name) {
483
+ continue itemLoop;
484
+ }
485
+ if (def.definition.header.length) {
486
+ item.request.header = item.request.header || [];
487
+ if (Array.isArray(item.request.header)) {
488
+ const mergedMap = new Map();
489
+ // Add all source items first
490
+ item.request.header.forEach(item => mergedMap.set(item.key, item));
491
+ // Merge with updates
492
+ def.definition.header.forEach(item => {
493
+ if (mergedMap.has(item.key)) {
494
+ // Merge properties: source + update (update overrides conflicts)
495
+ mergedMap.set(item.key, Object.assign(Object.assign({}, mergedMap.get(item.key)), item));
496
+ }
497
+ else {
498
+ mergedMap.set(item.key, item);
499
+ }
500
+ });
501
+ item.request.header = Array.from(mergedMap.values());
502
+ }
503
+ else {
504
+ // is a string
505
+ }
506
+ }
507
+ item.request.body = (0, deep_extend_1.deepExtend)(item.request.body || {}, def.definition.body);
508
+ }
509
+ }
510
+ }
511
+ }
512
+ }
513
+ }
514
+ }
515
+ }
516
+ if (Object.keys(this.routeExtensions.notTagged).length) {
517
+ const extByPath = this.routeExtensions.notTagged;
518
+ itemLoop: for (const item of result.item) {
519
+ if ('request' in item &&
520
+ ((_f = item.request.url) === null || _f === void 0 ? void 0 : _f.path) &&
521
+ item.request.method) {
522
+ const requestPath = (typeof ((_g = item.request.url) === null || _g === void 0 ? void 0 : _g.path) === 'string' ?
523
+ (_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('/'));
524
+ if (requestPath) {
525
+ const extByMethod = extByPath[`/${requestPath}`];
526
+ if (extByMethod && extByMethod[item.request.method]) {
527
+ const def = extByMethod[item.request.method];
528
+ if (def.name && def.name != item.name) {
529
+ continue itemLoop;
530
+ }
531
+ if (def.definition.header.length) {
532
+ item.request.header = item.request.header || [];
533
+ if (Array.isArray(item.request.header)) {
534
+ const mergedMap = new Map();
535
+ // Add all source items first
536
+ item.request.header.forEach(item => mergedMap.set(item.key, item));
537
+ // Merge with updates
538
+ def.definition.header.forEach(item => {
539
+ if (mergedMap.has(item.key)) {
540
+ // Merge properties: source + update (update overrides conflicts)
541
+ mergedMap.set(item.key, Object.assign(Object.assign({}, mergedMap.get(item.key)), item));
542
+ }
543
+ else {
544
+ mergedMap.set(item.key, item);
545
+ }
546
+ });
547
+ item.request.header = Array.from(mergedMap.values());
548
+ }
549
+ else {
550
+ // is a string
551
+ }
552
+ }
553
+ item.request.body = (0, deep_extend_1.deepExtend)(item.request.body || {}, def.definition.body);
554
+ }
555
+ }
556
+ }
557
+ }
558
+ }
559
+ return result;
560
+ }
561
+ modifyRoute(path, method, definition, name, tags) {
562
+ if (name && definition instanceof modifiers_1.RequestBodyDocsModifier) {
563
+ const v = {
564
+ [path.replace(/{([^}]+)}/g, ':$1').replace(/\*/g, '')]: {
565
+ [method.toUpperCase()]: {
566
+ name,
567
+ definition: definition.toPostman()
568
+ }
569
+ }
570
+ };
571
+ if (tags === null || tags === void 0 ? void 0 : tags.length) {
572
+ for (const tag of tags) {
573
+ this.routeExtensions.tagged[tag] = (0, deep_extend_1.deepExtend)(this.routeExtensions.tagged[tag], v);
574
+ }
575
+ }
576
+ else {
577
+ this.routeExtensions.notTagged = (0, deep_extend_1.deepExtend)(this.routeExtensions.notTagged, v);
578
+ }
579
+ }
580
+ }
581
+ addCustom(routes, modifiers) {
582
+ if (modifiers) {
583
+ for (const o of modifiers) {
584
+ if (o.name && o.definition instanceof modifiers_1.RequestBodyDocsModifier)
585
+ this.modifyRoute(o.path, o.method, o.definition, o.name, o.tags);
586
+ }
587
+ }
588
+ return super.add(routes);
373
589
  }
374
590
  addHelperClass(helperClass) {
375
591
  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;