@mintlify/scraping 4.0.207 → 4.0.208
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.
|
@@ -356,3 +356,193 @@ export const pathsAndWebhooksDoc: DocumentV3 = {
|
|
|
356
356
|
},
|
|
357
357
|
},
|
|
358
358
|
};
|
|
359
|
+
|
|
360
|
+
export const secretPlantStore = {
|
|
361
|
+
openapi: '3.1.0',
|
|
362
|
+
info: {
|
|
363
|
+
title: 'OpenAPI Plant Store',
|
|
364
|
+
description:
|
|
365
|
+
'A sample API that uses a plant store as an example to demonstrate features in the OpenAPI specification',
|
|
366
|
+
license: {
|
|
367
|
+
name: 'MIT',
|
|
368
|
+
},
|
|
369
|
+
version: '1.0.0',
|
|
370
|
+
},
|
|
371
|
+
servers: [
|
|
372
|
+
{
|
|
373
|
+
url: 'http://sandbox.mintlify.com',
|
|
374
|
+
},
|
|
375
|
+
],
|
|
376
|
+
security: [
|
|
377
|
+
{
|
|
378
|
+
bearerAuth: [],
|
|
379
|
+
},
|
|
380
|
+
],
|
|
381
|
+
paths: {
|
|
382
|
+
'/secretPlants': {
|
|
383
|
+
get: {
|
|
384
|
+
'x-hidden': true,
|
|
385
|
+
description:
|
|
386
|
+
'Returns all secret plants from the system that the user has access to, but you should never see this in the API reference',
|
|
387
|
+
responses: {
|
|
388
|
+
200: {
|
|
389
|
+
description: 'Secret plant response',
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
},
|
|
393
|
+
},
|
|
394
|
+
'/plants': {
|
|
395
|
+
get: {
|
|
396
|
+
description: 'Returns all plants from the system that the user has access to',
|
|
397
|
+
parameters: [
|
|
398
|
+
{
|
|
399
|
+
name: 'limit',
|
|
400
|
+
in: 'query',
|
|
401
|
+
description: 'The maximum number of results to return',
|
|
402
|
+
schema: {
|
|
403
|
+
type: 'integer',
|
|
404
|
+
format: 'int32',
|
|
405
|
+
},
|
|
406
|
+
},
|
|
407
|
+
],
|
|
408
|
+
responses: {
|
|
409
|
+
200: {
|
|
410
|
+
description: 'Plant response',
|
|
411
|
+
content: {
|
|
412
|
+
'application/json': {
|
|
413
|
+
schema: {
|
|
414
|
+
type: 'array',
|
|
415
|
+
items: {
|
|
416
|
+
$ref: '#/components/schemas/Plant',
|
|
417
|
+
},
|
|
418
|
+
},
|
|
419
|
+
},
|
|
420
|
+
},
|
|
421
|
+
},
|
|
422
|
+
404: {
|
|
423
|
+
description: 'Plant not found',
|
|
424
|
+
},
|
|
425
|
+
400: {
|
|
426
|
+
description: 'Unexpected error',
|
|
427
|
+
content: {
|
|
428
|
+
'application/json': {
|
|
429
|
+
schema: {
|
|
430
|
+
$ref: '#/components/schemas/Error',
|
|
431
|
+
},
|
|
432
|
+
},
|
|
433
|
+
},
|
|
434
|
+
},
|
|
435
|
+
},
|
|
436
|
+
},
|
|
437
|
+
post: {
|
|
438
|
+
description: 'Creates a new plant in the store',
|
|
439
|
+
requestBody: {
|
|
440
|
+
description: 'Plant to add to the store',
|
|
441
|
+
content: {
|
|
442
|
+
'application/json': {
|
|
443
|
+
schema: {
|
|
444
|
+
$ref: '#/components/schemas/NewPlant',
|
|
445
|
+
},
|
|
446
|
+
},
|
|
447
|
+
},
|
|
448
|
+
required: true,
|
|
449
|
+
},
|
|
450
|
+
responses: {
|
|
451
|
+
200: {
|
|
452
|
+
description: 'plant response',
|
|
453
|
+
content: {
|
|
454
|
+
'application/json': {
|
|
455
|
+
schema: {
|
|
456
|
+
$ref: '#/components/schemas/Plant',
|
|
457
|
+
},
|
|
458
|
+
},
|
|
459
|
+
},
|
|
460
|
+
},
|
|
461
|
+
400: {
|
|
462
|
+
description: 'unexpected error',
|
|
463
|
+
content: {
|
|
464
|
+
'application/json': {
|
|
465
|
+
schema: {
|
|
466
|
+
$ref: '#/components/schemas/Error',
|
|
467
|
+
},
|
|
468
|
+
},
|
|
469
|
+
},
|
|
470
|
+
},
|
|
471
|
+
},
|
|
472
|
+
},
|
|
473
|
+
},
|
|
474
|
+
},
|
|
475
|
+
webhooks: {
|
|
476
|
+
'/plant/secret-webhook': {
|
|
477
|
+
post: {
|
|
478
|
+
'x-hidden': true,
|
|
479
|
+
description: 'Secret webhook for plant events',
|
|
480
|
+
requestBody: {
|
|
481
|
+
description: 'Plant added to the store',
|
|
482
|
+
content: {
|
|
483
|
+
'application/json': {
|
|
484
|
+
schema: {},
|
|
485
|
+
},
|
|
486
|
+
},
|
|
487
|
+
},
|
|
488
|
+
},
|
|
489
|
+
},
|
|
490
|
+
'/plant/webhook': {
|
|
491
|
+
post: {
|
|
492
|
+
description: 'Information about a new plant added to the store',
|
|
493
|
+
requestBody: {
|
|
494
|
+
description: 'Plant added to the store',
|
|
495
|
+
content: {
|
|
496
|
+
'application/json': {
|
|
497
|
+
schema: {
|
|
498
|
+
$ref: '#/components/schemas/NewPlant',
|
|
499
|
+
},
|
|
500
|
+
},
|
|
501
|
+
},
|
|
502
|
+
},
|
|
503
|
+
responses: {
|
|
504
|
+
200: {
|
|
505
|
+
description: 'Return a 200 status to indicate that the data was received successfully',
|
|
506
|
+
},
|
|
507
|
+
},
|
|
508
|
+
},
|
|
509
|
+
},
|
|
510
|
+
},
|
|
511
|
+
components: {
|
|
512
|
+
schemas: {
|
|
513
|
+
Plant: {
|
|
514
|
+
required: ['name'],
|
|
515
|
+
type: 'object',
|
|
516
|
+
properties: {
|
|
517
|
+
name: {
|
|
518
|
+
description: 'The name of the plant',
|
|
519
|
+
type: 'string',
|
|
520
|
+
},
|
|
521
|
+
tag: {
|
|
522
|
+
description: 'Tag to specify the type',
|
|
523
|
+
type: 'string',
|
|
524
|
+
},
|
|
525
|
+
},
|
|
526
|
+
},
|
|
527
|
+
Error: {
|
|
528
|
+
required: ['error', 'message'],
|
|
529
|
+
type: 'object',
|
|
530
|
+
properties: {
|
|
531
|
+
error: {
|
|
532
|
+
type: 'integer',
|
|
533
|
+
format: 'int32',
|
|
534
|
+
},
|
|
535
|
+
message: {
|
|
536
|
+
type: 'string',
|
|
537
|
+
},
|
|
538
|
+
},
|
|
539
|
+
},
|
|
540
|
+
},
|
|
541
|
+
securitySchemes: {
|
|
542
|
+
bearerAuth: {
|
|
543
|
+
type: 'http',
|
|
544
|
+
scheme: 'bearer',
|
|
545
|
+
},
|
|
546
|
+
},
|
|
547
|
+
},
|
|
548
|
+
};
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
complexDoc,
|
|
11
11
|
webhooksDoc,
|
|
12
12
|
pathsAndWebhooksDoc,
|
|
13
|
+
secretPlantStore,
|
|
13
14
|
} from './fixtures/openapi.js';
|
|
14
15
|
|
|
15
16
|
describe('generateOpenApiPagesForDocsConfig', () => {
|
|
@@ -83,4 +84,20 @@ describe('generateOpenApiPagesForDocsConfig', () => {
|
|
|
83
84
|
expect((result.nav[0] as { pages: string[] }).pages[2]).toBe('delete-plants');
|
|
84
85
|
expect((result.nav[0] as { pages: string[] }).pages[3]).toBe('newplant');
|
|
85
86
|
});
|
|
87
|
+
|
|
88
|
+
it('should not create pages for paths with x-hidden', async () => {
|
|
89
|
+
const result = await generateOpenApiPagesForDocsConfig(secretPlantStore as OpenAPI.Document);
|
|
90
|
+
expect(result.nav).toHaveLength(1);
|
|
91
|
+
expect(result.nav[0]).toHaveProperty('group', DEFAULT_API_GROUP_NAME);
|
|
92
|
+
expect(result.nav[0]).toHaveProperty('pages');
|
|
93
|
+
expect((result.nav[0] as { pages: string[] }).pages.length).toBe(3);
|
|
94
|
+
expect((result.nav[0] as { pages: string[] }).pages[0]).toBe('get-plants');
|
|
95
|
+
expect((result.nav[0] as { pages: string[] }).pages[1]).toBe('post-plants');
|
|
96
|
+
expect((result.nav[0] as { pages: string[] }).pages[2]).toBe('plantwebhook');
|
|
97
|
+
expect(result.pagesAcc['get-plants']).toBeDefined();
|
|
98
|
+
expect(result.pagesAcc['post-plants']).toBeDefined();
|
|
99
|
+
expect(result.pagesAcc['plantwebhook']).toBeDefined();
|
|
100
|
+
expect(result.pagesAcc['get-secretplants']).toBeUndefined();
|
|
101
|
+
expect(result.pagesAcc['plantsecretwebhook']).toBeUndefined();
|
|
102
|
+
});
|
|
86
103
|
});
|
package/bin/openapi/common.js
CHANGED
|
@@ -40,6 +40,9 @@ openapi: ${openApiMetaTag}${version ? `\nversion: ${version}` : ''}
|
|
|
40
40
|
---`;
|
|
41
41
|
await outputFile(filename, data);
|
|
42
42
|
};
|
|
43
|
+
const isHiddenOperation = (operation) => {
|
|
44
|
+
return operation['x-hidden'];
|
|
45
|
+
};
|
|
43
46
|
export function processOpenApiPath(path, pathItemObject, schema, nav, decoratedNav, writePromises, pagesAcc, options,
|
|
44
47
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
48
|
findNavGroup) {
|
|
@@ -49,6 +52,9 @@ findNavGroup) {
|
|
|
49
52
|
Object.values(OpenAPIV3.HttpMethods).forEach((method) => {
|
|
50
53
|
if (method in pathItemObject) {
|
|
51
54
|
const operation = pathItemObject[method];
|
|
55
|
+
if (isHiddenOperation(operation)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
52
58
|
const groupName = operation?.tags?.[0];
|
|
53
59
|
const title = prepareStringToBeValidFilename(operation?.summary) ??
|
|
54
60
|
`${method}-${prepareStringToBeValidFilename(path)}`;
|
|
@@ -95,6 +101,9 @@ findNavGroup) {
|
|
|
95
101
|
Object.values(OpenAPIV3.HttpMethods).forEach((method) => {
|
|
96
102
|
if (method in webhookObject) {
|
|
97
103
|
const operation = webhookObject[method];
|
|
104
|
+
if (isHiddenOperation(operation)) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
98
107
|
const groupName = operation?.tags?.[0];
|
|
99
108
|
const title = prepareStringToBeValidFilename(operation?.summary) ??
|
|
100
109
|
`${prepareStringToBeValidFilename(webhook)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/openapi/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/openapi/common.ts"],"names":[],"mappings":"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"}
|