From 60b5598c0c0c0e8853fba50164081bc44d90d860 Mon Sep 17 00:00:00 2001 From: Andrii Balitskyi <84702959+andrii-balitskyi@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:24:25 +0200 Subject: [PATCH] feat: Introduce `draft` property (#110) * Support marking props, routes and namspaces as draft * Test new feature * ci: Format code * ci: Generate code * ci: Generate code --------- Co-authored-by: Seam Bot --- src/lib/blueprint.test.ts | 2 + src/lib/blueprint.ts | 20 + src/lib/openapi-schema.ts | 3 + .../fixtures/types/code-sample-definitions.ts | 11 + test/fixtures/types/openapi.ts | 31 + test/fixtures/types/route-specs.ts | 5 + test/fixtures/types/route-types.ts | 11 + test/fixtures/types/schemas.ts | 1 + test/snapshots/blueprint.test.ts.md | 2076 +++++++++++------ test/snapshots/blueprint.test.ts.snap | Bin 23936 -> 27438 bytes test/snapshots/seam-blueprint.test.ts.md | 471 ++++ test/snapshots/seam-blueprint.test.ts.snap | Bin 37856 -> 39638 bytes 12 files changed, 1954 insertions(+), 677 deletions(-) diff --git a/src/lib/blueprint.test.ts b/src/lib/blueprint.test.ts index 822e1fe2..29b7dab0 100644 --- a/src/lib/blueprint.test.ts +++ b/src/lib/blueprint.test.ts @@ -45,6 +45,7 @@ test('createProperties: uses provided values', (t) => { deprecated: true, 'x-deprecated': 'This property is deprecated', 'x-undocumented': 'true', + 'x-draft': 'true', }, } @@ -77,6 +78,7 @@ test('createProperties: uses provided values', (t) => { property.isUndocumented, 'isUndocumented should be true when x-undocumented is provided', ) + t.true(property.isDraft, 'isDraft should be true when x-draft is provided') }) const postEndpoint: OpenapiOperation = { diff --git a/src/lib/blueprint.ts b/src/lib/blueprint.ts index 57ad06f0..f7921635 100644 --- a/src/lib/blueprint.ts +++ b/src/lib/blueprint.ts @@ -32,6 +32,7 @@ export interface Route { subroutes: Route[] isUndocumented: boolean isDeprecated: boolean + isDraft: boolean } export interface Resource { @@ -44,6 +45,7 @@ export interface Namespace { path: string isDeprecated: boolean isUndocumented: boolean + isDraft: boolean } export interface Endpoint { @@ -53,6 +55,7 @@ export interface Endpoint { description: string isUndocumented: boolean isDeprecated: boolean + isDraft: boolean deprecationMessage: string request: Request response: Response @@ -64,6 +67,7 @@ interface BaseParameter { isRequired: boolean isUndocumented: boolean isDeprecated: boolean + isDraft: boolean deprecationMessage: string description: string } @@ -161,6 +165,7 @@ interface BaseProperty { isDeprecated: boolean deprecationMessage: string isUndocumented: boolean + isDraft: boolean } export type Property = @@ -318,6 +323,7 @@ const createRoutes = async ( return routes .map(addIsDeprecatedToRoute) .map(addIsUndocumentedToRoute) + .map(addIsDraftToRoute) .map(addNamespaceStatusToRoute) } @@ -377,12 +383,14 @@ const createRoute = async ( path: namespace, isDeprecated: false, isUndocumented: false, + isDraft: false, } : null, endpoints: await createEndpoints(path, pathItem, context), subroutes: [], isUndocumented: false, isDeprecated: false, + isDraft: false, } } @@ -396,6 +404,11 @@ const addIsUndocumentedToRoute = (route: Route): Route => ({ isUndocumented: route.endpoints.every((endpoint) => endpoint.isUndocumented), }) +const addIsDraftToRoute = (route: Route): Route => ({ + ...route, + isDraft: route.endpoints.every((endpoint) => endpoint.isDraft), +}) + const addNamespaceStatusToRoute = ( route: Route, _idx: number, @@ -408,6 +421,7 @@ const addNamespaceStatusToRoute = ( ) const isNamespaceDeprecated = namespaceRoutes.every((r) => r.isDeprecated) const isNamespaceUndocumented = namespaceRoutes.every((r) => r.isUndocumented) + const isNamespaceDraft = namespaceRoutes.every((r) => r.isDraft) return { ...route, @@ -415,6 +429,7 @@ const addNamespaceStatusToRoute = ( ...route.namespace, isDeprecated: isNamespaceDeprecated, isUndocumented: isNamespaceUndocumented, + isDraft: isNamespaceDraft, }, } } @@ -472,6 +487,8 @@ const createEndpoint = async ( const isDeprecated = parsedOperation.deprecated + const isDraft = parsedOperation['x-draft'].length > 0 + const deprecationMessage = parsedOperation['x-deprecated'] const request = createRequest(methods, operation, path) @@ -483,6 +500,7 @@ const createEndpoint = async ( description, isUndocumented, isDeprecated, + isDraft, deprecationMessage, response: createResponse(operation, path), request, @@ -600,6 +618,7 @@ const createParameter = ( isDeprecated: parsedProp['x-deprecated'].length > 0, deprecationMessage: parsedProp['x-deprecated'], isUndocumented: parsedProp['x-undocumented'].length > 0, + isDraft: parsedProp['x-draft'].length > 0, } switch (parsedProp.type) { @@ -803,6 +822,7 @@ const createProperty = ( isDeprecated: parsedProp['x-deprecated'].length > 0, deprecationMessage: parsedProp['x-deprecated'], isUndocumented: parsedProp['x-undocumented'].length > 0, + isDraft: parsedProp['x-draft'].length > 0, } switch (parsedProp.type) { diff --git a/src/lib/openapi-schema.ts b/src/lib/openapi-schema.ts index 4a830a4d..564f88fa 100644 --- a/src/lib/openapi-schema.ts +++ b/src/lib/openapi-schema.ts @@ -14,6 +14,7 @@ export const ParameterSchema = z.object({ deprecated: z.boolean().default(false), 'x-undocumented': z.string().default(''), 'x-deprecated': z.string().default(''), + 'x-draft': z.string().default(''), }) const ResponseSchema = z.record( @@ -63,6 +64,7 @@ export const OpenapiOperationSchema = z.object({ 'x-title': z.string().default(''), 'x-undocumented': z.string().default(''), 'x-deprecated': z.string().default(''), + 'x-draft': z.string().default(''), }) export const PropertySchema: z.ZodSchema = z.object({ @@ -71,6 +73,7 @@ export const PropertySchema: z.ZodSchema = z.object({ deprecated: z.boolean().default(false), 'x-undocumented': z.string().default(''), 'x-deprecated': z.string().default(''), + 'x-draft': z.string().default(''), enum: z.array(z.string().or(z.boolean())).optional(), $ref: z.string().optional(), format: z.string().optional(), diff --git a/test/fixtures/types/code-sample-definitions.ts b/test/fixtures/types/code-sample-definitions.ts index 044b9093..8af6b26e 100644 --- a/test/fixtures/types/code-sample-definitions.ts +++ b/test/fixtures/types/code-sample-definitions.ts @@ -83,4 +83,15 @@ export default [ body: {}, }, }, + { + title: 'Draft endpoint', + description: 'This is a draft endpoint', + request: { + path: '/draft/endpoint', + parameters: {}, + }, + response: { + body: {}, + }, + }, ] diff --git a/test/fixtures/types/openapi.ts b/test/fixtures/types/openapi.ts index ef30095b..f6c993fa 100644 --- a/test/fixtures/types/openapi.ts +++ b/test/fixtures/types/openapi.ts @@ -28,6 +28,11 @@ export default { type: 'string', 'x-undocumented': 'This prop is intentionally left undocumented.', }, + draft_prop: { + description: 'This prop is draft', + type: 'string', + 'x-draft': 'This prop is intentionally left draft.', + }, nullable_prop: { description: 'This prop is nullable', type: 'string', @@ -245,5 +250,31 @@ export default { 'x-title': 'Deprecated and undocumented endpoint', }, }, + '/draft/endpoint': { + get: { + operationId: 'draftEndpointGet', + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + ok: { type: 'boolean' }, + }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'Draft endpoint', + }, + }, + security: [], + summary: '/draft/endpoint', + tags: ['/draft'], + 'x-draft': 'true', + 'x-title': 'Draft endpoint', + }, + }, }, } diff --git a/test/fixtures/types/route-specs.ts b/test/fixtures/types/route-specs.ts index 91a1e5f1..32aaef16 100644 --- a/test/fixtures/types/route-specs.ts +++ b/test/fixtures/types/route-specs.ts @@ -28,5 +28,10 @@ export const routes = { methods: ['GET'], jsonResponse: z.object({}), }, + '/draft/endpoint': { + auth: 'none', + methods: ['GET'], + jsonResponse: z.object({}), + }, }, } as const diff --git a/test/fixtures/types/route-types.ts b/test/fixtures/types/route-types.ts index dd7bdaba..7e72ae2f 100644 --- a/test/fixtures/types/route-types.ts +++ b/test/fixtures/types/route-types.ts @@ -12,6 +12,7 @@ export interface Routes { name: string deprecated_prop?: string undocumented_prop?: string + draft_prop?: string nullable_prop?: string number_prop?: number object_prop?: Record @@ -32,6 +33,7 @@ export interface Routes { name: string deprecated_prop?: string undocumented_prop?: string + draft_prop?: string nullable_prop?: string number_prop?: number object_prop?: Record @@ -62,6 +64,15 @@ export interface Routes { formData: Record jsonResponse: Record } + '/draft/endpoint': { + route: '/draft/endpoint' + method: 'GET' + queryParams: Record + jsonBody: Record + commonParams: Record + formData: Record + jsonResponse: Record + } } export type RouteResponse = diff --git a/test/fixtures/types/schemas.ts b/test/fixtures/types/schemas.ts index 0a8924f9..3cc67ece 100644 --- a/test/fixtures/types/schemas.ts +++ b/test/fixtures/types/schemas.ts @@ -5,6 +5,7 @@ export const foo = z.object({ name: z.string(), deprecated_prop: z.string().optional(), undocumented_prop: z.string().optional(), + draft_prop: z.string().optional(), nullable_prop: z.string().optional().nullable(), number_prop: z.number().optional(), object_prop: z.record(z.string(), z.any()).optional(), diff --git a/test/snapshots/blueprint.test.ts.md b/test/snapshots/blueprint.test.ts.md index 8424f049..e860290c 100644 --- a/test/snapshots/blueprint.test.ts.md +++ b/test/snapshots/blueprint.test.ts.md @@ -18,6 +18,7 @@ Generated by [AVA](https://avajs.dev). description: 'Foo id', format: 'id', isDeprecated: false, + isDraft: false, isUndocumented: false, jsonType: 'string', name: 'foo_id', @@ -27,6 +28,7 @@ Generated by [AVA](https://avajs.dev). description: 'Foo name', format: 'string', isDeprecated: false, + isDraft: false, isUndocumented: false, jsonType: 'string', name: 'name', @@ -36,6 +38,7 @@ Generated by [AVA](https://avajs.dev). description: 'This prop is deprecated', format: 'string', isDeprecated: true, + isDraft: false, isUndocumented: false, jsonType: 'string', name: 'deprecated_prop', @@ -45,15 +48,27 @@ Generated by [AVA](https://avajs.dev). description: 'This prop is undocumented', format: 'string', isDeprecated: false, + isDraft: false, isUndocumented: true, jsonType: 'string', name: 'undocumented_prop', }, + { + deprecationMessage: '', + description: 'This prop is draft', + format: 'string', + isDeprecated: false, + isDraft: true, + isUndocumented: false, + jsonType: 'string', + name: 'draft_prop', + }, { deprecationMessage: '', description: 'This prop is nullable', format: 'string', isDeprecated: false, + isDraft: false, isUndocumented: false, jsonType: 'string', name: 'nullable_prop', @@ -63,6 +78,7 @@ Generated by [AVA](https://avajs.dev). description: 'This prop is a number', format: 'number', isDeprecated: false, + isDraft: false, isUndocumented: false, jsonType: 'number', name: 'number_prop', @@ -72,6 +88,7 @@ Generated by [AVA](https://avajs.dev). description: '', format: 'object', isDeprecated: false, + isDraft: false, isUndocumented: false, jsonType: 'object', name: 'object_prop', @@ -81,6 +98,7 @@ Generated by [AVA](https://avajs.dev). description: '', format: 'string', isDeprecated: false, + isDraft: false, isUndocumented: false, jsonType: 'string', name: 'foo', @@ -92,6 +110,7 @@ Generated by [AVA](https://avajs.dev). description: '', format: 'list', isDeprecated: false, + isDraft: false, isUndocumented: false, jsonType: 'array', name: 'array_prop', @@ -107,6 +126,7 @@ Generated by [AVA](https://avajs.dev). description: 'plane id', format: 'id', isDeprecated: false, + isDraft: false, isUndocumented: false, jsonType: 'string', name: 'plane_id', @@ -116,6 +136,7 @@ Generated by [AVA](https://avajs.dev). description: 'Planej name', format: 'string', isDeprecated: false, + isDraft: false, isUndocumented: false, jsonType: 'string', name: 'name', @@ -224,6 +245,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'get', path: '/foos/get', @@ -340,6 +362,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'get', path: '/foos/get', @@ -457,6 +480,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -574,6 +598,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -690,6 +715,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'get', path: '/foos/get', @@ -806,6 +832,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'get', path: '/foos/get', @@ -923,6 +950,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -1040,6 +1068,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -1156,6 +1185,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'get', path: '/foos/get', @@ -1272,6 +1302,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'get', path: '/foos/get', @@ -1389,6 +1420,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -1506,6 +1538,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -1527,6 +1560,7 @@ Generated by [AVA](https://avajs.dev). }, ], isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'foos', namespace: null, @@ -1618,6 +1652,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/transport/air/planes/list', @@ -1720,6 +1755,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/transport/air/planes/list', @@ -1822,6 +1858,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/transport/air/planes/list', @@ -1843,10 +1880,12 @@ Generated by [AVA](https://avajs.dev). }, ], isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'planes', namespace: { isDeprecated: false, + isDraft: false, isUndocumented: false, path: '/transport/air', }, @@ -1931,6 +1970,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: true, + isDraft: false, isUndocumented: true, name: 'endpoint', path: '/deprecated/undocumented/endpoint', @@ -2024,6 +2064,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: true, + isDraft: false, isUndocumented: true, name: 'endpoint', path: '/deprecated/undocumented/endpoint', @@ -2117,6 +2158,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: true, + isDraft: false, isUndocumented: true, name: 'endpoint', path: '/deprecated/undocumented/endpoint', @@ -2136,141 +2178,18 @@ Generated by [AVA](https://avajs.dev). }, ], isDeprecated: true, + isDraft: false, isUndocumented: true, name: 'undocumented', namespace: { isDeprecated: true, + isDraft: false, isUndocumented: true, path: '/deprecated', }, path: '/deprecated/undocumented', subroutes: [], }, - ], - title: 'Foo', - } - -## createBlueprint: with formatCode - -> blueprint - - { - resources: { - foo: { - description: 'A foo resource.', - properties: [ - { - deprecationMessage: '', - description: 'Foo id', - format: 'id', - isDeprecated: false, - isUndocumented: false, - jsonType: 'string', - name: 'foo_id', - }, - { - deprecationMessage: '', - description: 'Foo name', - format: 'string', - isDeprecated: false, - isUndocumented: false, - jsonType: 'string', - name: 'name', - }, - { - deprecationMessage: 'This prop will be removed in the next version', - description: 'This prop is deprecated', - format: 'string', - isDeprecated: true, - isUndocumented: false, - jsonType: 'string', - name: 'deprecated_prop', - }, - { - deprecationMessage: '', - description: 'This prop is undocumented', - format: 'string', - isDeprecated: false, - isUndocumented: true, - jsonType: 'string', - name: 'undocumented_prop', - }, - { - deprecationMessage: '', - description: 'This prop is nullable', - format: 'string', - isDeprecated: false, - isUndocumented: false, - jsonType: 'string', - name: 'nullable_prop', - }, - { - deprecationMessage: '', - description: 'This prop is a number', - format: 'number', - isDeprecated: false, - isUndocumented: false, - jsonType: 'number', - name: 'number_prop', - }, - { - deprecationMessage: '', - description: '', - format: 'object', - isDeprecated: false, - isUndocumented: false, - jsonType: 'object', - name: 'object_prop', - properties: [ - { - deprecationMessage: '', - description: '', - format: 'string', - isDeprecated: false, - isUndocumented: false, - jsonType: 'string', - name: 'foo', - }, - ], - }, - { - deprecationMessage: '', - description: '', - format: 'list', - isDeprecated: false, - isUndocumented: false, - jsonType: 'array', - name: 'array_prop', - }, - ], - resourceType: 'foo', - }, - plane: { - description: 'A plane resource.', - properties: [ - { - deprecationMessage: '', - description: 'plane id', - format: 'id', - isDeprecated: false, - isUndocumented: false, - jsonType: 'string', - name: 'plane_id', - }, - { - deprecationMessage: '', - description: 'Planej name', - format: 'string', - isDeprecated: false, - isUndocumented: false, - jsonType: 'string', - name: 'name', - }, - ], - resourceType: 'plane', - }, - }, - routes: [ { endpoints: [ { @@ -2278,117 +2197,81 @@ Generated by [AVA](https://avajs.dev). { code: { csharp: { - request: `// csharp␊ - seam.Foos.Get(fooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request: 'seam.Draft.Endpoint()', request_syntax: 'csharp', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response: 'null', response_syntax: 'json', title: 'C#', }, go: { - request: `// go␊ - import api "github.com/seamapi/go"␊ - ␊ - client.Foos.Get(context.Background(), api.FoosGetRequest(FooId: api.String("8d7e0b3a-b889-49a7-9164-4b71a0506a33")))`, + request: 'client.Draft.Endpoint(context.Background())', request_syntax: 'go', - response: `// json␊ - api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar", NestedObjectProp: api.FooObjectPropNestedObjectProp{Foo: "bar"}}, ArrayProp: []string{"foo", "bar"}}`, + response: 'nil', response_syntax: 'json', title: 'Go', }, java: { - request: `// java␊ - seam.foos().get(FoosGetRequest.builder().fooId("8d7e0b3a-b889-49a7-9164-4b71a0506a33").build());`, + request: 'seam.draft().endpoint();', request_syntax: 'java', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response: '{}', response_syntax: 'json', title: 'Java', }, javascript: { - request: `// javascript␊ - await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, + request: 'await seam.draft.endpoint()', request_syntax: 'javascript', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, - response_syntax: 'json', + response: '// void', + response_syntax: 'javascript', title: 'JavaScript', }, php: { - request: `// php␊ - foos->get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request: `draft->endpoint()`, request_syntax: 'php', - response: `// php␊ - ["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar", "nested_object_prop" => ["foo" => "bar"]],"array_prop" => ["foo", "bar"]]`, + response: 'null', response_syntax: 'php', title: 'PHP', }, python: { - request: `// python␊ - seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request: 'seam.draft.endpoint()', request_syntax: 'python', - response: `// python␊ - Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar","nested_object_prop":{"foo":"bar"}}, array_prop=["foo","bar"])`, + response: 'None', response_syntax: 'python', title: 'Python', }, ruby: { - request: `// ruby␊ - seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request: 'seam.draft.endpoint()', request_syntax: 'ruby', - response: `// ruby␊ - {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop" => ["foo","bar"]}`, + response: 'nil', response_syntax: 'ruby', title: 'Ruby', }, seam_cli: { - request: `// bash␊ - seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, + request: 'seam draft endpoint ', request_syntax: 'bash', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response: '{}', response_syntax: 'json', title: 'Seam CLI', }, }, - description: 'This is the way to get a foo', + description: 'This is a draft endpoint', request: { - parameters: { - foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', - }, - path: '/foos/get', + parameters: {}, + path: '/draft/endpoint', }, response: { - body: { - foo: { - array_prop: [ - 'foo', - 'bar', - ], - foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', - name: 'Best foo', - nullable_prop: null, - number_prop: 10, - object_prop: { - foo: 'bar', - nested_object_prop: { - foo: 'bar', - }, - }, - }, - }, + body: {}, }, - title: 'Get a foo by ID', + title: 'Draft endpoint', }, ], deprecationMessage: '', description: '', isDeprecated: false, + isDraft: true, isUndocumented: false, - name: 'get', - path: '/foos/get', + name: 'endpoint', + path: '/draft/endpoint', request: { methods: [ 'GET', @@ -2398,86 +2281,1096 @@ Generated by [AVA](https://avajs.dev). semanticMethod: 'GET', }, response: { - description: 'Get a foo by ID.', - resourceType: 'foo', - responseKey: 'foo', - responseType: 'resource', + description: 'Draft endpoint', + responseType: 'void', }, - title: 'Get a foo', + title: 'Draft endpoint', }, { codeSamples: [ { code: { csharp: { - request: `// csharp␊ - seam.Foos.Get(fooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request: 'seam.Draft.Endpoint()', request_syntax: 'csharp', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response: 'null', response_syntax: 'json', title: 'C#', }, go: { - request: `// go␊ - import api "github.com/seamapi/go"␊ - ␊ - client.Foos.Get(context.Background(), api.FoosGetRequest(FooId: api.String("8d7e0b3a-b889-49a7-9164-4b71a0506a33")))`, + request: 'client.Draft.Endpoint(context.Background())', request_syntax: 'go', - response: `// json␊ - api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar", NestedObjectProp: api.FooObjectPropNestedObjectProp{Foo: "bar"}}, ArrayProp: []string{"foo", "bar"}}`, + response: 'nil', response_syntax: 'json', title: 'Go', }, java: { - request: `// java␊ - seam.foos().get(FoosGetRequest.builder().fooId("8d7e0b3a-b889-49a7-9164-4b71a0506a33").build());`, + request: 'seam.draft().endpoint();', request_syntax: 'java', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response: '{}', response_syntax: 'json', title: 'Java', }, javascript: { - request: `// javascript␊ - await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, + request: 'await seam.draft.endpoint()', request_syntax: 'javascript', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, - response_syntax: 'json', + response: '// void', + response_syntax: 'javascript', title: 'JavaScript', }, php: { - request: `// php␊ - foos->get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request: `draft->endpoint()`, request_syntax: 'php', - response: `// php␊ - ["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar", "nested_object_prop" => ["foo" => "bar"]],"array_prop" => ["foo", "bar"]]`, + response: 'null', response_syntax: 'php', title: 'PHP', }, python: { - request: `// python␊ - seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request: 'seam.draft.endpoint()', request_syntax: 'python', - response: `// python␊ - Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar","nested_object_prop":{"foo":"bar"}}, array_prop=["foo","bar"])`, + response: 'None', response_syntax: 'python', title: 'Python', }, ruby: { - request: `// ruby␊ - seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request: 'seam.draft.endpoint()', request_syntax: 'ruby', - response: `// ruby␊ - {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop" => ["foo","bar"]}`, + response: 'nil', response_syntax: 'ruby', title: 'Ruby', }, seam_cli: { - request: `// bash␊ - seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, + request: 'seam draft endpoint ', + request_syntax: 'bash', + response: '{}', + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is a draft endpoint', + request: { + parameters: {}, + path: '/draft/endpoint', + }, + response: { + body: {}, + }, + title: 'Draft endpoint', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isDraft: true, + isUndocumented: false, + name: 'endpoint', + path: '/draft/endpoint', + request: { + methods: [ + 'GET', + ], + parameters: [], + preferredMethod: 'GET', + semanticMethod: 'GET', + }, + response: { + description: 'Draft endpoint', + responseType: 'void', + }, + title: 'Draft endpoint', + }, + { + codeSamples: [ + { + code: { + csharp: { + request: 'seam.Draft.Endpoint()', + request_syntax: 'csharp', + response: 'null', + response_syntax: 'json', + title: 'C#', + }, + go: { + request: 'client.Draft.Endpoint(context.Background())', + request_syntax: 'go', + response: 'nil', + response_syntax: 'json', + title: 'Go', + }, + java: { + request: 'seam.draft().endpoint();', + request_syntax: 'java', + response: '{}', + response_syntax: 'json', + title: 'Java', + }, + javascript: { + request: 'await seam.draft.endpoint()', + request_syntax: 'javascript', + response: '// void', + response_syntax: 'javascript', + title: 'JavaScript', + }, + php: { + request: `draft->endpoint()`, + request_syntax: 'php', + response: 'null', + response_syntax: 'php', + title: 'PHP', + }, + python: { + request: 'seam.draft.endpoint()', + request_syntax: 'python', + response: 'None', + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: 'seam.draft.endpoint()', + request_syntax: 'ruby', + response: 'nil', + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: 'seam draft endpoint ', + request_syntax: 'bash', + response: '{}', + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is a draft endpoint', + request: { + parameters: {}, + path: '/draft/endpoint', + }, + response: { + body: {}, + }, + title: 'Draft endpoint', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isDraft: true, + isUndocumented: false, + name: 'endpoint', + path: '/draft/endpoint', + request: { + methods: [ + 'GET', + ], + parameters: [], + preferredMethod: 'GET', + semanticMethod: 'GET', + }, + response: { + description: 'Draft endpoint', + responseType: 'void', + }, + title: 'Draft endpoint', + }, + ], + isDeprecated: false, + isDraft: true, + isUndocumented: false, + name: 'draft', + namespace: null, + path: '/draft', + subroutes: [], + }, + ], + title: 'Foo', + } + +## createBlueprint: with formatCode + +> blueprint + + { + resources: { + foo: { + description: 'A foo resource.', + properties: [ + { + deprecationMessage: '', + description: 'Foo id', + format: 'id', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'string', + name: 'foo_id', + }, + { + deprecationMessage: '', + description: 'Foo name', + format: 'string', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'string', + name: 'name', + }, + { + deprecationMessage: 'This prop will be removed in the next version', + description: 'This prop is deprecated', + format: 'string', + isDeprecated: true, + isDraft: false, + isUndocumented: false, + jsonType: 'string', + name: 'deprecated_prop', + }, + { + deprecationMessage: '', + description: 'This prop is undocumented', + format: 'string', + isDeprecated: false, + isDraft: false, + isUndocumented: true, + jsonType: 'string', + name: 'undocumented_prop', + }, + { + deprecationMessage: '', + description: 'This prop is draft', + format: 'string', + isDeprecated: false, + isDraft: true, + isUndocumented: false, + jsonType: 'string', + name: 'draft_prop', + }, + { + deprecationMessage: '', + description: 'This prop is nullable', + format: 'string', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'string', + name: 'nullable_prop', + }, + { + deprecationMessage: '', + description: 'This prop is a number', + format: 'number', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'number', + name: 'number_prop', + }, + { + deprecationMessage: '', + description: '', + format: 'object', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'object', + name: 'object_prop', + properties: [ + { + deprecationMessage: '', + description: '', + format: 'string', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'string', + name: 'foo', + }, + ], + }, + { + deprecationMessage: '', + description: '', + format: 'list', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'array', + name: 'array_prop', + }, + ], + resourceType: 'foo', + }, + plane: { + description: 'A plane resource.', + properties: [ + { + deprecationMessage: '', + description: 'plane id', + format: 'id', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'string', + name: 'plane_id', + }, + { + deprecationMessage: '', + description: 'Planej name', + format: 'string', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'string', + name: 'name', + }, + ], + resourceType: 'plane', + }, + }, + routes: [ + { + endpoints: [ + { + codeSamples: [ + { + code: { + csharp: { + request: `// csharp␊ + seam.Foos.Get(fooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'csharp', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'C#', + }, + go: { + request: `// go␊ + import api "github.com/seamapi/go"␊ + ␊ + client.Foos.Get(context.Background(), api.FoosGetRequest(FooId: api.String("8d7e0b3a-b889-49a7-9164-4b71a0506a33")))`, + request_syntax: 'go', + response: `// json␊ + api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar", NestedObjectProp: api.FooObjectPropNestedObjectProp{Foo: "bar"}}, ArrayProp: []string{"foo", "bar"}}`, + response_syntax: 'json', + title: 'Go', + }, + java: { + request: `// java␊ + seam.foos().get(FoosGetRequest.builder().fooId("8d7e0b3a-b889-49a7-9164-4b71a0506a33").build());`, + request_syntax: 'java', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'Java', + }, + javascript: { + request: `// javascript␊ + await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, + request_syntax: 'javascript', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'php', + response: `// php␊ + ["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar", "nested_object_prop" => ["foo" => "bar"]],"array_prop" => ["foo", "bar"]]`, + response_syntax: 'php', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'python', + response: `// python␊ + Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar","nested_object_prop":{"foo":"bar"}}, array_prop=["foo","bar"])`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'ruby', + response: `// ruby␊ + {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop" => ["foo","bar"]}`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, + request_syntax: 'bash', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to get a foo', + request: { + parameters: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + }, + path: '/foos/get', + }, + response: { + body: { + foo: { + array_prop: [ + 'foo', + 'bar', + ], + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_prop: null, + number_prop: 10, + object_prop: { + foo: 'bar', + nested_object_prop: { + foo: 'bar', + }, + }, + }, + }, + }, + title: 'Get a foo by ID', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + name: 'get', + path: '/foos/get', + request: { + methods: [ + 'GET', + ], + parameters: [], + preferredMethod: 'GET', + semanticMethod: 'GET', + }, + response: { + description: 'Get a foo by ID.', + resourceType: 'foo', + responseKey: 'foo', + responseType: 'resource', + }, + title: 'Get a foo', + }, + { + codeSamples: [ + { + code: { + csharp: { + request: `// csharp␊ + seam.Foos.Get(fooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'csharp', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'C#', + }, + go: { + request: `// go␊ + import api "github.com/seamapi/go"␊ + ␊ + client.Foos.Get(context.Background(), api.FoosGetRequest(FooId: api.String("8d7e0b3a-b889-49a7-9164-4b71a0506a33")))`, + request_syntax: 'go', + response: `// json␊ + api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar", NestedObjectProp: api.FooObjectPropNestedObjectProp{Foo: "bar"}}, ArrayProp: []string{"foo", "bar"}}`, + response_syntax: 'json', + title: 'Go', + }, + java: { + request: `// java␊ + seam.foos().get(FoosGetRequest.builder().fooId("8d7e0b3a-b889-49a7-9164-4b71a0506a33").build());`, + request_syntax: 'java', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'Java', + }, + javascript: { + request: `// javascript␊ + await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, + request_syntax: 'javascript', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'php', + response: `// php␊ + ["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar", "nested_object_prop" => ["foo" => "bar"]],"array_prop" => ["foo", "bar"]]`, + response_syntax: 'php', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'python', + response: `// python␊ + Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar","nested_object_prop":{"foo":"bar"}}, array_prop=["foo","bar"])`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'ruby', + response: `// ruby␊ + {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop" => ["foo","bar"]}`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, + request_syntax: 'bash', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to get a foo', + request: { + parameters: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + }, + path: '/foos/get', + }, + response: { + body: { + foo: { + array_prop: [ + 'foo', + 'bar', + ], + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_prop: null, + number_prop: 10, + object_prop: { + foo: 'bar', + nested_object_prop: { + foo: 'bar', + }, + }, + }, + }, + }, + title: 'Get a foo by ID', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + name: 'get', + path: '/foos/get', + request: { + methods: [ + 'POST', + ], + parameters: [], + preferredMethod: 'POST', + semanticMethod: 'POST', + }, + response: { + description: 'Get a foo by ID.', + resourceType: 'foo', + responseKey: 'foo', + responseType: 'resource', + }, + title: 'Get a foo', + }, + { + codeSamples: [ + { + code: { + csharp: { + request: `// csharp␊ + seam.Foos.List(objectProp: new { foo = "bar" })`, + request_syntax: 'csharp', + response: `// json␊ + System.Collections.Generic.List\`1[Seam.Model.Foo]`, + response_syntax: 'json', + title: 'C#', + }, + go: { + request: `// go␊ + import api "github.com/seamapi/go"␊ + ␊ + client.Foos.List(context.Background(), api.FoosListRequest(ObjectProp: api.FoosListRequestObjectProp{Foo: api.String("bar")}))`, + request_syntax: 'go', + response: `// json␊ + []api.Foo{api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar"}, ArrayProp: []string{"foo", "bar"}}}`, + response_syntax: 'json', + title: 'Go', + }, + java: { + request: `// java␊ + seam.foos().list(FoosListRequest.builder().objectProp(Map.of("foo", "bar")).build());`, + request_syntax: 'java', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + response_syntax: 'json', + title: 'Java', + }, + javascript: { + request: `// javascript␊ + await seam.foos.list({"object_prop":{"foo":"bar"}})`, + request_syntax: 'javascript', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + response_syntax: 'json', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->list(object_prop: ["foo" => "bar"])`, + request_syntax: 'php', + response: `// php␊ + [["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar"],"array_prop" => ["foo", "bar"]]]`, + response_syntax: 'php', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.list(object_prop={"foo":"bar"})`, + request_syntax: 'python', + response: `// python␊ + [Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar"}, array_prop=["foo","bar"])]`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.list(object_prop: {"foo":"bar"})`, + request_syntax: 'ruby', + response: `// ruby␊ + [{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar"},"array_prop" => ["foo","bar"]}]`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos list --object_prop {"foo":"bar"}`, + request_syntax: 'bash', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to list foos', + request: { + parameters: { + object_prop: { + foo: 'bar', + }, + }, + path: '/foos/list', + }, + response: { + body: { + foos: [ + { + array_prop: [ + 'foo', + 'bar', + ], + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_prop: null, + number_prop: 10, + object_prop: { + foo: 'bar', + }, + }, + ], + }, + }, + title: 'List foos', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + name: 'list', + path: '/foos/list', + request: { + methods: [ + 'GET', + ], + parameters: [], + preferredMethod: 'GET', + semanticMethod: 'GET', + }, + response: { + description: 'List all foos.', + resourceType: 'foo', + responseKey: 'foos', + responseType: 'resource_list', + }, + title: 'List foos', + }, + { + codeSamples: [ + { + code: { + csharp: { + request: `// csharp␊ + seam.Foos.List(objectProp: new { foo = "bar" })`, + request_syntax: 'csharp', + response: `// json␊ + System.Collections.Generic.List\`1[Seam.Model.Foo]`, + response_syntax: 'json', + title: 'C#', + }, + go: { + request: `// go␊ + import api "github.com/seamapi/go"␊ + ␊ + client.Foos.List(context.Background(), api.FoosListRequest(ObjectProp: api.FoosListRequestObjectProp{Foo: api.String("bar")}))`, + request_syntax: 'go', + response: `// json␊ + []api.Foo{api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar"}, ArrayProp: []string{"foo", "bar"}}}`, + response_syntax: 'json', + title: 'Go', + }, + java: { + request: `// java␊ + seam.foos().list(FoosListRequest.builder().objectProp(Map.of("foo", "bar")).build());`, + request_syntax: 'java', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + response_syntax: 'json', + title: 'Java', + }, + javascript: { + request: `// javascript␊ + await seam.foos.list({"object_prop":{"foo":"bar"}})`, + request_syntax: 'javascript', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + response_syntax: 'json', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->list(object_prop: ["foo" => "bar"])`, + request_syntax: 'php', + response: `// php␊ + [["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar"],"array_prop" => ["foo", "bar"]]]`, + response_syntax: 'php', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.list(object_prop={"foo":"bar"})`, + request_syntax: 'python', + response: `// python␊ + [Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar"}, array_prop=["foo","bar"])]`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.list(object_prop: {"foo":"bar"})`, + request_syntax: 'ruby', + response: `// ruby␊ + [{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar"},"array_prop" => ["foo","bar"]}]`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos list --object_prop {"foo":"bar"}`, + request_syntax: 'bash', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to list foos', + request: { + parameters: { + object_prop: { + foo: 'bar', + }, + }, + path: '/foos/list', + }, + response: { + body: { + foos: [ + { + array_prop: [ + 'foo', + 'bar', + ], + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_prop: null, + number_prop: 10, + object_prop: { + foo: 'bar', + }, + }, + ], + }, + }, + title: 'List foos', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + name: 'list', + path: '/foos/list', + request: { + methods: [ + 'POST', + ], + parameters: [], + preferredMethod: 'POST', + semanticMethod: 'POST', + }, + response: { + description: 'List all foos.', + resourceType: 'foo', + responseKey: 'foos', + responseType: 'resource_list', + }, + title: 'List foos', + }, + { + codeSamples: [ + { + code: { + csharp: { + request: `// csharp␊ + seam.Foos.Get(fooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'csharp', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'C#', + }, + go: { + request: `// go␊ + import api "github.com/seamapi/go"␊ + ␊ + client.Foos.Get(context.Background(), api.FoosGetRequest(FooId: api.String("8d7e0b3a-b889-49a7-9164-4b71a0506a33")))`, + request_syntax: 'go', + response: `// json␊ + api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar", NestedObjectProp: api.FooObjectPropNestedObjectProp{Foo: "bar"}}, ArrayProp: []string{"foo", "bar"}}`, + response_syntax: 'json', + title: 'Go', + }, + java: { + request: `// java␊ + seam.foos().get(FoosGetRequest.builder().fooId("8d7e0b3a-b889-49a7-9164-4b71a0506a33").build());`, + request_syntax: 'java', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'Java', + }, + javascript: { + request: `// javascript␊ + await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, + request_syntax: 'javascript', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'php', + response: `// php␊ + ["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar", "nested_object_prop" => ["foo" => "bar"]],"array_prop" => ["foo", "bar"]]`, + response_syntax: 'php', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'python', + response: `// python␊ + Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar","nested_object_prop":{"foo":"bar"}}, array_prop=["foo","bar"])`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'ruby', + response: `// ruby␊ + {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop" => ["foo","bar"]}`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, + request_syntax: 'bash', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to get a foo', + request: { + parameters: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + }, + path: '/foos/get', + }, + response: { + body: { + foo: { + array_prop: [ + 'foo', + 'bar', + ], + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_prop: null, + number_prop: 10, + object_prop: { + foo: 'bar', + nested_object_prop: { + foo: 'bar', + }, + }, + }, + }, + }, + title: 'Get a foo by ID', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + name: 'get', + path: '/foos/get', + request: { + methods: [ + 'GET', + ], + parameters: [], + preferredMethod: 'GET', + semanticMethod: 'GET', + }, + response: { + description: 'Get a foo by ID.', + resourceType: 'foo', + responseKey: 'foo', + responseType: 'resource', + }, + title: 'Get a foo', + }, + { + codeSamples: [ + { + code: { + csharp: { + request: `// csharp␊ + seam.Foos.Get(fooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'csharp', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'C#', + }, + go: { + request: `// go␊ + import api "github.com/seamapi/go"␊ + ␊ + client.Foos.Get(context.Background(), api.FoosGetRequest(FooId: api.String("8d7e0b3a-b889-49a7-9164-4b71a0506a33")))`, + request_syntax: 'go', + response: `// json␊ + api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar", NestedObjectProp: api.FooObjectPropNestedObjectProp{Foo: "bar"}}, ArrayProp: []string{"foo", "bar"}}`, + response_syntax: 'json', + title: 'Go', + }, + java: { + request: `// java␊ + seam.foos().get(FoosGetRequest.builder().fooId("8d7e0b3a-b889-49a7-9164-4b71a0506a33").build());`, + request_syntax: 'java', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'Java', + }, + javascript: { + request: `// javascript␊ + await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, + request_syntax: 'javascript', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + response_syntax: 'json', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'php', + response: `// php␊ + ["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar", "nested_object_prop" => ["foo" => "bar"]],"array_prop" => ["foo", "bar"]]`, + response_syntax: 'php', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'python', + response: `// python␊ + Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar","nested_object_prop":{"foo":"bar"}}, array_prop=["foo","bar"])`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'ruby', + response: `// ruby␊ + {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop" => ["foo","bar"]}`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, request_syntax: 'bash', response: `// json␊ {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, @@ -2518,6 +3411,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'get', path: '/foos/get', @@ -2651,6 +3545,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -2784,6 +3679,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -2916,6 +3812,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'get', path: '/foos/get', @@ -3048,6 +3945,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'get', path: '/foos/get', @@ -3181,6 +4079,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -3314,6 +4213,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', path: '/foos/list', @@ -3333,269 +4233,135 @@ Generated by [AVA](https://avajs.dev). }, title: 'List foos', }, + ], + isDeprecated: false, + isDraft: false, + isUndocumented: false, + name: 'foos', + namespace: null, + path: '/foos', + subroutes: [], + }, + { + endpoints: [ { codeSamples: [ { code: { csharp: { request: `// csharp␊ - seam.Foos.Get(fooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, - request_syntax: 'csharp', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, - response_syntax: 'json', - title: 'C#', - }, - go: { - request: `// go␊ - import api "github.com/seamapi/go"␊ - ␊ - client.Foos.Get(context.Background(), api.FoosGetRequest(FooId: api.String("8d7e0b3a-b889-49a7-9164-4b71a0506a33")))`, - request_syntax: 'go', - response: `// json␊ - api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar", NestedObjectProp: api.FooObjectPropNestedObjectProp{Foo: "bar"}}, ArrayProp: []string{"foo", "bar"}}`, - response_syntax: 'json', - title: 'Go', - }, - java: { - request: `// java␊ - seam.foos().get(FoosGetRequest.builder().fooId("8d7e0b3a-b889-49a7-9164-4b71a0506a33").build());`, - request_syntax: 'java', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, - response_syntax: 'json', - title: 'Java', - }, - javascript: { - request: `// javascript␊ - await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, - request_syntax: 'javascript', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, - response_syntax: 'json', - title: 'JavaScript', - }, - php: { - request: `// php␊ - foos->get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, - request_syntax: 'php', - response: `// php␊ - ["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar", "nested_object_prop" => ["foo" => "bar"]],"array_prop" => ["foo", "bar"]]`, - response_syntax: 'php', - title: 'PHP', - }, - python: { - request: `// python␊ - seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, - request_syntax: 'python', - response: `// python␊ - Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar","nested_object_prop":{"foo":"bar"}}, array_prop=["foo","bar"])`, - response_syntax: 'python', - title: 'Python', - }, - ruby: { - request: `// ruby␊ - seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, - request_syntax: 'ruby', - response: `// ruby␊ - {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop" => ["foo","bar"]}`, - response_syntax: 'ruby', - title: 'Ruby', - }, - seam_cli: { - request: `// bash␊ - seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, - request_syntax: 'bash', - response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, - response_syntax: 'json', - title: 'Seam CLI', - }, - }, - description: 'This is the way to get a foo', - request: { - parameters: { - foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', - }, - path: '/foos/get', - }, - response: { - body: { - foo: { - array_prop: [ - 'foo', - 'bar', - ], - foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', - name: 'Best foo', - nullable_prop: null, - number_prop: 10, - object_prop: { - foo: 'bar', - nested_object_prop: { - foo: 'bar', - }, - }, - }, - }, - }, - title: 'Get a foo by ID', - }, - ], - deprecationMessage: '', - description: '', - isDeprecated: false, - isUndocumented: false, - name: 'get', - path: '/foos/get', - request: { - methods: [ - 'GET', - ], - parameters: [], - preferredMethod: 'GET', - semanticMethod: 'GET', - }, - response: { - description: 'Get a foo by ID.', - resourceType: 'foo', - responseKey: 'foo', - responseType: 'resource', - }, - title: 'Get a foo', - }, - { - codeSamples: [ - { - code: { - csharp: { - request: `// csharp␊ - seam.Foos.Get(fooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + seam.Transport.Air.Planes.List()`, request_syntax: 'csharp', response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + System.Collections.Generic.List\`1[Seam.Model.Plane]`, response_syntax: 'json', title: 'C#', }, go: { request: `// go␊ - import api "github.com/seamapi/go"␊ - ␊ - client.Foos.Get(context.Background(), api.FoosGetRequest(FooId: api.String("8d7e0b3a-b889-49a7-9164-4b71a0506a33")))`, + client.Transport.Air.Planes.List(context.Background())`, request_syntax: 'go', response: `// json␊ - api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar", NestedObjectProp: api.FooObjectPropNestedObjectProp{Foo: "bar"}}, ArrayProp: []string{"foo", "bar"}}`, + []api.Plane{api.Plane{PlaneId: "9d3163f9-9185-40d3-a0ce-a03d3c7ce402", Name: "Woosh"}}`, response_syntax: 'json', title: 'Go', }, java: { request: `// java␊ - seam.foos().get(FoosGetRequest.builder().fooId("8d7e0b3a-b889-49a7-9164-4b71a0506a33").build());`, + seam.transport().air().planes().list();`, request_syntax: 'java', response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, response_syntax: 'json', title: 'Java', }, javascript: { request: `// javascript␊ - await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, + await seam.transport.air.planes.list()`, request_syntax: 'javascript', response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, response_syntax: 'json', title: 'JavaScript', }, php: { request: `// php␊ foos->get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + $seam->transport->air->planes->list()`, request_syntax: 'php', response: `// php␊ - ["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar", "nested_object_prop" => ["foo" => "bar"]],"array_prop" => ["foo", "bar"]]`, + [["plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"]]`, response_syntax: 'php', title: 'PHP', }, python: { request: `// python␊ - seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + seam.transport.air.planes.list()`, request_syntax: 'python', response: `// python␊ - Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar","nested_object_prop":{"foo":"bar"}}, array_prop=["foo","bar"])`, + [Plane(plane_id="9d3163f9-9185-40d3-a0ce-a03d3c7ce402", name="Woosh")]`, response_syntax: 'python', title: 'Python', }, ruby: { request: `// ruby␊ - seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + seam.transport.air.planes.list()`, request_syntax: 'ruby', response: `// ruby␊ - {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop" => ["foo","bar"]}`, + [{"plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"}]`, response_syntax: 'ruby', title: 'Ruby', }, seam_cli: { request: `// bash␊ - seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, + seam transport air planes list `, request_syntax: 'bash', response: `// json␊ - {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar","nested_object_prop":{"foo":"bar"}},"array_prop":["foo","bar"]}`, + [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, response_syntax: 'json', title: 'Seam CLI', }, }, - description: 'This is the way to get a foo', + description: 'This is the wya to get all plans', request: { - parameters: { - foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', - }, - path: '/foos/get', + parameters: {}, + path: '/transport/air/planes/list', }, response: { body: { - foo: { - array_prop: [ - 'foo', - 'bar', - ], - foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', - name: 'Best foo', - nullable_prop: null, - number_prop: 10, - object_prop: { - foo: 'bar', - nested_object_prop: { - foo: 'bar', - }, + planes: [ + { + name: 'Woosh', + plane_id: '9d3163f9-9185-40d3-a0ce-a03d3c7ce402', }, - }, + ], }, }, - title: 'Get a foo by ID', + title: 'List planes', }, ], deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, - name: 'get', - path: '/foos/get', + name: 'list', + path: '/transport/air/planes/list', request: { methods: [ - 'POST', + 'GET', ], parameters: [], - preferredMethod: 'POST', - semanticMethod: 'POST', + preferredMethod: 'GET', + semanticMethod: 'GET', }, response: { - description: 'Get a foo by ID.', - resourceType: 'foo', - responseKey: 'foo', - responseType: 'resource', + description: 'List all planes.', + resourceType: 'plane', + responseKey: 'planes', + responseType: 'resource_list', }, - title: 'Get a foo', + title: 'List planes', }, { codeSamples: [ @@ -3603,117 +4369,103 @@ Generated by [AVA](https://avajs.dev). code: { csharp: { request: `// csharp␊ - seam.Foos.List(objectProp: new { foo = "bar" })`, + seam.Transport.Air.Planes.List()`, request_syntax: 'csharp', response: `// json␊ - System.Collections.Generic.List\`1[Seam.Model.Foo]`, + System.Collections.Generic.List\`1[Seam.Model.Plane]`, response_syntax: 'json', title: 'C#', }, go: { request: `// go␊ - import api "github.com/seamapi/go"␊ - ␊ - client.Foos.List(context.Background(), api.FoosListRequest(ObjectProp: api.FoosListRequestObjectProp{Foo: api.String("bar")}))`, + client.Transport.Air.Planes.List(context.Background())`, request_syntax: 'go', response: `// json␊ - []api.Foo{api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar"}, ArrayProp: []string{"foo", "bar"}}}`, + []api.Plane{api.Plane{PlaneId: "9d3163f9-9185-40d3-a0ce-a03d3c7ce402", Name: "Woosh"}}`, response_syntax: 'json', title: 'Go', }, java: { request: `// java␊ - seam.foos().list(FoosListRequest.builder().objectProp(Map.of("foo", "bar")).build());`, + seam.transport().air().planes().list();`, request_syntax: 'java', response: `// json␊ - [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, response_syntax: 'json', title: 'Java', }, javascript: { request: `// javascript␊ - await seam.foos.list({"object_prop":{"foo":"bar"}})`, + await seam.transport.air.planes.list()`, request_syntax: 'javascript', response: `// json␊ - [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, response_syntax: 'json', title: 'JavaScript', }, php: { request: `// php␊ foos->list(object_prop: ["foo" => "bar"])`, + $seam->transport->air->planes->list()`, request_syntax: 'php', response: `// php␊ - [["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar"],"array_prop" => ["foo", "bar"]]]`, + [["plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"]]`, response_syntax: 'php', title: 'PHP', }, python: { request: `// python␊ - seam.foos.list(object_prop={"foo":"bar"})`, + seam.transport.air.planes.list()`, request_syntax: 'python', response: `// python␊ - [Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar"}, array_prop=["foo","bar"])]`, + [Plane(plane_id="9d3163f9-9185-40d3-a0ce-a03d3c7ce402", name="Woosh")]`, response_syntax: 'python', title: 'Python', }, ruby: { request: `// ruby␊ - seam.foos.list(object_prop: {"foo":"bar"})`, + seam.transport.air.planes.list()`, request_syntax: 'ruby', response: `// ruby␊ - [{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar"},"array_prop" => ["foo","bar"]}]`, + [{"plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"}]`, response_syntax: 'ruby', title: 'Ruby', }, seam_cli: { request: `// bash␊ - seam foos list --object_prop {"foo":"bar"}`, + seam transport air planes list `, request_syntax: 'bash', response: `// json␊ - [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, response_syntax: 'json', title: 'Seam CLI', }, }, - description: 'This is the way to list foos', + description: 'This is the wya to get all plans', request: { - parameters: { - object_prop: { - foo: 'bar', - }, - }, - path: '/foos/list', + parameters: {}, + path: '/transport/air/planes/list', }, response: { body: { - foos: [ + planes: [ { - array_prop: [ - 'foo', - 'bar', - ], - foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', - name: 'Best foo', - nullable_prop: null, - number_prop: 10, - object_prop: { - foo: 'bar', - }, + name: 'Woosh', + plane_id: '9d3163f9-9185-40d3-a0ce-a03d3c7ce402', }, ], }, }, - title: 'List foos', + title: 'List planes', }, ], deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', - path: '/foos/list', + path: '/transport/air/planes/list', request: { methods: [ 'GET', @@ -3723,12 +4475,12 @@ Generated by [AVA](https://avajs.dev). semanticMethod: 'GET', }, response: { - description: 'List all foos.', - resourceType: 'foo', - responseKey: 'foos', + description: 'List all planes.', + resourceType: 'plane', + responseKey: 'planes', responseType: 'resource_list', }, - title: 'List foos', + title: 'List planes', }, { codeSamples: [ @@ -3736,139 +4488,131 @@ Generated by [AVA](https://avajs.dev). code: { csharp: { request: `// csharp␊ - seam.Foos.List(objectProp: new { foo = "bar" })`, + seam.Transport.Air.Planes.List()`, request_syntax: 'csharp', response: `// json␊ - System.Collections.Generic.List\`1[Seam.Model.Foo]`, + System.Collections.Generic.List\`1[Seam.Model.Plane]`, response_syntax: 'json', title: 'C#', }, go: { request: `// go␊ - import api "github.com/seamapi/go"␊ - ␊ - client.Foos.List(context.Background(), api.FoosListRequest(ObjectProp: api.FoosListRequestObjectProp{Foo: api.String("bar")}))`, + client.Transport.Air.Planes.List(context.Background())`, request_syntax: 'go', response: `// json␊ - []api.Foo{api.Foo{FooId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33", Name: "Best foo", NullableProp: nil, NumberProp: 10, ObjectProp: api.FooObjectProp{Foo: "bar"}, ArrayProp: []string{"foo", "bar"}}}`, + []api.Plane{api.Plane{PlaneId: "9d3163f9-9185-40d3-a0ce-a03d3c7ce402", Name: "Woosh"}}`, response_syntax: 'json', title: 'Go', }, java: { request: `// java␊ - seam.foos().list(FoosListRequest.builder().objectProp(Map.of("foo", "bar")).build());`, + seam.transport().air().planes().list();`, request_syntax: 'java', response: `// json␊ - [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, response_syntax: 'json', title: 'Java', }, javascript: { request: `// javascript␊ - await seam.foos.list({"object_prop":{"foo":"bar"}})`, + await seam.transport.air.planes.list()`, request_syntax: 'javascript', response: `// json␊ - [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, response_syntax: 'json', title: 'JavaScript', }, php: { request: `// php␊ foos->list(object_prop: ["foo" => "bar"])`, + $seam->transport->air->planes->list()`, request_syntax: 'php', response: `// php␊ - [["foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => null,"number_prop" => 10,"object_prop" => ["foo" => "bar"],"array_prop" => ["foo", "bar"]]]`, + [["plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"]]`, response_syntax: 'php', title: 'PHP', }, python: { request: `// python␊ - seam.foos.list(object_prop={"foo":"bar"})`, + seam.transport.air.planes.list()`, request_syntax: 'python', response: `// python␊ - [Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_prop=None, number_prop=10, object_prop={"foo":"bar"}, array_prop=["foo","bar"])]`, + [Plane(plane_id="9d3163f9-9185-40d3-a0ce-a03d3c7ce402", name="Woosh")]`, response_syntax: 'python', title: 'Python', }, ruby: { request: `// ruby␊ - seam.foos.list(object_prop: {"foo":"bar"})`, + seam.transport.air.planes.list()`, request_syntax: 'ruby', response: `// ruby␊ - [{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_prop" => nil,"number_prop" => 10,"object_prop" => {"foo":"bar"},"array_prop" => ["foo","bar"]}]`, + [{"plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"}]`, response_syntax: 'ruby', title: 'Ruby', }, seam_cli: { request: `// bash␊ - seam foos list --object_prop {"foo":"bar"}`, + seam transport air planes list `, request_syntax: 'bash', response: `// json␊ - [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_prop":null,"number_prop":10,"object_prop":{"foo":"bar"},"array_prop":["foo","bar"]}]`, + [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, response_syntax: 'json', title: 'Seam CLI', }, }, - description: 'This is the way to list foos', + description: 'This is the wya to get all plans', request: { - parameters: { - object_prop: { - foo: 'bar', - }, - }, - path: '/foos/list', + parameters: {}, + path: '/transport/air/planes/list', }, response: { body: { - foos: [ + planes: [ { - array_prop: [ - 'foo', - 'bar', - ], - foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', - name: 'Best foo', - nullable_prop: null, - number_prop: 10, - object_prop: { - foo: 'bar', - }, + name: 'Woosh', + plane_id: '9d3163f9-9185-40d3-a0ce-a03d3c7ce402', }, ], }, }, - title: 'List foos', + title: 'List planes', }, ], deprecationMessage: '', description: '', isDeprecated: false, + isDraft: false, isUndocumented: false, name: 'list', - path: '/foos/list', + path: '/transport/air/planes/list', request: { methods: [ - 'POST', + 'GET', ], parameters: [], - preferredMethod: 'POST', - semanticMethod: 'POST', + preferredMethod: 'GET', + semanticMethod: 'GET', }, response: { - description: 'List all foos.', - resourceType: 'foo', - responseKey: 'foos', + description: 'List all planes.', + resourceType: 'plane', + responseKey: 'planes', responseType: 'resource_list', }, - title: 'List foos', + title: 'List planes', }, ], isDeprecated: false, + isDraft: false, isUndocumented: false, - name: 'foos', - namespace: null, - path: '/foos', + name: 'planes', + namespace: { + isDeprecated: false, + isDraft: false, + isUndocumented: false, + path: '/transport/air', + }, + path: '/transport/air/planes', subroutes: [], }, { @@ -3879,102 +4623,96 @@ Generated by [AVA](https://avajs.dev). code: { csharp: { request: `// csharp␊ - seam.Transport.Air.Planes.List()`, + seam.Deprecated.Undocumented.Endpoint()`, request_syntax: 'csharp', response: `// json␊ - System.Collections.Generic.List\`1[Seam.Model.Plane]`, + null`, response_syntax: 'json', title: 'C#', }, go: { request: `// go␊ - client.Transport.Air.Planes.List(context.Background())`, + client.Deprecated.Undocumented.Endpoint(context.Background())`, request_syntax: 'go', response: `// json␊ - []api.Plane{api.Plane{PlaneId: "9d3163f9-9185-40d3-a0ce-a03d3c7ce402", Name: "Woosh"}}`, + nil`, response_syntax: 'json', title: 'Go', }, java: { request: `// java␊ - seam.transport().air().planes().list();`, + seam.deprecated().undocumented().endpoint();`, request_syntax: 'java', response: `// json␊ - [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, + {}`, response_syntax: 'json', title: 'Java', }, javascript: { request: `// javascript␊ - await seam.transport.air.planes.list()`, + await seam.deprecated.undocumented.endpoint()`, request_syntax: 'javascript', - response: `// json␊ - [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, - response_syntax: 'json', + response: `// javascript␊ + // void`, + response_syntax: 'javascript', title: 'JavaScript', }, php: { request: `// php␊ transport->air->planes->list()`, + $seam->deprecated->undocumented->endpoint()`, request_syntax: 'php', response: `// php␊ - [["plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"]]`, + null`, response_syntax: 'php', title: 'PHP', }, python: { request: `// python␊ - seam.transport.air.planes.list()`, + seam.deprecated.undocumented.endpoint()`, request_syntax: 'python', response: `// python␊ - [Plane(plane_id="9d3163f9-9185-40d3-a0ce-a03d3c7ce402", name="Woosh")]`, + None`, response_syntax: 'python', title: 'Python', }, ruby: { request: `// ruby␊ - seam.transport.air.planes.list()`, + seam.deprecated.undocumented.endpoint()`, request_syntax: 'ruby', response: `// ruby␊ - [{"plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"}]`, + nil`, response_syntax: 'ruby', title: 'Ruby', }, seam_cli: { request: `// bash␊ - seam transport air planes list `, + seam deprecated undocumented endpoint `, request_syntax: 'bash', response: `// json␊ - [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, + {}`, response_syntax: 'json', title: 'Seam CLI', }, }, - description: 'This is the wya to get all plans', + description: 'This is a deprecated and undocumented endpoint', request: { parameters: {}, - path: '/transport/air/planes/list', + path: '/deprecated/undocumented/endpoint', }, response: { - body: { - planes: [ - { - name: 'Woosh', - plane_id: '9d3163f9-9185-40d3-a0ce-a03d3c7ce402', - }, - ], - }, + body: {}, }, - title: 'List planes', + title: 'Deprecated and undocumented endpoint', }, ], deprecationMessage: '', description: '', - isDeprecated: false, - isUndocumented: false, - name: 'list', - path: '/transport/air/planes/list', + isDeprecated: true, + isDraft: false, + isUndocumented: true, + name: 'endpoint', + path: '/deprecated/undocumented/endpoint', request: { methods: [ 'GET', @@ -3984,12 +4722,10 @@ Generated by [AVA](https://avajs.dev). semanticMethod: 'GET', }, response: { - description: 'List all planes.', - resourceType: 'plane', - responseKey: 'planes', - responseType: 'resource_list', + description: 'Deprecated and undocumented endpoint', + responseType: 'void', }, - title: 'List planes', + title: 'Deprecated and undocumented endpoint', }, { codeSamples: [ @@ -3997,102 +4733,96 @@ Generated by [AVA](https://avajs.dev). code: { csharp: { request: `// csharp␊ - seam.Transport.Air.Planes.List()`, + seam.Deprecated.Undocumented.Endpoint()`, request_syntax: 'csharp', response: `// json␊ - System.Collections.Generic.List\`1[Seam.Model.Plane]`, + null`, response_syntax: 'json', title: 'C#', }, go: { request: `// go␊ - client.Transport.Air.Planes.List(context.Background())`, + client.Deprecated.Undocumented.Endpoint(context.Background())`, request_syntax: 'go', response: `// json␊ - []api.Plane{api.Plane{PlaneId: "9d3163f9-9185-40d3-a0ce-a03d3c7ce402", Name: "Woosh"}}`, + nil`, response_syntax: 'json', title: 'Go', }, java: { request: `// java␊ - seam.transport().air().planes().list();`, + seam.deprecated().undocumented().endpoint();`, request_syntax: 'java', response: `// json␊ - [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, + {}`, response_syntax: 'json', title: 'Java', }, javascript: { request: `// javascript␊ - await seam.transport.air.planes.list()`, + await seam.deprecated.undocumented.endpoint()`, request_syntax: 'javascript', - response: `// json␊ - [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, - response_syntax: 'json', + response: `// javascript␊ + // void`, + response_syntax: 'javascript', title: 'JavaScript', }, php: { request: `// php␊ transport->air->planes->list()`, + $seam->deprecated->undocumented->endpoint()`, request_syntax: 'php', response: `// php␊ - [["plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"]]`, + null`, response_syntax: 'php', title: 'PHP', }, python: { request: `// python␊ - seam.transport.air.planes.list()`, + seam.deprecated.undocumented.endpoint()`, request_syntax: 'python', response: `// python␊ - [Plane(plane_id="9d3163f9-9185-40d3-a0ce-a03d3c7ce402", name="Woosh")]`, + None`, response_syntax: 'python', title: 'Python', }, ruby: { request: `// ruby␊ - seam.transport.air.planes.list()`, + seam.deprecated.undocumented.endpoint()`, request_syntax: 'ruby', response: `// ruby␊ - [{"plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"}]`, + nil`, response_syntax: 'ruby', title: 'Ruby', }, seam_cli: { request: `// bash␊ - seam transport air planes list `, + seam deprecated undocumented endpoint `, request_syntax: 'bash', response: `// json␊ - [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, + {}`, response_syntax: 'json', title: 'Seam CLI', }, }, - description: 'This is the wya to get all plans', + description: 'This is a deprecated and undocumented endpoint', request: { parameters: {}, - path: '/transport/air/planes/list', + path: '/deprecated/undocumented/endpoint', }, response: { - body: { - planes: [ - { - name: 'Woosh', - plane_id: '9d3163f9-9185-40d3-a0ce-a03d3c7ce402', - }, - ], - }, + body: {}, }, - title: 'List planes', + title: 'Deprecated and undocumented endpoint', }, ], deprecationMessage: '', description: '', - isDeprecated: false, - isUndocumented: false, - name: 'list', - path: '/transport/air/planes/list', + isDeprecated: true, + isDraft: false, + isUndocumented: true, + name: 'endpoint', + path: '/deprecated/undocumented/endpoint', request: { methods: [ 'GET', @@ -4102,12 +4832,10 @@ Generated by [AVA](https://avajs.dev). semanticMethod: 'GET', }, response: { - description: 'List all planes.', - resourceType: 'plane', - responseKey: 'planes', - responseType: 'resource_list', + description: 'Deprecated and undocumented endpoint', + responseType: 'void', }, - title: 'List planes', + title: 'Deprecated and undocumented endpoint', }, { codeSamples: [ @@ -4115,102 +4843,96 @@ Generated by [AVA](https://avajs.dev). code: { csharp: { request: `// csharp␊ - seam.Transport.Air.Planes.List()`, + seam.Deprecated.Undocumented.Endpoint()`, request_syntax: 'csharp', response: `// json␊ - System.Collections.Generic.List\`1[Seam.Model.Plane]`, + null`, response_syntax: 'json', title: 'C#', }, go: { request: `// go␊ - client.Transport.Air.Planes.List(context.Background())`, + client.Deprecated.Undocumented.Endpoint(context.Background())`, request_syntax: 'go', response: `// json␊ - []api.Plane{api.Plane{PlaneId: "9d3163f9-9185-40d3-a0ce-a03d3c7ce402", Name: "Woosh"}}`, + nil`, response_syntax: 'json', title: 'Go', }, java: { request: `// java␊ - seam.transport().air().planes().list();`, + seam.deprecated().undocumented().endpoint();`, request_syntax: 'java', response: `// json␊ - [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, + {}`, response_syntax: 'json', title: 'Java', }, javascript: { request: `// javascript␊ - await seam.transport.air.planes.list()`, + await seam.deprecated.undocumented.endpoint()`, request_syntax: 'javascript', - response: `// json␊ - [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, - response_syntax: 'json', + response: `// javascript␊ + // void`, + response_syntax: 'javascript', title: 'JavaScript', }, php: { request: `// php␊ transport->air->planes->list()`, + $seam->deprecated->undocumented->endpoint()`, request_syntax: 'php', response: `// php␊ - [["plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"]]`, + null`, response_syntax: 'php', title: 'PHP', }, python: { request: `// python␊ - seam.transport.air.planes.list()`, + seam.deprecated.undocumented.endpoint()`, request_syntax: 'python', response: `// python␊ - [Plane(plane_id="9d3163f9-9185-40d3-a0ce-a03d3c7ce402", name="Woosh")]`, + None`, response_syntax: 'python', title: 'Python', }, ruby: { request: `// ruby␊ - seam.transport.air.planes.list()`, + seam.deprecated.undocumented.endpoint()`, request_syntax: 'ruby', response: `// ruby␊ - [{"plane_id" => "9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name" => "Woosh"}]`, + nil`, response_syntax: 'ruby', title: 'Ruby', }, seam_cli: { request: `// bash␊ - seam transport air planes list `, + seam deprecated undocumented endpoint `, request_syntax: 'bash', response: `// json␊ - [{"plane_id":"9d3163f9-9185-40d3-a0ce-a03d3c7ce402","name":"Woosh"}]`, + {}`, response_syntax: 'json', title: 'Seam CLI', }, }, - description: 'This is the wya to get all plans', + description: 'This is a deprecated and undocumented endpoint', request: { parameters: {}, - path: '/transport/air/planes/list', + path: '/deprecated/undocumented/endpoint', }, response: { - body: { - planes: [ - { - name: 'Woosh', - plane_id: '9d3163f9-9185-40d3-a0ce-a03d3c7ce402', - }, - ], - }, + body: {}, }, - title: 'List planes', + title: 'Deprecated and undocumented endpoint', }, ], deprecationMessage: '', description: '', - isDeprecated: false, - isUndocumented: false, - name: 'list', - path: '/transport/air/planes/list', + isDeprecated: true, + isDraft: false, + isUndocumented: true, + name: 'endpoint', + path: '/deprecated/undocumented/endpoint', request: { methods: [ 'GET', @@ -4220,23 +4942,23 @@ Generated by [AVA](https://avajs.dev). semanticMethod: 'GET', }, response: { - description: 'List all planes.', - resourceType: 'plane', - responseKey: 'planes', - responseType: 'resource_list', + description: 'Deprecated and undocumented endpoint', + responseType: 'void', }, - title: 'List planes', + title: 'Deprecated and undocumented endpoint', }, ], - isDeprecated: false, - isUndocumented: false, - name: 'planes', + isDeprecated: true, + isDraft: false, + isUndocumented: true, + name: 'undocumented', namespace: { - isDeprecated: false, - isUndocumented: false, - path: '/transport/air', + isDeprecated: true, + isDraft: false, + isUndocumented: true, + path: '/deprecated', }, - path: '/transport/air/planes', + path: '/deprecated/undocumented', subroutes: [], }, { @@ -4247,7 +4969,7 @@ Generated by [AVA](https://avajs.dev). code: { csharp: { request: `// csharp␊ - seam.Deprecated.Undocumented.Endpoint()`, + seam.Draft.Endpoint()`, request_syntax: 'csharp', response: `// json␊ null`, @@ -4256,7 +4978,7 @@ Generated by [AVA](https://avajs.dev). }, go: { request: `// go␊ - client.Deprecated.Undocumented.Endpoint(context.Background())`, + client.Draft.Endpoint(context.Background())`, request_syntax: 'go', response: `// json␊ nil`, @@ -4265,7 +4987,7 @@ Generated by [AVA](https://avajs.dev). }, java: { request: `// java␊ - seam.deprecated().undocumented().endpoint();`, + seam.draft().endpoint();`, request_syntax: 'java', response: `// json␊ {}`, @@ -4274,7 +4996,7 @@ Generated by [AVA](https://avajs.dev). }, javascript: { request: `// javascript␊ - await seam.deprecated.undocumented.endpoint()`, + await seam.draft.endpoint()`, request_syntax: 'javascript', response: `// javascript␊ // void`, @@ -4284,7 +5006,7 @@ Generated by [AVA](https://avajs.dev). php: { request: `// php␊ deprecated->undocumented->endpoint()`, + $seam->draft->endpoint()`, request_syntax: 'php', response: `// php␊ null`, @@ -4293,7 +5015,7 @@ Generated by [AVA](https://avajs.dev). }, python: { request: `// python␊ - seam.deprecated.undocumented.endpoint()`, + seam.draft.endpoint()`, request_syntax: 'python', response: `// python␊ None`, @@ -4302,7 +5024,7 @@ Generated by [AVA](https://avajs.dev). }, ruby: { request: `// ruby␊ - seam.deprecated.undocumented.endpoint()`, + seam.draft.endpoint()`, request_syntax: 'ruby', response: `// ruby␊ nil`, @@ -4311,7 +5033,7 @@ Generated by [AVA](https://avajs.dev). }, seam_cli: { request: `// bash␊ - seam deprecated undocumented endpoint `, + seam draft endpoint `, request_syntax: 'bash', response: `// json␊ {}`, @@ -4319,23 +5041,24 @@ Generated by [AVA](https://avajs.dev). title: 'Seam CLI', }, }, - description: 'This is a deprecated and undocumented endpoint', + description: 'This is a draft endpoint', request: { parameters: {}, - path: '/deprecated/undocumented/endpoint', + path: '/draft/endpoint', }, response: { body: {}, }, - title: 'Deprecated and undocumented endpoint', + title: 'Draft endpoint', }, ], deprecationMessage: '', description: '', - isDeprecated: true, - isUndocumented: true, + isDeprecated: false, + isDraft: true, + isUndocumented: false, name: 'endpoint', - path: '/deprecated/undocumented/endpoint', + path: '/draft/endpoint', request: { methods: [ 'GET', @@ -4345,10 +5068,10 @@ Generated by [AVA](https://avajs.dev). semanticMethod: 'GET', }, response: { - description: 'Deprecated and undocumented endpoint', + description: 'Draft endpoint', responseType: 'void', }, - title: 'Deprecated and undocumented endpoint', + title: 'Draft endpoint', }, { codeSamples: [ @@ -4356,7 +5079,7 @@ Generated by [AVA](https://avajs.dev). code: { csharp: { request: `// csharp␊ - seam.Deprecated.Undocumented.Endpoint()`, + seam.Draft.Endpoint()`, request_syntax: 'csharp', response: `// json␊ null`, @@ -4365,7 +5088,7 @@ Generated by [AVA](https://avajs.dev). }, go: { request: `// go␊ - client.Deprecated.Undocumented.Endpoint(context.Background())`, + client.Draft.Endpoint(context.Background())`, request_syntax: 'go', response: `// json␊ nil`, @@ -4374,7 +5097,7 @@ Generated by [AVA](https://avajs.dev). }, java: { request: `// java␊ - seam.deprecated().undocumented().endpoint();`, + seam.draft().endpoint();`, request_syntax: 'java', response: `// json␊ {}`, @@ -4383,7 +5106,7 @@ Generated by [AVA](https://avajs.dev). }, javascript: { request: `// javascript␊ - await seam.deprecated.undocumented.endpoint()`, + await seam.draft.endpoint()`, request_syntax: 'javascript', response: `// javascript␊ // void`, @@ -4393,7 +5116,7 @@ Generated by [AVA](https://avajs.dev). php: { request: `// php␊ deprecated->undocumented->endpoint()`, + $seam->draft->endpoint()`, request_syntax: 'php', response: `// php␊ null`, @@ -4402,7 +5125,7 @@ Generated by [AVA](https://avajs.dev). }, python: { request: `// python␊ - seam.deprecated.undocumented.endpoint()`, + seam.draft.endpoint()`, request_syntax: 'python', response: `// python␊ None`, @@ -4411,7 +5134,7 @@ Generated by [AVA](https://avajs.dev). }, ruby: { request: `// ruby␊ - seam.deprecated.undocumented.endpoint()`, + seam.draft.endpoint()`, request_syntax: 'ruby', response: `// ruby␊ nil`, @@ -4420,7 +5143,7 @@ Generated by [AVA](https://avajs.dev). }, seam_cli: { request: `// bash␊ - seam deprecated undocumented endpoint `, + seam draft endpoint `, request_syntax: 'bash', response: `// json␊ {}`, @@ -4428,23 +5151,24 @@ Generated by [AVA](https://avajs.dev). title: 'Seam CLI', }, }, - description: 'This is a deprecated and undocumented endpoint', + description: 'This is a draft endpoint', request: { parameters: {}, - path: '/deprecated/undocumented/endpoint', + path: '/draft/endpoint', }, response: { body: {}, }, - title: 'Deprecated and undocumented endpoint', + title: 'Draft endpoint', }, ], deprecationMessage: '', description: '', - isDeprecated: true, - isUndocumented: true, + isDeprecated: false, + isDraft: true, + isUndocumented: false, name: 'endpoint', - path: '/deprecated/undocumented/endpoint', + path: '/draft/endpoint', request: { methods: [ 'GET', @@ -4454,10 +5178,10 @@ Generated by [AVA](https://avajs.dev). semanticMethod: 'GET', }, response: { - description: 'Deprecated and undocumented endpoint', + description: 'Draft endpoint', responseType: 'void', }, - title: 'Deprecated and undocumented endpoint', + title: 'Draft endpoint', }, { codeSamples: [ @@ -4465,7 +5189,7 @@ Generated by [AVA](https://avajs.dev). code: { csharp: { request: `// csharp␊ - seam.Deprecated.Undocumented.Endpoint()`, + seam.Draft.Endpoint()`, request_syntax: 'csharp', response: `// json␊ null`, @@ -4474,7 +5198,7 @@ Generated by [AVA](https://avajs.dev). }, go: { request: `// go␊ - client.Deprecated.Undocumented.Endpoint(context.Background())`, + client.Draft.Endpoint(context.Background())`, request_syntax: 'go', response: `// json␊ nil`, @@ -4483,7 +5207,7 @@ Generated by [AVA](https://avajs.dev). }, java: { request: `// java␊ - seam.deprecated().undocumented().endpoint();`, + seam.draft().endpoint();`, request_syntax: 'java', response: `// json␊ {}`, @@ -4492,7 +5216,7 @@ Generated by [AVA](https://avajs.dev). }, javascript: { request: `// javascript␊ - await seam.deprecated.undocumented.endpoint()`, + await seam.draft.endpoint()`, request_syntax: 'javascript', response: `// javascript␊ // void`, @@ -4502,7 +5226,7 @@ Generated by [AVA](https://avajs.dev). php: { request: `// php␊ deprecated->undocumented->endpoint()`, + $seam->draft->endpoint()`, request_syntax: 'php', response: `// php␊ null`, @@ -4511,7 +5235,7 @@ Generated by [AVA](https://avajs.dev). }, python: { request: `// python␊ - seam.deprecated.undocumented.endpoint()`, + seam.draft.endpoint()`, request_syntax: 'python', response: `// python␊ None`, @@ -4520,7 +5244,7 @@ Generated by [AVA](https://avajs.dev). }, ruby: { request: `// ruby␊ - seam.deprecated.undocumented.endpoint()`, + seam.draft.endpoint()`, request_syntax: 'ruby', response: `// ruby␊ nil`, @@ -4529,7 +5253,7 @@ Generated by [AVA](https://avajs.dev). }, seam_cli: { request: `// bash␊ - seam deprecated undocumented endpoint `, + seam draft endpoint `, request_syntax: 'bash', response: `// json␊ {}`, @@ -4537,23 +5261,24 @@ Generated by [AVA](https://avajs.dev). title: 'Seam CLI', }, }, - description: 'This is a deprecated and undocumented endpoint', + description: 'This is a draft endpoint', request: { parameters: {}, - path: '/deprecated/undocumented/endpoint', + path: '/draft/endpoint', }, response: { body: {}, }, - title: 'Deprecated and undocumented endpoint', + title: 'Draft endpoint', }, ], deprecationMessage: '', description: '', - isDeprecated: true, - isUndocumented: true, + isDeprecated: false, + isDraft: true, + isUndocumented: false, name: 'endpoint', - path: '/deprecated/undocumented/endpoint', + path: '/draft/endpoint', request: { methods: [ 'GET', @@ -4563,21 +5288,18 @@ Generated by [AVA](https://avajs.dev). semanticMethod: 'GET', }, response: { - description: 'Deprecated and undocumented endpoint', + description: 'Draft endpoint', responseType: 'void', }, - title: 'Deprecated and undocumented endpoint', + title: 'Draft endpoint', }, ], - isDeprecated: true, - isUndocumented: true, - name: 'undocumented', - namespace: { - isDeprecated: true, - isUndocumented: true, - path: '/deprecated', - }, - path: '/deprecated/undocumented', + isDeprecated: false, + isDraft: true, + isUndocumented: false, + name: 'draft', + namespace: null, + path: '/draft', subroutes: [], }, ], diff --git a/test/snapshots/blueprint.test.ts.snap b/test/snapshots/blueprint.test.ts.snap index 90cc500ef76c68f2a128f71720a5ec92ba8d3e80..d06f986e516fc6a963f7799da996e7c5856d2c8d 100644 GIT binary patch literal 27438 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 literal 23936 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 P|L_#l@ppv`=fVE~M~HvK literal 37856 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