diff --git a/generators/go-v2/ast/src/custom-config/BaseGoCustomConfigSchema.ts b/generators/go-v2/ast/src/custom-config/BaseGoCustomConfigSchema.ts index 2d0d096e8dc..9f0379fa900 100644 --- a/generators/go-v2/ast/src/custom-config/BaseGoCustomConfigSchema.ts +++ b/generators/go-v2/ast/src/custom-config/BaseGoCustomConfigSchema.ts @@ -2,13 +2,17 @@ import { z } from "zod"; import { ModuleConfigSchema } from "./ModuleConfigSchema"; export const BaseGoCustomConfigSchema = z.object({ + module: ModuleConfigSchema.optional(), packageName: z.string().optional(), importPath: z.string().optional(), - module: ModuleConfigSchema.optional(), - union: z.string().optional(), + + alwaysSendRequiredProperties: z.boolean().optional(), enableExplicitNull: z.boolean().optional(), + exportedClientName: z.string().optional(), includeLegacyClientOptions: z.boolean().optional(), - alwaysSendRequiredProperties: z.boolean().optional() + inlinePathParameters: z.boolean().optional(), + inlineFileProperties: z.boolean().optional(), + union: z.string().optional() }); export type BaseGoCustomConfigSchema = z.infer; diff --git a/generators/go-v2/ast/src/custom-config/ModuleConfigSchema.ts b/generators/go-v2/ast/src/custom-config/ModuleConfigSchema.ts index 897881f11ae..d7bc1e0e7ee 100644 --- a/generators/go-v2/ast/src/custom-config/ModuleConfigSchema.ts +++ b/generators/go-v2/ast/src/custom-config/ModuleConfigSchema.ts @@ -2,7 +2,8 @@ import { z } from "zod"; export const ModuleConfigSchema = z.object({ path: z.string(), - version: z.string().optional() + version: z.string().optional(), + imports: z.record(z.string(), z.string()).optional() }); export type ModuleConfigSchema = z.infer; diff --git a/generators/go-v2/dynamic-snippets/src/DynamicSnippetsGenerator.ts b/generators/go-v2/dynamic-snippets/src/DynamicSnippetsGenerator.ts index 0aad6604ac9..7bb68816d9e 100644 --- a/generators/go-v2/dynamic-snippets/src/DynamicSnippetsGenerator.ts +++ b/generators/go-v2/dynamic-snippets/src/DynamicSnippetsGenerator.ts @@ -327,7 +327,8 @@ export class DynamicSnippetsGenerator extends AbstractDynamicSnippetsGenerator field.value)); } this.context.errors.unscope(); @@ -377,24 +378,36 @@ export class DynamicSnippetsGenerator extends AbstractDynamicSnippetsGenerator field.value)); + } + if (this.context.doesInlinedRequestExist({ request })) { + args.push( + this.getInlinedRequestArg({ + request, + snippet, + pathParameterFields: this.context.customConfig?.inlinePathParameters ? pathParameterFields : [] + }) + ); + } return args; } private getInlinedRequestArg({ request, - snippet + snippet, + pathParameterFields }: { request: DynamicSnippets.InlinedRequest; snippet: DynamicSnippets.EndpointSnippetRequest; + pathParameterFields: go.StructField[]; }): go.TypeInstantiation { - const fields: go.StructField[] = []; - this.context.errors.scope(Scope.QueryParameters); const queryParameters = this.context.associateQueryParametersByWireValue({ parameters: request.queryParameters ?? [], @@ -429,7 +442,7 @@ export class DynamicSnippetsGenerator extends AbstractDynamicSnippetsGenerator | undefined { if (typeof value !== "object" || Array.isArray(value)) { this.errors.add({ diff --git a/generators/go/cmd/fern-go-fiber/main.go b/generators/go/cmd/fern-go-fiber/main.go index 9d2233eb95c..adccc061c91 100644 --- a/generators/go/cmd/fern-go-fiber/main.go +++ b/generators/go/cmd/fern-go-fiber/main.go @@ -29,6 +29,7 @@ func run(config *cmd.Config, coordinator *coordinator.Client) ([]*generator.File includeReadme, config.Whitelabel, config.AlwaysSendRequiredProperties, + config.InlinePathParameters, config.InlineFileProperties, config.Organization, config.Version, diff --git a/generators/go/cmd/fern-go-model/main.go b/generators/go/cmd/fern-go-model/main.go index 1c0a05596a8..feaa59b3890 100644 --- a/generators/go/cmd/fern-go-model/main.go +++ b/generators/go/cmd/fern-go-model/main.go @@ -29,6 +29,7 @@ func run(config *cmd.Config, coordinator *coordinator.Client) ([]*generator.File includeReadme, config.Whitelabel, config.AlwaysSendRequiredProperties, + config.InlinePathParameters, config.InlineFileProperties, config.Organization, config.Version, diff --git a/generators/go/cmd/fern-go-sdk/main.go b/generators/go/cmd/fern-go-sdk/main.go index 886bd69742f..b8b9a213814 100644 --- a/generators/go/cmd/fern-go-sdk/main.go +++ b/generators/go/cmd/fern-go-sdk/main.go @@ -29,6 +29,7 @@ func run(config *cmd.Config, coordinator *coordinator.Client) ([]*generator.File includeReadme, config.Whitelabel, config.AlwaysSendRequiredProperties, + config.InlinePathParameters, config.InlineFileProperties, config.Organization, config.Version, diff --git a/generators/go/internal/cmd/cmd.go b/generators/go/internal/cmd/cmd.go index 8b66bb2a485..cd2335271d2 100644 --- a/generators/go/internal/cmd/cmd.go +++ b/generators/go/internal/cmd/cmd.go @@ -56,6 +56,7 @@ type Config struct { IncludeLegacyClientOptions bool Whitelabel bool AlwaysSendRequiredProperties bool + InlinePathParameters bool InlineFileProperties bool Organization string CoordinatorURL string @@ -201,6 +202,7 @@ func newConfig(configFilename string) (*Config, error) { return &Config{ DryRun: config.DryRun, + InlinePathParameters: customConfig.InlinePathParameters, InlineFileProperties: customConfig.InlineFileProperties, IncludeLegacyClientOptions: customConfig.IncludeLegacyClientOptions, EnableExplicitNull: customConfig.EnableExplicitNull, @@ -257,6 +259,7 @@ func readConfig(configFilename string) (*generatorexec.GeneratorConfig, error) { type customConfig struct { EnableExplicitNull bool `json:"enableExplicitNull,omitempty"` + InlinePathParameters bool `json:"inlinePathParameters,omitempty"` InlineFileProperties bool `json:"inlineFileProperties,omitempty"` IncludeLegacyClientOptions bool `json:"includeLegacyClientOptions,omitempty"` AlwaysSendRequiredProperties bool `json:"alwaysSendRequiredProperties,omitempty"` diff --git a/generators/go/internal/fern/ir.json b/generators/go/internal/fern/ir.json index a1b7b3a3c4b..5407dd5a95e 100644 --- a/generators/go/internal/fern/ir.json +++ b/generators/go/internal/fern/ir.json @@ -1,4 +1,6 @@ { + "fdrApiDefinitionId": null, + "apiVersion": null, "apiName": { "originalName": "ir", "camelCase": { @@ -98,15 +100,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -333,7 +355,9 @@ } } }, - "typeId": "type_auth:AuthSchemesRequirement" + "typeId": "type_auth:AuthSchemesRequirement", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -429,7 +453,9 @@ } } }, - "typeId": "type_auth:AuthScheme" + "typeId": "type_auth:AuthScheme", + "default": null, + "inline": null } } }, @@ -437,7 +463,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -499,7 +570,13 @@ "type_auth:OAuthRefreshEndpoint", "type_auth:OAuthRefreshTokenRequestProperties" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -571,6 +648,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -627,7 +705,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -813,6 +897,8 @@ }, "typeId": "type_auth:BearerAuthScheme" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -904,6 +990,8 @@ }, "typeId": "type_auth:BasicAuthScheme" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -995,6 +1083,8 @@ }, "typeId": "type_auth:HeaderAuthScheme" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -1086,6 +1176,8 @@ }, "typeId": "type_auth:OAuthScheme" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -1148,7 +1240,13 @@ "type_auth:OAuthRefreshEndpoint", "type_auth:OAuthRefreshTokenRequestProperties" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -1375,7 +1473,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -1471,7 +1571,9 @@ } } }, - "typeId": "type_auth:EnvironmentVariable" + "typeId": "type_auth:EnvironmentVariable", + "default": null, + "inline": null } } }, @@ -1479,7 +1581,52 @@ "docs": "The environment variable the SDK should use to read the token." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -1487,7 +1634,13 @@ "type_commons:SafeAndUnsafeString", "type_auth:EnvironmentVariable" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -1714,13 +1867,60 @@ } } }, - "typeId": "type_auth:OAuthConfiguration" + "typeId": "type_auth:OAuthConfiguration", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -1776,7 +1976,13 @@ "type_auth:OAuthRefreshEndpoint", "type_auth:OAuthRefreshTokenRequestProperties" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "We currently assume the resultant token is leveraged as a bearer token, e.g. \"Authorization Bearer\"" }, @@ -1962,6 +2168,8 @@ }, "typeId": "type_auth:OAuthClientCredentials" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -2019,7 +2227,13 @@ "type_auth:OAuthRefreshEndpoint", "type_auth:OAuthRefreshTokenRequestProperties" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -2184,7 +2398,9 @@ } } }, - "typeId": "type_auth:EnvironmentVariable" + "typeId": "type_auth:EnvironmentVariable", + "default": null, + "inline": null } } }, @@ -2282,7 +2498,9 @@ } } }, - "typeId": "type_auth:EnvironmentVariable" + "typeId": "type_auth:EnvironmentVariable", + "default": null, + "inline": null } } }, @@ -2318,7 +2536,57 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "tokenHeader", + "camelCase": { + "unsafeName": "tokenHeader", + "safeName": "tokenHeader" + }, + "snakeCase": { + "unsafeName": "token_header", + "safeName": "token_header" + }, + "screamingSnakeCase": { + "unsafeName": "TOKEN_HEADER", + "safeName": "TOKEN_HEADER" + }, + "pascalCase": { + "unsafeName": "TokenHeader", + "safeName": "TokenHeader" + } + }, + "wireValue": "tokenHeader" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -2358,7 +2626,14 @@ "_type": "list", "list": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } } @@ -2454,7 +2729,9 @@ } } }, - "typeId": "type_auth:OAuthTokenEndpoint" + "typeId": "type_auth:OAuthTokenEndpoint", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -2550,7 +2827,9 @@ } } }, - "typeId": "type_auth:OAuthRefreshEndpoint" + "typeId": "type_auth:OAuthRefreshEndpoint", + "default": null, + "inline": null } } }, @@ -2558,7 +2837,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_auth:EnvironmentVariable", @@ -2612,7 +2892,13 @@ "type_auth:OAuthRefreshEndpoint", "type_auth:OAuthRefreshTokenRequestProperties" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -2773,7 +3059,9 @@ } } }, - "typeId": "type_commons:EndpointReference" + "typeId": "type_commons:EndpointReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -2865,7 +3153,9 @@ } } }, - "typeId": "type_auth:OAuthAccessTokenRequestProperties" + "typeId": "type_auth:OAuthAccessTokenRequestProperties", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -2957,13 +3247,16 @@ } } }, - "typeId": "type_auth:OAuthAccessTokenResponseProperties" + "typeId": "type_auth:OAuthAccessTokenResponseProperties", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:EndpointReference", @@ -3013,7 +3306,13 @@ "type_auth:OAuthAccessTokenResponseProperties", "type_http:ResponseProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -3174,7 +3473,9 @@ } } }, - "typeId": "type_commons:EndpointReference" + "typeId": "type_commons:EndpointReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -3266,7 +3567,9 @@ } } }, - "typeId": "type_auth:OAuthRefreshTokenRequestProperties" + "typeId": "type_auth:OAuthRefreshTokenRequestProperties", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -3358,13 +3661,16 @@ } } }, - "typeId": "type_auth:OAuthAccessTokenResponseProperties" + "typeId": "type_auth:OAuthAccessTokenResponseProperties", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:EndpointReference", @@ -3414,7 +3720,13 @@ "type_auth:OAuthAccessTokenResponseProperties", "type_http:ResponseProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -3575,7 +3887,9 @@ } } }, - "typeId": "type_http:RequestProperty" + "typeId": "type_http:RequestProperty", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -3667,7 +3981,9 @@ } } }, - "typeId": "type_http:RequestProperty" + "typeId": "type_http:RequestProperty", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -3763,7 +4079,9 @@ } } }, - "typeId": "type_http:RequestProperty" + "typeId": "type_http:RequestProperty", + "default": null, + "inline": null } } }, @@ -3771,7 +4089,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:RequestProperty", @@ -3814,7 +4133,13 @@ "type_types:BigIntegerType", "type_types:ObjectProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The properties required to retrieve an OAuth token." }, @@ -3975,7 +4300,9 @@ } } }, - "typeId": "type_http:ResponseProperty" + "typeId": "type_http:ResponseProperty", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -4071,7 +4398,9 @@ } } }, - "typeId": "type_http:ResponseProperty" + "typeId": "type_http:ResponseProperty", + "default": null, + "inline": null } } }, @@ -4169,7 +4498,9 @@ } } }, - "typeId": "type_http:ResponseProperty" + "typeId": "type_http:ResponseProperty", + "default": null, + "inline": null } } }, @@ -4177,7 +4508,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:ResponseProperty", @@ -4218,7 +4550,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The properties to map to the corresponding OAuth token primitive." }, @@ -4379,13 +4717,16 @@ } } }, - "typeId": "type_http:RequestProperty" + "typeId": "type_http:RequestProperty", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:RequestProperty", @@ -4428,7 +4769,13 @@ "type_types:BigIntegerType", "type_types:ObjectProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The properties required to retrieve an OAuth refresh token." }, @@ -4655,7 +5002,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -4751,7 +5100,9 @@ } } }, - "typeId": "type_auth:EnvironmentVariable" + "typeId": "type_auth:EnvironmentVariable", + "default": null, + "inline": null } } }, @@ -4845,7 +5196,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -4941,7 +5294,9 @@ } } }, - "typeId": "type_auth:EnvironmentVariable" + "typeId": "type_auth:EnvironmentVariable", + "default": null, + "inline": null } } }, @@ -4949,7 +5304,52 @@ "docs": "The environment variable the SDK should use to read the password." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -4957,7 +5357,13 @@ "type_commons:SafeAndUnsafeString", "type_auth:EnvironmentVariable" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -5184,7 +5590,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -5276,7 +5684,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -5310,7 +5720,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -5408,7 +5825,9 @@ } } }, - "typeId": "type_auth:EnvironmentVariable" + "typeId": "type_auth:EnvironmentVariable", + "default": null, + "inline": null } } }, @@ -5416,7 +5835,52 @@ "docs": "The environment variable the SDK should use to read the header." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -5456,7 +5920,13 @@ "type_types:BigIntegerType", "type_auth:EnvironmentVariable" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -5559,7 +6029,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -5567,10 +6044,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -5801,7 +6285,9 @@ } } }, - "typeId": "type_commons:Availability" + "typeId": "type_commons:Availability", + "default": null, + "inline": null } } }, @@ -5809,14 +6295,65 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", "type_commons:Availability", "type_commons:AvailabilityStatus" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -5981,7 +6518,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -6079,7 +6618,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -6177,7 +6718,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -6185,13 +6728,20 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -6290,7 +6840,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -6382,7 +6939,9 @@ } } }, - "typeId": "type_commons:SafeAndUnsafeString" + "typeId": "type_commons:SafeAndUnsafeString", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -6474,7 +7033,9 @@ } } }, - "typeId": "type_commons:SafeAndUnsafeString" + "typeId": "type_commons:SafeAndUnsafeString", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -6566,7 +7127,9 @@ } } }, - "typeId": "type_commons:SafeAndUnsafeString" + "typeId": "type_commons:SafeAndUnsafeString", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -6658,18 +7221,27 @@ } } }, - "typeId": "type_commons:SafeAndUnsafeString" + "typeId": "type_commons:SafeAndUnsafeString", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -6768,7 +7340,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -6860,19 +7439,28 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -6971,7 +7559,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": "this name might overlap with reserved keywords of the language being generated" @@ -7001,16 +7596,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": "this name will NOT overlap with reserved keywords of the language being generated" } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7109,16 +7718,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Defines the original string, and its escaped-equivalent (depending on the target programming language).\nThis is paricularly relevant to example string literals.\n\nFor example, in Python we escape strings that contain single or double quotes by using triple quotes,\nin Go we use backticks, etc." }, @@ -7222,10 +7845,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7299,15 +7929,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7381,15 +8031,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7463,15 +8133,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7545,15 +8235,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7627,15 +8337,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7709,15 +8439,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7791,15 +8541,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7873,15 +8643,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -7955,15 +8745,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -8194,7 +9004,9 @@ } } }, - "typeId": "type_commons:Availability" + "typeId": "type_commons:Availability", + "default": null, + "inline": null } } }, @@ -8202,14 +9014,65 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", "type_commons:Availability", "type_commons:AvailabilityStatus" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -8370,7 +9233,9 @@ } } }, - "typeId": "type_commons:AvailabilityStatus" + "typeId": "type_commons:AvailabilityStatus", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -8404,7 +9269,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -8412,12 +9284,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:AvailabilityStatus" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -8489,6 +9368,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -8597,7 +9477,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -8758,7 +9644,9 @@ } } }, - "typeId": "type_commons:EndpointId" + "typeId": "type_commons:EndpointId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -8850,7 +9738,9 @@ } } }, - "typeId": "type_commons:ServiceId" + "typeId": "type_commons:ServiceId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -8946,7 +9836,9 @@ } } }, - "typeId": "type_commons:SubpackageId" + "typeId": "type_commons:SubpackageId", + "default": null, + "inline": null } } }, @@ -8954,14 +9846,21 @@ "docs": "The subpackage that defines the endpoint. If empty, the endpoint is\ndefined in the root package." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:EndpointId", "type_commons:ServiceId", "type_commons:SubpackageId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -9122,20 +10021,29 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -9399,6 +10307,8 @@ }, "typeId": "type_dynamic/auth:BasicAuth" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -9529,6 +10439,8 @@ }, "typeId": "type_dynamic/auth:BearerAuth" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -9659,6 +10571,8 @@ }, "typeId": "type_dynamic/auth:HeaderAuth" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -9677,7 +10591,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -9941,6 +10861,8 @@ }, "typeId": "type_dynamic/auth:BasicAuthValues" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -10071,6 +10993,8 @@ }, "typeId": "type_dynamic/auth:BearerAuthValues" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -10201,6 +11125,8 @@ }, "typeId": "type_dynamic/auth:HeaderAuthValues" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -10210,7 +11136,13 @@ "type_dynamic/auth:BearerAuthValues", "type_dynamic/auth:HeaderAuthValues" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -10410,7 +11342,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -10502,19 +11436,28 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -10652,7 +11595,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -10682,16 +11632,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -10891,19 +11855,28 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -11041,16 +12014,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -11289,13 +12276,16 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/types:NamedParameter", @@ -11308,7 +12298,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -11451,10 +12447,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -11654,7 +12657,9 @@ } } }, - "typeId": "type_commons:FernFilepath" + "typeId": "type_commons:FernFilepath", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -11746,20 +12751,29 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:FernFilepath", "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -11959,7 +12973,9 @@ } } }, - "typeId": "type_http:HttpMethod" + "typeId": "type_http:HttpMethod", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -11989,18 +13005,32 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:HttpMethod" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Represents the endpoint location (e.g. \"POST /users\")." }, @@ -12243,7 +13273,9 @@ } } }, - "typeId": "type_dynamic/auth:Auth" + "typeId": "type_dynamic/auth:Auth", + "default": null, + "inline": null } } }, @@ -12376,7 +13408,9 @@ } } }, - "typeId": "type_dynamic/declaration:Declaration" + "typeId": "type_dynamic/declaration:Declaration", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -12507,7 +13541,9 @@ } } }, - "typeId": "type_dynamic/endpoints:EndpointLocation" + "typeId": "type_dynamic/endpoints:EndpointLocation", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -12638,7 +13674,9 @@ } } }, - "typeId": "type_dynamic/endpoints:Request" + "typeId": "type_dynamic/endpoints:Request", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -12769,13 +13807,16 @@ } } }, - "typeId": "type_dynamic/endpoints:Response" + "typeId": "type_dynamic/endpoints:Response", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/auth:Auth", @@ -12805,7 +13846,13 @@ "type_dynamic/endpoints:FileUploadRequestBodyProperty", "type_dynamic/endpoints:Response" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -13069,6 +14116,8 @@ }, "typeId": "type_dynamic/endpoints:BodyRequest" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -13199,6 +14248,8 @@ }, "typeId": "type_dynamic/endpoints:InlinedRequest" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -13223,7 +14274,13 @@ "type_dynamic/endpoints:FileUploadRequestBody", "type_dynamic/endpoints:FileUploadRequestBodyProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Reperesents the request parameters required to call a specific endpoiont." }, @@ -13385,12 +14442,20 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Reperesents the response returned by a specific endpoint.\n\nFor now, we only support json responses, but this is set up to support a\nvariety of other endpoint response types (e.g. file download, pagination,\nstreaming, etc)." }, @@ -13637,7 +14702,9 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } } @@ -13776,7 +14843,9 @@ } } }, - "typeId": "type_dynamic/endpoints:ReferencedRequestBodyType" + "typeId": "type_dynamic/endpoints:ReferencedRequestBodyType", + "default": null, + "inline": null } } }, @@ -13784,7 +14853,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/types:NamedParameter", @@ -13798,7 +14868,13 @@ "type_types:PrimitiveTypeV1", "type_dynamic/endpoints:ReferencedRequestBodyType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -14037,7 +15113,9 @@ } } }, - "typeId": "type_dynamic/declaration:Declaration" + "typeId": "type_dynamic/declaration:Declaration", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -14176,7 +15254,9 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } } @@ -14319,7 +15399,9 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } } @@ -14462,7 +15544,9 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } } @@ -14601,7 +15685,9 @@ } } }, - "typeId": "type_dynamic/endpoints:InlinedRequestBody" + "typeId": "type_dynamic/endpoints:InlinedRequestBody", + "default": null, + "inline": null } } }, @@ -14609,7 +15695,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/declaration:Declaration", @@ -14629,7 +15716,13 @@ "type_dynamic/endpoints:FileUploadRequestBody", "type_dynamic/endpoints:FileUploadRequestBodyProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -14919,11 +16012,15 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -15054,6 +16151,8 @@ }, "typeId": "type_dynamic/endpoints:ReferencedRequestBody" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -15184,6 +16283,8 @@ }, "typeId": "type_dynamic/endpoints:FileUploadRequestBody" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -15203,7 +16304,13 @@ "type_dynamic/endpoints:FileUploadRequestBody", "type_dynamic/endpoints:FileUploadRequestBodyProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -15403,7 +16510,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -15534,13 +16643,16 @@ } } }, - "typeId": "type_dynamic/endpoints:ReferencedRequestBodyType" + "typeId": "type_dynamic/endpoints:ReferencedRequestBodyType", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", @@ -15552,7 +16664,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -15714,6 +16832,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -15866,9 +16986,13 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null } ] @@ -15880,7 +17004,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -16123,7 +17253,9 @@ } } }, - "typeId": "type_dynamic/endpoints:FileUploadRequestBodyProperty" + "typeId": "type_dynamic/endpoints:FileUploadRequestBodyProperty", + "default": null, + "inline": null } } }, @@ -16131,7 +17263,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/endpoints:FileUploadRequestBodyProperty", @@ -16145,7 +17278,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -16370,6 +17509,8 @@ }, "typeId": "type_commons:NameAndWireValue" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -16461,6 +17602,8 @@ }, "typeId": "type_commons:NameAndWireValue" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -16591,6 +17734,8 @@ }, "typeId": "type_dynamic/types:NamedParameter" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -16606,7 +17751,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -16846,7 +17997,9 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null }, "valueType": { "_type": "named", @@ -16951,7 +18104,9 @@ } } }, - "typeId": "type_dynamic/types:NamedType" + "typeId": "type_dynamic/types:NamedType", + "default": null, + "inline": null } } }, @@ -17049,7 +18204,9 @@ } } }, - "typeId": "type_commons:EndpointId" + "typeId": "type_commons:EndpointId", + "default": null, + "inline": null }, "valueType": { "_type": "named", @@ -17154,7 +18311,9 @@ } } }, - "typeId": "type_dynamic/endpoints:Endpoint" + "typeId": "type_dynamic/endpoints:Endpoint", + "default": null, + "inline": null } } }, @@ -17295,7 +18454,9 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } } @@ -17305,7 +18466,8 @@ "docs": "The headers that are required on every request. These headers\nare typically included in the SDK's client constructor." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:TypeId", @@ -17347,7 +18509,13 @@ "type_dynamic/endpoints:FileUploadRequestBodyProperty", "type_dynamic/endpoints:Response" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "This represents the IR required to generate dynamic snippets.\n\nThis IR minimizes the space required to generate snippets in a variety\nof environments (e.g. web, offline, etc)." }, @@ -17458,6 +18626,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -17514,7 +18683,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -17753,7 +18928,9 @@ } } }, - "typeId": "type_dynamic/snippets:ErrorSeverity" + "typeId": "type_dynamic/snippets:ErrorSeverity", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -17783,18 +18960,32 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/snippets:ErrorSeverity" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -17911,7 +19102,14 @@ "_type": "map", "keyType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "valueType": { "_type": "unknown" @@ -17924,7 +19122,14 @@ "_type": "map", "keyType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "valueType": { "_type": "unknown" @@ -17933,7 +19138,13 @@ } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Snippet values are represented as arbitrary key, value\npairs (i.e. JSON objects). The keys are expected to be\nin the parameter's wire representation. For path parameters,\nthe name will match the parameter name." }, @@ -18172,7 +19383,9 @@ } } }, - "typeId": "type_dynamic/endpoints:EndpointLocation" + "typeId": "type_dynamic/endpoints:EndpointLocation", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -18307,7 +19520,9 @@ } } }, - "typeId": "type_dynamic/auth:AuthValues" + "typeId": "type_dynamic/auth:AuthValues", + "default": null, + "inline": null } } }, @@ -18444,7 +19659,9 @@ } } }, - "typeId": "type_dynamic/snippets:Values" + "typeId": "type_dynamic/snippets:Values", + "default": null, + "inline": null } } }, @@ -18581,7 +19798,9 @@ } } }, - "typeId": "type_dynamic/snippets:Values" + "typeId": "type_dynamic/snippets:Values", + "default": null, + "inline": null } } }, @@ -18718,7 +19937,9 @@ } } }, - "typeId": "type_dynamic/snippets:Values" + "typeId": "type_dynamic/snippets:Values", + "default": null, + "inline": null } } }, @@ -18761,7 +19982,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/endpoints:EndpointLocation", @@ -18772,7 +19994,13 @@ "type_dynamic/auth:HeaderAuthValues", "type_dynamic/snippets:Values" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The user-facing request type used to generate a dynamic snippet." }, @@ -18910,7 +20138,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -19049,7 +20284,9 @@ } } }, - "typeId": "type_dynamic/snippets:Error" + "typeId": "type_dynamic/snippets:Error", + "default": null, + "inline": null } } } @@ -19059,13 +20296,20 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/snippets:Error", "type_dynamic/snippets:ErrorSeverity" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The user-facing response type containing the generated snippet.\n\nIf there are any errors, the snippet will still sometimes represent a\npartial and/or valid result. This is useful for rendering a snippet alongside\nerror messages the user can use to diagnose and resolve the problem." }, @@ -19265,7 +20509,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -19396,13 +20642,16 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -19414,7 +20663,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -19678,6 +20933,8 @@ }, "typeId": "type_dynamic/types:AliasType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -19808,6 +21065,8 @@ }, "typeId": "type_dynamic/types:EnumType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -19938,6 +21197,8 @@ }, "typeId": "type_dynamic/types:ObjectType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -20068,6 +21329,8 @@ }, "typeId": "type_dynamic/types:DiscriminatedUnionType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -20198,6 +21461,8 @@ }, "typeId": "type_dynamic/types:UndiscriminatedUnionType" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -20224,7 +21489,13 @@ "type_dynamic/types:SingleDiscriminatedUnionTypeNoProperties", "type_dynamic/types:UndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Represents the type of a parameter that can be used to generate a dynamic type." }, @@ -20510,9 +21781,13 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -20665,9 +21940,13 @@ } } }, - "typeId": "type_dynamic/types:LiteralType" + "typeId": "type_dynamic/types:LiteralType", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -20798,6 +22077,8 @@ }, "typeId": "type_dynamic/types:MapType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -20911,9 +22192,13 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -21066,9 +22351,13 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -21182,9 +22471,13 @@ } } }, - "typeId": "type_types:PrimitiveTypeV1" + "typeId": "type_types:PrimitiveTypeV1", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -21337,9 +22630,13 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -21368,6 +22665,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -21379,7 +22678,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -21618,7 +22923,9 @@ } } }, - "typeId": "type_dynamic/declaration:Declaration" + "typeId": "type_dynamic/declaration:Declaration", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -21749,13 +23056,16 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/declaration:Declaration", @@ -21768,7 +23078,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -22007,7 +23323,9 @@ } } }, - "typeId": "type_dynamic/declaration:Declaration" + "typeId": "type_dynamic/declaration:Declaration", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -22103,7 +23421,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null } } }, @@ -22111,7 +23431,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/declaration:Declaration", @@ -22120,7 +23441,13 @@ "type_commons:SafeAndUnsafeString", "type_commons:NameAndWireValue" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -22359,7 +23686,9 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -22490,13 +23819,16 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/types:TypeReference", @@ -22505,7 +23837,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -22744,7 +24082,9 @@ } } }, - "typeId": "type_dynamic/declaration:Declaration" + "typeId": "type_dynamic/declaration:Declaration", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -22879,7 +24219,9 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } }, @@ -22887,7 +24229,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/declaration:Declaration", @@ -22902,7 +24245,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -23141,7 +24490,9 @@ } } }, - "typeId": "type_dynamic/declaration:Declaration" + "typeId": "type_dynamic/declaration:Declaration", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -23233,7 +24584,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -23267,7 +24620,14 @@ "_type": "map", "keyType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "valueType": { "_type": "named", @@ -23372,7 +24732,9 @@ } } }, - "typeId": "type_dynamic/types:SingleDiscriminatedUnionType" + "typeId": "type_dynamic/types:SingleDiscriminatedUnionType", + "default": null, + "inline": null } } }, @@ -23380,7 +24742,8 @@ "docs": "Map from the discriminant value (e.g. \"user\") to the type (e.g. User)." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/declaration:Declaration", @@ -23399,7 +24762,13 @@ "type_dynamic/types:SingleDiscriminatedUnionTypeSingleProperty", "type_dynamic/types:SingleDiscriminatedUnionTypeNoProperties" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -23663,6 +25032,8 @@ }, "typeId": "type_dynamic/types:SingleDiscriminatedUnionTypeObject" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -23793,6 +25164,8 @@ }, "typeId": "type_dynamic/types:SingleDiscriminatedUnionTypeSingleProperty" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -23923,6 +25296,8 @@ }, "typeId": "type_dynamic/types:SingleDiscriminatedUnionTypeNoProperties" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -23941,7 +25316,13 @@ "type_dynamic/types:SingleDiscriminatedUnionTypeSingleProperty", "type_dynamic/types:SingleDiscriminatedUnionTypeNoProperties" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -24141,7 +25522,9 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -24233,7 +25616,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -24368,7 +25753,9 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } }, @@ -24376,7 +25763,8 @@ "docs": "Any properties included here are the base and/or extended properties from the union." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:TypeId", @@ -24389,7 +25777,13 @@ "type_dynamic/types:MapType", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -24628,7 +26022,9 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -24720,7 +26116,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -24859,7 +26257,9 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } } @@ -24869,7 +26269,8 @@ "docs": "Any properties included here are the base and/or extended properties from the union." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/types:TypeReference", @@ -24882,7 +26283,13 @@ "type_commons:SafeAndUnsafeString", "type_dynamic/types:NamedParameter" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -25082,7 +26489,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -25221,7 +26630,9 @@ } } }, - "typeId": "type_dynamic/types:NamedParameter" + "typeId": "type_dynamic/types:NamedParameter", + "default": null, + "inline": null } } } @@ -25231,7 +26642,8 @@ "docs": "Any properties included here are the base and/or extended properties from the union." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -25244,7 +26656,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -25483,7 +26901,9 @@ } } }, - "typeId": "type_dynamic/declaration:Declaration" + "typeId": "type_dynamic/declaration:Declaration", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -25618,7 +27038,9 @@ } } }, - "typeId": "type_dynamic/types:TypeReference" + "typeId": "type_dynamic/types:TypeReference", + "default": null, + "inline": null } } }, @@ -25626,7 +27048,8 @@ "docs": "The dynamic type will be rendered with the first type that matches." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_dynamic/declaration:Declaration", @@ -25639,7 +27062,13 @@ "type_commons:TypeId", "type_types:PrimitiveTypeV1" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -25824,9 +27253,14 @@ }, "type": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -25878,15 +27312,30 @@ }, "type": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, + "displayName": null, + "availability": null, "docs": null } ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -25960,15 +27409,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -26042,15 +27511,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -26124,15 +27613,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -26297,7 +27806,9 @@ } } }, - "typeId": "type_environment:EnvironmentId" + "typeId": "type_environment:EnvironmentId", + "default": null, + "inline": null } } }, @@ -26391,13 +27902,16 @@ } } }, - "typeId": "type_environment:Environments" + "typeId": "type_environment:Environments", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_environment:EnvironmentId", @@ -26413,7 +27927,13 @@ "type_environment:EnvironmentBaseUrlId", "type_environment:MultipleBaseUrlsEnvironment" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -26599,6 +28119,8 @@ }, "typeId": "type_environment:SingleBaseUrlEnvironments" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -26690,6 +28212,8 @@ }, "typeId": "type_environment:MultipleBaseUrlsEnvironments" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -26707,7 +28231,13 @@ "type_environment:EnvironmentBaseUrlId", "type_environment:MultipleBaseUrlsEnvironment" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -26872,7 +28402,9 @@ } } }, - "typeId": "type_environment:SingleBaseUrlEnvironment" + "typeId": "type_environment:SingleBaseUrlEnvironment", + "default": null, + "inline": null } } }, @@ -26880,7 +28412,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_environment:SingleBaseUrlEnvironment", @@ -26890,7 +28423,13 @@ "type_commons:SafeAndUnsafeString", "type_environment:EnvironmentUrl" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -27117,7 +28656,9 @@ } } }, - "typeId": "type_environment:EnvironmentId" + "typeId": "type_environment:EnvironmentId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -27209,7 +28750,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -27301,13 +28844,60 @@ } } }, - "typeId": "type_environment:EnvironmentUrl" + "typeId": "type_environment:EnvironmentUrl", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -27316,7 +28906,13 @@ "type_commons:SafeAndUnsafeString", "type_environment:EnvironmentUrl" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -27481,7 +29077,9 @@ } } }, - "typeId": "type_environment:EnvironmentBaseUrlWithId" + "typeId": "type_environment:EnvironmentBaseUrlWithId", + "default": null, + "inline": null } } }, @@ -27579,7 +29177,9 @@ } } }, - "typeId": "type_environment:MultipleBaseUrlsEnvironment" + "typeId": "type_environment:MultipleBaseUrlsEnvironment", + "default": null, + "inline": null } } }, @@ -27587,7 +29187,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_environment:EnvironmentBaseUrlWithId", @@ -27599,7 +29200,13 @@ "type_environment:EnvironmentId", "type_environment:EnvironmentUrl" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -27826,7 +29433,9 @@ } } }, - "typeId": "type_environment:EnvironmentId" + "typeId": "type_environment:EnvironmentId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -27918,7 +29527,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -28014,7 +29625,9 @@ } } }, - "typeId": "type_environment:EnvironmentBaseUrlId" + "typeId": "type_environment:EnvironmentBaseUrlId", + "default": null, + "inline": null }, "valueType": { "_type": "named", @@ -28080,7 +29693,9 @@ } } }, - "typeId": "type_environment:EnvironmentUrl" + "typeId": "type_environment:EnvironmentUrl", + "default": null, + "inline": null } } }, @@ -28088,7 +29703,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -28098,7 +29758,13 @@ "type_environment:EnvironmentBaseUrlId", "type_environment:EnvironmentUrl" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -28259,7 +29925,9 @@ } } }, - "typeId": "type_environment:EnvironmentBaseUrlId" + "typeId": "type_environment:EnvironmentBaseUrlId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -28351,20 +30019,29 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_environment:EnvironmentBaseUrlId", "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -28591,7 +30268,9 @@ } } }, - "typeId": "type_errors:DeclaredErrorName" + "typeId": "type_errors:DeclaredErrorName", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -28683,7 +30362,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -28779,7 +30460,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null } } }, @@ -28811,7 +30494,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -28907,7 +30597,9 @@ } } }, - "typeId": "type_errors:ExampleError" + "typeId": "type_errors:ExampleError", + "default": null, + "inline": null } } }, @@ -28915,7 +30607,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -28982,7 +30719,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -29168,6 +30911,8 @@ }, "typeId": "type_commons:NameAndWireValue" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -29196,6 +30941,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -29205,7 +30952,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -29366,7 +31119,9 @@ } } }, - "typeId": "type_commons:ErrorId" + "typeId": "type_commons:ErrorId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -29458,7 +31213,9 @@ } } }, - "typeId": "type_commons:FernFilepath" + "typeId": "type_commons:FernFilepath", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -29550,13 +31307,16 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:ErrorId", @@ -29564,7 +31324,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -29860,7 +31626,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -29954,13 +31722,89 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "jsonExample", + "camelCase": { + "unsafeName": "jsonExample", + "safeName": "jsonExample" + }, + "snakeCase": { + "unsafeName": "json_example", + "safeName": "json_example" + }, + "screamingSnakeCase": { + "unsafeName": "JSON_EXAMPLE", + "safeName": "JSON_EXAMPLE" + }, + "pascalCase": { + "unsafeName": "JsonExample", + "safeName": "JsonExample" + } + }, + "wireValue": "jsonExample" + }, + "valueType": { + "_type": "unknown" + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithJsonExample", @@ -30024,7 +31868,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -30162,7 +32012,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -30192,7 +32045,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -30226,7 +32086,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -30363,7 +32230,9 @@ } } }, - "typeId": "type_generator-exec/config:LicenseConfig" + "typeId": "type_generator-exec/config:LicenseConfig", + "default": null, + "inline": null } } }, @@ -30496,7 +32365,9 @@ } } }, - "typeId": "type_generator-exec/config:GeneratorOutputConfig" + "typeId": "type_generator-exec/config:GeneratorOutputConfig", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -30631,7 +32502,9 @@ } } }, - "typeId": "type_generator-exec/config:GeneratorPublishConfig" + "typeId": "type_generator-exec/config:GeneratorPublishConfig", + "default": null, + "inline": null } } }, @@ -30663,7 +32536,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -30693,7 +32573,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -30853,7 +32740,9 @@ } } }, - "typeId": "type_generator-exec/config:GeneratorEnvironment" + "typeId": "type_generator-exec/config:GeneratorEnvironment", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -30883,7 +32772,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -30913,7 +32805,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -30947,7 +32842,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -30979,13 +32877,17 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:LicenseConfig", @@ -31024,7 +32926,13 @@ "type_generator-exec/config:GeneratorEnvironment", "type_generator-exec/config:RemoteGeneratorEnvironment" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -31288,6 +33196,8 @@ }, "typeId": "type_generator-exec/config:BasicLicense" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -31418,6 +33328,8 @@ }, "typeId": "type_generator-exec/config:CustomLicense" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -31427,7 +33339,13 @@ "type_generator-exec/config:LicenseId", "type_generator-exec/config:CustomLicense" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -31666,18 +33584,27 @@ } } }, - "typeId": "type_generator-exec/config:LicenseId" + "typeId": "type_generator-exec/config:LicenseId", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:LicenseId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -31788,6 +33715,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -31844,7 +33772,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -31982,16 +33916,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -32129,7 +34077,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -32163,7 +34118,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -32199,7 +34161,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -32336,7 +34305,9 @@ } } }, - "typeId": "type_generator-exec/config:PublishingMetadata" + "typeId": "type_generator-exec/config:PublishingMetadata", + "default": null, + "inline": null } } }, @@ -32469,13 +34440,16 @@ } } }, - "typeId": "type_generator-exec/config:OutputMode" + "typeId": "type_generator-exec/config:OutputMode", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:PublishingMetadata", @@ -32507,7 +34481,13 @@ "type_generator-exec/config:RubyGemsGithubPublishInfo", "type_generator-exec/config:NugetGithubPublishInfo" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -32771,6 +34751,8 @@ }, "typeId": "type_generator-exec/config:GeneratorPublishConfig" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -32799,6 +34781,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -32929,6 +34913,8 @@ }, "typeId": "type_generator-exec/config:GithubOutputMode" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -32961,7 +34947,13 @@ "type_generator-exec/config:RubyGemsGithubPublishInfo", "type_generator-exec/config:NugetGithubPublishInfo" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -33200,7 +35192,9 @@ } } }, - "typeId": "type_generator-exec/config:GeneratorRegistriesConfig" + "typeId": "type_generator-exec/config:GeneratorRegistriesConfig", + "default": null, + "inline": null }, "availability": null, "docs": "Deprecated, use publishTargets instead." @@ -33331,7 +35325,9 @@ } } }, - "typeId": "type_generator-exec/config:GeneratorRegistriesConfigV2" + "typeId": "type_generator-exec/config:GeneratorRegistriesConfigV2", + "default": null, + "inline": null }, "availability": null, "docs": "Deprecated, use publishTargets instead." @@ -33466,7 +35462,9 @@ } } }, - "typeId": "type_generator-exec/config:GeneratorPublishTarget" + "typeId": "type_generator-exec/config:GeneratorPublishTarget", + "default": null, + "inline": null } } }, @@ -33498,13 +35496,21 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:GeneratorRegistriesConfig", @@ -33523,7 +35529,13 @@ "type_generator-exec/config:GeneratorPublishTarget", "type_generator-exec/config:PostmanConfig" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -33661,7 +35673,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -33691,7 +35710,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": "A full repo url (i.e. https://github.com/fern-api/fern)" @@ -33725,7 +35751,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -33862,7 +35895,9 @@ } } }, - "typeId": "type_generator-exec/config:GithubPublishInfo" + "typeId": "type_generator-exec/config:GithubPublishInfo", + "default": null, + "inline": null } } }, @@ -33870,7 +35905,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:GithubPublishInfo", @@ -33886,7 +35922,13 @@ "type_generator-exec/config:RubyGemsGithubPublishInfo", "type_generator-exec/config:NugetGithubPublishInfo" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -34024,7 +36066,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -34054,16 +36103,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -34205,7 +36268,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -34346,7 +36416,9 @@ } } }, - "typeId": "type_generator-exec/config:OutputMetadataAuthor" + "typeId": "type_generator-exec/config:OutputMetadataAuthor", + "default": null, + "inline": null } } } @@ -34356,12 +36428,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:OutputMetadataAuthor" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -34503,7 +36582,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -34539,7 +36625,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -34575,7 +36668,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -34611,7 +36711,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -34619,10 +36726,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "This should effectively be deprecated in favor of a more specific configuration per-output mode (pypi, maven, etc.)." }, @@ -34886,6 +37000,8 @@ }, "typeId": "type_generator-exec/config:NpmGithubPublishInfo" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -35016,6 +37132,8 @@ }, "typeId": "type_generator-exec/config:MavenGithubPublishInfo" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -35146,6 +37264,8 @@ }, "typeId": "type_generator-exec/config:PostmanGithubPublishInfo" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -35276,6 +37396,8 @@ }, "typeId": "type_generator-exec/config:PypiGithubPublishInfo" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -35406,6 +37528,8 @@ }, "typeId": "type_generator-exec/config:RubyGemsGithubPublishInfo" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -35536,6 +37660,8 @@ }, "typeId": "type_generator-exec/config:NugetGithubPublishInfo" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -35553,7 +37679,13 @@ "type_generator-exec/config:RubyGemsGithubPublishInfo", "type_generator-exec/config:NugetGithubPublishInfo" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -35666,15 +37798,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -35812,7 +37964,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -35842,7 +38001,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -35973,7 +38139,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -36007,7 +38175,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -36015,12 +38186,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:EnvironmentVariable" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -36259,7 +38437,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -36390,7 +38570,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -36521,18 +38703,27 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:EnvironmentVariable" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -36670,7 +38861,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -36700,7 +38898,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -36831,7 +39036,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -36962,7 +39169,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -37097,7 +39306,9 @@ } } }, - "typeId": "type_generator-exec/config:MavenCentralSignatureGithubInfo" + "typeId": "type_generator-exec/config:MavenCentralSignatureGithubInfo", + "default": null, + "inline": null } } }, @@ -37133,7 +39344,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -37141,13 +39355,20 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:EnvironmentVariable", "type_generator-exec/config:MavenCentralSignatureGithubInfo" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -37386,7 +39607,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -37517,18 +39740,27 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:EnvironmentVariable" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -37779,7 +40011,14 @@ "_type": "list", "list": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } } @@ -37817,7 +40056,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -37853,7 +40099,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -37861,13 +40114,209 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "description", + "camelCase": { + "unsafeName": "description", + "safeName": "description" + }, + "snakeCase": { + "unsafeName": "description", + "safeName": "description" + }, + "screamingSnakeCase": { + "unsafeName": "DESCRIPTION", + "safeName": "DESCRIPTION" + }, + "pascalCase": { + "unsafeName": "Description", + "safeName": "Description" + } + }, + "wireValue": "description" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "authors", + "camelCase": { + "unsafeName": "authors", + "safeName": "authors" + }, + "snakeCase": { + "unsafeName": "authors", + "safeName": "authors" + }, + "screamingSnakeCase": { + "unsafeName": "AUTHORS", + "safeName": "AUTHORS" + }, + "pascalCase": { + "unsafeName": "Authors", + "safeName": "Authors" + } + }, + "wireValue": "authors" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "container", + "container": { + "_type": "list", + "list": { + "_type": "named", + "name": { + "originalName": "OutputMetadataAuthor", + "camelCase": { + "unsafeName": "outputMetadataAuthor", + "safeName": "outputMetadataAuthor" + }, + "snakeCase": { + "unsafeName": "output_metadata_author", + "safeName": "output_metadata_author" + }, + "screamingSnakeCase": { + "unsafeName": "OUTPUT_METADATA_AUTHOR", + "safeName": "OUTPUT_METADATA_AUTHOR" + }, + "pascalCase": { + "unsafeName": "OutputMetadataAuthor", + "safeName": "OutputMetadataAuthor" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "generator-exec", + "camelCase": { + "unsafeName": "generatorExec", + "safeName": "generatorExec" + }, + "snakeCase": { + "unsafeName": "generator_exec", + "safeName": "generator_exec" + }, + "screamingSnakeCase": { + "unsafeName": "GENERATOR_EXEC", + "safeName": "GENERATOR_EXEC" + }, + "pascalCase": { + "unsafeName": "GeneratorExec", + "safeName": "GeneratorExec" + } + }, + { + "originalName": "config", + "camelCase": { + "unsafeName": "config", + "safeName": "config" + }, + "snakeCase": { + "unsafeName": "config", + "safeName": "config" + }, + "screamingSnakeCase": { + "unsafeName": "CONFIG", + "safeName": "CONFIG" + }, + "pascalCase": { + "unsafeName": "Config", + "safeName": "Config" + } + } + ], + "packagePath": [ + { + "originalName": "generator-exec", + "camelCase": { + "unsafeName": "generatorExec", + "safeName": "generatorExec" + }, + "snakeCase": { + "unsafeName": "generator_exec", + "safeName": "generator_exec" + }, + "screamingSnakeCase": { + "unsafeName": "GENERATOR_EXEC", + "safeName": "GENERATOR_EXEC" + }, + "pascalCase": { + "unsafeName": "GeneratorExec", + "safeName": "GeneratorExec" + } + } + ], + "file": { + "originalName": "config", + "camelCase": { + "unsafeName": "config", + "safeName": "config" + }, + "snakeCase": { + "unsafeName": "config", + "safeName": "config" + }, + "screamingSnakeCase": { + "unsafeName": "CONFIG", + "safeName": "CONFIG" + }, + "pascalCase": { + "unsafeName": "Config", + "safeName": "Config" + } + } + }, + "typeId": "type_generator-exec/config:OutputMetadataAuthor", + "default": null, + "inline": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_generator-exec/config:OutputMetadata", "type_generator-exec/config:OutputMetadataAuthor" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -38005,7 +40454,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -38035,7 +40491,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -38166,7 +40629,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -38297,7 +40762,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -38432,7 +40899,9 @@ } } }, - "typeId": "type_generator-exec/config:PypiMetadata" + "typeId": "type_generator-exec/config:PypiMetadata", + "default": null, + "inline": null } } }, @@ -38468,7 +40937,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -38476,7 +40948,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:EnvironmentVariable", @@ -38484,7 +40957,13 @@ "type_generator-exec/config:OutputMetadata", "type_generator-exec/config:OutputMetadataAuthor" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -38622,7 +41101,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -38652,7 +41138,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -38783,7 +41276,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -38817,7 +41312,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -38825,12 +41323,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:EnvironmentVariable" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -38968,7 +41473,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -38998,7 +41510,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -39129,7 +41648,9 @@ } } }, - "typeId": "type_generator-exec/config:EnvironmentVariable" + "typeId": "type_generator-exec/config:EnvironmentVariable", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -39163,7 +41684,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -39171,12 +41695,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:EnvironmentVariable" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -39415,7 +41946,9 @@ } } }, - "typeId": "type_generator-exec/config:MavenRegistryConfig" + "typeId": "type_generator-exec/config:MavenRegistryConfig", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -39546,20 +42079,29 @@ } } }, - "typeId": "type_generator-exec/config:NpmRegistryConfig" + "typeId": "type_generator-exec/config:NpmRegistryConfig", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:MavenRegistryConfig", "type_generator-exec/config:MavenCentralSignature", "type_generator-exec/config:NpmRegistryConfig" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -39697,7 +42239,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -39727,7 +42276,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -39757,16 +42313,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -39904,7 +42474,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -39934,7 +42511,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -39964,7 +42548,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -39994,7 +42585,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -40129,7 +42727,9 @@ } } }, - "typeId": "type_generator-exec/config:MavenCentralSignature" + "typeId": "type_generator-exec/config:MavenCentralSignature", + "default": null, + "inline": null } } }, @@ -40137,12 +42737,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:MavenCentralSignature" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -40280,7 +42887,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -40310,7 +42924,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -40340,16 +42961,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -40588,7 +43223,9 @@ } } }, - "typeId": "type_generator-exec/config:MavenRegistryConfigV2" + "typeId": "type_generator-exec/config:MavenRegistryConfigV2", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -40719,7 +43356,9 @@ } } }, - "typeId": "type_generator-exec/config:NpmRegistryConfigV2" + "typeId": "type_generator-exec/config:NpmRegistryConfigV2", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -40850,7 +43489,9 @@ } } }, - "typeId": "type_generator-exec/config:PypiRegistryConfig" + "typeId": "type_generator-exec/config:PypiRegistryConfig", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -40981,7 +43622,9 @@ } } }, - "typeId": "type_generator-exec/config:RubyGemsRegistryConfig" + "typeId": "type_generator-exec/config:RubyGemsRegistryConfig", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -41112,13 +43755,16 @@ } } }, - "typeId": "type_generator-exec/config:NugetRegistryConfig" + "typeId": "type_generator-exec/config:NugetRegistryConfig", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:MavenRegistryConfigV2", @@ -41131,7 +43777,13 @@ "type_generator-exec/config:RubyGemsRegistryConfig", "type_generator-exec/config:NugetRegistryConfig" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -41395,6 +44047,8 @@ }, "typeId": "type_generator-exec/config:MavenRegistryConfigV2" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -41525,6 +44179,8 @@ }, "typeId": "type_generator-exec/config:NpmRegistryConfigV2" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -41655,6 +44311,8 @@ }, "typeId": "type_generator-exec/config:PypiRegistryConfig" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -41785,6 +44443,8 @@ }, "typeId": "type_generator-exec/config:PostmanConfig" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -41915,6 +44575,8 @@ }, "typeId": "type_generator-exec/config:RubyGemsRegistryConfig" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -42045,6 +44707,8 @@ }, "typeId": "type_generator-exec/config:NugetRegistryConfig" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -42061,7 +44725,13 @@ "type_generator-exec/config:RubyGemsRegistryConfig", "type_generator-exec/config:NugetRegistryConfig" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -42199,7 +44869,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -42229,7 +44906,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -42259,7 +44943,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -42289,7 +44980,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -42424,7 +45122,9 @@ } } }, - "typeId": "type_generator-exec/config:MavenCentralSignature" + "typeId": "type_generator-exec/config:MavenCentralSignature", + "default": null, + "inline": null } } }, @@ -42432,12 +45132,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:MavenCentralSignature" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -42575,7 +45282,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -42605,7 +45319,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -42635,16 +45356,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -42782,7 +45517,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -42812,7 +45554,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -42842,7 +45591,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -42872,7 +45628,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -43007,7 +45770,9 @@ } } }, - "typeId": "type_generator-exec/config:PypiMetadata" + "typeId": "type_generator-exec/config:PypiMetadata", + "default": null, + "inline": null } } }, @@ -43015,14 +45780,21 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_generator-exec/config:PypiMetadata", "type_generator-exec/config:OutputMetadata", "type_generator-exec/config:OutputMetadataAuthor" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -43160,7 +45932,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -43190,7 +45969,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -43220,16 +46006,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -43367,7 +46167,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -43397,7 +46204,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -43427,16 +46241,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -43574,7 +46402,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -43604,16 +46439,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -43775,6 +46624,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -43905,6 +46756,8 @@ }, "typeId": "type_generator-exec/config:RemoteGeneratorEnvironment" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -43912,7 +46765,13 @@ "referencedTypes": [ "type_generator-exec/config:RemoteGeneratorEnvironment" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -44050,7 +46909,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -44080,7 +46946,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -44110,16 +46983,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -44284,7 +47171,9 @@ } } }, - "typeId": "type_commons:Availability" + "typeId": "type_commons:Availability", + "default": null, + "inline": null } } }, @@ -44378,7 +47267,9 @@ } } }, - "typeId": "type_http:DeclaredServiceName" + "typeId": "type_http:DeclaredServiceName", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -44412,7 +47303,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -44506,7 +47404,9 @@ } } }, - "typeId": "type_http:HttpPath" + "typeId": "type_http:HttpPath", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -44602,7 +47502,9 @@ } } }, - "typeId": "type_http:HttpEndpoint" + "typeId": "type_http:HttpEndpoint", + "default": null, + "inline": null } } }, @@ -44700,7 +47602,9 @@ } } }, - "typeId": "type_http:HttpHeader" + "typeId": "type_http:HttpHeader", + "default": null, + "inline": null } } }, @@ -44798,7 +47702,9 @@ } } }, - "typeId": "type_http:PathParameter" + "typeId": "type_http:PathParameter", + "default": null, + "inline": null } } }, @@ -44896,7 +47802,9 @@ } } }, - "typeId": "type_types:Encoding" + "typeId": "type_types:Encoding", + "default": null, + "inline": null } } }, @@ -44994,7 +47902,9 @@ } } }, - "typeId": "type_http:Transport" + "typeId": "type_http:Transport", + "default": null, + "inline": null } } }, @@ -45002,7 +47912,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Availability", @@ -45146,7 +48057,13 @@ "type_types:JsonEncoding", "type_types:ProtoEncoding" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -45307,20 +48224,29 @@ } } }, - "typeId": "type_commons:FernFilepath" + "typeId": "type_commons:FernFilepath", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:FernFilepath", "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -45443,6 +48369,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -45534,6 +48462,8 @@ }, "typeId": "type_http:GrpcTransport" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -45547,7 +48477,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -45708,13 +48644,16 @@ } } }, - "typeId": "type_proto:ProtobufService" + "typeId": "type_proto:ProtobufService", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_proto:ProtobufService", @@ -45724,7 +48663,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -45951,7 +48896,9 @@ } } }, - "typeId": "type_commons:EndpointId" + "typeId": "type_commons:EndpointId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -46043,7 +48990,9 @@ } } }, - "typeId": "type_http:EndpointName" + "typeId": "type_http:EndpointName", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -46077,7 +49026,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -46171,7 +49127,9 @@ } } }, - "typeId": "type_http:HttpMethod" + "typeId": "type_http:HttpMethod", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -46267,7 +49225,9 @@ } } }, - "typeId": "type_http:HttpHeader" + "typeId": "type_http:HttpHeader", + "default": null, + "inline": null } } }, @@ -46365,7 +49325,9 @@ } } }, - "typeId": "type_environment:EnvironmentBaseUrlId" + "typeId": "type_environment:EnvironmentBaseUrlId", + "default": null, + "inline": null } } }, @@ -46463,7 +49425,9 @@ } } }, - "typeId": "type_http:HttpPath" + "typeId": "type_http:HttpPath", + "default": null, + "inline": null } } }, @@ -46557,7 +49521,9 @@ } } }, - "typeId": "type_http:HttpPath" + "typeId": "type_http:HttpPath", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -46649,7 +49615,9 @@ } } }, - "typeId": "type_http:HttpPath" + "typeId": "type_http:HttpPath", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -46745,7 +49713,9 @@ } } }, - "typeId": "type_http:PathParameter" + "typeId": "type_http:PathParameter", + "default": null, + "inline": null } } }, @@ -46843,7 +49813,9 @@ } } }, - "typeId": "type_http:PathParameter" + "typeId": "type_http:PathParameter", + "default": null, + "inline": null } } }, @@ -46941,7 +49913,9 @@ } } }, - "typeId": "type_http:QueryParameter" + "typeId": "type_http:QueryParameter", + "default": null, + "inline": null } } }, @@ -47039,7 +50013,9 @@ } } }, - "typeId": "type_http:HttpRequestBody" + "typeId": "type_http:HttpRequestBody", + "default": null, + "inline": null } } }, @@ -47137,7 +50113,9 @@ } } }, - "typeId": "type_http:SdkRequest" + "typeId": "type_http:SdkRequest", + "default": null, + "inline": null } } }, @@ -47235,7 +50213,9 @@ } } }, - "typeId": "type_http:HttpResponse" + "typeId": "type_http:HttpResponse", + "default": null, + "inline": null } } }, @@ -47329,7 +50309,9 @@ } } }, - "typeId": "type_http:ResponseErrors" + "typeId": "type_http:ResponseErrors", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -47359,7 +50341,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -47389,7 +50374,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -47485,7 +50473,9 @@ } } }, - "typeId": "type_http:Pagination" + "typeId": "type_http:Pagination", + "default": null, + "inline": null } } }, @@ -47583,7 +50573,9 @@ } } }, - "typeId": "type_http:UserSpecifiedEndpointExample" + "typeId": "type_http:UserSpecifiedEndpointExample", + "default": null, + "inline": null } } }, @@ -47681,7 +50673,9 @@ } } }, - "typeId": "type_http:AutogeneratedEndpointExample" + "typeId": "type_http:AutogeneratedEndpointExample", + "default": null, + "inline": null } } }, @@ -47779,7 +50773,9 @@ } } }, - "typeId": "type_http:Transport" + "typeId": "type_http:Transport", + "default": null, + "inline": null } } }, @@ -47787,7 +50783,152 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:Declaration", @@ -47926,7 +51067,13 @@ "type_proto:ProtobufFileOptions", "type_proto:CsharpProtobufFileOptions" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -48062,7 +51209,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "resolvedType": { "_type": "named", @@ -48138,7 +51287,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -48237,7 +51392,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -48333,7 +51495,9 @@ } } }, - "typeId": "type_http:HttpPathPart" + "typeId": "type_http:HttpPathPart", + "default": null, + "inline": null } } }, @@ -48341,12 +51505,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:HttpPathPart" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -48445,7 +51616,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -48475,16 +51653,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -48556,6 +51748,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -48690,7 +51883,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -48917,7 +52116,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -49009,7 +52210,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -49043,7 +52246,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -49051,7 +52261,152 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:Declaration", @@ -49090,7 +52445,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -49317,7 +52678,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -49409,7 +52772,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -49501,7 +52866,9 @@ } } }, - "typeId": "type_http:PathParameterLocation" + "typeId": "type_http:PathParameterLocation", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -49597,7 +52964,9 @@ } } }, - "typeId": "type_variables:VariableId" + "typeId": "type_variables:VariableId", + "default": null, + "inline": null } } }, @@ -49605,7 +52974,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -49646,7 +53060,13 @@ "type_http:PathParameterLocation", "type_variables:VariableId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -49718,6 +53138,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -49800,7 +53221,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -50027,7 +53454,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -50119,7 +53548,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -50149,13 +53580,161 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:Declaration", @@ -50194,7 +53773,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -50380,6 +53965,8 @@ }, "typeId": "type_http:InlinedRequestBody" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -50471,6 +54058,8 @@ }, "typeId": "type_http:HttpRequestBodyReference" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -50562,6 +54151,8 @@ }, "typeId": "type_http:FileUploadRequest" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -50653,6 +54244,8 @@ }, "typeId": "type_http:BytesRequest" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -50707,7 +54300,13 @@ "type_http:FileUploadBodyProperty", "type_http:BytesRequest" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -50934,7 +54533,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -51030,7 +54631,9 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null } } }, @@ -51128,7 +54731,9 @@ } } }, - "typeId": "type_http:InlinedRequestBodyProperty" + "typeId": "type_http:InlinedRequestBodyProperty", + "default": null, + "inline": null } } }, @@ -51230,7 +54835,9 @@ } } }, - "typeId": "type_types:ObjectProperty" + "typeId": "type_types:ObjectProperty", + "default": null, + "inline": null } } } @@ -51268,7 +54875,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -51300,13 +54914,61 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": "Whether to allow extra properties on the request." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -51349,7 +55011,13 @@ "type_types:BigIntegerType", "type_types:ObjectProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -51576,7 +55244,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -51668,13 +55338,160 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocsAndAvailability", @@ -51714,7 +55531,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -51941,7 +55764,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -52037,7 +55862,9 @@ } } }, - "typeId": "type_http:FileUploadRequestProperty" + "typeId": "type_http:FileUploadRequestProperty", + "default": null, + "inline": null } } }, @@ -52045,7 +55872,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -52091,7 +55963,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -52256,7 +56134,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -52290,7 +56171,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -52298,12 +56186,63 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -52511,9 +56450,13 @@ } } }, - "typeId": "type_http:FileProperty" + "typeId": "type_http:FileProperty", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -52605,6 +56548,8 @@ }, "typeId": "type_http:FileUploadBodyProperty" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -52652,7 +56597,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -52821,7 +56772,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -52829,7 +56787,340 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "name", + "camelCase": { + "unsafeName": "name", + "safeName": "name" + }, + "snakeCase": { + "unsafeName": "name", + "safeName": "name" + }, + "screamingSnakeCase": { + "unsafeName": "NAME", + "safeName": "NAME" + }, + "pascalCase": { + "unsafeName": "Name", + "safeName": "Name" + } + }, + "wireValue": "name" + }, + "valueType": { + "_type": "named", + "name": { + "originalName": "NameAndWireValue", + "camelCase": { + "unsafeName": "nameAndWireValue", + "safeName": "nameAndWireValue" + }, + "snakeCase": { + "unsafeName": "name_and_wire_value", + "safeName": "name_and_wire_value" + }, + "screamingSnakeCase": { + "unsafeName": "NAME_AND_WIRE_VALUE", + "safeName": "NAME_AND_WIRE_VALUE" + }, + "pascalCase": { + "unsafeName": "NameAndWireValue", + "safeName": "NameAndWireValue" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "valueType", + "camelCase": { + "unsafeName": "valueType", + "safeName": "valueType" + }, + "snakeCase": { + "unsafeName": "value_type", + "safeName": "value_type" + }, + "screamingSnakeCase": { + "unsafeName": "VALUE_TYPE", + "safeName": "VALUE_TYPE" + }, + "pascalCase": { + "unsafeName": "ValueType", + "safeName": "ValueType" + } + }, + "wireValue": "valueType" + }, + "valueType": { + "_type": "named", + "name": { + "originalName": "TypeReference", + "camelCase": { + "unsafeName": "typeReference", + "safeName": "typeReference" + }, + "snakeCase": { + "unsafeName": "type_reference", + "safeName": "type_reference" + }, + "screamingSnakeCase": { + "unsafeName": "TYPE_REFERENCE", + "safeName": "TYPE_REFERENCE" + }, + "pascalCase": { + "unsafeName": "TypeReference", + "safeName": "TypeReference" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "types", + "camelCase": { + "unsafeName": "types", + "safeName": "types" + }, + "snakeCase": { + "unsafeName": "types", + "safeName": "types" + }, + "screamingSnakeCase": { + "unsafeName": "TYPES", + "safeName": "TYPES" + }, + "pascalCase": { + "unsafeName": "Types", + "safeName": "Types" + } + } + ], + "packagePath": [], + "file": { + "originalName": "types", + "camelCase": { + "unsafeName": "types", + "safeName": "types" + }, + "snakeCase": { + "unsafeName": "types", + "safeName": "types" + }, + "screamingSnakeCase": { + "unsafeName": "TYPES", + "safeName": "TYPES" + }, + "pascalCase": { + "unsafeName": "Types", + "safeName": "Types" + } + } + }, + "typeId": "type_types:TypeReference", + "default": null, + "inline": null + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_http:InlinedRequestBodyProperty", @@ -52870,7 +57161,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -53056,6 +57353,8 @@ }, "typeId": "type_http:FilePropertySingle" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -53147,6 +57446,8 @@ }, "typeId": "type_http:FilePropertyArray" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -53158,7 +57459,13 @@ "type_commons:SafeAndUnsafeString", "type_http:FilePropertyArray" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -53319,7 +57626,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -53349,7 +57658,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -53383,7 +57695,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -53391,14 +57710,21 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -53559,7 +57885,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -53589,286 +57917,13 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" - }, - "availability": null, - "docs": null - }, - { - "name": { - "name": { - "originalName": "contentType", - "camelCase": { - "unsafeName": "contentType", - "safeName": "contentType" - }, - "snakeCase": { - "unsafeName": "content_type", - "safeName": "content_type" - }, - "screamingSnakeCase": { - "unsafeName": "CONTENT_TYPE", - "safeName": "CONTENT_TYPE" - }, - "pascalCase": { - "unsafeName": "ContentType", - "safeName": "ContentType" - } - }, - "wireValue": "contentType" - }, - "valueType": { - "_type": "container", - "container": { - "_type": "optional", - "optional": { - "_type": "primitive", - "primitive": "STRING" - } + "primitive": { + "v1": "BOOLEAN", + "v2": null } }, "availability": null, "docs": null - } - ], - "extra-properties": false - }, - "referencedTypes": [ - "type_commons:NameAndWireValue", - "type_commons:Name", - "type_commons:SafeAndUnsafeString" - ], - "examples": [], - "availability": null, - "docs": null - }, - "type_http:HttpRequestBodyReference": { - "name": { - "name": { - "originalName": "HttpRequestBodyReference", - "camelCase": { - "unsafeName": "httpRequestBodyReference", - "safeName": "httpRequestBodyReference" - }, - "snakeCase": { - "unsafeName": "http_request_body_reference", - "safeName": "http_request_body_reference" - }, - "screamingSnakeCase": { - "unsafeName": "HTTP_REQUEST_BODY_REFERENCE", - "safeName": "HTTP_REQUEST_BODY_REFERENCE" - }, - "pascalCase": { - "unsafeName": "HttpRequestBodyReference", - "safeName": "HttpRequestBodyReference" - } - }, - "fernFilepath": { - "allParts": [ - { - "originalName": "http", - "camelCase": { - "unsafeName": "http", - "safeName": "http" - }, - "snakeCase": { - "unsafeName": "http", - "safeName": "http" - }, - "screamingSnakeCase": { - "unsafeName": "HTTP", - "safeName": "HTTP" - }, - "pascalCase": { - "unsafeName": "Http", - "safeName": "Http" - } - } - ], - "packagePath": [], - "file": { - "originalName": "http", - "camelCase": { - "unsafeName": "http", - "safeName": "http" - }, - "snakeCase": { - "unsafeName": "http", - "safeName": "http" - }, - "screamingSnakeCase": { - "unsafeName": "HTTP", - "safeName": "HTTP" - }, - "pascalCase": { - "unsafeName": "Http", - "safeName": "Http" - } - } - }, - "typeId": "type_http:HttpRequestBodyReference" - }, - "shape": { - "_type": "object", - "extends": [ - { - "name": { - "originalName": "WithDocs", - "camelCase": { - "unsafeName": "withDocs", - "safeName": "withDocs" - }, - "snakeCase": { - "unsafeName": "with_docs", - "safeName": "with_docs" - }, - "screamingSnakeCase": { - "unsafeName": "WITH_DOCS", - "safeName": "WITH_DOCS" - }, - "pascalCase": { - "unsafeName": "WithDocs", - "safeName": "WithDocs" - } - }, - "fernFilepath": { - "allParts": [ - { - "originalName": "commons", - "camelCase": { - "unsafeName": "commons", - "safeName": "commons" - }, - "snakeCase": { - "unsafeName": "commons", - "safeName": "commons" - }, - "screamingSnakeCase": { - "unsafeName": "COMMONS", - "safeName": "COMMONS" - }, - "pascalCase": { - "unsafeName": "Commons", - "safeName": "Commons" - } - } - ], - "packagePath": [], - "file": { - "originalName": "commons", - "camelCase": { - "unsafeName": "commons", - "safeName": "commons" - }, - "snakeCase": { - "unsafeName": "commons", - "safeName": "commons" - }, - "screamingSnakeCase": { - "unsafeName": "COMMONS", - "safeName": "COMMONS" - }, - "pascalCase": { - "unsafeName": "Commons", - "safeName": "Commons" - } - } - }, - "typeId": "type_commons:WithDocs" - } - ], - "properties": [ - { - "name": { - "name": { - "originalName": "requestBodyType", - "camelCase": { - "unsafeName": "requestBodyType", - "safeName": "requestBodyType" - }, - "snakeCase": { - "unsafeName": "request_body_type", - "safeName": "request_body_type" - }, - "screamingSnakeCase": { - "unsafeName": "REQUEST_BODY_TYPE", - "safeName": "REQUEST_BODY_TYPE" - }, - "pascalCase": { - "unsafeName": "RequestBodyType", - "safeName": "RequestBodyType" - } - }, - "wireValue": "requestBodyType" - }, - "valueType": { - "_type": "named", - "name": { - "originalName": "TypeReference", - "camelCase": { - "unsafeName": "typeReference", - "safeName": "typeReference" - }, - "snakeCase": { - "unsafeName": "type_reference", - "safeName": "type_reference" - }, - "screamingSnakeCase": { - "unsafeName": "TYPE_REFERENCE", - "safeName": "TYPE_REFERENCE" - }, - "pascalCase": { - "unsafeName": "TypeReference", - "safeName": "TypeReference" - } - }, - "fernFilepath": { - "allParts": [ - { - "originalName": "types", - "camelCase": { - "unsafeName": "types", - "safeName": "types" - }, - "snakeCase": { - "unsafeName": "types", - "safeName": "types" - }, - "screamingSnakeCase": { - "unsafeName": "TYPES", - "safeName": "TYPES" - }, - "pascalCase": { - "unsafeName": "Types", - "safeName": "Types" - } - } - ], - "packagePath": [], - "file": { - "originalName": "types", - "camelCase": { - "unsafeName": "types", - "safeName": "types" - }, - "snakeCase": { - "unsafeName": "types", - "safeName": "types" - }, - "screamingSnakeCase": { - "unsafeName": "TYPES", - "safeName": "TYPES" - }, - "pascalCase": { - "unsafeName": "Types", - "safeName": "Types" - } - } - }, - "typeId": "type_types:TypeReference" - }, - "availability": null, - "docs": null }, { "name": { @@ -53899,7 +57954,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -53907,7 +57969,344 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] + }, + "referencedTypes": [ + "type_commons:NameAndWireValue", + "type_commons:Name", + "type_commons:SafeAndUnsafeString" + ], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], + "availability": null, + "docs": null + }, + "type_http:HttpRequestBodyReference": { + "name": { + "name": { + "originalName": "HttpRequestBodyReference", + "camelCase": { + "unsafeName": "httpRequestBodyReference", + "safeName": "httpRequestBodyReference" + }, + "snakeCase": { + "unsafeName": "http_request_body_reference", + "safeName": "http_request_body_reference" + }, + "screamingSnakeCase": { + "unsafeName": "HTTP_REQUEST_BODY_REFERENCE", + "safeName": "HTTP_REQUEST_BODY_REFERENCE" + }, + "pascalCase": { + "unsafeName": "HttpRequestBodyReference", + "safeName": "HttpRequestBodyReference" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "http", + "camelCase": { + "unsafeName": "http", + "safeName": "http" + }, + "snakeCase": { + "unsafeName": "http", + "safeName": "http" + }, + "screamingSnakeCase": { + "unsafeName": "HTTP", + "safeName": "HTTP" + }, + "pascalCase": { + "unsafeName": "Http", + "safeName": "Http" + } + } + ], + "packagePath": [], + "file": { + "originalName": "http", + "camelCase": { + "unsafeName": "http", + "safeName": "http" + }, + "snakeCase": { + "unsafeName": "http", + "safeName": "http" + }, + "screamingSnakeCase": { + "unsafeName": "HTTP", + "safeName": "HTTP" + }, + "pascalCase": { + "unsafeName": "Http", + "safeName": "Http" + } + } + }, + "typeId": "type_http:HttpRequestBodyReference" + }, + "shape": { + "_type": "object", + "extends": [ + { + "name": { + "originalName": "WithDocs", + "camelCase": { + "unsafeName": "withDocs", + "safeName": "withDocs" + }, + "snakeCase": { + "unsafeName": "with_docs", + "safeName": "with_docs" + }, + "screamingSnakeCase": { + "unsafeName": "WITH_DOCS", + "safeName": "WITH_DOCS" + }, + "pascalCase": { + "unsafeName": "WithDocs", + "safeName": "WithDocs" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:WithDocs" + } + ], + "properties": [ + { + "name": { + "name": { + "originalName": "requestBodyType", + "camelCase": { + "unsafeName": "requestBodyType", + "safeName": "requestBodyType" + }, + "snakeCase": { + "unsafeName": "request_body_type", + "safeName": "request_body_type" + }, + "screamingSnakeCase": { + "unsafeName": "REQUEST_BODY_TYPE", + "safeName": "REQUEST_BODY_TYPE" + }, + "pascalCase": { + "unsafeName": "RequestBodyType", + "safeName": "RequestBodyType" + } + }, + "wireValue": "requestBodyType" + }, + "valueType": { + "_type": "named", + "name": { + "originalName": "TypeReference", + "camelCase": { + "unsafeName": "typeReference", + "safeName": "typeReference" + }, + "snakeCase": { + "unsafeName": "type_reference", + "safeName": "type_reference" + }, + "screamingSnakeCase": { + "unsafeName": "TYPE_REFERENCE", + "safeName": "TYPE_REFERENCE" + }, + "pascalCase": { + "unsafeName": "TypeReference", + "safeName": "TypeReference" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "types", + "camelCase": { + "unsafeName": "types", + "safeName": "types" + }, + "snakeCase": { + "unsafeName": "types", + "safeName": "types" + }, + "screamingSnakeCase": { + "unsafeName": "TYPES", + "safeName": "TYPES" + }, + "pascalCase": { + "unsafeName": "Types", + "safeName": "Types" + } + } + ], + "packagePath": [], + "file": { + "originalName": "types", + "camelCase": { + "unsafeName": "types", + "safeName": "types" + }, + "snakeCase": { + "unsafeName": "types", + "safeName": "types" + }, + "screamingSnakeCase": { + "unsafeName": "TYPES", + "safeName": "TYPES" + }, + "pascalCase": { + "unsafeName": "Types", + "safeName": "Types" + } + } + }, + "typeId": "type_types:TypeReference", + "default": null, + "inline": null + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "contentType", + "camelCase": { + "unsafeName": "contentType", + "safeName": "contentType" + }, + "snakeCase": { + "unsafeName": "content_type", + "safeName": "content_type" + }, + "screamingSnakeCase": { + "unsafeName": "CONTENT_TYPE", + "safeName": "CONTENT_TYPE" + }, + "pascalCase": { + "unsafeName": "ContentType", + "safeName": "ContentType" + } + }, + "wireValue": "contentType" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ], + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -53946,7 +58345,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -54132,6 +58537,8 @@ }, "typeId": "type_http:HttpRequestBodyReference" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -54223,6 +58630,8 @@ }, "typeId": "type_http:BytesRequest" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -54266,7 +58675,13 @@ "type_types:BigIntegerType", "type_http:BytesRequest" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -54431,7 +58846,9 @@ } } }, - "typeId": "type_http:RequestProperty" + "typeId": "type_http:RequestProperty", + "default": null, + "inline": null } } }, @@ -54525,7 +58942,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -54617,13 +59036,16 @@ } } }, - "typeId": "type_http:SdkRequestShape" + "typeId": "type_http:SdkRequestShape", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:RequestProperty", @@ -54671,7 +59093,13 @@ "type_http:BytesRequest", "type_http:SdkRequestWrapper" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -54879,9 +59307,13 @@ } } }, - "typeId": "type_http:SdkRequestBodyType" + "typeId": "type_http:SdkRequestBodyType", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -54973,6 +59405,8 @@ }, "typeId": "type_http:SdkRequestWrapper" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -55018,7 +59452,13 @@ "type_http:BytesRequest", "type_http:SdkRequestWrapper" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -55179,7 +59619,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -55271,19 +59713,106 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "includePathParameters", + "camelCase": { + "unsafeName": "includePathParameters", + "safeName": "includePathParameters" + }, + "snakeCase": { + "unsafeName": "include_path_parameters", + "safeName": "include_path_parameters" + }, + "screamingSnakeCase": { + "unsafeName": "INCLUDE_PATH_PARAMETERS", + "safeName": "INCLUDE_PATH_PARAMETERS" + }, + "pascalCase": { + "unsafeName": "IncludePathParameters", + "safeName": "IncludePathParameters" + } + }, + "wireValue": "includePathParameters" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "BOOLEAN", + "v2": null + } + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "onlyPathParameters", + "camelCase": { + "unsafeName": "onlyPathParameters", + "safeName": "onlyPathParameters" + }, + "snakeCase": { + "unsafeName": "only_path_parameters", + "safeName": "only_path_parameters" + }, + "screamingSnakeCase": { + "unsafeName": "ONLY_PATH_PARAMETERS", + "safeName": "ONLY_PATH_PARAMETERS" + }, + "pascalCase": { + "unsafeName": "OnlyPathParameters", + "safeName": "OnlyPathParameters" + } + }, + "wireValue": "onlyPathParameters" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "BOOLEAN", + "v2": null + } + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -55386,7 +59915,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } } } }, @@ -55484,7 +60020,9 @@ } } }, - "typeId": "type_http:HttpResponseBody" + "typeId": "type_http:HttpResponseBody", + "default": null, + "inline": null } } }, @@ -55492,7 +60030,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:HttpResponseBody", @@ -55544,7 +60083,13 @@ "type_http:StreamParameterResponse", "type_http:NonStreamHttpResponseBody" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -55752,9 +60297,13 @@ } } }, - "typeId": "type_http:JsonResponse" + "typeId": "type_http:JsonResponse", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -55846,6 +60395,8 @@ }, "typeId": "type_http:FileDownloadResponse" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -55937,6 +60488,8 @@ }, "typeId": "type_http:TextResponse" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -55984,7 +60537,13 @@ "type_http:FileDownloadResponse", "type_http:TextResponse" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -56192,9 +60751,13 @@ } } }, - "typeId": "type_http:JsonResponse" + "typeId": "type_http:JsonResponse", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -56286,6 +60849,8 @@ }, "typeId": "type_http:FileDownloadResponse" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -56377,6 +60942,8 @@ }, "typeId": "type_http:TextResponse" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -56490,9 +61057,13 @@ } } }, - "typeId": "type_http:StreamingResponse" + "typeId": "type_http:StreamingResponse", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -56584,6 +61155,8 @@ }, "typeId": "type_http:StreamParameterResponse" }, + "displayName": null, + "availability": null, "docs": "If there is a parameter that controls whether the response is streaming or not. Note\nthat if this is the response then `sdkRequest.streamParameter` will always be populated.\n" } ] @@ -56637,7 +61210,13 @@ "type_http:StreamParameterResponse", "type_http:NonStreamHttpResponseBody" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -56823,6 +61402,8 @@ }, "typeId": "type_http:JsonResponseBody" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -56914,6 +61495,8 @@ }, "typeId": "type_http:JsonResponseBodyWithProperty" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -56958,7 +61541,13 @@ "type_http:JsonResponseBodyWithProperty", "type_types:ObjectProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -57185,13 +61774,60 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -57230,7 +61866,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -57457,7 +62099,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -57553,7 +62197,9 @@ } } }, - "typeId": "type_types:ObjectProperty" + "typeId": "type_types:ObjectProperty", + "default": null, + "inline": null } } }, @@ -57561,7 +62207,52 @@ "docs": "If set, the SDK will return this property from\nthe response, rather than the response itself.\n\nThis is particularly useful for JSON API structures\n(e.g. configure 'data' to return 'response.data')." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -57601,7 +62292,13 @@ "type_types:BigIntegerType", "type_types:ObjectProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -57741,12 +62438,63 @@ } ], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -57886,12 +62634,63 @@ } ], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -58052,7 +62851,9 @@ } } }, - "typeId": "type_http:NonStreamHttpResponseBody" + "typeId": "type_http:NonStreamHttpResponseBody", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -58144,13 +62945,16 @@ } } }, - "typeId": "type_http:StreamingResponse" + "typeId": "type_http:StreamingResponse", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:NonStreamHttpResponseBody", @@ -58200,7 +63004,13 @@ "type_http:TextStreamChunk", "type_http:SseStreamChunk" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -58386,6 +63196,8 @@ }, "typeId": "type_http:JsonStreamChunk" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -58477,6 +63289,8 @@ }, "typeId": "type_http:TextStreamChunk" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -58568,6 +63382,8 @@ }, "typeId": "type_http:SseStreamChunk" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -58612,7 +63428,13 @@ "type_http:TextStreamChunk", "type_http:SseStreamChunk" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -58752,12 +63574,63 @@ } ], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -58984,7 +63857,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -59018,7 +63893,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -59026,7 +63908,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -59065,7 +63992,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -59292,7 +64225,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -59326,7 +64261,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -59334,7 +64276,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -59373,7 +64360,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -59513,7 +64506,9 @@ } } }, - "typeId": "type_http:ResponseError" + "typeId": "type_http:ResponseError", + "default": null, + "inline": null } } }, @@ -59585,7 +64580,9 @@ } } }, - "typeId": "type_http:ResponseError" + "typeId": "type_http:ResponseError", + "default": null, + "inline": null } } } @@ -59599,7 +64596,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -59826,13 +64829,60 @@ } } }, - "typeId": "type_errors:DeclaredErrorName" + "typeId": "type_errors:DeclaredErrorName", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -59842,7 +64892,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -60028,6 +65084,8 @@ }, "typeId": "type_http:CursorPagination" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -60119,6 +65177,8 @@ }, "typeId": "type_http:OffsetPagination" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -60167,7 +65227,13 @@ "type_http:ResponseProperty", "type_http:OffsetPagination" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "If set, the endpoint will be generated with auto-pagination features." }, @@ -60328,7 +65394,9 @@ } } }, - "typeId": "type_http:RequestProperty" + "typeId": "type_http:RequestProperty", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -60420,7 +65488,9 @@ } } }, - "typeId": "type_http:ResponseProperty" + "typeId": "type_http:ResponseProperty", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -60512,13 +65582,16 @@ } } }, - "typeId": "type_http:ResponseProperty" + "typeId": "type_http:ResponseProperty", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:RequestProperty", @@ -60562,7 +65635,13 @@ "type_types:ObjectProperty", "type_http:ResponseProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "If set, the endpoint will be generated with auto-pagination features.\n\nThe page must be defined as a property defined on the request, whereas\nthe next page and results are resolved from properties defined on the\nresponse." }, @@ -60723,7 +65802,9 @@ } } }, - "typeId": "type_http:RequestProperty" + "typeId": "type_http:RequestProperty", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -60815,7 +65896,9 @@ } } }, - "typeId": "type_http:ResponseProperty" + "typeId": "type_http:ResponseProperty", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -60911,7 +65994,9 @@ } } }, - "typeId": "type_http:ResponseProperty" + "typeId": "type_http:ResponseProperty", + "default": null, + "inline": null } } }, @@ -61009,7 +66094,9 @@ } } }, - "typeId": "type_http:RequestProperty" + "typeId": "type_http:RequestProperty", + "default": null, + "inline": null } } }, @@ -61017,7 +66104,8 @@ "docs": "The step size used to increment the page offset between every new page." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:RequestProperty", @@ -61061,7 +66149,13 @@ "type_types:ObjectProperty", "type_http:ResponseProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The page must be defined as a query parameter included in the request,\nwhereas the results are resolved from properties defined on the response.\n\nThe page index is auto-incremented between every additional page request." }, @@ -61247,6 +66341,8 @@ }, "typeId": "type_http:QueryParameter" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -61338,6 +66434,8 @@ }, "typeId": "type_types:ObjectProperty" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -61381,7 +66479,13 @@ "type_types:BigIntegerType", "type_types:ObjectProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -61550,7 +66654,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } } @@ -61646,13 +66752,16 @@ } } }, - "typeId": "type_http:RequestPropertyValue" + "typeId": "type_http:RequestPropertyValue", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", @@ -61694,7 +66803,13 @@ "type_types:BigIntegerType", "type_types:ObjectProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "A property associated with an endpoint's request." }, @@ -61863,7 +66978,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } } @@ -61959,13 +67076,16 @@ } } }, - "typeId": "type_types:ObjectProperty" + "typeId": "type_types:ObjectProperty", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", @@ -62005,7 +67125,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "A property associated with a paginated endpoint's request or response." }, @@ -62166,13 +67292,16 @@ } } }, - "typeId": "type_http:ExampleEndpointCall" + "typeId": "type_http:ExampleEndpointCall", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:ExampleEndpointCall", @@ -62250,7 +67379,13 @@ "type_errors:DeclaredErrorName", "type_commons:ErrorId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -62419,7 +67554,9 @@ } } }, - "typeId": "type_http:ExampleCodeSample" + "typeId": "type_http:ExampleCodeSample", + "default": null, + "inline": null } } } @@ -62519,7 +67656,9 @@ } } }, - "typeId": "type_http:ExampleEndpointCall" + "typeId": "type_http:ExampleEndpointCall", + "default": null, + "inline": null } } }, @@ -62527,7 +67666,8 @@ "docs": "Manually written example specified by the user" } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:ExampleCodeSample", @@ -62609,7 +67749,13 @@ "type_errors:DeclaredErrorName", "type_commons:ErrorId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -62778,7 +67924,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -62876,7 +68029,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -62908,7 +68063,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -63004,7 +68166,9 @@ } } }, - "typeId": "type_http:ExamplePathParameter" + "typeId": "type_http:ExamplePathParameter", + "default": null, + "inline": null } } }, @@ -63102,7 +68266,9 @@ } } }, - "typeId": "type_http:ExamplePathParameter" + "typeId": "type_http:ExamplePathParameter", + "default": null, + "inline": null } } }, @@ -63200,7 +68366,9 @@ } } }, - "typeId": "type_http:ExamplePathParameter" + "typeId": "type_http:ExamplePathParameter", + "default": null, + "inline": null } } }, @@ -63298,7 +68466,9 @@ } } }, - "typeId": "type_http:ExampleHeader" + "typeId": "type_http:ExampleHeader", + "default": null, + "inline": null } } }, @@ -63396,7 +68566,9 @@ } } }, - "typeId": "type_http:ExampleHeader" + "typeId": "type_http:ExampleHeader", + "default": null, + "inline": null } } }, @@ -63494,7 +68666,9 @@ } } }, - "typeId": "type_http:ExampleQueryParameter" + "typeId": "type_http:ExampleQueryParameter", + "default": null, + "inline": null } } }, @@ -63592,7 +68766,9 @@ } } }, - "typeId": "type_http:ExampleRequestBody" + "typeId": "type_http:ExampleRequestBody", + "default": null, + "inline": null } } }, @@ -63686,13 +68862,60 @@ } } }, - "typeId": "type_http:ExampleResponse" + "typeId": "type_http:ExampleResponse", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -63769,7 +68992,13 @@ "type_errors:DeclaredErrorName", "type_commons:ErrorId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -63955,6 +69184,8 @@ }, "typeId": "type_http:ExampleCodeSampleLanguage" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -64046,6 +69277,8 @@ }, "typeId": "type_http:ExampleCodeSampleSdk" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -64058,7 +69291,13 @@ "type_http:ExampleCodeSampleSdk", "type_http:SupportedSdkLanguage" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": { "status": "IN_DEVELOPMENT", "message": null @@ -64292,7 +69531,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -64324,7 +69565,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -64354,7 +69602,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -64388,7 +69643,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -64396,14 +69658,65 @@ "docs": "The command to install the dependencies for the code sample.\nFor example, `npm install` or `pip install -r requirements.txt`." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "This is intended to co-exist with the auto-generated code samples." }, @@ -64634,7 +69947,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -64728,7 +70043,9 @@ } } }, - "typeId": "type_http:SupportedSdkLanguage" + "typeId": "type_http:SupportedSdkLanguage", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -64758,13 +70075,65 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -64772,7 +70141,13 @@ "type_commons:SafeAndUnsafeString", "type_http:SupportedSdkLanguage" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "This will be used to replace the auto-generated code samples." }, @@ -64844,6 +70219,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -65056,7 +70432,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -65217,7 +70599,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -65309,13 +70693,16 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", @@ -65379,7 +70766,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -65540,7 +70933,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -65632,7 +71027,9 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -65728,7 +71125,9 @@ } } }, - "typeId": "type_http:ExampleQueryParameterShape" + "typeId": "type_http:ExampleQueryParameterShape", + "default": null, + "inline": null } } }, @@ -65736,7 +71135,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -65801,7 +71201,13 @@ "type_types:ExampleUndiscriminatedUnionType", "type_http:ExampleQueryParameterShape" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -65924,6 +71330,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -65952,6 +71360,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -65980,12 +71390,20 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -66146,7 +71564,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -66238,13 +71658,16 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -66308,7 +71731,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -66494,6 +71923,8 @@ }, "typeId": "type_http:ExampleInlinedRequestBody" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -66585,6 +72016,8 @@ }, "typeId": "type_types:ExampleTypeReference" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -66653,7 +72086,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -66884,7 +72323,9 @@ } } }, - "typeId": "type_http:ExampleInlinedRequestBodyProperty" + "typeId": "type_http:ExampleInlinedRequestBodyProperty", + "default": null, + "inline": null } } }, @@ -66892,7 +72333,38 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "jsonExample", + "camelCase": { + "unsafeName": "jsonExample", + "safeName": "jsonExample" + }, + "snakeCase": { + "unsafeName": "json_example", + "safeName": "json_example" + }, + "screamingSnakeCase": { + "unsafeName": "JSON_EXAMPLE", + "safeName": "JSON_EXAMPLE" + }, + "pascalCase": { + "unsafeName": "JsonExample", + "safeName": "JsonExample" + } + }, + "wireValue": "jsonExample" + }, + "valueType": { + "_type": "unknown" + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithJsonExample", @@ -66957,7 +72429,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -67118,7 +72596,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -67210,7 +72690,9 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -67306,7 +72788,9 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null } } }, @@ -67314,7 +72798,8 @@ "docs": "This property may have been brought in via extension. originalTypeDeclaration\nis the name of the type that contains this property" } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -67378,7 +72863,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -67586,9 +73077,13 @@ } } }, - "typeId": "type_http:ExampleEndpointSuccessResponse" + "typeId": "type_http:ExampleEndpointSuccessResponse", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -67680,6 +73175,8 @@ }, "typeId": "type_http:ExampleEndpointErrorResponse" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -67751,7 +73248,13 @@ "type_errors:DeclaredErrorName", "type_commons:ErrorId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -67963,11 +73466,15 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null } } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -68085,11 +73592,15 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null } } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -68207,11 +73718,15 @@ } } }, - "typeId": "type_http:ExampleServerSideEvent" + "typeId": "type_http:ExampleServerSideEvent", + "default": null, + "inline": null } } } }, + "displayName": null, + "availability": null, "docs": null } ] @@ -68279,7 +73794,13 @@ "type_types:ExampleUndiscriminatedUnionType", "type_http:ExampleServerSideEvent" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -68378,7 +73899,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -68470,13 +73998,16 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExampleTypeReference", @@ -68540,7 +74071,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -68701,7 +74238,9 @@ } } }, - "typeId": "type_errors:DeclaredErrorName" + "typeId": "type_errors:DeclaredErrorName", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -68797,7 +74336,9 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null } } }, @@ -68805,7 +74346,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_errors:DeclaredErrorName", @@ -68871,7 +74413,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -68974,7 +74522,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -69072,7 +74627,9 @@ } } }, - "typeId": "type_ir:ApiVersionScheme" + "typeId": "type_ir:ApiVersionScheme", + "default": null, + "inline": null } } }, @@ -69166,7 +74723,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": "This is the human readable unique id for the API." @@ -69200,7 +74759,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -69236,7 +74802,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -69330,7 +74903,9 @@ } } }, - "typeId": "type_auth:ApiAuth" + "typeId": "type_auth:ApiAuth", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -69426,7 +75001,9 @@ } } }, - "typeId": "type_http:HttpHeader" + "typeId": "type_http:HttpHeader", + "default": null, + "inline": null } } }, @@ -69524,7 +75101,9 @@ } } }, - "typeId": "type_http:HttpHeader" + "typeId": "type_http:HttpHeader", + "default": null, + "inline": null } } }, @@ -69622,7 +75201,9 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null }, "valueType": { "_type": "named", @@ -69688,7 +75269,9 @@ } } }, - "typeId": "type_types:TypeDeclaration" + "typeId": "type_types:TypeDeclaration", + "default": null, + "inline": null } } }, @@ -69786,7 +75369,9 @@ } } }, - "typeId": "type_commons:ServiceId" + "typeId": "type_commons:ServiceId", + "default": null, + "inline": null }, "valueType": { "_type": "named", @@ -69852,7 +75437,9 @@ } } }, - "typeId": "type_http:HttpService" + "typeId": "type_http:HttpService", + "default": null, + "inline": null } } }, @@ -69950,7 +75537,9 @@ } } }, - "typeId": "type_commons:WebhookGroupId" + "typeId": "type_commons:WebhookGroupId", + "default": null, + "inline": null }, "valueType": { "_type": "named", @@ -70016,7 +75605,9 @@ } } }, - "typeId": "type_webhooks:WebhookGroup" + "typeId": "type_webhooks:WebhookGroup", + "default": null, + "inline": null } } }, @@ -70118,7 +75709,9 @@ } } }, - "typeId": "type_commons:WebSocketChannelId" + "typeId": "type_commons:WebSocketChannelId", + "default": null, + "inline": null }, "valueType": { "_type": "named", @@ -70184,7 +75777,9 @@ } } }, - "typeId": "type_websocket:WebSocketChannel" + "typeId": "type_websocket:WebSocketChannel", + "default": null, + "inline": null } } } @@ -70284,7 +75879,9 @@ } } }, - "typeId": "type_commons:ErrorId" + "typeId": "type_commons:ErrorId", + "default": null, + "inline": null }, "valueType": { "_type": "named", @@ -70350,7 +75947,9 @@ } } }, - "typeId": "type_errors:ErrorDeclaration" + "typeId": "type_errors:ErrorDeclaration", + "default": null, + "inline": null } } }, @@ -70448,7 +76047,9 @@ } } }, - "typeId": "type_commons:SubpackageId" + "typeId": "type_commons:SubpackageId", + "default": null, + "inline": null }, "valueType": { "_type": "named", @@ -70514,7 +76115,9 @@ } } }, - "typeId": "type_ir:Subpackage" + "typeId": "type_ir:Subpackage", + "default": null, + "inline": null } } }, @@ -70608,7 +76211,9 @@ } } }, - "typeId": "type_ir:Package" + "typeId": "type_ir:Package", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -70700,7 +76305,9 @@ } } }, - "typeId": "type_constants:Constants" + "typeId": "type_constants:Constants", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -70796,7 +76403,9 @@ } } }, - "typeId": "type_environment:EnvironmentsConfig" + "typeId": "type_environment:EnvironmentsConfig", + "default": null, + "inline": null } } }, @@ -70894,7 +76503,9 @@ } } }, - "typeId": "type_http:HttpPath" + "typeId": "type_http:HttpPath", + "default": null, + "inline": null } } }, @@ -70992,7 +76603,9 @@ } } }, - "typeId": "type_http:PathParameter" + "typeId": "type_http:PathParameter", + "default": null, + "inline": null } } }, @@ -71086,7 +76699,9 @@ } } }, - "typeId": "type_ir:ErrorDiscriminationStrategy" + "typeId": "type_ir:ErrorDiscriminationStrategy", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -71178,7 +76793,9 @@ } } }, - "typeId": "type_ir:SdkConfig" + "typeId": "type_ir:SdkConfig", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -71274,7 +76891,9 @@ } } }, - "typeId": "type_variables:VariableDeclaration" + "typeId": "type_variables:VariableDeclaration", + "default": null, + "inline": null } } }, @@ -71368,7 +76987,9 @@ } } }, - "typeId": "type_ir:ServiceTypeReferenceInfo" + "typeId": "type_ir:ServiceTypeReferenceInfo", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -71464,7 +77085,9 @@ } } }, - "typeId": "type_ir:ReadmeConfig" + "typeId": "type_ir:ReadmeConfig", + "default": null, + "inline": null } } }, @@ -71562,7 +77185,9 @@ } } }, - "typeId": "type_ir:SourceConfig" + "typeId": "type_ir:SourceConfig", + "default": null, + "inline": null } } }, @@ -71660,7 +77285,9 @@ } } }, - "typeId": "type_publish:PublishingConfig" + "typeId": "type_publish:PublishingConfig", + "default": null, + "inline": null } } }, @@ -71668,7 +77295,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_ir:ApiVersionScheme", @@ -71909,7 +77537,13 @@ "type_publish:PostmanPublishTarget", "type_publish:DirectPublish" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Complete representation of the API schema" }, @@ -72074,7 +77708,9 @@ } } }, - "typeId": "type_commons:EndpointId" + "typeId": "type_commons:EndpointId", + "default": null, + "inline": null } } }, @@ -72110,7 +77746,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -72146,7 +77789,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -72182,7 +77832,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -72284,7 +77941,9 @@ } } }, - "typeId": "type_commons:FeatureId" + "typeId": "type_commons:FeatureId", + "default": null, + "inline": null }, "valueType": { "_type": "container", @@ -72354,7 +78013,9 @@ } } }, - "typeId": "type_commons:EndpointId" + "typeId": "type_commons:EndpointId", + "default": null, + "inline": null } } } @@ -72366,13 +78027,20 @@ "docs": "If specified, configures the list of endpoints to associate\nwith each feature." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:EndpointId", "type_commons:FeatureId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The configuration used to generate a README.md file. If present, the generator\nshould call the generator-cli to produce a README.md." }, @@ -72537,7 +78205,9 @@ } } }, - "typeId": "type_ir:ApiDefinitionSource" + "typeId": "type_ir:ApiDefinitionSource", + "default": null, + "inline": null } } }, @@ -72545,14 +78215,21 @@ "docs": "The raw API definitions that produced the IR." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_ir:ApiDefinitionSource", "type_ir:ProtoSource", "type_ir:ApiDefinitionSourceId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -72626,15 +78303,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Uniquely identifies a specific API definition source. This allows us to clearly identify\nwhat source a given type, endpoint, etc was derived from." }, @@ -72820,6 +78517,8 @@ }, "typeId": "type_ir:ProtoSource" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -72848,6 +78547,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -72856,7 +78557,13 @@ "type_ir:ProtoSource", "type_ir:ApiDefinitionSourceId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -73017,7 +78724,9 @@ } } }, - "typeId": "type_ir:ApiDefinitionSourceId" + "typeId": "type_ir:ApiDefinitionSourceId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -73047,18 +78756,32 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": "The URL containing the `.proto` root directory source. This can be used\nto pull down the original `.proto` source files during code generation." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_ir:ApiDefinitionSourceId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -73157,7 +78880,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -73187,7 +78913,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -73217,7 +78946,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -73247,7 +78979,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -73339,19 +79074,28 @@ } } }, - "typeId": "type_ir:PlatformHeaders" + "typeId": "type_ir:PlatformHeaders", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_ir:PlatformHeaders", "type_ir:UserAgent" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -73450,7 +79194,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -73480,7 +79231,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -73510,7 +79268,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -73606,7 +79371,9 @@ } } }, - "typeId": "type_ir:UserAgent" + "typeId": "type_ir:UserAgent", + "default": null, + "inline": null } } }, @@ -73614,12 +79381,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_ir:UserAgent" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -73754,16 +79528,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": "Formatted as \"/\"" } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -73949,6 +79737,8 @@ }, "typeId": "type_ir:HeaderApiVersionScheme" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -73993,7 +79783,13 @@ "type_types:BigIntegerType", "type_types:EnumTypeDeclaration" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The available set of versions for the API. This is used to generate a special\nenum that can be used to specify the version of the API to use." }, @@ -74154,7 +79950,9 @@ } } }, - "typeId": "type_http:HttpHeader" + "typeId": "type_http:HttpHeader", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -74246,13 +80044,16 @@ } } }, - "typeId": "type_types:EnumTypeDeclaration" + "typeId": "type_types:EnumTypeDeclaration", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_http:HttpHeader", @@ -74293,7 +80094,13 @@ "type_types:BigIntegerType", "type_types:EnumTypeDeclaration" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The version information is sent as an HTTP header (e.g. X-API-Version) on every request.\n\nIf the enum does _not_ define a default value, the version should be treated like\na required global header parameter. The version header should also support any\nenvironment variable scanning specified by the header." }, @@ -74416,6 +80223,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -74507,6 +80316,8 @@ }, "typeId": "type_ir:ErrorDiscriminationByPropertyStrategy" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -74517,7 +80328,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -74678,7 +80495,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -74770,20 +80589,29 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -75010,7 +80838,9 @@ } } }, - "typeId": "type_commons:FernFilepath" + "typeId": "type_commons:FernFilepath", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -75106,7 +80936,9 @@ } } }, - "typeId": "type_commons:ServiceId" + "typeId": "type_commons:ServiceId", + "default": null, + "inline": null } } }, @@ -75204,7 +81036,9 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null } } }, @@ -75302,7 +81136,9 @@ } } }, - "typeId": "type_commons:ErrorId" + "typeId": "type_commons:ErrorId", + "default": null, + "inline": null } } }, @@ -75400,7 +81236,9 @@ } } }, - "typeId": "type_commons:WebhookGroupId" + "typeId": "type_commons:WebhookGroupId", + "default": null, + "inline": null } } }, @@ -75498,7 +81336,9 @@ } } }, - "typeId": "type_commons:WebSocketChannelId" + "typeId": "type_commons:WebSocketChannelId", + "default": null, + "inline": null } } }, @@ -75596,7 +81436,9 @@ } } }, - "typeId": "type_commons:SubpackageId" + "typeId": "type_commons:SubpackageId", + "default": null, + "inline": null } } }, @@ -75628,7 +81470,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -75724,7 +81569,9 @@ } } }, - "typeId": "type_ir:PackageNavigationConfig" + "typeId": "type_ir:PackageNavigationConfig", + "default": null, + "inline": null } } }, @@ -75732,7 +81579,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -75747,7 +81639,13 @@ "type_commons:SubpackageId", "type_ir:PackageNavigationConfig" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -75974,144 +81872,58 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false - }, - "referencedTypes": [ - "type_ir:Package", - "type_commons:WithDocs", - "type_commons:FernFilepath", - "type_commons:Name", - "type_commons:SafeAndUnsafeString", - "type_commons:ServiceId", - "type_commons:TypeId", - "type_commons:ErrorId", - "type_commons:WebhookGroupId", - "type_commons:WebSocketChannelId", - "type_commons:SubpackageId", - "type_ir:PackageNavigationConfig" - ], - "examples": [], - "availability": null, - "docs": null - }, - "type_ir:PackageNavigationConfig": { - "name": { - "name": { - "originalName": "PackageNavigationConfig", - "camelCase": { - "unsafeName": "packageNavigationConfig", - "safeName": "packageNavigationConfig" - }, - "snakeCase": { - "unsafeName": "package_navigation_config", - "safeName": "package_navigation_config" - }, - "screamingSnakeCase": { - "unsafeName": "PACKAGE_NAVIGATION_CONFIG", - "safeName": "PACKAGE_NAVIGATION_CONFIG" - }, - "pascalCase": { - "unsafeName": "PackageNavigationConfig", - "safeName": "PackageNavigationConfig" - } - }, - "fernFilepath": { - "allParts": [ - { - "originalName": "ir", - "camelCase": { - "unsafeName": "ir", - "safeName": "ir" - }, - "snakeCase": { - "unsafeName": "ir", - "safeName": "ir" - }, - "screamingSnakeCase": { - "unsafeName": "IR", - "safeName": "IR" - }, - "pascalCase": { - "unsafeName": "Ir", - "safeName": "Ir" - } - } - ], - "packagePath": [], - "file": { - "originalName": "ir", - "camelCase": { - "unsafeName": "ir", - "safeName": "ir" - }, - "snakeCase": { - "unsafeName": "ir", - "safeName": "ir" - }, - "screamingSnakeCase": { - "unsafeName": "IR", - "safeName": "IR" - }, - "pascalCase": { - "unsafeName": "Ir", - "safeName": "Ir" - } - } - }, - "typeId": "type_ir:PackageNavigationConfig" - }, - "shape": { - "_type": "object", - "extends": [], - "properties": [ + "extra-properties": false, + "extendedProperties": [ { "name": { "name": { - "originalName": "pointsTo", + "originalName": "fernFilepath", "camelCase": { - "unsafeName": "pointsTo", - "safeName": "pointsTo" + "unsafeName": "fernFilepath", + "safeName": "fernFilepath" }, "snakeCase": { - "unsafeName": "points_to", - "safeName": "points_to" + "unsafeName": "fern_filepath", + "safeName": "fern_filepath" }, "screamingSnakeCase": { - "unsafeName": "POINTS_TO", - "safeName": "POINTS_TO" + "unsafeName": "FERN_FILEPATH", + "safeName": "FERN_FILEPATH" }, "pascalCase": { - "unsafeName": "PointsTo", - "safeName": "PointsTo" + "unsafeName": "FernFilepath", + "safeName": "FernFilepath" } }, - "wireValue": "pointsTo" + "wireValue": "fernFilepath" }, "valueType": { "_type": "named", "name": { - "originalName": "SubpackageId", + "originalName": "FernFilepath", "camelCase": { - "unsafeName": "subpackageId", - "safeName": "subpackageId" + "unsafeName": "fernFilepath", + "safeName": "fernFilepath" }, "snakeCase": { - "unsafeName": "subpackage_id", - "safeName": "subpackage_id" + "unsafeName": "fern_filepath", + "safeName": "fern_filepath" }, "screamingSnakeCase": { - "unsafeName": "SUBPACKAGE_ID", - "safeName": "SUBPACKAGE_ID" + "unsafeName": "FERN_FILEPATH", + "safeName": "FERN_FILEPATH" }, "pascalCase": { - "unsafeName": "SubpackageId", - "safeName": "SubpackageId" + "unsafeName": "FernFilepath", + "safeName": "FernFilepath" } }, "fernFilepath": { @@ -76157,18 +81969,993 @@ } } }, - "typeId": "type_commons:SubpackageId" + "typeId": "type_commons:FernFilepath", + "default": null, + "inline": null + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "service", + "camelCase": { + "unsafeName": "service", + "safeName": "service" + }, + "snakeCase": { + "unsafeName": "service", + "safeName": "service" + }, + "screamingSnakeCase": { + "unsafeName": "SERVICE", + "safeName": "SERVICE" + }, + "pascalCase": { + "unsafeName": "Service", + "safeName": "Service" + } + }, + "wireValue": "service" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "ServiceId", + "camelCase": { + "unsafeName": "serviceId", + "safeName": "serviceId" + }, + "snakeCase": { + "unsafeName": "service_id", + "safeName": "service_id" + }, + "screamingSnakeCase": { + "unsafeName": "SERVICE_ID", + "safeName": "SERVICE_ID" + }, + "pascalCase": { + "unsafeName": "ServiceId", + "safeName": "ServiceId" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:ServiceId", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "types", + "camelCase": { + "unsafeName": "types", + "safeName": "types" + }, + "snakeCase": { + "unsafeName": "types", + "safeName": "types" + }, + "screamingSnakeCase": { + "unsafeName": "TYPES", + "safeName": "TYPES" + }, + "pascalCase": { + "unsafeName": "Types", + "safeName": "Types" + } + }, + "wireValue": "types" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "list", + "list": { + "_type": "named", + "name": { + "originalName": "TypeId", + "camelCase": { + "unsafeName": "typeId", + "safeName": "typeId" + }, + "snakeCase": { + "unsafeName": "type_id", + "safeName": "type_id" + }, + "screamingSnakeCase": { + "unsafeName": "TYPE_ID", + "safeName": "TYPE_ID" + }, + "pascalCase": { + "unsafeName": "TypeId", + "safeName": "TypeId" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:TypeId", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "errors", + "camelCase": { + "unsafeName": "errors", + "safeName": "errors" + }, + "snakeCase": { + "unsafeName": "errors", + "safeName": "errors" + }, + "screamingSnakeCase": { + "unsafeName": "ERRORS", + "safeName": "ERRORS" + }, + "pascalCase": { + "unsafeName": "Errors", + "safeName": "Errors" + } + }, + "wireValue": "errors" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "list", + "list": { + "_type": "named", + "name": { + "originalName": "ErrorId", + "camelCase": { + "unsafeName": "errorId", + "safeName": "errorId" + }, + "snakeCase": { + "unsafeName": "error_id", + "safeName": "error_id" + }, + "screamingSnakeCase": { + "unsafeName": "ERROR_ID", + "safeName": "ERROR_ID" + }, + "pascalCase": { + "unsafeName": "ErrorId", + "safeName": "ErrorId" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:ErrorId", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "webhooks", + "camelCase": { + "unsafeName": "webhooks", + "safeName": "webhooks" + }, + "snakeCase": { + "unsafeName": "webhooks", + "safeName": "webhooks" + }, + "screamingSnakeCase": { + "unsafeName": "WEBHOOKS", + "safeName": "WEBHOOKS" + }, + "pascalCase": { + "unsafeName": "Webhooks", + "safeName": "Webhooks" + } + }, + "wireValue": "webhooks" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "WebhookGroupId", + "camelCase": { + "unsafeName": "webhookGroupId", + "safeName": "webhookGroupId" + }, + "snakeCase": { + "unsafeName": "webhook_group_id", + "safeName": "webhook_group_id" + }, + "screamingSnakeCase": { + "unsafeName": "WEBHOOK_GROUP_ID", + "safeName": "WEBHOOK_GROUP_ID" + }, + "pascalCase": { + "unsafeName": "WebhookGroupId", + "safeName": "WebhookGroupId" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:WebhookGroupId", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "websocket", + "camelCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "snakeCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "screamingSnakeCase": { + "unsafeName": "WEBSOCKET", + "safeName": "WEBSOCKET" + }, + "pascalCase": { + "unsafeName": "Websocket", + "safeName": "Websocket" + } + }, + "wireValue": "websocket" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "WebSocketChannelId", + "camelCase": { + "unsafeName": "webSocketChannelId", + "safeName": "webSocketChannelId" + }, + "snakeCase": { + "unsafeName": "web_socket_channel_id", + "safeName": "web_socket_channel_id" + }, + "screamingSnakeCase": { + "unsafeName": "WEB_SOCKET_CHANNEL_ID", + "safeName": "WEB_SOCKET_CHANNEL_ID" + }, + "pascalCase": { + "unsafeName": "WebSocketChannelId", + "safeName": "WebSocketChannelId" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:WebSocketChannelId", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "subpackages", + "camelCase": { + "unsafeName": "subpackages", + "safeName": "subpackages" + }, + "snakeCase": { + "unsafeName": "subpackages", + "safeName": "subpackages" + }, + "screamingSnakeCase": { + "unsafeName": "SUBPACKAGES", + "safeName": "SUBPACKAGES" + }, + "pascalCase": { + "unsafeName": "Subpackages", + "safeName": "Subpackages" + } + }, + "wireValue": "subpackages" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "list", + "list": { + "_type": "named", + "name": { + "originalName": "SubpackageId", + "camelCase": { + "unsafeName": "subpackageId", + "safeName": "subpackageId" + }, + "snakeCase": { + "unsafeName": "subpackage_id", + "safeName": "subpackage_id" + }, + "screamingSnakeCase": { + "unsafeName": "SUBPACKAGE_ID", + "safeName": "SUBPACKAGE_ID" + }, + "pascalCase": { + "unsafeName": "SubpackageId", + "safeName": "SubpackageId" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:SubpackageId", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "hasEndpointsInTree", + "camelCase": { + "unsafeName": "hasEndpointsInTree", + "safeName": "hasEndpointsInTree" + }, + "snakeCase": { + "unsafeName": "has_endpoints_in_tree", + "safeName": "has_endpoints_in_tree" + }, + "screamingSnakeCase": { + "unsafeName": "HAS_ENDPOINTS_IN_TREE", + "safeName": "HAS_ENDPOINTS_IN_TREE" + }, + "pascalCase": { + "unsafeName": "HasEndpointsInTree", + "safeName": "HasEndpointsInTree" + } + }, + "wireValue": "hasEndpointsInTree" + }, + "valueType": { + "_type": "primitive", + "primitive": { + "v1": "BOOLEAN", + "v2": null + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "navigationConfig", + "camelCase": { + "unsafeName": "navigationConfig", + "safeName": "navigationConfig" + }, + "snakeCase": { + "unsafeName": "navigation_config", + "safeName": "navigation_config" + }, + "screamingSnakeCase": { + "unsafeName": "NAVIGATION_CONFIG", + "safeName": "NAVIGATION_CONFIG" + }, + "pascalCase": { + "unsafeName": "NavigationConfig", + "safeName": "NavigationConfig" + } + }, + "wireValue": "navigationConfig" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "PackageNavigationConfig", + "camelCase": { + "unsafeName": "packageNavigationConfig", + "safeName": "packageNavigationConfig" + }, + "snakeCase": { + "unsafeName": "package_navigation_config", + "safeName": "package_navigation_config" + }, + "screamingSnakeCase": { + "unsafeName": "PACKAGE_NAVIGATION_CONFIG", + "safeName": "PACKAGE_NAVIGATION_CONFIG" + }, + "pascalCase": { + "unsafeName": "PackageNavigationConfig", + "safeName": "PackageNavigationConfig" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "ir", + "camelCase": { + "unsafeName": "ir", + "safeName": "ir" + }, + "snakeCase": { + "unsafeName": "ir", + "safeName": "ir" + }, + "screamingSnakeCase": { + "unsafeName": "IR", + "safeName": "IR" + }, + "pascalCase": { + "unsafeName": "Ir", + "safeName": "Ir" + } + } + ], + "packagePath": [], + "file": { + "originalName": "ir", + "camelCase": { + "unsafeName": "ir", + "safeName": "ir" + }, + "snakeCase": { + "unsafeName": "ir", + "safeName": "ir" + }, + "screamingSnakeCase": { + "unsafeName": "IR", + "safeName": "IR" + }, + "pascalCase": { + "unsafeName": "Ir", + "safeName": "Ir" + } + } + }, + "typeId": "type_ir:PackageNavigationConfig", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] + }, + "referencedTypes": [ + "type_ir:Package", + "type_commons:WithDocs", + "type_commons:FernFilepath", + "type_commons:Name", + "type_commons:SafeAndUnsafeString", + "type_commons:ServiceId", + "type_commons:TypeId", + "type_commons:ErrorId", + "type_commons:WebhookGroupId", + "type_commons:WebSocketChannelId", + "type_commons:SubpackageId", + "type_ir:PackageNavigationConfig" + ], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], + "availability": null, + "docs": null + }, + "type_ir:PackageNavigationConfig": { + "name": { + "name": { + "originalName": "PackageNavigationConfig", + "camelCase": { + "unsafeName": "packageNavigationConfig", + "safeName": "packageNavigationConfig" + }, + "snakeCase": { + "unsafeName": "package_navigation_config", + "safeName": "package_navigation_config" + }, + "screamingSnakeCase": { + "unsafeName": "PACKAGE_NAVIGATION_CONFIG", + "safeName": "PACKAGE_NAVIGATION_CONFIG" + }, + "pascalCase": { + "unsafeName": "PackageNavigationConfig", + "safeName": "PackageNavigationConfig" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "ir", + "camelCase": { + "unsafeName": "ir", + "safeName": "ir" + }, + "snakeCase": { + "unsafeName": "ir", + "safeName": "ir" + }, + "screamingSnakeCase": { + "unsafeName": "IR", + "safeName": "IR" + }, + "pascalCase": { + "unsafeName": "Ir", + "safeName": "Ir" + } + } + ], + "packagePath": [], + "file": { + "originalName": "ir", + "camelCase": { + "unsafeName": "ir", + "safeName": "ir" + }, + "snakeCase": { + "unsafeName": "ir", + "safeName": "ir" + }, + "screamingSnakeCase": { + "unsafeName": "IR", + "safeName": "IR" + }, + "pascalCase": { + "unsafeName": "Ir", + "safeName": "Ir" + } + } + }, + "typeId": "type_ir:PackageNavigationConfig" + }, + "shape": { + "_type": "object", + "extends": [], + "properties": [ + { + "name": { + "name": { + "originalName": "pointsTo", + "camelCase": { + "unsafeName": "pointsTo", + "safeName": "pointsTo" + }, + "snakeCase": { + "unsafeName": "points_to", + "safeName": "points_to" + }, + "screamingSnakeCase": { + "unsafeName": "POINTS_TO", + "safeName": "POINTS_TO" + }, + "pascalCase": { + "unsafeName": "PointsTo", + "safeName": "PointsTo" + } + }, + "wireValue": "pointsTo" + }, + "valueType": { + "_type": "named", + "name": { + "originalName": "SubpackageId", + "camelCase": { + "unsafeName": "subpackageId", + "safeName": "subpackageId" + }, + "snakeCase": { + "unsafeName": "subpackage_id", + "safeName": "subpackage_id" + }, + "screamingSnakeCase": { + "unsafeName": "SUBPACKAGE_ID", + "safeName": "SUBPACKAGE_ID" + }, + "pascalCase": { + "unsafeName": "SubpackageId", + "safeName": "SubpackageId" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:SubpackageId", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:SubpackageId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -76333,7 +83120,9 @@ } } }, - "typeId": "type_commons:ServiceId" + "typeId": "type_commons:ServiceId", + "default": null, + "inline": null }, "valueType": { "_type": "container", @@ -76403,7 +83192,9 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null } } } @@ -76503,7 +83294,9 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null } } }, @@ -76511,13 +83304,20 @@ "docs": "Types referenced by either zero or multiple services." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:ServiceId", "type_commons:TypeId" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -76678,7 +83478,9 @@ } } }, - "typeId": "type_proto:ProtobufFile" + "typeId": "type_proto:ProtobufFile", + "default": null, + "inline": null }, "availability": null, "docs": "The `.proto` source file that defines this service." @@ -76770,13 +83572,16 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": "The name of the service defined in the `.proto` file (e.g. UserService)." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_proto:ProtobufFile", @@ -76785,7 +83590,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Defines the information related to a Protobuf service declaration. This is\nprimarily meant to be used to instantiate the internal gRPC client used by\nthe SDK.\n\nFor example, consider the following C# snippet which instantiates a\n`UserService` gRPC client:\n\n```csharp\nusing User.Grpc;\n\npublic class RawGrpcClient\n{\n public UserService.UserServiceClient UserServiceClient;\n\n public RawGrpcClient(...)\n {\n GrpcChannel channel = GrpcChannel.ForAddress(...);\n UserServiceClient = new UserService.UserServiceClient(channel);\n }\n}\n```" }, @@ -76993,9 +83804,13 @@ } } }, - "typeId": "type_proto:WellKnownProtobufType" + "typeId": "type_proto:WellKnownProtobufType", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77087,6 +83902,8 @@ }, "typeId": "type_proto:UserDefinedProtobufType" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -77100,7 +83917,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "A Protobuf type declaration." }, @@ -77261,7 +84084,9 @@ } } }, - "typeId": "type_proto:ProtobufFile" + "typeId": "type_proto:ProtobufFile", + "default": null, + "inline": null }, "availability": null, "docs": "The `.proto` source file that defines this type." @@ -77353,13 +84178,16 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": "This name is _usually_ equivalent to the associated DeclaredTypeName's name.\nHowever, its repeated here just in case the naming convention differs, which\nis most relevant for APIs that specify `smart-casing`." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_proto:ProtobufFile", @@ -77368,7 +84196,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "Defines the information related to the original `.proto` source file\nthat defines this type. This is primarily meant to be used to generate\nProtobuf mapper methods, which are used in gRPC-compatbile SDKs.\n\nFor example, consider the following Go snippet which requires the\n`go_package` setting:\n\n```go\nimport \"github.com/acme/acme-go/proto\"\n\ntype GetUserRequest struct {\n Username string\n Email string\n}\n\nfunc (u *GetUserRequest) ToProto() *proto.GetUserRequest {\n if u == nil {\n return nil\n }\n return &proto.GetUserRequest{\n Username u.Username,\n Email: u.Email,\n }\n}\n```" }, @@ -77491,6 +84325,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77519,6 +84355,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77547,6 +84385,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77575,6 +84415,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77603,6 +84445,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77631,6 +84475,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77659,6 +84505,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77687,6 +84535,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77715,6 +84565,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77743,6 +84595,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77771,6 +84625,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77799,6 +84655,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77827,6 +84685,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77855,6 +84715,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77883,6 +84745,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77911,6 +84775,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77939,6 +84805,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77967,6 +84835,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -77995,6 +84865,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78023,6 +84895,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78051,6 +84925,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78079,6 +84955,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78107,6 +84985,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78135,6 +85015,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78163,6 +85045,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78191,6 +85075,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78219,6 +85105,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78247,6 +85135,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78275,6 +85165,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -78303,12 +85195,20 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The set of well-known types supported by Protobuf. These types are often included\nin the target runtime library, so they usually require special handling.\n\nThe full list of well-known types can be found at https://protobuf.dev/reference/protobuf/google.protobuf" }, @@ -78407,7 +85307,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": "The `.proto` source path, relative to the Protobuf root directory.\nThis is how the file is referenced in `import` statements." @@ -78441,7 +85348,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -78539,7 +85453,9 @@ } } }, - "typeId": "type_proto:ProtobufFileOptions" + "typeId": "type_proto:ProtobufFileOptions", + "default": null, + "inline": null } } }, @@ -78547,13 +85463,20 @@ "docs": "Specifies a variety of language-specific options." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_proto:ProtobufFileOptions", "type_proto:CsharpProtobufFileOptions" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -78718,7 +85641,9 @@ } } }, - "typeId": "type_proto:CsharpProtobufFileOptions" + "typeId": "type_proto:CsharpProtobufFileOptions", + "default": null, + "inline": null } } }, @@ -78726,12 +85651,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_proto:CsharpProtobufFileOptions" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -78830,16 +85762,30 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": "Populated by the `csharp_namespace` file option, e.g.\n\n```protobuf\noption csharp_namespace = Grpc.Health.V1;\n```\n\nThis is used to determine what import path is required to reference the\nassociated type(s)." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -79025,6 +85971,8 @@ }, "typeId": "type_publish:GithubPublish" }, + "displayName": null, + "availability": null, "docs": "Publish via syncing to a GitHub repo and triggering GitHub workflows" }, { @@ -79116,6 +86064,8 @@ }, "typeId": "type_publish:DirectPublish" }, + "displayName": null, + "availability": null, "docs": "Publish directly from the generator" } ] @@ -79126,7 +86076,13 @@ "type_publish:PostmanPublishTarget", "type_publish:DirectPublish" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -79225,7 +86181,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -79255,7 +86218,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -79347,19 +86317,28 @@ } } }, - "typeId": "type_publish:PublishTarget" + "typeId": "type_publish:PublishTarget", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_publish:PublishTarget", "type_publish:PostmanPublishTarget" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -79520,19 +86499,28 @@ } } }, - "typeId": "type_publish:PublishTarget" + "typeId": "type_publish:PublishTarget", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_publish:PublishTarget", "type_publish:PostmanPublishTarget" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -79718,6 +86706,8 @@ }, "typeId": "type_publish:PostmanPublishTarget" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -79725,7 +86715,13 @@ "referencedTypes": [ "type_publish:PostmanPublishTarget" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -79824,7 +86820,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -79854,7 +86857,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -79888,7 +86898,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -79896,10 +86913,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -80107,9 +87131,13 @@ } } }, - "typeId": "type_proto:ProtobufType" + "typeId": "type_proto:ProtobufType", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null } ] @@ -80124,7 +87152,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "The original source of the declared type (e.g. a `.proto` file)." }, @@ -80289,7 +87323,9 @@ } } }, - "typeId": "type_types:JsonEncoding" + "typeId": "type_types:JsonEncoding", + "default": null, + "inline": null } } }, @@ -80387,7 +87423,9 @@ } } }, - "typeId": "type_types:ProtoEncoding" + "typeId": "type_types:ProtoEncoding", + "default": null, + "inline": null } } }, @@ -80395,13 +87433,20 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:JsonEncoding", "type_types:ProtoEncoding" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -80475,10 +87520,17 @@ "_type": "object", "extends": [], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -80552,10 +87604,17 @@ "_type": "object", "extends": [], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -80782,7 +87841,9 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -80874,7 +87935,9 @@ } } }, - "typeId": "type_types:Type" + "typeId": "type_types:Type", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -80970,7 +88033,9 @@ } } }, - "typeId": "type_types:ExampleType" + "typeId": "type_types:ExampleType", + "default": null, + "inline": null } } }, @@ -81068,7 +88133,209 @@ } } }, - "typeId": "type_types:ExampleType" + "typeId": "type_types:ExampleType", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "referencedTypes", + "camelCase": { + "unsafeName": "referencedTypes", + "safeName": "referencedTypes" + }, + "snakeCase": { + "unsafeName": "referenced_types", + "safeName": "referenced_types" + }, + "screamingSnakeCase": { + "unsafeName": "REFERENCED_TYPES", + "safeName": "REFERENCED_TYPES" + }, + "pascalCase": { + "unsafeName": "ReferencedTypes", + "safeName": "ReferencedTypes" + } + }, + "wireValue": "referencedTypes" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "set", + "set": { + "_type": "named", + "name": { + "originalName": "TypeId", + "camelCase": { + "unsafeName": "typeId", + "safeName": "typeId" + }, + "snakeCase": { + "unsafeName": "type_id", + "safeName": "type_id" + }, + "screamingSnakeCase": { + "unsafeName": "TYPE_ID", + "safeName": "TYPE_ID" + }, + "pascalCase": { + "unsafeName": "TypeId", + "safeName": "TypeId" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:TypeId", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": "All other named types that this type references (directly or indirectly)" + }, + { + "name": { + "name": { + "originalName": "encoding", + "camelCase": { + "unsafeName": "encoding", + "safeName": "encoding" + }, + "snakeCase": { + "unsafeName": "encoding", + "safeName": "encoding" + }, + "screamingSnakeCase": { + "unsafeName": "ENCODING", + "safeName": "ENCODING" + }, + "pascalCase": { + "unsafeName": "Encoding", + "safeName": "Encoding" + } + }, + "wireValue": "encoding" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Encoding", + "camelCase": { + "unsafeName": "encoding", + "safeName": "encoding" + }, + "snakeCase": { + "unsafeName": "encoding", + "safeName": "encoding" + }, + "screamingSnakeCase": { + "unsafeName": "ENCODING", + "safeName": "ENCODING" + }, + "pascalCase": { + "unsafeName": "Encoding", + "safeName": "Encoding" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "types", + "camelCase": { + "unsafeName": "types", + "safeName": "types" + }, + "snakeCase": { + "unsafeName": "types", + "safeName": "types" + }, + "screamingSnakeCase": { + "unsafeName": "TYPES", + "safeName": "TYPES" + }, + "pascalCase": { + "unsafeName": "Types", + "safeName": "Types" + } + } + ], + "packagePath": [], + "file": { + "originalName": "types", + "camelCase": { + "unsafeName": "types", + "safeName": "types" + }, + "snakeCase": { + "unsafeName": "types", + "safeName": "types" + }, + "screamingSnakeCase": { + "unsafeName": "TYPES", + "safeName": "TYPES" + }, + "pascalCase": { + "unsafeName": "Types", + "safeName": "Types" + } + } + }, + "typeId": "type_types:Encoding", + "default": null, + "inline": null } } }, @@ -81078,221 +88345,167 @@ { "name": { "name": { - "originalName": "referencedTypes", + "originalName": "source", "camelCase": { - "unsafeName": "referencedTypes", - "safeName": "referencedTypes" + "unsafeName": "source", + "safeName": "source" }, "snakeCase": { - "unsafeName": "referenced_types", - "safeName": "referenced_types" + "unsafeName": "source", + "safeName": "source" }, "screamingSnakeCase": { - "unsafeName": "REFERENCED_TYPES", - "safeName": "REFERENCED_TYPES" + "unsafeName": "SOURCE", + "safeName": "SOURCE" }, "pascalCase": { - "unsafeName": "ReferencedTypes", - "safeName": "ReferencedTypes" + "unsafeName": "Source", + "safeName": "Source" } }, - "wireValue": "referencedTypes" + "wireValue": "source" }, "valueType": { "_type": "container", "container": { - "_type": "set", - "set": { + "_type": "optional", + "optional": { "_type": "named", "name": { - "originalName": "TypeId", + "originalName": "Source", "camelCase": { - "unsafeName": "typeId", - "safeName": "typeId" + "unsafeName": "source", + "safeName": "source" }, "snakeCase": { - "unsafeName": "type_id", - "safeName": "type_id" + "unsafeName": "source", + "safeName": "source" }, "screamingSnakeCase": { - "unsafeName": "TYPE_ID", - "safeName": "TYPE_ID" + "unsafeName": "SOURCE", + "safeName": "SOURCE" }, "pascalCase": { - "unsafeName": "TypeId", - "safeName": "TypeId" + "unsafeName": "Source", + "safeName": "Source" } }, "fernFilepath": { "allParts": [ { - "originalName": "commons", + "originalName": "types", "camelCase": { - "unsafeName": "commons", - "safeName": "commons" + "unsafeName": "types", + "safeName": "types" }, "snakeCase": { - "unsafeName": "commons", - "safeName": "commons" + "unsafeName": "types", + "safeName": "types" }, "screamingSnakeCase": { - "unsafeName": "COMMONS", - "safeName": "COMMONS" + "unsafeName": "TYPES", + "safeName": "TYPES" }, "pascalCase": { - "unsafeName": "Commons", - "safeName": "Commons" + "unsafeName": "Types", + "safeName": "Types" } } ], "packagePath": [], "file": { - "originalName": "commons", + "originalName": "types", "camelCase": { - "unsafeName": "commons", - "safeName": "commons" + "unsafeName": "types", + "safeName": "types" }, "snakeCase": { - "unsafeName": "commons", - "safeName": "commons" + "unsafeName": "types", + "safeName": "types" }, "screamingSnakeCase": { - "unsafeName": "COMMONS", - "safeName": "COMMONS" + "unsafeName": "TYPES", + "safeName": "TYPES" }, "pascalCase": { - "unsafeName": "Commons", - "safeName": "Commons" + "unsafeName": "Types", + "safeName": "Types" } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_types:Source", + "default": null, + "inline": null } } }, "availability": null, - "docs": "All other named types that this type references (directly or indirectly)" + "docs": null }, { "name": { "name": { - "originalName": "encoding", + "originalName": "inline", "camelCase": { - "unsafeName": "encoding", - "safeName": "encoding" + "unsafeName": "inline", + "safeName": "inline" }, "snakeCase": { - "unsafeName": "encoding", - "safeName": "encoding" + "unsafeName": "inline", + "safeName": "inline" }, "screamingSnakeCase": { - "unsafeName": "ENCODING", - "safeName": "ENCODING" + "unsafeName": "INLINE", + "safeName": "INLINE" }, "pascalCase": { - "unsafeName": "Encoding", - "safeName": "Encoding" + "unsafeName": "Inline", + "safeName": "Inline" } }, - "wireValue": "encoding" + "wireValue": "inline" }, "valueType": { "_type": "container", "container": { "_type": "optional", "optional": { - "_type": "named", - "name": { - "originalName": "Encoding", - "camelCase": { - "unsafeName": "encoding", - "safeName": "encoding" - }, - "snakeCase": { - "unsafeName": "encoding", - "safeName": "encoding" - }, - "screamingSnakeCase": { - "unsafeName": "ENCODING", - "safeName": "ENCODING" - }, - "pascalCase": { - "unsafeName": "Encoding", - "safeName": "Encoding" - } - }, - "fernFilepath": { - "allParts": [ - { - "originalName": "types", - "camelCase": { - "unsafeName": "types", - "safeName": "types" - }, - "snakeCase": { - "unsafeName": "types", - "safeName": "types" - }, - "screamingSnakeCase": { - "unsafeName": "TYPES", - "safeName": "TYPES" - }, - "pascalCase": { - "unsafeName": "Types", - "safeName": "Types" - } - } - ], - "packagePath": [], - "file": { - "originalName": "types", - "camelCase": { - "unsafeName": "types", - "safeName": "types" - }, - "snakeCase": { - "unsafeName": "types", - "safeName": "types" - }, - "screamingSnakeCase": { - "unsafeName": "TYPES", - "safeName": "TYPES" - }, - "pascalCase": { - "unsafeName": "Types", - "safeName": "Types" - } - } - }, - "typeId": "type_types:Encoding" + "_type": "primitive", + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, "availability": null, - "docs": null - }, + "docs": "Whether to try and inline the type declaration" + } + ], + "extra-properties": false, + "extendedProperties": [ { "name": { "name": { - "originalName": "source", + "originalName": "availability", "camelCase": { - "unsafeName": "source", - "safeName": "source" + "unsafeName": "availability", + "safeName": "availability" }, "snakeCase": { - "unsafeName": "source", - "safeName": "source" + "unsafeName": "availability", + "safeName": "availability" }, "screamingSnakeCase": { - "unsafeName": "SOURCE", - "safeName": "SOURCE" + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" }, "pascalCase": { - "unsafeName": "Source", - "safeName": "Source" + "unsafeName": "Availability", + "safeName": "Availability" } }, - "wireValue": "source" + "wireValue": "availability" }, "valueType": { "_type": "container", @@ -81301,68 +88514,70 @@ "optional": { "_type": "named", "name": { - "originalName": "Source", + "originalName": "Availability", "camelCase": { - "unsafeName": "source", - "safeName": "source" + "unsafeName": "availability", + "safeName": "availability" }, "snakeCase": { - "unsafeName": "source", - "safeName": "source" + "unsafeName": "availability", + "safeName": "availability" }, "screamingSnakeCase": { - "unsafeName": "SOURCE", - "safeName": "SOURCE" + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" }, "pascalCase": { - "unsafeName": "Source", - "safeName": "Source" + "unsafeName": "Availability", + "safeName": "Availability" } }, "fernFilepath": { "allParts": [ { - "originalName": "types", + "originalName": "commons", "camelCase": { - "unsafeName": "types", - "safeName": "types" + "unsafeName": "commons", + "safeName": "commons" }, "snakeCase": { - "unsafeName": "types", - "safeName": "types" + "unsafeName": "commons", + "safeName": "commons" }, "screamingSnakeCase": { - "unsafeName": "TYPES", - "safeName": "TYPES" + "unsafeName": "COMMONS", + "safeName": "COMMONS" }, "pascalCase": { - "unsafeName": "Types", - "safeName": "Types" + "unsafeName": "Commons", + "safeName": "Commons" } } ], "packagePath": [], "file": { - "originalName": "types", + "originalName": "commons", "camelCase": { - "unsafeName": "types", - "safeName": "types" + "unsafeName": "commons", + "safeName": "commons" }, "snakeCase": { - "unsafeName": "types", - "safeName": "types" + "unsafeName": "commons", + "safeName": "commons" }, "screamingSnakeCase": { - "unsafeName": "TYPES", - "safeName": "TYPES" + "unsafeName": "COMMONS", + "safeName": "COMMONS" }, "pascalCase": { - "unsafeName": "Types", - "safeName": "Types" + "unsafeName": "Commons", + "safeName": "Commons" } } }, - "typeId": "type_types:Source" + "typeId": "type_commons:Availability", + "default": null, + "inline": null } } }, @@ -81372,25 +88587,25 @@ { "name": { "name": { - "originalName": "inline", + "originalName": "docs", "camelCase": { - "unsafeName": "inline", - "safeName": "inline" + "unsafeName": "docs", + "safeName": "docs" }, "snakeCase": { - "unsafeName": "inline", - "safeName": "inline" + "unsafeName": "docs", + "safeName": "docs" }, "screamingSnakeCase": { - "unsafeName": "INLINE", - "safeName": "INLINE" + "unsafeName": "DOCS", + "safeName": "DOCS" }, "pascalCase": { - "unsafeName": "Inline", - "safeName": "Inline" + "unsafeName": "Docs", + "safeName": "Docs" } }, - "wireValue": "inline" + "wireValue": "docs" }, "valueType": { "_type": "container", @@ -81398,15 +88613,21 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, "availability": null, - "docs": "Whether to try and inline the type declaration" + "docs": null } - ], - "extra-properties": false + ] }, "referencedTypes": [ "type_commons:Declaration", @@ -81495,7 +88716,13 @@ "type_proto:ProtobufFileOptions", "type_proto:CsharpProtobufFileOptions" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "A type, which is a name and a shape" }, @@ -81656,7 +88883,9 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -81748,7 +88977,9 @@ } } }, - "typeId": "type_commons:FernFilepath" + "typeId": "type_commons:FernFilepath", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -81840,13 +89071,16 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:TypeId", @@ -81854,7 +89088,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -82040,6 +89280,8 @@ }, "typeId": "type_types:AliasTypeDeclaration" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -82131,6 +89373,8 @@ }, "typeId": "type_types:EnumTypeDeclaration" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -82222,6 +89466,8 @@ }, "typeId": "type_types:ObjectTypeDeclaration" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -82313,6 +89559,8 @@ }, "typeId": "type_types:UnionTypeDeclaration" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -82404,6 +89652,8 @@ }, "typeId": "type_types:UndiscriminatedUnionTypeDeclaration" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -82459,7 +89709,13 @@ "type_types:UndiscriminatedUnionTypeDeclaration", "type_types:UndiscriminatedUnionMember" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -82620,7 +89876,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -82712,13 +89970,16 @@ } } }, - "typeId": "type_types:ResolvedTypeReference" + "typeId": "type_types:ResolvedTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:TypeReference", @@ -82761,7 +90022,13 @@ "type_types:DeclaredTypeName", "type_types:ShapeType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -82969,9 +90236,13 @@ } } }, - "typeId": "type_types:ContainerType" + "typeId": "type_types:ContainerType", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -83063,6 +90334,8 @@ }, "typeId": "type_types:ResolvedNamedType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -83176,9 +90449,13 @@ } } }, - "typeId": "type_types:PrimitiveType" + "typeId": "type_types:PrimitiveType", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -83207,6 +90484,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -83251,7 +90530,13 @@ "type_types:DeclaredTypeName", "type_types:ShapeType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -83412,7 +90697,9 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -83504,13 +90791,16 @@ } } }, - "typeId": "type_types:ShapeType" + "typeId": "type_types:ShapeType", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:DeclaredTypeName", @@ -83520,7 +90810,13 @@ "type_commons:SafeAndUnsafeString", "type_types:ShapeType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -83592,6 +90888,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -83700,7 +90997,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -83865,7 +91168,9 @@ } } }, - "typeId": "type_types:EnumValue" + "typeId": "type_types:EnumValue", + "default": null, + "inline": null } } }, @@ -83963,7 +91268,9 @@ } } }, - "typeId": "type_types:EnumValue" + "typeId": "type_types:EnumValue", + "default": null, + "inline": null } } }, @@ -83971,7 +91278,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:EnumValue", @@ -83983,7 +91291,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -84210,13 +91524,160 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:Declaration", @@ -84227,7 +91688,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -84392,7 +91859,9 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null } } }, @@ -84490,7 +91959,9 @@ } } }, - "typeId": "type_types:ObjectProperty" + "typeId": "type_types:ObjectProperty", + "default": null, + "inline": null } } }, @@ -84592,7 +92063,9 @@ } } }, - "typeId": "type_types:ObjectProperty" + "typeId": "type_types:ObjectProperty", + "default": null, + "inline": null } } } @@ -84626,13 +92099,17 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": "Whether to allow extra properties on the object." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:DeclaredTypeName", @@ -84673,7 +92150,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -84900,7 +92383,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -84992,13 +92477,160 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:Declaration", @@ -85037,7 +92669,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -85198,7 +92836,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -85294,7 +92934,9 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null } } }, @@ -85392,7 +93034,9 @@ } } }, - "typeId": "type_types:SingleUnionType" + "typeId": "type_types:SingleUnionType", + "default": null, + "inline": null } } }, @@ -85490,7 +93134,9 @@ } } }, - "typeId": "type_types:ObjectProperty" + "typeId": "type_types:ObjectProperty", + "default": null, + "inline": null } } }, @@ -85498,7 +93144,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -85542,7 +93189,13 @@ "type_types:BigIntegerType", "type_types:ObjectProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -85769,7 +93422,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -85861,7 +93516,9 @@ } } }, - "typeId": "type_types:SingleUnionTypeProperties" + "typeId": "type_types:SingleUnionTypeProperties", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -85895,7 +93552,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -85993,7 +93657,9 @@ } } }, - "typeId": "type_commons:Availability" + "typeId": "type_commons:Availability", + "default": null, + "inline": null } } }, @@ -86001,7 +93667,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -86043,7 +93754,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -86229,6 +93946,8 @@ }, "typeId": "type_types:DeclaredTypeName" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -86320,6 +94039,8 @@ }, "typeId": "type_types:SingleUnionTypeProperty" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -86348,6 +94069,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -86391,7 +94114,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -86552,7 +94281,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -86644,13 +94375,16 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -86689,7 +94423,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -86854,7 +94594,9 @@ } } }, - "typeId": "type_types:UndiscriminatedUnionMember" + "typeId": "type_types:UndiscriminatedUnionMember", + "default": null, + "inline": null } } }, @@ -86862,7 +94604,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:UndiscriminatedUnionMember", @@ -86902,7 +94645,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -87129,13 +94878,60 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -87174,7 +94970,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -87382,9 +95184,13 @@ } } }, - "typeId": "type_types:ContainerType" + "typeId": "type_types:ContainerType", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -87476,6 +95282,8 @@ }, "typeId": "type_types:NamedType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -87589,9 +95397,13 @@ } } }, - "typeId": "type_types:PrimitiveType" + "typeId": "type_types:PrimitiveType", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -87620,6 +95432,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -87661,7 +95475,13 @@ "type_types:MapType", "type_types:Literal" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -87822,7 +95642,9 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -87914,7 +95736,9 @@ } } }, - "typeId": "type_commons:FernFilepath" + "typeId": "type_commons:FernFilepath", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -88006,7 +95830,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -88102,7 +95928,9 @@ } } }, - "typeId": "type_types:NamedTypeDefault" + "typeId": "type_types:NamedTypeDefault", + "default": null, + "inline": null } } }, @@ -88138,7 +95966,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -88146,7 +95977,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:TypeId", @@ -88161,7 +95993,13 @@ "type_commons:AvailabilityStatus", "type_commons:NameAndWireValue" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "A reference to a named type. For backwards compatbility, this type must be fully compatible\nwith the DeclaredTypeName." }, @@ -88347,6 +96185,8 @@ }, "typeId": "type_types:EnumValue" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -88361,7 +96201,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -88526,7 +96372,9 @@ } } }, - "typeId": "type_types:EnumValue" + "typeId": "type_types:EnumValue", + "default": null, + "inline": null } } }, @@ -88620,13 +96468,16 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:EnumValue", @@ -88641,7 +96492,13 @@ "type_commons:TypeId", "type_commons:FernFilepath" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -88849,9 +96706,13 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -88943,6 +96804,8 @@ }, "typeId": "type_types:MapType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -89056,9 +96919,13 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -89172,9 +97039,13 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -89288,9 +97159,13 @@ } } }, - "typeId": "type_types:Literal" + "typeId": "type_types:Literal", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null } ] @@ -89332,7 +97207,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -89493,7 +97374,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -89585,13 +97468,16 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:TypeReference", @@ -89630,7 +97516,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -89791,7 +97683,9 @@ } } }, - "typeId": "type_types:PrimitiveTypeV1" + "typeId": "type_types:PrimitiveTypeV1", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -89887,7 +97781,9 @@ } } }, - "typeId": "type_types:PrimitiveTypeV2" + "typeId": "type_types:PrimitiveTypeV2", + "default": null, + "inline": null } } }, @@ -89895,7 +97791,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:PrimitiveTypeV1", @@ -89917,7 +97814,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -89989,6 +97892,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -90331,7 +98235,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -90517,6 +98427,8 @@ }, "typeId": "type_types:IntegerType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -90608,6 +98520,8 @@ }, "typeId": "type_types:LongType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -90699,6 +98613,8 @@ }, "typeId": "type_types:UintType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -90790,6 +98706,8 @@ }, "typeId": "type_types:Uint64Type" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -90881,6 +98799,8 @@ }, "typeId": "type_types:FloatType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -90972,6 +98892,8 @@ }, "typeId": "type_types:DoubleType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -91063,6 +98985,8 @@ }, "typeId": "type_types:BooleanType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -91154,6 +99078,8 @@ }, "typeId": "type_types:StringType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -91245,6 +99171,8 @@ }, "typeId": "type_types:DateType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -91336,6 +99264,8 @@ }, "typeId": "type_types:DateTimeType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -91427,6 +99357,8 @@ }, "typeId": "type_types:UuidType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -91518,6 +99450,8 @@ }, "typeId": "type_types:Base64Type" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -91609,6 +99543,8 @@ }, "typeId": "type_types:BigIntegerType" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -91631,7 +99567,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -91734,7 +99676,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } } } }, @@ -91832,7 +99781,9 @@ } } }, - "typeId": "type_types:IntegerValidationRules" + "typeId": "type_types:IntegerValidationRules", + "default": null, + "inline": null } } }, @@ -91840,12 +99791,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:IntegerValidationRules" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -91948,7 +99906,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } } } }, @@ -91984,7 +99949,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } } } }, @@ -92020,7 +99992,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -92056,7 +100031,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -92092,7 +100070,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } } } }, @@ -92100,10 +100085,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -92206,7 +100198,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "LONG" + "primitive": { + "v1": "LONG", + "v2": null + } } } }, @@ -92214,10 +100209,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -92291,10 +100293,17 @@ "_type": "object", "extends": [], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -92368,10 +100377,17 @@ "_type": "object", "extends": [], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -92445,10 +100461,17 @@ "_type": "object", "extends": [], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -92551,7 +100574,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "DOUBLE" + "primitive": { + "v1": "DOUBLE", + "v2": { + "type": "double", + "default": null, + "validation": null + } + } } } }, @@ -92649,7 +100679,9 @@ } } }, - "typeId": "type_types:DoubleValidationRules" + "typeId": "type_types:DoubleValidationRules", + "default": null, + "inline": null } } }, @@ -92657,12 +100689,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:DoubleValidationRules" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -92765,7 +100804,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "DOUBLE" + "primitive": { + "v1": "DOUBLE", + "v2": { + "type": "double", + "default": null, + "validation": null + } + } } } }, @@ -92801,7 +100847,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "DOUBLE" + "primitive": { + "v1": "DOUBLE", + "v2": { + "type": "double", + "default": null, + "validation": null + } + } } } }, @@ -92837,7 +100890,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -92873,7 +100929,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -92909,7 +100968,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "DOUBLE" + "primitive": { + "v1": "DOUBLE", + "v2": { + "type": "double", + "default": null, + "validation": null + } + } } } }, @@ -92917,10 +100983,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -93023,7 +101096,10 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } } }, @@ -93031,10 +101107,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -93137,7 +101220,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -93235,7 +101325,9 @@ } } }, - "typeId": "type_types:StringValidationRules" + "typeId": "type_types:StringValidationRules", + "default": null, + "inline": null } } }, @@ -93243,12 +101335,19 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:StringValidationRules" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -93351,7 +101450,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -93387,7 +101493,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -93423,7 +101536,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } } } }, @@ -93459,7 +101579,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } } } }, @@ -93467,10 +101594,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -93544,10 +101678,17 @@ "_type": "object", "extends": [], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -93621,10 +101762,17 @@ "_type": "object", "extends": [], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -93698,10 +101846,17 @@ "_type": "object", "extends": [], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -93775,10 +101930,17 @@ "_type": "object", "extends": [], "properties": [], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -93881,7 +102043,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -93889,10 +102058,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -94038,9 +102214,18 @@ }, "type": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -94092,15 +102277,26 @@ }, "type": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null } ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -94396,7 +102592,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -94490,13 +102688,89 @@ } } }, - "typeId": "type_types:ExampleTypeShape" + "typeId": "type_types:ExampleTypeShape", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "jsonExample", + "camelCase": { + "unsafeName": "jsonExample", + "safeName": "jsonExample" + }, + "snakeCase": { + "unsafeName": "json_example", + "safeName": "json_example" + }, + "screamingSnakeCase": { + "unsafeName": "JSON_EXAMPLE", + "safeName": "JSON_EXAMPLE" + }, + "pascalCase": { + "unsafeName": "JsonExample", + "safeName": "JsonExample" + } + }, + "wireValue": "jsonExample" + }, + "valueType": { + "_type": "unknown" + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithJsonExample", @@ -94560,7 +102834,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -94746,6 +103026,8 @@ }, "typeId": "type_types:ExampleAliasType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -94837,6 +103119,8 @@ }, "typeId": "type_types:ExampleEnumType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -94928,6 +103212,8 @@ }, "typeId": "type_types:ExampleObjectType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -95019,6 +103305,8 @@ }, "typeId": "type_types:ExampleUnionType" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -95110,6 +103398,8 @@ }, "typeId": "type_types:ExampleUndiscriminatedUnionType" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -95176,7 +103466,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -95337,13 +103633,16 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExampleTypeReference", @@ -95407,7 +103706,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -95568,20 +103873,29 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -95746,7 +104060,9 @@ } } }, - "typeId": "type_types:ExampleObjectProperty" + "typeId": "type_types:ExampleObjectProperty", + "default": null, + "inline": null } } }, @@ -95754,7 +104070,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExampleObjectProperty", @@ -95818,7 +104135,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -95979,7 +104302,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -96071,7 +104396,9 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -96163,13 +104490,16 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null }, "availability": null, "docs": "This property may have been brought in via extension. originalTypeDeclaration\nis the name of the type that contains this property." } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -96233,7 +104563,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -96394,7 +104730,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -96486,13 +104824,16 @@ } } }, - "typeId": "type_types:ExampleSingleUnionType" + "typeId": "type_types:ExampleSingleUnionType", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -96556,7 +104897,13 @@ "type_types:ExampleUnionType", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -96655,7 +105002,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } }, "availability": null, "docs": "The zero-based index of the undiscriminated union variant. \nFor the following undiscriminated union\n\n```\nMyUnion:\n discriminated: false\n union:\n - string\n - integer\n```\n\na string example would have an index 0 and an integer example\nwould have an index 1." @@ -96747,13 +105101,16 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExampleTypeReference", @@ -96817,7 +105174,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -96978,7 +105341,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -97070,13 +105435,16 @@ } } }, - "typeId": "type_types:ExampleSingleUnionTypeProperties" + "typeId": "type_types:ExampleSingleUnionTypeProperties", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:NameAndWireValue", @@ -97140,7 +105508,13 @@ "type_types:ExampleSingleUnionType", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -97326,6 +105700,8 @@ }, "typeId": "type_types:ExampleObjectTypeWithTypeId" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -97417,6 +105793,8 @@ }, "typeId": "type_types:ExampleTypeReference" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -97445,6 +105823,8 @@ "shape": { "_type": "noProperties" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -97511,7 +105891,13 @@ "type_types:ExampleSingleUnionTypeProperties", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -97738,13 +106124,46 @@ } } }, - "typeId": "type_types:ExampleTypeReferenceShape" + "typeId": "type_types:ExampleTypeReferenceShape", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "jsonExample", + "camelCase": { + "unsafeName": "jsonExample", + "safeName": "jsonExample" + }, + "snakeCase": { + "unsafeName": "json_example", + "safeName": "json_example" + }, + "screamingSnakeCase": { + "unsafeName": "JSON_EXAMPLE", + "safeName": "JSON_EXAMPLE" + }, + "pascalCase": { + "unsafeName": "JsonExample", + "safeName": "JsonExample" + } + }, + "wireValue": "jsonExample" + }, + "valueType": { + "_type": "unknown" + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithJsonExample", @@ -97808,7 +106227,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -98016,9 +106441,13 @@ } } }, - "typeId": "type_types:ExamplePrimitive" + "typeId": "type_types:ExamplePrimitive", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -98132,9 +106561,13 @@ } } }, - "typeId": "type_types:ExampleContainer" + "typeId": "type_types:ExampleContainer", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -98188,6 +106621,8 @@ "_type": "unknown" } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -98279,6 +106714,8 @@ }, "typeId": "type_types:ExampleNamedType" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -98345,7 +106782,13 @@ "type_types:ExampleKeyValuePair", "type_types:ExampleLiteralContainer" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -98531,6 +106974,8 @@ }, "typeId": "type_types:ExampleListContainer" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -98622,6 +107067,8 @@ }, "typeId": "type_types:ExampleSetContainer" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -98713,6 +107160,8 @@ }, "typeId": "type_types:ExampleOptionalContainer" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -98804,6 +107253,8 @@ }, "typeId": "type_types:ExampleMapContainer" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -98895,6 +107346,8 @@ }, "typeId": "type_types:ExampleLiteralContainer" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -98961,7 +107414,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -99126,7 +107585,9 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null } } }, @@ -99220,13 +107681,16 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExampleTypeReference", @@ -99290,7 +107754,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -99455,7 +107925,9 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null } } }, @@ -99549,13 +108021,16 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExampleTypeReference", @@ -99619,7 +108094,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -99784,7 +108265,9 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null } } }, @@ -99878,13 +108361,16 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExampleTypeReference", @@ -99948,7 +108434,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -100113,7 +108605,9 @@ } } }, - "typeId": "type_types:ExampleKeyValuePair" + "typeId": "type_types:ExampleKeyValuePair", + "default": null, + "inline": null } } }, @@ -100207,7 +108701,9 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -100299,13 +108795,16 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExampleKeyValuePair", @@ -100369,7 +108868,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -100530,20 +109035,29 @@ } } }, - "typeId": "type_types:ExamplePrimitive" + "typeId": "type_types:ExamplePrimitive", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExamplePrimitive", "type_commons:EscapedString", "type_types:ExampleDatetime" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -100704,7 +109218,9 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -100796,13 +109312,16 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:ExampleTypeReference", @@ -100866,7 +109385,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -101012,9 +109537,18 @@ }, "type": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101066,9 +109600,14 @@ }, "type": { "_type": "primitive", - "primitive": "LONG" + "primitive": { + "v1": "LONG", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101120,9 +109659,14 @@ }, "type": { "_type": "primitive", - "primitive": "INTEGER" + "primitive": { + "v1": "UINT", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101174,9 +109718,14 @@ }, "type": { "_type": "primitive", - "primitive": "LONG" + "primitive": { + "v1": "UINT_64", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101228,9 +109777,18 @@ }, "type": { "_type": "primitive", - "primitive": "DOUBLE" + "primitive": { + "v1": "DOUBLE", + "v2": { + "type": "double", + "default": null, + "validation": null + } + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101282,9 +109840,18 @@ }, "type": { "_type": "primitive", - "primitive": "DOUBLE" + "primitive": { + "v1": "DOUBLE", + "v2": { + "type": "double", + "default": null, + "validation": null + } + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101336,9 +109903,14 @@ }, "type": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101452,9 +110024,13 @@ } } }, - "typeId": "type_commons:EscapedString" + "typeId": "type_commons:EscapedString", + "default": null, + "inline": null } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101506,9 +110082,14 @@ }, "type": { "_type": "primitive", - "primitive": "DATE" + "primitive": { + "v1": "DATE", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101600,6 +110181,8 @@ }, "typeId": "type_types:ExampleDatetime" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101651,9 +110234,14 @@ }, "type": { "_type": "primitive", - "primitive": "UUID" + "primitive": { + "v1": "UUID", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101705,9 +110293,14 @@ }, "type": { "_type": "primitive", - "primitive": "BASE_64" + "primitive": { + "v1": "BASE_64", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null }, { @@ -101759,9 +110352,14 @@ }, "type": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "BIG_INTEGER", + "v2": null + } } }, + "displayName": null, + "availability": null, "docs": null } ] @@ -101770,7 +110368,13 @@ "type_commons:EscapedString", "type_types:ExampleDatetime" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -101869,7 +110473,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "DATE_TIME" + "primitive": { + "v1": "DATE_TIME", + "v2": null + } }, "availability": null, "docs": null @@ -101903,7 +110510,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -101911,10 +110525,17 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -102075,7 +110696,9 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -102167,13 +110790,16 @@ } } }, - "typeId": "type_types:ExampleTypeShape" + "typeId": "type_types:ExampleTypeShape", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_types:DeclaredTypeName", @@ -102237,7 +110863,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -102398,7 +111030,9 @@ } } }, - "typeId": "type_commons:TypeId" + "typeId": "type_commons:TypeId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -102490,13 +111124,16 @@ } } }, - "typeId": "type_types:ExampleObjectType" + "typeId": "type_types:ExampleObjectType", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:TypeId", @@ -102560,7 +111197,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -102634,15 +111277,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -102869,7 +111532,9 @@ } } }, - "typeId": "type_variables:VariableId" + "typeId": "type_variables:VariableId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -102961,7 +111626,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -103053,13 +111720,60 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -103099,7 +111813,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -103239,7 +111959,9 @@ } } }, - "typeId": "type_webhooks:Webhook" + "typeId": "type_webhooks:Webhook", + "default": null, + "inline": null } } }, @@ -103311,7 +112033,9 @@ } } }, - "typeId": "type_webhooks:Webhook" + "typeId": "type_webhooks:Webhook", + "default": null, + "inline": null } } } @@ -103389,7 +112113,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -103616,7 +112346,9 @@ } } }, - "typeId": "type_commons:WebhookId" + "typeId": "type_commons:WebhookId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -103708,7 +112440,9 @@ } } }, - "typeId": "type_webhooks:WebhookName" + "typeId": "type_webhooks:WebhookName", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -103742,7 +112476,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -103836,7 +112577,9 @@ } } }, - "typeId": "type_webhooks:WebhookHttpMethod" + "typeId": "type_webhooks:WebhookHttpMethod", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -103932,7 +112675,9 @@ } } }, - "typeId": "type_http:HttpHeader" + "typeId": "type_http:HttpHeader", + "default": null, + "inline": null } } }, @@ -104026,7 +112771,9 @@ } } }, - "typeId": "type_webhooks:WebhookPayload" + "typeId": "type_webhooks:WebhookPayload", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -104126,7 +112873,9 @@ } } }, - "typeId": "type_webhooks:ExampleWebhookCall" + "typeId": "type_webhooks:ExampleWebhookCall", + "default": null, + "inline": null } } } @@ -104136,7 +112885,152 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:Declaration", @@ -104210,7 +113104,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -104346,7 +113246,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "resolvedType": { "_type": "named", @@ -104422,7 +113324,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -104608,6 +113516,8 @@ }, "typeId": "type_webhooks:InlinedWebhookPayload" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -104699,6 +113609,8 @@ }, "typeId": "type_webhooks:WebhookPayloadReference" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -104745,7 +113657,13 @@ "type_types:BigIntegerType", "type_webhooks:WebhookPayloadReference" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -104972,13 +113890,60 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -105017,7 +113982,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -105178,7 +114149,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -105274,7 +114247,9 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null } } }, @@ -105372,7 +114347,9 @@ } } }, - "typeId": "type_webhooks:InlinedWebhookPayloadProperty" + "typeId": "type_webhooks:InlinedWebhookPayloadProperty", + "default": null, + "inline": null } } }, @@ -105380,7 +114357,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", @@ -105422,7 +114400,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -105649,7 +114633,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -105741,13 +114727,160 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocsAndAvailability", @@ -105787,7 +114920,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -105859,6 +114998,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -105915,7 +115055,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -106146,7 +115292,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -106240,13 +115388,60 @@ } } }, - "typeId": "type_types:ExampleTypeReference" + "typeId": "type_types:ExampleTypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -106310,7 +115505,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": "An example webhook call. For now, this only includes the payload,\nbut it can be easily extended to support other endpoint properties\n(e.g. headers)." }, @@ -106384,15 +115585,35 @@ "_type": "alias", "aliasOf": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "resolvedType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -106619,7 +115840,9 @@ } } }, - "typeId": "type_websocket:WebSocketName" + "typeId": "type_websocket:WebSocketName", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -106653,7 +115876,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -106747,7 +115977,9 @@ } } }, - "typeId": "type_http:HttpPath" + "typeId": "type_http:HttpPath", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -106777,7 +116009,10 @@ }, "valueType": { "_type": "primitive", - "primitive": "BOOLEAN" + "primitive": { + "v1": "BOOLEAN", + "v2": null + } }, "availability": null, "docs": null @@ -106873,7 +116108,9 @@ } } }, - "typeId": "type_http:HttpHeader" + "typeId": "type_http:HttpHeader", + "default": null, + "inline": null } } }, @@ -106971,7 +116208,9 @@ } } }, - "typeId": "type_http:QueryParameter" + "typeId": "type_http:QueryParameter", + "default": null, + "inline": null } } }, @@ -107069,7 +116308,9 @@ } } }, - "typeId": "type_http:PathParameter" + "typeId": "type_http:PathParameter", + "default": null, + "inline": null } } }, @@ -107167,113 +116408,262 @@ } } }, - "typeId": "type_websocket:WebSocketMessage" + "typeId": "type_websocket:WebSocketMessage", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": "The messages that can be sent and received on this channel" + }, + { + "name": { + "name": { + "originalName": "examples", + "camelCase": { + "unsafeName": "examples", + "safeName": "examples" + }, + "snakeCase": { + "unsafeName": "examples", + "safeName": "examples" + }, + "screamingSnakeCase": { + "unsafeName": "EXAMPLES", + "safeName": "EXAMPLES" + }, + "pascalCase": { + "unsafeName": "Examples", + "safeName": "Examples" + } + }, + "wireValue": "examples" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "list", + "list": { + "_type": "named", + "name": { + "originalName": "ExampleWebSocketSession", + "camelCase": { + "unsafeName": "exampleWebSocketSession", + "safeName": "exampleWebSocketSession" + }, + "snakeCase": { + "unsafeName": "example_web_socket_session", + "safeName": "example_web_socket_session" + }, + "screamingSnakeCase": { + "unsafeName": "EXAMPLE_WEB_SOCKET_SESSION", + "safeName": "EXAMPLE_WEB_SOCKET_SESSION" + }, + "pascalCase": { + "unsafeName": "ExampleWebSocketSession", + "safeName": "ExampleWebSocketSession" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "websocket", + "camelCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "snakeCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "screamingSnakeCase": { + "unsafeName": "WEBSOCKET", + "safeName": "WEBSOCKET" + }, + "pascalCase": { + "unsafeName": "Websocket", + "safeName": "Websocket" + } + } + ], + "packagePath": [], + "file": { + "originalName": "websocket", + "camelCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "snakeCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "screamingSnakeCase": { + "unsafeName": "WEBSOCKET", + "safeName": "WEBSOCKET" + }, + "pascalCase": { + "unsafeName": "Websocket", + "safeName": "Websocket" + } + } + }, + "typeId": "type_websocket:ExampleWebSocketSession", + "default": null, + "inline": null } } }, "availability": null, - "docs": "The messages that can be sent and received on this channel" - }, + "docs": null + } + ], + "extra-properties": false, + "extendedProperties": [ { "name": { "name": { - "originalName": "examples", + "originalName": "availability", "camelCase": { - "unsafeName": "examples", - "safeName": "examples" + "unsafeName": "availability", + "safeName": "availability" }, "snakeCase": { - "unsafeName": "examples", - "safeName": "examples" + "unsafeName": "availability", + "safeName": "availability" }, "screamingSnakeCase": { - "unsafeName": "EXAMPLES", - "safeName": "EXAMPLES" + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" }, "pascalCase": { - "unsafeName": "Examples", - "safeName": "Examples" + "unsafeName": "Availability", + "safeName": "Availability" } }, - "wireValue": "examples" + "wireValue": "availability" }, "valueType": { "_type": "container", "container": { - "_type": "list", - "list": { + "_type": "optional", + "optional": { "_type": "named", "name": { - "originalName": "ExampleWebSocketSession", + "originalName": "Availability", "camelCase": { - "unsafeName": "exampleWebSocketSession", - "safeName": "exampleWebSocketSession" + "unsafeName": "availability", + "safeName": "availability" }, "snakeCase": { - "unsafeName": "example_web_socket_session", - "safeName": "example_web_socket_session" + "unsafeName": "availability", + "safeName": "availability" }, "screamingSnakeCase": { - "unsafeName": "EXAMPLE_WEB_SOCKET_SESSION", - "safeName": "EXAMPLE_WEB_SOCKET_SESSION" + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" }, "pascalCase": { - "unsafeName": "ExampleWebSocketSession", - "safeName": "ExampleWebSocketSession" + "unsafeName": "Availability", + "safeName": "Availability" } }, "fernFilepath": { "allParts": [ { - "originalName": "websocket", + "originalName": "commons", "camelCase": { - "unsafeName": "websocket", - "safeName": "websocket" + "unsafeName": "commons", + "safeName": "commons" }, "snakeCase": { - "unsafeName": "websocket", - "safeName": "websocket" + "unsafeName": "commons", + "safeName": "commons" }, "screamingSnakeCase": { - "unsafeName": "WEBSOCKET", - "safeName": "WEBSOCKET" + "unsafeName": "COMMONS", + "safeName": "COMMONS" }, "pascalCase": { - "unsafeName": "Websocket", - "safeName": "Websocket" + "unsafeName": "Commons", + "safeName": "Commons" } } ], "packagePath": [], "file": { - "originalName": "websocket", + "originalName": "commons", "camelCase": { - "unsafeName": "websocket", - "safeName": "websocket" + "unsafeName": "commons", + "safeName": "commons" }, "snakeCase": { - "unsafeName": "websocket", - "safeName": "websocket" + "unsafeName": "commons", + "safeName": "commons" }, "screamingSnakeCase": { - "unsafeName": "WEBSOCKET", - "safeName": "WEBSOCKET" + "unsafeName": "COMMONS", + "safeName": "COMMONS" }, "pascalCase": { - "unsafeName": "Websocket", - "safeName": "Websocket" + "unsafeName": "Commons", + "safeName": "Commons" } } }, - "typeId": "type_websocket:ExampleWebSocketSession" + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, "availability": null, "docs": null } - ], - "extra-properties": false + ] }, "referencedTypes": [ "type_commons:Declaration", @@ -107362,7 +116752,13 @@ "type_http:ExampleInlinedRequestBody", "type_http:ExampleInlinedRequestBodyProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -107498,7 +116894,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "resolvedType": { "_type": "named", @@ -107574,7 +116972,13 @@ "type_commons:Name", "type_commons:SafeAndUnsafeString" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -107801,7 +117205,9 @@ } } }, - "typeId": "type_websocket:WebSocketMessageId" + "typeId": "type_websocket:WebSocketMessageId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -107835,7 +117241,14 @@ "_type": "optional", "optional": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } } } }, @@ -107929,7 +117342,9 @@ } } }, - "typeId": "type_websocket:WebSocketMessageOrigin" + "typeId": "type_websocket:WebSocketMessageOrigin", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -108021,13 +117436,160 @@ } } }, - "typeId": "type_websocket:WebSocketMessageBody" + "typeId": "type_websocket:WebSocketMessageBody", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:Declaration", @@ -108074,7 +117636,13 @@ "type_types:BigIntegerType", "type_websocket:WebSocketMessageBodyReference" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -108146,6 +117714,7 @@ }, "shape": { "_type": "enum", + "default": null, "values": [ { "name": { @@ -108202,7 +117771,13 @@ ] }, "referencedTypes": [], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -108388,6 +117963,8 @@ }, "typeId": "type_websocket:InlinedWebSocketMessageBody" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -108479,6 +118056,8 @@ }, "typeId": "type_websocket:WebSocketMessageBodyReference" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -108525,7 +118104,13 @@ "type_types:BigIntegerType", "type_websocket:WebSocketMessageBodyReference" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -108686,7 +118271,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -108782,7 +118369,9 @@ } } }, - "typeId": "type_types:DeclaredTypeName" + "typeId": "type_types:DeclaredTypeName", + "default": null, + "inline": null } } }, @@ -108880,7 +118469,9 @@ } } }, - "typeId": "type_websocket:InlinedWebSocketMessageBodyProperty" + "typeId": "type_websocket:InlinedWebSocketMessageBodyProperty", + "default": null, + "inline": null } } }, @@ -108888,7 +118479,8 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_commons:Name", @@ -108930,7 +118522,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -109157,7 +118755,9 @@ } } }, - "typeId": "type_commons:NameAndWireValue" + "typeId": "type_commons:NameAndWireValue", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -109249,286 +118849,486 @@ } } }, - "typeId": "type_types:TypeReference" + "typeId": "type_types:TypeReference", + "default": null, + "inline": null + }, + "availability": null, + "docs": null + } + ], + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "wireValue": "availability" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "named", + "name": { + "originalName": "Availability", + "camelCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "snakeCase": { + "unsafeName": "availability", + "safeName": "availability" + }, + "screamingSnakeCase": { + "unsafeName": "AVAILABILITY", + "safeName": "AVAILABILITY" + }, + "pascalCase": { + "unsafeName": "Availability", + "safeName": "Availability" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:Availability", + "default": null, + "inline": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] + }, + "referencedTypes": [ + "type_commons:WithDocsAndAvailability", + "type_commons:WithDocs", + "type_commons:Availability", + "type_commons:AvailabilityStatus", + "type_commons:NameAndWireValue", + "type_commons:Name", + "type_commons:SafeAndUnsafeString", + "type_types:TypeReference", + "type_types:ContainerType", + "type_types:MapType", + "type_types:Literal", + "type_types:NamedType", + "type_commons:TypeId", + "type_commons:FernFilepath", + "type_types:NamedTypeDefault", + "type_types:EnumValue", + "type_commons:Declaration", + "type_types:PrimitiveType", + "type_types:PrimitiveTypeV1", + "type_types:PrimitiveTypeV2", + "type_types:IntegerType", + "type_types:IntegerValidationRules", + "type_types:LongType", + "type_types:UintType", + "type_types:Uint64Type", + "type_types:FloatType", + "type_types:DoubleType", + "type_types:DoubleValidationRules", + "type_types:BooleanType", + "type_types:StringType", + "type_types:StringValidationRules", + "type_types:DateType", + "type_types:DateTimeType", + "type_types:UuidType", + "type_types:Base64Type", + "type_types:BigIntegerType" + ], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], + "availability": null, + "docs": null + }, + "type_websocket:WebSocketMessageBodyReference": { + "name": { + "name": { + "originalName": "WebSocketMessageBodyReference", + "camelCase": { + "unsafeName": "webSocketMessageBodyReference", + "safeName": "webSocketMessageBodyReference" + }, + "snakeCase": { + "unsafeName": "web_socket_message_body_reference", + "safeName": "web_socket_message_body_reference" + }, + "screamingSnakeCase": { + "unsafeName": "WEB_SOCKET_MESSAGE_BODY_REFERENCE", + "safeName": "WEB_SOCKET_MESSAGE_BODY_REFERENCE" + }, + "pascalCase": { + "unsafeName": "WebSocketMessageBodyReference", + "safeName": "WebSocketMessageBodyReference" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "websocket", + "camelCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "snakeCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "screamingSnakeCase": { + "unsafeName": "WEBSOCKET", + "safeName": "WEBSOCKET" + }, + "pascalCase": { + "unsafeName": "Websocket", + "safeName": "Websocket" + } + } + ], + "packagePath": [], + "file": { + "originalName": "websocket", + "camelCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "snakeCase": { + "unsafeName": "websocket", + "safeName": "websocket" + }, + "screamingSnakeCase": { + "unsafeName": "WEBSOCKET", + "safeName": "WEBSOCKET" + }, + "pascalCase": { + "unsafeName": "Websocket", + "safeName": "Websocket" + } + } + }, + "typeId": "type_websocket:WebSocketMessageBodyReference" + }, + "shape": { + "_type": "object", + "extends": [ + { + "name": { + "originalName": "WithDocs", + "camelCase": { + "unsafeName": "withDocs", + "safeName": "withDocs" + }, + "snakeCase": { + "unsafeName": "with_docs", + "safeName": "with_docs" + }, + "screamingSnakeCase": { + "unsafeName": "WITH_DOCS", + "safeName": "WITH_DOCS" + }, + "pascalCase": { + "unsafeName": "WithDocs", + "safeName": "WithDocs" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + ], + "packagePath": [], + "file": { + "originalName": "commons", + "camelCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "snakeCase": { + "unsafeName": "commons", + "safeName": "commons" + }, + "screamingSnakeCase": { + "unsafeName": "COMMONS", + "safeName": "COMMONS" + }, + "pascalCase": { + "unsafeName": "Commons", + "safeName": "Commons" + } + } + }, + "typeId": "type_commons:WithDocs" + } + ], + "properties": [ + { + "name": { + "name": { + "originalName": "bodyType", + "camelCase": { + "unsafeName": "bodyType", + "safeName": "bodyType" + }, + "snakeCase": { + "unsafeName": "body_type", + "safeName": "body_type" + }, + "screamingSnakeCase": { + "unsafeName": "BODY_TYPE", + "safeName": "BODY_TYPE" + }, + "pascalCase": { + "unsafeName": "BodyType", + "safeName": "BodyType" + } + }, + "wireValue": "bodyType" + }, + "valueType": { + "_type": "named", + "name": { + "originalName": "TypeReference", + "camelCase": { + "unsafeName": "typeReference", + "safeName": "typeReference" + }, + "snakeCase": { + "unsafeName": "type_reference", + "safeName": "type_reference" + }, + "screamingSnakeCase": { + "unsafeName": "TYPE_REFERENCE", + "safeName": "TYPE_REFERENCE" + }, + "pascalCase": { + "unsafeName": "TypeReference", + "safeName": "TypeReference" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "types", + "camelCase": { + "unsafeName": "types", + "safeName": "types" + }, + "snakeCase": { + "unsafeName": "types", + "safeName": "types" + }, + "screamingSnakeCase": { + "unsafeName": "TYPES", + "safeName": "TYPES" + }, + "pascalCase": { + "unsafeName": "Types", + "safeName": "Types" + } + } + ], + "packagePath": [], + "file": { + "originalName": "types", + "camelCase": { + "unsafeName": "types", + "safeName": "types" + }, + "snakeCase": { + "unsafeName": "types", + "safeName": "types" + }, + "screamingSnakeCase": { + "unsafeName": "TYPES", + "safeName": "TYPES" + }, + "pascalCase": { + "unsafeName": "Types", + "safeName": "Types" + } + } + }, + "typeId": "type_types:TypeReference", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false - }, - "referencedTypes": [ - "type_commons:WithDocsAndAvailability", - "type_commons:WithDocs", - "type_commons:Availability", - "type_commons:AvailabilityStatus", - "type_commons:NameAndWireValue", - "type_commons:Name", - "type_commons:SafeAndUnsafeString", - "type_types:TypeReference", - "type_types:ContainerType", - "type_types:MapType", - "type_types:Literal", - "type_types:NamedType", - "type_commons:TypeId", - "type_commons:FernFilepath", - "type_types:NamedTypeDefault", - "type_types:EnumValue", - "type_commons:Declaration", - "type_types:PrimitiveType", - "type_types:PrimitiveTypeV1", - "type_types:PrimitiveTypeV2", - "type_types:IntegerType", - "type_types:IntegerValidationRules", - "type_types:LongType", - "type_types:UintType", - "type_types:Uint64Type", - "type_types:FloatType", - "type_types:DoubleType", - "type_types:DoubleValidationRules", - "type_types:BooleanType", - "type_types:StringType", - "type_types:StringValidationRules", - "type_types:DateType", - "type_types:DateTimeType", - "type_types:UuidType", - "type_types:Base64Type", - "type_types:BigIntegerType" - ], - "examples": [], - "availability": null, - "docs": null - }, - "type_websocket:WebSocketMessageBodyReference": { - "name": { - "name": { - "originalName": "WebSocketMessageBodyReference", - "camelCase": { - "unsafeName": "webSocketMessageBodyReference", - "safeName": "webSocketMessageBodyReference" - }, - "snakeCase": { - "unsafeName": "web_socket_message_body_reference", - "safeName": "web_socket_message_body_reference" - }, - "screamingSnakeCase": { - "unsafeName": "WEB_SOCKET_MESSAGE_BODY_REFERENCE", - "safeName": "WEB_SOCKET_MESSAGE_BODY_REFERENCE" - }, - "pascalCase": { - "unsafeName": "WebSocketMessageBodyReference", - "safeName": "WebSocketMessageBodyReference" - } - }, - "fernFilepath": { - "allParts": [ - { - "originalName": "websocket", - "camelCase": { - "unsafeName": "websocket", - "safeName": "websocket" - }, - "snakeCase": { - "unsafeName": "websocket", - "safeName": "websocket" - }, - "screamingSnakeCase": { - "unsafeName": "WEBSOCKET", - "safeName": "WEBSOCKET" - }, - "pascalCase": { - "unsafeName": "Websocket", - "safeName": "Websocket" - } - } - ], - "packagePath": [], - "file": { - "originalName": "websocket", - "camelCase": { - "unsafeName": "websocket", - "safeName": "websocket" - }, - "snakeCase": { - "unsafeName": "websocket", - "safeName": "websocket" - }, - "screamingSnakeCase": { - "unsafeName": "WEBSOCKET", - "safeName": "WEBSOCKET" - }, - "pascalCase": { - "unsafeName": "Websocket", - "safeName": "Websocket" - } - } - }, - "typeId": "type_websocket:WebSocketMessageBodyReference" - }, - "shape": { - "_type": "object", - "extends": [ - { - "name": { - "originalName": "WithDocs", - "camelCase": { - "unsafeName": "withDocs", - "safeName": "withDocs" - }, - "snakeCase": { - "unsafeName": "with_docs", - "safeName": "with_docs" - }, - "screamingSnakeCase": { - "unsafeName": "WITH_DOCS", - "safeName": "WITH_DOCS" - }, - "pascalCase": { - "unsafeName": "WithDocs", - "safeName": "WithDocs" - } - }, - "fernFilepath": { - "allParts": [ - { - "originalName": "commons", - "camelCase": { - "unsafeName": "commons", - "safeName": "commons" - }, - "snakeCase": { - "unsafeName": "commons", - "safeName": "commons" - }, - "screamingSnakeCase": { - "unsafeName": "COMMONS", - "safeName": "COMMONS" - }, - "pascalCase": { - "unsafeName": "Commons", - "safeName": "Commons" - } - } - ], - "packagePath": [], - "file": { - "originalName": "commons", - "camelCase": { - "unsafeName": "commons", - "safeName": "commons" - }, - "snakeCase": { - "unsafeName": "commons", - "safeName": "commons" - }, - "screamingSnakeCase": { - "unsafeName": "COMMONS", - "safeName": "COMMONS" - }, - "pascalCase": { - "unsafeName": "Commons", - "safeName": "Commons" - } - } - }, - "typeId": "type_commons:WithDocs" - } - ], - "properties": [ + "extra-properties": false, + "extendedProperties": [ { "name": { "name": { - "originalName": "bodyType", + "originalName": "docs", "camelCase": { - "unsafeName": "bodyType", - "safeName": "bodyType" + "unsafeName": "docs", + "safeName": "docs" }, "snakeCase": { - "unsafeName": "body_type", - "safeName": "body_type" + "unsafeName": "docs", + "safeName": "docs" }, "screamingSnakeCase": { - "unsafeName": "BODY_TYPE", - "safeName": "BODY_TYPE" + "unsafeName": "DOCS", + "safeName": "DOCS" }, "pascalCase": { - "unsafeName": "BodyType", - "safeName": "BodyType" + "unsafeName": "Docs", + "safeName": "Docs" } }, - "wireValue": "bodyType" + "wireValue": "docs" }, "valueType": { - "_type": "named", - "name": { - "originalName": "TypeReference", - "camelCase": { - "unsafeName": "typeReference", - "safeName": "typeReference" - }, - "snakeCase": { - "unsafeName": "type_reference", - "safeName": "type_reference" - }, - "screamingSnakeCase": { - "unsafeName": "TYPE_REFERENCE", - "safeName": "TYPE_REFERENCE" - }, - "pascalCase": { - "unsafeName": "TypeReference", - "safeName": "TypeReference" - } - }, - "fernFilepath": { - "allParts": [ - { - "originalName": "types", - "camelCase": { - "unsafeName": "types", - "safeName": "types" - }, - "snakeCase": { - "unsafeName": "types", - "safeName": "types" - }, - "screamingSnakeCase": { - "unsafeName": "TYPES", - "safeName": "TYPES" - }, - "pascalCase": { - "unsafeName": "Types", - "safeName": "Types" + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null } } - ], - "packagePath": [], - "file": { - "originalName": "types", - "camelCase": { - "unsafeName": "types", - "safeName": "types" - }, - "snakeCase": { - "unsafeName": "types", - "safeName": "types" - }, - "screamingSnakeCase": { - "unsafeName": "TYPES", - "safeName": "TYPES" - }, - "pascalCase": { - "unsafeName": "Types", - "safeName": "Types" - } } - }, - "typeId": "type_types:TypeReference" + } }, "availability": null, "docs": null } - ], - "extra-properties": false + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -109567,7 +119367,13 @@ "type_types:Base64Type", "type_types:BigIntegerType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -109798,7 +119604,9 @@ } } }, - "typeId": "type_commons:Name" + "typeId": "type_commons:Name", + "default": null, + "inline": null } } }, @@ -109830,7 +119638,14 @@ }, "valueType": { "_type": "primitive", - "primitive": "STRING" + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } }, "availability": null, "docs": null @@ -109926,7 +119741,9 @@ } } }, - "typeId": "type_http:ExamplePathParameter" + "typeId": "type_http:ExamplePathParameter", + "default": null, + "inline": null } } }, @@ -110024,7 +119841,9 @@ } } }, - "typeId": "type_http:ExampleHeader" + "typeId": "type_http:ExampleHeader", + "default": null, + "inline": null } } }, @@ -110122,7 +119941,9 @@ } } }, - "typeId": "type_http:ExampleQueryParameter" + "typeId": "type_http:ExampleQueryParameter", + "default": null, + "inline": null } } }, @@ -110220,7 +120041,9 @@ } } }, - "typeId": "type_websocket:ExampleWebSocketMessage" + "typeId": "type_websocket:ExampleWebSocketMessage", + "default": null, + "inline": null } } }, @@ -110228,7 +120051,52 @@ "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [ + { + "name": { + "name": { + "originalName": "docs", + "camelCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "snakeCase": { + "unsafeName": "docs", + "safeName": "docs" + }, + "screamingSnakeCase": { + "unsafeName": "DOCS", + "safeName": "DOCS" + }, + "pascalCase": { + "unsafeName": "Docs", + "safeName": "Docs" + } + }, + "wireValue": "docs" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ] }, "referencedTypes": [ "type_commons:WithDocs", @@ -110301,7 +120169,13 @@ "type_http:ExampleInlinedRequestBody", "type_http:ExampleInlinedRequestBodyProperty" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -110462,7 +120336,9 @@ } } }, - "typeId": "type_websocket:WebSocketMessageId" + "typeId": "type_websocket:WebSocketMessageId", + "default": null, + "inline": null }, "availability": null, "docs": null @@ -110554,13 +120430,16 @@ } } }, - "typeId": "type_websocket:ExampleWebSocketMessageBody" + "typeId": "type_websocket:ExampleWebSocketMessageBody", + "default": null, + "inline": null }, "availability": null, "docs": null } ], - "extra-properties": false + "extra-properties": false, + "extendedProperties": [] }, "referencedTypes": [ "type_websocket:WebSocketMessageId", @@ -110628,7 +120507,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null }, @@ -110814,6 +120699,8 @@ }, "typeId": "type_http:ExampleInlinedRequestBody" }, + "displayName": null, + "availability": null, "docs": null }, { @@ -110905,6 +120792,8 @@ }, "typeId": "type_types:ExampleTypeReference" }, + "displayName": null, + "availability": null, "docs": null } ] @@ -110973,7 +120862,13 @@ "type_types:ExampleObjectTypeWithTypeId", "type_types:ExampleUndiscriminatedUnionType" ], - "examples": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], "availability": null, "docs": null } @@ -111334,6 +121229,9 @@ }, "webhookGroups": {}, "websocketChannels": {}, + "readmeConfig": null, + "sourceConfig": null, + "publishConfig": null, "subpackages": { "subpackage_auth": { "name": { @@ -113599,11 +123497,13 @@ "sdkConfig": { "isAuthMandatory": false, "hasStreamingEndpoints": false, + "hasPaginatedEndpoints": false, "hasFileDownloadEndpoints": false, "platformHeaders": { "language": "X-Fern-Language", "sdkName": "X-Fern-SDK-Name", - "sdkVersion": "X-Fern-SDK-Version" + "sdkVersion": "X-Fern-SDK-Version", + "userAgent": null } } } \ No newline at end of file diff --git a/generators/go/internal/fern/ir/dynamic/types.go b/generators/go/internal/fern/ir/dynamic/types.go index cbb02e3ec6e..26856bb72d6 100644 --- a/generators/go/internal/fern/ir/dynamic/types.go +++ b/generators/go/internal/fern/ir/dynamic/types.go @@ -5,7 +5,6 @@ package dynamic import ( json "encoding/json" fmt "fmt" - sdk "github.com/fern-api/fern-go/internal/fern/ir" core "github.com/fern-api/fern-go/internal/fern/ir/core" ) @@ -29,6 +28,34 @@ func NewAuthFromHeader(value *HeaderAuth) *Auth { return &Auth{Type: "header", Header: value} } +func (a *Auth) GetType() string { + if a == nil { + return "" + } + return a.Type +} + +func (a *Auth) GetBasic() *BasicAuth { + if a == nil { + return nil + } + return a.Basic +} + +func (a *Auth) GetBearer() *BearerAuth { + if a == nil { + return nil + } + return a.Bearer +} + +func (a *Auth) GetHeader() *HeaderAuth { + if a == nil { + return nil + } + return a.Header +} + func (a *Auth) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -114,6 +141,34 @@ func NewAuthValuesFromHeader(value *HeaderAuthValues) *AuthValues { return &AuthValues{Type: "header", Header: value} } +func (a *AuthValues) GetType() string { + if a == nil { + return "" + } + return a.Type +} + +func (a *AuthValues) GetBasic() *BasicAuthValues { + if a == nil { + return nil + } + return a.Basic +} + +func (a *AuthValues) GetBearer() *BearerAuthValues { + if a == nil { + return nil + } + return a.Bearer +} + +func (a *AuthValues) GetHeader() *HeaderAuthValues { + if a == nil { + return nil + } + return a.Header +} + func (a *AuthValues) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -187,6 +242,20 @@ type BasicAuth struct { extraProperties map[string]interface{} } +func (b *BasicAuth) GetUsername() *sdk.Name { + if b == nil { + return nil + } + return b.Username +} + +func (b *BasicAuth) GetPassword() *sdk.Name { + if b == nil { + return nil + } + return b.Password +} + func (b *BasicAuth) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -222,6 +291,20 @@ type BasicAuthValues struct { extraProperties map[string]interface{} } +func (b *BasicAuthValues) GetUsername() string { + if b == nil { + return "" + } + return b.Username +} + +func (b *BasicAuthValues) GetPassword() string { + if b == nil { + return "" + } + return b.Password +} + func (b *BasicAuthValues) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -256,6 +339,13 @@ type BearerAuth struct { extraProperties map[string]interface{} } +func (b *BearerAuth) GetToken() *sdk.Name { + if b == nil { + return nil + } + return b.Token +} + func (b *BearerAuth) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -290,6 +380,13 @@ type BearerAuthValues struct { extraProperties map[string]interface{} } +func (b *BearerAuthValues) GetToken() string { + if b == nil { + return "" + } + return b.Token +} + func (b *BearerAuthValues) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -324,6 +421,13 @@ type HeaderAuth struct { extraProperties map[string]interface{} } +func (h *HeaderAuth) GetHeader() *NamedParameter { + if h == nil { + return nil + } + return h.Header +} + func (h *HeaderAuth) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -358,6 +462,13 @@ type HeaderAuthValues struct { extraProperties map[string]interface{} } +func (h *HeaderAuthValues) GetValue() interface{} { + if h == nil { + return nil + } + return h.Value +} + func (h *HeaderAuthValues) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -393,6 +504,20 @@ type Declaration struct { extraProperties map[string]interface{} } +func (d *Declaration) GetFernFilepath() *sdk.FernFilepath { + if d == nil { + return nil + } + return d.FernFilepath +} + +func (d *Declaration) GetName() *sdk.Name { + if d == nil { + return nil + } + return d.Name +} + func (d *Declaration) GetExtraProperties() map[string]interface{} { return d.extraProperties } @@ -428,6 +553,20 @@ type BodyRequest struct { extraProperties map[string]interface{} } +func (b *BodyRequest) GetPathParameters() []*NamedParameter { + if b == nil { + return nil + } + return b.PathParameters +} + +func (b *BodyRequest) GetBody() *ReferencedRequestBodyType { + if b == nil { + return nil + } + return b.Body +} + func (b *BodyRequest) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -466,6 +605,41 @@ type Endpoint struct { extraProperties map[string]interface{} } +func (e *Endpoint) GetAuth() *Auth { + if e == nil { + return nil + } + return e.Auth +} + +func (e *Endpoint) GetDeclaration() *Declaration { + if e == nil { + return nil + } + return e.Declaration +} + +func (e *Endpoint) GetLocation() *EndpointLocation { + if e == nil { + return nil + } + return e.Location +} + +func (e *Endpoint) GetRequest() *Request { + if e == nil { + return nil + } + return e.Request +} + +func (e *Endpoint) GetResponse() *Response { + if e == nil { + return nil + } + return e.Response +} + func (e *Endpoint) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -502,6 +676,20 @@ type EndpointLocation struct { extraProperties map[string]interface{} } +func (e *EndpointLocation) GetMethod() sdk.HttpMethod { + if e == nil { + return "" + } + return e.Method +} + +func (e *EndpointLocation) GetPath() string { + if e == nil { + return "" + } + return e.Path +} + func (e *EndpointLocation) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -536,6 +724,13 @@ type FileUploadRequestBody struct { extraProperties map[string]interface{} } +func (f *FileUploadRequestBody) GetProperties() []*FileUploadRequestBodyProperty { + if f == nil { + return nil + } + return f.Properties +} + func (f *FileUploadRequestBody) GetExtraProperties() map[string]interface{} { return f.extraProperties } @@ -583,6 +778,34 @@ func NewFileUploadRequestBodyPropertyFromBodyProperty(value *NamedParameter) *Fi return &FileUploadRequestBodyProperty{Type: "bodyProperty", BodyProperty: value} } +func (f *FileUploadRequestBodyProperty) GetType() string { + if f == nil { + return "" + } + return f.Type +} + +func (f *FileUploadRequestBodyProperty) GetFile() *sdk.NameAndWireValue { + if f == nil { + return nil + } + return f.File +} + +func (f *FileUploadRequestBodyProperty) GetFileArray() *sdk.NameAndWireValue { + if f == nil { + return nil + } + return f.FileArray +} + +func (f *FileUploadRequestBodyProperty) GetBodyProperty() *NamedParameter { + if f == nil { + return nil + } + return f.BodyProperty +} + func (f *FileUploadRequestBodyProperty) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -659,6 +882,41 @@ type InlinedRequest struct { extraProperties map[string]interface{} } +func (i *InlinedRequest) GetDeclaration() *Declaration { + if i == nil { + return nil + } + return i.Declaration +} + +func (i *InlinedRequest) GetPathParameters() []*NamedParameter { + if i == nil { + return nil + } + return i.PathParameters +} + +func (i *InlinedRequest) GetQueryParameters() []*NamedParameter { + if i == nil { + return nil + } + return i.QueryParameters +} + +func (i *InlinedRequest) GetHeaders() []*NamedParameter { + if i == nil { + return nil + } + return i.Headers +} + +func (i *InlinedRequest) GetBody() *InlinedRequestBody { + if i == nil { + return nil + } + return i.Body +} + func (i *InlinedRequest) GetExtraProperties() map[string]interface{} { return i.extraProperties } @@ -706,6 +964,34 @@ func NewInlinedRequestBodyFromFileUpload(value *FileUploadRequestBody) *InlinedR return &InlinedRequestBody{Type: "fileUpload", FileUpload: value} } +func (i *InlinedRequestBody) GetType() string { + if i == nil { + return "" + } + return i.Type +} + +func (i *InlinedRequestBody) GetProperties() []*NamedParameter { + if i == nil { + return nil + } + return i.Properties +} + +func (i *InlinedRequestBody) GetReferenced() *ReferencedRequestBody { + if i == nil { + return nil + } + return i.Referenced +} + +func (i *InlinedRequestBody) GetFileUpload() *FileUploadRequestBody { + if i == nil { + return nil + } + return i.FileUpload +} + func (i *InlinedRequestBody) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -788,6 +1074,20 @@ type ReferencedRequestBody struct { extraProperties map[string]interface{} } +func (r *ReferencedRequestBody) GetBodyKey() *sdk.Name { + if r == nil { + return nil + } + return r.BodyKey +} + +func (r *ReferencedRequestBody) GetBodyType() *ReferencedRequestBodyType { + if r == nil { + return nil + } + return r.BodyType +} + func (r *ReferencedRequestBody) GetExtraProperties() map[string]interface{} { return r.extraProperties } @@ -830,6 +1130,27 @@ func NewReferencedRequestBodyTypeFromTypeReference(value *TypeReference) *Refere return &ReferencedRequestBodyType{Type: "typeReference", TypeReference: value} } +func (r *ReferencedRequestBodyType) GetType() string { + if r == nil { + return "" + } + return r.Type +} + +func (r *ReferencedRequestBodyType) GetBytes() interface{} { + if r == nil { + return nil + } + return r.Bytes +} + +func (r *ReferencedRequestBodyType) GetTypeReference() *TypeReference { + if r == nil { + return nil + } + return r.TypeReference +} + func (r *ReferencedRequestBodyType) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -916,6 +1237,27 @@ func NewRequestFromInlined(value *InlinedRequest) *Request { return &Request{Type: "inlined", Inlined: value} } +func (r *Request) GetType() string { + if r == nil { + return "" + } + return r.Type +} + +func (r *Request) GetBody() *BodyRequest { + if r == nil { + return nil + } + return r.Body +} + +func (r *Request) GetInlined() *InlinedRequest { + if r == nil { + return nil + } + return r.Inlined +} + func (r *Request) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -985,6 +1327,20 @@ func NewResponseFromJson(value interface{}) *Response { return &Response{Type: "json", Json: value} } +func (r *Response) GetType() string { + if r == nil { + return "" + } + return r.Type +} + +func (r *Response) GetJson() interface{} { + if r == nil { + return nil + } + return r.Json +} + func (r *Response) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -1053,14 +1409,35 @@ type DynamicIntermediateRepresentation struct { extraProperties map[string]interface{} } -func (d *DynamicIntermediateRepresentation) GetExtraProperties() map[string]interface{} { - return d.extraProperties +func (d *DynamicIntermediateRepresentation) GetTypes() map[sdk.TypeId]*NamedType { + if d == nil { + return nil + } + return d.Types +} + +func (d *DynamicIntermediateRepresentation) GetEndpoints() map[sdk.EndpointId]*Endpoint { + if d == nil { + return nil + } + return d.Endpoints +} + +func (d *DynamicIntermediateRepresentation) GetHeaders() []*NamedParameter { + if d == nil { + return nil + } + return d.Headers } func (d *DynamicIntermediateRepresentation) Version() string { return d.version } +func (d *DynamicIntermediateRepresentation) GetExtraProperties() map[string]interface{} { + return d.extraProperties +} + func (d *DynamicIntermediateRepresentation) UnmarshalJSON(data []byte) error { type embed DynamicIntermediateRepresentation var unmarshaler = struct { @@ -1118,6 +1495,48 @@ type EndpointSnippetRequest struct { extraProperties map[string]interface{} } +func (e *EndpointSnippetRequest) GetEndpoint() *EndpointLocation { + if e == nil { + return nil + } + return e.Endpoint +} + +func (e *EndpointSnippetRequest) GetAuth() *AuthValues { + if e == nil { + return nil + } + return e.Auth +} + +func (e *EndpointSnippetRequest) GetPathParameters() *Values { + if e == nil { + return nil + } + return e.PathParameters +} + +func (e *EndpointSnippetRequest) GetQueryParameters() *Values { + if e == nil { + return nil + } + return e.QueryParameters +} + +func (e *EndpointSnippetRequest) GetHeaders() *Values { + if e == nil { + return nil + } + return e.Headers +} + +func (e *EndpointSnippetRequest) GetRequestBody() interface{} { + if e == nil { + return nil + } + return e.RequestBody +} + func (e *EndpointSnippetRequest) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1158,6 +1577,20 @@ type EndpointSnippetResponse struct { extraProperties map[string]interface{} } +func (e *EndpointSnippetResponse) GetSnippet() string { + if e == nil { + return "" + } + return e.Snippet +} + +func (e *EndpointSnippetResponse) GetErrors() []*Error { + if e == nil { + return nil + } + return e.Errors +} + func (e *EndpointSnippetResponse) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1193,6 +1626,20 @@ type Error struct { extraProperties map[string]interface{} } +func (e *Error) GetSeverity() ErrorSeverity { + if e == nil { + return "" + } + return e.Severity +} + +func (e *Error) GetMessage() string { + if e == nil { + return "" + } + return e.Message +} + func (e *Error) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1256,6 +1703,20 @@ type AliasType struct { extraProperties map[string]interface{} } +func (a *AliasType) GetDeclaration() *Declaration { + if a == nil { + return nil + } + return a.Declaration +} + +func (a *AliasType) GetTypeReference() *TypeReference { + if a == nil { + return nil + } + return a.TypeReference +} + func (a *AliasType) GetExtraProperties() map[string]interface{} { return a.extraProperties } @@ -1293,6 +1754,27 @@ type DiscriminatedUnionType struct { extraProperties map[string]interface{} } +func (d *DiscriminatedUnionType) GetDeclaration() *Declaration { + if d == nil { + return nil + } + return d.Declaration +} + +func (d *DiscriminatedUnionType) GetDiscriminant() *sdk.NameAndWireValue { + if d == nil { + return nil + } + return d.Discriminant +} + +func (d *DiscriminatedUnionType) GetTypes() map[string]*SingleDiscriminatedUnionType { + if d == nil { + return nil + } + return d.Types +} + func (d *DiscriminatedUnionType) GetExtraProperties() map[string]interface{} { return d.extraProperties } @@ -1328,6 +1810,20 @@ type EnumType struct { extraProperties map[string]interface{} } +func (e *EnumType) GetDeclaration() *Declaration { + if e == nil { + return nil + } + return e.Declaration +} + +func (e *EnumType) GetValues() []*sdk.NameAndWireValue { + if e == nil { + return nil + } + return e.Values +} + func (e *EnumType) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1370,6 +1866,27 @@ func NewLiteralTypeFromString(value string) *LiteralType { return &LiteralType{Type: "string", String: value} } +func (l *LiteralType) GetType() string { + if l == nil { + return "" + } + return l.Type +} + +func (l *LiteralType) GetBoolean() bool { + if l == nil { + return false + } + return l.Boolean +} + +func (l *LiteralType) GetString() string { + if l == nil { + return "" + } + return l.String +} + func (l *LiteralType) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -1450,6 +1967,20 @@ type MapType struct { extraProperties map[string]interface{} } +func (m *MapType) GetKey() *TypeReference { + if m == nil { + return nil + } + return m.Key +} + +func (m *MapType) GetValue() *TypeReference { + if m == nil { + return nil + } + return m.Value +} + func (m *MapType) GetExtraProperties() map[string]interface{} { return m.extraProperties } @@ -1485,6 +2016,20 @@ type NamedParameter struct { extraProperties map[string]interface{} } +func (n *NamedParameter) GetName() *sdk.NameAndWireValue { + if n == nil { + return nil + } + return n.Name +} + +func (n *NamedParameter) GetTypeReference() *TypeReference { + if n == nil { + return nil + } + return n.TypeReference +} + func (n *NamedParameter) GetExtraProperties() map[string]interface{} { return n.extraProperties } @@ -1543,6 +2088,48 @@ func NewNamedTypeFromUndiscriminatedUnion(value *UndiscriminatedUnionType) *Name return &NamedType{Type: "undiscriminatedUnion", UndiscriminatedUnion: value} } +func (n *NamedType) GetType() string { + if n == nil { + return "" + } + return n.Type +} + +func (n *NamedType) GetAlias() *AliasType { + if n == nil { + return nil + } + return n.Alias +} + +func (n *NamedType) GetEnum() *EnumType { + if n == nil { + return nil + } + return n.Enum +} + +func (n *NamedType) GetObject() *ObjectType { + if n == nil { + return nil + } + return n.Object +} + +func (n *NamedType) GetDiscriminatedUnion() *DiscriminatedUnionType { + if n == nil { + return nil + } + return n.DiscriminatedUnion +} + +func (n *NamedType) GetUndiscriminatedUnion() *UndiscriminatedUnionType { + if n == nil { + return nil + } + return n.UndiscriminatedUnion +} + func (n *NamedType) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -1638,6 +2225,20 @@ type ObjectType struct { extraProperties map[string]interface{} } +func (o *ObjectType) GetDeclaration() *Declaration { + if o == nil { + return nil + } + return o.Declaration +} + +func (o *ObjectType) GetProperties() []*NamedParameter { + if o == nil { + return nil + } + return o.Properties +} + func (o *ObjectType) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -1685,6 +2286,34 @@ func NewSingleDiscriminatedUnionTypeFromNoProperties(value *SingleDiscriminatedU return &SingleDiscriminatedUnionType{Type: "noProperties", NoProperties: value} } +func (s *SingleDiscriminatedUnionType) GetType() string { + if s == nil { + return "" + } + return s.Type +} + +func (s *SingleDiscriminatedUnionType) GetSamePropertiesAsObject() *SingleDiscriminatedUnionTypeObject { + if s == nil { + return nil + } + return s.SamePropertiesAsObject +} + +func (s *SingleDiscriminatedUnionType) GetSingleProperty() *SingleDiscriminatedUnionTypeSingleProperty { + if s == nil { + return nil + } + return s.SingleProperty +} + +func (s *SingleDiscriminatedUnionType) GetNoProperties() *SingleDiscriminatedUnionTypeNoProperties { + if s == nil { + return nil + } + return s.NoProperties +} + func (s *SingleDiscriminatedUnionType) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -1759,6 +2388,20 @@ type SingleDiscriminatedUnionTypeNoProperties struct { extraProperties map[string]interface{} } +func (s *SingleDiscriminatedUnionTypeNoProperties) GetDiscriminantValue() *sdk.NameAndWireValue { + if s == nil { + return nil + } + return s.DiscriminantValue +} + +func (s *SingleDiscriminatedUnionTypeNoProperties) GetProperties() []*NamedParameter { + if s == nil { + return nil + } + return s.Properties +} + func (s *SingleDiscriminatedUnionTypeNoProperties) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -1796,6 +2439,27 @@ type SingleDiscriminatedUnionTypeObject struct { extraProperties map[string]interface{} } +func (s *SingleDiscriminatedUnionTypeObject) GetTypeId() sdk.TypeId { + if s == nil { + return "" + } + return s.TypeId +} + +func (s *SingleDiscriminatedUnionTypeObject) GetDiscriminantValue() *sdk.NameAndWireValue { + if s == nil { + return nil + } + return s.DiscriminantValue +} + +func (s *SingleDiscriminatedUnionTypeObject) GetProperties() []*NamedParameter { + if s == nil { + return nil + } + return s.Properties +} + func (s *SingleDiscriminatedUnionTypeObject) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -1833,6 +2497,27 @@ type SingleDiscriminatedUnionTypeSingleProperty struct { extraProperties map[string]interface{} } +func (s *SingleDiscriminatedUnionTypeSingleProperty) GetTypeReference() *TypeReference { + if s == nil { + return nil + } + return s.TypeReference +} + +func (s *SingleDiscriminatedUnionTypeSingleProperty) GetDiscriminantValue() *sdk.NameAndWireValue { + if s == nil { + return nil + } + return s.DiscriminantValue +} + +func (s *SingleDiscriminatedUnionTypeSingleProperty) GetProperties() []*NamedParameter { + if s == nil { + return nil + } + return s.Properties +} + func (s *SingleDiscriminatedUnionTypeSingleProperty) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -1905,6 +2590,69 @@ func NewTypeReferenceFromUnknown(value interface{}) *TypeReference { return &TypeReference{Type: "unknown", Unknown: value} } +func (t *TypeReference) GetType() string { + if t == nil { + return "" + } + return t.Type +} + +func (t *TypeReference) GetList() *TypeReference { + if t == nil { + return nil + } + return t.List +} + +func (t *TypeReference) GetLiteral() *LiteralType { + if t == nil { + return nil + } + return t.Literal +} + +func (t *TypeReference) GetMap() *MapType { + if t == nil { + return nil + } + return t.Map +} + +func (t *TypeReference) GetNamed() sdk.TypeId { + if t == nil { + return "" + } + return t.Named +} + +func (t *TypeReference) GetOptional() *TypeReference { + if t == nil { + return nil + } + return t.Optional +} + +func (t *TypeReference) GetPrimitive() sdk.PrimitiveTypeV1 { + if t == nil { + return "" + } + return t.Primitive +} + +func (t *TypeReference) GetSet() *TypeReference { + if t == nil { + return nil + } + return t.Set +} + +func (t *TypeReference) GetUnknown() interface{} { + if t == nil { + return nil + } + return t.Unknown +} + func (t *TypeReference) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"_type"` @@ -2095,6 +2843,20 @@ type UndiscriminatedUnionType struct { extraProperties map[string]interface{} } +func (u *UndiscriminatedUnionType) GetDeclaration() *Declaration { + if u == nil { + return nil + } + return u.Declaration +} + +func (u *UndiscriminatedUnionType) GetTypes() []*TypeReference { + if u == nil { + return nil + } + return u.Types +} + func (u *UndiscriminatedUnionType) GetExtraProperties() map[string]interface{} { return u.extraProperties } diff --git a/generators/go/internal/fern/ir/generatorexec/types.go b/generators/go/internal/fern/ir/generatorexec/types.go index 47cf0630582..09e1a99f897 100644 --- a/generators/go/internal/fern/ir/generatorexec/types.go +++ b/generators/go/internal/fern/ir/generatorexec/types.go @@ -5,7 +5,6 @@ package generatorexec import ( json "encoding/json" fmt "fmt" - core "github.com/fern-api/fern-go/internal/fern/ir/core" ) @@ -15,6 +14,13 @@ type BasicLicense struct { extraProperties map[string]interface{} } +func (b *BasicLicense) GetId() LicenseId { + if b == nil { + return "" + } + return b.Id +} + func (b *BasicLicense) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -49,6 +55,13 @@ type CustomLicense struct { extraProperties map[string]interface{} } +func (c *CustomLicense) GetFilename() string { + if c == nil { + return "" + } + return c.Filename +} + func (c *CustomLicense) GetExtraProperties() map[string]interface{} { return c.extraProperties } @@ -99,6 +112,104 @@ type GeneratorConfig struct { extraProperties map[string]interface{} } +func (g *GeneratorConfig) GetDryRun() bool { + if g == nil { + return false + } + return g.DryRun +} + +func (g *GeneratorConfig) GetIrFilepath() string { + if g == nil { + return "" + } + return g.IrFilepath +} + +func (g *GeneratorConfig) GetOriginalReadmeFilepath() *string { + if g == nil { + return nil + } + return g.OriginalReadmeFilepath +} + +func (g *GeneratorConfig) GetLicense() *LicenseConfig { + if g == nil { + return nil + } + return g.License +} + +func (g *GeneratorConfig) GetOutput() *GeneratorOutputConfig { + if g == nil { + return nil + } + return g.Output +} + +func (g *GeneratorConfig) GetPublish() *GeneratorPublishConfig { + if g == nil { + return nil + } + return g.Publish +} + +func (g *GeneratorConfig) GetWorkspaceName() string { + if g == nil { + return "" + } + return g.WorkspaceName +} + +func (g *GeneratorConfig) GetOrganization() string { + if g == nil { + return "" + } + return g.Organization +} + +func (g *GeneratorConfig) GetCustomConfig() interface{} { + if g == nil { + return nil + } + return g.CustomConfig +} + +func (g *GeneratorConfig) GetEnvironment() *GeneratorEnvironment { + if g == nil { + return nil + } + return g.Environment +} + +func (g *GeneratorConfig) GetWhitelabel() bool { + if g == nil { + return false + } + return g.Whitelabel +} + +func (g *GeneratorConfig) GetWriteUnitTests() bool { + if g == nil { + return false + } + return g.WriteUnitTests +} + +func (g *GeneratorConfig) GetGeneratePaginatedClients() *bool { + if g == nil { + return nil + } + return g.GeneratePaginatedClients +} + +func (g *GeneratorConfig) GetGenerateOauthClients() bool { + if g == nil { + return false + } + return g.GenerateOauthClients +} + func (g *GeneratorConfig) GetExtraProperties() map[string]interface{} { return g.extraProperties } @@ -141,6 +252,27 @@ func NewGeneratorEnvironmentFromRemote(value *RemoteGeneratorEnvironment) *Gener return &GeneratorEnvironment{Type: "remote", Remote: value} } +func (g *GeneratorEnvironment) GetType() string { + if g == nil { + return "" + } + return g.Type +} + +func (g *GeneratorEnvironment) GetLocal() interface{} { + if g == nil { + return nil + } + return g.Local +} + +func (g *GeneratorEnvironment) GetRemote() *RemoteGeneratorEnvironment { + if g == nil { + return nil + } + return g.Remote +} + func (g *GeneratorEnvironment) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"_type"` @@ -213,6 +345,41 @@ type GeneratorOutputConfig struct { extraProperties map[string]interface{} } +func (g *GeneratorOutputConfig) GetPath() string { + if g == nil { + return "" + } + return g.Path +} + +func (g *GeneratorOutputConfig) GetSnippetFilepath() *string { + if g == nil { + return nil + } + return g.SnippetFilepath +} + +func (g *GeneratorOutputConfig) GetSnippetTemplateFilepath() *string { + if g == nil { + return nil + } + return g.SnippetTemplateFilepath +} + +func (g *GeneratorOutputConfig) GetPublishingMetadata() *PublishingMetadata { + if g == nil { + return nil + } + return g.PublishingMetadata +} + +func (g *GeneratorOutputConfig) GetMode() *OutputMode { + if g == nil { + return nil + } + return g.Mode +} + func (g *GeneratorOutputConfig) GetExtraProperties() map[string]interface{} { return g.extraProperties } @@ -252,6 +419,34 @@ type GeneratorPublishConfig struct { extraProperties map[string]interface{} } +func (g *GeneratorPublishConfig) GetRegistries() *GeneratorRegistriesConfig { + if g == nil { + return nil + } + return g.Registries +} + +func (g *GeneratorPublishConfig) GetRegistriesV2() *GeneratorRegistriesConfigV2 { + if g == nil { + return nil + } + return g.RegistriesV2 +} + +func (g *GeneratorPublishConfig) GetPublishTarget() *GeneratorPublishTarget { + if g == nil { + return nil + } + return g.PublishTarget +} + +func (g *GeneratorPublishConfig) GetVersion() string { + if g == nil { + return "" + } + return g.Version +} + func (g *GeneratorPublishConfig) GetExtraProperties() map[string]interface{} { return g.extraProperties } @@ -314,6 +509,55 @@ func NewGeneratorPublishTargetFromNuget(value *NugetRegistryConfig) *GeneratorPu return &GeneratorPublishTarget{Type: "nuget", Nuget: value} } +func (g *GeneratorPublishTarget) GetType() string { + if g == nil { + return "" + } + return g.Type +} + +func (g *GeneratorPublishTarget) GetMaven() *MavenRegistryConfigV2 { + if g == nil { + return nil + } + return g.Maven +} + +func (g *GeneratorPublishTarget) GetNpm() *NpmRegistryConfigV2 { + if g == nil { + return nil + } + return g.Npm +} + +func (g *GeneratorPublishTarget) GetPypi() *PypiRegistryConfig { + if g == nil { + return nil + } + return g.Pypi +} + +func (g *GeneratorPublishTarget) GetPostman() *PostmanConfig { + if g == nil { + return nil + } + return g.Postman +} + +func (g *GeneratorPublishTarget) GetRubygems() *RubyGemsRegistryConfig { + if g == nil { + return nil + } + return g.Rubygems +} + +func (g *GeneratorPublishTarget) GetNuget() *NugetRegistryConfig { + if g == nil { + return nil + } + return g.Nuget +} + func (g *GeneratorPublishTarget) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -420,6 +664,20 @@ type GeneratorRegistriesConfig struct { extraProperties map[string]interface{} } +func (g *GeneratorRegistriesConfig) GetMaven() *MavenRegistryConfig { + if g == nil { + return nil + } + return g.Maven +} + +func (g *GeneratorRegistriesConfig) GetNpm() *NpmRegistryConfig { + if g == nil { + return nil + } + return g.Npm +} + func (g *GeneratorRegistriesConfig) GetExtraProperties() map[string]interface{} { return g.extraProperties } @@ -458,6 +716,41 @@ type GeneratorRegistriesConfigV2 struct { extraProperties map[string]interface{} } +func (g *GeneratorRegistriesConfigV2) GetMaven() *MavenRegistryConfigV2 { + if g == nil { + return nil + } + return g.Maven +} + +func (g *GeneratorRegistriesConfigV2) GetNpm() *NpmRegistryConfigV2 { + if g == nil { + return nil + } + return g.Npm +} + +func (g *GeneratorRegistriesConfigV2) GetPypi() *PypiRegistryConfig { + if g == nil { + return nil + } + return g.Pypi +} + +func (g *GeneratorRegistriesConfigV2) GetRubygems() *RubyGemsRegistryConfig { + if g == nil { + return nil + } + return g.Rubygems +} + +func (g *GeneratorRegistriesConfigV2) GetNuget() *NugetRegistryConfig { + if g == nil { + return nil + } + return g.Nuget +} + func (g *GeneratorRegistriesConfigV2) GetExtraProperties() map[string]interface{} { return g.extraProperties } @@ -498,6 +791,34 @@ type GithubOutputMode struct { extraProperties map[string]interface{} } +func (g *GithubOutputMode) GetVersion() string { + if g == nil { + return "" + } + return g.Version +} + +func (g *GithubOutputMode) GetRepoUrl() string { + if g == nil { + return "" + } + return g.RepoUrl +} + +func (g *GithubOutputMode) GetInstallationToken() *string { + if g == nil { + return nil + } + return g.InstallationToken +} + +func (g *GithubOutputMode) GetPublishInfo() *GithubPublishInfo { + if g == nil { + return nil + } + return g.PublishInfo +} + func (g *GithubOutputMode) GetExtraProperties() map[string]interface{} { return g.extraProperties } @@ -560,6 +881,55 @@ func NewGithubPublishInfoFromNuget(value *NugetGithubPublishInfo) *GithubPublish return &GithubPublishInfo{Type: "nuget", Nuget: value} } +func (g *GithubPublishInfo) GetType() string { + if g == nil { + return "" + } + return g.Type +} + +func (g *GithubPublishInfo) GetNpm() *NpmGithubPublishInfo { + if g == nil { + return nil + } + return g.Npm +} + +func (g *GithubPublishInfo) GetMaven() *MavenGithubPublishInfo { + if g == nil { + return nil + } + return g.Maven +} + +func (g *GithubPublishInfo) GetPostman() *PostmanGithubPublishInfo { + if g == nil { + return nil + } + return g.Postman +} + +func (g *GithubPublishInfo) GetPypi() *PypiGithubPublishInfo { + if g == nil { + return nil + } + return g.Pypi +} + +func (g *GithubPublishInfo) GetRubygems() *RubyGemsGithubPublishInfo { + if g == nil { + return nil + } + return g.Rubygems +} + +func (g *GithubPublishInfo) GetNuget() *NugetGithubPublishInfo { + if g == nil { + return nil + } + return g.Nuget +} + func (g *GithubPublishInfo) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -673,6 +1043,27 @@ func NewLicenseConfigFromCustom(value *CustomLicense) *LicenseConfig { return &LicenseConfig{Type: "custom", Custom: value} } +func (l *LicenseConfig) GetType() string { + if l == nil { + return "" + } + return l.Type +} + +func (l *LicenseConfig) GetBasic() *BasicLicense { + if l == nil { + return nil + } + return l.Basic +} + +func (l *LicenseConfig) GetCustom() *CustomLicense { + if l == nil { + return nil + } + return l.Custom +} + func (l *LicenseConfig) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -758,6 +1149,27 @@ type MavenCentralSignature struct { extraProperties map[string]interface{} } +func (m *MavenCentralSignature) GetKeyId() string { + if m == nil { + return "" + } + return m.KeyId +} + +func (m *MavenCentralSignature) GetPassword() string { + if m == nil { + return "" + } + return m.Password +} + +func (m *MavenCentralSignature) GetSecretKey() string { + if m == nil { + return "" + } + return m.SecretKey +} + func (m *MavenCentralSignature) GetExtraProperties() map[string]interface{} { return m.extraProperties } @@ -794,6 +1206,27 @@ type MavenCentralSignatureGithubInfo struct { extraProperties map[string]interface{} } +func (m *MavenCentralSignatureGithubInfo) GetKeyIdEnvironmentVariable() EnvironmentVariable { + if m == nil { + return "" + } + return m.KeyIdEnvironmentVariable +} + +func (m *MavenCentralSignatureGithubInfo) GetPasswordEnvironmentVariable() EnvironmentVariable { + if m == nil { + return "" + } + return m.PasswordEnvironmentVariable +} + +func (m *MavenCentralSignatureGithubInfo) GetSecretKeyEnvironmentVariable() EnvironmentVariable { + if m == nil { + return "" + } + return m.SecretKeyEnvironmentVariable +} + func (m *MavenCentralSignatureGithubInfo) GetExtraProperties() map[string]interface{} { return m.extraProperties } @@ -833,6 +1266,48 @@ type MavenGithubPublishInfo struct { extraProperties map[string]interface{} } +func (m *MavenGithubPublishInfo) GetRegistryUrl() string { + if m == nil { + return "" + } + return m.RegistryUrl +} + +func (m *MavenGithubPublishInfo) GetCoordinate() string { + if m == nil { + return "" + } + return m.Coordinate +} + +func (m *MavenGithubPublishInfo) GetUsernameEnvironmentVariable() EnvironmentVariable { + if m == nil { + return "" + } + return m.UsernameEnvironmentVariable +} + +func (m *MavenGithubPublishInfo) GetPasswordEnvironmentVariable() EnvironmentVariable { + if m == nil { + return "" + } + return m.PasswordEnvironmentVariable +} + +func (m *MavenGithubPublishInfo) GetSignature() *MavenCentralSignatureGithubInfo { + if m == nil { + return nil + } + return m.Signature +} + +func (m *MavenGithubPublishInfo) GetShouldGeneratePublishWorkflow() *bool { + if m == nil { + return nil + } + return m.ShouldGeneratePublishWorkflow +} + func (m *MavenGithubPublishInfo) GetExtraProperties() map[string]interface{} { return m.extraProperties } @@ -871,6 +1346,41 @@ type MavenRegistryConfig struct { extraProperties map[string]interface{} } +func (m *MavenRegistryConfig) GetRegistryUrl() string { + if m == nil { + return "" + } + return m.RegistryUrl +} + +func (m *MavenRegistryConfig) GetUsername() string { + if m == nil { + return "" + } + return m.Username +} + +func (m *MavenRegistryConfig) GetPassword() string { + if m == nil { + return "" + } + return m.Password +} + +func (m *MavenRegistryConfig) GetGroup() string { + if m == nil { + return "" + } + return m.Group +} + +func (m *MavenRegistryConfig) GetSignature() *MavenCentralSignature { + if m == nil { + return nil + } + return m.Signature +} + func (m *MavenRegistryConfig) GetExtraProperties() map[string]interface{} { return m.extraProperties } @@ -909,6 +1419,41 @@ type MavenRegistryConfigV2 struct { extraProperties map[string]interface{} } +func (m *MavenRegistryConfigV2) GetRegistryUrl() string { + if m == nil { + return "" + } + return m.RegistryUrl +} + +func (m *MavenRegistryConfigV2) GetUsername() string { + if m == nil { + return "" + } + return m.Username +} + +func (m *MavenRegistryConfigV2) GetPassword() string { + if m == nil { + return "" + } + return m.Password +} + +func (m *MavenRegistryConfigV2) GetCoordinate() string { + if m == nil { + return "" + } + return m.Coordinate +} + +func (m *MavenRegistryConfigV2) GetSignature() *MavenCentralSignature { + if m == nil { + return nil + } + return m.Signature +} + func (m *MavenRegistryConfigV2) GetExtraProperties() map[string]interface{} { return m.extraProperties } @@ -946,6 +1491,34 @@ type NpmGithubPublishInfo struct { extraProperties map[string]interface{} } +func (n *NpmGithubPublishInfo) GetRegistryUrl() string { + if n == nil { + return "" + } + return n.RegistryUrl +} + +func (n *NpmGithubPublishInfo) GetPackageName() string { + if n == nil { + return "" + } + return n.PackageName +} + +func (n *NpmGithubPublishInfo) GetTokenEnvironmentVariable() EnvironmentVariable { + if n == nil { + return "" + } + return n.TokenEnvironmentVariable +} + +func (n *NpmGithubPublishInfo) GetShouldGeneratePublishWorkflow() *bool { + if n == nil { + return nil + } + return n.ShouldGeneratePublishWorkflow +} + func (n *NpmGithubPublishInfo) GetExtraProperties() map[string]interface{} { return n.extraProperties } @@ -982,6 +1555,27 @@ type NpmRegistryConfig struct { extraProperties map[string]interface{} } +func (n *NpmRegistryConfig) GetRegistryUrl() string { + if n == nil { + return "" + } + return n.RegistryUrl +} + +func (n *NpmRegistryConfig) GetToken() string { + if n == nil { + return "" + } + return n.Token +} + +func (n *NpmRegistryConfig) GetScope() string { + if n == nil { + return "" + } + return n.Scope +} + func (n *NpmRegistryConfig) GetExtraProperties() map[string]interface{} { return n.extraProperties } @@ -1018,6 +1612,27 @@ type NpmRegistryConfigV2 struct { extraProperties map[string]interface{} } +func (n *NpmRegistryConfigV2) GetRegistryUrl() string { + if n == nil { + return "" + } + return n.RegistryUrl +} + +func (n *NpmRegistryConfigV2) GetToken() string { + if n == nil { + return "" + } + return n.Token +} + +func (n *NpmRegistryConfigV2) GetPackageName() string { + if n == nil { + return "" + } + return n.PackageName +} + func (n *NpmRegistryConfigV2) GetExtraProperties() map[string]interface{} { return n.extraProperties } @@ -1055,6 +1670,34 @@ type NugetGithubPublishInfo struct { extraProperties map[string]interface{} } +func (n *NugetGithubPublishInfo) GetRegistryUrl() string { + if n == nil { + return "" + } + return n.RegistryUrl +} + +func (n *NugetGithubPublishInfo) GetPackageName() string { + if n == nil { + return "" + } + return n.PackageName +} + +func (n *NugetGithubPublishInfo) GetApiKeyEnvironmentVariable() EnvironmentVariable { + if n == nil { + return "" + } + return n.ApiKeyEnvironmentVariable +} + +func (n *NugetGithubPublishInfo) GetShouldGeneratePublishWorkflow() *bool { + if n == nil { + return nil + } + return n.ShouldGeneratePublishWorkflow +} + func (n *NugetGithubPublishInfo) GetExtraProperties() map[string]interface{} { return n.extraProperties } @@ -1091,6 +1734,27 @@ type NugetRegistryConfig struct { extraProperties map[string]interface{} } +func (n *NugetRegistryConfig) GetRegistryUrl() string { + if n == nil { + return "" + } + return n.RegistryUrl +} + +func (n *NugetRegistryConfig) GetApiKey() string { + if n == nil { + return "" + } + return n.ApiKey +} + +func (n *NugetRegistryConfig) GetPackageName() string { + if n == nil { + return "" + } + return n.PackageName +} + func (n *NugetRegistryConfig) GetExtraProperties() map[string]interface{} { return n.extraProperties } @@ -1126,6 +1790,20 @@ type OutputMetadata struct { extraProperties map[string]interface{} } +func (o *OutputMetadata) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *OutputMetadata) GetAuthors() []*OutputMetadataAuthor { + if o == nil { + return nil + } + return o.Authors +} + func (o *OutputMetadata) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -1161,6 +1839,20 @@ type OutputMetadataAuthor struct { extraProperties map[string]interface{} } +func (o *OutputMetadataAuthor) GetName() string { + if o == nil { + return "" + } + return o.Name +} + +func (o *OutputMetadataAuthor) GetEmail() string { + if o == nil { + return "" + } + return o.Email +} + func (o *OutputMetadataAuthor) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -1208,6 +1900,34 @@ func NewOutputModeFromGithub(value *GithubOutputMode) *OutputMode { return &OutputMode{Type: "github", Github: value} } +func (o *OutputMode) GetType() string { + if o == nil { + return "" + } + return o.Type +} + +func (o *OutputMode) GetPublish() *GeneratorPublishConfig { + if o == nil { + return nil + } + return o.Publish +} + +func (o *OutputMode) GetDownloadFiles() interface{} { + if o == nil { + return nil + } + return o.DownloadFiles +} + +func (o *OutputMode) GetGithub() *GithubOutputMode { + if o == nil { + return nil + } + return o.Github +} + func (o *OutputMode) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -1288,6 +2008,20 @@ type PostmanConfig struct { extraProperties map[string]interface{} } +func (p *PostmanConfig) GetApiKey() string { + if p == nil { + return "" + } + return p.ApiKey +} + +func (p *PostmanConfig) GetWorkspaceId() string { + if p == nil { + return "" + } + return p.WorkspaceId +} + func (p *PostmanConfig) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -1323,6 +2057,20 @@ type PostmanGithubPublishInfo struct { extraProperties map[string]interface{} } +func (p *PostmanGithubPublishInfo) GetApiKeyEnvironmentVariable() EnvironmentVariable { + if p == nil { + return "" + } + return p.ApiKeyEnvironmentVariable +} + +func (p *PostmanGithubPublishInfo) GetWorkspaceIdEnvironmentVariable() EnvironmentVariable { + if p == nil { + return "" + } + return p.WorkspaceIdEnvironmentVariable +} + func (p *PostmanGithubPublishInfo) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -1361,6 +2109,34 @@ type PublishingMetadata struct { extraProperties map[string]interface{} } +func (p *PublishingMetadata) GetPackageDescription() *string { + if p == nil { + return nil + } + return p.PackageDescription +} + +func (p *PublishingMetadata) GetPublisherEmail() *string { + if p == nil { + return nil + } + return p.PublisherEmail +} + +func (p *PublishingMetadata) GetReferenceUrl() *string { + if p == nil { + return nil + } + return p.ReferenceUrl +} + +func (p *PublishingMetadata) GetPublisherName() *string { + if p == nil { + return nil + } + return p.PublisherName +} + func (p *PublishingMetadata) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -1400,6 +2176,48 @@ type PypiGithubPublishInfo struct { extraProperties map[string]interface{} } +func (p *PypiGithubPublishInfo) GetRegistryUrl() string { + if p == nil { + return "" + } + return p.RegistryUrl +} + +func (p *PypiGithubPublishInfo) GetPackageName() string { + if p == nil { + return "" + } + return p.PackageName +} + +func (p *PypiGithubPublishInfo) GetUsernameEnvironmentVariable() EnvironmentVariable { + if p == nil { + return "" + } + return p.UsernameEnvironmentVariable +} + +func (p *PypiGithubPublishInfo) GetPasswordEnvironmentVariable() EnvironmentVariable { + if p == nil { + return "" + } + return p.PasswordEnvironmentVariable +} + +func (p *PypiGithubPublishInfo) GetPypiMetadata() *PypiMetadata { + if p == nil { + return nil + } + return p.PypiMetadata +} + +func (p *PypiGithubPublishInfo) GetShouldGeneratePublishWorkflow() *bool { + if p == nil { + return nil + } + return p.ShouldGeneratePublishWorkflow +} + func (p *PypiGithubPublishInfo) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -1438,6 +2256,41 @@ type PypiMetadata struct { extraProperties map[string]interface{} } +func (p *PypiMetadata) GetDescription() *string { + if p == nil { + return nil + } + return p.Description +} + +func (p *PypiMetadata) GetAuthors() []*OutputMetadataAuthor { + if p == nil { + return nil + } + return p.Authors +} + +func (p *PypiMetadata) GetKeywords() []string { + if p == nil { + return nil + } + return p.Keywords +} + +func (p *PypiMetadata) GetDocumentationLink() *string { + if p == nil { + return nil + } + return p.DocumentationLink +} + +func (p *PypiMetadata) GetHomepageLink() *string { + if p == nil { + return nil + } + return p.HomepageLink +} + func (p *PypiMetadata) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -1476,6 +2329,41 @@ type PypiRegistryConfig struct { extraProperties map[string]interface{} } +func (p *PypiRegistryConfig) GetRegistryUrl() string { + if p == nil { + return "" + } + return p.RegistryUrl +} + +func (p *PypiRegistryConfig) GetUsername() string { + if p == nil { + return "" + } + return p.Username +} + +func (p *PypiRegistryConfig) GetPassword() string { + if p == nil { + return "" + } + return p.Password +} + +func (p *PypiRegistryConfig) GetPackageName() string { + if p == nil { + return "" + } + return p.PackageName +} + +func (p *PypiRegistryConfig) GetPypiMetadata() *PypiMetadata { + if p == nil { + return nil + } + return p.PypiMetadata +} + func (p *PypiRegistryConfig) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -1512,6 +2400,27 @@ type RemoteGeneratorEnvironment struct { extraProperties map[string]interface{} } +func (r *RemoteGeneratorEnvironment) GetCoordinatorUrl() string { + if r == nil { + return "" + } + return r.CoordinatorUrl +} + +func (r *RemoteGeneratorEnvironment) GetCoordinatorUrlV2() string { + if r == nil { + return "" + } + return r.CoordinatorUrlV2 +} + +func (r *RemoteGeneratorEnvironment) GetId() string { + if r == nil { + return "" + } + return r.Id +} + func (r *RemoteGeneratorEnvironment) GetExtraProperties() map[string]interface{} { return r.extraProperties } @@ -1549,6 +2458,34 @@ type RubyGemsGithubPublishInfo struct { extraProperties map[string]interface{} } +func (r *RubyGemsGithubPublishInfo) GetRegistryUrl() string { + if r == nil { + return "" + } + return r.RegistryUrl +} + +func (r *RubyGemsGithubPublishInfo) GetPackageName() string { + if r == nil { + return "" + } + return r.PackageName +} + +func (r *RubyGemsGithubPublishInfo) GetApiKeyEnvironmentVariable() EnvironmentVariable { + if r == nil { + return "" + } + return r.ApiKeyEnvironmentVariable +} + +func (r *RubyGemsGithubPublishInfo) GetShouldGeneratePublishWorkflow() *bool { + if r == nil { + return nil + } + return r.ShouldGeneratePublishWorkflow +} + func (r *RubyGemsGithubPublishInfo) GetExtraProperties() map[string]interface{} { return r.extraProperties } @@ -1585,6 +2522,27 @@ type RubyGemsRegistryConfig struct { extraProperties map[string]interface{} } +func (r *RubyGemsRegistryConfig) GetRegistryUrl() string { + if r == nil { + return "" + } + return r.RegistryUrl +} + +func (r *RubyGemsRegistryConfig) GetApiKey() string { + if r == nil { + return "" + } + return r.ApiKey +} + +func (r *RubyGemsRegistryConfig) GetPackageName() string { + if r == nil { + return "" + } + return r.PackageName +} + func (r *RubyGemsRegistryConfig) GetExtraProperties() map[string]interface{} { return r.extraProperties } diff --git a/generators/go/internal/fern/ir/types.go b/generators/go/internal/fern/ir/types.go index aa2dbd4b2f5..fb94a51c43e 100644 --- a/generators/go/internal/fern/ir/types.go +++ b/generators/go/internal/fern/ir/types.go @@ -19,6 +19,27 @@ type ApiAuth struct { extraProperties map[string]interface{} } +func (a *ApiAuth) GetDocs() *string { + if a == nil { + return nil + } + return a.Docs +} + +func (a *ApiAuth) GetRequirement() AuthSchemesRequirement { + if a == nil { + return "" + } + return a.Requirement +} + +func (a *ApiAuth) GetSchemes() []*AuthScheme { + if a == nil { + return nil + } + return a.Schemes +} + func (a *ApiAuth) GetExtraProperties() map[string]interface{} { return a.extraProperties } @@ -71,6 +92,41 @@ func NewAuthSchemeFromOauth(value *OAuthScheme) *AuthScheme { return &AuthScheme{Type: "oauth", Oauth: value} } +func (a *AuthScheme) GetType() string { + if a == nil { + return "" + } + return a.Type +} + +func (a *AuthScheme) GetBearer() *BearerAuthScheme { + if a == nil { + return nil + } + return a.Bearer +} + +func (a *AuthScheme) GetBasic() *BasicAuthScheme { + if a == nil { + return nil + } + return a.Basic +} + +func (a *AuthScheme) GetHeader() *HeaderAuthScheme { + if a == nil { + return nil + } + return a.Header +} + +func (a *AuthScheme) GetOauth() *OAuthScheme { + if a == nil { + return nil + } + return a.Oauth +} + func (a *AuthScheme) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"_type"` @@ -182,6 +238,41 @@ type BasicAuthScheme struct { extraProperties map[string]interface{} } +func (b *BasicAuthScheme) GetDocs() *string { + if b == nil { + return nil + } + return b.Docs +} + +func (b *BasicAuthScheme) GetUsername() *Name { + if b == nil { + return nil + } + return b.Username +} + +func (b *BasicAuthScheme) GetUsernameEnvVar() *EnvironmentVariable { + if b == nil { + return nil + } + return b.UsernameEnvVar +} + +func (b *BasicAuthScheme) GetPassword() *Name { + if b == nil { + return nil + } + return b.Password +} + +func (b *BasicAuthScheme) GetPasswordEnvVar() *EnvironmentVariable { + if b == nil { + return nil + } + return b.PasswordEnvVar +} + func (b *BasicAuthScheme) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -219,6 +310,27 @@ type BearerAuthScheme struct { extraProperties map[string]interface{} } +func (b *BearerAuthScheme) GetDocs() *string { + if b == nil { + return nil + } + return b.Docs +} + +func (b *BearerAuthScheme) GetToken() *Name { + if b == nil { + return nil + } + return b.Token +} + +func (b *BearerAuthScheme) GetTokenEnvVar() *EnvironmentVariable { + if b == nil { + return nil + } + return b.TokenEnvVar +} + func (b *BearerAuthScheme) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -260,6 +372,41 @@ type HeaderAuthScheme struct { extraProperties map[string]interface{} } +func (h *HeaderAuthScheme) GetDocs() *string { + if h == nil { + return nil + } + return h.Docs +} + +func (h *HeaderAuthScheme) GetName() *NameAndWireValue { + if h == nil { + return nil + } + return h.Name +} + +func (h *HeaderAuthScheme) GetValueType() *TypeReference { + if h == nil { + return nil + } + return h.ValueType +} + +func (h *HeaderAuthScheme) GetPrefix() *string { + if h == nil { + return nil + } + return h.Prefix +} + +func (h *HeaderAuthScheme) GetHeaderEnvVar() *EnvironmentVariable { + if h == nil { + return nil + } + return h.HeaderEnvVar +} + func (h *HeaderAuthScheme) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -297,6 +444,27 @@ type OAuthAccessTokenRequestProperties struct { extraProperties map[string]interface{} } +func (o *OAuthAccessTokenRequestProperties) GetClientId() *RequestProperty { + if o == nil { + return nil + } + return o.ClientId +} + +func (o *OAuthAccessTokenRequestProperties) GetClientSecret() *RequestProperty { + if o == nil { + return nil + } + return o.ClientSecret +} + +func (o *OAuthAccessTokenRequestProperties) GetScopes() *RequestProperty { + if o == nil { + return nil + } + return o.Scopes +} + func (o *OAuthAccessTokenRequestProperties) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -334,6 +502,27 @@ type OAuthAccessTokenResponseProperties struct { extraProperties map[string]interface{} } +func (o *OAuthAccessTokenResponseProperties) GetAccessToken() *ResponseProperty { + if o == nil { + return nil + } + return o.AccessToken +} + +func (o *OAuthAccessTokenResponseProperties) GetExpiresIn() *ResponseProperty { + if o == nil { + return nil + } + return o.ExpiresIn +} + +func (o *OAuthAccessTokenResponseProperties) GetRefreshToken() *ResponseProperty { + if o == nil { + return nil + } + return o.RefreshToken +} + func (o *OAuthAccessTokenResponseProperties) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -366,6 +555,7 @@ type OAuthClientCredentials struct { ClientIdEnvVar *EnvironmentVariable `json:"clientIdEnvVar,omitempty" url:"clientIdEnvVar,omitempty"` ClientSecretEnvVar *EnvironmentVariable `json:"clientSecretEnvVar,omitempty" url:"clientSecretEnvVar,omitempty"` TokenPrefix *string `json:"tokenPrefix,omitempty" url:"tokenPrefix,omitempty"` + TokenHeader *string `json:"tokenHeader,omitempty" url:"tokenHeader,omitempty"` Scopes []string `json:"scopes,omitempty" url:"scopes,omitempty"` TokenEndpoint *OAuthTokenEndpoint `json:"tokenEndpoint,omitempty" url:"tokenEndpoint,omitempty"` RefreshEndpoint *OAuthRefreshEndpoint `json:"refreshEndpoint,omitempty" url:"refreshEndpoint,omitempty"` @@ -373,6 +563,55 @@ type OAuthClientCredentials struct { extraProperties map[string]interface{} } +func (o *OAuthClientCredentials) GetClientIdEnvVar() *EnvironmentVariable { + if o == nil { + return nil + } + return o.ClientIdEnvVar +} + +func (o *OAuthClientCredentials) GetClientSecretEnvVar() *EnvironmentVariable { + if o == nil { + return nil + } + return o.ClientSecretEnvVar +} + +func (o *OAuthClientCredentials) GetTokenPrefix() *string { + if o == nil { + return nil + } + return o.TokenPrefix +} + +func (o *OAuthClientCredentials) GetTokenHeader() *string { + if o == nil { + return nil + } + return o.TokenHeader +} + +func (o *OAuthClientCredentials) GetScopes() []string { + if o == nil { + return nil + } + return o.Scopes +} + +func (o *OAuthClientCredentials) GetTokenEndpoint() *OAuthTokenEndpoint { + if o == nil { + return nil + } + return o.TokenEndpoint +} + +func (o *OAuthClientCredentials) GetRefreshEndpoint() *OAuthRefreshEndpoint { + if o == nil { + return nil + } + return o.RefreshEndpoint +} + func (o *OAuthClientCredentials) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -410,6 +649,20 @@ func NewOAuthConfigurationFromClientCredentials(value *OAuthClientCredentials) * return &OAuthConfiguration{Type: "clientCredentials", ClientCredentials: value} } +func (o *OAuthConfiguration) GetType() string { + if o == nil { + return "" + } + return o.Type +} + +func (o *OAuthConfiguration) GetClientCredentials() *OAuthClientCredentials { + if o == nil { + return nil + } + return o.ClientCredentials +} + func (o *OAuthConfiguration) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -462,6 +715,27 @@ type OAuthRefreshEndpoint struct { extraProperties map[string]interface{} } +func (o *OAuthRefreshEndpoint) GetEndpointReference() *EndpointReference { + if o == nil { + return nil + } + return o.EndpointReference +} + +func (o *OAuthRefreshEndpoint) GetRequestProperties() *OAuthRefreshTokenRequestProperties { + if o == nil { + return nil + } + return o.RequestProperties +} + +func (o *OAuthRefreshEndpoint) GetResponseProperties() *OAuthAccessTokenResponseProperties { + if o == nil { + return nil + } + return o.ResponseProperties +} + func (o *OAuthRefreshEndpoint) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -497,6 +771,13 @@ type OAuthRefreshTokenRequestProperties struct { extraProperties map[string]interface{} } +func (o *OAuthRefreshTokenRequestProperties) GetRefreshToken() *RequestProperty { + if o == nil { + return nil + } + return o.RefreshToken +} + func (o *OAuthRefreshTokenRequestProperties) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -533,6 +814,20 @@ type OAuthScheme struct { extraProperties map[string]interface{} } +func (o *OAuthScheme) GetDocs() *string { + if o == nil { + return nil + } + return o.Docs +} + +func (o *OAuthScheme) GetConfiguration() *OAuthConfiguration { + if o == nil { + return nil + } + return o.Configuration +} + func (o *OAuthScheme) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -569,6 +864,27 @@ type OAuthTokenEndpoint struct { extraProperties map[string]interface{} } +func (o *OAuthTokenEndpoint) GetEndpointReference() *EndpointReference { + if o == nil { + return nil + } + return o.EndpointReference +} + +func (o *OAuthTokenEndpoint) GetRequestProperties() *OAuthAccessTokenRequestProperties { + if o == nil { + return nil + } + return o.RequestProperties +} + +func (o *OAuthTokenEndpoint) GetResponseProperties() *OAuthAccessTokenResponseProperties { + if o == nil { + return nil + } + return o.ResponseProperties +} + func (o *OAuthTokenEndpoint) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -604,6 +920,20 @@ type Availability struct { extraProperties map[string]interface{} } +func (a *Availability) GetStatus() AvailabilityStatus { + if a == nil { + return "" + } + return a.Status +} + +func (a *Availability) GetMessage() *string { + if a == nil { + return nil + } + return a.Message +} + func (a *Availability) GetExtraProperties() map[string]interface{} { return a.extraProperties } @@ -667,6 +997,20 @@ type Declaration struct { extraProperties map[string]interface{} } +func (d *Declaration) GetDocs() *string { + if d == nil { + return nil + } + return d.Docs +} + +func (d *Declaration) GetAvailability() *Availability { + if d == nil { + return nil + } + return d.Availability +} + func (d *Declaration) GetExtraProperties() map[string]interface{} { return d.extraProperties } @@ -707,6 +1051,27 @@ type EndpointReference struct { extraProperties map[string]interface{} } +func (e *EndpointReference) GetEndpointId() EndpointId { + if e == nil { + return "" + } + return e.EndpointId +} + +func (e *EndpointReference) GetServiceId() ServiceId { + if e == nil { + return "" + } + return e.ServiceId +} + +func (e *EndpointReference) GetSubpackageId() *SubpackageId { + if e == nil { + return nil + } + return e.SubpackageId +} + func (e *EndpointReference) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -748,6 +1113,13 @@ type EscapedString struct { extraProperties map[string]interface{} } +func (e *EscapedString) GetOriginal() string { + if e == nil { + return "" + } + return e.Original +} + func (e *EscapedString) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -786,6 +1158,27 @@ type FernFilepath struct { extraProperties map[string]interface{} } +func (f *FernFilepath) GetAllParts() []*Name { + if f == nil { + return nil + } + return f.AllParts +} + +func (f *FernFilepath) GetPackagePath() []*Name { + if f == nil { + return nil + } + return f.PackagePath +} + +func (f *FernFilepath) GetFile() *Name { + if f == nil { + return nil + } + return f.File +} + func (f *FernFilepath) GetExtraProperties() map[string]interface{} { return f.extraProperties } @@ -824,6 +1217,41 @@ type Name struct { extraProperties map[string]interface{} } +func (n *Name) GetOriginalName() string { + if n == nil { + return "" + } + return n.OriginalName +} + +func (n *Name) GetCamelCase() *SafeAndUnsafeString { + if n == nil { + return nil + } + return n.CamelCase +} + +func (n *Name) GetPascalCase() *SafeAndUnsafeString { + if n == nil { + return nil + } + return n.PascalCase +} + +func (n *Name) GetSnakeCase() *SafeAndUnsafeString { + if n == nil { + return nil + } + return n.SnakeCase +} + +func (n *Name) GetScreamingSnakeCase() *SafeAndUnsafeString { + if n == nil { + return nil + } + return n.ScreamingSnakeCase +} + func (n *Name) GetExtraProperties() map[string]interface{} { return n.extraProperties } @@ -859,6 +1287,20 @@ type NameAndWireValue struct { extraProperties map[string]interface{} } +func (n *NameAndWireValue) GetWireValue() string { + if n == nil { + return "" + } + return n.WireValue +} + +func (n *NameAndWireValue) GetName() *Name { + if n == nil { + return nil + } + return n.Name +} + func (n *NameAndWireValue) GetExtraProperties() map[string]interface{} { return n.extraProperties } @@ -896,6 +1338,20 @@ type SafeAndUnsafeString struct { extraProperties map[string]interface{} } +func (s *SafeAndUnsafeString) GetUnsafeName() string { + if s == nil { + return "" + } + return s.UnsafeName +} + +func (s *SafeAndUnsafeString) GetSafeName() string { + if s == nil { + return "" + } + return s.SafeName +} + func (s *SafeAndUnsafeString) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -942,6 +1398,13 @@ type WithDocs struct { extraProperties map[string]interface{} } +func (w *WithDocs) GetDocs() *string { + if w == nil { + return nil + } + return w.Docs +} + func (w *WithDocs) GetExtraProperties() map[string]interface{} { return w.extraProperties } @@ -977,6 +1440,20 @@ type WithDocsAndAvailability struct { extraProperties map[string]interface{} } +func (w *WithDocsAndAvailability) GetDocs() *string { + if w == nil { + return nil + } + return w.Docs +} + +func (w *WithDocsAndAvailability) GetAvailability() *Availability { + if w == nil { + return nil + } + return w.Availability +} + func (w *WithDocsAndAvailability) GetExtraProperties() map[string]interface{} { return w.extraProperties } @@ -1011,6 +1488,13 @@ type WithJsonExample struct { extraProperties map[string]interface{} } +func (w *WithJsonExample) GetJsonExample() interface{} { + if w == nil { + return nil + } + return w.JsonExample +} + func (w *WithJsonExample) GetExtraProperties() map[string]interface{} { return w.extraProperties } @@ -1045,6 +1529,13 @@ type Constants struct { extraProperties map[string]interface{} } +func (c *Constants) GetErrorInstanceIdKey() *NameAndWireValue { + if c == nil { + return nil + } + return c.ErrorInstanceIdKey +} + func (c *Constants) GetExtraProperties() map[string]interface{} { return c.extraProperties } @@ -1082,6 +1573,20 @@ type EnvironmentBaseUrlWithId struct { extraProperties map[string]interface{} } +func (e *EnvironmentBaseUrlWithId) GetId() EnvironmentBaseUrlId { + if e == nil { + return "" + } + return e.Id +} + +func (e *EnvironmentBaseUrlWithId) GetName() *Name { + if e == nil { + return nil + } + return e.Name +} + func (e *EnvironmentBaseUrlWithId) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1128,6 +1633,27 @@ func NewEnvironmentsFromMultipleBaseUrls(value *MultipleBaseUrlsEnvironments) *E return &Environments{Type: "multipleBaseUrls", MultipleBaseUrls: value} } +func (e *Environments) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *Environments) GetSingleBaseUrl() *SingleBaseUrlEnvironments { + if e == nil { + return nil + } + return e.SingleBaseUrl +} + +func (e *Environments) GetMultipleBaseUrls() *MultipleBaseUrlsEnvironments { + if e == nil { + return nil + } + return e.MultipleBaseUrls +} + func (e *Environments) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -1190,6 +1716,20 @@ type EnvironmentsConfig struct { extraProperties map[string]interface{} } +func (e *EnvironmentsConfig) GetDefaultEnvironment() *EnvironmentId { + if e == nil { + return nil + } + return e.DefaultEnvironment +} + +func (e *EnvironmentsConfig) GetEnvironments() *Environments { + if e == nil { + return nil + } + return e.Environments +} + func (e *EnvironmentsConfig) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1227,6 +1767,34 @@ type MultipleBaseUrlsEnvironment struct { extraProperties map[string]interface{} } +func (m *MultipleBaseUrlsEnvironment) GetDocs() *string { + if m == nil { + return nil + } + return m.Docs +} + +func (m *MultipleBaseUrlsEnvironment) GetId() EnvironmentId { + if m == nil { + return "" + } + return m.Id +} + +func (m *MultipleBaseUrlsEnvironment) GetName() *Name { + if m == nil { + return nil + } + return m.Name +} + +func (m *MultipleBaseUrlsEnvironment) GetUrls() map[EnvironmentBaseUrlId]EnvironmentUrl { + if m == nil { + return nil + } + return m.Urls +} + func (m *MultipleBaseUrlsEnvironment) GetExtraProperties() map[string]interface{} { return m.extraProperties } @@ -1262,6 +1830,20 @@ type MultipleBaseUrlsEnvironments struct { extraProperties map[string]interface{} } +func (m *MultipleBaseUrlsEnvironments) GetBaseUrls() []*EnvironmentBaseUrlWithId { + if m == nil { + return nil + } + return m.BaseUrls +} + +func (m *MultipleBaseUrlsEnvironments) GetEnvironments() []*MultipleBaseUrlsEnvironment { + if m == nil { + return nil + } + return m.Environments +} + func (m *MultipleBaseUrlsEnvironments) GetExtraProperties() map[string]interface{} { return m.extraProperties } @@ -1299,14 +1881,42 @@ type SingleBaseUrlEnvironment struct { extraProperties map[string]interface{} } -func (s *SingleBaseUrlEnvironment) GetExtraProperties() map[string]interface{} { - return s.extraProperties +func (s *SingleBaseUrlEnvironment) GetDocs() *string { + if s == nil { + return nil + } + return s.Docs } -func (s *SingleBaseUrlEnvironment) UnmarshalJSON(data []byte) error { - type unmarshaler SingleBaseUrlEnvironment - var value unmarshaler - if err := json.Unmarshal(data, &value); err != nil { +func (s *SingleBaseUrlEnvironment) GetId() EnvironmentId { + if s == nil { + return "" + } + return s.Id +} + +func (s *SingleBaseUrlEnvironment) GetName() *Name { + if s == nil { + return nil + } + return s.Name +} + +func (s *SingleBaseUrlEnvironment) GetUrl() EnvironmentUrl { + if s == nil { + return "" + } + return s.Url +} + +func (s *SingleBaseUrlEnvironment) GetExtraProperties() map[string]interface{} { + return s.extraProperties +} + +func (s *SingleBaseUrlEnvironment) UnmarshalJSON(data []byte) error { + type unmarshaler SingleBaseUrlEnvironment + var value unmarshaler + if err := json.Unmarshal(data, &value); err != nil { return err } *s = SingleBaseUrlEnvironment(value) @@ -1333,6 +1943,13 @@ type SingleBaseUrlEnvironments struct { extraProperties map[string]interface{} } +func (s *SingleBaseUrlEnvironments) GetEnvironments() []*SingleBaseUrlEnvironment { + if s == nil { + return nil + } + return s.Environments +} + func (s *SingleBaseUrlEnvironments) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -1369,6 +1986,27 @@ type DeclaredErrorName struct { extraProperties map[string]interface{} } +func (d *DeclaredErrorName) GetErrorId() ErrorId { + if d == nil { + return "" + } + return d.ErrorId +} + +func (d *DeclaredErrorName) GetFernFilepath() *FernFilepath { + if d == nil { + return nil + } + return d.FernFilepath +} + +func (d *DeclaredErrorName) GetName() *Name { + if d == nil { + return nil + } + return d.Name +} + func (d *DeclaredErrorName) GetExtraProperties() map[string]interface{} { return d.extraProperties } @@ -1408,6 +2046,48 @@ type ErrorDeclaration struct { extraProperties map[string]interface{} } +func (e *ErrorDeclaration) GetDocs() *string { + if e == nil { + return nil + } + return e.Docs +} + +func (e *ErrorDeclaration) GetName() *DeclaredErrorName { + if e == nil { + return nil + } + return e.Name +} + +func (e *ErrorDeclaration) GetDiscriminantValue() *NameAndWireValue { + if e == nil { + return nil + } + return e.DiscriminantValue +} + +func (e *ErrorDeclaration) GetType() *TypeReference { + if e == nil { + return nil + } + return e.Type +} + +func (e *ErrorDeclaration) GetStatusCode() int { + if e == nil { + return 0 + } + return e.StatusCode +} + +func (e *ErrorDeclaration) GetExamples() []*ExampleError { + if e == nil { + return nil + } + return e.Examples +} + func (e *ErrorDeclaration) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1450,6 +2130,27 @@ func NewErrorDeclarationDiscriminantValueFromStatusCode(value interface{}) *Erro return &ErrorDeclarationDiscriminantValue{Type: "statusCode", StatusCode: value} } +func (e *ErrorDeclarationDiscriminantValue) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ErrorDeclarationDiscriminantValue) GetProperty() *NameAndWireValue { + if e == nil { + return nil + } + return e.Property +} + +func (e *ErrorDeclarationDiscriminantValue) GetStatusCode() interface{} { + if e == nil { + return nil + } + return e.StatusCode +} + func (e *ErrorDeclarationDiscriminantValue) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -1521,6 +2222,34 @@ type ExampleError struct { extraProperties map[string]interface{} } +func (e *ExampleError) GetJsonExample() interface{} { + if e == nil { + return nil + } + return e.JsonExample +} + +func (e *ExampleError) GetDocs() *string { + if e == nil { + return nil + } + return e.Docs +} + +func (e *ExampleError) GetName() *Name { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleError) GetShape() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Shape +} + func (e *ExampleError) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1555,6 +2284,13 @@ type AutogeneratedEndpointExample struct { extraProperties map[string]interface{} } +func (a *AutogeneratedEndpointExample) GetExample() *ExampleEndpointCall { + if a == nil { + return nil + } + return a.Example +} + func (a *AutogeneratedEndpointExample) GetExtraProperties() map[string]interface{} { return a.extraProperties } @@ -1591,6 +2327,27 @@ type BytesRequest struct { extraProperties map[string]interface{} } +func (b *BytesRequest) GetDocs() *string { + if b == nil { + return nil + } + return b.Docs +} + +func (b *BytesRequest) GetIsOptional() bool { + if b == nil { + return false + } + return b.IsOptional +} + +func (b *BytesRequest) GetContentType() *string { + if b == nil { + return nil + } + return b.ContentType +} + func (b *BytesRequest) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -1632,6 +2389,27 @@ type CursorPagination struct { extraProperties map[string]interface{} } +func (c *CursorPagination) GetPage() *RequestProperty { + if c == nil { + return nil + } + return c.Page +} + +func (c *CursorPagination) GetNext() *ResponseProperty { + if c == nil { + return nil + } + return c.Next +} + +func (c *CursorPagination) GetResults() *ResponseProperty { + if c == nil { + return nil + } + return c.Results +} + func (c *CursorPagination) GetExtraProperties() map[string]interface{} { return c.extraProperties } @@ -1666,6 +2444,13 @@ type DeclaredServiceName struct { extraProperties map[string]interface{} } +func (d *DeclaredServiceName) GetFernFilepath() *FernFilepath { + if d == nil { + return nil + } + return d.FernFilepath +} + func (d *DeclaredServiceName) GetExtraProperties() map[string]interface{} { return d.extraProperties } @@ -1710,6 +2495,27 @@ func NewExampleCodeSampleFromSdk(value *ExampleCodeSampleSdk) *ExampleCodeSample return &ExampleCodeSample{Type: "sdk", Sdk: value} } +func (e *ExampleCodeSample) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleCodeSample) GetLanguage() *ExampleCodeSampleLanguage { + if e == nil { + return nil + } + return e.Language +} + +func (e *ExampleCodeSample) GetSdk() *ExampleCodeSampleSdk { + if e == nil { + return nil + } + return e.Sdk +} + func (e *ExampleCodeSample) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -1779,6 +2585,41 @@ type ExampleCodeSampleLanguage struct { extraProperties map[string]interface{} } +func (e *ExampleCodeSampleLanguage) GetDocs() *string { + if e == nil { + return nil + } + return e.Docs +} + +func (e *ExampleCodeSampleLanguage) GetName() *Name { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleCodeSampleLanguage) GetLanguage() string { + if e == nil { + return "" + } + return e.Language +} + +func (e *ExampleCodeSampleLanguage) GetCode() string { + if e == nil { + return "" + } + return e.Code +} + +func (e *ExampleCodeSampleLanguage) GetInstall() *string { + if e == nil { + return nil + } + return e.Install +} + func (e *ExampleCodeSampleLanguage) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1818,6 +2659,34 @@ type ExampleCodeSampleSdk struct { extraProperties map[string]interface{} } +func (e *ExampleCodeSampleSdk) GetDocs() *string { + if e == nil { + return nil + } + return e.Docs +} + +func (e *ExampleCodeSampleSdk) GetName() *Name { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleCodeSampleSdk) GetSdk() SupportedSdkLanguage { + if e == nil { + return "" + } + return e.Sdk +} + +func (e *ExampleCodeSampleSdk) GetCode() string { + if e == nil { + return "" + } + return e.Code +} + func (e *ExampleCodeSampleSdk) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1863,6 +2732,90 @@ type ExampleEndpointCall struct { extraProperties map[string]interface{} } +func (e *ExampleEndpointCall) GetDocs() *string { + if e == nil { + return nil + } + return e.Docs +} + +func (e *ExampleEndpointCall) GetId() *string { + if e == nil { + return nil + } + return e.Id +} + +func (e *ExampleEndpointCall) GetName() *Name { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleEndpointCall) GetUrl() string { + if e == nil { + return "" + } + return e.Url +} + +func (e *ExampleEndpointCall) GetRootPathParameters() []*ExamplePathParameter { + if e == nil { + return nil + } + return e.RootPathParameters +} + +func (e *ExampleEndpointCall) GetServicePathParameters() []*ExamplePathParameter { + if e == nil { + return nil + } + return e.ServicePathParameters +} + +func (e *ExampleEndpointCall) GetEndpointPathParameters() []*ExamplePathParameter { + if e == nil { + return nil + } + return e.EndpointPathParameters +} + +func (e *ExampleEndpointCall) GetServiceHeaders() []*ExampleHeader { + if e == nil { + return nil + } + return e.ServiceHeaders +} + +func (e *ExampleEndpointCall) GetEndpointHeaders() []*ExampleHeader { + if e == nil { + return nil + } + return e.EndpointHeaders +} + +func (e *ExampleEndpointCall) GetQueryParameters() []*ExampleQueryParameter { + if e == nil { + return nil + } + return e.QueryParameters +} + +func (e *ExampleEndpointCall) GetRequest() *ExampleRequestBody { + if e == nil { + return nil + } + return e.Request +} + +func (e *ExampleEndpointCall) GetResponse() *ExampleResponse { + if e == nil { + return nil + } + return e.Response +} + func (e *ExampleEndpointCall) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1898,6 +2851,20 @@ type ExampleEndpointErrorResponse struct { extraProperties map[string]interface{} } +func (e *ExampleEndpointErrorResponse) GetError() *DeclaredErrorName { + if e == nil { + return nil + } + return e.Error +} + +func (e *ExampleEndpointErrorResponse) GetBody() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Body +} + func (e *ExampleEndpointErrorResponse) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -1945,6 +2912,34 @@ func NewExampleEndpointSuccessResponseFromSse(value []*ExampleServerSideEvent) * return &ExampleEndpointSuccessResponse{Type: "sse", Sse: value} } +func (e *ExampleEndpointSuccessResponse) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleEndpointSuccessResponse) GetBody() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Body +} + +func (e *ExampleEndpointSuccessResponse) GetStream() []*ExampleTypeReference { + if e == nil { + return nil + } + return e.Stream +} + +func (e *ExampleEndpointSuccessResponse) GetSse() []*ExampleServerSideEvent { + if e == nil { + return nil + } + return e.Sse +} + func (e *ExampleEndpointSuccessResponse) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -2045,6 +3040,20 @@ type ExampleHeader struct { extraProperties map[string]interface{} } +func (e *ExampleHeader) GetName() *NameAndWireValue { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleHeader) GetValue() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Value +} + func (e *ExampleHeader) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -2080,6 +3089,20 @@ type ExampleInlinedRequestBody struct { extraProperties map[string]interface{} } +func (e *ExampleInlinedRequestBody) GetJsonExample() interface{} { + if e == nil { + return nil + } + return e.JsonExample +} + +func (e *ExampleInlinedRequestBody) GetProperties() []*ExampleInlinedRequestBodyProperty { + if e == nil { + return nil + } + return e.Properties +} + func (e *ExampleInlinedRequestBody) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -2118,6 +3141,27 @@ type ExampleInlinedRequestBodyProperty struct { extraProperties map[string]interface{} } +func (e *ExampleInlinedRequestBodyProperty) GetName() *NameAndWireValue { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleInlinedRequestBodyProperty) GetValue() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Value +} + +func (e *ExampleInlinedRequestBodyProperty) GetOriginalTypeDeclaration() *DeclaredTypeName { + if e == nil { + return nil + } + return e.OriginalTypeDeclaration +} + func (e *ExampleInlinedRequestBodyProperty) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -2153,6 +3197,20 @@ type ExamplePathParameter struct { extraProperties map[string]interface{} } +func (e *ExamplePathParameter) GetName() *Name { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExamplePathParameter) GetValue() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Value +} + func (e *ExamplePathParameter) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -2189,6 +3247,27 @@ type ExampleQueryParameter struct { extraProperties map[string]interface{} } +func (e *ExampleQueryParameter) GetName() *NameAndWireValue { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleQueryParameter) GetValue() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Value +} + +func (e *ExampleQueryParameter) GetShape() *ExampleQueryParameterShape { + if e == nil { + return nil + } + return e.Shape +} + func (e *ExampleQueryParameter) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -2236,6 +3315,34 @@ func NewExampleQueryParameterShapeFromCommaSeparated(value interface{}) *Example return &ExampleQueryParameterShape{Type: "commaSeparated", CommaSeparated: value} } +func (e *ExampleQueryParameterShape) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleQueryParameterShape) GetSingle() interface{} { + if e == nil { + return nil + } + return e.Single +} + +func (e *ExampleQueryParameterShape) GetExploded() interface{} { + if e == nil { + return nil + } + return e.Exploded +} + +func (e *ExampleQueryParameterShape) GetCommaSeparated() interface{} { + if e == nil { + return nil + } + return e.CommaSeparated +} + func (e *ExampleQueryParameterShape) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -2337,6 +3444,27 @@ func NewExampleRequestBodyFromReference(value *ExampleTypeReference) *ExampleReq return &ExampleRequestBody{Type: "reference", Reference: value} } +func (e *ExampleRequestBody) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleRequestBody) GetInlinedRequestBody() *ExampleInlinedRequestBody { + if e == nil { + return nil + } + return e.InlinedRequestBody +} + +func (e *ExampleRequestBody) GetReference() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Reference +} + func (e *ExampleRequestBody) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -2406,6 +3534,27 @@ func NewExampleResponseFromError(value *ExampleEndpointErrorResponse) *ExampleRe return &ExampleResponse{Type: "error", Error: value} } +func (e *ExampleResponse) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleResponse) GetOk() *ExampleEndpointSuccessResponse { + if e == nil { + return nil + } + return e.Ok +} + +func (e *ExampleResponse) GetError() *ExampleEndpointErrorResponse { + if e == nil { + return nil + } + return e.Error +} + func (e *ExampleResponse) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -2477,6 +3626,20 @@ type ExampleServerSideEvent struct { extraProperties map[string]interface{} } +func (e *ExampleServerSideEvent) GetEvent() string { + if e == nil { + return "" + } + return e.Event +} + +func (e *ExampleServerSideEvent) GetData() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Data +} + func (e *ExampleServerSideEvent) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -2511,8 +3674,15 @@ type FileDownloadResponse struct { extraProperties map[string]interface{} } -func (f *FileDownloadResponse) GetExtraProperties() map[string]interface{} { - return f.extraProperties +func (f *FileDownloadResponse) GetDocs() *string { + if f == nil { + return nil + } + return f.Docs +} + +func (f *FileDownloadResponse) GetExtraProperties() map[string]interface{} { + return f.extraProperties } func (f *FileDownloadResponse) UnmarshalJSON(data []byte) error { @@ -2553,6 +3723,27 @@ func NewFilePropertyFromFileArray(value *FilePropertyArray) *FileProperty { return &FileProperty{Type: "fileArray", FileArray: value} } +func (f *FileProperty) GetType() string { + if f == nil { + return "" + } + return f.Type +} + +func (f *FileProperty) GetFile() *FilePropertySingle { + if f == nil { + return nil + } + return f.File +} + +func (f *FileProperty) GetFileArray() *FilePropertyArray { + if f == nil { + return nil + } + return f.FileArray +} + func (f *FileProperty) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -2616,6 +3807,27 @@ type FilePropertyArray struct { extraProperties map[string]interface{} } +func (f *FilePropertyArray) GetKey() *NameAndWireValue { + if f == nil { + return nil + } + return f.Key +} + +func (f *FilePropertyArray) GetIsOptional() bool { + if f == nil { + return false + } + return f.IsOptional +} + +func (f *FilePropertyArray) GetContentType() *string { + if f == nil { + return nil + } + return f.ContentType +} + func (f *FilePropertyArray) GetExtraProperties() map[string]interface{} { return f.extraProperties } @@ -2652,6 +3864,27 @@ type FilePropertySingle struct { extraProperties map[string]interface{} } +func (f *FilePropertySingle) GetKey() *NameAndWireValue { + if f == nil { + return nil + } + return f.Key +} + +func (f *FilePropertySingle) GetIsOptional() bool { + if f == nil { + return false + } + return f.IsOptional +} + +func (f *FilePropertySingle) GetContentType() *string { + if f == nil { + return nil + } + return f.ContentType +} + func (f *FilePropertySingle) GetExtraProperties() map[string]interface{} { return f.extraProperties } @@ -2690,6 +3923,41 @@ type FileUploadBodyProperty struct { extraProperties map[string]interface{} } +func (f *FileUploadBodyProperty) GetDocs() *string { + if f == nil { + return nil + } + return f.Docs +} + +func (f *FileUploadBodyProperty) GetAvailability() *Availability { + if f == nil { + return nil + } + return f.Availability +} + +func (f *FileUploadBodyProperty) GetName() *NameAndWireValue { + if f == nil { + return nil + } + return f.Name +} + +func (f *FileUploadBodyProperty) GetValueType() *TypeReference { + if f == nil { + return nil + } + return f.ValueType +} + +func (f *FileUploadBodyProperty) GetContentType() *string { + if f == nil { + return nil + } + return f.ContentType +} + func (f *FileUploadBodyProperty) GetExtraProperties() map[string]interface{} { return f.extraProperties } @@ -2726,6 +3994,27 @@ type FileUploadRequest struct { extraProperties map[string]interface{} } +func (f *FileUploadRequest) GetDocs() *string { + if f == nil { + return nil + } + return f.Docs +} + +func (f *FileUploadRequest) GetName() *Name { + if f == nil { + return nil + } + return f.Name +} + +func (f *FileUploadRequest) GetProperties() []*FileUploadRequestProperty { + if f == nil { + return nil + } + return f.Properties +} + func (f *FileUploadRequest) GetExtraProperties() map[string]interface{} { return f.extraProperties } @@ -2768,6 +4057,27 @@ func NewFileUploadRequestPropertyFromBodyProperty(value *FileUploadBodyProperty) return &FileUploadRequestProperty{Type: "bodyProperty", BodyProperty: value} } +func (f *FileUploadRequestProperty) GetType() string { + if f == nil { + return "" + } + return f.Type +} + +func (f *FileUploadRequestProperty) GetFile() *FileProperty { + if f == nil { + return nil + } + return f.File +} + +func (f *FileUploadRequestProperty) GetBodyProperty() *FileUploadBodyProperty { + if f == nil { + return nil + } + return f.BodyProperty +} + func (f *FileUploadRequestProperty) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -2838,6 +4148,13 @@ type GrpcTransport struct { extraProperties map[string]interface{} } +func (g *GrpcTransport) GetService() *ProtobufService { + if g == nil { + return nil + } + return g.Service +} + func (g *GrpcTransport) GetExtraProperties() map[string]interface{} { return g.extraProperties } @@ -2896,6 +4213,174 @@ type HttpEndpoint struct { extraProperties map[string]interface{} } +func (h *HttpEndpoint) GetDocs() *string { + if h == nil { + return nil + } + return h.Docs +} + +func (h *HttpEndpoint) GetAvailability() *Availability { + if h == nil { + return nil + } + return h.Availability +} + +func (h *HttpEndpoint) GetId() EndpointId { + if h == nil { + return "" + } + return h.Id +} + +func (h *HttpEndpoint) GetName() EndpointName { + if h == nil { + return nil + } + return h.Name +} + +func (h *HttpEndpoint) GetDisplayName() *string { + if h == nil { + return nil + } + return h.DisplayName +} + +func (h *HttpEndpoint) GetMethod() HttpMethod { + if h == nil { + return "" + } + return h.Method +} + +func (h *HttpEndpoint) GetHeaders() []*HttpHeader { + if h == nil { + return nil + } + return h.Headers +} + +func (h *HttpEndpoint) GetBaseUrl() *EnvironmentBaseUrlId { + if h == nil { + return nil + } + return h.BaseUrl +} + +func (h *HttpEndpoint) GetBasePath() *HttpPath { + if h == nil { + return nil + } + return h.BasePath +} + +func (h *HttpEndpoint) GetPath() *HttpPath { + if h == nil { + return nil + } + return h.Path +} + +func (h *HttpEndpoint) GetFullPath() *HttpPath { + if h == nil { + return nil + } + return h.FullPath +} + +func (h *HttpEndpoint) GetPathParameters() []*PathParameter { + if h == nil { + return nil + } + return h.PathParameters +} + +func (h *HttpEndpoint) GetAllPathParameters() []*PathParameter { + if h == nil { + return nil + } + return h.AllPathParameters +} + +func (h *HttpEndpoint) GetQueryParameters() []*QueryParameter { + if h == nil { + return nil + } + return h.QueryParameters +} + +func (h *HttpEndpoint) GetRequestBody() *HttpRequestBody { + if h == nil { + return nil + } + return h.RequestBody +} + +func (h *HttpEndpoint) GetSdkRequest() *SdkRequest { + if h == nil { + return nil + } + return h.SdkRequest +} + +func (h *HttpEndpoint) GetResponse() *HttpResponse { + if h == nil { + return nil + } + return h.Response +} + +func (h *HttpEndpoint) GetErrors() ResponseErrors { + if h == nil { + return nil + } + return h.Errors +} + +func (h *HttpEndpoint) GetAuth() bool { + if h == nil { + return false + } + return h.Auth +} + +func (h *HttpEndpoint) GetIdempotent() bool { + if h == nil { + return false + } + return h.Idempotent +} + +func (h *HttpEndpoint) GetPagination() *Pagination { + if h == nil { + return nil + } + return h.Pagination +} + +func (h *HttpEndpoint) GetUserSpecifiedExamples() []*UserSpecifiedEndpointExample { + if h == nil { + return nil + } + return h.UserSpecifiedExamples +} + +func (h *HttpEndpoint) GetAutogeneratedExamples() []*AutogeneratedEndpointExample { + if h == nil { + return nil + } + return h.AutogeneratedExamples +} + +func (h *HttpEndpoint) GetTransport() *Transport { + if h == nil { + return nil + } + return h.Transport +} + func (h *HttpEndpoint) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -2934,6 +4419,41 @@ type HttpHeader struct { extraProperties map[string]interface{} } +func (h *HttpHeader) GetDocs() *string { + if h == nil { + return nil + } + return h.Docs +} + +func (h *HttpHeader) GetAvailability() *Availability { + if h == nil { + return nil + } + return h.Availability +} + +func (h *HttpHeader) GetName() *NameAndWireValue { + if h == nil { + return nil + } + return h.Name +} + +func (h *HttpHeader) GetValueType() *TypeReference { + if h == nil { + return nil + } + return h.ValueType +} + +func (h *HttpHeader) GetEnv() *string { + if h == nil { + return nil + } + return h.Env +} + func (h *HttpHeader) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -3000,6 +4520,20 @@ type HttpPath struct { extraProperties map[string]interface{} } +func (h *HttpPath) GetHead() string { + if h == nil { + return "" + } + return h.Head +} + +func (h *HttpPath) GetParts() []*HttpPathPart { + if h == nil { + return nil + } + return h.Parts +} + func (h *HttpPath) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -3035,6 +4569,20 @@ type HttpPathPart struct { extraProperties map[string]interface{} } +func (h *HttpPathPart) GetPathParameter() string { + if h == nil { + return "" + } + return h.PathParameter +} + +func (h *HttpPathPart) GetTail() string { + if h == nil { + return "" + } + return h.Tail +} + func (h *HttpPathPart) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -3087,6 +4635,41 @@ func NewHttpRequestBodyFromBytes(value *BytesRequest) *HttpRequestBody { return &HttpRequestBody{Type: "bytes", Bytes: value} } +func (h *HttpRequestBody) GetType() string { + if h == nil { + return "" + } + return h.Type +} + +func (h *HttpRequestBody) GetInlinedRequestBody() *InlinedRequestBody { + if h == nil { + return nil + } + return h.InlinedRequestBody +} + +func (h *HttpRequestBody) GetReference() *HttpRequestBodyReference { + if h == nil { + return nil + } + return h.Reference +} + +func (h *HttpRequestBody) GetFileUpload() *FileUploadRequest { + if h == nil { + return nil + } + return h.FileUpload +} + +func (h *HttpRequestBody) GetBytes() *BytesRequest { + if h == nil { + return nil + } + return h.Bytes +} + func (h *HttpRequestBody) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -3172,6 +4755,27 @@ type HttpRequestBodyReference struct { extraProperties map[string]interface{} } +func (h *HttpRequestBodyReference) GetDocs() *string { + if h == nil { + return nil + } + return h.Docs +} + +func (h *HttpRequestBodyReference) GetRequestBodyType() *TypeReference { + if h == nil { + return nil + } + return h.RequestBodyType +} + +func (h *HttpRequestBodyReference) GetContentType() *string { + if h == nil { + return nil + } + return h.ContentType +} + func (h *HttpRequestBodyReference) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -3207,6 +4811,20 @@ type HttpResponse struct { extraProperties map[string]interface{} } +func (h *HttpResponse) GetStatusCode() *int { + if h == nil { + return nil + } + return h.StatusCode +} + +func (h *HttpResponse) GetBody() *HttpResponseBody { + if h == nil { + return nil + } + return h.Body +} + func (h *HttpResponse) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -3266,6 +4884,48 @@ func NewHttpResponseBodyFromStreamParameter(value *StreamParameterResponse) *Htt return &HttpResponseBody{Type: "streamParameter", StreamParameter: value} } +func (h *HttpResponseBody) GetType() string { + if h == nil { + return "" + } + return h.Type +} + +func (h *HttpResponseBody) GetJson() *JsonResponse { + if h == nil { + return nil + } + return h.Json +} + +func (h *HttpResponseBody) GetFileDownload() *FileDownloadResponse { + if h == nil { + return nil + } + return h.FileDownload +} + +func (h *HttpResponseBody) GetText() *TextResponse { + if h == nil { + return nil + } + return h.Text +} + +func (h *HttpResponseBody) GetStreaming() *StreamingResponse { + if h == nil { + return nil + } + return h.Streaming +} + +func (h *HttpResponseBody) GetStreamParameter() *StreamParameterResponse { + if h == nil { + return nil + } + return h.StreamParameter +} + func (h *HttpResponseBody) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -3386,6 +5046,69 @@ type HttpService struct { extraProperties map[string]interface{} } +func (h *HttpService) GetAvailability() *Availability { + if h == nil { + return nil + } + return h.Availability +} + +func (h *HttpService) GetName() *DeclaredServiceName { + if h == nil { + return nil + } + return h.Name +} + +func (h *HttpService) GetDisplayName() *string { + if h == nil { + return nil + } + return h.DisplayName +} + +func (h *HttpService) GetBasePath() *HttpPath { + if h == nil { + return nil + } + return h.BasePath +} + +func (h *HttpService) GetEndpoints() []*HttpEndpoint { + if h == nil { + return nil + } + return h.Endpoints +} + +func (h *HttpService) GetHeaders() []*HttpHeader { + if h == nil { + return nil + } + return h.Headers +} + +func (h *HttpService) GetPathParameters() []*PathParameter { + if h == nil { + return nil + } + return h.PathParameters +} + +func (h *HttpService) GetEncoding() *Encoding { + if h == nil { + return nil + } + return h.Encoding +} + +func (h *HttpService) GetTransport() *Transport { + if h == nil { + return nil + } + return h.Transport +} + func (h *HttpService) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -3428,8 +5151,53 @@ type InlinedRequestBody struct { extraProperties map[string]interface{} } -func (i *InlinedRequestBody) GetExtraProperties() map[string]interface{} { - return i.extraProperties +func (i *InlinedRequestBody) GetDocs() *string { + if i == nil { + return nil + } + return i.Docs +} + +func (i *InlinedRequestBody) GetName() *Name { + if i == nil { + return nil + } + return i.Name +} + +func (i *InlinedRequestBody) GetExtends() []*DeclaredTypeName { + if i == nil { + return nil + } + return i.Extends +} + +func (i *InlinedRequestBody) GetProperties() []*InlinedRequestBodyProperty { + if i == nil { + return nil + } + return i.Properties +} + +func (i *InlinedRequestBody) GetExtendedProperties() []*ObjectProperty { + if i == nil { + return nil + } + return i.ExtendedProperties +} + +func (i *InlinedRequestBody) GetContentType() *string { + if i == nil { + return nil + } + return i.ContentType +} + +func (i *InlinedRequestBody) GetExtraProperties() bool { + if i == nil { + return false + } + return i.ExtraProperties } func (i *InlinedRequestBody) UnmarshalJSON(data []byte) error { @@ -3465,6 +5233,34 @@ type InlinedRequestBodyProperty struct { extraProperties map[string]interface{} } +func (i *InlinedRequestBodyProperty) GetDocs() *string { + if i == nil { + return nil + } + return i.Docs +} + +func (i *InlinedRequestBodyProperty) GetAvailability() *Availability { + if i == nil { + return nil + } + return i.Availability +} + +func (i *InlinedRequestBodyProperty) GetName() *NameAndWireValue { + if i == nil { + return nil + } + return i.Name +} + +func (i *InlinedRequestBodyProperty) GetValueType() *TypeReference { + if i == nil { + return nil + } + return i.ValueType +} + func (i *InlinedRequestBodyProperty) GetExtraProperties() map[string]interface{} { return i.extraProperties } @@ -3507,6 +5303,27 @@ func NewJsonResponseFromNestedPropertyAsResponse(value *JsonResponseBodyWithProp return &JsonResponse{Type: "nestedPropertyAsResponse", NestedPropertyAsResponse: value} } +func (j *JsonResponse) GetType() string { + if j == nil { + return "" + } + return j.Type +} + +func (j *JsonResponse) GetResponse() *JsonResponseBody { + if j == nil { + return nil + } + return j.Response +} + +func (j *JsonResponse) GetNestedPropertyAsResponse() *JsonResponseBodyWithProperty { + if j == nil { + return nil + } + return j.NestedPropertyAsResponse +} + func (j *JsonResponse) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -3569,6 +5386,20 @@ type JsonResponseBody struct { extraProperties map[string]interface{} } +func (j *JsonResponseBody) GetDocs() *string { + if j == nil { + return nil + } + return j.Docs +} + +func (j *JsonResponseBody) GetResponseBodyType() *TypeReference { + if j == nil { + return nil + } + return j.ResponseBodyType +} + func (j *JsonResponseBody) GetExtraProperties() map[string]interface{} { return j.extraProperties } @@ -3610,6 +5441,27 @@ type JsonResponseBodyWithProperty struct { extraProperties map[string]interface{} } +func (j *JsonResponseBodyWithProperty) GetDocs() *string { + if j == nil { + return nil + } + return j.Docs +} + +func (j *JsonResponseBodyWithProperty) GetResponseBodyType() *TypeReference { + if j == nil { + return nil + } + return j.ResponseBodyType +} + +func (j *JsonResponseBodyWithProperty) GetResponseProperty() *ObjectProperty { + if j == nil { + return nil + } + return j.ResponseProperty +} + func (j *JsonResponseBodyWithProperty) GetExtraProperties() map[string]interface{} { return j.extraProperties } @@ -3646,6 +5498,27 @@ type JsonStreamChunk struct { extraProperties map[string]interface{} } +func (j *JsonStreamChunk) GetDocs() *string { + if j == nil { + return nil + } + return j.Docs +} + +func (j *JsonStreamChunk) GetPayload() *TypeReference { + if j == nil { + return nil + } + return j.Payload +} + +func (j *JsonStreamChunk) GetTerminator() *string { + if j == nil { + return nil + } + return j.Terminator +} + func (j *JsonStreamChunk) GetExtraProperties() map[string]interface{} { return j.extraProperties } @@ -3693,6 +5566,34 @@ func NewNonStreamHttpResponseBodyFromText(value *TextResponse) *NonStreamHttpRes return &NonStreamHttpResponseBody{Type: "text", Text: value} } +func (n *NonStreamHttpResponseBody) GetType() string { + if n == nil { + return "" + } + return n.Type +} + +func (n *NonStreamHttpResponseBody) GetJson() *JsonResponse { + if n == nil { + return nil + } + return n.Json +} + +func (n *NonStreamHttpResponseBody) GetFileDownload() *FileDownloadResponse { + if n == nil { + return nil + } + return n.FileDownload +} + +func (n *NonStreamHttpResponseBody) GetText() *TextResponse { + if n == nil { + return nil + } + return n.Text +} + func (n *NonStreamHttpResponseBody) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -3783,6 +5684,34 @@ type OffsetPagination struct { extraProperties map[string]interface{} } +func (o *OffsetPagination) GetPage() *RequestProperty { + if o == nil { + return nil + } + return o.Page +} + +func (o *OffsetPagination) GetResults() *ResponseProperty { + if o == nil { + return nil + } + return o.Results +} + +func (o *OffsetPagination) GetHasNextPage() *ResponseProperty { + if o == nil { + return nil + } + return o.HasNextPage +} + +func (o *OffsetPagination) GetStep() *RequestProperty { + if o == nil { + return nil + } + return o.Step +} + func (o *OffsetPagination) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -3826,6 +5755,27 @@ func NewPaginationFromOffset(value *OffsetPagination) *Pagination { return &Pagination{Type: "offset", Offset: value} } +func (p *Pagination) GetType() string { + if p == nil { + return "" + } + return p.Type +} + +func (p *Pagination) GetCursor() *CursorPagination { + if p == nil { + return nil + } + return p.Cursor +} + +func (p *Pagination) GetOffset() *OffsetPagination { + if p == nil { + return nil + } + return p.Offset +} + func (p *Pagination) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -3891,6 +5841,41 @@ type PathParameter struct { extraProperties map[string]interface{} } +func (p *PathParameter) GetDocs() *string { + if p == nil { + return nil + } + return p.Docs +} + +func (p *PathParameter) GetName() *Name { + if p == nil { + return nil + } + return p.Name +} + +func (p *PathParameter) GetValueType() *TypeReference { + if p == nil { + return nil + } + return p.ValueType +} + +func (p *PathParameter) GetLocation() PathParameterLocation { + if p == nil { + return "" + } + return p.Location +} + +func (p *PathParameter) GetVariable() *VariableId { + if p == nil { + return nil + } + return p.Variable +} + func (p *PathParameter) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -3954,6 +5939,41 @@ type QueryParameter struct { extraProperties map[string]interface{} } +func (q *QueryParameter) GetDocs() *string { + if q == nil { + return nil + } + return q.Docs +} + +func (q *QueryParameter) GetAvailability() *Availability { + if q == nil { + return nil + } + return q.Availability +} + +func (q *QueryParameter) GetName() *NameAndWireValue { + if q == nil { + return nil + } + return q.Name +} + +func (q *QueryParameter) GetValueType() *TypeReference { + if q == nil { + return nil + } + return q.ValueType +} + +func (q *QueryParameter) GetAllowMultiple() bool { + if q == nil { + return false + } + return q.AllowMultiple +} + func (q *QueryParameter) GetExtraProperties() map[string]interface{} { return q.extraProperties } @@ -3993,6 +6013,20 @@ type RequestProperty struct { extraProperties map[string]interface{} } +func (r *RequestProperty) GetPropertyPath() []*Name { + if r == nil { + return nil + } + return r.PropertyPath +} + +func (r *RequestProperty) GetProperty() *RequestPropertyValue { + if r == nil { + return nil + } + return r.Property +} + func (r *RequestProperty) GetExtraProperties() map[string]interface{} { return r.extraProperties } @@ -4035,6 +6069,27 @@ func NewRequestPropertyValueFromBody(value *ObjectProperty) *RequestPropertyValu return &RequestPropertyValue{Type: "body", Body: value} } +func (r *RequestPropertyValue) GetType() string { + if r == nil { + return "" + } + return r.Type +} + +func (r *RequestPropertyValue) GetQuery() *QueryParameter { + if r == nil { + return nil + } + return r.Query +} + +func (r *RequestPropertyValue) GetBody() *ObjectProperty { + if r == nil { + return nil + } + return r.Body +} + func (r *RequestPropertyValue) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -4097,6 +6152,20 @@ type ResponseError struct { extraProperties map[string]interface{} } +func (r *ResponseError) GetDocs() *string { + if r == nil { + return nil + } + return r.Docs +} + +func (r *ResponseError) GetError() *DeclaredErrorName { + if r == nil { + return nil + } + return r.Error +} + func (r *ResponseError) GetExtraProperties() map[string]interface{} { return r.extraProperties } @@ -4138,6 +6207,20 @@ type ResponseProperty struct { extraProperties map[string]interface{} } +func (r *ResponseProperty) GetPropertyPath() []*Name { + if r == nil { + return nil + } + return r.PropertyPath +} + +func (r *ResponseProperty) GetProperty() *ObjectProperty { + if r == nil { + return nil + } + return r.Property +} + func (r *ResponseProperty) GetExtraProperties() map[string]interface{} { return r.extraProperties } @@ -4175,6 +6258,27 @@ type SdkRequest struct { extraProperties map[string]interface{} } +func (s *SdkRequest) GetStreamParameter() *RequestProperty { + if s == nil { + return nil + } + return s.StreamParameter +} + +func (s *SdkRequest) GetRequestParameterName() *Name { + if s == nil { + return nil + } + return s.RequestParameterName +} + +func (s *SdkRequest) GetShape() *SdkRequestShape { + if s == nil { + return nil + } + return s.Shape +} + func (s *SdkRequest) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -4217,6 +6321,27 @@ func NewSdkRequestBodyTypeFromBytes(value *BytesRequest) *SdkRequestBodyType { return &SdkRequestBodyType{Type: "bytes", Bytes: value} } +func (s *SdkRequestBodyType) GetType() string { + if s == nil { + return "" + } + return s.Type +} + +func (s *SdkRequestBodyType) GetTypeReference() *HttpRequestBodyReference { + if s == nil { + return nil + } + return s.TypeReference +} + +func (s *SdkRequestBodyType) GetBytes() *BytesRequest { + if s == nil { + return nil + } + return s.Bytes +} + func (s *SdkRequestBodyType) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -4286,6 +6411,27 @@ func NewSdkRequestShapeFromWrapper(value *SdkRequestWrapper) *SdkRequestShape { return &SdkRequestShape{Type: "wrapper", Wrapper: value} } +func (s *SdkRequestShape) GetType() string { + if s == nil { + return "" + } + return s.Type +} + +func (s *SdkRequestShape) GetJustRequestBody() *SdkRequestBodyType { + if s == nil { + return nil + } + return s.JustRequestBody +} + +func (s *SdkRequestShape) GetWrapper() *SdkRequestWrapper { + if s == nil { + return nil + } + return s.Wrapper +} + func (s *SdkRequestShape) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -4351,12 +6497,42 @@ func (s *SdkRequestShape) Accept(visitor SdkRequestShapeVisitor) error { } type SdkRequestWrapper struct { - WrapperName *Name `json:"wrapperName,omitempty" url:"wrapperName,omitempty"` - BodyKey *Name `json:"bodyKey,omitempty" url:"bodyKey,omitempty"` + WrapperName *Name `json:"wrapperName,omitempty" url:"wrapperName,omitempty"` + BodyKey *Name `json:"bodyKey,omitempty" url:"bodyKey,omitempty"` + IncludePathParameters *bool `json:"includePathParameters,omitempty" url:"includePathParameters,omitempty"` + OnlyPathParameters *bool `json:"onlyPathParameters,omitempty" url:"onlyPathParameters,omitempty"` extraProperties map[string]interface{} } +func (s *SdkRequestWrapper) GetWrapperName() *Name { + if s == nil { + return nil + } + return s.WrapperName +} + +func (s *SdkRequestWrapper) GetBodyKey() *Name { + if s == nil { + return nil + } + return s.BodyKey +} + +func (s *SdkRequestWrapper) GetIncludePathParameters() *bool { + if s == nil { + return nil + } + return s.IncludePathParameters +} + +func (s *SdkRequestWrapper) GetOnlyPathParameters() *bool { + if s == nil { + return nil + } + return s.OnlyPathParameters +} + func (s *SdkRequestWrapper) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -4393,6 +6569,27 @@ type SseStreamChunk struct { extraProperties map[string]interface{} } +func (s *SseStreamChunk) GetDocs() *string { + if s == nil { + return nil + } + return s.Docs +} + +func (s *SseStreamChunk) GetPayload() *TypeReference { + if s == nil { + return nil + } + return s.Payload +} + +func (s *SseStreamChunk) GetTerminator() *string { + if s == nil { + return nil + } + return s.Terminator +} + func (s *SseStreamChunk) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -4428,6 +6625,20 @@ type StreamParameterResponse struct { extraProperties map[string]interface{} } +func (s *StreamParameterResponse) GetNonStreamResponse() *NonStreamHttpResponseBody { + if s == nil { + return nil + } + return s.NonStreamResponse +} + +func (s *StreamParameterResponse) GetStreamResponse() *StreamingResponse { + if s == nil { + return nil + } + return s.StreamResponse +} + func (s *StreamParameterResponse) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -4475,6 +6686,34 @@ func NewStreamingResponseFromSse(value *SseStreamChunk) *StreamingResponse { return &StreamingResponse{Type: "sse", Sse: value} } +func (s *StreamingResponse) GetType() string { + if s == nil { + return "" + } + return s.Type +} + +func (s *StreamingResponse) GetJson() *JsonStreamChunk { + if s == nil { + return nil + } + return s.Json +} + +func (s *StreamingResponse) GetText() *TextStreamChunk { + if s == nil { + return nil + } + return s.Text +} + +func (s *StreamingResponse) GetSse() *SseStreamChunk { + if s == nil { + return nil + } + return s.Sse +} + func (s *StreamingResponse) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -4587,6 +6826,13 @@ type TextResponse struct { extraProperties map[string]interface{} } +func (t *TextResponse) GetDocs() *string { + if t == nil { + return nil + } + return t.Docs +} + func (t *TextResponse) GetExtraProperties() map[string]interface{} { return t.extraProperties } @@ -4621,6 +6867,13 @@ type TextStreamChunk struct { extraProperties map[string]interface{} } +func (t *TextStreamChunk) GetDocs() *string { + if t == nil { + return nil + } + return t.Docs +} + func (t *TextStreamChunk) GetExtraProperties() map[string]interface{} { return t.extraProperties } @@ -4663,6 +6916,27 @@ func NewTransportFromGrpc(value *GrpcTransport) *Transport { return &Transport{Type: "grpc", Grpc: value} } +func (t *Transport) GetType() string { + if t == nil { + return "" + } + return t.Type +} + +func (t *Transport) GetHttp() interface{} { + if t == nil { + return nil + } + return t.Http +} + +func (t *Transport) GetGrpc() *GrpcTransport { + if t == nil { + return nil + } + return t.Grpc +} + func (t *Transport) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -4734,6 +7008,20 @@ type UserSpecifiedEndpointExample struct { extraProperties map[string]interface{} } +func (u *UserSpecifiedEndpointExample) GetCodeSamples() []*ExampleCodeSample { + if u == nil { + return nil + } + return u.CodeSamples +} + +func (u *UserSpecifiedEndpointExample) GetExample() *ExampleEndpointCall { + if u == nil { + return nil + } + return u.Example +} + func (u *UserSpecifiedEndpointExample) GetExtraProperties() map[string]interface{} { return u.extraProperties } @@ -4776,6 +7064,27 @@ func NewApiDefinitionSourceFromOpenapi(value interface{}) *ApiDefinitionSource { return &ApiDefinitionSource{Type: "openapi", Openapi: value} } +func (a *ApiDefinitionSource) GetType() string { + if a == nil { + return "" + } + return a.Type +} + +func (a *ApiDefinitionSource) GetProto() *ProtoSource { + if a == nil { + return nil + } + return a.Proto +} + +func (a *ApiDefinitionSource) GetOpenapi() interface{} { + if a == nil { + return nil + } + return a.Openapi +} + func (a *ApiDefinitionSource) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -4853,6 +7162,20 @@ func NewApiVersionSchemeFromHeader(value *HeaderApiVersionScheme) *ApiVersionSch return &ApiVersionScheme{Type: "header", Header: value} } +func (a *ApiVersionScheme) GetType() string { + if a == nil { + return "" + } + return a.Type +} + +func (a *ApiVersionScheme) GetHeader() *HeaderApiVersionScheme { + if a == nil { + return nil + } + return a.Header +} + func (a *ApiVersionScheme) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -4904,6 +7227,20 @@ type ErrorDiscriminationByPropertyStrategy struct { extraProperties map[string]interface{} } +func (e *ErrorDiscriminationByPropertyStrategy) GetDiscriminant() *NameAndWireValue { + if e == nil { + return nil + } + return e.Discriminant +} + +func (e *ErrorDiscriminationByPropertyStrategy) GetContentProperty() *NameAndWireValue { + if e == nil { + return nil + } + return e.ContentProperty +} + func (e *ErrorDiscriminationByPropertyStrategy) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -4946,6 +7283,27 @@ func NewErrorDiscriminationStrategyFromProperty(value *ErrorDiscriminationByProp return &ErrorDiscriminationStrategy{Type: "property", Property: value} } +func (e *ErrorDiscriminationStrategy) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ErrorDiscriminationStrategy) GetStatusCode() interface{} { + if e == nil { + return nil + } + return e.StatusCode +} + +func (e *ErrorDiscriminationStrategy) GetProperty() *ErrorDiscriminationByPropertyStrategy { + if e == nil { + return nil + } + return e.Property +} + func (e *ErrorDiscriminationStrategy) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -5020,6 +7378,20 @@ type HeaderApiVersionScheme struct { extraProperties map[string]interface{} } +func (h *HeaderApiVersionScheme) GetHeader() *HttpHeader { + if h == nil { + return nil + } + return h.Header +} + +func (h *HeaderApiVersionScheme) GetValue() *EnumTypeDeclaration { + if h == nil { + return nil + } + return h.Value +} + func (h *HeaderApiVersionScheme) GetExtraProperties() map[string]interface{} { return h.extraProperties } @@ -5088,6 +7460,188 @@ type IntermediateRepresentation struct { extraProperties map[string]interface{} } +func (i *IntermediateRepresentation) GetFdrApiDefinitionId() *string { + if i == nil { + return nil + } + return i.FdrApiDefinitionId +} + +func (i *IntermediateRepresentation) GetApiVersion() *ApiVersionScheme { + if i == nil { + return nil + } + return i.ApiVersion +} + +func (i *IntermediateRepresentation) GetApiName() *Name { + if i == nil { + return nil + } + return i.ApiName +} + +func (i *IntermediateRepresentation) GetApiDisplayName() *string { + if i == nil { + return nil + } + return i.ApiDisplayName +} + +func (i *IntermediateRepresentation) GetApiDocs() *string { + if i == nil { + return nil + } + return i.ApiDocs +} + +func (i *IntermediateRepresentation) GetAuth() *ApiAuth { + if i == nil { + return nil + } + return i.Auth +} + +func (i *IntermediateRepresentation) GetHeaders() []*HttpHeader { + if i == nil { + return nil + } + return i.Headers +} + +func (i *IntermediateRepresentation) GetIdempotencyHeaders() []*HttpHeader { + if i == nil { + return nil + } + return i.IdempotencyHeaders +} + +func (i *IntermediateRepresentation) GetTypes() map[TypeId]*TypeDeclaration { + if i == nil { + return nil + } + return i.Types +} + +func (i *IntermediateRepresentation) GetServices() map[ServiceId]*HttpService { + if i == nil { + return nil + } + return i.Services +} + +func (i *IntermediateRepresentation) GetWebhookGroups() map[WebhookGroupId]WebhookGroup { + if i == nil { + return nil + } + return i.WebhookGroups +} + +func (i *IntermediateRepresentation) GetWebsocketChannels() map[WebSocketChannelId]*WebSocketChannel { + if i == nil { + return nil + } + return i.WebsocketChannels +} + +func (i *IntermediateRepresentation) GetErrors() map[ErrorId]*ErrorDeclaration { + if i == nil { + return nil + } + return i.Errors +} + +func (i *IntermediateRepresentation) GetSubpackages() map[SubpackageId]*Subpackage { + if i == nil { + return nil + } + return i.Subpackages +} + +func (i *IntermediateRepresentation) GetRootPackage() *Package { + if i == nil { + return nil + } + return i.RootPackage +} + +func (i *IntermediateRepresentation) GetConstants() *Constants { + if i == nil { + return nil + } + return i.Constants +} + +func (i *IntermediateRepresentation) GetEnvironments() *EnvironmentsConfig { + if i == nil { + return nil + } + return i.Environments +} + +func (i *IntermediateRepresentation) GetBasePath() *HttpPath { + if i == nil { + return nil + } + return i.BasePath +} + +func (i *IntermediateRepresentation) GetPathParameters() []*PathParameter { + if i == nil { + return nil + } + return i.PathParameters +} + +func (i *IntermediateRepresentation) GetErrorDiscriminationStrategy() *ErrorDiscriminationStrategy { + if i == nil { + return nil + } + return i.ErrorDiscriminationStrategy +} + +func (i *IntermediateRepresentation) GetSdkConfig() *SdkConfig { + if i == nil { + return nil + } + return i.SdkConfig +} + +func (i *IntermediateRepresentation) GetVariables() []*VariableDeclaration { + if i == nil { + return nil + } + return i.Variables +} + +func (i *IntermediateRepresentation) GetServiceTypeReferenceInfo() *ServiceTypeReferenceInfo { + if i == nil { + return nil + } + return i.ServiceTypeReferenceInfo +} + +func (i *IntermediateRepresentation) GetReadmeConfig() *ReadmeConfig { + if i == nil { + return nil + } + return i.ReadmeConfig +} + +func (i *IntermediateRepresentation) GetSourceConfig() *SourceConfig { + if i == nil { + return nil + } + return i.SourceConfig +} + +func (i *IntermediateRepresentation) GetPublishConfig() *PublishingConfig { + if i == nil { + return nil + } + return i.PublishConfig +} + func (i *IntermediateRepresentation) GetExtraProperties() map[string]interface{} { return i.extraProperties } @@ -5131,6 +7685,76 @@ type Package struct { extraProperties map[string]interface{} } +func (p *Package) GetDocs() *string { + if p == nil { + return nil + } + return p.Docs +} + +func (p *Package) GetFernFilepath() *FernFilepath { + if p == nil { + return nil + } + return p.FernFilepath +} + +func (p *Package) GetService() *ServiceId { + if p == nil { + return nil + } + return p.Service +} + +func (p *Package) GetTypes() []TypeId { + if p == nil { + return nil + } + return p.Types +} + +func (p *Package) GetErrors() []ErrorId { + if p == nil { + return nil + } + return p.Errors +} + +func (p *Package) GetWebhooks() *WebhookGroupId { + if p == nil { + return nil + } + return p.Webhooks +} + +func (p *Package) GetWebsocket() *WebSocketChannelId { + if p == nil { + return nil + } + return p.Websocket +} + +func (p *Package) GetSubpackages() []SubpackageId { + if p == nil { + return nil + } + return p.Subpackages +} + +func (p *Package) GetHasEndpointsInTree() bool { + if p == nil { + return false + } + return p.HasEndpointsInTree +} + +func (p *Package) GetNavigationConfig() *PackageNavigationConfig { + if p == nil { + return nil + } + return p.NavigationConfig +} + func (p *Package) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -5165,6 +7789,13 @@ type PackageNavigationConfig struct { extraProperties map[string]interface{} } +func (p *PackageNavigationConfig) GetPointsTo() SubpackageId { + if p == nil { + return "" + } + return p.PointsTo +} + func (p *PackageNavigationConfig) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -5202,6 +7833,34 @@ type PlatformHeaders struct { extraProperties map[string]interface{} } +func (p *PlatformHeaders) GetLanguage() string { + if p == nil { + return "" + } + return p.Language +} + +func (p *PlatformHeaders) GetSdkName() string { + if p == nil { + return "" + } + return p.SdkName +} + +func (p *PlatformHeaders) GetSdkVersion() string { + if p == nil { + return "" + } + return p.SdkVersion +} + +func (p *PlatformHeaders) GetUserAgent() *UserAgent { + if p == nil { + return nil + } + return p.UserAgent +} + func (p *PlatformHeaders) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -5239,6 +7898,20 @@ type ProtoSource struct { extraProperties map[string]interface{} } +func (p *ProtoSource) GetId() ApiDefinitionSourceId { + if p == nil { + return "" + } + return p.Id +} + +func (p *ProtoSource) GetProtoRootUrl() string { + if p == nil { + return "" + } + return p.ProtoRootUrl +} + func (p *ProtoSource) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -5284,6 +7957,41 @@ type ReadmeConfig struct { extraProperties map[string]interface{} } +func (r *ReadmeConfig) GetDefaultEndpoint() *EndpointId { + if r == nil { + return nil + } + return r.DefaultEndpoint +} + +func (r *ReadmeConfig) GetBannerLink() *string { + if r == nil { + return nil + } + return r.BannerLink +} + +func (r *ReadmeConfig) GetIntroduction() *string { + if r == nil { + return nil + } + return r.Introduction +} + +func (r *ReadmeConfig) GetApiReferenceLink() *string { + if r == nil { + return nil + } + return r.ApiReferenceLink +} + +func (r *ReadmeConfig) GetFeatures() map[FeatureId][]EndpointId { + if r == nil { + return nil + } + return r.Features +} + func (r *ReadmeConfig) GetExtraProperties() map[string]interface{} { return r.extraProperties } @@ -5319,7 +8027,42 @@ type SdkConfig struct { HasFileDownloadEndpoints bool `json:"hasFileDownloadEndpoints" url:"hasFileDownloadEndpoints"` PlatformHeaders *PlatformHeaders `json:"platformHeaders,omitempty" url:"platformHeaders,omitempty"` - extraProperties map[string]interface{} + extraProperties map[string]interface{} +} + +func (s *SdkConfig) GetIsAuthMandatory() bool { + if s == nil { + return false + } + return s.IsAuthMandatory +} + +func (s *SdkConfig) GetHasStreamingEndpoints() bool { + if s == nil { + return false + } + return s.HasStreamingEndpoints +} + +func (s *SdkConfig) GetHasPaginatedEndpoints() bool { + if s == nil { + return false + } + return s.HasPaginatedEndpoints +} + +func (s *SdkConfig) GetHasFileDownloadEndpoints() bool { + if s == nil { + return false + } + return s.HasFileDownloadEndpoints +} + +func (s *SdkConfig) GetPlatformHeaders() *PlatformHeaders { + if s == nil { + return nil + } + return s.PlatformHeaders } func (s *SdkConfig) GetExtraProperties() map[string]interface{} { @@ -5359,6 +8102,20 @@ type ServiceTypeReferenceInfo struct { extraProperties map[string]interface{} } +func (s *ServiceTypeReferenceInfo) GetTypesReferencedOnlyByService() map[ServiceId][]TypeId { + if s == nil { + return nil + } + return s.TypesReferencedOnlyByService +} + +func (s *ServiceTypeReferenceInfo) GetSharedTypes() []TypeId { + if s == nil { + return nil + } + return s.SharedTypes +} + func (s *ServiceTypeReferenceInfo) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -5394,6 +8151,13 @@ type SourceConfig struct { extraProperties map[string]interface{} } +func (s *SourceConfig) GetSources() []*ApiDefinitionSource { + if s == nil { + return nil + } + return s.Sources +} + func (s *SourceConfig) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -5438,6 +8202,83 @@ type Subpackage struct { extraProperties map[string]interface{} } +func (s *Subpackage) GetDocs() *string { + if s == nil { + return nil + } + return s.Docs +} + +func (s *Subpackage) GetFernFilepath() *FernFilepath { + if s == nil { + return nil + } + return s.FernFilepath +} + +func (s *Subpackage) GetService() *ServiceId { + if s == nil { + return nil + } + return s.Service +} + +func (s *Subpackage) GetTypes() []TypeId { + if s == nil { + return nil + } + return s.Types +} + +func (s *Subpackage) GetErrors() []ErrorId { + if s == nil { + return nil + } + return s.Errors +} + +func (s *Subpackage) GetWebhooks() *WebhookGroupId { + if s == nil { + return nil + } + return s.Webhooks +} + +func (s *Subpackage) GetWebsocket() *WebSocketChannelId { + if s == nil { + return nil + } + return s.Websocket +} + +func (s *Subpackage) GetSubpackages() []SubpackageId { + if s == nil { + return nil + } + return s.Subpackages +} + +func (s *Subpackage) GetHasEndpointsInTree() bool { + if s == nil { + return false + } + return s.HasEndpointsInTree +} + +func (s *Subpackage) GetNavigationConfig() *PackageNavigationConfig { + if s == nil { + return nil + } + return s.NavigationConfig +} + +func (s *Subpackage) GetName() *Name { + if s == nil { + return nil + } + return s.Name +} + func (s *Subpackage) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -5475,14 +8316,21 @@ type UserAgent struct { extraProperties map[string]interface{} } -func (u *UserAgent) GetExtraProperties() map[string]interface{} { - return u.extraProperties +func (u *UserAgent) GetValue() string { + if u == nil { + return "" + } + return u.Value } func (u *UserAgent) Header() string { return u.header } +func (u *UserAgent) GetExtraProperties() map[string]interface{} { + return u.extraProperties +} + func (u *UserAgent) UnmarshalJSON(data []byte) error { type embed UserAgent var unmarshaler = struct { @@ -5542,6 +8390,13 @@ type CsharpProtobufFileOptions struct { extraProperties map[string]interface{} } +func (c *CsharpProtobufFileOptions) GetNamespace() string { + if c == nil { + return "" + } + return c.Namespace +} + func (c *CsharpProtobufFileOptions) GetExtraProperties() map[string]interface{} { return c.extraProperties } @@ -5582,6 +8437,27 @@ type ProtobufFile struct { extraProperties map[string]interface{} } +func (p *ProtobufFile) GetFilepath() string { + if p == nil { + return "" + } + return p.Filepath +} + +func (p *ProtobufFile) GetPackageName() *string { + if p == nil { + return nil + } + return p.PackageName +} + +func (p *ProtobufFile) GetOptions() *ProtobufFileOptions { + if p == nil { + return nil + } + return p.Options +} + func (p *ProtobufFile) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -5616,6 +8492,13 @@ type ProtobufFileOptions struct { extraProperties map[string]interface{} } +func (p *ProtobufFileOptions) GetCsharp() *CsharpProtobufFileOptions { + if p == nil { + return nil + } + return p.Csharp +} + func (p *ProtobufFileOptions) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -5676,6 +8559,20 @@ type ProtobufService struct { extraProperties map[string]interface{} } +func (p *ProtobufService) GetFile() *ProtobufFile { + if p == nil { + return nil + } + return p.File +} + +func (p *ProtobufService) GetName() *Name { + if p == nil { + return nil + } + return p.Name +} + func (p *ProtobufService) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -5719,6 +8616,27 @@ func NewProtobufTypeFromUserDefined(value *UserDefinedProtobufType) *ProtobufTyp return &ProtobufType{Type: "userDefined", UserDefined: value} } +func (p *ProtobufType) GetType() string { + if p == nil { + return "" + } + return p.Type +} + +func (p *ProtobufType) GetWellKnown() *WellKnownProtobufType { + if p == nil { + return nil + } + return p.WellKnown +} + +func (p *ProtobufType) GetUserDefined() *UserDefinedProtobufType { + if p == nil { + return nil + } + return p.UserDefined +} + func (p *ProtobufType) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -5820,6 +8738,20 @@ type UserDefinedProtobufType struct { extraProperties map[string]interface{} } +func (u *UserDefinedProtobufType) GetFile() *ProtobufFile { + if u == nil { + return nil + } + return u.File +} + +func (u *UserDefinedProtobufType) GetName() *Name { + if u == nil { + return nil + } + return u.Name +} + func (u *UserDefinedProtobufType) GetExtraProperties() map[string]interface{} { return u.extraProperties } @@ -5853,7 +8785,7 @@ func (u *UserDefinedProtobufType) String() string { // // The full list of well-known types can be found at https://protobuf.dev/reference/protobuf/google.protobuf type WellKnownProtobufType struct { - Type string + Type_ string Any interface{} Api interface{} BoolValue interface{} @@ -5880,130 +8812,347 @@ type WellKnownProtobufType struct { Struct interface{} Syntax interface{} Timestamp interface{} - Type_ interface{} + Type interface{} Uint32Value interface{} Uint64Value interface{} Value interface{} } func NewWellKnownProtobufTypeFromAny(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "any", Any: value} + return &WellKnownProtobufType{Type_: "any", Any: value} } func NewWellKnownProtobufTypeFromApi(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "api", Api: value} + return &WellKnownProtobufType{Type_: "api", Api: value} } func NewWellKnownProtobufTypeFromBoolValue(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "boolValue", BoolValue: value} + return &WellKnownProtobufType{Type_: "boolValue", BoolValue: value} } func NewWellKnownProtobufTypeFromBytesValue(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "bytesValue", BytesValue: value} + return &WellKnownProtobufType{Type_: "bytesValue", BytesValue: value} } func NewWellKnownProtobufTypeFromDoubleValue(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "doubleValue", DoubleValue: value} + return &WellKnownProtobufType{Type_: "doubleValue", DoubleValue: value} } func NewWellKnownProtobufTypeFromDuration(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "duration", Duration: value} + return &WellKnownProtobufType{Type_: "duration", Duration: value} } func NewWellKnownProtobufTypeFromEmpty(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "empty", Empty: value} + return &WellKnownProtobufType{Type_: "empty", Empty: value} } func NewWellKnownProtobufTypeFromEnum(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "enum", Enum: value} + return &WellKnownProtobufType{Type_: "enum", Enum: value} } func NewWellKnownProtobufTypeFromEnumValue(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "enumValue", EnumValue: value} + return &WellKnownProtobufType{Type_: "enumValue", EnumValue: value} } func NewWellKnownProtobufTypeFromField(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "field", Field: value} + return &WellKnownProtobufType{Type_: "field", Field: value} } func NewWellKnownProtobufTypeFromFieldCardinality(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "fieldCardinality", FieldCardinality: value} + return &WellKnownProtobufType{Type_: "fieldCardinality", FieldCardinality: value} } func NewWellKnownProtobufTypeFromFieldKind(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "fieldKind", FieldKind: value} + return &WellKnownProtobufType{Type_: "fieldKind", FieldKind: value} } func NewWellKnownProtobufTypeFromFieldMask(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "fieldMask", FieldMask: value} + return &WellKnownProtobufType{Type_: "fieldMask", FieldMask: value} } func NewWellKnownProtobufTypeFromFloatValue(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "floatValue", FloatValue: value} + return &WellKnownProtobufType{Type_: "floatValue", FloatValue: value} } func NewWellKnownProtobufTypeFromInt32Value(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "int32Value", Int32Value: value} + return &WellKnownProtobufType{Type_: "int32Value", Int32Value: value} } func NewWellKnownProtobufTypeFromInt64Value(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "int64Value", Int64Value: value} + return &WellKnownProtobufType{Type_: "int64Value", Int64Value: value} } func NewWellKnownProtobufTypeFromListValue(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "listValue", ListValue: value} + return &WellKnownProtobufType{Type_: "listValue", ListValue: value} } func NewWellKnownProtobufTypeFromMethod(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "method", Method: value} + return &WellKnownProtobufType{Type_: "method", Method: value} } func NewWellKnownProtobufTypeFromMixin(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "mixin", Mixin: value} + return &WellKnownProtobufType{Type_: "mixin", Mixin: value} } func NewWellKnownProtobufTypeFromNullValue(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "nullValue", NullValue: value} + return &WellKnownProtobufType{Type_: "nullValue", NullValue: value} } func NewWellKnownProtobufTypeFromOption(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "option", Option: value} + return &WellKnownProtobufType{Type_: "option", Option: value} } func NewWellKnownProtobufTypeFromSourceContext(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "sourceContext", SourceContext: value} + return &WellKnownProtobufType{Type_: "sourceContext", SourceContext: value} } func NewWellKnownProtobufTypeFromStringValue(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "stringValue", StringValue: value} + return &WellKnownProtobufType{Type_: "stringValue", StringValue: value} } func NewWellKnownProtobufTypeFromStruct(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "struct", Struct: value} + return &WellKnownProtobufType{Type_: "struct", Struct: value} } func NewWellKnownProtobufTypeFromSyntax(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "syntax", Syntax: value} + return &WellKnownProtobufType{Type_: "syntax", Syntax: value} } func NewWellKnownProtobufTypeFromTimestamp(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "timestamp", Timestamp: value} + return &WellKnownProtobufType{Type_: "timestamp", Timestamp: value} } func NewWellKnownProtobufTypeFromType(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "type", Type_: value} + return &WellKnownProtobufType{Type_: "type", Type: value} } func NewWellKnownProtobufTypeFromUint32Value(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "uint32Value", Uint32Value: value} + return &WellKnownProtobufType{Type_: "uint32Value", Uint32Value: value} } func NewWellKnownProtobufTypeFromUint64Value(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "uint64Value", Uint64Value: value} + return &WellKnownProtobufType{Type_: "uint64Value", Uint64Value: value} } func NewWellKnownProtobufTypeFromValue(value interface{}) *WellKnownProtobufType { - return &WellKnownProtobufType{Type: "value", Value: value} + return &WellKnownProtobufType{Type_: "value", Value: value} +} + +func (w *WellKnownProtobufType) GetType_() string { + if w == nil { + return "" + } + return w.Type_ +} + +func (w *WellKnownProtobufType) GetAny() interface{} { + if w == nil { + return nil + } + return w.Any +} + +func (w *WellKnownProtobufType) GetApi() interface{} { + if w == nil { + return nil + } + return w.Api +} + +func (w *WellKnownProtobufType) GetBoolValue() interface{} { + if w == nil { + return nil + } + return w.BoolValue +} + +func (w *WellKnownProtobufType) GetBytesValue() interface{} { + if w == nil { + return nil + } + return w.BytesValue +} + +func (w *WellKnownProtobufType) GetDoubleValue() interface{} { + if w == nil { + return nil + } + return w.DoubleValue +} + +func (w *WellKnownProtobufType) GetDuration() interface{} { + if w == nil { + return nil + } + return w.Duration +} + +func (w *WellKnownProtobufType) GetEmpty() interface{} { + if w == nil { + return nil + } + return w.Empty +} + +func (w *WellKnownProtobufType) GetEnum() interface{} { + if w == nil { + return nil + } + return w.Enum +} + +func (w *WellKnownProtobufType) GetEnumValue() interface{} { + if w == nil { + return nil + } + return w.EnumValue +} + +func (w *WellKnownProtobufType) GetField() interface{} { + if w == nil { + return nil + } + return w.Field +} + +func (w *WellKnownProtobufType) GetFieldCardinality() interface{} { + if w == nil { + return nil + } + return w.FieldCardinality +} + +func (w *WellKnownProtobufType) GetFieldKind() interface{} { + if w == nil { + return nil + } + return w.FieldKind +} + +func (w *WellKnownProtobufType) GetFieldMask() interface{} { + if w == nil { + return nil + } + return w.FieldMask +} + +func (w *WellKnownProtobufType) GetFloatValue() interface{} { + if w == nil { + return nil + } + return w.FloatValue +} + +func (w *WellKnownProtobufType) GetInt32Value() interface{} { + if w == nil { + return nil + } + return w.Int32Value +} + +func (w *WellKnownProtobufType) GetInt64Value() interface{} { + if w == nil { + return nil + } + return w.Int64Value +} + +func (w *WellKnownProtobufType) GetListValue() interface{} { + if w == nil { + return nil + } + return w.ListValue +} + +func (w *WellKnownProtobufType) GetMethod() interface{} { + if w == nil { + return nil + } + return w.Method +} + +func (w *WellKnownProtobufType) GetMixin() interface{} { + if w == nil { + return nil + } + return w.Mixin +} + +func (w *WellKnownProtobufType) GetNullValue() interface{} { + if w == nil { + return nil + } + return w.NullValue +} + +func (w *WellKnownProtobufType) GetOption() interface{} { + if w == nil { + return nil + } + return w.Option +} + +func (w *WellKnownProtobufType) GetSourceContext() interface{} { + if w == nil { + return nil + } + return w.SourceContext +} + +func (w *WellKnownProtobufType) GetStringValue() interface{} { + if w == nil { + return nil + } + return w.StringValue +} + +func (w *WellKnownProtobufType) GetStruct() interface{} { + if w == nil { + return nil + } + return w.Struct +} + +func (w *WellKnownProtobufType) GetSyntax() interface{} { + if w == nil { + return nil + } + return w.Syntax +} + +func (w *WellKnownProtobufType) GetTimestamp() interface{} { + if w == nil { + return nil + } + return w.Timestamp +} + +func (w *WellKnownProtobufType) GetType() interface{} { + if w == nil { + return nil + } + return w.Type +} + +func (w *WellKnownProtobufType) GetUint32Value() interface{} { + if w == nil { + return nil + } + return w.Uint32Value +} + +func (w *WellKnownProtobufType) GetUint64Value() interface{} { + if w == nil { + return nil + } + return w.Uint64Value +} + +func (w *WellKnownProtobufType) GetValue() interface{} { + if w == nil { + return nil + } + return w.Value } func (w *WellKnownProtobufType) UnmarshalJSON(data []byte) error { @@ -6179,7 +9328,7 @@ func (w *WellKnownProtobufType) UnmarshalJSON(data []byte) error { if err := json.Unmarshal(data, &value); err != nil { return err } - w.Type_ = value + w.Type = value case "uint32Value": value := make(map[string]interface{}) if err := json.Unmarshal(data, &value); err != nil { @@ -6442,11 +9591,11 @@ func (w WellKnownProtobufType) MarshalJSON() ([]byte, error) { return json.Marshal(marshaler) case "type": var marshaler = struct { - Type string `json:"type"` - Type_ interface{} `json:"type,omitempty"` + Type_ string `json:"type"` + Type interface{} `json:"type,omitempty"` }{ - Type: "type", - Type_: w.Type_, + Type_: "type", + Type: w.Type, } return json.Marshal(marshaler) case "uint32Value": @@ -6585,6 +9734,13 @@ type DirectPublish struct { extraProperties map[string]interface{} } +func (d *DirectPublish) GetTarget() *PublishTarget { + if d == nil { + return nil + } + return d.Target +} + func (d *DirectPublish) GetExtraProperties() map[string]interface{} { return d.extraProperties } @@ -6621,6 +9777,27 @@ type GithubPublish struct { extraProperties map[string]interface{} } +func (g *GithubPublish) GetOwner() string { + if g == nil { + return "" + } + return g.Owner +} + +func (g *GithubPublish) GetRepo() string { + if g == nil { + return "" + } + return g.Repo +} + +func (g *GithubPublish) GetTarget() *PublishTarget { + if g == nil { + return nil + } + return g.Target +} + func (g *GithubPublish) GetExtraProperties() map[string]interface{} { return g.extraProperties } @@ -6657,6 +9834,27 @@ type PostmanPublishTarget struct { extraProperties map[string]interface{} } +func (p *PostmanPublishTarget) GetApiKey() string { + if p == nil { + return "" + } + return p.ApiKey +} + +func (p *PostmanPublishTarget) GetWorkspaceId() string { + if p == nil { + return "" + } + return p.WorkspaceId +} + +func (p *PostmanPublishTarget) GetCollectionId() *string { + if p == nil { + return nil + } + return p.CollectionId +} + func (p *PostmanPublishTarget) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -6694,6 +9892,20 @@ func NewPublishTargetFromPostman(value *PostmanPublishTarget) *PublishTarget { return &PublishTarget{Type: "postman", Postman: value} } +func (p *PublishTarget) GetType() string { + if p == nil { + return "" + } + return p.Type +} + +func (p *PublishTarget) GetPostman() *PostmanPublishTarget { + if p == nil { + return nil + } + return p.Postman +} + func (p *PublishTarget) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -6754,6 +9966,27 @@ func NewPublishingConfigFromDirect(value *DirectPublish) *PublishingConfig { return &PublishingConfig{Type: "direct", Direct: value} } +func (p *PublishingConfig) GetType() string { + if p == nil { + return "" + } + return p.Type +} + +func (p *PublishingConfig) GetGithub() *GithubPublish { + if p == nil { + return nil + } + return p.Github +} + +func (p *PublishingConfig) GetDirect() *DirectPublish { + if p == nil { + return nil + } + return p.Direct +} + func (p *PublishingConfig) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -6816,6 +10049,20 @@ type AliasTypeDeclaration struct { extraProperties map[string]interface{} } +func (a *AliasTypeDeclaration) GetAliasOf() *TypeReference { + if a == nil { + return nil + } + return a.AliasOf +} + +func (a *AliasTypeDeclaration) GetResolvedType() *ResolvedTypeReference { + if a == nil { + return nil + } + return a.ResolvedType +} + func (a *AliasTypeDeclaration) GetExtraProperties() map[string]interface{} { return a.extraProperties } @@ -6882,6 +10129,13 @@ type BigIntegerType struct { extraProperties map[string]interface{} } +func (b *BigIntegerType) GetDefault() *string { + if b == nil { + return nil + } + return b.Default +} + func (b *BigIntegerType) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -6916,6 +10170,13 @@ type BooleanType struct { extraProperties map[string]interface{} } +func (b *BooleanType) GetDefault() *bool { + if b == nil { + return nil + } + return b.Default +} + func (b *BooleanType) GetExtraProperties() map[string]interface{} { return b.extraProperties } @@ -6973,6 +10234,48 @@ func NewContainerTypeFromLiteral(value *Literal) *ContainerType { return &ContainerType{Type: "literal", Literal: value} } +func (c *ContainerType) GetType() string { + if c == nil { + return "" + } + return c.Type +} + +func (c *ContainerType) GetList() *TypeReference { + if c == nil { + return nil + } + return c.List +} + +func (c *ContainerType) GetMap() *MapType { + if c == nil { + return nil + } + return c.Map +} + +func (c *ContainerType) GetOptional() *TypeReference { + if c == nil { + return nil + } + return c.Optional +} + +func (c *ContainerType) GetSet() *TypeReference { + if c == nil { + return nil + } + return c.Set +} + +func (c *ContainerType) GetLiteral() *Literal { + if c == nil { + return nil + } + return c.Literal +} + func (c *ContainerType) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"_type"` @@ -7166,7 +10469,28 @@ type DeclaredTypeName struct { FernFilepath *FernFilepath `json:"fernFilepath,omitempty" url:"fernFilepath,omitempty"` Name *Name `json:"name,omitempty" url:"name,omitempty"` - extraProperties map[string]interface{} + extraProperties map[string]interface{} +} + +func (d *DeclaredTypeName) GetTypeId() TypeId { + if d == nil { + return "" + } + return d.TypeId +} + +func (d *DeclaredTypeName) GetFernFilepath() *FernFilepath { + if d == nil { + return nil + } + return d.FernFilepath +} + +func (d *DeclaredTypeName) GetName() *Name { + if d == nil { + return nil + } + return d.Name } func (d *DeclaredTypeName) GetExtraProperties() map[string]interface{} { @@ -7204,6 +10528,20 @@ type DoubleType struct { extraProperties map[string]interface{} } +func (d *DoubleType) GetDefault() *float64 { + if d == nil { + return nil + } + return d.Default +} + +func (d *DoubleType) GetValidation() *DoubleValidationRules { + if d == nil { + return nil + } + return d.Validation +} + func (d *DoubleType) GetExtraProperties() map[string]interface{} { return d.extraProperties } @@ -7242,6 +10580,41 @@ type DoubleValidationRules struct { extraProperties map[string]interface{} } +func (d *DoubleValidationRules) GetMin() *float64 { + if d == nil { + return nil + } + return d.Min +} + +func (d *DoubleValidationRules) GetMax() *float64 { + if d == nil { + return nil + } + return d.Max +} + +func (d *DoubleValidationRules) GetExclusiveMin() *bool { + if d == nil { + return nil + } + return d.ExclusiveMin +} + +func (d *DoubleValidationRules) GetExclusiveMax() *bool { + if d == nil { + return nil + } + return d.ExclusiveMax +} + +func (d *DoubleValidationRules) GetMultipleOf() *float64 { + if d == nil { + return nil + } + return d.MultipleOf +} + func (d *DoubleValidationRules) GetExtraProperties() map[string]interface{} { return d.extraProperties } @@ -7277,6 +10650,20 @@ type Encoding struct { extraProperties map[string]interface{} } +func (e *Encoding) GetJson() *JsonEncoding { + if e == nil { + return nil + } + return e.Json +} + +func (e *Encoding) GetProto() *ProtoEncoding { + if e == nil { + return nil + } + return e.Proto +} + func (e *Encoding) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7312,6 +10699,20 @@ type EnumTypeDeclaration struct { extraProperties map[string]interface{} } +func (e *EnumTypeDeclaration) GetDefault() *EnumValue { + if e == nil { + return nil + } + return e.Default +} + +func (e *EnumTypeDeclaration) GetValues() []*EnumValue { + if e == nil { + return nil + } + return e.Values +} + func (e *EnumTypeDeclaration) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7347,6 +10748,20 @@ type EnumTypeReference struct { extraProperties map[string]interface{} } +func (e *EnumTypeReference) GetDefault() *EnumValue { + if e == nil { + return nil + } + return e.Default +} + +func (e *EnumTypeReference) GetName() *DeclaredTypeName { + if e == nil { + return nil + } + return e.Name +} + func (e *EnumTypeReference) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7383,6 +10798,27 @@ type EnumValue struct { extraProperties map[string]interface{} } +func (e *EnumValue) GetDocs() *string { + if e == nil { + return nil + } + return e.Docs +} + +func (e *EnumValue) GetAvailability() *Availability { + if e == nil { + return nil + } + return e.Availability +} + +func (e *EnumValue) GetName() *NameAndWireValue { + if e == nil { + return nil + } + return e.Name +} + func (e *EnumValue) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7417,6 +10853,13 @@ type ExampleAliasType struct { extraProperties map[string]interface{} } +func (e *ExampleAliasType) GetValue() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Value +} + func (e *ExampleAliasType) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7474,6 +10917,48 @@ func NewExampleContainerFromLiteral(value *ExampleLiteralContainer) *ExampleCont return &ExampleContainer{Type: "literal", Literal: value} } +func (e *ExampleContainer) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleContainer) GetList() *ExampleListContainer { + if e == nil { + return nil + } + return e.List +} + +func (e *ExampleContainer) GetSet() *ExampleSetContainer { + if e == nil { + return nil + } + return e.Set +} + +func (e *ExampleContainer) GetOptional() *ExampleOptionalContainer { + if e == nil { + return nil + } + return e.Optional +} + +func (e *ExampleContainer) GetMap() *ExampleMapContainer { + if e == nil { + return nil + } + return e.Map +} + +func (e *ExampleContainer) GetLiteral() *ExampleLiteralContainer { + if e == nil { + return nil + } + return e.Literal +} + func (e *ExampleContainer) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -7569,6 +11054,20 @@ type ExampleDatetime struct { extraProperties map[string]interface{} } +func (e *ExampleDatetime) GetDatetime() time.Time { + if e == nil { + return time.Time{} + } + return e.Datetime +} + +func (e *ExampleDatetime) GetRaw() *string { + if e == nil { + return nil + } + return e.Raw +} + func (e *ExampleDatetime) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7621,6 +11120,13 @@ type ExampleEnumType struct { extraProperties map[string]interface{} } +func (e *ExampleEnumType) GetValue() *NameAndWireValue { + if e == nil { + return nil + } + return e.Value +} + func (e *ExampleEnumType) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7656,6 +11162,20 @@ type ExampleKeyValuePair struct { extraProperties map[string]interface{} } +func (e *ExampleKeyValuePair) GetKey() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Key +} + +func (e *ExampleKeyValuePair) GetValue() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Value +} + func (e *ExampleKeyValuePair) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7691,6 +11211,20 @@ type ExampleListContainer struct { extraProperties map[string]interface{} } +func (e *ExampleListContainer) GetList() []*ExampleTypeReference { + if e == nil { + return nil + } + return e.List +} + +func (e *ExampleListContainer) GetItemType() *TypeReference { + if e == nil { + return nil + } + return e.ItemType +} + func (e *ExampleListContainer) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7725,6 +11259,13 @@ type ExampleLiteralContainer struct { extraProperties map[string]interface{} } +func (e *ExampleLiteralContainer) GetLiteral() *ExamplePrimitive { + if e == nil { + return nil + } + return e.Literal +} + func (e *ExampleLiteralContainer) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7761,6 +11302,27 @@ type ExampleMapContainer struct { extraProperties map[string]interface{} } +func (e *ExampleMapContainer) GetMap() []*ExampleKeyValuePair { + if e == nil { + return nil + } + return e.Map +} + +func (e *ExampleMapContainer) GetKeyType() *TypeReference { + if e == nil { + return nil + } + return e.KeyType +} + +func (e *ExampleMapContainer) GetValueType() *TypeReference { + if e == nil { + return nil + } + return e.ValueType +} + func (e *ExampleMapContainer) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7796,6 +11358,20 @@ type ExampleNamedType struct { extraProperties map[string]interface{} } +func (e *ExampleNamedType) GetTypeName() *DeclaredTypeName { + if e == nil { + return nil + } + return e.TypeName +} + +func (e *ExampleNamedType) GetShape() *ExampleTypeShape { + if e == nil { + return nil + } + return e.Shape +} + func (e *ExampleNamedType) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7834,6 +11410,27 @@ type ExampleObjectProperty struct { extraProperties map[string]interface{} } +func (e *ExampleObjectProperty) GetName() *NameAndWireValue { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleObjectProperty) GetValue() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Value +} + +func (e *ExampleObjectProperty) GetOriginalTypeDeclaration() *DeclaredTypeName { + if e == nil { + return nil + } + return e.OriginalTypeDeclaration +} + func (e *ExampleObjectProperty) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7868,6 +11465,13 @@ type ExampleObjectType struct { extraProperties map[string]interface{} } +func (e *ExampleObjectType) GetProperties() []*ExampleObjectProperty { + if e == nil { + return nil + } + return e.Properties +} + func (e *ExampleObjectType) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7903,6 +11507,20 @@ type ExampleObjectTypeWithTypeId struct { extraProperties map[string]interface{} } +func (e *ExampleObjectTypeWithTypeId) GetTypeId() TypeId { + if e == nil { + return "" + } + return e.TypeId +} + +func (e *ExampleObjectTypeWithTypeId) GetObject() *ExampleObjectType { + if e == nil { + return nil + } + return e.Object +} + func (e *ExampleObjectTypeWithTypeId) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -7938,6 +11556,20 @@ type ExampleOptionalContainer struct { extraProperties map[string]interface{} } +func (e *ExampleOptionalContainer) GetOptional() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Optional +} + +func (e *ExampleOptionalContainer) GetValueType() *TypeReference { + if e == nil { + return nil + } + return e.ValueType +} + func (e *ExampleOptionalContainer) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -8035,6 +11667,104 @@ func NewExamplePrimitiveFromBigInteger(value string) *ExamplePrimitive { return &ExamplePrimitive{Type: "bigInteger", BigInteger: value} } +func (e *ExamplePrimitive) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExamplePrimitive) GetInteger() int { + if e == nil { + return 0 + } + return e.Integer +} + +func (e *ExamplePrimitive) GetLong() int64 { + if e == nil { + return 0 + } + return e.Long +} + +func (e *ExamplePrimitive) GetUint() int { + if e == nil { + return 0 + } + return e.Uint +} + +func (e *ExamplePrimitive) GetUint64() int64 { + if e == nil { + return 0 + } + return e.Uint64 +} + +func (e *ExamplePrimitive) GetFloat() float64 { + if e == nil { + return 0 + } + return e.Float +} + +func (e *ExamplePrimitive) GetDouble() float64 { + if e == nil { + return 0 + } + return e.Double +} + +func (e *ExamplePrimitive) GetBoolean() bool { + if e == nil { + return false + } + return e.Boolean +} + +func (e *ExamplePrimitive) GetString() *EscapedString { + if e == nil { + return nil + } + return e.String +} + +func (e *ExamplePrimitive) GetDate() time.Time { + if e == nil { + return time.Time{} + } + return e.Date +} + +func (e *ExamplePrimitive) GetDatetime() *ExampleDatetime { + if e == nil { + return nil + } + return e.Datetime +} + +func (e *ExamplePrimitive) GetUuid() uuid.UUID { + if e == nil { + return uuid.UUID{} + } + return e.Uuid +} + +func (e *ExamplePrimitive) GetBase64() []byte { + if e == nil { + return nil + } + return e.Base64 +} + +func (e *ExamplePrimitive) GetBigInteger() string { + if e == nil { + return "" + } + return e.BigInteger +} + func (e *ExamplePrimitive) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -8326,6 +12056,20 @@ type ExampleSetContainer struct { extraProperties map[string]interface{} } +func (e *ExampleSetContainer) GetSet() []*ExampleTypeReference { + if e == nil { + return nil + } + return e.Set +} + +func (e *ExampleSetContainer) GetItemType() *TypeReference { + if e == nil { + return nil + } + return e.ItemType +} + func (e *ExampleSetContainer) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -8361,6 +12105,20 @@ type ExampleSingleUnionType struct { extraProperties map[string]interface{} } +func (e *ExampleSingleUnionType) GetWireDiscriminantValue() *NameAndWireValue { + if e == nil { + return nil + } + return e.WireDiscriminantValue +} + +func (e *ExampleSingleUnionType) GetShape() *ExampleSingleUnionTypeProperties { + if e == nil { + return nil + } + return e.Shape +} + func (e *ExampleSingleUnionType) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -8408,6 +12166,34 @@ func NewExampleSingleUnionTypePropertiesFromNoProperties(value interface{}) *Exa return &ExampleSingleUnionTypeProperties{Type: "noProperties", NoProperties: value} } +func (e *ExampleSingleUnionTypeProperties) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleSingleUnionTypeProperties) GetSamePropertiesAsObject() *ExampleObjectTypeWithTypeId { + if e == nil { + return nil + } + return e.SamePropertiesAsObject +} + +func (e *ExampleSingleUnionTypeProperties) GetSingleProperty() *ExampleTypeReference { + if e == nil { + return nil + } + return e.SingleProperty +} + +func (e *ExampleSingleUnionTypeProperties) GetNoProperties() interface{} { + if e == nil { + return nil + } + return e.NoProperties +} + func (e *ExampleSingleUnionTypeProperties) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -8490,6 +12276,34 @@ type ExampleType struct { extraProperties map[string]interface{} } +func (e *ExampleType) GetJsonExample() interface{} { + if e == nil { + return nil + } + return e.JsonExample +} + +func (e *ExampleType) GetDocs() *string { + if e == nil { + return nil + } + return e.Docs +} + +func (e *ExampleType) GetName() *Name { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleType) GetShape() *ExampleTypeShape { + if e == nil { + return nil + } + return e.Shape +} + func (e *ExampleType) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -8525,6 +12339,20 @@ type ExampleTypeReference struct { extraProperties map[string]interface{} } +func (e *ExampleTypeReference) GetJsonExample() interface{} { + if e == nil { + return nil + } + return e.JsonExample +} + +func (e *ExampleTypeReference) GetShape() *ExampleTypeReferenceShape { + if e == nil { + return nil + } + return e.Shape +} + func (e *ExampleTypeReference) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -8577,6 +12405,41 @@ func NewExampleTypeReferenceShapeFromNamed(value *ExampleNamedType) *ExampleType return &ExampleTypeReferenceShape{Type: "named", Named: value} } +func (e *ExampleTypeReferenceShape) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleTypeReferenceShape) GetPrimitive() *ExamplePrimitive { + if e == nil { + return nil + } + return e.Primitive +} + +func (e *ExampleTypeReferenceShape) GetContainer() *ExampleContainer { + if e == nil { + return nil + } + return e.Container +} + +func (e *ExampleTypeReferenceShape) GetUnknown() interface{} { + if e == nil { + return nil + } + return e.Unknown +} + +func (e *ExampleTypeReferenceShape) GetNamed() *ExampleNamedType { + if e == nil { + return nil + } + return e.Named +} + func (e *ExampleTypeReferenceShape) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -8710,6 +12573,48 @@ func NewExampleTypeShapeFromUndiscriminatedUnion(value *ExampleUndiscriminatedUn return &ExampleTypeShape{Type: "undiscriminatedUnion", UndiscriminatedUnion: value} } +func (e *ExampleTypeShape) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleTypeShape) GetAlias() *ExampleAliasType { + if e == nil { + return nil + } + return e.Alias +} + +func (e *ExampleTypeShape) GetEnum() *ExampleEnumType { + if e == nil { + return nil + } + return e.Enum +} + +func (e *ExampleTypeShape) GetObject() *ExampleObjectType { + if e == nil { + return nil + } + return e.Object +} + +func (e *ExampleTypeShape) GetUnion() *ExampleUnionType { + if e == nil { + return nil + } + return e.Union +} + +func (e *ExampleTypeShape) GetUndiscriminatedUnion() *ExampleUndiscriminatedUnionType { + if e == nil { + return nil + } + return e.UndiscriminatedUnion +} + func (e *ExampleTypeShape) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -8817,7 +12722,21 @@ type ExampleUndiscriminatedUnionType struct { Index int `json:"index" url:"index"` SingleUnionType *ExampleTypeReference `json:"singleUnionType,omitempty" url:"singleUnionType,omitempty"` - extraProperties map[string]interface{} + extraProperties map[string]interface{} +} + +func (e *ExampleUndiscriminatedUnionType) GetIndex() int { + if e == nil { + return 0 + } + return e.Index +} + +func (e *ExampleUndiscriminatedUnionType) GetSingleUnionType() *ExampleTypeReference { + if e == nil { + return nil + } + return e.SingleUnionType } func (e *ExampleUndiscriminatedUnionType) GetExtraProperties() map[string]interface{} { @@ -8855,6 +12774,20 @@ type ExampleUnionType struct { extraProperties map[string]interface{} } +func (e *ExampleUnionType) GetDiscriminant() *NameAndWireValue { + if e == nil { + return nil + } + return e.Discriminant +} + +func (e *ExampleUnionType) GetSingleUnionType() *ExampleSingleUnionType { + if e == nil { + return nil + } + return e.SingleUnionType +} + func (e *ExampleUnionType) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -8922,6 +12855,20 @@ type IntegerType struct { extraProperties map[string]interface{} } +func (i *IntegerType) GetDefault() *int { + if i == nil { + return nil + } + return i.Default +} + +func (i *IntegerType) GetValidation() *IntegerValidationRules { + if i == nil { + return nil + } + return i.Validation +} + func (i *IntegerType) GetExtraProperties() map[string]interface{} { return i.extraProperties } @@ -8960,6 +12907,41 @@ type IntegerValidationRules struct { extraProperties map[string]interface{} } +func (i *IntegerValidationRules) GetMin() *int { + if i == nil { + return nil + } + return i.Min +} + +func (i *IntegerValidationRules) GetMax() *int { + if i == nil { + return nil + } + return i.Max +} + +func (i *IntegerValidationRules) GetExclusiveMin() *bool { + if i == nil { + return nil + } + return i.ExclusiveMin +} + +func (i *IntegerValidationRules) GetExclusiveMax() *bool { + if i == nil { + return nil + } + return i.ExclusiveMax +} + +func (i *IntegerValidationRules) GetMultipleOf() *int { + if i == nil { + return nil + } + return i.MultipleOf +} + func (i *IntegerValidationRules) GetExtraProperties() map[string]interface{} { return i.extraProperties } @@ -9034,6 +13016,27 @@ func NewLiteralFromBoolean(value bool) *Literal { return &Literal{Type: "boolean", Boolean: value} } +func (l *Literal) GetType() string { + if l == nil { + return "" + } + return l.Type +} + +func (l *Literal) GetString() string { + if l == nil { + return "" + } + return l.String +} + +func (l *Literal) GetBoolean() bool { + if l == nil { + return false + } + return l.Boolean +} + func (l *Literal) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -9113,6 +13116,13 @@ type LongType struct { extraProperties map[string]interface{} } +func (l *LongType) GetDefault() *int64 { + if l == nil { + return nil + } + return l.Default +} + func (l *LongType) GetExtraProperties() map[string]interface{} { return l.extraProperties } @@ -9148,6 +13158,20 @@ type MapType struct { extraProperties map[string]interface{} } +func (m *MapType) GetKeyType() *TypeReference { + if m == nil { + return nil + } + return m.KeyType +} + +func (m *MapType) GetValueType() *TypeReference { + if m == nil { + return nil + } + return m.ValueType +} + func (m *MapType) GetExtraProperties() map[string]interface{} { return m.extraProperties } @@ -9188,6 +13212,41 @@ type NamedType struct { extraProperties map[string]interface{} } +func (n *NamedType) GetTypeId() TypeId { + if n == nil { + return "" + } + return n.TypeId +} + +func (n *NamedType) GetFernFilepath() *FernFilepath { + if n == nil { + return nil + } + return n.FernFilepath +} + +func (n *NamedType) GetName() *Name { + if n == nil { + return nil + } + return n.Name +} + +func (n *NamedType) GetDefault() *NamedTypeDefault { + if n == nil { + return nil + } + return n.Default +} + +func (n *NamedType) GetInline() *bool { + if n == nil { + return nil + } + return n.Inline +} + func (n *NamedType) GetExtraProperties() map[string]interface{} { return n.extraProperties } @@ -9225,6 +13284,20 @@ func NewNamedTypeDefaultFromEnum(value *EnumValue) *NamedTypeDefault { return &NamedTypeDefault{Type: "enum", Enum: value} } +func (n *NamedTypeDefault) GetType() string { + if n == nil { + return "" + } + return n.Type +} + +func (n *NamedTypeDefault) GetEnum() *EnumValue { + if n == nil { + return nil + } + return n.Enum +} + func (n *NamedTypeDefault) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -9278,6 +13351,34 @@ type ObjectProperty struct { extraProperties map[string]interface{} } +func (o *ObjectProperty) GetDocs() *string { + if o == nil { + return nil + } + return o.Docs +} + +func (o *ObjectProperty) GetAvailability() *Availability { + if o == nil { + return nil + } + return o.Availability +} + +func (o *ObjectProperty) GetName() *NameAndWireValue { + if o == nil { + return nil + } + return o.Name +} + +func (o *ObjectProperty) GetValueType() *TypeReference { + if o == nil { + return nil + } + return o.ValueType +} + func (o *ObjectProperty) GetExtraProperties() map[string]interface{} { return o.extraProperties } @@ -9318,8 +13419,32 @@ type ObjectTypeDeclaration struct { extraProperties map[string]interface{} } -func (o *ObjectTypeDeclaration) GetExtraProperties() map[string]interface{} { - return o.extraProperties +func (o *ObjectTypeDeclaration) GetExtends() []*DeclaredTypeName { + if o == nil { + return nil + } + return o.Extends +} + +func (o *ObjectTypeDeclaration) GetProperties() []*ObjectProperty { + if o == nil { + return nil + } + return o.Properties +} + +func (o *ObjectTypeDeclaration) GetExtendedProperties() []*ObjectProperty { + if o == nil { + return nil + } + return o.ExtendedProperties +} + +func (o *ObjectTypeDeclaration) GetExtraProperties() bool { + if o == nil { + return false + } + return o.ExtraProperties } func (o *ObjectTypeDeclaration) UnmarshalJSON(data []byte) error { @@ -9353,6 +13478,20 @@ type PrimitiveType struct { extraProperties map[string]interface{} } +func (p *PrimitiveType) GetV1() PrimitiveTypeV1 { + if p == nil { + return "" + } + return p.V1 +} + +func (p *PrimitiveType) GetV2() *PrimitiveTypeV2 { + if p == nil { + return nil + } + return p.V2 +} + func (p *PrimitiveType) GetExtraProperties() map[string]interface{} { return p.extraProperties } @@ -9506,6 +13645,104 @@ func NewPrimitiveTypeV2FromBigInteger(value *BigIntegerType) *PrimitiveTypeV2 { return &PrimitiveTypeV2{Type: "bigInteger", BigInteger: value} } +func (p *PrimitiveTypeV2) GetType() string { + if p == nil { + return "" + } + return p.Type +} + +func (p *PrimitiveTypeV2) GetInteger() *IntegerType { + if p == nil { + return nil + } + return p.Integer +} + +func (p *PrimitiveTypeV2) GetLong() *LongType { + if p == nil { + return nil + } + return p.Long +} + +func (p *PrimitiveTypeV2) GetUint() *UintType { + if p == nil { + return nil + } + return p.Uint +} + +func (p *PrimitiveTypeV2) GetUint64() *Uint64Type { + if p == nil { + return nil + } + return p.Uint64 +} + +func (p *PrimitiveTypeV2) GetFloat() *FloatType { + if p == nil { + return nil + } + return p.Float +} + +func (p *PrimitiveTypeV2) GetDouble() *DoubleType { + if p == nil { + return nil + } + return p.Double +} + +func (p *PrimitiveTypeV2) GetBoolean() *BooleanType { + if p == nil { + return nil + } + return p.Boolean +} + +func (p *PrimitiveTypeV2) GetString() *StringType { + if p == nil { + return nil + } + return p.String +} + +func (p *PrimitiveTypeV2) GetDate() *DateType { + if p == nil { + return nil + } + return p.Date +} + +func (p *PrimitiveTypeV2) GetDateTime() *DateTimeType { + if p == nil { + return nil + } + return p.DateTime +} + +func (p *PrimitiveTypeV2) GetUuid() *UuidType { + if p == nil { + return nil + } + return p.Uuid +} + +func (p *PrimitiveTypeV2) GetBase64() *Base64Type { + if p == nil { + return nil + } + return p.Base64 +} + +func (p *PrimitiveTypeV2) GetBigInteger() *BigIntegerType { + if p == nil { + return nil + } + return p.BigInteger +} + func (p *PrimitiveTypeV2) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -9721,6 +13958,20 @@ type ResolvedNamedType struct { extraProperties map[string]interface{} } +func (r *ResolvedNamedType) GetName() *DeclaredTypeName { + if r == nil { + return nil + } + return r.Name +} + +func (r *ResolvedNamedType) GetShape() ShapeType { + if r == nil { + return "" + } + return r.Shape +} + func (r *ResolvedNamedType) GetExtraProperties() map[string]interface{} { return r.extraProperties } @@ -9773,6 +14024,41 @@ func NewResolvedTypeReferenceFromUnknown(value interface{}) *ResolvedTypeReferen return &ResolvedTypeReference{Type: "unknown", Unknown: value} } +func (r *ResolvedTypeReference) GetType() string { + if r == nil { + return "" + } + return r.Type +} + +func (r *ResolvedTypeReference) GetContainer() *ContainerType { + if r == nil { + return nil + } + return r.Container +} + +func (r *ResolvedTypeReference) GetNamed() *ResolvedNamedType { + if r == nil { + return nil + } + return r.Named +} + +func (r *ResolvedTypeReference) GetPrimitive() *PrimitiveType { + if r == nil { + return nil + } + return r.Primitive +} + +func (r *ResolvedTypeReference) GetUnknown() interface{} { + if r == nil { + return nil + } + return r.Unknown +} + func (r *ResolvedTypeReference) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"_type"` @@ -9913,6 +14199,41 @@ type SingleUnionType struct { extraProperties map[string]interface{} } +func (s *SingleUnionType) GetDocs() *string { + if s == nil { + return nil + } + return s.Docs +} + +func (s *SingleUnionType) GetDiscriminantValue() *NameAndWireValue { + if s == nil { + return nil + } + return s.DiscriminantValue +} + +func (s *SingleUnionType) GetShape() *SingleUnionTypeProperties { + if s == nil { + return nil + } + return s.Shape +} + +func (s *SingleUnionType) GetDisplayName() *string { + if s == nil { + return nil + } + return s.DisplayName +} + +func (s *SingleUnionType) GetAvailability() *Availability { + if s == nil { + return nil + } + return s.Availability +} + func (s *SingleUnionType) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -9960,6 +14281,34 @@ func NewSingleUnionTypePropertiesFromNoProperties(value interface{}) *SingleUnio return &SingleUnionTypeProperties{PropertiesType: "noProperties", NoProperties: value} } +func (s *SingleUnionTypeProperties) GetPropertiesType() string { + if s == nil { + return "" + } + return s.PropertiesType +} + +func (s *SingleUnionTypeProperties) GetSamePropertiesAsObject() *DeclaredTypeName { + if s == nil { + return nil + } + return s.SamePropertiesAsObject +} + +func (s *SingleUnionTypeProperties) GetSingleProperty() *SingleUnionTypeProperty { + if s == nil { + return nil + } + return s.SingleProperty +} + +func (s *SingleUnionTypeProperties) GetNoProperties() interface{} { + if s == nil { + return nil + } + return s.NoProperties +} + func (s *SingleUnionTypeProperties) UnmarshalJSON(data []byte) error { var unmarshaler struct { PropertiesType string `json:"_type"` @@ -10040,6 +14389,20 @@ type SingleUnionTypeProperty struct { extraProperties map[string]interface{} } +func (s *SingleUnionTypeProperty) GetName() *NameAndWireValue { + if s == nil { + return nil + } + return s.Name +} + +func (s *SingleUnionTypeProperty) GetType() *TypeReference { + if s == nil { + return nil + } + return s.Type +} + func (s *SingleUnionTypeProperty) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -10078,6 +14441,20 @@ func NewSourceFromProto(value *ProtobufType) *Source { return &Source{Type: "proto", Proto: value} } +func (s *Source) GetType() string { + if s == nil { + return "" + } + return s.Type +} + +func (s *Source) GetProto() *ProtobufType { + if s == nil { + return nil + } + return s.Proto +} + func (s *Source) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -10138,6 +14515,20 @@ type StringType struct { extraProperties map[string]interface{} } +func (s *StringType) GetDefault() *string { + if s == nil { + return nil + } + return s.Default +} + +func (s *StringType) GetValidation() *StringValidationRules { + if s == nil { + return nil + } + return s.Validation +} + func (s *StringType) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -10175,6 +14566,34 @@ type StringValidationRules struct { extraProperties map[string]interface{} } +func (s *StringValidationRules) GetFormat() *string { + if s == nil { + return nil + } + return s.Format +} + +func (s *StringValidationRules) GetPattern() *string { + if s == nil { + return nil + } + return s.Pattern +} + +func (s *StringValidationRules) GetMinLength() *int { + if s == nil { + return nil + } + return s.MinLength +} + +func (s *StringValidationRules) GetMaxLength() *int { + if s == nil { + return nil + } + return s.MaxLength +} + func (s *StringValidationRules) GetExtraProperties() map[string]interface{} { return s.extraProperties } @@ -10232,6 +14651,48 @@ func NewTypeFromUndiscriminatedUnion(value *UndiscriminatedUnionTypeDeclaration) return &Type{Type: "undiscriminatedUnion", UndiscriminatedUnion: value} } +func (t *Type) GetType() string { + if t == nil { + return "" + } + return t.Type +} + +func (t *Type) GetAlias() *AliasTypeDeclaration { + if t == nil { + return nil + } + return t.Alias +} + +func (t *Type) GetEnum() *EnumTypeDeclaration { + if t == nil { + return nil + } + return t.Enum +} + +func (t *Type) GetObject() *ObjectTypeDeclaration { + if t == nil { + return nil + } + return t.Object +} + +func (t *Type) GetUnion() *UnionTypeDeclaration { + if t == nil { + return nil + } + return t.Union +} + +func (t *Type) GetUndiscriminatedUnion() *UndiscriminatedUnionTypeDeclaration { + if t == nil { + return nil + } + return t.UndiscriminatedUnion +} + func (t *Type) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"_type"` @@ -10335,7 +14796,77 @@ type TypeDeclaration struct { // Whether to try and inline the type declaration Inline *bool `json:"inline,omitempty" url:"inline,omitempty"` - extraProperties map[string]interface{} + extraProperties map[string]interface{} +} + +func (t *TypeDeclaration) GetDocs() *string { + if t == nil { + return nil + } + return t.Docs +} + +func (t *TypeDeclaration) GetAvailability() *Availability { + if t == nil { + return nil + } + return t.Availability +} + +func (t *TypeDeclaration) GetName() *DeclaredTypeName { + if t == nil { + return nil + } + return t.Name +} + +func (t *TypeDeclaration) GetShape() *Type { + if t == nil { + return nil + } + return t.Shape +} + +func (t *TypeDeclaration) GetAutogeneratedExamples() []*ExampleType { + if t == nil { + return nil + } + return t.AutogeneratedExamples +} + +func (t *TypeDeclaration) GetUserProvidedExamples() []*ExampleType { + if t == nil { + return nil + } + return t.UserProvidedExamples +} + +func (t *TypeDeclaration) GetReferencedTypes() []TypeId { + if t == nil { + return nil + } + return t.ReferencedTypes +} + +func (t *TypeDeclaration) GetEncoding() *Encoding { + if t == nil { + return nil + } + return t.Encoding +} + +func (t *TypeDeclaration) GetSource() *Source { + if t == nil { + return nil + } + return t.Source +} + +func (t *TypeDeclaration) GetInline() *bool { + if t == nil { + return nil + } + return t.Inline } func (t *TypeDeclaration) GetExtraProperties() map[string]interface{} { @@ -10390,6 +14921,41 @@ func NewTypeReferenceFromUnknown(value interface{}) *TypeReference { return &TypeReference{Type: "unknown", Unknown: value} } +func (t *TypeReference) GetType() string { + if t == nil { + return "" + } + return t.Type +} + +func (t *TypeReference) GetContainer() *ContainerType { + if t == nil { + return nil + } + return t.Container +} + +func (t *TypeReference) GetNamed() *NamedType { + if t == nil { + return nil + } + return t.Named +} + +func (t *TypeReference) GetPrimitive() *PrimitiveType { + if t == nil { + return nil + } + return t.Primitive +} + +func (t *TypeReference) GetUnknown() interface{} { + if t == nil { + return nil + } + return t.Unknown +} + func (t *TypeReference) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"_type"` @@ -10563,6 +15129,20 @@ type UndiscriminatedUnionMember struct { extraProperties map[string]interface{} } +func (u *UndiscriminatedUnionMember) GetDocs() *string { + if u == nil { + return nil + } + return u.Docs +} + +func (u *UndiscriminatedUnionMember) GetType() *TypeReference { + if u == nil { + return nil + } + return u.Type +} + func (u *UndiscriminatedUnionMember) GetExtraProperties() map[string]interface{} { return u.extraProperties } @@ -10597,6 +15177,13 @@ type UndiscriminatedUnionTypeDeclaration struct { extraProperties map[string]interface{} } +func (u *UndiscriminatedUnionTypeDeclaration) GetMembers() []*UndiscriminatedUnionMember { + if u == nil { + return nil + } + return u.Members +} + func (u *UndiscriminatedUnionTypeDeclaration) GetExtraProperties() map[string]interface{} { return u.extraProperties } @@ -10635,6 +15222,34 @@ type UnionTypeDeclaration struct { extraProperties map[string]interface{} } +func (u *UnionTypeDeclaration) GetDiscriminant() *NameAndWireValue { + if u == nil { + return nil + } + return u.Discriminant +} + +func (u *UnionTypeDeclaration) GetExtends() []*DeclaredTypeName { + if u == nil { + return nil + } + return u.Extends +} + +func (u *UnionTypeDeclaration) GetTypes() []*SingleUnionType { + if u == nil { + return nil + } + return u.Types +} + +func (u *UnionTypeDeclaration) GetBaseProperties() []*ObjectProperty { + if u == nil { + return nil + } + return u.BaseProperties +} + func (u *UnionTypeDeclaration) GetExtraProperties() map[string]interface{} { return u.extraProperties } @@ -10704,6 +15319,34 @@ type VariableDeclaration struct { extraProperties map[string]interface{} } +func (v *VariableDeclaration) GetDocs() *string { + if v == nil { + return nil + } + return v.Docs +} + +func (v *VariableDeclaration) GetId() VariableId { + if v == nil { + return "" + } + return v.Id +} + +func (v *VariableDeclaration) GetName() *Name { + if v == nil { + return nil + } + return v.Name +} + +func (v *VariableDeclaration) GetType() *TypeReference { + if v == nil { + return nil + } + return v.Type +} + func (v *VariableDeclaration) GetExtraProperties() map[string]interface{} { return v.extraProperties } @@ -10745,6 +15388,27 @@ type ExampleWebhookCall struct { extraProperties map[string]interface{} } +func (e *ExampleWebhookCall) GetDocs() *string { + if e == nil { + return nil + } + return e.Docs +} + +func (e *ExampleWebhookCall) GetName() *Name { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleWebhookCall) GetPayload() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Payload +} + func (e *ExampleWebhookCall) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -10781,6 +15445,27 @@ type InlinedWebhookPayload struct { extraProperties map[string]interface{} } +func (i *InlinedWebhookPayload) GetName() *Name { + if i == nil { + return nil + } + return i.Name +} + +func (i *InlinedWebhookPayload) GetExtends() []*DeclaredTypeName { + if i == nil { + return nil + } + return i.Extends +} + +func (i *InlinedWebhookPayload) GetProperties() []*InlinedWebhookPayloadProperty { + if i == nil { + return nil + } + return i.Properties +} + func (i *InlinedWebhookPayload) GetExtraProperties() map[string]interface{} { return i.extraProperties } @@ -10818,6 +15503,34 @@ type InlinedWebhookPayloadProperty struct { extraProperties map[string]interface{} } +func (i *InlinedWebhookPayloadProperty) GetDocs() *string { + if i == nil { + return nil + } + return i.Docs +} + +func (i *InlinedWebhookPayloadProperty) GetAvailability() *Availability { + if i == nil { + return nil + } + return i.Availability +} + +func (i *InlinedWebhookPayloadProperty) GetName() *NameAndWireValue { + if i == nil { + return nil + } + return i.Name +} + +func (i *InlinedWebhookPayloadProperty) GetValueType() *TypeReference { + if i == nil { + return nil + } + return i.ValueType +} + func (i *InlinedWebhookPayloadProperty) GetExtraProperties() map[string]interface{} { return i.extraProperties } @@ -10860,6 +15573,69 @@ type Webhook struct { extraProperties map[string]interface{} } +func (w *Webhook) GetDocs() *string { + if w == nil { + return nil + } + return w.Docs +} + +func (w *Webhook) GetAvailability() *Availability { + if w == nil { + return nil + } + return w.Availability +} + +func (w *Webhook) GetId() WebhookId { + if w == nil { + return "" + } + return w.Id +} + +func (w *Webhook) GetName() WebhookName { + if w == nil { + return nil + } + return w.Name +} + +func (w *Webhook) GetDisplayName() *string { + if w == nil { + return nil + } + return w.DisplayName +} + +func (w *Webhook) GetMethod() WebhookHttpMethod { + if w == nil { + return "" + } + return w.Method +} + +func (w *Webhook) GetHeaders() []*HttpHeader { + if w == nil { + return nil + } + return w.Headers +} + +func (w *Webhook) GetPayload() *WebhookPayload { + if w == nil { + return nil + } + return w.Payload +} + +func (w *Webhook) GetExamples() []*ExampleWebhookCall { + if w == nil { + return nil + } + return w.Examples +} + func (w *Webhook) GetExtraProperties() map[string]interface{} { return w.extraProperties } @@ -10928,6 +15704,27 @@ func NewWebhookPayloadFromReference(value *WebhookPayloadReference) *WebhookPayl return &WebhookPayload{Type: "reference", Reference: value} } +func (w *WebhookPayload) GetType() string { + if w == nil { + return "" + } + return w.Type +} + +func (w *WebhookPayload) GetInlinedPayload() *InlinedWebhookPayload { + if w == nil { + return nil + } + return w.InlinedPayload +} + +func (w *WebhookPayload) GetReference() *WebhookPayloadReference { + if w == nil { + return nil + } + return w.Reference +} + func (w *WebhookPayload) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -10990,6 +15787,20 @@ type WebhookPayloadReference struct { extraProperties map[string]interface{} } +func (w *WebhookPayloadReference) GetDocs() *string { + if w == nil { + return nil + } + return w.Docs +} + +func (w *WebhookPayloadReference) GetPayloadType() *TypeReference { + if w == nil { + return nil + } + return w.PayloadType +} + func (w *WebhookPayloadReference) GetExtraProperties() map[string]interface{} { return w.extraProperties } @@ -11025,6 +15836,20 @@ type ExampleWebSocketMessage struct { extraProperties map[string]interface{} } +func (e *ExampleWebSocketMessage) GetType() WebSocketMessageId { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleWebSocketMessage) GetBody() *ExampleWebSocketMessageBody { + if e == nil { + return nil + } + return e.Body +} + func (e *ExampleWebSocketMessage) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -11067,6 +15892,27 @@ func NewExampleWebSocketMessageBodyFromReference(value *ExampleTypeReference) *E return &ExampleWebSocketMessageBody{Type: "reference", Reference: value} } +func (e *ExampleWebSocketMessageBody) GetType() string { + if e == nil { + return "" + } + return e.Type +} + +func (e *ExampleWebSocketMessageBody) GetInlinedBody() *ExampleInlinedRequestBody { + if e == nil { + return nil + } + return e.InlinedBody +} + +func (e *ExampleWebSocketMessageBody) GetReference() *ExampleTypeReference { + if e == nil { + return nil + } + return e.Reference +} + func (e *ExampleWebSocketMessageBody) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -11134,6 +15980,55 @@ type ExampleWebSocketSession struct { extraProperties map[string]interface{} } +func (e *ExampleWebSocketSession) GetDocs() *string { + if e == nil { + return nil + } + return e.Docs +} + +func (e *ExampleWebSocketSession) GetName() *Name { + if e == nil { + return nil + } + return e.Name +} + +func (e *ExampleWebSocketSession) GetUrl() string { + if e == nil { + return "" + } + return e.Url +} + +func (e *ExampleWebSocketSession) GetPathParameters() []*ExamplePathParameter { + if e == nil { + return nil + } + return e.PathParameters +} + +func (e *ExampleWebSocketSession) GetHeaders() []*ExampleHeader { + if e == nil { + return nil + } + return e.Headers +} + +func (e *ExampleWebSocketSession) GetQueryParameters() []*ExampleQueryParameter { + if e == nil { + return nil + } + return e.QueryParameters +} + +func (e *ExampleWebSocketSession) GetMessages() []*ExampleWebSocketMessage { + if e == nil { + return nil + } + return e.Messages +} + func (e *ExampleWebSocketSession) GetExtraProperties() map[string]interface{} { return e.extraProperties } @@ -11170,6 +16065,27 @@ type InlinedWebSocketMessageBody struct { extraProperties map[string]interface{} } +func (i *InlinedWebSocketMessageBody) GetName() *Name { + if i == nil { + return nil + } + return i.Name +} + +func (i *InlinedWebSocketMessageBody) GetExtends() []*DeclaredTypeName { + if i == nil { + return nil + } + return i.Extends +} + +func (i *InlinedWebSocketMessageBody) GetProperties() []*InlinedWebSocketMessageBodyProperty { + if i == nil { + return nil + } + return i.Properties +} + func (i *InlinedWebSocketMessageBody) GetExtraProperties() map[string]interface{} { return i.extraProperties } @@ -11207,6 +16123,34 @@ type InlinedWebSocketMessageBodyProperty struct { extraProperties map[string]interface{} } +func (i *InlinedWebSocketMessageBodyProperty) GetDocs() *string { + if i == nil { + return nil + } + return i.Docs +} + +func (i *InlinedWebSocketMessageBodyProperty) GetAvailability() *Availability { + if i == nil { + return nil + } + return i.Availability +} + +func (i *InlinedWebSocketMessageBodyProperty) GetName() *NameAndWireValue { + if i == nil { + return nil + } + return i.Name +} + +func (i *InlinedWebSocketMessageBodyProperty) GetValueType() *TypeReference { + if i == nil { + return nil + } + return i.ValueType +} + func (i *InlinedWebSocketMessageBodyProperty) GetExtraProperties() map[string]interface{} { return i.extraProperties } @@ -11252,6 +16196,83 @@ type WebSocketChannel struct { extraProperties map[string]interface{} } +func (w *WebSocketChannel) GetDocs() *string { + if w == nil { + return nil + } + return w.Docs +} + +func (w *WebSocketChannel) GetAvailability() *Availability { + if w == nil { + return nil + } + return w.Availability +} + +func (w *WebSocketChannel) GetName() WebSocketName { + if w == nil { + return nil + } + return w.Name +} + +func (w *WebSocketChannel) GetDisplayName() *string { + if w == nil { + return nil + } + return w.DisplayName +} + +func (w *WebSocketChannel) GetPath() *HttpPath { + if w == nil { + return nil + } + return w.Path +} + +func (w *WebSocketChannel) GetAuth() bool { + if w == nil { + return false + } + return w.Auth +} + +func (w *WebSocketChannel) GetHeaders() []*HttpHeader { + if w == nil { + return nil + } + return w.Headers +} + +func (w *WebSocketChannel) GetQueryParameters() []*QueryParameter { + if w == nil { + return nil + } + return w.QueryParameters +} + +func (w *WebSocketChannel) GetPathParameters() []*PathParameter { + if w == nil { + return nil + } + return w.PathParameters +} + +func (w *WebSocketChannel) GetMessages() []*WebSocketMessage { + if w == nil { + return nil + } + return w.Messages +} + +func (w *WebSocketChannel) GetExamples() []*ExampleWebSocketSession { + if w == nil { + return nil + } + return w.Examples +} + func (w *WebSocketChannel) GetExtraProperties() map[string]interface{} { return w.extraProperties } @@ -11291,6 +16312,48 @@ type WebSocketMessage struct { extraProperties map[string]interface{} } +func (w *WebSocketMessage) GetDocs() *string { + if w == nil { + return nil + } + return w.Docs +} + +func (w *WebSocketMessage) GetAvailability() *Availability { + if w == nil { + return nil + } + return w.Availability +} + +func (w *WebSocketMessage) GetType() WebSocketMessageId { + if w == nil { + return "" + } + return w.Type +} + +func (w *WebSocketMessage) GetDisplayName() *string { + if w == nil { + return nil + } + return w.DisplayName +} + +func (w *WebSocketMessage) GetOrigin() WebSocketMessageOrigin { + if w == nil { + return "" + } + return w.Origin +} + +func (w *WebSocketMessage) GetBody() *WebSocketMessageBody { + if w == nil { + return nil + } + return w.Body +} + func (w *WebSocketMessage) GetExtraProperties() map[string]interface{} { return w.extraProperties } @@ -11333,6 +16396,27 @@ func NewWebSocketMessageBodyFromReference(value *WebSocketMessageBodyReference) return &WebSocketMessageBody{Type: "reference", Reference: value} } +func (w *WebSocketMessageBody) GetType() string { + if w == nil { + return "" + } + return w.Type +} + +func (w *WebSocketMessageBody) GetInlinedBody() *InlinedWebSocketMessageBody { + if w == nil { + return nil + } + return w.InlinedBody +} + +func (w *WebSocketMessageBody) GetReference() *WebSocketMessageBodyReference { + if w == nil { + return nil + } + return w.Reference +} + func (w *WebSocketMessageBody) UnmarshalJSON(data []byte) error { var unmarshaler struct { Type string `json:"type"` @@ -11395,6 +16479,20 @@ type WebSocketMessageBodyReference struct { extraProperties map[string]interface{} } +func (w *WebSocketMessageBodyReference) GetDocs() *string { + if w == nil { + return nil + } + return w.Docs +} + +func (w *WebSocketMessageBodyReference) GetBodyType() *TypeReference { + if w == nil { + return nil + } + return w.BodyType +} + func (w *WebSocketMessageBodyReference) GetExtraProperties() map[string]interface{} { return w.extraProperties } diff --git a/generators/go/internal/generator/config.go b/generators/go/internal/generator/config.go index 725c13881be..40999963e5e 100644 --- a/generators/go/internal/generator/config.go +++ b/generators/go/internal/generator/config.go @@ -20,6 +20,7 @@ type Config struct { IncludeReadme bool Whitelabel bool AlwaysSendRequiredProperties bool + InlinePathParameters bool InlineFileProperties bool Organization string Version string @@ -58,6 +59,7 @@ func NewConfig( includeReadme bool, whitelabel bool, alwaysSendRequiredProperties bool, + inlinePathParameters bool, inlineFileProperties bool, organization string, version string, @@ -81,6 +83,7 @@ func NewConfig( Organization: organization, Whitelabel: whitelabel, AlwaysSendRequiredProperties: alwaysSendRequiredProperties, + InlinePathParameters: inlinePathParameters, InlineFileProperties: inlineFileProperties, Version: version, IRFilepath: irFilepath, diff --git a/generators/go/internal/generator/file_writer.go b/generators/go/internal/generator/file_writer.go index ef9b8795769..020991d416c 100644 --- a/generators/go/internal/generator/file_writer.go +++ b/generators/go/internal/generator/file_writer.go @@ -33,6 +33,7 @@ type fileWriter struct { baseImportPath string whitelabel bool alwaysSendRequiredProperties bool + inlinePathParameters bool inlineFileProperties bool unionVersion UnionVersion scope *gospec.Scope @@ -50,6 +51,7 @@ func newFileWriter( baseImportPath string, whitelabel bool, alwaysSendRequiredProperties bool, + inlinePathParameters bool, inlineFileProperties bool, unionVersion UnionVersion, types map[ir.TypeId]*ir.TypeDeclaration, @@ -91,6 +93,7 @@ func newFileWriter( baseImportPath: baseImportPath, whitelabel: whitelabel, alwaysSendRequiredProperties: alwaysSendRequiredProperties, + inlinePathParameters: inlinePathParameters, inlineFileProperties: inlineFileProperties, unionVersion: unionVersion, scope: scope, @@ -167,6 +170,7 @@ func (f *fileWriter) clone() *fileWriter { f.baseImportPath, f.whitelabel, f.alwaysSendRequiredProperties, + f.inlinePathParameters, f.inlineFileProperties, f.unionVersion, f.types, diff --git a/generators/go/internal/generator/generator.go b/generators/go/internal/generator/generator.go index 569b053dba8..bbe66c7ae70 100644 --- a/generators/go/internal/generator/generator.go +++ b/generators/go/internal/generator/generator.go @@ -132,7 +132,14 @@ func (g *Generator) Generate(mode Mode) ([]*File, error) { } func (g *Generator) generateModelTypes(ir *fernir.IntermediateRepresentation, mode Mode, rootPackageName string) ([]*File, error) { - fileInfoToTypes, err := fileInfoToTypes(rootPackageName, ir.Types, ir.Services, ir.ServiceTypeReferenceInfo, g.config.InlineFileProperties) + fileInfoToTypes, err := fileInfoToTypes( + rootPackageName, + ir.Types, + ir.Services, + ir.ServiceTypeReferenceInfo, + g.config.InlinePathParameters, + g.config.InlineFileProperties, + ) if err != nil { return nil, err } @@ -144,6 +151,7 @@ func (g *Generator) generateModelTypes(ir *fernir.IntermediateRepresentation, mo g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -253,6 +261,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( "", g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, nil, @@ -273,6 +282,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( "", g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, nil, @@ -316,6 +326,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -346,6 +357,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -370,6 +382,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -399,6 +412,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -420,6 +434,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -444,6 +459,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -467,6 +483,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -523,6 +540,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) ( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -677,6 +695,7 @@ func (g *Generator) generateService( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -694,6 +713,7 @@ func (g *Generator) generateService( ir.ErrorDiscriminationStrategy, originalFernFilepath, rootClientInstantiation, + g.config.InlinePathParameters, g.config.InlineFileProperties, ) if err != nil { @@ -723,6 +743,7 @@ func (g *Generator) generateServiceWithoutEndpoints( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -740,6 +761,7 @@ func (g *Generator) generateServiceWithoutEndpoints( ir.ErrorDiscriminationStrategy, originalFernFilepath, rootClientInstantiation, + g.config.InlinePathParameters, g.config.InlineFileProperties, ); err != nil { return nil, err @@ -763,6 +785,7 @@ func (g *Generator) generateRootServiceWithoutEndpoints( g.config.ImportPath, g.config.Whitelabel, g.config.AlwaysSendRequiredProperties, + g.config.InlinePathParameters, g.config.InlineFileProperties, g.config.UnionVersion, ir.Types, @@ -780,6 +803,7 @@ func (g *Generator) generateRootServiceWithoutEndpoints( ir.ErrorDiscriminationStrategy, fernFilepath, rootClientInstantiation, + g.config.InlinePathParameters, g.config.InlineFileProperties, ) if err != nil { @@ -1018,6 +1042,7 @@ func newClientTestFile( false, false, false, + false, UnionVersionUnspecified, nil, nil, @@ -1393,12 +1418,12 @@ func generatedPackagesFromIR(ir *fernir.IntermediateRepresentation) map[string]s } // shouldSkipRequestType returns true if the request type should not be generated. -func shouldSkipRequestType(irEndpoint *fernir.HttpEndpoint, inlineFileProperties bool) bool { +func shouldSkipRequestType(irEndpoint *fernir.HttpEndpoint, inlinePathParameters bool, inlineFileProperties bool) bool { if irEndpoint.SdkRequest == nil || irEndpoint.SdkRequest.Shape == nil || irEndpoint.SdkRequest.Shape.Wrapper == nil { // This endpoint doesn't have any in-lined request types that need to be generated. return true } - return !needsRequestParameter(irEndpoint, inlineFileProperties) + return !needsRequestParameter(irEndpoint, inlinePathParameters, inlineFileProperties) } // fileUploadHasBodyProperties returns true if the file upload request has at least @@ -1473,12 +1498,13 @@ func fileInfoToTypes( irTypes map[fernir.TypeId]*fernir.TypeDeclaration, irServices map[fernir.ServiceId]*fernir.HttpService, irServiceTypeReferenceInfo *fernir.ServiceTypeReferenceInfo, + inlinePathParameters bool, inlineFileProperties bool, ) (map[fileInfo][]*typeToGenerate, error) { result := make(map[fileInfo][]*typeToGenerate) for _, irService := range irServices { for _, irEndpoint := range irService.Endpoints { - if shouldSkipRequestType(irEndpoint, inlineFileProperties) { + if shouldSkipRequestType(irEndpoint, inlinePathParameters, inlineFileProperties) { continue } fileInfo := fileInfoForType(rootPackageName, irService.Name.FernFilepath) diff --git a/generators/go/internal/generator/sdk.go b/generators/go/internal/generator/sdk.go index bfdd267d26d..df87652c474 100644 --- a/generators/go/internal/generator/sdk.go +++ b/generators/go/internal/generator/sdk.go @@ -904,6 +904,7 @@ func (f *fileWriter) WriteClient( errorDiscriminationStrategy *ir.ErrorDiscriminationStrategy, fernFilepath *ir.FernFilepath, rootClientInstantiation *ast.AssignStmt, + inlinePathParameters bool, inlineFileProperties bool, ) (*GeneratedClient, error) { var ( @@ -918,7 +919,7 @@ func (f *fileWriter) WriteClient( // Reformat the endpoint data into a structure that's suitable for code generation. var endpoints []*endpoint for _, irEndpoint := range irEndpoints { - endpoint, err := f.endpointFromIR(fernFilepath, irEndpoint, environmentsConfig, errorDiscriminationStrategy, serviceHeaders, idempotencyHeaders, inlineFileProperties, receiver) + endpoint, err := f.endpointFromIR(fernFilepath, irEndpoint, environmentsConfig, errorDiscriminationStrategy, serviceHeaders, idempotencyHeaders, inlinePathParameters, inlineFileProperties, receiver) if err != nil { return nil, err } @@ -1849,6 +1850,7 @@ func getEndpointParameters( endpoint *ir.HttpEndpoint, example *ir.ExampleEndpointCall, ) []ast.Expr { + var fields []*ast.Field parameters := []ast.Expr{ &ast.CallExpr{ FunctionName: &ast.ImportedReference{ @@ -1857,18 +1859,26 @@ func getEndpointParameters( }, }, } - - allPathParameters := example.RootPathParameters - allPathParameters = append(allPathParameters, example.ServicePathParameters...) - allPathParameters = append(allPathParameters, example.EndpointPathParameters...) - for _, pathParameter := range allPathParameters { - parameters = append( - parameters, - f.snippetWriter.GetSnippetForExampleTypeReference(pathParameter.Value), - ) + allPathParameters := getAllExamplePathParameters(example) + if includePathParametersInWrappedRequest(endpoint, f.inlinePathParameters) { + for _, pathParameter := range allPathParameters { + fields = append( + fields, + &ast.Field{ + Key: pathParameter.Name.PascalCase.UnsafeName, + Value: f.snippetWriter.GetSnippetForExampleTypeReference(pathParameter.Value), + }, + ) + } + } else { + for _, pathParameter := range allPathParameters { + parameters = append( + parameters, + f.snippetWriter.GetSnippetForExampleTypeReference(pathParameter.Value), + ) + } } - var fields []*ast.Field for _, header := range append(example.ServiceHeaders, example.EndpointHeaders...) { if isHeaderLiteral(endpoint, header.Name.WireValue) { continue @@ -1910,7 +1920,7 @@ func getEndpointParameters( ) } - if !shouldSkipRequestType(endpoint, f.inlineFileProperties) { + if !shouldSkipRequestType(endpoint, f.inlinePathParameters, f.inlineFileProperties) { fields = append( fields, exampleRequestBodyToFields(f, endpoint, example.Request)..., @@ -1938,6 +1948,13 @@ func getEndpointParameters( return parameters } +func getAllExamplePathParameters(example *ir.ExampleEndpointCall) []*ir.ExamplePathParameter { + allPathParameters := example.RootPathParameters + allPathParameters = append(allPathParameters, example.ServicePathParameters...) + allPathParameters = append(allPathParameters, example.EndpointPathParameters...) + return allPathParameters +} + func exampleRequestBodyToFields( f *fileWriter, endpoint *ir.HttpEndpoint, @@ -2149,6 +2166,7 @@ func (f *fileWriter) endpointFromIR( errorDiscriminationStrategy *ir.ErrorDiscriminationStrategy, serviceHeaders []*ir.HttpHeader, idempotencyHeaders []*ir.HttpHeader, + inlinePathParameters bool, inlineFileProperties bool, receiver string, ) (*endpoint, error) { @@ -2164,44 +2182,53 @@ func (f *fileWriter) endpointFromIR( pathParamters[pathParameter.Name.OriginalName] = pathParameter } - var pathParameterNames []string - for _, part := range irEndpoint.FullPath.Parts { - if part.PathParameter == "" { - continue - } - pathParameter, ok := pathParamters[part.PathParameter] - if !ok { - return nil, fmt.Errorf("internal error: path parameter %s not found in endpoint %s", part.PathParameter, irEndpoint.Name.OriginalName) + var ( + pathParameterNames []string + signatureParameters = []*signatureParameter{{parameter: "ctx context.Context"}} + ) + if includePathParametersInWrappedRequest(irEndpoint, inlinePathParameters) { + requestParameterName := irEndpoint.SdkRequest.RequestParameterName.CamelCase.SafeName + for _, pathParameter := range irEndpoint.AllPathParameters { + pathParameterNames = append(pathParameterNames, fmt.Sprintf("%s.%s", requestParameterName, pathParameter.Name.PascalCase.UnsafeName)) } - if literal := maybeLiteral(pathParameter.ValueType, f.types); literal != nil { - value := literalToValue(literal) - pathParameterNames = append(pathParameterNames, value) - pathParameterToScopedName[part.PathParameter] = value - continue + } else { + for _, part := range irEndpoint.FullPath.Parts { + if part.PathParameter == "" { + continue + } + pathParameter, ok := pathParamters[part.PathParameter] + if !ok { + return nil, fmt.Errorf("internal error: path parameter %s not found in endpoint %s", part.PathParameter, irEndpoint.Name.OriginalName) + } + if literal := maybeLiteral(pathParameter.ValueType, f.types); literal != nil { + value := literalToValue(literal) + pathParameterNames = append(pathParameterNames, value) + pathParameterToScopedName[part.PathParameter] = value + continue + } + pathParameterName := scope.Add(pathParameter.Name.CamelCase.SafeName) + pathParameterNames = append(pathParameterNames, pathParameterName) + pathParameterToScopedName[part.PathParameter] = pathParameterName } - pathParameterName := scope.Add(pathParameter.Name.CamelCase.SafeName) - pathParameterNames = append(pathParameterNames, pathParameterName) - pathParameterToScopedName[part.PathParameter] = pathParameterName - } - // Preserve the order of path parameters specified in the API in the function signature. - signatureParameters := []*signatureParameter{{parameter: "ctx context.Context"}} - for _, pathParameter := range irEndpoint.AllPathParameters { - pathParameterName, ok := pathParameterToScopedName[pathParameter.Name.OriginalName] - if !ok { - return nil, fmt.Errorf("internal error: path parameter %s not found in endpoint %s", pathParameter.Name.OriginalName, irEndpoint.Name.OriginalName) - } - parameterType := typeReferenceToGoType(pathParameter.ValueType, f.types, scope, f.baseImportPath, "" /* The type is always imported */, false) - if isLiteralType(pathParameter.ValueType, f.types) { - continue + // Preserve the order of path parameters specified in the API in the function signature. + for _, pathParameter := range irEndpoint.AllPathParameters { + pathParameterName, ok := pathParameterToScopedName[pathParameter.Name.OriginalName] + if !ok { + return nil, fmt.Errorf("internal error: path parameter %s not found in endpoint %s", pathParameter.Name.OriginalName, irEndpoint.Name.OriginalName) + } + parameterType := typeReferenceToGoType(pathParameter.ValueType, f.types, scope, f.baseImportPath, "" /* The type is always imported */, false) + if isLiteralType(pathParameter.ValueType, f.types) { + continue + } + signatureParameters = append( + signatureParameters, + &signatureParameter{ + docs: pathParameter.Docs, + parameter: fmt.Sprintf("%s %s", pathParameterName, parameterType), + }, + ) } - signatureParameters = append( - signatureParameters, - &signatureParameter{ - docs: pathParameter.Docs, - parameter: fmt.Sprintf("%s %s", pathParameterName, parameterType), - }, - ) } // Add the file parameter(s) after the path parameters, if any. @@ -2249,8 +2276,9 @@ func (f *fileWriter) endpointFromIR( requestIsOptional = false headers = []*ir.HttpHeader{} ) + if irEndpoint.SdkRequest != nil { - if needsRequestParameter(irEndpoint, inlineFileProperties) { + if needsRequestParameter(irEndpoint, inlinePathParameters, inlineFileProperties) { var requestType string requestParameterName = irEndpoint.SdkRequest.RequestParameterName.CamelCase.SafeName if requestBody := irEndpoint.SdkRequest.Shape.JustRequestBody; requestBody != nil { @@ -2631,6 +2659,13 @@ func (f *fileWriter) WriteRequestType( goType := typeReferenceToGoType(header.ValueType, f.types, f.scope, f.baseImportPath, importPath, false) f.P(header.Name.Name.PascalCase.UnsafeName, " ", goType, " `json:\"-\" url:\"-\"`") } + if includePathParametersInWrappedRequest(endpoint, f.inlinePathParameters) { + for _, pathParameter := range endpoint.AllPathParameters { + value := typeReferenceToGoType(pathParameter.ValueType, f.types, f.scope, f.baseImportPath, importPath, false) + f.WriteDocs(pathParameter.Docs) + f.P(pathParameter.Name.PascalCase.UnsafeName, " ", value, " `json:\"-\" url:\"-\"`") + } + } for _, queryParam := range endpoint.QueryParameters { value := typeReferenceToGoType(queryParam.ValueType, f.types, f.scope, f.baseImportPath, importPath, false) if queryParam.AllowMultiple { @@ -3305,10 +3340,17 @@ func typeReferenceFromStreamingResponse( // needsRequestParameter returns true if the endpoint needs a request parameter in its // function signature. -func needsRequestParameter(endpoint *ir.HttpEndpoint, inlineFileProperties bool) bool { +func needsRequestParameter( + endpoint *ir.HttpEndpoint, + inlinePathParameters bool, + inlineFileProperties bool, +) bool { if endpoint.SdkRequest == nil { return false } + if includePathParametersInWrappedRequest(endpoint, inlinePathParameters) { + return true + } if len(endpoint.QueryParameters) > 0 { return true } @@ -3320,9 +3362,26 @@ func needsRequestParameter(endpoint *ir.HttpEndpoint, inlineFileProperties bool) fileUploadHasBodyProperties(endpoint.RequestBody.FileUpload) || (inlineFileProperties && fileUploadHasFileProperties(endpoint.RequestBody.FileUpload)) } + onlyPathParameters := endpoint.GetSdkRequest().GetShape().GetWrapper().GetOnlyPathParameters() + if onlyPathParameters != nil && *onlyPathParameters { + return false + } return true } +// includePathParametersInWrappedRequest returns true if the endpoint's request should +// include path parameters in its wrapped request type. +func includePathParametersInWrappedRequest( + endpoint *ir.HttpEndpoint, + inlinePathParameters bool, +) bool { + if endpoint.SdkRequest == nil { + return false + } + includePathParameters := endpoint.GetSdkRequest().GetShape().GetWrapper().GetIncludePathParameters() + return len(endpoint.PathParameters) > 0 && inlinePathParameters && includePathParameters != nil && *includePathParameters +} + // maybePrimitive recurses into the given value type, returning its underlying primitive // value, if any. Note that this only recurses through nested optional containers; all // other container types are ignored. diff --git a/generators/go/sdk/versions.yml b/generators/go/sdk/versions.yml index 95e492e0a77..70abbf10711 100644 --- a/generators/go/sdk/versions.yml +++ b/generators/go/sdk/versions.yml @@ -1,3 +1,11 @@ +- version: 0.33.0 + changelogEntry: + - type: feat + summary: >- + Add support for the `inlinePathParameters` configuration option, which generates + path parameters in the generated request type (if any) instead of as separate + positional parameters. + irVersion: 53 - version: 0.32.1 changelogEntry: - type: internal diff --git a/packages/cli/dynamic-snippets/package.json b/packages/cli/dynamic-snippets/package.json index e1243e9a3f0..0593e517156 100644 --- a/packages/cli/dynamic-snippets/package.json +++ b/packages/cli/dynamic-snippets/package.json @@ -36,6 +36,7 @@ "@fern-api/project-loader": "workspace:*", "@fern-api/task-context": "workspace:*", "@fern-api/workspace-loader": "workspace:*", + "@fern-fern/ir-sdk": "^53.19.0", "@fern-fern/generator-exec-sdk": "^0.0.898", "url-join": "^5.0.0" }, diff --git a/packages/cli/dynamic-snippets/src/AbstractDynamicSnippetsGeneratorContext.ts b/packages/cli/dynamic-snippets/src/AbstractDynamicSnippetsGeneratorContext.ts index ad507cc7f9f..4c57aa030b3 100644 --- a/packages/cli/dynamic-snippets/src/AbstractDynamicSnippetsGeneratorContext.ts +++ b/packages/cli/dynamic-snippets/src/AbstractDynamicSnippetsGeneratorContext.ts @@ -1,5 +1,5 @@ import { FernGeneratorExec } from "@fern-fern/generator-exec-sdk"; -import { dynamic as DynamicSnippets } from "@fern-api/ir-sdk"; +import { dynamic as DynamicSnippets } from "@fern-fern/ir-sdk/api"; export abstract class AbstractDynamicSnippetsGeneratorContext { public constructor( diff --git a/packages/cli/dynamic-snippets/src/DynamicSnippetsConverter.ts b/packages/cli/dynamic-snippets/src/DynamicSnippetsConverter.ts index 89bc1fc9ce3..21b878d9e50 100644 --- a/packages/cli/dynamic-snippets/src/DynamicSnippetsConverter.ts +++ b/packages/cli/dynamic-snippets/src/DynamicSnippetsConverter.ts @@ -158,10 +158,22 @@ export class DynamicSnippetsConverter { pathParameters, queryParameters, headers, - body: body != null ? this.convertInlinedRequestBody({ wrapper, body }) : undefined + body: body != null ? this.convertInlinedRequestBody({ wrapper, body }) : undefined, + metadata: this.convertInlinedRequestMetadata({ wrapper }) }); } + private convertInlinedRequestMetadata({ + wrapper + }: { + wrapper: SdkRequestWrapper; + }): DynamicSnippets.InlinedRequestMetadata { + return { + includePathParameters: wrapper.includePathParameters ?? false, + onlyPathParameters: wrapper.onlyPathParameters ?? false + }; + } + private convertInlinedRequestBody({ wrapper, body diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/alias-extends.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/alias-extends.json index ad90cd567d0..a98878ecac1 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/alias-extends.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/alias-extends.json @@ -306,6 +306,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/any-auth.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/any-auth.json index a1ed0743da5..27133c36ae4 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/any-auth.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/any-auth.json @@ -598,6 +598,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/audiences.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/audiences.json index fd60206a043..c28f11fab85 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/audiences.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/audiences.json @@ -1394,6 +1394,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/auth-environment-variables.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/auth-environment-variables.json index b043946d86b..5aca971f63c 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/auth-environment-variables.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/auth-environment-variables.json @@ -370,7 +370,11 @@ } } ], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/cross-package-type-names.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/cross-package-type-names.json index 38ad96f6b03..f56f626f7c4 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/cross-package-type-names.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/cross-package-type-names.json @@ -1269,6 +1269,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/csharp-grpc-proto-exhaustive.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/csharp-grpc-proto-exhaustive.json index 956dec3d7b3..ff7198a27b3 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/csharp-grpc-proto-exhaustive.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/csharp-grpc-proto-exhaustive.json @@ -2078,6 +2078,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -2354,6 +2358,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -2534,6 +2542,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -2745,7 +2757,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -3015,7 +3031,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -3446,6 +3466,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -3750,6 +3774,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/csharp-grpc-proto.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/csharp-grpc-proto.json index ddda8ee63d7..abb0d6ea6a9 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/csharp-grpc-proto.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/csharp-grpc-proto.json @@ -645,6 +645,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/enum.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/enum.json index 3ea5f33430e..31bae17cab6 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/enum.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/enum.json @@ -476,6 +476,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -876,7 +880,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -1152,7 +1160,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/examples.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/examples.json index aee2cbc5693..7abc3e039dd 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/examples.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/examples.json @@ -5677,7 +5677,11 @@ } } ], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -6480,7 +6484,11 @@ } } ], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/exhaustive.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/exhaustive.json index 1f7302775e8..3a9c91f6850 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/exhaustive.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/exhaustive.json @@ -5878,7 +5878,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -6185,7 +6189,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -6487,7 +6495,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -8365,6 +8377,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -8921,6 +8937,10 @@ "value": "STRING" } } + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/extends.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/extends.json index 2a46d42a37a..75119bdc010 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/extends.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/extends.json @@ -503,6 +503,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/extra-properties.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/extra-properties.json index 3ab82409303..f81abbc7631 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/extra-properties.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/extra-properties.json @@ -396,6 +396,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/file-upload.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/file-upload.json index 5cedc153b8a..189e24047da 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/file-upload.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/file-upload.json @@ -775,6 +775,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -947,6 +951,10 @@ "wireValue": "file" } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -1275,6 +1283,10 @@ "wireValue": "file" } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -1537,6 +1549,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/idempotency-headers.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/idempotency-headers.json index db5f859b191..660681b1eee 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/idempotency-headers.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/idempotency-headers.json @@ -337,6 +337,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/literal.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/literal.json index edc9b2b5c69..efa88babf44 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/literal.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/literal.json @@ -1269,6 +1269,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -1660,6 +1664,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -2007,7 +2015,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/mixed-case.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/mixed-case.json index 5140425170f..33d3b01bbc4 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/mixed-case.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/mixed-case.json @@ -1009,7 +1009,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/mixed-file-directory.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/mixed-file-directory.json index fd7690375fb..ff21b8d00ac 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/mixed-file-directory.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/mixed-file-directory.json @@ -1064,7 +1064,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -1319,7 +1323,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -1647,7 +1655,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-line-docs.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-line-docs.json index 7694cba8272..dd14baa6310 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-line-docs.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-line-docs.json @@ -567,6 +567,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-url-environment-no-default.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-url-environment-no-default.json index 0a2908d9c8d..df6fcdb977c 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-url-environment-no-default.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-url-environment-no-default.json @@ -195,6 +195,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -393,6 +397,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-url-environment.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-url-environment.json index 0a2908d9c8d..df6fcdb977c 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-url-environment.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/multi-url-environment.json @@ -195,6 +195,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -393,6 +397,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-default.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-default.json index d22f873dd33..665a955b612 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-default.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-default.json @@ -359,6 +359,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-environment-variables.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-environment-variables.json index a833e16b6e0..9023f529360 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-environment-variables.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-environment-variables.json @@ -452,6 +452,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -778,6 +782,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-nested-root.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-nested-root.json index ef756ee1d1a..76c151d135b 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-nested-root.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials-nested-root.json @@ -458,6 +458,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials.json index a833e16b6e0..9023f529360 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/oauth-client-credentials.json @@ -452,6 +452,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -778,6 +782,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/pagination.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/pagination.json index 0360fb86c19..3181123086f 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/pagination.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/pagination.json @@ -2249,7 +2249,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -2450,6 +2454,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -2741,7 +2749,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -2942,6 +2954,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -3202,7 +3218,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -3462,7 +3482,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -3660,7 +3684,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -3858,7 +3886,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -4056,7 +4088,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -4254,7 +4290,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/path-parameters.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/path-parameters.json index f629bfd3619..21a3aae3c8e 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/path-parameters.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/path-parameters.json @@ -1,6 +1,134 @@ { "version": "1.0.0", "types": { + "type_user:Organization": { + "type": "object", + "declaration": { + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + } + }, + "properties": [ + { + "name": { + "name": { + "originalName": "name", + "camelCase": { + "unsafeName": "name", + "safeName": "name" + }, + "snakeCase": { + "unsafeName": "name", + "safeName": "name" + }, + "screamingSnakeCase": { + "unsafeName": "NAME", + "safeName": "NAME" + }, + "pascalCase": { + "unsafeName": "Name", + "safeName": "Name" + } + }, + "wireValue": "name" + }, + "typeReference": { + "_type": "primitive", + "value": "STRING" + } + }, + { + "name": { + "name": { + "originalName": "tags", + "camelCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "snakeCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "screamingSnakeCase": { + "unsafeName": "TAGS", + "safeName": "TAGS" + }, + "pascalCase": { + "unsafeName": "Tags", + "safeName": "Tags" + } + }, + "wireValue": "tags" + }, + "typeReference": { + "_type": "list", + "value": { + "_type": "primitive", + "value": "STRING" + } + } + } + ] + }, "type_user:User": { "type": "object", "declaration": { @@ -408,7 +536,11 @@ ], "queryParameters": [], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": true, + "onlyPathParameters": true + } }, "response": { "type": "json" @@ -610,7 +742,431 @@ ], "queryParameters": [], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": true, + "onlyPathParameters": true + } + }, + "response": { + "type": "json" + } + }, + "endpoint_user.searchUsers": { + "auth": null, + "declaration": { + "name": { + "originalName": "searchUsers", + "camelCase": { + "unsafeName": "searchUsers", + "safeName": "searchUsers" + }, + "snakeCase": { + "unsafeName": "search_users", + "safeName": "search_users" + }, + "screamingSnakeCase": { + "unsafeName": "SEARCH_USERS", + "safeName": "SEARCH_USERS" + }, + "pascalCase": { + "unsafeName": "SearchUsers", + "safeName": "SearchUsers" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + } + }, + "location": { + "method": "GET", + "path": "/user/users/{userOd}" + }, + "request": { + "type": "inlined", + "declaration": { + "name": { + "originalName": "SearchUsersRequest", + "camelCase": { + "unsafeName": "searchUsersRequest", + "safeName": "searchUsersRequest" + }, + "snakeCase": { + "unsafeName": "search_users_request", + "safeName": "search_users_request" + }, + "screamingSnakeCase": { + "unsafeName": "SEARCH_USERS_REQUEST", + "safeName": "SEARCH_USERS_REQUEST" + }, + "pascalCase": { + "unsafeName": "SearchUsersRequest", + "safeName": "SearchUsersRequest" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + } + }, + "pathParameters": [ + { + "name": { + "name": { + "originalName": "userId", + "camelCase": { + "unsafeName": "userID", + "safeName": "userID" + }, + "snakeCase": { + "unsafeName": "user_id", + "safeName": "user_id" + }, + "screamingSnakeCase": { + "unsafeName": "USER_ID", + "safeName": "USER_ID" + }, + "pascalCase": { + "unsafeName": "UserID", + "safeName": "UserID" + } + }, + "wireValue": "userId" + }, + "typeReference": { + "_type": "primitive", + "value": "STRING" + } + } + ], + "queryParameters": [ + { + "name": { + "name": { + "originalName": "limit", + "camelCase": { + "unsafeName": "limit", + "safeName": "limit" + }, + "snakeCase": { + "unsafeName": "limit", + "safeName": "limit" + }, + "screamingSnakeCase": { + "unsafeName": "LIMIT", + "safeName": "LIMIT" + }, + "pascalCase": { + "unsafeName": "Limit", + "safeName": "Limit" + } + }, + "wireValue": "limit" + }, + "typeReference": { + "_type": "optional", + "value": { + "_type": "primitive", + "value": "INTEGER" + } + } + } + ], + "headers": [], + "body": null, + "metadata": { + "includePathParameters": true, + "onlyPathParameters": false + } + }, + "response": { + "type": "json" + } + }, + "endpoint_user.searchOrganizations": { + "auth": null, + "declaration": { + "name": { + "originalName": "searchOrganizations", + "camelCase": { + "unsafeName": "searchOrganizations", + "safeName": "searchOrganizations" + }, + "snakeCase": { + "unsafeName": "search_organizations", + "safeName": "search_organizations" + }, + "screamingSnakeCase": { + "unsafeName": "SEARCH_ORGANIZATIONS", + "safeName": "SEARCH_ORGANIZATIONS" + }, + "pascalCase": { + "unsafeName": "SearchOrganizations", + "safeName": "SearchOrganizations" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + } + }, + "location": { + "method": "GET", + "path": "/user/organizations/{organizationId}" + }, + "request": { + "type": "inlined", + "declaration": { + "name": { + "originalName": "SearchOrganizationsRequest", + "camelCase": { + "unsafeName": "searchOrganizationsRequest", + "safeName": "searchOrganizationsRequest" + }, + "snakeCase": { + "unsafeName": "search_organizations_request", + "safeName": "search_organizations_request" + }, + "screamingSnakeCase": { + "unsafeName": "SEARCH_ORGANIZATIONS_REQUEST", + "safeName": "SEARCH_ORGANIZATIONS_REQUEST" + }, + "pascalCase": { + "unsafeName": "SearchOrganizationsRequest", + "safeName": "SearchOrganizationsRequest" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + } + }, + "pathParameters": [ + { + "name": { + "name": { + "originalName": "organizationId", + "camelCase": { + "unsafeName": "organizationID", + "safeName": "organizationID" + }, + "snakeCase": { + "unsafeName": "organization_id", + "safeName": "organization_id" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION_ID", + "safeName": "ORGANIZATION_ID" + }, + "pascalCase": { + "unsafeName": "OrganizationID", + "safeName": "OrganizationID" + } + }, + "wireValue": "organizationId" + }, + "typeReference": { + "_type": "primitive", + "value": "STRING" + } + } + ], + "queryParameters": [ + { + "name": { + "name": { + "originalName": "limit", + "camelCase": { + "unsafeName": "limit", + "safeName": "limit" + }, + "snakeCase": { + "unsafeName": "limit", + "safeName": "limit" + }, + "screamingSnakeCase": { + "unsafeName": "LIMIT", + "safeName": "LIMIT" + }, + "pascalCase": { + "unsafeName": "Limit", + "safeName": "Limit" + } + }, + "wireValue": "limit" + }, + "typeReference": { + "_type": "optional", + "value": { + "_type": "primitive", + "value": "INTEGER" + } + } + } + ], + "headers": [], + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/query-parameters.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/query-parameters.json index 5e112b771b9..3d5cd5e6d32 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/query-parameters.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/query-parameters.json @@ -814,7 +814,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/reserved-keywords.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/reserved-keywords.json index e07d3099997..0fb3e1b4bd7 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/reserved-keywords.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/reserved-keywords.json @@ -401,7 +401,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/server-sent-event-examples.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/server-sent-event-examples.json index 1e4ad6d85cc..d3dd87c797b 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/server-sent-event-examples.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/server-sent-event-examples.json @@ -303,6 +303,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/server-sent-events.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/server-sent-events.json index 1e4ad6d85cc..d3dd87c797b 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/server-sent-events.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/server-sent-events.json @@ -303,6 +303,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/streaming-parameter.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/streaming-parameter.json index 0a6973cb097..35551408ab9 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/streaming-parameter.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/streaming-parameter.json @@ -459,6 +459,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/streaming.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/streaming.json index b55a4925f70..58691c44a17 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/streaming.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/streaming.json @@ -334,6 +334,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -542,6 +546,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/trace.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/trace.json index 240d849019a..59b2e38382e 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/trace.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/trace.json @@ -36368,6 +36368,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -36792,6 +36796,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -37334,7 +37342,11 @@ } } ], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -37617,6 +37629,10 @@ "value": "type_playlist:PlaylistCreateRequest" } } + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -37965,7 +37981,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" @@ -39072,6 +39092,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/ts-express-casing.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/ts-express-casing.json index 4391977c046..d22c41b337a 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/ts-express-casing.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/ts-express-casing.json @@ -476,6 +476,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { diff --git a/packages/cli/dynamic-snippets/src/__test__/test-definitions/validation.json b/packages/cli/dynamic-snippets/src/__test__/test-definitions/validation.json index c0b2a8aa89f..b297d0e4a6f 100644 --- a/packages/cli/dynamic-snippets/src/__test__/test-definitions/validation.json +++ b/packages/cli/dynamic-snippets/src/__test__/test-definitions/validation.json @@ -588,6 +588,10 @@ } } ] + }, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false } }, "response": { @@ -742,7 +746,11 @@ } ], "headers": [], - "body": null + "body": null, + "metadata": { + "includePathParameters": false, + "onlyPathParameters": false + } }, "response": { "type": "json" diff --git a/packages/cli/ete-tests/src/tests/dynamic/__snapshots__/dyanmic.test.ts.snap b/packages/cli/ete-tests/src/tests/dynamic/__snapshots__/dyanmic.test.ts.snap index 8727c9c6ac7..3f1a6862989 100644 --- a/packages/cli/ete-tests/src/tests/dynamic/__snapshots__/dyanmic.test.ts.snap +++ b/packages/cli/ete-tests/src/tests/dynamic/__snapshots__/dyanmic.test.ts.snap @@ -1,3 +1,3 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`fdr > {"name":"simple"} 1`] = `"{"version":"1.0.0","types":{"type_commons:UndiscriminatedUnion":{"declaration":{"name":{"originalName":"UndiscriminatedUnion","camelCase":{"unsafeName":"undiscriminatedUnion","safeName":"undiscriminatedUnion"},"snakeCase":{"unsafeName":"undiscriminated_union","safeName":"undiscriminated_union"},"screamingSnakeCase":{"unsafeName":"UNDISCRIMINATED_UNION","safeName":"UNDISCRIMINATED_UNION"},"pascalCase":{"unsafeName":"UndiscriminatedUnion","safeName":"UndiscriminatedUnion"}},"fernFilepath":{"allParts":[{"originalName":"commons","camelCase":{"unsafeName":"commons","safeName":"commons"},"snakeCase":{"unsafeName":"commons","safeName":"commons"},"screamingSnakeCase":{"unsafeName":"COMMONS","safeName":"COMMONS"},"pascalCase":{"unsafeName":"Commons","safeName":"Commons"}}],"packagePath":[],"file":{"originalName":"commons","camelCase":{"unsafeName":"commons","safeName":"commons"},"snakeCase":{"unsafeName":"commons","safeName":"commons"},"screamingSnakeCase":{"unsafeName":"COMMONS","safeName":"COMMONS"},"pascalCase":{"unsafeName":"Commons","safeName":"Commons"}}}},"types":[{"value":"STRING","type":"primitive"},{"value":{"value":"STRING","type":"primitive"},"type":"list"},{"value":"INTEGER","type":"primitive"},{"value":{"value":{"value":"INTEGER","type":"primitive"},"type":"list"},"type":"list"}],"type":"undiscriminatedUnion"},"type_director:Director":{"declaration":{"name":{"originalName":"Director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"properties":[{"name":{"name":{"originalName":"name","camelCase":{"unsafeName":"name","safeName":"name"},"snakeCase":{"unsafeName":"name","safeName":"name"},"screamingSnakeCase":{"unsafeName":"NAME","safeName":"NAME"},"pascalCase":{"unsafeName":"Name","safeName":"Name"}},"wireValue":"name"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"age","camelCase":{"unsafeName":"age","safeName":"age"},"snakeCase":{"unsafeName":"age","safeName":"age"},"screamingSnakeCase":{"unsafeName":"AGE","safeName":"AGE"},"pascalCase":{"unsafeName":"Age","safeName":"Age"}},"wireValue":"age"},"typeReference":{"value":"type_director:Age","type":"named"}}],"type":"object"},"type_director:Age":{"declaration":{"name":{"originalName":"Age","camelCase":{"unsafeName":"age","safeName":"age"},"snakeCase":{"unsafeName":"age","safeName":"age"},"screamingSnakeCase":{"unsafeName":"AGE","safeName":"AGE"},"pascalCase":{"unsafeName":"Age","safeName":"Age"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"typeReference":{"value":"INTEGER","type":"primitive"},"type":"alias"},"type_director:LiteralString":{"declaration":{"name":{"originalName":"LiteralString","camelCase":{"unsafeName":"literalString","safeName":"literalString"},"snakeCase":{"unsafeName":"literal_string","safeName":"literal_string"},"screamingSnakeCase":{"unsafeName":"LITERAL_STRING","safeName":"LITERAL_STRING"},"pascalCase":{"unsafeName":"LiteralString","safeName":"LiteralString"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"typeReference":{"value":{"value":"hello","type":"string"},"type":"literal"},"type":"alias"},"type_imdb:CurrencyAmount":{"declaration":{"name":{"originalName":"CurrencyAmount","camelCase":{"unsafeName":"currencyAmount","safeName":"currencyAmount"},"snakeCase":{"unsafeName":"currency_amount","safeName":"currency_amount"},"screamingSnakeCase":{"unsafeName":"CURRENCY_AMOUNT","safeName":"CURRENCY_AMOUNT"},"pascalCase":{"unsafeName":"CurrencyAmount","safeName":"CurrencyAmount"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:MovieId":{"declaration":{"name":{"originalName":"MovieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:ActorId":{"declaration":{"name":{"originalName":"ActorId","camelCase":{"unsafeName":"actorId","safeName":"actorId"},"snakeCase":{"unsafeName":"actor_id","safeName":"actor_id"},"screamingSnakeCase":{"unsafeName":"ACTOR_ID","safeName":"ACTOR_ID"},"pascalCase":{"unsafeName":"ActorId","safeName":"ActorId"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:Movie":{"declaration":{"name":{"originalName":"Movie","camelCase":{"unsafeName":"movie","safeName":"movie"},"snakeCase":{"unsafeName":"movie","safeName":"movie"},"screamingSnakeCase":{"unsafeName":"MOVIE","safeName":"MOVIE"},"pascalCase":{"unsafeName":"Movie","safeName":"Movie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"id","camelCase":{"unsafeName":"id","safeName":"id"},"snakeCase":{"unsafeName":"id","safeName":"id"},"screamingSnakeCase":{"unsafeName":"ID","safeName":"ID"},"pascalCase":{"unsafeName":"Id","safeName":"Id"}},"wireValue":"id"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}},{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"rating","camelCase":{"unsafeName":"rating","safeName":"rating"},"snakeCase":{"unsafeName":"rating","safeName":"rating"},"screamingSnakeCase":{"unsafeName":"RATING","safeName":"RATING"},"pascalCase":{"unsafeName":"Rating","safeName":"Rating"}},"wireValue":"rating"},"typeReference":{"value":"DOUBLE","type":"primitive"}}],"type":"object"},"type_imdb:CreateMovieRequest":{"declaration":{"name":{"originalName":"CreateMovieRequest","camelCase":{"unsafeName":"createMovieRequest","safeName":"createMovieRequest"},"snakeCase":{"unsafeName":"create_movie_request","safeName":"create_movie_request"},"screamingSnakeCase":{"unsafeName":"CREATE_MOVIE_REQUEST","safeName":"CREATE_MOVIE_REQUEST"},"pascalCase":{"unsafeName":"CreateMovieRequest","safeName":"CreateMovieRequest"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"ratings","camelCase":{"unsafeName":"ratings","safeName":"ratings"},"snakeCase":{"unsafeName":"ratings","safeName":"ratings"},"screamingSnakeCase":{"unsafeName":"RATINGS","safeName":"RATINGS"},"pascalCase":{"unsafeName":"Ratings","safeName":"Ratings"}},"wireValue":"ratings"},"typeReference":{"value":{"value":"DOUBLE","type":"primitive"},"type":"list"}}],"type":"object"},"type_imdb:DirectorWrapper":{"declaration":{"name":{"originalName":"DirectorWrapper","camelCase":{"unsafeName":"directorWrapper","safeName":"directorWrapper"},"snakeCase":{"unsafeName":"director_wrapper","safeName":"director_wrapper"},"screamingSnakeCase":{"unsafeName":"DIRECTOR_WRAPPER","safeName":"DIRECTOR_WRAPPER"},"pascalCase":{"unsafeName":"DirectorWrapper","safeName":"DirectorWrapper"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"wireValue":"director"},"typeReference":{"value":"type_director:Director","type":"named"}}],"type":"object"},"type_imdb:EmptyObject":{"declaration":{"name":{"originalName":"EmptyObject","camelCase":{"unsafeName":"emptyObject","safeName":"emptyObject"},"snakeCase":{"unsafeName":"empty_object","safeName":"empty_object"},"screamingSnakeCase":{"unsafeName":"EMPTY_OBJECT","safeName":"EMPTY_OBJECT"},"pascalCase":{"unsafeName":"EmptyObject","safeName":"EmptyObject"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[],"type":"object"},"type_imdb:Person":{"declaration":{"name":{"originalName":"Person","camelCase":{"unsafeName":"person","safeName":"person"},"snakeCase":{"unsafeName":"person","safeName":"person"},"screamingSnakeCase":{"unsafeName":"PERSON","safeName":"PERSON"},"pascalCase":{"unsafeName":"Person","safeName":"Person"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"discriminant":{"name":{"originalName":"type","camelCase":{"unsafeName":"type","safeName":"type"},"snakeCase":{"unsafeName":"type","safeName":"type"},"screamingSnakeCase":{"unsafeName":"TYPE","safeName":"TYPE"},"pascalCase":{"unsafeName":"Type","safeName":"Type"}},"wireValue":"type"},"types":{"actor":{"typeReference":{"value":"type_imdb:ActorId","type":"named"},"discriminantValue":{"name":{"originalName":"actor","camelCase":{"unsafeName":"actor","safeName":"actor"},"snakeCase":{"unsafeName":"actor","safeName":"actor"},"screamingSnakeCase":{"unsafeName":"ACTOR","safeName":"ACTOR"},"pascalCase":{"unsafeName":"Actor","safeName":"Actor"}},"wireValue":"actor"},"type":"singleProperty"},"director":{"typeId":"type_director:Director","discriminantValue":{"name":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"wireValue":"director"},"properties":[],"type":"samePropertiesAsObject"},"producer":{"typeId":"type_imdb:EmptyObject","discriminantValue":{"name":{"originalName":"producer","camelCase":{"unsafeName":"producer","safeName":"producer"},"snakeCase":{"unsafeName":"producer","safeName":"producer"},"screamingSnakeCase":{"unsafeName":"PRODUCER","safeName":"PRODUCER"},"pascalCase":{"unsafeName":"Producer","safeName":"Producer"}},"wireValue":"producer"},"properties":[],"type":"samePropertiesAsObject"},"cinematographer":{"typeId":"type_imdb:EmptyObject","discriminantValue":{"name":{"originalName":"cinematographer","camelCase":{"unsafeName":"cinematographer","safeName":"cinematographer"},"snakeCase":{"unsafeName":"cinematographer","safeName":"cinematographer"},"screamingSnakeCase":{"unsafeName":"CINEMATOGRAPHER","safeName":"CINEMATOGRAPHER"},"pascalCase":{"unsafeName":"Cinematographer","safeName":"Cinematographer"}},"wireValue":"cinematographer"},"properties":[],"type":"samePropertiesAsObject"}},"type":"discriminatedUnion"},"type_imdb:RecursiveType":{"declaration":{"name":{"originalName":"RecursiveType","camelCase":{"unsafeName":"recursiveType","safeName":"recursiveType"},"snakeCase":{"unsafeName":"recursive_type","safeName":"recursive_type"},"screamingSnakeCase":{"unsafeName":"RECURSIVE_TYPE","safeName":"RECURSIVE_TYPE"},"pascalCase":{"unsafeName":"RecursiveType","safeName":"RecursiveType"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"ratings","camelCase":{"unsafeName":"ratings","safeName":"ratings"},"snakeCase":{"unsafeName":"ratings","safeName":"ratings"},"screamingSnakeCase":{"unsafeName":"RATINGS","safeName":"RATINGS"},"pascalCase":{"unsafeName":"Ratings","safeName":"Ratings"}},"wireValue":"ratings"},"typeReference":{"value":{"value":"DOUBLE","type":"primitive"},"type":"list"}},{"name":{"name":{"originalName":"selfReferencing","camelCase":{"unsafeName":"selfReferencing","safeName":"selfReferencing"},"snakeCase":{"unsafeName":"self_referencing","safeName":"self_referencing"},"screamingSnakeCase":{"unsafeName":"SELF_REFERENCING","safeName":"SELF_REFERENCING"},"pascalCase":{"unsafeName":"SelfReferencing","safeName":"SelfReferencing"}},"wireValue":"selfReferencing"},"typeReference":{"value":{"value":"type_imdb:RecursiveType","type":"named"},"type":"list"}}],"type":"object"}},"headers":[{"name":{"name":{"originalName":"apiVersion","camelCase":{"unsafeName":"apiVersion","safeName":"apiVersion"},"snakeCase":{"unsafeName":"api_version","safeName":"api_version"},"screamingSnakeCase":{"unsafeName":"API_VERSION","safeName":"API_VERSION"},"pascalCase":{"unsafeName":"ApiVersion","safeName":"ApiVersion"}},"wireValue":"X-API-VERSION"},"typeReference":{"value":{"value":"STRING","type":"primitive"},"type":"optional"}}],"endpoints":{"endpoint_imdb.createMovie":{"declaration":{"name":{"originalName":"createMovie","camelCase":{"unsafeName":"createMovie","safeName":"createMovie"},"snakeCase":{"unsafeName":"create_movie","safeName":"create_movie"},"screamingSnakeCase":{"unsafeName":"CREATE_MOVIE","safeName":"CREATE_MOVIE"},"pascalCase":{"unsafeName":"CreateMovie","safeName":"CreateMovie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"POST","path":"/test/{rootPathParam}/movies"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}}],"body":{"value":{"value":"type_imdb:CreateMovieRequest","type":"named"},"type":"typeReference"},"type":"body"},"response":{"type":"json"}},"endpoint_imdb.getMovie":{"declaration":{"name":{"originalName":"getMovie","camelCase":{"unsafeName":"getMovie","safeName":"getMovie"},"snakeCase":{"unsafeName":"get_movie","safeName":"get_movie"},"screamingSnakeCase":{"unsafeName":"GET_MOVIE","safeName":"GET_MOVIE"},"pascalCase":{"unsafeName":"GetMovie","safeName":"GetMovie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"GET","path":"/test/{rootPathParam}/movies/{movieId}"},"request":{"declaration":{"name":{"originalName":"GetMovieRequest","camelCase":{"unsafeName":"getMovieRequest","safeName":"getMovieRequest"},"snakeCase":{"unsafeName":"get_movie_request","safeName":"get_movie_request"},"screamingSnakeCase":{"unsafeName":"GET_MOVIE_REQUEST","safeName":"GET_MOVIE_REQUEST"},"pascalCase":{"unsafeName":"GetMovieRequest","safeName":"GetMovieRequest"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"queryParameters":[{"name":{"name":{"originalName":"movieName","camelCase":{"unsafeName":"movieName","safeName":"movieName"},"snakeCase":{"unsafeName":"movie_name","safeName":"movie_name"},"screamingSnakeCase":{"unsafeName":"MOVIE_NAME","safeName":"MOVIE_NAME"},"pascalCase":{"unsafeName":"MovieName","safeName":"MovieName"}},"wireValue":"movieName"},"typeReference":{"value":{"value":"STRING","type":"primitive"},"type":"list"}}],"headers":[],"type":"inlined"},"response":{"type":"json"}},"endpoint_imdb.delete":{"declaration":{"name":{"originalName":"delete","camelCase":{"unsafeName":"delete","safeName":"delete"},"snakeCase":{"unsafeName":"delete","safeName":"delete"},"screamingSnakeCase":{"unsafeName":"DELETE","safeName":"DELETE"},"pascalCase":{"unsafeName":"Delete","safeName":"Delete"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"DELETE","path":"/test/{rootPathParam}/movies/{movieId}"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"type":"body"},"response":{"type":"json"}},"endpoint_imdb.upload":{"declaration":{"name":{"originalName":"upload","camelCase":{"unsafeName":"upload","safeName":"upload"},"snakeCase":{"unsafeName":"upload","safeName":"upload"},"screamingSnakeCase":{"unsafeName":"UPLOAD","safeName":"UPLOAD"},"pascalCase":{"unsafeName":"Upload","safeName":"Upload"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"POST","path":"/test/{rootPathParam}/movies/upload/{movieId}"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"body":{"type":"bytes"},"type":"body"},"response":{"type":"json"}}}}"`; +exports[`fdr > {"name":"simple"} 1`] = `"{"version":"1.0.0","types":{"type_commons:UndiscriminatedUnion":{"declaration":{"name":{"originalName":"UndiscriminatedUnion","camelCase":{"unsafeName":"undiscriminatedUnion","safeName":"undiscriminatedUnion"},"snakeCase":{"unsafeName":"undiscriminated_union","safeName":"undiscriminated_union"},"screamingSnakeCase":{"unsafeName":"UNDISCRIMINATED_UNION","safeName":"UNDISCRIMINATED_UNION"},"pascalCase":{"unsafeName":"UndiscriminatedUnion","safeName":"UndiscriminatedUnion"}},"fernFilepath":{"allParts":[{"originalName":"commons","camelCase":{"unsafeName":"commons","safeName":"commons"},"snakeCase":{"unsafeName":"commons","safeName":"commons"},"screamingSnakeCase":{"unsafeName":"COMMONS","safeName":"COMMONS"},"pascalCase":{"unsafeName":"Commons","safeName":"Commons"}}],"packagePath":[],"file":{"originalName":"commons","camelCase":{"unsafeName":"commons","safeName":"commons"},"snakeCase":{"unsafeName":"commons","safeName":"commons"},"screamingSnakeCase":{"unsafeName":"COMMONS","safeName":"COMMONS"},"pascalCase":{"unsafeName":"Commons","safeName":"Commons"}}}},"types":[{"value":"STRING","type":"primitive"},{"value":{"value":"STRING","type":"primitive"},"type":"list"},{"value":"INTEGER","type":"primitive"},{"value":{"value":{"value":"INTEGER","type":"primitive"},"type":"list"},"type":"list"}],"type":"undiscriminatedUnion"},"type_director:Director":{"declaration":{"name":{"originalName":"Director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"properties":[{"name":{"name":{"originalName":"name","camelCase":{"unsafeName":"name","safeName":"name"},"snakeCase":{"unsafeName":"name","safeName":"name"},"screamingSnakeCase":{"unsafeName":"NAME","safeName":"NAME"},"pascalCase":{"unsafeName":"Name","safeName":"Name"}},"wireValue":"name"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"age","camelCase":{"unsafeName":"age","safeName":"age"},"snakeCase":{"unsafeName":"age","safeName":"age"},"screamingSnakeCase":{"unsafeName":"AGE","safeName":"AGE"},"pascalCase":{"unsafeName":"Age","safeName":"Age"}},"wireValue":"age"},"typeReference":{"value":"type_director:Age","type":"named"}}],"type":"object"},"type_director:Age":{"declaration":{"name":{"originalName":"Age","camelCase":{"unsafeName":"age","safeName":"age"},"snakeCase":{"unsafeName":"age","safeName":"age"},"screamingSnakeCase":{"unsafeName":"AGE","safeName":"AGE"},"pascalCase":{"unsafeName":"Age","safeName":"Age"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"typeReference":{"value":"INTEGER","type":"primitive"},"type":"alias"},"type_director:LiteralString":{"declaration":{"name":{"originalName":"LiteralString","camelCase":{"unsafeName":"literalString","safeName":"literalString"},"snakeCase":{"unsafeName":"literal_string","safeName":"literal_string"},"screamingSnakeCase":{"unsafeName":"LITERAL_STRING","safeName":"LITERAL_STRING"},"pascalCase":{"unsafeName":"LiteralString","safeName":"LiteralString"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"typeReference":{"value":{"value":"hello","type":"string"},"type":"literal"},"type":"alias"},"type_imdb:CurrencyAmount":{"declaration":{"name":{"originalName":"CurrencyAmount","camelCase":{"unsafeName":"currencyAmount","safeName":"currencyAmount"},"snakeCase":{"unsafeName":"currency_amount","safeName":"currency_amount"},"screamingSnakeCase":{"unsafeName":"CURRENCY_AMOUNT","safeName":"CURRENCY_AMOUNT"},"pascalCase":{"unsafeName":"CurrencyAmount","safeName":"CurrencyAmount"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:MovieId":{"declaration":{"name":{"originalName":"MovieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:ActorId":{"declaration":{"name":{"originalName":"ActorId","camelCase":{"unsafeName":"actorId","safeName":"actorId"},"snakeCase":{"unsafeName":"actor_id","safeName":"actor_id"},"screamingSnakeCase":{"unsafeName":"ACTOR_ID","safeName":"ACTOR_ID"},"pascalCase":{"unsafeName":"ActorId","safeName":"ActorId"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:Movie":{"declaration":{"name":{"originalName":"Movie","camelCase":{"unsafeName":"movie","safeName":"movie"},"snakeCase":{"unsafeName":"movie","safeName":"movie"},"screamingSnakeCase":{"unsafeName":"MOVIE","safeName":"MOVIE"},"pascalCase":{"unsafeName":"Movie","safeName":"Movie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"id","camelCase":{"unsafeName":"id","safeName":"id"},"snakeCase":{"unsafeName":"id","safeName":"id"},"screamingSnakeCase":{"unsafeName":"ID","safeName":"ID"},"pascalCase":{"unsafeName":"Id","safeName":"Id"}},"wireValue":"id"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}},{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"rating","camelCase":{"unsafeName":"rating","safeName":"rating"},"snakeCase":{"unsafeName":"rating","safeName":"rating"},"screamingSnakeCase":{"unsafeName":"RATING","safeName":"RATING"},"pascalCase":{"unsafeName":"Rating","safeName":"Rating"}},"wireValue":"rating"},"typeReference":{"value":"DOUBLE","type":"primitive"}}],"type":"object"},"type_imdb:CreateMovieRequest":{"declaration":{"name":{"originalName":"CreateMovieRequest","camelCase":{"unsafeName":"createMovieRequest","safeName":"createMovieRequest"},"snakeCase":{"unsafeName":"create_movie_request","safeName":"create_movie_request"},"screamingSnakeCase":{"unsafeName":"CREATE_MOVIE_REQUEST","safeName":"CREATE_MOVIE_REQUEST"},"pascalCase":{"unsafeName":"CreateMovieRequest","safeName":"CreateMovieRequest"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"ratings","camelCase":{"unsafeName":"ratings","safeName":"ratings"},"snakeCase":{"unsafeName":"ratings","safeName":"ratings"},"screamingSnakeCase":{"unsafeName":"RATINGS","safeName":"RATINGS"},"pascalCase":{"unsafeName":"Ratings","safeName":"Ratings"}},"wireValue":"ratings"},"typeReference":{"value":{"value":"DOUBLE","type":"primitive"},"type":"list"}}],"type":"object"},"type_imdb:DirectorWrapper":{"declaration":{"name":{"originalName":"DirectorWrapper","camelCase":{"unsafeName":"directorWrapper","safeName":"directorWrapper"},"snakeCase":{"unsafeName":"director_wrapper","safeName":"director_wrapper"},"screamingSnakeCase":{"unsafeName":"DIRECTOR_WRAPPER","safeName":"DIRECTOR_WRAPPER"},"pascalCase":{"unsafeName":"DirectorWrapper","safeName":"DirectorWrapper"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"wireValue":"director"},"typeReference":{"value":"type_director:Director","type":"named"}}],"type":"object"},"type_imdb:EmptyObject":{"declaration":{"name":{"originalName":"EmptyObject","camelCase":{"unsafeName":"emptyObject","safeName":"emptyObject"},"snakeCase":{"unsafeName":"empty_object","safeName":"empty_object"},"screamingSnakeCase":{"unsafeName":"EMPTY_OBJECT","safeName":"EMPTY_OBJECT"},"pascalCase":{"unsafeName":"EmptyObject","safeName":"EmptyObject"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[],"type":"object"},"type_imdb:Person":{"declaration":{"name":{"originalName":"Person","camelCase":{"unsafeName":"person","safeName":"person"},"snakeCase":{"unsafeName":"person","safeName":"person"},"screamingSnakeCase":{"unsafeName":"PERSON","safeName":"PERSON"},"pascalCase":{"unsafeName":"Person","safeName":"Person"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"discriminant":{"name":{"originalName":"type","camelCase":{"unsafeName":"type","safeName":"type"},"snakeCase":{"unsafeName":"type","safeName":"type"},"screamingSnakeCase":{"unsafeName":"TYPE","safeName":"TYPE"},"pascalCase":{"unsafeName":"Type","safeName":"Type"}},"wireValue":"type"},"types":{"actor":{"typeReference":{"value":"type_imdb:ActorId","type":"named"},"discriminantValue":{"name":{"originalName":"actor","camelCase":{"unsafeName":"actor","safeName":"actor"},"snakeCase":{"unsafeName":"actor","safeName":"actor"},"screamingSnakeCase":{"unsafeName":"ACTOR","safeName":"ACTOR"},"pascalCase":{"unsafeName":"Actor","safeName":"Actor"}},"wireValue":"actor"},"type":"singleProperty"},"director":{"typeId":"type_director:Director","discriminantValue":{"name":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"wireValue":"director"},"properties":[],"type":"samePropertiesAsObject"},"producer":{"typeId":"type_imdb:EmptyObject","discriminantValue":{"name":{"originalName":"producer","camelCase":{"unsafeName":"producer","safeName":"producer"},"snakeCase":{"unsafeName":"producer","safeName":"producer"},"screamingSnakeCase":{"unsafeName":"PRODUCER","safeName":"PRODUCER"},"pascalCase":{"unsafeName":"Producer","safeName":"Producer"}},"wireValue":"producer"},"properties":[],"type":"samePropertiesAsObject"},"cinematographer":{"typeId":"type_imdb:EmptyObject","discriminantValue":{"name":{"originalName":"cinematographer","camelCase":{"unsafeName":"cinematographer","safeName":"cinematographer"},"snakeCase":{"unsafeName":"cinematographer","safeName":"cinematographer"},"screamingSnakeCase":{"unsafeName":"CINEMATOGRAPHER","safeName":"CINEMATOGRAPHER"},"pascalCase":{"unsafeName":"Cinematographer","safeName":"Cinematographer"}},"wireValue":"cinematographer"},"properties":[],"type":"samePropertiesAsObject"}},"type":"discriminatedUnion"},"type_imdb:RecursiveType":{"declaration":{"name":{"originalName":"RecursiveType","camelCase":{"unsafeName":"recursiveType","safeName":"recursiveType"},"snakeCase":{"unsafeName":"recursive_type","safeName":"recursive_type"},"screamingSnakeCase":{"unsafeName":"RECURSIVE_TYPE","safeName":"RECURSIVE_TYPE"},"pascalCase":{"unsafeName":"RecursiveType","safeName":"RecursiveType"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"ratings","camelCase":{"unsafeName":"ratings","safeName":"ratings"},"snakeCase":{"unsafeName":"ratings","safeName":"ratings"},"screamingSnakeCase":{"unsafeName":"RATINGS","safeName":"RATINGS"},"pascalCase":{"unsafeName":"Ratings","safeName":"Ratings"}},"wireValue":"ratings"},"typeReference":{"value":{"value":"DOUBLE","type":"primitive"},"type":"list"}},{"name":{"name":{"originalName":"selfReferencing","camelCase":{"unsafeName":"selfReferencing","safeName":"selfReferencing"},"snakeCase":{"unsafeName":"self_referencing","safeName":"self_referencing"},"screamingSnakeCase":{"unsafeName":"SELF_REFERENCING","safeName":"SELF_REFERENCING"},"pascalCase":{"unsafeName":"SelfReferencing","safeName":"SelfReferencing"}},"wireValue":"selfReferencing"},"typeReference":{"value":{"value":"type_imdb:RecursiveType","type":"named"},"type":"list"}}],"type":"object"}},"headers":[{"name":{"name":{"originalName":"apiVersion","camelCase":{"unsafeName":"apiVersion","safeName":"apiVersion"},"snakeCase":{"unsafeName":"api_version","safeName":"api_version"},"screamingSnakeCase":{"unsafeName":"API_VERSION","safeName":"API_VERSION"},"pascalCase":{"unsafeName":"ApiVersion","safeName":"ApiVersion"}},"wireValue":"X-API-VERSION"},"typeReference":{"value":{"value":"STRING","type":"primitive"},"type":"optional"}}],"endpoints":{"endpoint_imdb.createMovie":{"declaration":{"name":{"originalName":"createMovie","camelCase":{"unsafeName":"createMovie","safeName":"createMovie"},"snakeCase":{"unsafeName":"create_movie","safeName":"create_movie"},"screamingSnakeCase":{"unsafeName":"CREATE_MOVIE","safeName":"CREATE_MOVIE"},"pascalCase":{"unsafeName":"CreateMovie","safeName":"CreateMovie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"POST","path":"/test/{rootPathParam}/movies"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}}],"body":{"value":{"value":"type_imdb:CreateMovieRequest","type":"named"},"type":"typeReference"},"type":"body"},"response":{"type":"json"}},"endpoint_imdb.getMovie":{"declaration":{"name":{"originalName":"getMovie","camelCase":{"unsafeName":"getMovie","safeName":"getMovie"},"snakeCase":{"unsafeName":"get_movie","safeName":"get_movie"},"screamingSnakeCase":{"unsafeName":"GET_MOVIE","safeName":"GET_MOVIE"},"pascalCase":{"unsafeName":"GetMovie","safeName":"GetMovie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"GET","path":"/test/{rootPathParam}/movies/{movieId}"},"request":{"declaration":{"name":{"originalName":"GetMovieRequest","camelCase":{"unsafeName":"getMovieRequest","safeName":"getMovieRequest"},"snakeCase":{"unsafeName":"get_movie_request","safeName":"get_movie_request"},"screamingSnakeCase":{"unsafeName":"GET_MOVIE_REQUEST","safeName":"GET_MOVIE_REQUEST"},"pascalCase":{"unsafeName":"GetMovieRequest","safeName":"GetMovieRequest"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"queryParameters":[{"name":{"name":{"originalName":"movieName","camelCase":{"unsafeName":"movieName","safeName":"movieName"},"snakeCase":{"unsafeName":"movie_name","safeName":"movie_name"},"screamingSnakeCase":{"unsafeName":"MOVIE_NAME","safeName":"MOVIE_NAME"},"pascalCase":{"unsafeName":"MovieName","safeName":"MovieName"}},"wireValue":"movieName"},"typeReference":{"value":{"value":"STRING","type":"primitive"},"type":"list"}}],"headers":[],"metadata":{"includePathParameters":false,"onlyPathParameters":false},"type":"inlined"},"response":{"type":"json"}},"endpoint_imdb.delete":{"declaration":{"name":{"originalName":"delete","camelCase":{"unsafeName":"delete","safeName":"delete"},"snakeCase":{"unsafeName":"delete","safeName":"delete"},"screamingSnakeCase":{"unsafeName":"DELETE","safeName":"DELETE"},"pascalCase":{"unsafeName":"Delete","safeName":"Delete"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"DELETE","path":"/test/{rootPathParam}/movies/{movieId}"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"type":"body"},"response":{"type":"json"}},"endpoint_imdb.upload":{"declaration":{"name":{"originalName":"upload","camelCase":{"unsafeName":"upload","safeName":"upload"},"snakeCase":{"unsafeName":"upload","safeName":"upload"},"screamingSnakeCase":{"unsafeName":"UPLOAD","safeName":"UPLOAD"},"pascalCase":{"unsafeName":"Upload","safeName":"Upload"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"POST","path":"/test/{rootPathParam}/movies/upload/{movieId}"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"body":{"type":"bytes"},"type":"body"},"response":{"type":"json"}}}}"`; diff --git a/packages/cli/ete-tests/src/tests/dynamic/fixtures/simple/dynamic.json b/packages/cli/ete-tests/src/tests/dynamic/fixtures/simple/dynamic.json index 9c34e0fe21d..f0a5806cc7f 100644 --- a/packages/cli/ete-tests/src/tests/dynamic/fixtures/simple/dynamic.json +++ b/packages/cli/ete-tests/src/tests/dynamic/fixtures/simple/dynamic.json @@ -1 +1 @@ -{"version":"1.0.0","types":{"type_commons:UndiscriminatedUnion":{"declaration":{"name":{"originalName":"UndiscriminatedUnion","camelCase":{"unsafeName":"undiscriminatedUnion","safeName":"undiscriminatedUnion"},"snakeCase":{"unsafeName":"undiscriminated_union","safeName":"undiscriminated_union"},"screamingSnakeCase":{"unsafeName":"UNDISCRIMINATED_UNION","safeName":"UNDISCRIMINATED_UNION"},"pascalCase":{"unsafeName":"UndiscriminatedUnion","safeName":"UndiscriminatedUnion"}},"fernFilepath":{"allParts":[{"originalName":"commons","camelCase":{"unsafeName":"commons","safeName":"commons"},"snakeCase":{"unsafeName":"commons","safeName":"commons"},"screamingSnakeCase":{"unsafeName":"COMMONS","safeName":"COMMONS"},"pascalCase":{"unsafeName":"Commons","safeName":"Commons"}}],"packagePath":[],"file":{"originalName":"commons","camelCase":{"unsafeName":"commons","safeName":"commons"},"snakeCase":{"unsafeName":"commons","safeName":"commons"},"screamingSnakeCase":{"unsafeName":"COMMONS","safeName":"COMMONS"},"pascalCase":{"unsafeName":"Commons","safeName":"Commons"}}}},"types":[{"value":"STRING","type":"primitive"},{"value":{"value":"STRING","type":"primitive"},"type":"list"},{"value":"INTEGER","type":"primitive"},{"value":{"value":{"value":"INTEGER","type":"primitive"},"type":"list"},"type":"list"}],"type":"undiscriminatedUnion"},"type_director:Director":{"declaration":{"name":{"originalName":"Director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"properties":[{"name":{"name":{"originalName":"name","camelCase":{"unsafeName":"name","safeName":"name"},"snakeCase":{"unsafeName":"name","safeName":"name"},"screamingSnakeCase":{"unsafeName":"NAME","safeName":"NAME"},"pascalCase":{"unsafeName":"Name","safeName":"Name"}},"wireValue":"name"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"age","camelCase":{"unsafeName":"age","safeName":"age"},"snakeCase":{"unsafeName":"age","safeName":"age"},"screamingSnakeCase":{"unsafeName":"AGE","safeName":"AGE"},"pascalCase":{"unsafeName":"Age","safeName":"Age"}},"wireValue":"age"},"typeReference":{"value":"type_director:Age","type":"named"}}],"type":"object"},"type_director:Age":{"declaration":{"name":{"originalName":"Age","camelCase":{"unsafeName":"age","safeName":"age"},"snakeCase":{"unsafeName":"age","safeName":"age"},"screamingSnakeCase":{"unsafeName":"AGE","safeName":"AGE"},"pascalCase":{"unsafeName":"Age","safeName":"Age"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"typeReference":{"value":"INTEGER","type":"primitive"},"type":"alias"},"type_director:LiteralString":{"declaration":{"name":{"originalName":"LiteralString","camelCase":{"unsafeName":"literalString","safeName":"literalString"},"snakeCase":{"unsafeName":"literal_string","safeName":"literal_string"},"screamingSnakeCase":{"unsafeName":"LITERAL_STRING","safeName":"LITERAL_STRING"},"pascalCase":{"unsafeName":"LiteralString","safeName":"LiteralString"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"typeReference":{"value":{"value":"hello","type":"string"},"type":"literal"},"type":"alias"},"type_imdb:CurrencyAmount":{"declaration":{"name":{"originalName":"CurrencyAmount","camelCase":{"unsafeName":"currencyAmount","safeName":"currencyAmount"},"snakeCase":{"unsafeName":"currency_amount","safeName":"currency_amount"},"screamingSnakeCase":{"unsafeName":"CURRENCY_AMOUNT","safeName":"CURRENCY_AMOUNT"},"pascalCase":{"unsafeName":"CurrencyAmount","safeName":"CurrencyAmount"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:MovieId":{"declaration":{"name":{"originalName":"MovieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:ActorId":{"declaration":{"name":{"originalName":"ActorId","camelCase":{"unsafeName":"actorId","safeName":"actorId"},"snakeCase":{"unsafeName":"actor_id","safeName":"actor_id"},"screamingSnakeCase":{"unsafeName":"ACTOR_ID","safeName":"ACTOR_ID"},"pascalCase":{"unsafeName":"ActorId","safeName":"ActorId"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:Movie":{"declaration":{"name":{"originalName":"Movie","camelCase":{"unsafeName":"movie","safeName":"movie"},"snakeCase":{"unsafeName":"movie","safeName":"movie"},"screamingSnakeCase":{"unsafeName":"MOVIE","safeName":"MOVIE"},"pascalCase":{"unsafeName":"Movie","safeName":"Movie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"id","camelCase":{"unsafeName":"id","safeName":"id"},"snakeCase":{"unsafeName":"id","safeName":"id"},"screamingSnakeCase":{"unsafeName":"ID","safeName":"ID"},"pascalCase":{"unsafeName":"Id","safeName":"Id"}},"wireValue":"id"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}},{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"rating","camelCase":{"unsafeName":"rating","safeName":"rating"},"snakeCase":{"unsafeName":"rating","safeName":"rating"},"screamingSnakeCase":{"unsafeName":"RATING","safeName":"RATING"},"pascalCase":{"unsafeName":"Rating","safeName":"Rating"}},"wireValue":"rating"},"typeReference":{"value":"DOUBLE","type":"primitive"}}],"type":"object"},"type_imdb:CreateMovieRequest":{"declaration":{"name":{"originalName":"CreateMovieRequest","camelCase":{"unsafeName":"createMovieRequest","safeName":"createMovieRequest"},"snakeCase":{"unsafeName":"create_movie_request","safeName":"create_movie_request"},"screamingSnakeCase":{"unsafeName":"CREATE_MOVIE_REQUEST","safeName":"CREATE_MOVIE_REQUEST"},"pascalCase":{"unsafeName":"CreateMovieRequest","safeName":"CreateMovieRequest"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"ratings","camelCase":{"unsafeName":"ratings","safeName":"ratings"},"snakeCase":{"unsafeName":"ratings","safeName":"ratings"},"screamingSnakeCase":{"unsafeName":"RATINGS","safeName":"RATINGS"},"pascalCase":{"unsafeName":"Ratings","safeName":"Ratings"}},"wireValue":"ratings"},"typeReference":{"value":{"value":"DOUBLE","type":"primitive"},"type":"list"}}],"type":"object"},"type_imdb:DirectorWrapper":{"declaration":{"name":{"originalName":"DirectorWrapper","camelCase":{"unsafeName":"directorWrapper","safeName":"directorWrapper"},"snakeCase":{"unsafeName":"director_wrapper","safeName":"director_wrapper"},"screamingSnakeCase":{"unsafeName":"DIRECTOR_WRAPPER","safeName":"DIRECTOR_WRAPPER"},"pascalCase":{"unsafeName":"DirectorWrapper","safeName":"DirectorWrapper"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"wireValue":"director"},"typeReference":{"value":"type_director:Director","type":"named"}}],"type":"object"},"type_imdb:EmptyObject":{"declaration":{"name":{"originalName":"EmptyObject","camelCase":{"unsafeName":"emptyObject","safeName":"emptyObject"},"snakeCase":{"unsafeName":"empty_object","safeName":"empty_object"},"screamingSnakeCase":{"unsafeName":"EMPTY_OBJECT","safeName":"EMPTY_OBJECT"},"pascalCase":{"unsafeName":"EmptyObject","safeName":"EmptyObject"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[],"type":"object"},"type_imdb:Person":{"declaration":{"name":{"originalName":"Person","camelCase":{"unsafeName":"person","safeName":"person"},"snakeCase":{"unsafeName":"person","safeName":"person"},"screamingSnakeCase":{"unsafeName":"PERSON","safeName":"PERSON"},"pascalCase":{"unsafeName":"Person","safeName":"Person"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"discriminant":{"name":{"originalName":"type","camelCase":{"unsafeName":"type","safeName":"type"},"snakeCase":{"unsafeName":"type","safeName":"type"},"screamingSnakeCase":{"unsafeName":"TYPE","safeName":"TYPE"},"pascalCase":{"unsafeName":"Type","safeName":"Type"}},"wireValue":"type"},"types":{"actor":{"typeReference":{"value":"type_imdb:ActorId","type":"named"},"discriminantValue":{"name":{"originalName":"actor","camelCase":{"unsafeName":"actor","safeName":"actor"},"snakeCase":{"unsafeName":"actor","safeName":"actor"},"screamingSnakeCase":{"unsafeName":"ACTOR","safeName":"ACTOR"},"pascalCase":{"unsafeName":"Actor","safeName":"Actor"}},"wireValue":"actor"},"type":"singleProperty"},"director":{"typeId":"type_director:Director","discriminantValue":{"name":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"wireValue":"director"},"properties":[],"type":"samePropertiesAsObject"},"producer":{"typeId":"type_imdb:EmptyObject","discriminantValue":{"name":{"originalName":"producer","camelCase":{"unsafeName":"producer","safeName":"producer"},"snakeCase":{"unsafeName":"producer","safeName":"producer"},"screamingSnakeCase":{"unsafeName":"PRODUCER","safeName":"PRODUCER"},"pascalCase":{"unsafeName":"Producer","safeName":"Producer"}},"wireValue":"producer"},"properties":[],"type":"samePropertiesAsObject"},"cinematographer":{"typeId":"type_imdb:EmptyObject","discriminantValue":{"name":{"originalName":"cinematographer","camelCase":{"unsafeName":"cinematographer","safeName":"cinematographer"},"snakeCase":{"unsafeName":"cinematographer","safeName":"cinematographer"},"screamingSnakeCase":{"unsafeName":"CINEMATOGRAPHER","safeName":"CINEMATOGRAPHER"},"pascalCase":{"unsafeName":"Cinematographer","safeName":"Cinematographer"}},"wireValue":"cinematographer"},"properties":[],"type":"samePropertiesAsObject"}},"type":"discriminatedUnion"},"type_imdb:RecursiveType":{"declaration":{"name":{"originalName":"RecursiveType","camelCase":{"unsafeName":"recursiveType","safeName":"recursiveType"},"snakeCase":{"unsafeName":"recursive_type","safeName":"recursive_type"},"screamingSnakeCase":{"unsafeName":"RECURSIVE_TYPE","safeName":"RECURSIVE_TYPE"},"pascalCase":{"unsafeName":"RecursiveType","safeName":"RecursiveType"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"ratings","camelCase":{"unsafeName":"ratings","safeName":"ratings"},"snakeCase":{"unsafeName":"ratings","safeName":"ratings"},"screamingSnakeCase":{"unsafeName":"RATINGS","safeName":"RATINGS"},"pascalCase":{"unsafeName":"Ratings","safeName":"Ratings"}},"wireValue":"ratings"},"typeReference":{"value":{"value":"DOUBLE","type":"primitive"},"type":"list"}},{"name":{"name":{"originalName":"selfReferencing","camelCase":{"unsafeName":"selfReferencing","safeName":"selfReferencing"},"snakeCase":{"unsafeName":"self_referencing","safeName":"self_referencing"},"screamingSnakeCase":{"unsafeName":"SELF_REFERENCING","safeName":"SELF_REFERENCING"},"pascalCase":{"unsafeName":"SelfReferencing","safeName":"SelfReferencing"}},"wireValue":"selfReferencing"},"typeReference":{"value":{"value":"type_imdb:RecursiveType","type":"named"},"type":"list"}}],"type":"object"}},"headers":[{"name":{"name":{"originalName":"apiVersion","camelCase":{"unsafeName":"apiVersion","safeName":"apiVersion"},"snakeCase":{"unsafeName":"api_version","safeName":"api_version"},"screamingSnakeCase":{"unsafeName":"API_VERSION","safeName":"API_VERSION"},"pascalCase":{"unsafeName":"ApiVersion","safeName":"ApiVersion"}},"wireValue":"X-API-VERSION"},"typeReference":{"value":{"value":"STRING","type":"primitive"},"type":"optional"}}],"endpoints":{"endpoint_imdb.createMovie":{"declaration":{"name":{"originalName":"createMovie","camelCase":{"unsafeName":"createMovie","safeName":"createMovie"},"snakeCase":{"unsafeName":"create_movie","safeName":"create_movie"},"screamingSnakeCase":{"unsafeName":"CREATE_MOVIE","safeName":"CREATE_MOVIE"},"pascalCase":{"unsafeName":"CreateMovie","safeName":"CreateMovie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"POST","path":"/test/{rootPathParam}/movies"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}}],"body":{"value":{"value":"type_imdb:CreateMovieRequest","type":"named"},"type":"typeReference"},"type":"body"},"response":{"type":"json"}},"endpoint_imdb.getMovie":{"declaration":{"name":{"originalName":"getMovie","camelCase":{"unsafeName":"getMovie","safeName":"getMovie"},"snakeCase":{"unsafeName":"get_movie","safeName":"get_movie"},"screamingSnakeCase":{"unsafeName":"GET_MOVIE","safeName":"GET_MOVIE"},"pascalCase":{"unsafeName":"GetMovie","safeName":"GetMovie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"GET","path":"/test/{rootPathParam}/movies/{movieId}"},"request":{"declaration":{"name":{"originalName":"GetMovieRequest","camelCase":{"unsafeName":"getMovieRequest","safeName":"getMovieRequest"},"snakeCase":{"unsafeName":"get_movie_request","safeName":"get_movie_request"},"screamingSnakeCase":{"unsafeName":"GET_MOVIE_REQUEST","safeName":"GET_MOVIE_REQUEST"},"pascalCase":{"unsafeName":"GetMovieRequest","safeName":"GetMovieRequest"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"queryParameters":[{"name":{"name":{"originalName":"movieName","camelCase":{"unsafeName":"movieName","safeName":"movieName"},"snakeCase":{"unsafeName":"movie_name","safeName":"movie_name"},"screamingSnakeCase":{"unsafeName":"MOVIE_NAME","safeName":"MOVIE_NAME"},"pascalCase":{"unsafeName":"MovieName","safeName":"MovieName"}},"wireValue":"movieName"},"typeReference":{"value":{"value":"STRING","type":"primitive"},"type":"list"}}],"headers":[],"type":"inlined"},"response":{"type":"json"}},"endpoint_imdb.delete":{"declaration":{"name":{"originalName":"delete","camelCase":{"unsafeName":"delete","safeName":"delete"},"snakeCase":{"unsafeName":"delete","safeName":"delete"},"screamingSnakeCase":{"unsafeName":"DELETE","safeName":"DELETE"},"pascalCase":{"unsafeName":"Delete","safeName":"Delete"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"DELETE","path":"/test/{rootPathParam}/movies/{movieId}"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"type":"body"},"response":{"type":"json"}},"endpoint_imdb.upload":{"declaration":{"name":{"originalName":"upload","camelCase":{"unsafeName":"upload","safeName":"upload"},"snakeCase":{"unsafeName":"upload","safeName":"upload"},"screamingSnakeCase":{"unsafeName":"UPLOAD","safeName":"UPLOAD"},"pascalCase":{"unsafeName":"Upload","safeName":"Upload"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"POST","path":"/test/{rootPathParam}/movies/upload/{movieId}"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"body":{"type":"bytes"},"type":"body"},"response":{"type":"json"}}}} \ No newline at end of file +{"version":"1.0.0","types":{"type_commons:UndiscriminatedUnion":{"declaration":{"name":{"originalName":"UndiscriminatedUnion","camelCase":{"unsafeName":"undiscriminatedUnion","safeName":"undiscriminatedUnion"},"snakeCase":{"unsafeName":"undiscriminated_union","safeName":"undiscriminated_union"},"screamingSnakeCase":{"unsafeName":"UNDISCRIMINATED_UNION","safeName":"UNDISCRIMINATED_UNION"},"pascalCase":{"unsafeName":"UndiscriminatedUnion","safeName":"UndiscriminatedUnion"}},"fernFilepath":{"allParts":[{"originalName":"commons","camelCase":{"unsafeName":"commons","safeName":"commons"},"snakeCase":{"unsafeName":"commons","safeName":"commons"},"screamingSnakeCase":{"unsafeName":"COMMONS","safeName":"COMMONS"},"pascalCase":{"unsafeName":"Commons","safeName":"Commons"}}],"packagePath":[],"file":{"originalName":"commons","camelCase":{"unsafeName":"commons","safeName":"commons"},"snakeCase":{"unsafeName":"commons","safeName":"commons"},"screamingSnakeCase":{"unsafeName":"COMMONS","safeName":"COMMONS"},"pascalCase":{"unsafeName":"Commons","safeName":"Commons"}}}},"types":[{"value":"STRING","type":"primitive"},{"value":{"value":"STRING","type":"primitive"},"type":"list"},{"value":"INTEGER","type":"primitive"},{"value":{"value":{"value":"INTEGER","type":"primitive"},"type":"list"},"type":"list"}],"type":"undiscriminatedUnion"},"type_director:Director":{"declaration":{"name":{"originalName":"Director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"properties":[{"name":{"name":{"originalName":"name","camelCase":{"unsafeName":"name","safeName":"name"},"snakeCase":{"unsafeName":"name","safeName":"name"},"screamingSnakeCase":{"unsafeName":"NAME","safeName":"NAME"},"pascalCase":{"unsafeName":"Name","safeName":"Name"}},"wireValue":"name"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"age","camelCase":{"unsafeName":"age","safeName":"age"},"snakeCase":{"unsafeName":"age","safeName":"age"},"screamingSnakeCase":{"unsafeName":"AGE","safeName":"AGE"},"pascalCase":{"unsafeName":"Age","safeName":"Age"}},"wireValue":"age"},"typeReference":{"value":"type_director:Age","type":"named"}}],"type":"object"},"type_director:Age":{"declaration":{"name":{"originalName":"Age","camelCase":{"unsafeName":"age","safeName":"age"},"snakeCase":{"unsafeName":"age","safeName":"age"},"screamingSnakeCase":{"unsafeName":"AGE","safeName":"AGE"},"pascalCase":{"unsafeName":"Age","safeName":"Age"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"typeReference":{"value":"INTEGER","type":"primitive"},"type":"alias"},"type_director:LiteralString":{"declaration":{"name":{"originalName":"LiteralString","camelCase":{"unsafeName":"literalString","safeName":"literalString"},"snakeCase":{"unsafeName":"literal_string","safeName":"literal_string"},"screamingSnakeCase":{"unsafeName":"LITERAL_STRING","safeName":"LITERAL_STRING"},"pascalCase":{"unsafeName":"LiteralString","safeName":"LiteralString"}},"fernFilepath":{"allParts":[{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}],"packagePath":[],"file":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}}}},"typeReference":{"value":{"value":"hello","type":"string"},"type":"literal"},"type":"alias"},"type_imdb:CurrencyAmount":{"declaration":{"name":{"originalName":"CurrencyAmount","camelCase":{"unsafeName":"currencyAmount","safeName":"currencyAmount"},"snakeCase":{"unsafeName":"currency_amount","safeName":"currency_amount"},"screamingSnakeCase":{"unsafeName":"CURRENCY_AMOUNT","safeName":"CURRENCY_AMOUNT"},"pascalCase":{"unsafeName":"CurrencyAmount","safeName":"CurrencyAmount"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:MovieId":{"declaration":{"name":{"originalName":"MovieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:ActorId":{"declaration":{"name":{"originalName":"ActorId","camelCase":{"unsafeName":"actorId","safeName":"actorId"},"snakeCase":{"unsafeName":"actor_id","safeName":"actor_id"},"screamingSnakeCase":{"unsafeName":"ACTOR_ID","safeName":"ACTOR_ID"},"pascalCase":{"unsafeName":"ActorId","safeName":"ActorId"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"typeReference":{"value":"STRING","type":"primitive"},"type":"alias"},"type_imdb:Movie":{"declaration":{"name":{"originalName":"Movie","camelCase":{"unsafeName":"movie","safeName":"movie"},"snakeCase":{"unsafeName":"movie","safeName":"movie"},"screamingSnakeCase":{"unsafeName":"MOVIE","safeName":"MOVIE"},"pascalCase":{"unsafeName":"Movie","safeName":"Movie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"id","camelCase":{"unsafeName":"id","safeName":"id"},"snakeCase":{"unsafeName":"id","safeName":"id"},"screamingSnakeCase":{"unsafeName":"ID","safeName":"ID"},"pascalCase":{"unsafeName":"Id","safeName":"Id"}},"wireValue":"id"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}},{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"rating","camelCase":{"unsafeName":"rating","safeName":"rating"},"snakeCase":{"unsafeName":"rating","safeName":"rating"},"screamingSnakeCase":{"unsafeName":"RATING","safeName":"RATING"},"pascalCase":{"unsafeName":"Rating","safeName":"Rating"}},"wireValue":"rating"},"typeReference":{"value":"DOUBLE","type":"primitive"}}],"type":"object"},"type_imdb:CreateMovieRequest":{"declaration":{"name":{"originalName":"CreateMovieRequest","camelCase":{"unsafeName":"createMovieRequest","safeName":"createMovieRequest"},"snakeCase":{"unsafeName":"create_movie_request","safeName":"create_movie_request"},"screamingSnakeCase":{"unsafeName":"CREATE_MOVIE_REQUEST","safeName":"CREATE_MOVIE_REQUEST"},"pascalCase":{"unsafeName":"CreateMovieRequest","safeName":"CreateMovieRequest"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"ratings","camelCase":{"unsafeName":"ratings","safeName":"ratings"},"snakeCase":{"unsafeName":"ratings","safeName":"ratings"},"screamingSnakeCase":{"unsafeName":"RATINGS","safeName":"RATINGS"},"pascalCase":{"unsafeName":"Ratings","safeName":"Ratings"}},"wireValue":"ratings"},"typeReference":{"value":{"value":"DOUBLE","type":"primitive"},"type":"list"}}],"type":"object"},"type_imdb:DirectorWrapper":{"declaration":{"name":{"originalName":"DirectorWrapper","camelCase":{"unsafeName":"directorWrapper","safeName":"directorWrapper"},"snakeCase":{"unsafeName":"director_wrapper","safeName":"director_wrapper"},"screamingSnakeCase":{"unsafeName":"DIRECTOR_WRAPPER","safeName":"DIRECTOR_WRAPPER"},"pascalCase":{"unsafeName":"DirectorWrapper","safeName":"DirectorWrapper"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"wireValue":"director"},"typeReference":{"value":"type_director:Director","type":"named"}}],"type":"object"},"type_imdb:EmptyObject":{"declaration":{"name":{"originalName":"EmptyObject","camelCase":{"unsafeName":"emptyObject","safeName":"emptyObject"},"snakeCase":{"unsafeName":"empty_object","safeName":"empty_object"},"screamingSnakeCase":{"unsafeName":"EMPTY_OBJECT","safeName":"EMPTY_OBJECT"},"pascalCase":{"unsafeName":"EmptyObject","safeName":"EmptyObject"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[],"type":"object"},"type_imdb:Person":{"declaration":{"name":{"originalName":"Person","camelCase":{"unsafeName":"person","safeName":"person"},"snakeCase":{"unsafeName":"person","safeName":"person"},"screamingSnakeCase":{"unsafeName":"PERSON","safeName":"PERSON"},"pascalCase":{"unsafeName":"Person","safeName":"Person"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"discriminant":{"name":{"originalName":"type","camelCase":{"unsafeName":"type","safeName":"type"},"snakeCase":{"unsafeName":"type","safeName":"type"},"screamingSnakeCase":{"unsafeName":"TYPE","safeName":"TYPE"},"pascalCase":{"unsafeName":"Type","safeName":"Type"}},"wireValue":"type"},"types":{"actor":{"typeReference":{"value":"type_imdb:ActorId","type":"named"},"discriminantValue":{"name":{"originalName":"actor","camelCase":{"unsafeName":"actor","safeName":"actor"},"snakeCase":{"unsafeName":"actor","safeName":"actor"},"screamingSnakeCase":{"unsafeName":"ACTOR","safeName":"ACTOR"},"pascalCase":{"unsafeName":"Actor","safeName":"Actor"}},"wireValue":"actor"},"type":"singleProperty"},"director":{"typeId":"type_director:Director","discriminantValue":{"name":{"originalName":"director","camelCase":{"unsafeName":"director","safeName":"director"},"snakeCase":{"unsafeName":"director","safeName":"director"},"screamingSnakeCase":{"unsafeName":"DIRECTOR","safeName":"DIRECTOR"},"pascalCase":{"unsafeName":"Director","safeName":"Director"}},"wireValue":"director"},"properties":[],"type":"samePropertiesAsObject"},"producer":{"typeId":"type_imdb:EmptyObject","discriminantValue":{"name":{"originalName":"producer","camelCase":{"unsafeName":"producer","safeName":"producer"},"snakeCase":{"unsafeName":"producer","safeName":"producer"},"screamingSnakeCase":{"unsafeName":"PRODUCER","safeName":"PRODUCER"},"pascalCase":{"unsafeName":"Producer","safeName":"Producer"}},"wireValue":"producer"},"properties":[],"type":"samePropertiesAsObject"},"cinematographer":{"typeId":"type_imdb:EmptyObject","discriminantValue":{"name":{"originalName":"cinematographer","camelCase":{"unsafeName":"cinematographer","safeName":"cinematographer"},"snakeCase":{"unsafeName":"cinematographer","safeName":"cinematographer"},"screamingSnakeCase":{"unsafeName":"CINEMATOGRAPHER","safeName":"CINEMATOGRAPHER"},"pascalCase":{"unsafeName":"Cinematographer","safeName":"Cinematographer"}},"wireValue":"cinematographer"},"properties":[],"type":"samePropertiesAsObject"}},"type":"discriminatedUnion"},"type_imdb:RecursiveType":{"declaration":{"name":{"originalName":"RecursiveType","camelCase":{"unsafeName":"recursiveType","safeName":"recursiveType"},"snakeCase":{"unsafeName":"recursive_type","safeName":"recursive_type"},"screamingSnakeCase":{"unsafeName":"RECURSIVE_TYPE","safeName":"RECURSIVE_TYPE"},"pascalCase":{"unsafeName":"RecursiveType","safeName":"RecursiveType"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"properties":[{"name":{"name":{"originalName":"title","camelCase":{"unsafeName":"title","safeName":"title"},"snakeCase":{"unsafeName":"title","safeName":"title"},"screamingSnakeCase":{"unsafeName":"TITLE","safeName":"TITLE"},"pascalCase":{"unsafeName":"Title","safeName":"Title"}},"wireValue":"title"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"ratings","camelCase":{"unsafeName":"ratings","safeName":"ratings"},"snakeCase":{"unsafeName":"ratings","safeName":"ratings"},"screamingSnakeCase":{"unsafeName":"RATINGS","safeName":"RATINGS"},"pascalCase":{"unsafeName":"Ratings","safeName":"Ratings"}},"wireValue":"ratings"},"typeReference":{"value":{"value":"DOUBLE","type":"primitive"},"type":"list"}},{"name":{"name":{"originalName":"selfReferencing","camelCase":{"unsafeName":"selfReferencing","safeName":"selfReferencing"},"snakeCase":{"unsafeName":"self_referencing","safeName":"self_referencing"},"screamingSnakeCase":{"unsafeName":"SELF_REFERENCING","safeName":"SELF_REFERENCING"},"pascalCase":{"unsafeName":"SelfReferencing","safeName":"SelfReferencing"}},"wireValue":"selfReferencing"},"typeReference":{"value":{"value":"type_imdb:RecursiveType","type":"named"},"type":"list"}}],"type":"object"}},"headers":[{"name":{"name":{"originalName":"apiVersion","camelCase":{"unsafeName":"apiVersion","safeName":"apiVersion"},"snakeCase":{"unsafeName":"api_version","safeName":"api_version"},"screamingSnakeCase":{"unsafeName":"API_VERSION","safeName":"API_VERSION"},"pascalCase":{"unsafeName":"ApiVersion","safeName":"ApiVersion"}},"wireValue":"X-API-VERSION"},"typeReference":{"value":{"value":"STRING","type":"primitive"},"type":"optional"}}],"endpoints":{"endpoint_imdb.createMovie":{"declaration":{"name":{"originalName":"createMovie","camelCase":{"unsafeName":"createMovie","safeName":"createMovie"},"snakeCase":{"unsafeName":"create_movie","safeName":"create_movie"},"screamingSnakeCase":{"unsafeName":"CREATE_MOVIE","safeName":"CREATE_MOVIE"},"pascalCase":{"unsafeName":"CreateMovie","safeName":"CreateMovie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"POST","path":"/test/{rootPathParam}/movies"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}}],"body":{"value":{"value":"type_imdb:CreateMovieRequest","type":"named"},"type":"typeReference"},"type":"body"},"response":{"type":"json"}},"endpoint_imdb.getMovie":{"declaration":{"name":{"originalName":"getMovie","camelCase":{"unsafeName":"getMovie","safeName":"getMovie"},"snakeCase":{"unsafeName":"get_movie","safeName":"get_movie"},"screamingSnakeCase":{"unsafeName":"GET_MOVIE","safeName":"GET_MOVIE"},"pascalCase":{"unsafeName":"GetMovie","safeName":"GetMovie"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"GET","path":"/test/{rootPathParam}/movies/{movieId}"},"request":{"declaration":{"name":{"originalName":"GetMovieRequest","camelCase":{"unsafeName":"getMovieRequest","safeName":"getMovieRequest"},"snakeCase":{"unsafeName":"get_movie_request","safeName":"get_movie_request"},"screamingSnakeCase":{"unsafeName":"GET_MOVIE_REQUEST","safeName":"GET_MOVIE_REQUEST"},"pascalCase":{"unsafeName":"GetMovieRequest","safeName":"GetMovieRequest"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"queryParameters":[{"name":{"name":{"originalName":"movieName","camelCase":{"unsafeName":"movieName","safeName":"movieName"},"snakeCase":{"unsafeName":"movie_name","safeName":"movie_name"},"screamingSnakeCase":{"unsafeName":"MOVIE_NAME","safeName":"MOVIE_NAME"},"pascalCase":{"unsafeName":"MovieName","safeName":"MovieName"}},"wireValue":"movieName"},"typeReference":{"value":{"value":"STRING","type":"primitive"},"type":"list"}}],"headers":[],"metadata":{"includePathParameters":false,"onlyPathParameters":false},"type":"inlined"},"response":{"type":"json"}},"endpoint_imdb.delete":{"declaration":{"name":{"originalName":"delete","camelCase":{"unsafeName":"delete","safeName":"delete"},"snakeCase":{"unsafeName":"delete","safeName":"delete"},"screamingSnakeCase":{"unsafeName":"DELETE","safeName":"DELETE"},"pascalCase":{"unsafeName":"Delete","safeName":"Delete"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"DELETE","path":"/test/{rootPathParam}/movies/{movieId}"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"type":"body"},"response":{"type":"json"}},"endpoint_imdb.upload":{"declaration":{"name":{"originalName":"upload","camelCase":{"unsafeName":"upload","safeName":"upload"},"snakeCase":{"unsafeName":"upload","safeName":"upload"},"screamingSnakeCase":{"unsafeName":"UPLOAD","safeName":"UPLOAD"},"pascalCase":{"unsafeName":"Upload","safeName":"Upload"}},"fernFilepath":{"allParts":[{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}],"packagePath":[],"file":{"originalName":"imdb","camelCase":{"unsafeName":"imdb","safeName":"imdb"},"snakeCase":{"unsafeName":"imdb","safeName":"imdb"},"screamingSnakeCase":{"unsafeName":"IMDB","safeName":"IMDB"},"pascalCase":{"unsafeName":"Imdb","safeName":"Imdb"}}}},"location":{"method":"POST","path":"/test/{rootPathParam}/movies/upload/{movieId}"},"request":{"pathParameters":[{"name":{"name":{"originalName":"rootPathParam","camelCase":{"unsafeName":"rootPathParam","safeName":"rootPathParam"},"snakeCase":{"unsafeName":"root_path_param","safeName":"root_path_param"},"screamingSnakeCase":{"unsafeName":"ROOT_PATH_PARAM","safeName":"ROOT_PATH_PARAM"},"pascalCase":{"unsafeName":"RootPathParam","safeName":"RootPathParam"}},"wireValue":"rootPathParam"},"typeReference":{"value":"STRING","type":"primitive"}},{"name":{"name":{"originalName":"movieId","camelCase":{"unsafeName":"movieId","safeName":"movieId"},"snakeCase":{"unsafeName":"movie_id","safeName":"movie_id"},"screamingSnakeCase":{"unsafeName":"MOVIE_ID","safeName":"MOVIE_ID"},"pascalCase":{"unsafeName":"MovieId","safeName":"MovieId"}},"wireValue":"movieId"},"typeReference":{"value":"type_imdb:MovieId","type":"named"}}],"body":{"type":"bytes"},"type":"body"},"response":{"type":"json"}}}} \ No newline at end of file diff --git a/packages/cli/ete-tests/src/tests/update-api-v2/__snapshots__/update-api.test.ts.snap b/packages/cli/ete-tests/src/tests/update-api-v2/__snapshots__/update-api.test.ts.snap index f07cae27b61..54efb2022c6 100644 --- a/packages/cli/ete-tests/src/tests/update-api-v2/__snapshots__/update-api.test.ts.snap +++ b/packages/cli/ete-tests/src/tests/update-api-v2/__snapshots__/update-api.test.ts.snap @@ -133,15 +133,35 @@ exports[`fern api update unioned > fern api update unioned 1`] = ` "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Station" + "allOf": [ + { + "$ref": "#/components/schemas/Wrapper-Collection" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Station" + } + } + } + }, + { + "properties": { + "links": { + "allOf": [ + { + "$ref": "#/components/schemas/Links-Self" + }, + { + "$ref": "#/components/schemas/Links-Pagination" + } + ] + } } } - } + ] }, "example": { "data": [ diff --git a/packages/cli/ete-tests/src/tests/update-api/__snapshots__/update-api.test.ts.snap b/packages/cli/ete-tests/src/tests/update-api/__snapshots__/update-api.test.ts.snap index 3cfedda568a..848c8df9895 100644 --- a/packages/cli/ete-tests/src/tests/update-api/__snapshots__/update-api.test.ts.snap +++ b/packages/cli/ete-tests/src/tests/update-api/__snapshots__/update-api.test.ts.snap @@ -133,15 +133,35 @@ exports[`fern api update > fern api update 1`] = ` "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Station" + "allOf": [ + { + "$ref": "#/components/schemas/Wrapper-Collection" + }, + { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Station" + } + } + } + }, + { + "properties": { + "links": { + "allOf": [ + { + "$ref": "#/components/schemas/Links-Self" + }, + { + "$ref": "#/components/schemas/Links-Pagination" + } + ] + } } } - } + ] }, "example": { "data": [ diff --git a/packages/cli/fern-definition/ir-to-jsonschema/src/__test__/__snapshots__/path-parameters/type_user_Organization.json b/packages/cli/fern-definition/ir-to-jsonschema/src/__test__/__snapshots__/path-parameters/type_user_Organization.json new file mode 100644 index 00000000000..ce04ebf90a7 --- /dev/null +++ b/packages/cli/fern-definition/ir-to-jsonschema/src/__test__/__snapshots__/path-parameters/type_user_Organization.json @@ -0,0 +1,20 @@ +{ + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "name", + "tags" + ], + "additionalProperties": false, + "definitions": {} +} \ No newline at end of file diff --git a/packages/cli/generation/ir-generator/src/__test__/test-definitions/path-parameters.json b/packages/cli/generation/ir-generator/src/__test__/test-definitions/path-parameters.json index 8c577603055..bdc52e3529d 100644 --- a/packages/cli/generation/ir-generator/src/__test__/test-definitions/path-parameters.json +++ b/packages/cli/generation/ir-generator/src/__test__/test-definitions/path-parameters.json @@ -30,6 +30,172 @@ "headers": [], "idempotencyHeaders": [], "types": { + "type_user:Organization": { + "inline": false, + "name": { + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:Organization" + }, + "shape": { + "_type": "object", + "extends": [], + "properties": [ + { + "name": { + "name": { + "originalName": "name", + "camelCase": { + "unsafeName": "name", + "safeName": "name" + }, + "snakeCase": { + "unsafeName": "name", + "safeName": "name" + }, + "screamingSnakeCase": { + "unsafeName": "NAME", + "safeName": "NAME" + }, + "pascalCase": { + "unsafeName": "Name", + "safeName": "Name" + } + }, + "wireValue": "name" + }, + "valueType": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + }, + "availability": null, + "docs": null + }, + { + "name": { + "name": { + "originalName": "tags", + "camelCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "snakeCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "screamingSnakeCase": { + "unsafeName": "TAGS", + "safeName": "TAGS" + }, + "pascalCase": { + "unsafeName": "Tags", + "safeName": "Tags" + } + }, + "wireValue": "tags" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "list", + "list": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "availability": null, + "docs": null + } + ], + "extra-properties": false, + "extendedProperties": [] + }, + "referencedTypes": [], + "encoding": { + "json": {}, + "proto": null + }, + "source": null, + "userProvidedExamples": [], + "autogeneratedExamples": [], + "availability": null, + "docs": null + }, "type_user:User": { "inline": false, "name": { @@ -392,22 +558,22 @@ "responseBodyType": { "_type": "named", "name": { - "originalName": "User", + "originalName": "Organization", "camelCase": { - "unsafeName": "user", - "safeName": "user" + "unsafeName": "organization", + "safeName": "organization" }, "snakeCase": { - "unsafeName": "user", - "safeName": "user" + "unsafeName": "organization", + "safeName": "organization" }, "screamingSnakeCase": { - "unsafeName": "USER", - "safeName": "USER" + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" }, "pascalCase": { - "unsafeName": "User", - "safeName": "User" + "unsafeName": "Organization", + "safeName": "Organization" } }, "fernFilepath": { @@ -453,7 +619,7 @@ } } }, - "typeId": "type_user:User", + "typeId": "type_user:Organization", "default": null, "inline": null }, @@ -467,7 +633,7 @@ "autogeneratedExamples": [ { "example": { - "id": "4e3bfbab107e66cc4d7cb058c877bf6a2a5d46aa", + "id": "46aa1d3ad64c75bebce9c6342a27be8d7e6ead7a", "url": "/user/organizations/organizationId", "name": null, "endpointHeaders": [], @@ -546,22 +712,22 @@ }, "originalTypeDeclaration": { "name": { - "originalName": "User", + "originalName": "Organization", "camelCase": { - "unsafeName": "user", - "safeName": "user" + "unsafeName": "organization", + "safeName": "organization" }, "snakeCase": { - "unsafeName": "user", - "safeName": "user" + "unsafeName": "organization", + "safeName": "organization" }, "screamingSnakeCase": { - "unsafeName": "USER", - "safeName": "USER" + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" }, "pascalCase": { - "unsafeName": "User", - "safeName": "User" + "unsafeName": "Organization", + "safeName": "Organization" } }, "fernFilepath": { @@ -607,7 +773,7 @@ } } }, - "typeId": "type_user:User" + "typeId": "type_user:Organization" }, "value": { "shape": { @@ -647,22 +813,22 @@ }, "originalTypeDeclaration": { "name": { - "originalName": "User", + "originalName": "Organization", "camelCase": { - "unsafeName": "user", - "safeName": "user" + "unsafeName": "organization", + "safeName": "organization" }, "snakeCase": { - "unsafeName": "user", - "safeName": "user" + "unsafeName": "organization", + "safeName": "organization" }, "screamingSnakeCase": { - "unsafeName": "USER", - "safeName": "USER" + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" }, "pascalCase": { - "unsafeName": "User", - "safeName": "User" + "unsafeName": "Organization", + "safeName": "Organization" } }, "fernFilepath": { @@ -708,7 +874,7 @@ } } }, - "typeId": "type_user:User" + "typeId": "type_user:Organization" }, "value": { "shape": { @@ -764,22 +930,22 @@ }, "typeName": { "name": { - "originalName": "User", + "originalName": "Organization", "camelCase": { - "unsafeName": "user", - "safeName": "user" + "unsafeName": "organization", + "safeName": "organization" }, "snakeCase": { - "unsafeName": "user", - "safeName": "user" + "unsafeName": "organization", + "safeName": "organization" }, "screamingSnakeCase": { - "unsafeName": "USER", - "safeName": "USER" + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" }, "pascalCase": { - "unsafeName": "User", - "safeName": "User" + "unsafeName": "Organization", + "safeName": "Organization" } }, "fernFilepath": { @@ -825,7 +991,7 @@ } } }, - "typeId": "type_user:User" + "typeId": "type_user:Organization" } }, "jsonExample": { @@ -2257,6 +2423,2238 @@ "transport": null, "availability": null, "docs": null + }, + { + "id": "endpoint_user.searchUsers", + "name": { + "originalName": "searchUsers", + "camelCase": { + "unsafeName": "searchUsers", + "safeName": "searchUsers" + }, + "snakeCase": { + "unsafeName": "search_users", + "safeName": "search_users" + }, + "screamingSnakeCase": { + "unsafeName": "SEARCH_USERS", + "safeName": "SEARCH_USERS" + }, + "pascalCase": { + "unsafeName": "SearchUsers", + "safeName": "SearchUsers" + } + }, + "displayName": null, + "auth": false, + "idempotent": false, + "baseUrl": null, + "method": "GET", + "basePath": null, + "path": { + "head": "/users/", + "parts": [ + { + "pathParameter": "userOd", + "tail": "" + } + ] + }, + "fullPath": { + "head": "/user/users/", + "parts": [ + { + "pathParameter": "userOd", + "tail": "" + } + ] + }, + "pathParameters": [ + { + "name": { + "originalName": "userId", + "camelCase": { + "unsafeName": "userID", + "safeName": "userID" + }, + "snakeCase": { + "unsafeName": "user_id", + "safeName": "user_id" + }, + "screamingSnakeCase": { + "unsafeName": "USER_ID", + "safeName": "USER_ID" + }, + "pascalCase": { + "unsafeName": "UserID", + "safeName": "UserID" + } + }, + "valueType": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + }, + "location": "ENDPOINT", + "variable": null, + "docs": null + } + ], + "allPathParameters": [ + { + "name": { + "originalName": "userId", + "camelCase": { + "unsafeName": "userID", + "safeName": "userID" + }, + "snakeCase": { + "unsafeName": "user_id", + "safeName": "user_id" + }, + "screamingSnakeCase": { + "unsafeName": "USER_ID", + "safeName": "USER_ID" + }, + "pascalCase": { + "unsafeName": "UserID", + "safeName": "UserID" + } + }, + "valueType": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + }, + "location": "ENDPOINT", + "variable": null, + "docs": null + } + ], + "queryParameters": [ + { + "name": { + "name": { + "originalName": "limit", + "camelCase": { + "unsafeName": "limit", + "safeName": "limit" + }, + "snakeCase": { + "unsafeName": "limit", + "safeName": "limit" + }, + "screamingSnakeCase": { + "unsafeName": "LIMIT", + "safeName": "LIMIT" + }, + "pascalCase": { + "unsafeName": "Limit", + "safeName": "Limit" + } + }, + "wireValue": "limit" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } + } + } + }, + "allowMultiple": false, + "availability": null, + "docs": null + } + ], + "headers": [], + "requestBody": null, + "sdkRequest": { + "shape": { + "type": "wrapper", + "wrapperName": { + "originalName": "SearchUsersRequest", + "camelCase": { + "unsafeName": "searchUsersRequest", + "safeName": "searchUsersRequest" + }, + "snakeCase": { + "unsafeName": "search_users_request", + "safeName": "search_users_request" + }, + "screamingSnakeCase": { + "unsafeName": "SEARCH_USERS_REQUEST", + "safeName": "SEARCH_USERS_REQUEST" + }, + "pascalCase": { + "unsafeName": "SearchUsersRequest", + "safeName": "SearchUsersRequest" + } + }, + "bodyKey": { + "originalName": "body", + "camelCase": { + "unsafeName": "body", + "safeName": "body" + }, + "snakeCase": { + "unsafeName": "body", + "safeName": "body" + }, + "screamingSnakeCase": { + "unsafeName": "BODY", + "safeName": "BODY" + }, + "pascalCase": { + "unsafeName": "Body", + "safeName": "Body" + } + }, + "includePathParameters": true, + "onlyPathParameters": false + }, + "requestParameterName": { + "originalName": "request", + "camelCase": { + "unsafeName": "request", + "safeName": "request" + }, + "snakeCase": { + "unsafeName": "request", + "safeName": "request" + }, + "screamingSnakeCase": { + "unsafeName": "REQUEST", + "safeName": "REQUEST" + }, + "pascalCase": { + "unsafeName": "Request", + "safeName": "Request" + } + }, + "streamParameter": null + }, + "response": { + "body": { + "type": "json", + "value": { + "type": "response", + "responseBodyType": { + "_type": "container", + "container": { + "_type": "list", + "list": { + "_type": "named", + "name": { + "originalName": "User", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:User", + "default": null, + "inline": null + } + } + }, + "docs": null + } + }, + "status-code": null + }, + "errors": [], + "userSpecifiedExamples": [], + "autogeneratedExamples": [ + { + "example": { + "id": "77244d0cd8c4a7c57fd9c66c29faae4f7e9a17ec", + "url": "/user/users/undefined", + "name": null, + "endpointHeaders": [], + "endpointPathParameters": [ + { + "name": { + "originalName": "userId", + "camelCase": { + "unsafeName": "userID", + "safeName": "userID" + }, + "snakeCase": { + "unsafeName": "user_id", + "safeName": "user_id" + }, + "screamingSnakeCase": { + "unsafeName": "USER_ID", + "safeName": "USER_ID" + }, + "pascalCase": { + "unsafeName": "UserID", + "safeName": "UserID" + } + }, + "value": { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "userId" + } + } + }, + "jsonExample": "userId" + } + } + ], + "queryParameters": [], + "servicePathParameters": [], + "serviceHeaders": [], + "rootPathParameters": [], + "request": null, + "response": { + "type": "ok", + "value": { + "type": "body", + "value": { + "shape": { + "type": "container", + "container": { + "type": "list", + "list": [ + { + "shape": { + "type": "named", + "shape": { + "type": "object", + "properties": [ + { + "name": { + "name": { + "originalName": "name", + "camelCase": { + "unsafeName": "name", + "safeName": "name" + }, + "snakeCase": { + "unsafeName": "name", + "safeName": "name" + }, + "screamingSnakeCase": { + "unsafeName": "NAME", + "safeName": "NAME" + }, + "pascalCase": { + "unsafeName": "Name", + "safeName": "Name" + } + }, + "wireValue": "name" + }, + "originalTypeDeclaration": { + "name": { + "originalName": "User", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:User" + }, + "value": { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "name" + } + } + }, + "jsonExample": "name" + } + }, + { + "name": { + "name": { + "originalName": "tags", + "camelCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "snakeCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "screamingSnakeCase": { + "unsafeName": "TAGS", + "safeName": "TAGS" + }, + "pascalCase": { + "unsafeName": "Tags", + "safeName": "Tags" + } + }, + "wireValue": "tags" + }, + "originalTypeDeclaration": { + "name": { + "originalName": "User", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:User" + }, + "value": { + "shape": { + "type": "container", + "container": { + "type": "list", + "list": [ + { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "tags" + } + } + }, + "jsonExample": "tags" + }, + { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "tags" + } + } + }, + "jsonExample": "tags" + } + ], + "itemType": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "jsonExample": [ + "tags", + "tags" + ] + } + } + ] + }, + "typeName": { + "name": { + "originalName": "User", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:User" + } + }, + "jsonExample": { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + }, + { + "shape": { + "type": "named", + "shape": { + "type": "object", + "properties": [ + { + "name": { + "name": { + "originalName": "name", + "camelCase": { + "unsafeName": "name", + "safeName": "name" + }, + "snakeCase": { + "unsafeName": "name", + "safeName": "name" + }, + "screamingSnakeCase": { + "unsafeName": "NAME", + "safeName": "NAME" + }, + "pascalCase": { + "unsafeName": "Name", + "safeName": "Name" + } + }, + "wireValue": "name" + }, + "originalTypeDeclaration": { + "name": { + "originalName": "User", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:User" + }, + "value": { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "name" + } + } + }, + "jsonExample": "name" + } + }, + { + "name": { + "name": { + "originalName": "tags", + "camelCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "snakeCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "screamingSnakeCase": { + "unsafeName": "TAGS", + "safeName": "TAGS" + }, + "pascalCase": { + "unsafeName": "Tags", + "safeName": "Tags" + } + }, + "wireValue": "tags" + }, + "originalTypeDeclaration": { + "name": { + "originalName": "User", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:User" + }, + "value": { + "shape": { + "type": "container", + "container": { + "type": "list", + "list": [ + { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "tags" + } + } + }, + "jsonExample": "tags" + }, + { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "tags" + } + } + }, + "jsonExample": "tags" + } + ], + "itemType": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "jsonExample": [ + "tags", + "tags" + ] + } + } + ] + }, + "typeName": { + "name": { + "originalName": "User", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:User" + } + }, + "jsonExample": { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + } + ], + "itemType": { + "_type": "named", + "name": { + "originalName": "User", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:User", + "default": null, + "inline": null + } + } + }, + "jsonExample": [ + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + }, + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + ] + } + } + }, + "docs": null + } + } + ], + "pagination": null, + "transport": null, + "availability": null, + "docs": null + }, + { + "id": "endpoint_user.searchOrganizations", + "name": { + "originalName": "searchOrganizations", + "camelCase": { + "unsafeName": "searchOrganizations", + "safeName": "searchOrganizations" + }, + "snakeCase": { + "unsafeName": "search_organizations", + "safeName": "search_organizations" + }, + "screamingSnakeCase": { + "unsafeName": "SEARCH_ORGANIZATIONS", + "safeName": "SEARCH_ORGANIZATIONS" + }, + "pascalCase": { + "unsafeName": "SearchOrganizations", + "safeName": "SearchOrganizations" + } + }, + "displayName": null, + "auth": false, + "idempotent": false, + "baseUrl": null, + "method": "GET", + "basePath": null, + "path": { + "head": "/organizations/", + "parts": [ + { + "pathParameter": "organizationId", + "tail": "" + } + ] + }, + "fullPath": { + "head": "/user/organizations/", + "parts": [ + { + "pathParameter": "organizationId", + "tail": "" + } + ] + }, + "pathParameters": [ + { + "name": { + "originalName": "organizationId", + "camelCase": { + "unsafeName": "organizationID", + "safeName": "organizationID" + }, + "snakeCase": { + "unsafeName": "organization_id", + "safeName": "organization_id" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION_ID", + "safeName": "ORGANIZATION_ID" + }, + "pascalCase": { + "unsafeName": "OrganizationID", + "safeName": "OrganizationID" + } + }, + "valueType": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + }, + "location": "ENDPOINT", + "variable": null, + "docs": null + } + ], + "allPathParameters": [ + { + "name": { + "originalName": "organizationId", + "camelCase": { + "unsafeName": "organizationID", + "safeName": "organizationID" + }, + "snakeCase": { + "unsafeName": "organization_id", + "safeName": "organization_id" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION_ID", + "safeName": "ORGANIZATION_ID" + }, + "pascalCase": { + "unsafeName": "OrganizationID", + "safeName": "OrganizationID" + } + }, + "valueType": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + }, + "location": "ENDPOINT", + "variable": null, + "docs": null + } + ], + "queryParameters": [ + { + "name": { + "name": { + "originalName": "limit", + "camelCase": { + "unsafeName": "limit", + "safeName": "limit" + }, + "snakeCase": { + "unsafeName": "limit", + "safeName": "limit" + }, + "screamingSnakeCase": { + "unsafeName": "LIMIT", + "safeName": "LIMIT" + }, + "pascalCase": { + "unsafeName": "Limit", + "safeName": "Limit" + } + }, + "wireValue": "limit" + }, + "valueType": { + "_type": "container", + "container": { + "_type": "optional", + "optional": { + "_type": "primitive", + "primitive": { + "v1": "INTEGER", + "v2": { + "type": "integer", + "default": null, + "validation": null + } + } + } + } + }, + "allowMultiple": false, + "availability": null, + "docs": null + } + ], + "headers": [], + "requestBody": null, + "sdkRequest": { + "shape": { + "type": "wrapper", + "wrapperName": { + "originalName": "SearchOrganizationsRequest", + "camelCase": { + "unsafeName": "searchOrganizationsRequest", + "safeName": "searchOrganizationsRequest" + }, + "snakeCase": { + "unsafeName": "search_organizations_request", + "safeName": "search_organizations_request" + }, + "screamingSnakeCase": { + "unsafeName": "SEARCH_ORGANIZATIONS_REQUEST", + "safeName": "SEARCH_ORGANIZATIONS_REQUEST" + }, + "pascalCase": { + "unsafeName": "SearchOrganizationsRequest", + "safeName": "SearchOrganizationsRequest" + } + }, + "bodyKey": { + "originalName": "body", + "camelCase": { + "unsafeName": "body", + "safeName": "body" + }, + "snakeCase": { + "unsafeName": "body", + "safeName": "body" + }, + "screamingSnakeCase": { + "unsafeName": "BODY", + "safeName": "BODY" + }, + "pascalCase": { + "unsafeName": "Body", + "safeName": "Body" + } + }, + "includePathParameters": false, + "onlyPathParameters": false + }, + "requestParameterName": { + "originalName": "request", + "camelCase": { + "unsafeName": "request", + "safeName": "request" + }, + "snakeCase": { + "unsafeName": "request", + "safeName": "request" + }, + "screamingSnakeCase": { + "unsafeName": "REQUEST", + "safeName": "REQUEST" + }, + "pascalCase": { + "unsafeName": "Request", + "safeName": "Request" + } + }, + "streamParameter": null + }, + "response": { + "body": { + "type": "json", + "value": { + "type": "response", + "responseBodyType": { + "_type": "container", + "container": { + "_type": "list", + "list": { + "_type": "named", + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:Organization", + "default": null, + "inline": null + } + } + }, + "docs": null + } + }, + "status-code": null + }, + "errors": [], + "userSpecifiedExamples": [], + "autogeneratedExamples": [ + { + "example": { + "id": "3dc2b2510dc46c91f013274ac3b8e78d9e58bf16", + "url": "/user/organizations/organizationId", + "name": null, + "endpointHeaders": [], + "endpointPathParameters": [ + { + "name": { + "originalName": "organizationId", + "camelCase": { + "unsafeName": "organizationID", + "safeName": "organizationID" + }, + "snakeCase": { + "unsafeName": "organization_id", + "safeName": "organization_id" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION_ID", + "safeName": "ORGANIZATION_ID" + }, + "pascalCase": { + "unsafeName": "OrganizationID", + "safeName": "OrganizationID" + } + }, + "value": { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "organizationId" + } + } + }, + "jsonExample": "organizationId" + } + } + ], + "queryParameters": [], + "servicePathParameters": [], + "serviceHeaders": [], + "rootPathParameters": [], + "request": null, + "response": { + "type": "ok", + "value": { + "type": "body", + "value": { + "shape": { + "type": "container", + "container": { + "type": "list", + "list": [ + { + "shape": { + "type": "named", + "shape": { + "type": "object", + "properties": [ + { + "name": { + "name": { + "originalName": "name", + "camelCase": { + "unsafeName": "name", + "safeName": "name" + }, + "snakeCase": { + "unsafeName": "name", + "safeName": "name" + }, + "screamingSnakeCase": { + "unsafeName": "NAME", + "safeName": "NAME" + }, + "pascalCase": { + "unsafeName": "Name", + "safeName": "Name" + } + }, + "wireValue": "name" + }, + "originalTypeDeclaration": { + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:Organization" + }, + "value": { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "name" + } + } + }, + "jsonExample": "name" + } + }, + { + "name": { + "name": { + "originalName": "tags", + "camelCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "snakeCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "screamingSnakeCase": { + "unsafeName": "TAGS", + "safeName": "TAGS" + }, + "pascalCase": { + "unsafeName": "Tags", + "safeName": "Tags" + } + }, + "wireValue": "tags" + }, + "originalTypeDeclaration": { + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:Organization" + }, + "value": { + "shape": { + "type": "container", + "container": { + "type": "list", + "list": [ + { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "tags" + } + } + }, + "jsonExample": "tags" + }, + { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "tags" + } + } + }, + "jsonExample": "tags" + } + ], + "itemType": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "jsonExample": [ + "tags", + "tags" + ] + } + } + ] + }, + "typeName": { + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:Organization" + } + }, + "jsonExample": { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + }, + { + "shape": { + "type": "named", + "shape": { + "type": "object", + "properties": [ + { + "name": { + "name": { + "originalName": "name", + "camelCase": { + "unsafeName": "name", + "safeName": "name" + }, + "snakeCase": { + "unsafeName": "name", + "safeName": "name" + }, + "screamingSnakeCase": { + "unsafeName": "NAME", + "safeName": "NAME" + }, + "pascalCase": { + "unsafeName": "Name", + "safeName": "Name" + } + }, + "wireValue": "name" + }, + "originalTypeDeclaration": { + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:Organization" + }, + "value": { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "name" + } + } + }, + "jsonExample": "name" + } + }, + { + "name": { + "name": { + "originalName": "tags", + "camelCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "snakeCase": { + "unsafeName": "tags", + "safeName": "tags" + }, + "screamingSnakeCase": { + "unsafeName": "TAGS", + "safeName": "TAGS" + }, + "pascalCase": { + "unsafeName": "Tags", + "safeName": "Tags" + } + }, + "wireValue": "tags" + }, + "originalTypeDeclaration": { + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:Organization" + }, + "value": { + "shape": { + "type": "container", + "container": { + "type": "list", + "list": [ + { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "tags" + } + } + }, + "jsonExample": "tags" + }, + { + "shape": { + "type": "primitive", + "primitive": { + "type": "string", + "string": { + "original": "tags" + } + } + }, + "jsonExample": "tags" + } + ], + "itemType": { + "_type": "primitive", + "primitive": { + "v1": "STRING", + "v2": { + "type": "string", + "default": null, + "validation": null + } + } + } + } + }, + "jsonExample": [ + "tags", + "tags" + ] + } + } + ] + }, + "typeName": { + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:Organization" + } + }, + "jsonExample": { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + } + ], + "itemType": { + "_type": "named", + "name": { + "originalName": "Organization", + "camelCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "snakeCase": { + "unsafeName": "organization", + "safeName": "organization" + }, + "screamingSnakeCase": { + "unsafeName": "ORGANIZATION", + "safeName": "ORGANIZATION" + }, + "pascalCase": { + "unsafeName": "Organization", + "safeName": "Organization" + } + }, + "fernFilepath": { + "allParts": [ + { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + ], + "packagePath": [], + "file": { + "originalName": "user", + "camelCase": { + "unsafeName": "user", + "safeName": "user" + }, + "snakeCase": { + "unsafeName": "user", + "safeName": "user" + }, + "screamingSnakeCase": { + "unsafeName": "USER", + "safeName": "USER" + }, + "pascalCase": { + "unsafeName": "User", + "safeName": "User" + } + } + }, + "typeId": "type_user:Organization", + "default": null, + "inline": null + } + } + }, + "jsonExample": [ + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + }, + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + ] + } + } + }, + "docs": null + } + } + ], + "pagination": null, + "transport": null, + "availability": null, + "docs": null } ] } @@ -2295,6 +4693,7 @@ "serviceTypeReferenceInfo": { "typesReferencedOnlyByService": { "service_user": [ + "type_user:Organization", "type_user:User" ] }, @@ -2371,6 +4770,7 @@ }, "service": "service_user", "types": [ + "type_user:Organization", "type_user:User" ], "errors": [], diff --git a/packages/cli/register/src/ir-to-fdr-converter/__test__/__snapshots__/path-parameters.json b/packages/cli/register/src/ir-to-fdr-converter/__test__/__snapshots__/path-parameters.json index 6e3e29236bc..5fbd991e046 100644 --- a/packages/cli/register/src/ir-to-fdr-converter/__test__/__snapshots__/path-parameters.json +++ b/packages/cli/register/src/ir-to-fdr-converter/__test__/__snapshots__/path-parameters.json @@ -1,5 +1,38 @@ { "types": { + "type_user:Organization": { + "name": "Organization", + "shape": { + "type": "object", + "extends": [], + "properties": [ + { + "key": "name", + "valueType": { + "type": "primitive", + "value": { + "type": "string" + } + } + }, + { + "key": "tags", + "valueType": { + "type": "list", + "itemType": { + "type": "primitive", + "value": { + "type": "string" + } + } + } + } + ], + "extraProperties": { + "type": "unknown" + } + } + }, "type_user:User": { "name": "User", "shape": { @@ -83,7 +116,7 @@ "type": "reference", "value": { "type": "id", - "value": "type_user:User" + "value": "type_user:Organization" } } }, @@ -293,11 +326,238 @@ "codeSamples": [] } ] + }, + { + "auth": false, + "method": "GET", + "id": "searchUsers", + "originalEndpointId": "endpoint_user.searchUsers", + "name": "Search Users", + "path": { + "pathParameters": [ + { + "key": "userId", + "type": { + "type": "primitive", + "value": { + "type": "string" + } + } + } + ], + "parts": [ + { + "type": "literal", + "value": "/user" + }, + { + "type": "literal", + "value": "/users/" + }, + { + "type": "pathParameter", + "value": "userOd" + }, + { + "type": "literal", + "value": "" + } + ] + }, + "queryParameters": [ + { + "key": "limit", + "type": { + "type": "optional", + "itemType": { + "type": "primitive", + "value": { + "type": "integer" + } + } + } + } + ], + "headers": [], + "response": { + "type": { + "type": "reference", + "value": { + "type": "list", + "itemType": { + "type": "id", + "value": "type_user:User" + } + } + } + }, + "errorsV2": [], + "examples": [ + { + "path": "/user/users/undefined", + "pathParameters": { + "userId": "userId" + }, + "queryParameters": {}, + "headers": {}, + "responseStatusCode": 200, + "responseBody": [ + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + }, + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + ], + "responseBodyV3": { + "type": "json", + "value": [ + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + }, + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + ] + }, + "codeSamples": [] + } + ] + }, + { + "auth": false, + "method": "GET", + "id": "searchOrganizations", + "originalEndpointId": "endpoint_user.searchOrganizations", + "name": "Search Organizations", + "path": { + "pathParameters": [ + { + "key": "organizationId", + "type": { + "type": "primitive", + "value": { + "type": "string" + } + } + } + ], + "parts": [ + { + "type": "literal", + "value": "/user" + }, + { + "type": "literal", + "value": "/organizations/" + }, + { + "type": "pathParameter", + "value": "organizationId" + }, + { + "type": "literal", + "value": "" + } + ] + }, + "queryParameters": [ + { + "key": "limit", + "type": { + "type": "optional", + "itemType": { + "type": "primitive", + "value": { + "type": "integer" + } + } + } + } + ], + "headers": [], + "response": { + "type": { + "type": "reference", + "value": { + "type": "list", + "itemType": { + "type": "id", + "value": "type_user:Organization" + } + } + } + }, + "errorsV2": [], + "examples": [ + { + "path": "/user/organizations/organizationId", + "pathParameters": { + "organizationId": "organizationId" + }, + "queryParameters": {}, + "headers": {}, + "responseStatusCode": 200, + "responseBody": [ + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + }, + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + ], + "responseBodyV3": { + "type": "json", + "value": [ + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + }, + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + ] + }, + "codeSamples": [] + } + ] } ], "webhooks": [], "websockets": [], "types": [ + "type_user:Organization", "type_user:User" ], "subpackages": [] diff --git a/packages/ir-sdk/fern/apis/ir-types-latest/VERSION b/packages/ir-sdk/fern/apis/ir-types-latest/VERSION index 2ab5d680d0d..04305a4d404 100644 --- a/packages/ir-sdk/fern/apis/ir-types-latest/VERSION +++ b/packages/ir-sdk/fern/apis/ir-types-latest/VERSION @@ -1 +1 @@ -53.20.0 +53.21.0 diff --git a/packages/ir-sdk/fern/apis/ir-types-latest/changelog/CHANGELOG.md b/packages/ir-sdk/fern/apis/ir-types-latest/changelog/CHANGELOG.md index 5d648b459f2..6acd51e38b0 100644 --- a/packages/ir-sdk/fern/apis/ir-types-latest/changelog/CHANGELOG.md +++ b/packages/ir-sdk/fern/apis/ir-types-latest/changelog/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [v53.20.0] - 2024-11-04 +- Internal: Add the `includePathParameters` and `onlyPathParameters` properties to the dynamic + IR within the `InlinedRequestMetadata` type. + +## [v53.20.0] - 2024-11-04 + - Internal: Add `includePathParameters` and `onlyPathParameters` property to the wrapped request. With this, the generator can determine whether or not the path parameters should be included in diff --git a/packages/ir-sdk/fern/apis/ir-types-latest/definition/dynamic/endpoints.yml b/packages/ir-sdk/fern/apis/ir-types-latest/definition/dynamic/endpoints.yml index 27e0973b6c9..82b479d5863 100644 --- a/packages/ir-sdk/fern/apis/ir-types-latest/definition/dynamic/endpoints.yml +++ b/packages/ir-sdk/fern/apis/ir-types-latest/definition/dynamic/endpoints.yml @@ -49,6 +49,26 @@ types: queryParameters: optional> headers: optional> body: optional + metadata: optional + + InlinedRequestMetadata: + properties: + includePathParameters: + docs: | + If true, the path parameters should be included as properties in the + inlined request type, but only if the generator is explicitly configured + to do so. + + By default, the path parameters are generated as positional parameters. + type: boolean + onlyPathParameters: + docs: | + If true, the path parameters are the only parameters specified in the + inlined request. + + In combination with inludePathParameters, this influences whether or not the + inlined request type should be generated at all. + type: boolean InlinedRequestBody: union: diff --git a/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequest.ts b/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequest.ts index 1081c967fdb..13f892d39b9 100644 --- a/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequest.ts +++ b/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequest.ts @@ -10,4 +10,5 @@ export interface InlinedRequest { queryParameters: FernIr.dynamic.NamedParameter[] | undefined; headers: FernIr.dynamic.NamedParameter[] | undefined; body: FernIr.dynamic.InlinedRequestBody | undefined; + metadata: FernIr.dynamic.InlinedRequestMetadata | undefined; } diff --git a/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequestMetadata.ts b/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequestMetadata.ts new file mode 100644 index 00000000000..10daec9ea1d --- /dev/null +++ b/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequestMetadata.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface InlinedRequestMetadata { + /** + * If true, the path parameters should be included as properties in the + * inlined request type, but only if the generator is explicitly configured + * to do so. + * + * By default, the path parameters are generated as positional parameters. + */ + includePathParameters: boolean; + /** + * If true, the path parameters are the only parameters specified in the + * inlined request. + * + * In combination with inludePathParameters, this influences whether or not the + * inlined request type should be generated at all. + */ + onlyPathParameters: boolean; +} diff --git a/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/index.ts b/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/index.ts index 67f44bd19e1..740eee8528c 100644 --- a/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/index.ts +++ b/packages/ir-sdk/src/sdk/api/resources/dynamic/resources/endpoints/types/index.ts @@ -4,6 +4,7 @@ export * from "./Request"; export * from "./Response"; export * from "./BodyRequest"; export * from "./InlinedRequest"; +export * from "./InlinedRequestMetadata"; export * from "./InlinedRequestBody"; export * from "./ReferencedRequestBody"; export * from "./ReferencedRequestBodyType"; diff --git a/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/InlinedRequest.ts b/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/InlinedRequest.ts index 0d4eeff3bf9..864a6fd9ce2 100644 --- a/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/InlinedRequest.ts +++ b/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/InlinedRequest.ts @@ -8,6 +8,7 @@ import * as core from "../../../../../../core"; import { Declaration } from "../../declaration/types/Declaration"; import { NamedParameter } from "../../types/types/NamedParameter"; import { InlinedRequestBody } from "./InlinedRequestBody"; +import { InlinedRequestMetadata } from "./InlinedRequestMetadata"; export const InlinedRequest: core.serialization.ObjectSchema< serializers.dynamic.InlinedRequest.Raw, @@ -18,6 +19,7 @@ export const InlinedRequest: core.serialization.ObjectSchema< queryParameters: core.serialization.list(NamedParameter).optional(), headers: core.serialization.list(NamedParameter).optional(), body: InlinedRequestBody.optional(), + metadata: InlinedRequestMetadata.optional(), }); export declare namespace InlinedRequest { @@ -27,5 +29,6 @@ export declare namespace InlinedRequest { queryParameters?: NamedParameter.Raw[] | null; headers?: NamedParameter.Raw[] | null; body?: InlinedRequestBody.Raw | null; + metadata?: InlinedRequestMetadata.Raw | null; } } diff --git a/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/InlinedRequestMetadata.ts b/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/InlinedRequestMetadata.ts new file mode 100644 index 00000000000..e335812810b --- /dev/null +++ b/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/InlinedRequestMetadata.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as FernIr from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const InlinedRequestMetadata: core.serialization.ObjectSchema< + serializers.dynamic.InlinedRequestMetadata.Raw, + FernIr.dynamic.InlinedRequestMetadata +> = core.serialization.objectWithoutOptionalProperties({ + includePathParameters: core.serialization.boolean(), + onlyPathParameters: core.serialization.boolean(), +}); + +export declare namespace InlinedRequestMetadata { + interface Raw { + includePathParameters: boolean; + onlyPathParameters: boolean; + } +} diff --git a/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/index.ts b/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/index.ts index 67f44bd19e1..740eee8528c 100644 --- a/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/index.ts +++ b/packages/ir-sdk/src/sdk/serialization/resources/dynamic/resources/endpoints/types/index.ts @@ -4,6 +4,7 @@ export * from "./Request"; export * from "./Response"; export * from "./BodyRequest"; export * from "./InlinedRequest"; +export * from "./InlinedRequestMetadata"; export * from "./InlinedRequestBody"; export * from "./ReferencedRequestBody"; export * from "./ReferencedRequestBodyType"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5cf846b32a6..cb5161cbb81 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4499,6 +4499,9 @@ importers: '@fern-fern/generator-exec-sdk': specifier: ^0.0.898 version: 0.0.898 + '@fern-fern/ir-sdk': + specifier: ^53.19.0 + version: 53.19.0 url-join: specifier: ^5.0.0 version: 5.0.0 diff --git a/seed/csharp-model/path-parameters/.mock/definition/user.yml b/seed/csharp-model/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/csharp-model/path-parameters/.mock/definition/user.yml +++ b/seed/csharp-model/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/csharp-model/path-parameters/src/SeedPathParameters/User/Organization.cs b/seed/csharp-model/path-parameters/src/SeedPathParameters/User/Organization.cs new file mode 100644 index 00000000000..cec21e73f2e --- /dev/null +++ b/seed/csharp-model/path-parameters/src/SeedPathParameters/User/Organization.cs @@ -0,0 +1,20 @@ +using System.Text.Json.Serialization; +using SeedPathParameters.Core; + +#nullable enable + +namespace SeedPathParameters; + +public record Organization +{ + [JsonPropertyName("name")] + public required string Name { get; set; } + + [JsonPropertyName("tags")] + public IEnumerable Tags { get; set; } = new List(); + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/path-parameters/.mock/definition/user.yml b/seed/csharp-sdk/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/csharp-sdk/path-parameters/.mock/definition/user.yml +++ b/seed/csharp-sdk/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/csharp-sdk/path-parameters/reference.md b/seed/csharp-sdk/path-parameters/reference.md index f99df382723..e0a53d005fb 100644 --- a/seed/csharp-sdk/path-parameters/reference.md +++ b/seed/csharp-sdk/path-parameters/reference.md @@ -1,6 +1,6 @@ # Reference ## User -
client.User.GetOrganizationAsync(organizationId) -> User +
client.User.GetOrganizationAsync(organizationId) -> Organization
@@ -144,6 +144,105 @@ await client.User.GetOrganizationUserAsync(
+ + +
+ +
client.User.SearchUsersAsync(userId, SearchUsersRequest { ... }) -> IEnumerable +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```csharp +await client.User.SearchUsersAsync("userId", new SearchUsersRequest { Limit = 1 }); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**userId:** `string` + +
+
+ +
+
+ +**request:** `SearchUsersRequest` + +
+
+
+
+ + +
+
+
+ +
client.User.SearchOrganizationsAsync(organizationId, SearchOrganizationsRequest { ... }) -> IEnumerable +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```csharp +await client.User.SearchOrganizationsAsync( + "organizationId", + new SearchOrganizationsRequest { Limit = 1 } +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**organizationId:** `string` + +
+
+ +
+
+ +**request:** `SearchOrganizationsRequest` + +
+
+
+
+ +
diff --git a/seed/csharp-sdk/path-parameters/snippet.json b/seed/csharp-sdk/path-parameters/snippet.json index 5191be0218e..663cc6e1abd 100644 --- a/seed/csharp-sdk/path-parameters/snippet.json +++ b/seed/csharp-sdk/path-parameters/snippet.json @@ -36,6 +36,30 @@ "type": "typescript", "client": "using SeedPathParameters;\n\nvar client = new SeedPathParametersClient();\nawait client.User.GetOrganizationUserAsync(\n \"organizationId\",\n \"userId\",\n new GetOrganizationUserRequest()\n);\n" } + }, + { + "example_identifier": null, + "id": { + "path": "/user/users/{userId}", + "method": "GET", + "identifier_override": "endpoint_user.searchUsers" + }, + "snippet": { + "type": "typescript", + "client": "using SeedPathParameters;\n\nvar client = new SeedPathParametersClient();\nawait client.User.SearchUsersAsync(\"userId\", new SearchUsersRequest { Limit = 1 });\n" + } + }, + { + "example_identifier": null, + "id": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifier_override": "endpoint_user.searchOrganizations" + }, + "snippet": { + "type": "typescript", + "client": "using SeedPathParameters;\n\nvar client = new SeedPathParametersClient();\nawait client.User.SearchOrganizationsAsync(\n \"organizationId\",\n new SearchOrganizationsRequest { Limit = 1 }\n);\n" + } } ] } \ No newline at end of file diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchOrganizationsTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchOrganizationsTest.cs new file mode 100644 index 00000000000..8486107bfbe --- /dev/null +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchOrganizationsTest.cs @@ -0,0 +1,62 @@ +using System.Threading.Tasks; +using FluentAssertions.Json; +using Newtonsoft.Json.Linq; +using NUnit.Framework; +using SeedPathParameters; +using SeedPathParameters.Core; + +#nullable enable + +namespace SeedPathParameters.Test.Unit.MockServer; + +[TestFixture] +public class SearchOrganizationsTest : BaseMockServerTest +{ + [Test] + public async Task MockServerTest() + { + const string mockResponse = """ + [ + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + }, + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + ] + """; + + Server + .Given( + WireMock + .RequestBuilders.Request.Create() + .WithPath("/user/organizations/organizationId") + .WithParam("limit", "1") + .UsingGet() + ) + .RespondWith( + WireMock + .ResponseBuilders.Response.Create() + .WithStatusCode(200) + .WithBody(mockResponse) + ); + + var response = await Client.User.SearchOrganizationsAsync( + "organizationId", + new SearchOrganizationsRequest { Limit = 1 }, + RequestOptions + ); + JToken + .Parse(mockResponse) + .Should() + .BeEquivalentTo(JToken.Parse(JsonUtils.Serialize(response))); + } +} diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchUsersTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchUsersTest.cs new file mode 100644 index 00000000000..d3b56708635 --- /dev/null +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchUsersTest.cs @@ -0,0 +1,62 @@ +using System.Threading.Tasks; +using FluentAssertions.Json; +using Newtonsoft.Json.Linq; +using NUnit.Framework; +using SeedPathParameters; +using SeedPathParameters.Core; + +#nullable enable + +namespace SeedPathParameters.Test.Unit.MockServer; + +[TestFixture] +public class SearchUsersTest : BaseMockServerTest +{ + [Test] + public async Task MockServerTest() + { + const string mockResponse = """ + [ + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + }, + { + "name": "name", + "tags": [ + "tags", + "tags" + ] + } + ] + """; + + Server + .Given( + WireMock + .RequestBuilders.Request.Create() + .WithPath("/user/users/userId") + .WithParam("limit", "1") + .UsingGet() + ) + .RespondWith( + WireMock + .ResponseBuilders.Response.Create() + .WithStatusCode(200) + .WithBody(mockResponse) + ); + + var response = await Client.User.SearchUsersAsync( + "userId", + new SearchUsersRequest { Limit = 1 }, + RequestOptions + ); + JToken + .Parse(mockResponse) + .Should() + .BeEquivalentTo(JToken.Parse(JsonUtils.Serialize(response))); + } +} diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchOrganizationsRequest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchOrganizationsRequest.cs new file mode 100644 index 00000000000..fb4303e79f2 --- /dev/null +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchOrganizationsRequest.cs @@ -0,0 +1,15 @@ +using SeedPathParameters.Core; + +#nullable enable + +namespace SeedPathParameters; + +public record SearchOrganizationsRequest +{ + public int? Limit { get; set; } + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchUsersRequest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchUsersRequest.cs new file mode 100644 index 00000000000..c9bcdec7a85 --- /dev/null +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchUsersRequest.cs @@ -0,0 +1,15 @@ +using SeedPathParameters.Core; + +#nullable enable + +namespace SeedPathParameters; + +public record SearchUsersRequest +{ + public int? Limit { get; set; } + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Types/Organization.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Types/Organization.cs new file mode 100644 index 00000000000..cec21e73f2e --- /dev/null +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Types/Organization.cs @@ -0,0 +1,20 @@ +using System.Text.Json.Serialization; +using SeedPathParameters.Core; + +#nullable enable + +namespace SeedPathParameters; + +public record Organization +{ + [JsonPropertyName("name")] + public required string Name { get; set; } + + [JsonPropertyName("tags")] + public IEnumerable Tags { get; set; } = new List(); + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs index 409fea08a9e..5d2c2e7b5a1 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs @@ -21,7 +21,7 @@ internal UserClient(RawClient client) /// await client.User.GetOrganizationAsync("organizationId"); /// /// - public async Task GetOrganizationAsync( + public async Task GetOrganizationAsync( string organizationId, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -42,7 +42,7 @@ public async Task GetOrganizationAsync( { try { - return JsonUtils.Deserialize(responseBody)!; + return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { @@ -145,4 +145,103 @@ public async Task GetOrganizationUserAsync( responseBody ); } + + /// + /// + /// await client.User.SearchUsersAsync("userId", new SearchUsersRequest { Limit = 1 }); + /// + /// + public async Task> SearchUsersAsync( + string userId, + SearchUsersRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _query = new Dictionary(); + if (request.Limit != null) + { + _query["limit"] = request.Limit.ToString(); + } + var response = await _client.MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/user/users/{userId}", + Query = _query, + Options = options, + }, + cancellationToken + ); + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + if (response.StatusCode is >= 200 and < 400) + { + try + { + return JsonUtils.Deserialize>(responseBody)!; + } + catch (JsonException e) + { + throw new SeedPathParametersException("Failed to deserialize response", e); + } + } + + throw new SeedPathParametersApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } + + /// + /// + /// await client.User.SearchOrganizationsAsync( + /// "organizationId", + /// new SearchOrganizationsRequest { Limit = 1 } + /// ); + /// + /// + public async Task> SearchOrganizationsAsync( + string organizationId, + SearchOrganizationsRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _query = new Dictionary(); + if (request.Limit != null) + { + _query["limit"] = request.Limit.ToString(); + } + var response = await _client.MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/user/organizations/{organizationId}", + Query = _query, + Options = options, + }, + cancellationToken + ); + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + if (response.StatusCode is >= 200 and < 400) + { + try + { + return JsonUtils.Deserialize>(responseBody)!; + } + catch (JsonException e) + { + throw new SeedPathParametersException("Failed to deserialize response", e); + } + } + + throw new SeedPathParametersApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } diff --git a/seed/fastapi/path-parameters/.mock/definition/user.yml b/seed/fastapi/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/fastapi/path-parameters/.mock/definition/user.yml +++ b/seed/fastapi/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/fastapi/path-parameters/__init__.py b/seed/fastapi/path-parameters/__init__.py index 03c422787a2..37716b4f3c7 100644 --- a/seed/fastapi/path-parameters/__init__.py +++ b/seed/fastapi/path-parameters/__init__.py @@ -1,5 +1,5 @@ # This file was auto-generated by Fern from our API Definition. -from .resources import User, user +from .resources import Organization, User, user -__all__ = ["User", "user"] +__all__ = ["Organization", "User", "user"] diff --git a/seed/fastapi/path-parameters/resources/__init__.py b/seed/fastapi/path-parameters/resources/__init__.py index 26dc972c93a..8ec620c21bb 100644 --- a/seed/fastapi/path-parameters/resources/__init__.py +++ b/seed/fastapi/path-parameters/resources/__init__.py @@ -1,6 +1,6 @@ # This file was auto-generated by Fern from our API Definition. from . import user -from .user import User +from .user import Organization, User -__all__ = ["User", "user"] +__all__ = ["Organization", "User", "user"] diff --git a/seed/fastapi/path-parameters/resources/user/__init__.py b/seed/fastapi/path-parameters/resources/user/__init__.py index 4d928acf301..aa44f411ba3 100644 --- a/seed/fastapi/path-parameters/resources/user/__init__.py +++ b/seed/fastapi/path-parameters/resources/user/__init__.py @@ -1,5 +1,5 @@ # This file was auto-generated by Fern from our API Definition. -from .types import User +from .types import Organization, User -__all__ = ["User"] +__all__ = ["Organization", "User"] diff --git a/seed/fastapi/path-parameters/resources/user/service/service.py b/seed/fastapi/path-parameters/resources/user/service/service.py index 7c9e9a1bc68..55843ef9cb5 100644 --- a/seed/fastapi/path-parameters/resources/user/service/service.py +++ b/seed/fastapi/path-parameters/resources/user/service/service.py @@ -1,11 +1,12 @@ # This file was auto-generated by Fern from our API Definition. from ....core.abstract_fern_service import AbstractFernService -from ..types.user import User +from ..types.organization import Organization import abc +from ..types.user import User +import typing import fastapi import inspect -import typing from ....core.exceptions.fern_http_exception import FernHTTPException import logging import functools @@ -22,7 +23,7 @@ class AbstractUserService(AbstractFernService): """ @abc.abstractmethod - def get_organization(self, *, organization_id: str) -> User: ... + def get_organization(self, *, organization_id: str) -> Organization: ... @abc.abstractmethod def get_user(self, *, user_id: str) -> User: ... @@ -30,6 +31,16 @@ def get_user(self, *, user_id: str) -> User: ... @abc.abstractmethod def get_organization_user(self, *, organization_id: str, user_id: str) -> User: ... + @abc.abstractmethod + def search_users( + self, *, user_id: str, limit: typing.Optional[int] = None + ) -> typing.Sequence[User]: ... + + @abc.abstractmethod + def search_organizations( + self, *, organization_id: str, limit: typing.Optional[int] = None + ) -> typing.Sequence[Organization]: ... + """ Below are internal methods used by Fern to register your implementation. You can ignore them. @@ -40,6 +51,8 @@ def _init_fern(cls, router: fastapi.APIRouter) -> None: cls.__init_get_organization(router=router) cls.__init_get_user(router=router) cls.__init_get_organization_user(router=router) + cls.__init_search_users(router=router) + cls.__init_search_organizations(router=router) @classmethod def __init_get_organization(cls, router: fastapi.APIRouter) -> None: @@ -61,7 +74,7 @@ def __init_get_organization(cls, router: fastapi.APIRouter) -> None: ) @functools.wraps(cls.get_organization) - def wrapper(*args: typing.Any, **kwargs: typing.Any) -> User: + def wrapper(*args: typing.Any, **kwargs: typing.Any) -> Organization: try: return cls.get_organization(*args, **kwargs) except FernHTTPException as e: @@ -78,7 +91,7 @@ def wrapper(*args: typing.Any, **kwargs: typing.Any) -> User: router.get( path="/user/organizations/{organization_id}", - response_model=User, + response_model=Organization, description=AbstractUserService.get_organization.__doc__, **get_route_args(cls.get_organization, default_tag="user"), )(wrapper) @@ -168,3 +181,97 @@ def wrapper(*args: typing.Any, **kwargs: typing.Any) -> User: description=AbstractUserService.get_organization_user.__doc__, **get_route_args(cls.get_organization_user, default_tag="user"), )(wrapper) + + @classmethod + def __init_search_users(cls, router: fastapi.APIRouter) -> None: + endpoint_function = inspect.signature(cls.search_users) + new_parameters: typing.List[inspect.Parameter] = [] + for index, (parameter_name, parameter) in enumerate( + endpoint_function.parameters.items() + ): + if index == 0: + new_parameters.append(parameter.replace(default=fastapi.Depends(cls))) + elif parameter_name == "user_id": + new_parameters.append(parameter.replace(default=fastapi.Path(...))) + elif parameter_name == "limit": + new_parameters.append( + parameter.replace(default=fastapi.Query(default=None)) + ) + else: + new_parameters.append(parameter) + setattr( + cls.search_users, + "__signature__", + endpoint_function.replace(parameters=new_parameters), + ) + + @functools.wraps(cls.search_users) + def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Sequence[User]: + try: + return cls.search_users(*args, **kwargs) + except FernHTTPException as e: + logging.getLogger(f"{cls.__module__}.{cls.__name__}").warn( + f"Endpoint 'search_users' unexpectedly threw {e.__class__.__name__}. " + + f"If this was intentional, please add {e.__class__.__name__} to " + + "the endpoint's errors list in your Fern Definition." + ) + raise e + + # this is necessary for FastAPI to find forward-ref'ed type hints. + # https://github.com/tiangolo/fastapi/pull/5077 + wrapper.__globals__.update(cls.search_users.__globals__) + + router.get( + path="/user/users/{user_id}", + response_model=typing.Sequence[User], + description=AbstractUserService.search_users.__doc__, + **get_route_args(cls.search_users, default_tag="user"), + )(wrapper) + + @classmethod + def __init_search_organizations(cls, router: fastapi.APIRouter) -> None: + endpoint_function = inspect.signature(cls.search_organizations) + new_parameters: typing.List[inspect.Parameter] = [] + for index, (parameter_name, parameter) in enumerate( + endpoint_function.parameters.items() + ): + if index == 0: + new_parameters.append(parameter.replace(default=fastapi.Depends(cls))) + elif parameter_name == "organization_id": + new_parameters.append(parameter.replace(default=fastapi.Path(...))) + elif parameter_name == "limit": + new_parameters.append( + parameter.replace(default=fastapi.Query(default=None)) + ) + else: + new_parameters.append(parameter) + setattr( + cls.search_organizations, + "__signature__", + endpoint_function.replace(parameters=new_parameters), + ) + + @functools.wraps(cls.search_organizations) + def wrapper( + *args: typing.Any, **kwargs: typing.Any + ) -> typing.Sequence[Organization]: + try: + return cls.search_organizations(*args, **kwargs) + except FernHTTPException as e: + logging.getLogger(f"{cls.__module__}.{cls.__name__}").warn( + f"Endpoint 'search_organizations' unexpectedly threw {e.__class__.__name__}. " + + f"If this was intentional, please add {e.__class__.__name__} to " + + "the endpoint's errors list in your Fern Definition." + ) + raise e + + # this is necessary for FastAPI to find forward-ref'ed type hints. + # https://github.com/tiangolo/fastapi/pull/5077 + wrapper.__globals__.update(cls.search_organizations.__globals__) + + router.get( + path="/user/organizations/{organization_id}", + response_model=typing.Sequence[Organization], + description=AbstractUserService.search_organizations.__doc__, + **get_route_args(cls.search_organizations, default_tag="user"), + )(wrapper) diff --git a/seed/fastapi/path-parameters/resources/user/types/__init__.py b/seed/fastapi/path-parameters/resources/user/types/__init__.py index b22b663beed..ebaa90fcffe 100644 --- a/seed/fastapi/path-parameters/resources/user/types/__init__.py +++ b/seed/fastapi/path-parameters/resources/user/types/__init__.py @@ -1,5 +1,6 @@ # This file was auto-generated by Fern from our API Definition. +from .organization import Organization from .user import User -__all__ = ["User"] +__all__ = ["Organization", "User"] diff --git a/seed/fastapi/path-parameters/resources/user/types/organization.py b/seed/fastapi/path-parameters/resources/user/types/organization.py new file mode 100644 index 00000000000..2c3b51bc8d1 --- /dev/null +++ b/seed/fastapi/path-parameters/resources/user/types/organization.py @@ -0,0 +1,20 @@ +# This file was auto-generated by Fern from our API Definition. + +from ....core.pydantic_utilities import UniversalBaseModel +import typing +from ....core.pydantic_utilities import IS_PYDANTIC_V2 +import pydantic + + +class Organization(UniversalBaseModel): + name: str + tags: typing.List[str] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict( + extra="forbid" + ) # type: ignore # Pydantic v2 + else: + + class Config: + extra = pydantic.Extra.forbid diff --git a/seed/go-fiber/path-parameters/.mock/definition/user.yml b/seed/go-fiber/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/go-fiber/path-parameters/.mock/definition/user.yml +++ b/seed/go-fiber/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/go-fiber/path-parameters/user.go b/seed/go-fiber/path-parameters/user.go index c2f60b8f5d9..87db5e1e249 100644 --- a/seed/go-fiber/path-parameters/user.go +++ b/seed/go-fiber/path-parameters/user.go @@ -8,10 +8,59 @@ import ( internal "github.com/path-parameters/fern/internal" ) -type GetOrganizationUserRequest struct { +type SearchOrganizationsRequest struct { + Limit *int `query:"limit"` } -type GetUsersRequest struct { +type SearchUsersRequest struct { + Limit *int `query:"limit"` +} + +type Organization struct { + Name string `json:"name" url:"name"` + Tags []string `json:"tags,omitempty" url:"tags,omitempty"` + + extraProperties map[string]interface{} +} + +func (o *Organization) GetName() string { + if o == nil { + return "" + } + return o.Name +} + +func (o *Organization) GetTags() []string { + if o == nil { + return nil + } + return o.Tags +} + +func (o *Organization) GetExtraProperties() map[string]interface{} { + return o.extraProperties +} + +func (o *Organization) UnmarshalJSON(data []byte) error { + type unmarshaler Organization + var value unmarshaler + if err := json.Unmarshal(data, &value); err != nil { + return err + } + *o = Organization(value) + extraProperties, err := internal.ExtractExtraProperties(data, *o) + if err != nil { + return err + } + o.extraProperties = extraProperties + return nil +} + +func (o *Organization) String() string { + if value, err := internal.StringifyJSON(o); err == nil { + return value + } + return fmt.Sprintf("%#v", o) } type User struct { diff --git a/seed/go-model/path-parameters/.mock/definition/user.yml b/seed/go-model/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/go-model/path-parameters/.mock/definition/user.yml +++ b/seed/go-model/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/go-model/path-parameters/user.go b/seed/go-model/path-parameters/user.go index 4a486723ed7..bf569f2884d 100644 --- a/seed/go-model/path-parameters/user.go +++ b/seed/go-model/path-parameters/user.go @@ -8,6 +8,53 @@ import ( internal "github.com/path-parameters/fern/internal" ) +type Organization struct { + Name string `json:"name" url:"name"` + Tags []string `json:"tags,omitempty" url:"tags,omitempty"` + + extraProperties map[string]interface{} +} + +func (o *Organization) GetName() string { + if o == nil { + return "" + } + return o.Name +} + +func (o *Organization) GetTags() []string { + if o == nil { + return nil + } + return o.Tags +} + +func (o *Organization) GetExtraProperties() map[string]interface{} { + return o.extraProperties +} + +func (o *Organization) UnmarshalJSON(data []byte) error { + type unmarshaler Organization + var value unmarshaler + if err := json.Unmarshal(data, &value); err != nil { + return err + } + *o = Organization(value) + extraProperties, err := internal.ExtractExtraProperties(data, *o) + if err != nil { + return err + } + o.extraProperties = extraProperties + return nil +} + +func (o *Organization) String() string { + if value, err := internal.StringifyJSON(o); err == nil { + return value + } + return fmt.Sprintf("%#v", o) +} + type User struct { Name string `json:"name" url:"name"` Tags []string `json:"tags,omitempty" url:"tags,omitempty"` diff --git a/seed/go-sdk/pagination/.mock/definition/users.yml b/seed/go-sdk/pagination/.mock/definition/users.yml index ecde10ef707..ddc0bc1848b 100644 --- a/seed/go-sdk/pagination/.mock/definition/users.yml +++ b/seed/go-sdk/pagination/.mock/definition/users.yml @@ -1,9 +1,9 @@ imports: root: __package__.yml -types: - Order: - enum: +types: + Order: + enum: - asc - desc @@ -15,8 +15,8 @@ types: properties: cursor: optional - UserListContainer: - properties: + UserListContainer: + properties: users: list UserPage: @@ -24,60 +24,59 @@ types: data: UserListContainer next: optional - UserOptionalListContainer: - properties: + UserOptionalListContainer: + properties: users: optional> UserOptionalListPage: properties: data: UserOptionalListContainer next: optional - UsernameContainer: properties: results: list - ListUsersExtendedResponse: + ListUsersExtendedResponse: extends: - UserPage properties: - total_count: + total_count: type: integer docs: The totall number of /users - ListUsersExtendedOptionalListResponse: + ListUsersExtendedOptionalListResponse: extends: - UserOptionalListPage properties: - total_count: + total_count: type: integer docs: The totall number of /users - - ListUsersPaginationResponse: - properties: + + ListUsersPaginationResponse: + properties: hasNextPage: optional page: optional - total_count: + total_count: type: integer docs: The totall number of /users data: list - Page: - properties: - page: + Page: + properties: + page: type: integer docs: The current page next: optional per_page: integer total_page: integer - NextPage: - properties: + NextPage: + properties: page: integer starting_after: string - User: - properties: + User: + properties: name: string id: integer @@ -86,7 +85,7 @@ service: base-path: /users endpoints: listWithCursorPagination: - pagination: + pagination: cursor: $request.starting_after next_cursor: $response.page.next.starting_after results: $response.data @@ -95,41 +94,41 @@ service: request: name: ListUsersCursorPaginationRequest query-parameters: - page: + page: type: optional docs: Defaults to first page - per_page: + per_page: type: optional docs: Defaults to per page - order: - type: optional - starting_after: + order: + type: optional + starting_after: type: optional - docs: | - The cursor used for pagination in order to fetch + docs: | + The cursor used for pagination in order to fetch the next page of results. response: ListUsersPaginationResponse listWithBodyCursorPagination: - pagination: + pagination: cursor: $request.pagination.cursor next_cursor: $response.page.next.starting_after results: $response.data method: POST path: "" - request: + request: name: ListUsersBodyCursorPaginationRequest - body: + body: properties: - pagination: + pagination: type: optional - docs: | + docs: | The object that contains the cursor used for pagination in order to fetch the next page of results. response: ListUsersPaginationResponse listWithOffsetPagination: - pagination: + pagination: offset: $request.page results: $response.data method: GET @@ -137,38 +136,37 @@ service: request: name: ListUsersOffsetPaginationRequest query-parameters: - page: + page: type: optional docs: Defaults to first page - per_page: + per_page: type: optional docs: Defaults to per page - order: - type: optional - starting_after: + order: + type: optional + starting_after: type: optional - docs: | - The cursor used for pagination in order to fetch + docs: | + The cursor used for pagination in order to fetch the next page of results. response: ListUsersPaginationResponse listWithBodyOffsetPagination: - pagination: + pagination: offset: $request.pagination.page results: $response.data method: POST path: "" - request: + request: name: ListUsersBodyOffsetPaginationRequest - body: + body: properties: - pagination: + pagination: type: optional - docs: | + docs: | The object that contains the offset used for pagination in order to fetch the next page of results. response: ListUsersPaginationResponse - listWithOffsetStepPagination: pagination: offset: $request.page @@ -191,8 +189,8 @@ service: order: type: optional response: ListUsersPaginationResponse - - listWithOffsetPaginationHasNextPage: + + listWithOffsetPaginationHasNextPage: pagination: offset: $request.page results: $response.data @@ -217,7 +215,7 @@ service: response: ListUsersPaginationResponse listWithExtendedResults: - pagination: + pagination: cursor: $request.cursor next_cursor: $response.next results: $response.data.users @@ -230,7 +228,7 @@ service: response: ListUsersExtendedResponse listWithExtendedResultsAndOptionalData: - pagination: + pagination: cursor: $request.cursor next_cursor: $response.next results: $response.data.users @@ -243,7 +241,7 @@ service: response: ListUsersExtendedOptionalListResponse listUsernames: - pagination: + pagination: cursor: $request.starting_after next_cursor: $response.cursor.after results: $response.cursor.data @@ -252,10 +250,10 @@ service: request: name: ListUsernamesRequest query-parameters: - starting_after: + starting_after: type: optional - docs: | - The cursor used for pagination in order to fetch + docs: | + The cursor used for pagination in order to fetch the next page of results. response: root.UsernameCursor @@ -266,6 +264,6 @@ service: request: name: ListWithGlobalConfigRequest query-parameters: - offset: + offset: type: optional response: UsernameContainer \ No newline at end of file diff --git a/seed/go-sdk/path-parameters/.github/workflows/ci.yml b/seed/go-sdk/path-parameters/inline-path-parameters/.github/workflows/ci.yml similarity index 100% rename from seed/go-sdk/path-parameters/.github/workflows/ci.yml rename to seed/go-sdk/path-parameters/inline-path-parameters/.github/workflows/ci.yml diff --git a/seed/go-sdk/path-parameters/.mock/definition/api.yml b/seed/go-sdk/path-parameters/inline-path-parameters/.mock/definition/api.yml similarity index 100% rename from seed/go-sdk/path-parameters/.mock/definition/api.yml rename to seed/go-sdk/path-parameters/inline-path-parameters/.mock/definition/api.yml diff --git a/seed/go-sdk/path-parameters/.mock/definition/user.yml b/seed/go-sdk/path-parameters/inline-path-parameters/.mock/definition/user.yml similarity index 52% rename from seed/go-sdk/path-parameters/.mock/definition/user.yml rename to seed/go-sdk/path-parameters/inline-path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/go-sdk/path-parameters/.mock/definition/user.yml +++ b/seed/go-sdk/path-parameters/inline-path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/go-sdk/path-parameters/.mock/fern.config.json b/seed/go-sdk/path-parameters/inline-path-parameters/.mock/fern.config.json similarity index 100% rename from seed/go-sdk/path-parameters/.mock/fern.config.json rename to seed/go-sdk/path-parameters/inline-path-parameters/.mock/fern.config.json diff --git a/seed/go-sdk/path-parameters/.mock/generators.yml b/seed/go-sdk/path-parameters/inline-path-parameters/.mock/generators.yml similarity index 100% rename from seed/go-sdk/path-parameters/.mock/generators.yml rename to seed/go-sdk/path-parameters/inline-path-parameters/.mock/generators.yml diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/client/client.go b/seed/go-sdk/path-parameters/inline-path-parameters/client/client.go new file mode 100644 index 00000000000..798d9cf0b06 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/client/client.go @@ -0,0 +1,34 @@ +// This file was auto-generated by Fern from our API Definition. + +package client + +import ( + core "github.com/fern-api/path-parameters-go/core" + internal "github.com/fern-api/path-parameters-go/internal" + option "github.com/fern-api/path-parameters-go/option" + user "github.com/fern-api/path-parameters-go/user" + http "net/http" +) + +type Client struct { + baseURL string + caller *internal.Caller + header http.Header + + User *user.Client +} + +func NewClient(opts ...option.RequestOption) *Client { + options := core.NewRequestOptions(opts...) + return &Client{ + baseURL: options.BaseURL, + caller: internal.NewCaller( + &internal.CallerParams{ + Client: options.HTTPClient, + MaxAttempts: options.MaxAttempts, + }, + ), + header: options.ToHeader(), + User: user.NewClient(opts...), + } +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/client/client_test.go b/seed/go-sdk/path-parameters/inline-path-parameters/client/client_test.go new file mode 100644 index 00000000000..70ac36323ba --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/client/client_test.go @@ -0,0 +1,45 @@ +// This file was auto-generated by Fern from our API Definition. + +package client + +import ( + option "github.com/fern-api/path-parameters-go/option" + assert "github.com/stretchr/testify/assert" + http "net/http" + testing "testing" + time "time" +) + +func TestNewClient(t *testing.T) { + t.Run("default", func(t *testing.T) { + c := NewClient() + assert.Empty(t, c.baseURL) + }) + + t.Run("base url", func(t *testing.T) { + c := NewClient( + option.WithBaseURL("test.co"), + ) + assert.Equal(t, "test.co", c.baseURL) + }) + + t.Run("http client", func(t *testing.T) { + httpClient := &http.Client{ + Timeout: 5 * time.Second, + } + c := NewClient( + option.WithHTTPClient(httpClient), + ) + assert.Empty(t, c.baseURL) + }) + + t.Run("http header", func(t *testing.T) { + header := make(http.Header) + header.Set("X-API-Tenancy", "test") + c := NewClient( + option.WithHTTPHeader(header), + ) + assert.Empty(t, c.baseURL) + assert.Equal(t, "test", c.header.Get("X-API-Tenancy")) + }) +} diff --git a/seed/go-sdk/path-parameters/core/api_error.go b/seed/go-sdk/path-parameters/inline-path-parameters/core/api_error.go similarity index 100% rename from seed/go-sdk/path-parameters/core/api_error.go rename to seed/go-sdk/path-parameters/inline-path-parameters/core/api_error.go diff --git a/seed/go-sdk/path-parameters/core/http.go b/seed/go-sdk/path-parameters/inline-path-parameters/core/http.go similarity index 100% rename from seed/go-sdk/path-parameters/core/http.go rename to seed/go-sdk/path-parameters/inline-path-parameters/core/http.go diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/core/request_option.go b/seed/go-sdk/path-parameters/inline-path-parameters/core/request_option.go new file mode 100644 index 00000000000..5fc38db10e3 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/core/request_option.go @@ -0,0 +1,108 @@ +// This file was auto-generated by Fern from our API Definition. + +package core + +import ( + http "net/http" + url "net/url" +) + +// RequestOption adapts the behavior of the client or an individual request. +type RequestOption interface { + applyRequestOptions(*RequestOptions) +} + +// RequestOptions defines all of the possible request options. +// +// This type is primarily used by the generated code and is not meant +// to be used directly; use the option package instead. +type RequestOptions struct { + BaseURL string + HTTPClient HTTPClient + HTTPHeader http.Header + BodyProperties map[string]interface{} + QueryParameters url.Values + MaxAttempts uint +} + +// NewRequestOptions returns a new *RequestOptions value. +// +// This function is primarily used by the generated code and is not meant +// to be used directly; use RequestOption instead. +func NewRequestOptions(opts ...RequestOption) *RequestOptions { + options := &RequestOptions{ + HTTPHeader: make(http.Header), + BodyProperties: make(map[string]interface{}), + QueryParameters: make(url.Values), + } + for _, opt := range opts { + opt.applyRequestOptions(options) + } + return options +} + +// ToHeader maps the configured request options into a http.Header used +// for the request(s). +func (r *RequestOptions) ToHeader() http.Header { return r.cloneHeader() } + +func (r *RequestOptions) cloneHeader() http.Header { + headers := r.HTTPHeader.Clone() + headers.Set("X-Fern-Language", "Go") + headers.Set("X-Fern-SDK-Name", "github.com/fern-api/path-parameters-go") + headers.Set("X-Fern-SDK-Version", "0.0.1") + return headers +} + +// BaseURLOption implements the RequestOption interface. +type BaseURLOption struct { + BaseURL string +} + +func (b *BaseURLOption) applyRequestOptions(opts *RequestOptions) { + opts.BaseURL = b.BaseURL +} + +// HTTPClientOption implements the RequestOption interface. +type HTTPClientOption struct { + HTTPClient HTTPClient +} + +func (h *HTTPClientOption) applyRequestOptions(opts *RequestOptions) { + opts.HTTPClient = h.HTTPClient +} + +// HTTPHeaderOption implements the RequestOption interface. +type HTTPHeaderOption struct { + HTTPHeader http.Header +} + +func (h *HTTPHeaderOption) applyRequestOptions(opts *RequestOptions) { + opts.HTTPHeader = h.HTTPHeader +} + +// BodyPropertiesOption implements the RequestOption interface. +type BodyPropertiesOption struct { + BodyProperties map[string]interface{} +} + +func (b *BodyPropertiesOption) applyRequestOptions(opts *RequestOptions) { + opts.BodyProperties = b.BodyProperties +} + +// QueryParametersOption implements the RequestOption interface. +type QueryParametersOption struct { + QueryParameters url.Values +} + +func (q *QueryParametersOption) applyRequestOptions(opts *RequestOptions) { + opts.QueryParameters = q.QueryParameters +} + +// MaxAttemptsOption implements the RequestOption interface. +type MaxAttemptsOption struct { + MaxAttempts uint +} + +func (m *MaxAttemptsOption) applyRequestOptions(opts *RequestOptions) { + opts.MaxAttempts = m.MaxAttempts +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example0/snippet.go b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example0/snippet.go new file mode 100644 index 00000000000..bf408811166 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example0/snippet.go @@ -0,0 +1,14 @@ +package example + +import ( + client "github.com/fern-api/path-parameters-go/client" + context "context" +) + +func do() () { + client := client.NewClient() + client.User.GetOrganization( + context.TODO(), + "organizationId", + ) +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example1/snippet.go b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example1/snippet.go new file mode 100644 index 00000000000..3ecc33d4512 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example1/snippet.go @@ -0,0 +1,17 @@ +package example + +import ( + client "github.com/fern-api/path-parameters-go/client" + context "context" + path "github.com/fern-api/path-parameters-go" +) + +func do() () { + client := client.NewClient() + client.User.GetUser( + context.TODO(), + &path.GetUsersRequest{ + UserId: "userId", + }, + ) +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example2/snippet.go b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example2/snippet.go new file mode 100644 index 00000000000..ba29431cf06 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example2/snippet.go @@ -0,0 +1,18 @@ +package example + +import ( + client "github.com/fern-api/path-parameters-go/client" + context "context" + path "github.com/fern-api/path-parameters-go" +) + +func do() () { + client := client.NewClient() + client.User.GetOrganizationUser( + context.TODO(), + &path.GetOrganizationUserRequest{ + OrganizationId: "organizationId", + UserId: "userId", + }, + ) +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example3/snippet.go b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example3/snippet.go new file mode 100644 index 00000000000..ae3c88126ee --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example3/snippet.go @@ -0,0 +1,20 @@ +package example + +import ( + client "github.com/fern-api/path-parameters-go/client" + context "context" + path "github.com/fern-api/path-parameters-go" +) + +func do() () { + client := client.NewClient() + client.User.SearchUsers( + context.TODO(), + &path.SearchUsersRequest{ + UserId: "userId", + Limit: path.Int( + 1, + ), + }, + ) +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example4/snippet.go b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example4/snippet.go new file mode 100644 index 00000000000..bf408811166 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/dynamic-snippets/example4/snippet.go @@ -0,0 +1,14 @@ +package example + +import ( + client "github.com/fern-api/path-parameters-go/client" + context "context" +) + +func do() () { + client := client.NewClient() + client.User.GetOrganization( + context.TODO(), + "organizationId", + ) +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/file_param.go b/seed/go-sdk/path-parameters/inline-path-parameters/file_param.go new file mode 100644 index 00000000000..bab5fdce518 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/file_param.go @@ -0,0 +1,41 @@ +package path + +import ( + "io" +) + +// FileParam is a file type suitable for multipart/form-data uploads. +type FileParam struct { + io.Reader + filename string + contentType string +} + +// FileParamOption adapts the behavior of the FileParam. No options are +// implemented yet, but this interface allows for future extensibility. +type FileParamOption interface { + apply() +} + +// NewFileParam returns a *FileParam type suitable for multipart/form-data uploads. All file +// upload endpoints accept a simple io.Reader, which is usually created by opening a file +// via os.Open. +// +// However, some endpoints require additional metadata about the file such as a specific +// Content-Type or custom filename. FileParam makes it easier to create the correct type +// signature for these endpoints. +func NewFileParam( + reader io.Reader, + filename string, + contentType string, + opts ...FileParamOption, +) *FileParam { + return &FileParam{ + Reader: reader, + filename: filename, + contentType: contentType, + } +} + +func (f *FileParam) Name() string { return f.filename } +func (f *FileParam) ContentType() string { return f.contentType } diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/go.mod b/seed/go-sdk/path-parameters/inline-path-parameters/go.mod new file mode 100644 index 00000000000..9fe5cc01bad --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/go.mod @@ -0,0 +1,9 @@ +module github.com/fern-api/path-parameters-go + +go 1.13 + +require ( + github.com/google/uuid v1.4.0 + github.com/stretchr/testify v1.7.0 + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/seed/go-sdk/path-parameters/go.sum b/seed/go-sdk/path-parameters/inline-path-parameters/go.sum similarity index 100% rename from seed/go-sdk/path-parameters/go.sum rename to seed/go-sdk/path-parameters/inline-path-parameters/go.sum diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/internal/caller.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/caller.go new file mode 100644 index 00000000000..d715012e619 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/internal/caller.go @@ -0,0 +1,238 @@ +package internal + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "net/url" + "reflect" + "strings" + + "github.com/fern-api/path-parameters-go/core" +) + +const ( + // contentType specifies the JSON Content-Type header value. + contentType = "application/json" + contentTypeHeader = "Content-Type" +) + +// Caller calls APIs and deserializes their response, if any. +type Caller struct { + client core.HTTPClient + retrier *Retrier +} + +// CallerParams represents the parameters used to constrcut a new *Caller. +type CallerParams struct { + Client core.HTTPClient + MaxAttempts uint +} + +// NewCaller returns a new *Caller backed by the given parameters. +func NewCaller(params *CallerParams) *Caller { + var httpClient core.HTTPClient = http.DefaultClient + if params.Client != nil { + httpClient = params.Client + } + var retryOptions []RetryOption + if params.MaxAttempts > 0 { + retryOptions = append(retryOptions, WithMaxAttempts(params.MaxAttempts)) + } + return &Caller{ + client: httpClient, + retrier: NewRetrier(retryOptions...), + } +} + +// CallParams represents the parameters used to issue an API call. +type CallParams struct { + URL string + Method string + MaxAttempts uint + Headers http.Header + BodyProperties map[string]interface{} + QueryParameters url.Values + Client core.HTTPClient + Request interface{} + Response interface{} + ResponseIsOptional bool + ErrorDecoder ErrorDecoder +} + +// Call issues an API call according to the given call parameters. +func (c *Caller) Call(ctx context.Context, params *CallParams) error { + url := buildURL(params.URL, params.QueryParameters) + req, err := newRequest( + ctx, + url, + params.Method, + params.Headers, + params.Request, + params.BodyProperties, + ) + if err != nil { + return err + } + + // If the call has been cancelled, don't issue the request. + if err := ctx.Err(); err != nil { + return err + } + + client := c.client + if params.Client != nil { + // Use the HTTP client scoped to the request. + client = params.Client + } + + var retryOptions []RetryOption + if params.MaxAttempts > 0 { + retryOptions = append(retryOptions, WithMaxAttempts(params.MaxAttempts)) + } + + resp, err := c.retrier.Run( + client.Do, + req, + params.ErrorDecoder, + retryOptions..., + ) + if err != nil { + return err + } + + // Close the response body after we're done. + defer resp.Body.Close() + + // Check if the call was cancelled before we return the error + // associated with the call and/or unmarshal the response data. + if err := ctx.Err(); err != nil { + return err + } + + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + return decodeError(resp, params.ErrorDecoder) + } + + // Mutate the response parameter in-place. + if params.Response != nil { + if writer, ok := params.Response.(io.Writer); ok { + _, err = io.Copy(writer, resp.Body) + } else { + err = json.NewDecoder(resp.Body).Decode(params.Response) + } + if err != nil { + if err == io.EOF { + if params.ResponseIsOptional { + // The response is optional, so we should ignore the + // io.EOF error + return nil + } + return fmt.Errorf("expected a %T response, but the server responded with nothing", params.Response) + } + return err + } + } + + return nil +} + +// buildURL constructs the final URL by appending the given query parameters (if any). +func buildURL( + url string, + queryParameters url.Values, +) string { + if len(queryParameters) == 0 { + return url + } + if strings.ContainsRune(url, '?') { + url += "&" + } else { + url += "?" + } + url += queryParameters.Encode() + return url +} + +// newRequest returns a new *http.Request with all of the fields +// required to issue the call. +func newRequest( + ctx context.Context, + url string, + method string, + endpointHeaders http.Header, + request interface{}, + bodyProperties map[string]interface{}, +) (*http.Request, error) { + requestBody, err := newRequestBody(request, bodyProperties) + if err != nil { + return nil, err + } + req, err := http.NewRequestWithContext(ctx, method, url, requestBody) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + req.Header.Set(contentTypeHeader, contentType) + for name, values := range endpointHeaders { + req.Header[name] = values + } + return req, nil +} + +// newRequestBody returns a new io.Reader that represents the HTTP request body. +func newRequestBody(request interface{}, bodyProperties map[string]interface{}) (io.Reader, error) { + if isNil(request) { + if len(bodyProperties) == 0 { + return nil, nil + } + requestBytes, err := json.Marshal(bodyProperties) + if err != nil { + return nil, err + } + return bytes.NewReader(requestBytes), nil + } + if body, ok := request.(io.Reader); ok { + return body, nil + } + requestBytes, err := MarshalJSONWithExtraProperties(request, bodyProperties) + if err != nil { + return nil, err + } + return bytes.NewReader(requestBytes), nil +} + +// decodeError decodes the error from the given HTTP response. Note that +// it's the caller's responsibility to close the response body. +func decodeError(response *http.Response, errorDecoder ErrorDecoder) error { + if errorDecoder != nil { + // This endpoint has custom errors, so we'll + // attempt to unmarshal the error into a structured + // type based on the status code. + return errorDecoder(response.StatusCode, response.Body) + } + // This endpoint doesn't have any custom error + // types, so we just read the body as-is, and + // put it into a normal error. + bytes, err := io.ReadAll(response.Body) + if err != nil && err != io.EOF { + return err + } + if err == io.EOF { + // The error didn't have a response body, + // so all we can do is return an error + // with the status code. + return core.NewAPIError(response.StatusCode, nil) + } + return core.NewAPIError(response.StatusCode, errors.New(string(bytes))) +} + +// isNil is used to determine if the request value is equal to nil (i.e. an interface +// value that holds a nil concrete value is itself non-nil). +func isNil(value interface{}) bool { + return value == nil || reflect.ValueOf(value).IsNil() +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/internal/caller_test.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/caller_test.go new file mode 100644 index 00000000000..253d29f0242 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/internal/caller_test.go @@ -0,0 +1,391 @@ +package internal + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "net/http/httptest" + "net/url" + "strconv" + "testing" + + "github.com/fern-api/path-parameters-go/core" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// TestCase represents a single test case. +type TestCase struct { + description string + + // Server-side assertions. + givePathSuffix string + giveMethod string + giveResponseIsOptional bool + giveHeader http.Header + giveErrorDecoder ErrorDecoder + giveRequest *Request + giveQueryParams url.Values + giveBodyProperties map[string]interface{} + + // Client-side assertions. + wantResponse *Response + wantError error +} + +// Request a simple request body. +type Request struct { + Id string `json:"id"` +} + +// Response a simple response body. +type Response struct { + Id string `json:"id"` + ExtraBodyProperties map[string]interface{} `json:"extraBodyProperties,omitempty"` + QueryParameters url.Values `json:"queryParameters,omitempty"` +} + +// NotFoundError represents a 404. +type NotFoundError struct { + *core.APIError + + Message string `json:"message"` +} + +func TestCall(t *testing.T) { + tests := []*TestCase{ + { + description: "GET success", + giveMethod: http.MethodGet, + giveHeader: http.Header{ + "X-API-Status": []string{"success"}, + }, + giveRequest: &Request{ + Id: "123", + }, + wantResponse: &Response{ + Id: "123", + }, + }, + { + description: "GET success with query", + givePathSuffix: "?limit=1", + giveMethod: http.MethodGet, + giveHeader: http.Header{ + "X-API-Status": []string{"success"}, + }, + giveRequest: &Request{ + Id: "123", + }, + wantResponse: &Response{ + Id: "123", + QueryParameters: url.Values{ + "limit": []string{"1"}, + }, + }, + }, + { + description: "GET not found", + giveMethod: http.MethodGet, + giveHeader: http.Header{ + "X-API-Status": []string{"fail"}, + }, + giveRequest: &Request{ + Id: strconv.Itoa(http.StatusNotFound), + }, + giveErrorDecoder: newTestErrorDecoder(t), + wantError: &NotFoundError{ + APIError: core.NewAPIError( + http.StatusNotFound, + errors.New(`{"message":"ID \"404\" not found"}`), + ), + }, + }, + { + description: "POST empty body", + giveMethod: http.MethodPost, + giveHeader: http.Header{ + "X-API-Status": []string{"fail"}, + }, + giveRequest: nil, + wantError: core.NewAPIError( + http.StatusBadRequest, + errors.New("invalid request"), + ), + }, + { + description: "POST optional response", + giveMethod: http.MethodPost, + giveHeader: http.Header{ + "X-API-Status": []string{"success"}, + }, + giveRequest: &Request{ + Id: "123", + }, + giveResponseIsOptional: true, + }, + { + description: "POST API error", + giveMethod: http.MethodPost, + giveHeader: http.Header{ + "X-API-Status": []string{"fail"}, + }, + giveRequest: &Request{ + Id: strconv.Itoa(http.StatusInternalServerError), + }, + wantError: core.NewAPIError( + http.StatusInternalServerError, + errors.New("failed to process request"), + ), + }, + { + description: "POST extra properties", + giveMethod: http.MethodPost, + giveHeader: http.Header{ + "X-API-Status": []string{"success"}, + }, + giveRequest: new(Request), + giveBodyProperties: map[string]interface{}{ + "key": "value", + }, + wantResponse: &Response{ + ExtraBodyProperties: map[string]interface{}{ + "key": "value", + }, + }, + }, + { + description: "GET extra query parameters", + giveMethod: http.MethodGet, + giveHeader: http.Header{ + "X-API-Status": []string{"success"}, + }, + giveQueryParams: url.Values{ + "extra": []string{"true"}, + }, + giveRequest: &Request{ + Id: "123", + }, + wantResponse: &Response{ + Id: "123", + QueryParameters: url.Values{ + "extra": []string{"true"}, + }, + }, + }, + { + description: "GET merge extra query parameters", + givePathSuffix: "?limit=1", + giveMethod: http.MethodGet, + giveHeader: http.Header{ + "X-API-Status": []string{"success"}, + }, + giveRequest: &Request{ + Id: "123", + }, + giveQueryParams: url.Values{ + "extra": []string{"true"}, + }, + wantResponse: &Response{ + Id: "123", + QueryParameters: url.Values{ + "limit": []string{"1"}, + "extra": []string{"true"}, + }, + }, + }, + } + for _, test := range tests { + t.Run(test.description, func(t *testing.T) { + var ( + server = newTestServer(t, test) + client = server.Client() + ) + caller := NewCaller( + &CallerParams{ + Client: client, + }, + ) + var response *Response + err := caller.Call( + context.Background(), + &CallParams{ + URL: server.URL + test.givePathSuffix, + Method: test.giveMethod, + Headers: test.giveHeader, + BodyProperties: test.giveBodyProperties, + QueryParameters: test.giveQueryParams, + Request: test.giveRequest, + Response: &response, + ResponseIsOptional: test.giveResponseIsOptional, + ErrorDecoder: test.giveErrorDecoder, + }, + ) + if test.wantError != nil { + assert.EqualError(t, err, test.wantError.Error()) + return + } + require.NoError(t, err) + assert.Equal(t, test.wantResponse, response) + }) + } +} + +func TestMergeHeaders(t *testing.T) { + t.Run("both empty", func(t *testing.T) { + merged := MergeHeaders(make(http.Header), make(http.Header)) + assert.Empty(t, merged) + }) + + t.Run("empty left", func(t *testing.T) { + left := make(http.Header) + + right := make(http.Header) + right.Set("X-API-Version", "0.0.1") + + merged := MergeHeaders(left, right) + assert.Equal(t, "0.0.1", merged.Get("X-API-Version")) + }) + + t.Run("empty right", func(t *testing.T) { + left := make(http.Header) + left.Set("X-API-Version", "0.0.1") + + right := make(http.Header) + + merged := MergeHeaders(left, right) + assert.Equal(t, "0.0.1", merged.Get("X-API-Version")) + }) + + t.Run("single value override", func(t *testing.T) { + left := make(http.Header) + left.Set("X-API-Version", "0.0.0") + + right := make(http.Header) + right.Set("X-API-Version", "0.0.1") + + merged := MergeHeaders(left, right) + assert.Equal(t, []string{"0.0.1"}, merged.Values("X-API-Version")) + }) + + t.Run("multiple value override", func(t *testing.T) { + left := make(http.Header) + left.Set("X-API-Versions", "0.0.0") + + right := make(http.Header) + right.Add("X-API-Versions", "0.0.1") + right.Add("X-API-Versions", "0.0.2") + + merged := MergeHeaders(left, right) + assert.Equal(t, []string{"0.0.1", "0.0.2"}, merged.Values("X-API-Versions")) + }) + + t.Run("disjoint merge", func(t *testing.T) { + left := make(http.Header) + left.Set("X-API-Tenancy", "test") + + right := make(http.Header) + right.Set("X-API-Version", "0.0.1") + + merged := MergeHeaders(left, right) + assert.Equal(t, []string{"test"}, merged.Values("X-API-Tenancy")) + assert.Equal(t, []string{"0.0.1"}, merged.Values("X-API-Version")) + }) +} + +// newTestServer returns a new *httptest.Server configured with the +// given test parameters. +func newTestServer(t *testing.T, tc *TestCase) *httptest.Server { + return httptest.NewServer( + http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + assert.Equal(t, tc.giveMethod, r.Method) + assert.Equal(t, contentType, r.Header.Get(contentTypeHeader)) + for header, value := range tc.giveHeader { + assert.Equal(t, value, r.Header.Values(header)) + } + + request := new(Request) + + bytes, err := io.ReadAll(r.Body) + if tc.giveRequest == nil { + require.Empty(t, bytes) + w.WriteHeader(http.StatusBadRequest) + _, err = w.Write([]byte("invalid request")) + require.NoError(t, err) + return + } + require.NoError(t, err) + require.NoError(t, json.Unmarshal(bytes, request)) + + switch request.Id { + case strconv.Itoa(http.StatusNotFound): + notFoundError := &NotFoundError{ + APIError: &core.APIError{ + StatusCode: http.StatusNotFound, + }, + Message: fmt.Sprintf("ID %q not found", request.Id), + } + bytes, err = json.Marshal(notFoundError) + require.NoError(t, err) + + w.WriteHeader(http.StatusNotFound) + _, err = w.Write(bytes) + require.NoError(t, err) + return + + case strconv.Itoa(http.StatusInternalServerError): + w.WriteHeader(http.StatusInternalServerError) + _, err = w.Write([]byte("failed to process request")) + require.NoError(t, err) + return + } + + if tc.giveResponseIsOptional { + w.WriteHeader(http.StatusOK) + return + } + + extraBodyProperties := make(map[string]interface{}) + require.NoError(t, json.Unmarshal(bytes, &extraBodyProperties)) + delete(extraBodyProperties, "id") + + response := &Response{ + Id: request.Id, + ExtraBodyProperties: extraBodyProperties, + QueryParameters: r.URL.Query(), + } + bytes, err = json.Marshal(response) + require.NoError(t, err) + + _, err = w.Write(bytes) + require.NoError(t, err) + }, + ), + ) +} + +// newTestErrorDecoder returns an error decoder suitable for tests. +func newTestErrorDecoder(t *testing.T) func(int, io.Reader) error { + return func(statusCode int, body io.Reader) error { + raw, err := io.ReadAll(body) + require.NoError(t, err) + + var ( + apiError = core.NewAPIError(statusCode, errors.New(string(raw))) + decoder = json.NewDecoder(bytes.NewReader(raw)) + ) + if statusCode == http.StatusNotFound { + value := new(NotFoundError) + value.APIError = apiError + require.NoError(t, decoder.Decode(value)) + + return value + } + return apiError + } +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/internal/error_decoder.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/error_decoder.go new file mode 100644 index 00000000000..8cf50040d3a --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/internal/error_decoder.go @@ -0,0 +1,45 @@ +package internal + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + "io" + + "github.com/fern-api/path-parameters-go/core" +) + +// ErrorDecoder decodes *http.Response errors and returns a +// typed API error (e.g. *core.APIError). +type ErrorDecoder func(statusCode int, body io.Reader) error + +// ErrorCodes maps HTTP status codes to error constructors. +type ErrorCodes map[int]func(*core.APIError) error + +// NewErrorDecoder returns a new ErrorDecoder backed by the given error codes. +func NewErrorDecoder(errorCodes ErrorCodes) ErrorDecoder { + return func(statusCode int, body io.Reader) error { + raw, err := io.ReadAll(body) + if err != nil { + return fmt.Errorf("failed to read error from response body: %w", err) + } + apiError := core.NewAPIError( + statusCode, + errors.New(string(raw)), + ) + newErrorFunc, ok := errorCodes[statusCode] + if !ok { + // This status code isn't recognized, so we return + // the API error as-is. + return apiError + } + customError := newErrorFunc(apiError) + if err := json.NewDecoder(bytes.NewReader(raw)).Decode(customError); err != nil { + // If we fail to decode the error, we return the + // API error as-is. + return apiError + } + return customError + } +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/internal/error_decoder_test.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/error_decoder_test.go new file mode 100644 index 00000000000..58ab1ac2e9f --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/internal/error_decoder_test.go @@ -0,0 +1,55 @@ +package internal + +import ( + "bytes" + "errors" + "net/http" + "testing" + + "github.com/fern-api/path-parameters-go/core" + "github.com/stretchr/testify/assert" +) + +func TestErrorDecoder(t *testing.T) { + decoder := NewErrorDecoder( + ErrorCodes{ + http.StatusNotFound: func(apiError *core.APIError) error { + return &NotFoundError{APIError: apiError} + }, + }) + + tests := []struct { + description string + giveStatusCode int + giveBody string + wantError error + }{ + { + description: "unrecognized status code", + giveStatusCode: http.StatusInternalServerError, + giveBody: "Internal Server Error", + wantError: core.NewAPIError(http.StatusInternalServerError, errors.New("Internal Server Error")), + }, + { + description: "not found with valid JSON", + giveStatusCode: http.StatusNotFound, + giveBody: `{"message": "Resource not found"}`, + wantError: &NotFoundError{ + APIError: core.NewAPIError(http.StatusNotFound, errors.New(`{"message": "Resource not found"}`)), + Message: "Resource not found", + }, + }, + { + description: "not found with invalid JSON", + giveStatusCode: http.StatusNotFound, + giveBody: `Resource not found`, + wantError: core.NewAPIError(http.StatusNotFound, errors.New("Resource not found")), + }, + } + + for _, tt := range tests { + t.Run(tt.description, func(t *testing.T) { + assert.Equal(t, tt.wantError, decoder(tt.giveStatusCode, bytes.NewReader([]byte(tt.giveBody)))) + }) + } +} diff --git a/seed/go-sdk/path-parameters/internal/extra_properties.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/extra_properties.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/extra_properties.go rename to seed/go-sdk/path-parameters/inline-path-parameters/internal/extra_properties.go diff --git a/seed/go-sdk/path-parameters/internal/extra_properties_test.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/extra_properties_test.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/extra_properties_test.go rename to seed/go-sdk/path-parameters/inline-path-parameters/internal/extra_properties_test.go diff --git a/seed/go-sdk/path-parameters/internal/http.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/http.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/http.go rename to seed/go-sdk/path-parameters/inline-path-parameters/internal/http.go diff --git a/seed/go-sdk/path-parameters/internal/query.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/query.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/query.go rename to seed/go-sdk/path-parameters/inline-path-parameters/internal/query.go diff --git a/seed/go-sdk/path-parameters/internal/query_test.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/query_test.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/query_test.go rename to seed/go-sdk/path-parameters/inline-path-parameters/internal/query_test.go diff --git a/seed/go-sdk/path-parameters/internal/retrier.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/retrier.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/retrier.go rename to seed/go-sdk/path-parameters/inline-path-parameters/internal/retrier.go diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/internal/retrier_test.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/retrier_test.go new file mode 100644 index 00000000000..9c1267d9587 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/internal/retrier_test.go @@ -0,0 +1,211 @@ +package internal + +import ( + "context" + "encoding/json" + "io" + "net/http" + "net/http/httptest" + "testing" + "time" + + "github.com/fern-api/path-parameters-go/core" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +type RetryTestCase struct { + description string + + giveAttempts uint + giveStatusCodes []int + giveResponse *Response + + wantResponse *Response + wantError *core.APIError +} + +func TestRetrier(t *testing.T) { + tests := []*RetryTestCase{ + { + description: "retry request succeeds after multiple failures", + giveAttempts: 3, + giveStatusCodes: []int{ + http.StatusServiceUnavailable, + http.StatusServiceUnavailable, + http.StatusOK, + }, + giveResponse: &Response{ + Id: "1", + }, + wantResponse: &Response{ + Id: "1", + }, + }, + { + description: "retry request fails if MaxAttempts is exceeded", + giveAttempts: 3, + giveStatusCodes: []int{ + http.StatusRequestTimeout, + http.StatusRequestTimeout, + http.StatusRequestTimeout, + http.StatusOK, + }, + wantError: &core.APIError{ + StatusCode: http.StatusRequestTimeout, + }, + }, + { + description: "retry durations increase exponentially and stay within the min and max delay values", + giveAttempts: 4, + giveStatusCodes: []int{ + http.StatusServiceUnavailable, + http.StatusServiceUnavailable, + http.StatusServiceUnavailable, + http.StatusOK, + }, + }, + { + description: "retry does not occur on status code 404", + giveAttempts: 2, + giveStatusCodes: []int{http.StatusNotFound, http.StatusOK}, + wantError: &core.APIError{ + StatusCode: http.StatusNotFound, + }, + }, + { + description: "retries occur on status code 429", + giveAttempts: 2, + giveStatusCodes: []int{http.StatusTooManyRequests, http.StatusOK}, + }, + { + description: "retries occur on status code 408", + giveAttempts: 2, + giveStatusCodes: []int{http.StatusRequestTimeout, http.StatusOK}, + }, + { + description: "retries occur on status code 500", + giveAttempts: 2, + giveStatusCodes: []int{http.StatusInternalServerError, http.StatusOK}, + }, + } + + for _, tc := range tests { + t.Run(tc.description, func(t *testing.T) { + var ( + test = tc + server = newTestRetryServer(t, test) + client = server.Client() + ) + + t.Parallel() + + caller := NewCaller( + &CallerParams{ + Client: client, + }, + ) + + var response *Response + err := caller.Call( + context.Background(), + &CallParams{ + URL: server.URL, + Method: http.MethodGet, + Request: &Request{}, + Response: &response, + MaxAttempts: test.giveAttempts, + ResponseIsOptional: true, + }, + ) + + if test.wantError != nil { + require.IsType(t, err, &core.APIError{}) + expectedErrorCode := test.wantError.StatusCode + actualErrorCode := err.(*core.APIError).StatusCode + assert.Equal(t, expectedErrorCode, actualErrorCode) + return + } + + require.NoError(t, err) + assert.Equal(t, test.wantResponse, response) + }) + } +} + +// newTestRetryServer returns a new *httptest.Server configured with the +// given test parameters, suitable for testing retries. +func newTestRetryServer(t *testing.T, tc *RetryTestCase) *httptest.Server { + var index int + timestamps := make([]time.Time, 0, len(tc.giveStatusCodes)) + + return httptest.NewServer( + http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + timestamps = append(timestamps, time.Now()) + if index > 0 && index < len(expectedRetryDurations) { + // Ensure that the duration between retries increases exponentially, + // and that it is within the minimum and maximum retry delay values. + actualDuration := timestamps[index].Sub(timestamps[index-1]) + expectedDurationMin := expectedRetryDurations[index-1] * 75 / 100 + expectedDurationMax := expectedRetryDurations[index-1] * 125 / 100 + assert.True( + t, + actualDuration >= expectedDurationMin && actualDuration <= expectedDurationMax, + "expected duration to be in range [%v, %v], got %v", + expectedDurationMin, + expectedDurationMax, + actualDuration, + ) + assert.LessOrEqual( + t, + actualDuration, + maxRetryDelay, + "expected duration to be less than the maxRetryDelay (%v), got %v", + maxRetryDelay, + actualDuration, + ) + assert.GreaterOrEqual( + t, + actualDuration, + minRetryDelay, + "expected duration to be greater than the minRetryDelay (%v), got %v", + minRetryDelay, + actualDuration, + ) + } + + request := new(Request) + bytes, err := io.ReadAll(r.Body) + require.NoError(t, err) + require.NoError(t, json.Unmarshal(bytes, request)) + require.LessOrEqual(t, index, len(tc.giveStatusCodes)) + + statusCode := tc.giveStatusCodes[index] + w.WriteHeader(statusCode) + + if tc.giveResponse != nil && statusCode == http.StatusOK { + bytes, err = json.Marshal(tc.giveResponse) + require.NoError(t, err) + _, err = w.Write(bytes) + require.NoError(t, err) + } + + index++ + }, + ), + ) +} + +// expectedRetryDurations holds an array of calculated retry durations, +// where the index of the array should correspond to the retry attempt. +// +// Values are calculated based off of `minRetryDelay + minRetryDelay*i*i`, with +// a max and min value of 5000ms and 500ms respectively. +var expectedRetryDurations = []time.Duration{ + 500 * time.Millisecond, + 1000 * time.Millisecond, + 2500 * time.Millisecond, + 5000 * time.Millisecond, + 5000 * time.Millisecond, +} diff --git a/seed/go-sdk/path-parameters/internal/stringer.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/stringer.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/stringer.go rename to seed/go-sdk/path-parameters/inline-path-parameters/internal/stringer.go diff --git a/seed/go-sdk/path-parameters/internal/time.go b/seed/go-sdk/path-parameters/inline-path-parameters/internal/time.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/time.go rename to seed/go-sdk/path-parameters/inline-path-parameters/internal/time.go diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/option/request_option.go b/seed/go-sdk/path-parameters/inline-path-parameters/option/request_option.go new file mode 100644 index 00000000000..3ef60c27882 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/option/request_option.go @@ -0,0 +1,64 @@ +// This file was auto-generated by Fern from our API Definition. + +package option + +import ( + core "github.com/fern-api/path-parameters-go/core" + http "net/http" + url "net/url" +) + +// RequestOption adapts the behavior of an indivdual request. +type RequestOption = core.RequestOption + +// WithBaseURL sets the base URL, overriding the default +// environment, if any. +func WithBaseURL(baseURL string) *core.BaseURLOption { + return &core.BaseURLOption{ + BaseURL: baseURL, + } +} + +// WithHTTPClient uses the given HTTPClient to issue the request. +func WithHTTPClient(httpClient core.HTTPClient) *core.HTTPClientOption { + return &core.HTTPClientOption{ + HTTPClient: httpClient, + } +} + +// WithHTTPHeader adds the given http.Header to the request. +func WithHTTPHeader(httpHeader http.Header) *core.HTTPHeaderOption { + return &core.HTTPHeaderOption{ + // Clone the headers so they can't be modified after the option call. + HTTPHeader: httpHeader.Clone(), + } +} + +// WithBodyProperties adds the given body properties to the request. +func WithBodyProperties(bodyProperties map[string]interface{}) *core.BodyPropertiesOption { + copiedBodyProperties := make(map[string]interface{}, len(bodyProperties)) + for key, value := range bodyProperties { + copiedBodyProperties[key] = value + } + return &core.BodyPropertiesOption{ + BodyProperties: copiedBodyProperties, + } +} + +// WithQueryParameters adds the given query parameters to the request. +func WithQueryParameters(queryParameters url.Values) *core.QueryParametersOption { + copiedQueryParameters := make(url.Values, len(queryParameters)) + for key, values := range queryParameters { + copiedQueryParameters[key] = values + } + return &core.QueryParametersOption{ + QueryParameters: copiedQueryParameters, + } +} + +// WithMaxAttempts configures the maximum number of retry attempts. +func WithMaxAttempts(attempts uint) *core.MaxAttemptsOption { + return &core.MaxAttemptsOption{ + MaxAttempts: attempts, + } +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/pointer.go b/seed/go-sdk/path-parameters/inline-path-parameters/pointer.go new file mode 100644 index 00000000000..a670181b5d5 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/pointer.go @@ -0,0 +1,132 @@ +package path + +import ( + "time" + + "github.com/google/uuid" +) + +// Bool returns a pointer to the given bool value. +func Bool(b bool) *bool { + return &b +} + +// Byte returns a pointer to the given byte value. +func Byte(b byte) *byte { + return &b +} + +// Complex64 returns a pointer to the given complex64 value. +func Complex64(c complex64) *complex64 { + return &c +} + +// Complex128 returns a pointer to the given complex128 value. +func Complex128(c complex128) *complex128 { + return &c +} + +// Float32 returns a pointer to the given float32 value. +func Float32(f float32) *float32 { + return &f +} + +// Float64 returns a pointer to the given float64 value. +func Float64(f float64) *float64 { + return &f +} + +// Int returns a pointer to the given int value. +func Int(i int) *int { + return &i +} + +// Int8 returns a pointer to the given int8 value. +func Int8(i int8) *int8 { + return &i +} + +// Int16 returns a pointer to the given int16 value. +func Int16(i int16) *int16 { + return &i +} + +// Int32 returns a pointer to the given int32 value. +func Int32(i int32) *int32 { + return &i +} + +// Int64 returns a pointer to the given int64 value. +func Int64(i int64) *int64 { + return &i +} + +// Rune returns a pointer to the given rune value. +func Rune(r rune) *rune { + return &r +} + +// String returns a pointer to the given string value. +func String(s string) *string { + return &s +} + +// Uint returns a pointer to the given uint value. +func Uint(u uint) *uint { + return &u +} + +// Uint8 returns a pointer to the given uint8 value. +func Uint8(u uint8) *uint8 { + return &u +} + +// Uint16 returns a pointer to the given uint16 value. +func Uint16(u uint16) *uint16 { + return &u +} + +// Uint32 returns a pointer to the given uint32 value. +func Uint32(u uint32) *uint32 { + return &u +} + +// Uint64 returns a pointer to the given uint64 value. +func Uint64(u uint64) *uint64 { + return &u +} + +// Uintptr returns a pointer to the given uintptr value. +func Uintptr(u uintptr) *uintptr { + return &u +} + +// UUID returns a pointer to the given uuid.UUID value. +func UUID(u uuid.UUID) *uuid.UUID { + return &u +} + +// Time returns a pointer to the given time.Time value. +func Time(t time.Time) *time.Time { + return &t +} + +// MustParseDate attempts to parse the given string as a +// date time.Time, and panics upon failure. +func MustParseDate(date string) time.Time { + t, err := time.Parse("2006-01-02", date) + if err != nil { + panic(err) + } + return t +} + +// MustParseDateTime attempts to parse the given string as a +// datetime time.Time, and panics upon failure. +func MustParseDateTime(datetime string) time.Time { + t, err := time.Parse(time.RFC3339, datetime) + if err != nil { + panic(err) + } + return t +} diff --git a/seed/go-sdk/path-parameters/snippet-templates.json b/seed/go-sdk/path-parameters/inline-path-parameters/snippet-templates.json similarity index 100% rename from seed/go-sdk/path-parameters/snippet-templates.json rename to seed/go-sdk/path-parameters/inline-path-parameters/snippet-templates.json diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/snippet.json b/seed/go-sdk/path-parameters/inline-path-parameters/snippet.json new file mode 100644 index 00000000000..de66dc22911 --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/snippet.json @@ -0,0 +1,59 @@ +{ + "endpoints": [ + { + "id": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifier_override": "endpoint_user.searchOrganizations" + }, + "snippet": { + "type": "go", + "client": "import (\n\tcontext \"context\"\n\tpathparametersgo \"github.com/fern-api/path-parameters-go\"\n\tpathparametersgoclient \"github.com/fern-api/path-parameters-go/client\"\n)\n\nclient := pathparametersgoclient.NewClient()\nresponse, err := client.User.SearchOrganizations(\n\tcontext.TODO(),\n\t\"organizationId\",\n\t\u0026pathparametersgo.SearchOrganizationsRequest{\n\t\tLimit: pathparametersgo.Int(\n\t\t\t1,\n\t\t),\n\t},\n)\n" + } + }, + { + "id": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifier_override": "endpoint_user.getOrganization" + }, + "snippet": { + "type": "go", + "client": "import (\n\tcontext \"context\"\n\tpathparametersgoclient \"github.com/fern-api/path-parameters-go/client\"\n)\n\nclient := pathparametersgoclient.NewClient()\nresponse, err := client.User.GetOrganization(\n\tcontext.TODO(),\n\t\"organizationId\",\n)\n" + } + }, + { + "id": { + "path": "/user/organizations/{organizationId}/users/{userId}", + "method": "GET", + "identifier_override": "endpoint_user.getOrganizationUser" + }, + "snippet": { + "type": "go", + "client": "import (\n\tcontext \"context\"\n\tpathparametersgo \"github.com/fern-api/path-parameters-go\"\n\tpathparametersgoclient \"github.com/fern-api/path-parameters-go/client\"\n)\n\nclient := pathparametersgoclient.NewClient()\nresponse, err := client.User.GetOrganizationUser(\n\tcontext.TODO(),\n\t\u0026pathparametersgo.GetOrganizationUserRequest{\n\t\tOrganizationId: \"organizationId\",\n\t\tUserId: \"userId\",\n\t},\n)\n" + } + }, + { + "id": { + "path": "/user/users/{userId}", + "method": "GET", + "identifier_override": "endpoint_user.getUser" + }, + "snippet": { + "type": "go", + "client": "import (\n\tcontext \"context\"\n\tpathparametersgo \"github.com/fern-api/path-parameters-go\"\n\tpathparametersgoclient \"github.com/fern-api/path-parameters-go/client\"\n)\n\nclient := pathparametersgoclient.NewClient()\nresponse, err := client.User.GetUser(\n\tcontext.TODO(),\n\t\u0026pathparametersgo.GetUsersRequest{\n\t\tUserId: \"userId\",\n\t},\n)\n" + } + }, + { + "id": { + "path": "/user/users/{userId}", + "method": "GET", + "identifier_override": "endpoint_user.searchUsers" + }, + "snippet": { + "type": "go", + "client": "import (\n\tcontext \"context\"\n\tpathparametersgo \"github.com/fern-api/path-parameters-go\"\n\tpathparametersgoclient \"github.com/fern-api/path-parameters-go/client\"\n)\n\nclient := pathparametersgoclient.NewClient()\nresponse, err := client.User.SearchUsers(\n\tcontext.TODO(),\n\t\u0026pathparametersgo.SearchUsersRequest{\n\t\tUserId: \"userId\",\n\t\tLimit: pathparametersgo.Int(\n\t\t\t1,\n\t\t),\n\t},\n)\n" + } + } + ] +} \ No newline at end of file diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/user.go b/seed/go-sdk/path-parameters/inline-path-parameters/user.go new file mode 100644 index 00000000000..98375ecf3cc --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/user.go @@ -0,0 +1,135 @@ +// This file was auto-generated by Fern from our API Definition. + +package path + +import ( + json "encoding/json" + fmt "fmt" + internal "github.com/fern-api/path-parameters-go/internal" +) + +type GetOrganizationUserRequest struct { + OrganizationId string `json:"-" url:"-"` + UserId string `json:"-" url:"-"` +} + +type GetUsersRequest struct { + UserId string `json:"-" url:"-"` +} + +type SearchOrganizationsRequest struct { + Limit *int `json:"-" url:"limit,omitempty"` +} + +type SearchUsersRequest struct { + UserId string `json:"-" url:"-"` + Limit *int `json:"-" url:"limit,omitempty"` +} + +type Organization struct { + Name string `json:"name" url:"name"` + Tags []string `json:"tags,omitempty" url:"tags,omitempty"` + + extraProperties map[string]interface{} + rawJSON json.RawMessage +} + +func (o *Organization) GetName() string { + if o == nil { + return "" + } + return o.Name +} + +func (o *Organization) GetTags() []string { + if o == nil { + return nil + } + return o.Tags +} + +func (o *Organization) GetExtraProperties() map[string]interface{} { + return o.extraProperties +} + +func (o *Organization) UnmarshalJSON(data []byte) error { + type unmarshaler Organization + var value unmarshaler + if err := json.Unmarshal(data, &value); err != nil { + return err + } + *o = Organization(value) + extraProperties, err := internal.ExtractExtraProperties(data, *o) + if err != nil { + return err + } + o.extraProperties = extraProperties + o.rawJSON = json.RawMessage(data) + return nil +} + +func (o *Organization) String() string { + if len(o.rawJSON) > 0 { + if value, err := internal.StringifyJSON(o.rawJSON); err == nil { + return value + } + } + if value, err := internal.StringifyJSON(o); err == nil { + return value + } + return fmt.Sprintf("%#v", o) +} + +type User struct { + Name string `json:"name" url:"name"` + Tags []string `json:"tags,omitempty" url:"tags,omitempty"` + + extraProperties map[string]interface{} + rawJSON json.RawMessage +} + +func (u *User) GetName() string { + if u == nil { + return "" + } + return u.Name +} + +func (u *User) GetTags() []string { + if u == nil { + return nil + } + return u.Tags +} + +func (u *User) GetExtraProperties() map[string]interface{} { + return u.extraProperties +} + +func (u *User) UnmarshalJSON(data []byte) error { + type unmarshaler User + var value unmarshaler + if err := json.Unmarshal(data, &value); err != nil { + return err + } + *u = User(value) + extraProperties, err := internal.ExtractExtraProperties(data, *u) + if err != nil { + return err + } + u.extraProperties = extraProperties + u.rawJSON = json.RawMessage(data) + return nil +} + +func (u *User) String() string { + if len(u.rawJSON) > 0 { + if value, err := internal.StringifyJSON(u.rawJSON); err == nil { + return value + } + } + if value, err := internal.StringifyJSON(u); err == nil { + return value + } + return fmt.Sprintf("%#v", u) +} diff --git a/seed/go-sdk/path-parameters/inline-path-parameters/user/client.go b/seed/go-sdk/path-parameters/inline-path-parameters/user/client.go new file mode 100644 index 00000000000..e0159de6cde --- /dev/null +++ b/seed/go-sdk/path-parameters/inline-path-parameters/user/client.go @@ -0,0 +1,243 @@ +// This file was auto-generated by Fern from our API Definition. + +package user + +import ( + context "context" + pathparametersgo "github.com/fern-api/path-parameters-go" + core "github.com/fern-api/path-parameters-go/core" + internal "github.com/fern-api/path-parameters-go/internal" + option "github.com/fern-api/path-parameters-go/option" + http "net/http" +) + +type Client struct { + baseURL string + caller *internal.Caller + header http.Header +} + +func NewClient(opts ...option.RequestOption) *Client { + options := core.NewRequestOptions(opts...) + return &Client{ + baseURL: options.BaseURL, + caller: internal.NewCaller( + &internal.CallerParams{ + Client: options.HTTPClient, + MaxAttempts: options.MaxAttempts, + }, + ), + header: options.ToHeader(), + } +} + +func (c *Client) GetOrganization( + ctx context.Context, + organizationId string, + opts ...option.RequestOption, +) (*pathparametersgo.Organization, error) { + options := core.NewRequestOptions(opts...) + baseURL := internal.ResolveBaseURL( + options.BaseURL, + c.baseURL, + "", + ) + endpointURL := internal.EncodeURL( + baseURL+"/user/organizations/%v", + organizationId, + ) + headers := internal.MergeHeaders( + c.header.Clone(), + options.ToHeader(), + ) + + var response *pathparametersgo.Organization + if err := c.caller.Call( + ctx, + &internal.CallParams{ + URL: endpointURL, + Method: http.MethodGet, + Headers: headers, + MaxAttempts: options.MaxAttempts, + BodyProperties: options.BodyProperties, + QueryParameters: options.QueryParameters, + Client: options.HTTPClient, + Response: &response, + }, + ); err != nil { + return nil, err + } + return response, nil +} + +func (c *Client) GetUser( + ctx context.Context, + request *pathparametersgo.GetUsersRequest, + opts ...option.RequestOption, +) (*pathparametersgo.User, error) { + options := core.NewRequestOptions(opts...) + baseURL := internal.ResolveBaseURL( + options.BaseURL, + c.baseURL, + "", + ) + endpointURL := internal.EncodeURL( + baseURL+"/user/users/%v", + request.UserId, + ) + headers := internal.MergeHeaders( + c.header.Clone(), + options.ToHeader(), + ) + + var response *pathparametersgo.User + if err := c.caller.Call( + ctx, + &internal.CallParams{ + URL: endpointURL, + Method: http.MethodGet, + Headers: headers, + MaxAttempts: options.MaxAttempts, + BodyProperties: options.BodyProperties, + QueryParameters: options.QueryParameters, + Client: options.HTTPClient, + Response: &response, + }, + ); err != nil { + return nil, err + } + return response, nil +} + +func (c *Client) GetOrganizationUser( + ctx context.Context, + request *pathparametersgo.GetOrganizationUserRequest, + opts ...option.RequestOption, +) (*pathparametersgo.User, error) { + options := core.NewRequestOptions(opts...) + baseURL := internal.ResolveBaseURL( + options.BaseURL, + c.baseURL, + "", + ) + endpointURL := internal.EncodeURL( + baseURL+"/user/organizations/%v/users/%v", + request.OrganizationId, + request.UserId, + ) + headers := internal.MergeHeaders( + c.header.Clone(), + options.ToHeader(), + ) + + var response *pathparametersgo.User + if err := c.caller.Call( + ctx, + &internal.CallParams{ + URL: endpointURL, + Method: http.MethodGet, + Headers: headers, + MaxAttempts: options.MaxAttempts, + BodyProperties: options.BodyProperties, + QueryParameters: options.QueryParameters, + Client: options.HTTPClient, + Response: &response, + }, + ); err != nil { + return nil, err + } + return response, nil +} + +func (c *Client) SearchUsers( + ctx context.Context, + request *pathparametersgo.SearchUsersRequest, + opts ...option.RequestOption, +) ([]*pathparametersgo.User, error) { + options := core.NewRequestOptions(opts...) + baseURL := internal.ResolveBaseURL( + options.BaseURL, + c.baseURL, + "", + ) + endpointURL := internal.EncodeURL( + baseURL+"/user/users/%v", + request.UserId, + ) + queryParams, err := internal.QueryValues(request) + if err != nil { + return nil, err + } + if len(queryParams) > 0 { + endpointURL += "?" + queryParams.Encode() + } + headers := internal.MergeHeaders( + c.header.Clone(), + options.ToHeader(), + ) + + var response []*pathparametersgo.User + if err := c.caller.Call( + ctx, + &internal.CallParams{ + URL: endpointURL, + Method: http.MethodGet, + Headers: headers, + MaxAttempts: options.MaxAttempts, + BodyProperties: options.BodyProperties, + QueryParameters: options.QueryParameters, + Client: options.HTTPClient, + Response: &response, + }, + ); err != nil { + return nil, err + } + return response, nil +} + +func (c *Client) SearchOrganizations( + ctx context.Context, + organizationId string, + request *pathparametersgo.SearchOrganizationsRequest, + opts ...option.RequestOption, +) ([]*pathparametersgo.Organization, error) { + options := core.NewRequestOptions(opts...) + baseURL := internal.ResolveBaseURL( + options.BaseURL, + c.baseURL, + "", + ) + endpointURL := internal.EncodeURL( + baseURL+"/user/organizations/%v", + organizationId, + ) + queryParams, err := internal.QueryValues(request) + if err != nil { + return nil, err + } + if len(queryParams) > 0 { + endpointURL += "?" + queryParams.Encode() + } + headers := internal.MergeHeaders( + c.header.Clone(), + options.ToHeader(), + ) + + var response []*pathparametersgo.Organization + if err := c.caller.Call( + ctx, + &internal.CallParams{ + URL: endpointURL, + Method: http.MethodGet, + Headers: headers, + MaxAttempts: options.MaxAttempts, + BodyProperties: options.BodyProperties, + QueryParameters: options.QueryParameters, + Client: options.HTTPClient, + Response: &response, + }, + ); err != nil { + return nil, err + } + return response, nil +} diff --git a/seed/go-sdk/path-parameters/no-custom-config/.github/workflows/ci.yml b/seed/go-sdk/path-parameters/no-custom-config/.github/workflows/ci.yml new file mode 100644 index 00000000000..d4c0a5dcd95 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/.github/workflows/ci.yml @@ -0,0 +1,27 @@ +name: ci + +on: [push] + +jobs: + compile: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Set up go + uses: actions/setup-go@v4 + + - name: Compile + run: go build ./... + test: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Set up go + uses: actions/setup-go@v4 + + - name: Test + run: go test ./... diff --git a/seed/go-sdk/path-parameters/no-custom-config/.mock/definition/api.yml b/seed/go-sdk/path-parameters/no-custom-config/.mock/definition/api.yml new file mode 100644 index 00000000000..fd4112ac896 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/.mock/definition/api.yml @@ -0,0 +1 @@ +name: path-parameters diff --git a/seed/go-sdk/path-parameters/no-custom-config/.mock/definition/user.yml b/seed/go-sdk/path-parameters/no-custom-config/.mock/definition/user.yml new file mode 100644 index 00000000000..25ea9e21e02 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/.mock/definition/user.yml @@ -0,0 +1,62 @@ +types: + Organization: + properties: + name: string + tags: list + + User: + properties: + name: string + tags: list + +service: + base-path: /user + auth: false + endpoints: + getOrganization: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + response: Organization + + getUser: + path: "/users/{userId}" + method: GET + request: + name: GetUsersRequest + path-parameters: + userId: string + response: User + + getOrganizationUser: + path: "/organizations/{organizationId}/users/{userId}" + method: GET + request: + name: GetOrganizationUserRequest + path-parameters: + organizationId: string + userId: string + response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/go-sdk/path-parameters/no-custom-config/.mock/fern.config.json b/seed/go-sdk/path-parameters/no-custom-config/.mock/fern.config.json new file mode 100644 index 00000000000..4c8e54ac313 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/.mock/fern.config.json @@ -0,0 +1 @@ +{"organization": "fern-test", "version": "*"} \ No newline at end of file diff --git a/seed/go-sdk/path-parameters/no-custom-config/.mock/generators.yml b/seed/go-sdk/path-parameters/no-custom-config/.mock/generators.yml new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/.mock/generators.yml @@ -0,0 +1 @@ +{} diff --git a/seed/go-sdk/path-parameters/client/client.go b/seed/go-sdk/path-parameters/no-custom-config/client/client.go similarity index 100% rename from seed/go-sdk/path-parameters/client/client.go rename to seed/go-sdk/path-parameters/no-custom-config/client/client.go diff --git a/seed/go-sdk/path-parameters/client/client_test.go b/seed/go-sdk/path-parameters/no-custom-config/client/client_test.go similarity index 100% rename from seed/go-sdk/path-parameters/client/client_test.go rename to seed/go-sdk/path-parameters/no-custom-config/client/client_test.go diff --git a/seed/go-sdk/path-parameters/no-custom-config/core/api_error.go b/seed/go-sdk/path-parameters/no-custom-config/core/api_error.go new file mode 100644 index 00000000000..dc4190ca1cd --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/core/api_error.go @@ -0,0 +1,42 @@ +package core + +import "fmt" + +// APIError is a lightweight wrapper around the standard error +// interface that preserves the status code from the RPC, if any. +type APIError struct { + err error + + StatusCode int `json:"-"` +} + +// NewAPIError constructs a new API error. +func NewAPIError(statusCode int, err error) *APIError { + return &APIError{ + err: err, + StatusCode: statusCode, + } +} + +// Unwrap returns the underlying error. This also makes the error compatible +// with errors.As and errors.Is. +func (a *APIError) Unwrap() error { + if a == nil { + return nil + } + return a.err +} + +// Error returns the API error's message. +func (a *APIError) Error() string { + if a == nil || (a.err == nil && a.StatusCode == 0) { + return "" + } + if a.err == nil { + return fmt.Sprintf("%d", a.StatusCode) + } + if a.StatusCode == 0 { + return a.err.Error() + } + return fmt.Sprintf("%d: %s", a.StatusCode, a.err.Error()) +} diff --git a/seed/go-sdk/path-parameters/no-custom-config/core/http.go b/seed/go-sdk/path-parameters/no-custom-config/core/http.go new file mode 100644 index 00000000000..b553350b84e --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/core/http.go @@ -0,0 +1,8 @@ +package core + +import "net/http" + +// HTTPClient is an interface for a subset of the *http.Client. +type HTTPClient interface { + Do(*http.Request) (*http.Response, error) +} diff --git a/seed/go-sdk/path-parameters/core/request_option.go b/seed/go-sdk/path-parameters/no-custom-config/core/request_option.go similarity index 100% rename from seed/go-sdk/path-parameters/core/request_option.go rename to seed/go-sdk/path-parameters/no-custom-config/core/request_option.go diff --git a/seed/go-sdk/path-parameters/dynamic-snippets/example0/snippet.go b/seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example0/snippet.go similarity index 100% rename from seed/go-sdk/path-parameters/dynamic-snippets/example0/snippet.go rename to seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example0/snippet.go diff --git a/seed/go-sdk/path-parameters/dynamic-snippets/example1/snippet.go b/seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example1/snippet.go similarity index 100% rename from seed/go-sdk/path-parameters/dynamic-snippets/example1/snippet.go rename to seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example1/snippet.go diff --git a/seed/go-sdk/path-parameters/dynamic-snippets/example2/snippet.go b/seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example2/snippet.go similarity index 100% rename from seed/go-sdk/path-parameters/dynamic-snippets/example2/snippet.go rename to seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example2/snippet.go diff --git a/seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example3/snippet.go b/seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example3/snippet.go new file mode 100644 index 00000000000..a36e53b1c52 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example3/snippet.go @@ -0,0 +1,20 @@ +package example + +import ( + client "github.com/path-parameters/fern/client" + context "context" + fern "github.com/path-parameters/fern" +) + +func do() () { + client := client.NewClient() + client.User.SearchUsers( + context.TODO(), + "userId", + &fern.SearchUsersRequest{ + Limit: fern.Int( + 1, + ), + }, + ) +} diff --git a/seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example4/snippet.go b/seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example4/snippet.go new file mode 100644 index 00000000000..e0494a50f95 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/dynamic-snippets/example4/snippet.go @@ -0,0 +1,14 @@ +package example + +import ( + client "github.com/path-parameters/fern/client" + context "context" +) + +func do() () { + client := client.NewClient() + client.User.GetOrganization( + context.TODO(), + "organizationId", + ) +} diff --git a/seed/go-sdk/path-parameters/file_param.go b/seed/go-sdk/path-parameters/no-custom-config/file_param.go similarity index 100% rename from seed/go-sdk/path-parameters/file_param.go rename to seed/go-sdk/path-parameters/no-custom-config/file_param.go diff --git a/seed/go-sdk/path-parameters/go.mod b/seed/go-sdk/path-parameters/no-custom-config/go.mod similarity index 100% rename from seed/go-sdk/path-parameters/go.mod rename to seed/go-sdk/path-parameters/no-custom-config/go.mod diff --git a/seed/go-sdk/path-parameters/no-custom-config/go.sum b/seed/go-sdk/path-parameters/no-custom-config/go.sum new file mode 100644 index 00000000000..b3766d4366b --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/go.sum @@ -0,0 +1,14 @@ +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/seed/go-sdk/path-parameters/internal/caller.go b/seed/go-sdk/path-parameters/no-custom-config/internal/caller.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/caller.go rename to seed/go-sdk/path-parameters/no-custom-config/internal/caller.go diff --git a/seed/go-sdk/path-parameters/internal/caller_test.go b/seed/go-sdk/path-parameters/no-custom-config/internal/caller_test.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/caller_test.go rename to seed/go-sdk/path-parameters/no-custom-config/internal/caller_test.go diff --git a/seed/go-sdk/path-parameters/internal/error_decoder.go b/seed/go-sdk/path-parameters/no-custom-config/internal/error_decoder.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/error_decoder.go rename to seed/go-sdk/path-parameters/no-custom-config/internal/error_decoder.go diff --git a/seed/go-sdk/path-parameters/internal/error_decoder_test.go b/seed/go-sdk/path-parameters/no-custom-config/internal/error_decoder_test.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/error_decoder_test.go rename to seed/go-sdk/path-parameters/no-custom-config/internal/error_decoder_test.go diff --git a/seed/go-sdk/path-parameters/no-custom-config/internal/extra_properties.go b/seed/go-sdk/path-parameters/no-custom-config/internal/extra_properties.go new file mode 100644 index 00000000000..540c3fd89ee --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/internal/extra_properties.go @@ -0,0 +1,141 @@ +package internal + +import ( + "bytes" + "encoding/json" + "fmt" + "reflect" + "strings" +) + +// MarshalJSONWithExtraProperty marshals the given value to JSON, including the extra property. +func MarshalJSONWithExtraProperty(marshaler interface{}, key string, value interface{}) ([]byte, error) { + return MarshalJSONWithExtraProperties(marshaler, map[string]interface{}{key: value}) +} + +// MarshalJSONWithExtraProperties marshals the given value to JSON, including any extra properties. +func MarshalJSONWithExtraProperties(marshaler interface{}, extraProperties map[string]interface{}) ([]byte, error) { + bytes, err := json.Marshal(marshaler) + if err != nil { + return nil, err + } + if len(extraProperties) == 0 { + return bytes, nil + } + keys, err := getKeys(marshaler) + if err != nil { + return nil, err + } + for _, key := range keys { + if _, ok := extraProperties[key]; ok { + return nil, fmt.Errorf("cannot add extra property %q because it is already defined on the type", key) + } + } + extraBytes, err := json.Marshal(extraProperties) + if err != nil { + return nil, err + } + if isEmptyJSON(bytes) { + if isEmptyJSON(extraBytes) { + return bytes, nil + } + return extraBytes, nil + } + result := bytes[:len(bytes)-1] + result = append(result, ',') + result = append(result, extraBytes[1:len(extraBytes)-1]...) + result = append(result, '}') + return result, nil +} + +// ExtractExtraProperties extracts any extra properties from the given value. +func ExtractExtraProperties(bytes []byte, value interface{}, exclude ...string) (map[string]interface{}, error) { + val := reflect.ValueOf(value) + for val.Kind() == reflect.Ptr { + if val.IsNil() { + return nil, fmt.Errorf("value must be non-nil to extract extra properties") + } + val = val.Elem() + } + if err := json.Unmarshal(bytes, &value); err != nil { + return nil, err + } + var extraProperties map[string]interface{} + if err := json.Unmarshal(bytes, &extraProperties); err != nil { + return nil, err + } + for i := 0; i < val.Type().NumField(); i++ { + key := jsonKey(val.Type().Field(i)) + if key == "" || key == "-" { + continue + } + delete(extraProperties, key) + } + for _, key := range exclude { + delete(extraProperties, key) + } + if len(extraProperties) == 0 { + return nil, nil + } + return extraProperties, nil +} + +// getKeys returns the keys associated with the given value. The value must be a +// a struct or a map with string keys. +func getKeys(value interface{}) ([]string, error) { + val := reflect.ValueOf(value) + if val.Kind() == reflect.Ptr { + val = val.Elem() + } + if !val.IsValid() { + return nil, nil + } + switch val.Kind() { + case reflect.Struct: + return getKeysForStructType(val.Type()), nil + case reflect.Map: + var keys []string + if val.Type().Key().Kind() != reflect.String { + return nil, fmt.Errorf("cannot extract keys from %T; only structs and maps with string keys are supported", value) + } + for _, key := range val.MapKeys() { + keys = append(keys, key.String()) + } + return keys, nil + default: + return nil, fmt.Errorf("cannot extract keys from %T; only structs and maps with string keys are supported", value) + } +} + +// getKeysForStructType returns all the keys associated with the given struct type, +// visiting embedded fields recursively. +func getKeysForStructType(structType reflect.Type) []string { + if structType.Kind() == reflect.Pointer { + structType = structType.Elem() + } + if structType.Kind() != reflect.Struct { + return nil + } + var keys []string + for i := 0; i < structType.NumField(); i++ { + field := structType.Field(i) + if field.Anonymous { + keys = append(keys, getKeysForStructType(field.Type)...) + continue + } + keys = append(keys, jsonKey(field)) + } + return keys +} + +// jsonKey returns the JSON key from the struct tag of the given field, +// excluding the omitempty flag (if any). +func jsonKey(field reflect.StructField) string { + return strings.TrimSuffix(field.Tag.Get("json"), ",omitempty") +} + +// isEmptyJSON returns true if the given data is empty, the empty JSON object, or +// an explicit null. +func isEmptyJSON(data []byte) bool { + return len(data) <= 2 || bytes.Equal(data, []byte("null")) +} diff --git a/seed/go-sdk/path-parameters/no-custom-config/internal/extra_properties_test.go b/seed/go-sdk/path-parameters/no-custom-config/internal/extra_properties_test.go new file mode 100644 index 00000000000..aa2510ee512 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/internal/extra_properties_test.go @@ -0,0 +1,228 @@ +package internal + +import ( + "encoding/json" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +type testMarshaler struct { + Name string `json:"name"` + BirthDate time.Time `json:"birthDate"` + CreatedAt time.Time `json:"created_at"` +} + +func (t *testMarshaler) MarshalJSON() ([]byte, error) { + type embed testMarshaler + var marshaler = struct { + embed + BirthDate string `json:"birthDate"` + CreatedAt string `json:"created_at"` + }{ + embed: embed(*t), + BirthDate: t.BirthDate.Format("2006-01-02"), + CreatedAt: t.CreatedAt.Format(time.RFC3339), + } + return MarshalJSONWithExtraProperty(marshaler, "type", "test") +} + +func TestMarshalJSONWithExtraProperties(t *testing.T) { + tests := []struct { + desc string + giveMarshaler interface{} + giveExtraProperties map[string]interface{} + wantBytes []byte + wantError string + }{ + { + desc: "invalid type", + giveMarshaler: []string{"invalid"}, + giveExtraProperties: map[string]interface{}{"key": "overwrite"}, + wantError: `cannot extract keys from []string; only structs and maps with string keys are supported`, + }, + { + desc: "invalid key type", + giveMarshaler: map[int]interface{}{42: "value"}, + giveExtraProperties: map[string]interface{}{"key": "overwrite"}, + wantError: `cannot extract keys from map[int]interface {}; only structs and maps with string keys are supported`, + }, + { + desc: "invalid map overwrite", + giveMarshaler: map[string]interface{}{"key": "value"}, + giveExtraProperties: map[string]interface{}{"key": "overwrite"}, + wantError: `cannot add extra property "key" because it is already defined on the type`, + }, + { + desc: "invalid struct overwrite", + giveMarshaler: new(testMarshaler), + giveExtraProperties: map[string]interface{}{"birthDate": "2000-01-01"}, + wantError: `cannot add extra property "birthDate" because it is already defined on the type`, + }, + { + desc: "invalid struct overwrite embedded type", + giveMarshaler: new(testMarshaler), + giveExtraProperties: map[string]interface{}{"name": "bob"}, + wantError: `cannot add extra property "name" because it is already defined on the type`, + }, + { + desc: "nil", + giveMarshaler: nil, + giveExtraProperties: nil, + wantBytes: []byte(`null`), + }, + { + desc: "empty", + giveMarshaler: map[string]interface{}{}, + giveExtraProperties: map[string]interface{}{}, + wantBytes: []byte(`{}`), + }, + { + desc: "no extra properties", + giveMarshaler: map[string]interface{}{"key": "value"}, + giveExtraProperties: map[string]interface{}{}, + wantBytes: []byte(`{"key":"value"}`), + }, + { + desc: "only extra properties", + giveMarshaler: map[string]interface{}{}, + giveExtraProperties: map[string]interface{}{"key": "value"}, + wantBytes: []byte(`{"key":"value"}`), + }, + { + desc: "single extra property", + giveMarshaler: map[string]interface{}{"key": "value"}, + giveExtraProperties: map[string]interface{}{"extra": "property"}, + wantBytes: []byte(`{"key":"value","extra":"property"}`), + }, + { + desc: "multiple extra properties", + giveMarshaler: map[string]interface{}{"key": "value"}, + giveExtraProperties: map[string]interface{}{"one": 1, "two": 2}, + wantBytes: []byte(`{"key":"value","one":1,"two":2}`), + }, + { + desc: "nested properties", + giveMarshaler: map[string]interface{}{"key": "value"}, + giveExtraProperties: map[string]interface{}{ + "user": map[string]interface{}{ + "age": 42, + "name": "alice", + }, + }, + wantBytes: []byte(`{"key":"value","user":{"age":42,"name":"alice"}}`), + }, + { + desc: "multiple nested properties", + giveMarshaler: map[string]interface{}{"key": "value"}, + giveExtraProperties: map[string]interface{}{ + "metadata": map[string]interface{}{ + "ip": "127.0.0.1", + }, + "user": map[string]interface{}{ + "age": 42, + "name": "alice", + }, + }, + wantBytes: []byte(`{"key":"value","metadata":{"ip":"127.0.0.1"},"user":{"age":42,"name":"alice"}}`), + }, + { + desc: "custom marshaler", + giveMarshaler: &testMarshaler{ + Name: "alice", + BirthDate: time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC), + CreatedAt: time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC), + }, + giveExtraProperties: map[string]interface{}{ + "extra": "property", + }, + wantBytes: []byte(`{"name":"alice","birthDate":"2000-01-01","created_at":"2024-01-01T00:00:00Z","type":"test","extra":"property"}`), + }, + } + for _, tt := range tests { + t.Run(tt.desc, func(t *testing.T) { + bytes, err := MarshalJSONWithExtraProperties(tt.giveMarshaler, tt.giveExtraProperties) + if tt.wantError != "" { + require.EqualError(t, err, tt.wantError) + assert.Nil(t, tt.wantBytes) + return + } + require.NoError(t, err) + assert.Equal(t, tt.wantBytes, bytes) + + value := make(map[string]interface{}) + require.NoError(t, json.Unmarshal(bytes, &value)) + }) + } +} + +func TestExtractExtraProperties(t *testing.T) { + t.Run("none", func(t *testing.T) { + type user struct { + Name string `json:"name"` + } + value := &user{ + Name: "alice", + } + extraProperties, err := ExtractExtraProperties([]byte(`{"name": "alice"}`), value) + require.NoError(t, err) + assert.Nil(t, extraProperties) + }) + + t.Run("non-nil pointer", func(t *testing.T) { + type user struct { + Name string `json:"name"` + } + value := &user{ + Name: "alice", + } + extraProperties, err := ExtractExtraProperties([]byte(`{"name": "alice", "age": 42}`), value) + require.NoError(t, err) + assert.Equal(t, map[string]interface{}{"age": float64(42)}, extraProperties) + }) + + t.Run("nil pointer", func(t *testing.T) { + type user struct { + Name string `json:"name"` + } + var value *user + _, err := ExtractExtraProperties([]byte(`{"name": "alice", "age": 42}`), value) + assert.EqualError(t, err, "value must be non-nil to extract extra properties") + }) + + t.Run("non-zero value", func(t *testing.T) { + type user struct { + Name string `json:"name"` + } + value := user{ + Name: "alice", + } + extraProperties, err := ExtractExtraProperties([]byte(`{"name": "alice", "age": 42}`), value) + require.NoError(t, err) + assert.Equal(t, map[string]interface{}{"age": float64(42)}, extraProperties) + }) + + t.Run("zero value", func(t *testing.T) { + type user struct { + Name string `json:"name"` + } + var value user + extraProperties, err := ExtractExtraProperties([]byte(`{"name": "alice", "age": 42}`), value) + require.NoError(t, err) + assert.Equal(t, map[string]interface{}{"age": float64(42)}, extraProperties) + }) + + t.Run("exclude", func(t *testing.T) { + type user struct { + Name string `json:"name"` + } + value := &user{ + Name: "alice", + } + extraProperties, err := ExtractExtraProperties([]byte(`{"name": "alice", "age": 42}`), value, "age") + require.NoError(t, err) + assert.Nil(t, extraProperties) + }) +} diff --git a/seed/go-sdk/path-parameters/no-custom-config/internal/http.go b/seed/go-sdk/path-parameters/no-custom-config/internal/http.go new file mode 100644 index 00000000000..768968bd621 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/internal/http.go @@ -0,0 +1,48 @@ +package internal + +import ( + "fmt" + "net/http" + "net/url" +) + +// HTTPClient is an interface for a subset of the *http.Client. +type HTTPClient interface { + Do(*http.Request) (*http.Response, error) +} + +// ResolveBaseURL resolves the base URL from the given arguments, +// preferring the first non-empty value. +func ResolveBaseURL(values ...string) string { + for _, value := range values { + if value != "" { + return value + } + } + return "" +} + +// EncodeURL encodes the given arguments into the URL, escaping +// values as needed. +func EncodeURL(urlFormat string, args ...interface{}) string { + escapedArgs := make([]interface{}, 0, len(args)) + for _, arg := range args { + escapedArgs = append(escapedArgs, url.PathEscape(fmt.Sprintf("%v", arg))) + } + return fmt.Sprintf(urlFormat, escapedArgs...) +} + +// MergeHeaders merges the given headers together, where the right +// takes precedence over the left. +func MergeHeaders(left, right http.Header) http.Header { + for key, values := range right { + if len(values) > 1 { + left[key] = values + continue + } + if value := right.Get(key); value != "" { + left.Set(key, value) + } + } + return left +} diff --git a/seed/go-sdk/path-parameters/no-custom-config/internal/query.go b/seed/go-sdk/path-parameters/no-custom-config/internal/query.go new file mode 100644 index 00000000000..6129e71ffe5 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/internal/query.go @@ -0,0 +1,231 @@ +package internal + +import ( + "encoding/base64" + "fmt" + "net/url" + "reflect" + "strings" + "time" + + "github.com/google/uuid" +) + +var ( + bytesType = reflect.TypeOf([]byte{}) + queryEncoderType = reflect.TypeOf(new(QueryEncoder)).Elem() + timeType = reflect.TypeOf(time.Time{}) + uuidType = reflect.TypeOf(uuid.UUID{}) +) + +// QueryEncoder is an interface implemented by any type that wishes to encode +// itself into URL values in a non-standard way. +type QueryEncoder interface { + EncodeQueryValues(key string, v *url.Values) error +} + +// QueryValues encodes url.Values from request objects. +// +// Note: This type is inspired by Google's query encoding library, but +// supports far less customization and is tailored to fit this SDK's use case. +// +// Ref: https://github.com/google/go-querystring +func QueryValues(v interface{}) (url.Values, error) { + values := make(url.Values) + val := reflect.ValueOf(v) + for val.Kind() == reflect.Ptr { + if val.IsNil() { + return values, nil + } + val = val.Elem() + } + + if v == nil { + return values, nil + } + + if val.Kind() != reflect.Struct { + return nil, fmt.Errorf("query: Values() expects struct input. Got %v", val.Kind()) + } + + err := reflectValue(values, val, "") + return values, err +} + +// reflectValue populates the values parameter from the struct fields in val. +// Embedded structs are followed recursively (using the rules defined in the +// Values function documentation) breadth-first. +func reflectValue(values url.Values, val reflect.Value, scope string) error { + typ := val.Type() + for i := 0; i < typ.NumField(); i++ { + sf := typ.Field(i) + if sf.PkgPath != "" && !sf.Anonymous { + // Skip unexported fields. + continue + } + + sv := val.Field(i) + tag := sf.Tag.Get("url") + if tag == "" || tag == "-" { + continue + } + + name, opts := parseTag(tag) + if name == "" { + name = sf.Name + } + + if scope != "" { + name = scope + "[" + name + "]" + } + + if opts.Contains("omitempty") && isEmptyValue(sv) { + continue + } + + if sv.Type().Implements(queryEncoderType) { + // If sv is a nil pointer and the custom encoder is defined on a non-pointer + // method receiver, set sv to the zero value of the underlying type + if !reflect.Indirect(sv).IsValid() && sv.Type().Elem().Implements(queryEncoderType) { + sv = reflect.New(sv.Type().Elem()) + } + + m := sv.Interface().(QueryEncoder) + if err := m.EncodeQueryValues(name, &values); err != nil { + return err + } + continue + } + + // Recursively dereference pointers, but stop at nil pointers. + for sv.Kind() == reflect.Ptr { + if sv.IsNil() { + break + } + sv = sv.Elem() + } + + if sv.Type() == uuidType || sv.Type() == bytesType || sv.Type() == timeType { + values.Add(name, valueString(sv, opts, sf)) + continue + } + + if sv.Kind() == reflect.Slice || sv.Kind() == reflect.Array { + if sv.Len() == 0 { + // Skip if slice or array is empty. + continue + } + for i := 0; i < sv.Len(); i++ { + value := sv.Index(i) + if isStructPointer(value) && !value.IsNil() { + if err := reflectValue(values, value.Elem(), name); err != nil { + return err + } + } else { + values.Add(name, valueString(value, opts, sf)) + } + } + continue + } + + if sv.Kind() == reflect.Struct { + if err := reflectValue(values, sv, name); err != nil { + return err + } + continue + } + + values.Add(name, valueString(sv, opts, sf)) + } + + return nil +} + +// valueString returns the string representation of a value. +func valueString(v reflect.Value, opts tagOptions, sf reflect.StructField) string { + for v.Kind() == reflect.Ptr { + if v.IsNil() { + return "" + } + v = v.Elem() + } + + if v.Type() == timeType { + t := v.Interface().(time.Time) + if format := sf.Tag.Get("format"); format == "date" { + return t.Format("2006-01-02") + } + return t.Format(time.RFC3339) + } + + if v.Type() == uuidType { + u := v.Interface().(uuid.UUID) + return u.String() + } + + if v.Type() == bytesType { + b := v.Interface().([]byte) + return base64.StdEncoding.EncodeToString(b) + } + + return fmt.Sprint(v.Interface()) +} + +// isEmptyValue checks if a value should be considered empty for the purposes +// of omitting fields with the "omitempty" option. +func isEmptyValue(v reflect.Value) bool { + type zeroable interface { + IsZero() bool + } + + if !v.IsZero() { + if z, ok := v.Interface().(zeroable); ok { + return z.IsZero() + } + } + + switch v.Kind() { + case reflect.Array, reflect.Map, reflect.Slice, reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + case reflect.Invalid, reflect.Complex64, reflect.Complex128, reflect.Chan, reflect.Func, reflect.Struct, reflect.UnsafePointer: + return false + } + + return false +} + +// isStructPointer returns true if the given reflect.Value is a pointer to a struct. +func isStructPointer(v reflect.Value) bool { + return v.Kind() == reflect.Ptr && v.Elem().Kind() == reflect.Struct +} + +// tagOptions is the string following a comma in a struct field's "url" tag, or +// the empty string. It does not include the leading comma. +type tagOptions []string + +// parseTag splits a struct field's url tag into its name and comma-separated +// options. +func parseTag(tag string) (string, tagOptions) { + s := strings.Split(tag, ",") + return s[0], s[1:] +} + +// Contains checks whether the tagOptions contains the specified option. +func (o tagOptions) Contains(option string) bool { + for _, s := range o { + if s == option { + return true + } + } + return false +} diff --git a/seed/go-sdk/path-parameters/no-custom-config/internal/query_test.go b/seed/go-sdk/path-parameters/no-custom-config/internal/query_test.go new file mode 100644 index 00000000000..2e58ccadde1 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/internal/query_test.go @@ -0,0 +1,187 @@ +package internal + +import ( + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestQueryValues(t *testing.T) { + t.Run("empty optional", func(t *testing.T) { + type nested struct { + Value *string `json:"value,omitempty" url:"value,omitempty"` + } + type example struct { + Nested *nested `json:"nested,omitempty" url:"nested,omitempty"` + } + + values, err := QueryValues(&example{}) + require.NoError(t, err) + assert.Empty(t, values) + }) + + t.Run("empty required", func(t *testing.T) { + type nested struct { + Value *string `json:"value,omitempty" url:"value,omitempty"` + } + type example struct { + Required string `json:"required" url:"required"` + Nested *nested `json:"nested,omitempty" url:"nested,omitempty"` + } + + values, err := QueryValues(&example{}) + require.NoError(t, err) + assert.Equal(t, "required=", values.Encode()) + }) + + t.Run("allow multiple", func(t *testing.T) { + type example struct { + Values []string `json:"values" url:"values"` + } + + values, err := QueryValues( + &example{ + Values: []string{"foo", "bar", "baz"}, + }, + ) + require.NoError(t, err) + assert.Equal(t, "values=foo&values=bar&values=baz", values.Encode()) + }) + + t.Run("nested object", func(t *testing.T) { + type nested struct { + Value *string `json:"value,omitempty" url:"value,omitempty"` + } + type example struct { + Required string `json:"required" url:"required"` + Nested *nested `json:"nested,omitempty" url:"nested,omitempty"` + } + + nestedValue := "nestedValue" + values, err := QueryValues( + &example{ + Required: "requiredValue", + Nested: &nested{ + Value: &nestedValue, + }, + }, + ) + require.NoError(t, err) + assert.Equal(t, "nested%5Bvalue%5D=nestedValue&required=requiredValue", values.Encode()) + }) + + t.Run("url unspecified", func(t *testing.T) { + type example struct { + Required string `json:"required" url:"required"` + NotFound string `json:"notFound"` + } + + values, err := QueryValues( + &example{ + Required: "requiredValue", + NotFound: "notFound", + }, + ) + require.NoError(t, err) + assert.Equal(t, "required=requiredValue", values.Encode()) + }) + + t.Run("url ignored", func(t *testing.T) { + type example struct { + Required string `json:"required" url:"required"` + NotFound string `json:"notFound" url:"-"` + } + + values, err := QueryValues( + &example{ + Required: "requiredValue", + NotFound: "notFound", + }, + ) + require.NoError(t, err) + assert.Equal(t, "required=requiredValue", values.Encode()) + }) + + t.Run("datetime", func(t *testing.T) { + type example struct { + DateTime time.Time `json:"dateTime" url:"dateTime"` + } + + values, err := QueryValues( + &example{ + DateTime: time.Date(1994, 3, 16, 12, 34, 56, 0, time.UTC), + }, + ) + require.NoError(t, err) + assert.Equal(t, "dateTime=1994-03-16T12%3A34%3A56Z", values.Encode()) + }) + + t.Run("date", func(t *testing.T) { + type example struct { + Date time.Time `json:"date" url:"date" format:"date"` + } + + values, err := QueryValues( + &example{ + Date: time.Date(1994, 3, 16, 12, 34, 56, 0, time.UTC), + }, + ) + require.NoError(t, err) + assert.Equal(t, "date=1994-03-16", values.Encode()) + }) + + t.Run("optional time", func(t *testing.T) { + type example struct { + Date *time.Time `json:"date,omitempty" url:"date,omitempty" format:"date"` + } + + values, err := QueryValues( + &example{}, + ) + require.NoError(t, err) + assert.Empty(t, values.Encode()) + }) + + t.Run("omitempty with non-pointer zero value", func(t *testing.T) { + type enum string + + type example struct { + Enum enum `json:"enum,omitempty" url:"enum,omitempty"` + } + + values, err := QueryValues( + &example{}, + ) + require.NoError(t, err) + assert.Empty(t, values.Encode()) + }) + + t.Run("object array", func(t *testing.T) { + type object struct { + Key string `json:"key" url:"key"` + Value string `json:"value" url:"value"` + } + type example struct { + Objects []*object `json:"objects,omitempty" url:"objects,omitempty"` + } + + values, err := QueryValues( + &example{ + Objects: []*object{ + { + Key: "hello", + Value: "world", + }, + { + Key: "foo", + Value: "bar", + }, + }, + }, + ) + require.NoError(t, err) + assert.Equal(t, "objects%5Bkey%5D=hello&objects%5Bkey%5D=foo&objects%5Bvalue%5D=world&objects%5Bvalue%5D=bar", values.Encode()) + }) +} diff --git a/seed/go-sdk/path-parameters/no-custom-config/internal/retrier.go b/seed/go-sdk/path-parameters/no-custom-config/internal/retrier.go new file mode 100644 index 00000000000..6040147154b --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/internal/retrier.go @@ -0,0 +1,165 @@ +package internal + +import ( + "crypto/rand" + "math/big" + "net/http" + "time" +) + +const ( + defaultRetryAttempts = 2 + minRetryDelay = 500 * time.Millisecond + maxRetryDelay = 5000 * time.Millisecond +) + +// RetryOption adapts the behavior the *Retrier. +type RetryOption func(*retryOptions) + +// RetryFunc is a retriable HTTP function call (i.e. *http.Client.Do). +type RetryFunc func(*http.Request) (*http.Response, error) + +// WithMaxAttempts configures the maximum number of attempts +// of the *Retrier. +func WithMaxAttempts(attempts uint) RetryOption { + return func(opts *retryOptions) { + opts.attempts = attempts + } +} + +// Retrier retries failed requests a configurable number of times with an +// exponential back-off between each retry. +type Retrier struct { + attempts uint +} + +// NewRetrier constructs a new *Retrier with the given options, if any. +func NewRetrier(opts ...RetryOption) *Retrier { + options := new(retryOptions) + for _, opt := range opts { + opt(options) + } + attempts := uint(defaultRetryAttempts) + if options.attempts > 0 { + attempts = options.attempts + } + return &Retrier{ + attempts: attempts, + } +} + +// Run issues the request and, upon failure, retries the request if possible. +// +// The request will be retried as long as the request is deemed retriable and the +// number of retry attempts has not grown larger than the configured retry limit. +func (r *Retrier) Run( + fn RetryFunc, + request *http.Request, + errorDecoder ErrorDecoder, + opts ...RetryOption, +) (*http.Response, error) { + options := new(retryOptions) + for _, opt := range opts { + opt(options) + } + maxRetryAttempts := r.attempts + if options.attempts > 0 { + maxRetryAttempts = options.attempts + } + var ( + retryAttempt uint + previousError error + ) + return r.run( + fn, + request, + errorDecoder, + maxRetryAttempts, + retryAttempt, + previousError, + ) +} + +func (r *Retrier) run( + fn RetryFunc, + request *http.Request, + errorDecoder ErrorDecoder, + maxRetryAttempts uint, + retryAttempt uint, + previousError error, +) (*http.Response, error) { + if retryAttempt >= maxRetryAttempts { + return nil, previousError + } + + // If the call has been cancelled, don't issue the request. + if err := request.Context().Err(); err != nil { + return nil, err + } + + response, err := fn(request) + if err != nil { + return nil, err + } + + if r.shouldRetry(response) { + defer response.Body.Close() + + delay, err := r.retryDelay(retryAttempt) + if err != nil { + return nil, err + } + + time.Sleep(delay) + + return r.run( + fn, + request, + errorDecoder, + maxRetryAttempts, + retryAttempt+1, + decodeError(response, errorDecoder), + ) + } + + return response, nil +} + +// shouldRetry returns true if the request should be retried based on the given +// response status code. +func (r *Retrier) shouldRetry(response *http.Response) bool { + return response.StatusCode == http.StatusTooManyRequests || + response.StatusCode == http.StatusRequestTimeout || + response.StatusCode >= http.StatusInternalServerError +} + +// retryDelay calculates the delay time in milliseconds based on the retry attempt. +func (r *Retrier) retryDelay(retryAttempt uint) (time.Duration, error) { + // Apply exponential backoff. + delay := minRetryDelay + minRetryDelay*time.Duration(retryAttempt*retryAttempt) + + // Do not allow the number to exceed maxRetryDelay. + if delay > maxRetryDelay { + delay = maxRetryDelay + } + + // Apply some itter by randomizing the value in the range of 75%-100%. + max := big.NewInt(int64(delay / 4)) + jitter, err := rand.Int(rand.Reader, max) + if err != nil { + return 0, err + } + + delay -= time.Duration(jitter.Int64()) + + // Never sleep less than the base sleep seconds. + if delay < minRetryDelay { + delay = minRetryDelay + } + + return delay, nil +} + +type retryOptions struct { + attempts uint +} diff --git a/seed/go-sdk/path-parameters/internal/retrier_test.go b/seed/go-sdk/path-parameters/no-custom-config/internal/retrier_test.go similarity index 100% rename from seed/go-sdk/path-parameters/internal/retrier_test.go rename to seed/go-sdk/path-parameters/no-custom-config/internal/retrier_test.go diff --git a/seed/go-sdk/path-parameters/no-custom-config/internal/stringer.go b/seed/go-sdk/path-parameters/no-custom-config/internal/stringer.go new file mode 100644 index 00000000000..312801851e0 --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/internal/stringer.go @@ -0,0 +1,13 @@ +package internal + +import "encoding/json" + +// StringifyJSON returns a pretty JSON string representation of +// the given value. +func StringifyJSON(value interface{}) (string, error) { + bytes, err := json.MarshalIndent(value, "", " ") + if err != nil { + return "", err + } + return string(bytes), nil +} diff --git a/seed/go-sdk/path-parameters/no-custom-config/internal/time.go b/seed/go-sdk/path-parameters/no-custom-config/internal/time.go new file mode 100644 index 00000000000..ab0e269fade --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/internal/time.go @@ -0,0 +1,137 @@ +package internal + +import ( + "encoding/json" + "time" +) + +const dateFormat = "2006-01-02" + +// DateTime wraps time.Time and adapts its JSON representation +// to conform to a RFC3339 date (e.g. 2006-01-02). +// +// Ref: https://ijmacd.github.io/rfc3339-iso8601 +type Date struct { + t *time.Time +} + +// NewDate returns a new *Date. If the given time.Time +// is nil, nil will be returned. +func NewDate(t time.Time) *Date { + return &Date{t: &t} +} + +// NewOptionalDate returns a new *Date. If the given time.Time +// is nil, nil will be returned. +func NewOptionalDate(t *time.Time) *Date { + if t == nil { + return nil + } + return &Date{t: t} +} + +// Time returns the Date's underlying time, if any. If the +// date is nil, the zero value is returned. +func (d *Date) Time() time.Time { + if d == nil || d.t == nil { + return time.Time{} + } + return *d.t +} + +// TimePtr returns a pointer to the Date's underlying time.Time, if any. +func (d *Date) TimePtr() *time.Time { + if d == nil || d.t == nil { + return nil + } + if d.t.IsZero() { + return nil + } + return d.t +} + +func (d *Date) MarshalJSON() ([]byte, error) { + if d == nil || d.t == nil { + return nil, nil + } + return json.Marshal(d.t.Format(dateFormat)) +} + +func (d *Date) UnmarshalJSON(data []byte) error { + var raw string + if err := json.Unmarshal(data, &raw); err != nil { + return err + } + + parsedTime, err := time.Parse(dateFormat, raw) + if err != nil { + return err + } + + *d = Date{t: &parsedTime} + return nil +} + +// DateTime wraps time.Time and adapts its JSON representation +// to conform to a RFC3339 date-time (e.g. 2017-07-21T17:32:28Z). +// +// Ref: https://ijmacd.github.io/rfc3339-iso8601 +type DateTime struct { + t *time.Time +} + +// NewDateTime returns a new *DateTime. +func NewDateTime(t time.Time) *DateTime { + return &DateTime{t: &t} +} + +// NewOptionalDateTime returns a new *DateTime. If the given time.Time +// is nil, nil will be returned. +func NewOptionalDateTime(t *time.Time) *DateTime { + if t == nil { + return nil + } + return &DateTime{t: t} +} + +// Time returns the DateTime's underlying time, if any. If the +// date-time is nil, the zero value is returned. +func (d *DateTime) Time() time.Time { + if d == nil || d.t == nil { + return time.Time{} + } + return *d.t +} + +// TimePtr returns a pointer to the DateTime's underlying time.Time, if any. +func (d *DateTime) TimePtr() *time.Time { + if d == nil || d.t == nil { + return nil + } + if d.t.IsZero() { + return nil + } + return d.t +} + +func (d *DateTime) MarshalJSON() ([]byte, error) { + if d == nil || d.t == nil { + return nil, nil + } + return json.Marshal(d.t.Format(time.RFC3339)) +} + +func (d *DateTime) UnmarshalJSON(data []byte) error { + var raw string + if err := json.Unmarshal(data, &raw); err != nil { + return err + } + + parsedTime, err := time.Parse(time.RFC3339, raw) + if err != nil { + return err + } + + *d = DateTime{t: &parsedTime} + return nil +} diff --git a/seed/go-sdk/path-parameters/option/request_option.go b/seed/go-sdk/path-parameters/no-custom-config/option/request_option.go similarity index 100% rename from seed/go-sdk/path-parameters/option/request_option.go rename to seed/go-sdk/path-parameters/no-custom-config/option/request_option.go diff --git a/seed/go-sdk/path-parameters/pointer.go b/seed/go-sdk/path-parameters/no-custom-config/pointer.go similarity index 100% rename from seed/go-sdk/path-parameters/pointer.go rename to seed/go-sdk/path-parameters/no-custom-config/pointer.go diff --git a/seed/go-sdk/path-parameters/no-custom-config/snippet-templates.json b/seed/go-sdk/path-parameters/no-custom-config/snippet-templates.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/seed/go-sdk/path-parameters/snippet.json b/seed/go-sdk/path-parameters/no-custom-config/snippet.json similarity index 51% rename from seed/go-sdk/path-parameters/snippet.json rename to seed/go-sdk/path-parameters/no-custom-config/snippet.json index be84aa9bdec..d1bd48b1953 100644 --- a/seed/go-sdk/path-parameters/snippet.json +++ b/seed/go-sdk/path-parameters/no-custom-config/snippet.json @@ -1,5 +1,16 @@ { "endpoints": [ + { + "id": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifier_override": "endpoint_user.searchOrganizations" + }, + "snippet": { + "type": "go", + "client": "import (\n\tcontext \"context\"\n\tfern \"github.com/path-parameters/fern\"\n\tfernclient \"github.com/path-parameters/fern/client\"\n)\n\nclient := fernclient.NewClient()\nresponse, err := client.User.SearchOrganizations(\n\tcontext.TODO(),\n\t\"organizationId\",\n\t\u0026fern.SearchOrganizationsRequest{\n\t\tLimit: fern.Int(\n\t\t\t1,\n\t\t),\n\t},\n)\n" + } + }, { "id": { "path": "/user/organizations/{organizationId}", @@ -19,7 +30,18 @@ }, "snippet": { "type": "go", - "client": "import (\n\tcontext \"context\"\n\tfern \"github.com/path-parameters/fern\"\n\tfernclient \"github.com/path-parameters/fern/client\"\n)\n\nclient := fernclient.NewClient()\nresponse, err := client.User.GetOrganizationUser(\n\tcontext.TODO(),\n\t\"organizationId\",\n\t\"userId\",\n\t\u0026fern.GetOrganizationUserRequest{},\n)\n" + "client": "import (\n\tcontext \"context\"\n\tfernclient \"github.com/path-parameters/fern/client\"\n)\n\nclient := fernclient.NewClient()\nresponse, err := client.User.GetOrganizationUser(\n\tcontext.TODO(),\n\t\"organizationId\",\n\t\"userId\",\n)\n" + } + }, + { + "id": { + "path": "/user/users/{userId}", + "method": "GET", + "identifier_override": "endpoint_user.searchUsers" + }, + "snippet": { + "type": "go", + "client": "import (\n\tcontext \"context\"\n\tfern \"github.com/path-parameters/fern\"\n\tfernclient \"github.com/path-parameters/fern/client\"\n)\n\nclient := fernclient.NewClient()\nresponse, err := client.User.SearchUsers(\n\tcontext.TODO(),\n\t\"userId\",\n\t\u0026fern.SearchUsersRequest{\n\t\tLimit: fern.Int(\n\t\t\t1,\n\t\t),\n\t},\n)\n" } }, { @@ -30,7 +52,7 @@ }, "snippet": { "type": "go", - "client": "import (\n\tcontext \"context\"\n\tfern \"github.com/path-parameters/fern\"\n\tfernclient \"github.com/path-parameters/fern/client\"\n)\n\nclient := fernclient.NewClient()\nresponse, err := client.User.GetUser(\n\tcontext.TODO(),\n\t\"userId\",\n\t\u0026fern.GetUsersRequest{},\n)\n" + "client": "import (\n\tcontext \"context\"\n\tfernclient \"github.com/path-parameters/fern/client\"\n)\n\nclient := fernclient.NewClient()\nresponse, err := client.User.GetUser(\n\tcontext.TODO(),\n\t\"userId\",\n)\n" } } ] diff --git a/seed/go-sdk/path-parameters/no-custom-config/user.go b/seed/go-sdk/path-parameters/no-custom-config/user.go new file mode 100644 index 00000000000..fa48dce393c --- /dev/null +++ b/seed/go-sdk/path-parameters/no-custom-config/user.go @@ -0,0 +1,125 @@ +// This file was auto-generated by Fern from our API Definition. + +package pathparameters + +import ( + json "encoding/json" + fmt "fmt" + internal "github.com/path-parameters/fern/internal" +) + +type SearchOrganizationsRequest struct { + Limit *int `json:"-" url:"limit,omitempty"` +} + +type SearchUsersRequest struct { + Limit *int `json:"-" url:"limit,omitempty"` +} + +type Organization struct { + Name string `json:"name" url:"name"` + Tags []string `json:"tags,omitempty" url:"tags,omitempty"` + + extraProperties map[string]interface{} + rawJSON json.RawMessage +} + +func (o *Organization) GetName() string { + if o == nil { + return "" + } + return o.Name +} + +func (o *Organization) GetTags() []string { + if o == nil { + return nil + } + return o.Tags +} + +func (o *Organization) GetExtraProperties() map[string]interface{} { + return o.extraProperties +} + +func (o *Organization) UnmarshalJSON(data []byte) error { + type unmarshaler Organization + var value unmarshaler + if err := json.Unmarshal(data, &value); err != nil { + return err + } + *o = Organization(value) + extraProperties, err := internal.ExtractExtraProperties(data, *o) + if err != nil { + return err + } + o.extraProperties = extraProperties + o.rawJSON = json.RawMessage(data) + return nil +} + +func (o *Organization) String() string { + if len(o.rawJSON) > 0 { + if value, err := internal.StringifyJSON(o.rawJSON); err == nil { + return value + } + } + if value, err := internal.StringifyJSON(o); err == nil { + return value + } + return fmt.Sprintf("%#v", o) +} + +type User struct { + Name string `json:"name" url:"name"` + Tags []string `json:"tags,omitempty" url:"tags,omitempty"` + + extraProperties map[string]interface{} + rawJSON json.RawMessage +} + +func (u *User) GetName() string { + if u == nil { + return "" + } + return u.Name +} + +func (u *User) GetTags() []string { + if u == nil { + return nil + } + return u.Tags +} + +func (u *User) GetExtraProperties() map[string]interface{} { + return u.extraProperties +} + +func (u *User) UnmarshalJSON(data []byte) error { + type unmarshaler User + var value unmarshaler + if err := json.Unmarshal(data, &value); err != nil { + return err + } + *u = User(value) + extraProperties, err := internal.ExtractExtraProperties(data, *u) + if err != nil { + return err + } + u.extraProperties = extraProperties + u.rawJSON = json.RawMessage(data) + return nil +} + +func (u *User) String() string { + if len(u.rawJSON) > 0 { + if value, err := internal.StringifyJSON(u.rawJSON); err == nil { + return value + } + } + if value, err := internal.StringifyJSON(u); err == nil { + return value + } + return fmt.Sprintf("%#v", u) +} diff --git a/seed/go-sdk/path-parameters/user/client.go b/seed/go-sdk/path-parameters/no-custom-config/user/client.go similarity index 59% rename from seed/go-sdk/path-parameters/user/client.go rename to seed/go-sdk/path-parameters/no-custom-config/user/client.go index 8edeb3987a7..e420e4852bb 100644 --- a/seed/go-sdk/path-parameters/user/client.go +++ b/seed/go-sdk/path-parameters/no-custom-config/user/client.go @@ -35,7 +35,7 @@ func (c *Client) GetOrganization( ctx context.Context, organizationId string, opts ...option.RequestOption, -) (*fern.User, error) { +) (*fern.Organization, error) { options := core.NewRequestOptions(opts...) baseURL := internal.ResolveBaseURL( options.BaseURL, @@ -51,7 +51,7 @@ func (c *Client) GetOrganization( options.ToHeader(), ) - var response *fern.User + var response *fern.Organization if err := c.caller.Call( ctx, &internal.CallParams{ @@ -73,7 +73,6 @@ func (c *Client) GetOrganization( func (c *Client) GetUser( ctx context.Context, userId string, - request *fern.GetUsersRequest, opts ...option.RequestOption, ) (*fern.User, error) { options := core.NewRequestOptions(opts...) @@ -114,7 +113,6 @@ func (c *Client) GetOrganizationUser( ctx context.Context, organizationId string, userId string, - request *fern.GetOrganizationUserRequest, opts ...option.RequestOption, ) (*fern.User, error) { options := core.NewRequestOptions(opts...) @@ -151,3 +149,97 @@ func (c *Client) GetOrganizationUser( } return response, nil } + +func (c *Client) SearchUsers( + ctx context.Context, + userId string, + request *fern.SearchUsersRequest, + opts ...option.RequestOption, +) ([]*fern.User, error) { + options := core.NewRequestOptions(opts...) + baseURL := internal.ResolveBaseURL( + options.BaseURL, + c.baseURL, + "", + ) + endpointURL := internal.EncodeURL( + baseURL+"/user/users/%v", + userId, + ) + queryParams, err := internal.QueryValues(request) + if err != nil { + return nil, err + } + if len(queryParams) > 0 { + endpointURL += "?" + queryParams.Encode() + } + headers := internal.MergeHeaders( + c.header.Clone(), + options.ToHeader(), + ) + + var response []*fern.User + if err := c.caller.Call( + ctx, + &internal.CallParams{ + URL: endpointURL, + Method: http.MethodGet, + Headers: headers, + MaxAttempts: options.MaxAttempts, + BodyProperties: options.BodyProperties, + QueryParameters: options.QueryParameters, + Client: options.HTTPClient, + Response: &response, + }, + ); err != nil { + return nil, err + } + return response, nil +} + +func (c *Client) SearchOrganizations( + ctx context.Context, + organizationId string, + request *fern.SearchOrganizationsRequest, + opts ...option.RequestOption, +) ([]*fern.Organization, error) { + options := core.NewRequestOptions(opts...) + baseURL := internal.ResolveBaseURL( + options.BaseURL, + c.baseURL, + "", + ) + endpointURL := internal.EncodeURL( + baseURL+"/user/organizations/%v", + organizationId, + ) + queryParams, err := internal.QueryValues(request) + if err != nil { + return nil, err + } + if len(queryParams) > 0 { + endpointURL += "?" + queryParams.Encode() + } + headers := internal.MergeHeaders( + c.header.Clone(), + options.ToHeader(), + ) + + var response []*fern.Organization + if err := c.caller.Call( + ctx, + &internal.CallParams{ + URL: endpointURL, + Method: http.MethodGet, + Headers: headers, + MaxAttempts: options.MaxAttempts, + BodyProperties: options.BodyProperties, + QueryParameters: options.QueryParameters, + Client: options.HTTPClient, + Response: &response, + }, + ); err != nil { + return nil, err + } + return response, nil +} diff --git a/seed/go-sdk/path-parameters/user.go b/seed/go-sdk/path-parameters/user.go deleted file mode 100644 index 26f4f8bd7de..00000000000 --- a/seed/go-sdk/path-parameters/user.go +++ /dev/null @@ -1,69 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -package pathparameters - -import ( - json "encoding/json" - fmt "fmt" - internal "github.com/path-parameters/fern/internal" -) - -type GetOrganizationUserRequest struct { -} - -type GetUsersRequest struct { -} - -type User struct { - Name string `json:"name" url:"name"` - Tags []string `json:"tags,omitempty" url:"tags,omitempty"` - - extraProperties map[string]interface{} - rawJSON json.RawMessage -} - -func (u *User) GetName() string { - if u == nil { - return "" - } - return u.Name -} - -func (u *User) GetTags() []string { - if u == nil { - return nil - } - return u.Tags -} - -func (u *User) GetExtraProperties() map[string]interface{} { - return u.extraProperties -} - -func (u *User) UnmarshalJSON(data []byte) error { - type unmarshaler User - var value unmarshaler - if err := json.Unmarshal(data, &value); err != nil { - return err - } - *u = User(value) - extraProperties, err := internal.ExtractExtraProperties(data, *u) - if err != nil { - return err - } - u.extraProperties = extraProperties - u.rawJSON = json.RawMessage(data) - return nil -} - -func (u *User) String() string { - if len(u.rawJSON) > 0 { - if value, err := internal.StringifyJSON(u.rawJSON); err == nil { - return value - } - } - if value, err := internal.StringifyJSON(u); err == nil { - return value - } - return fmt.Sprintf("%#v", u) -} diff --git a/seed/go-sdk/seed.yml b/seed/go-sdk/seed.yml index f418ec4696e..da7fd460886 100644 --- a/seed/go-sdk/seed.yml +++ b/seed/go-sdk/seed.yml @@ -63,6 +63,17 @@ fixtures: module: path: github.com/fern-api/file-upload-go inlineFileProperties: true + path-parameters: + - outputFolder: no-custom-config + customConfig: null + - outputFolder: inline-path-parameters + outputVersion: 0.0.1 + customConfig: + packageName: path + union: v1 + module: + path: github.com/fern-api/path-parameters-go + inlinePathParameters: true streaming: - outputFolder: . outputVersion: v2.0.0 @@ -90,3 +101,6 @@ allowedFailures: - server-sent-events - streaming-parameter - trace + + # TODO: Update DynamicSnippetsGenerator to recognize InlinedRequestMetadata. + - path-parameters:no-custom-config diff --git a/seed/java-model/path-parameters/.mock/definition/user.yml b/seed/java-model/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/java-model/path-parameters/.mock/definition/user.yml +++ b/seed/java-model/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/java-model/path-parameters/src/main/java/com/seed/pathParameters/model/user/Organization.java b/seed/java-model/path-parameters/src/main/java/com/seed/pathParameters/model/user/Organization.java new file mode 100644 index 00000000000..8f658c6fee8 --- /dev/null +++ b/seed/java-model/path-parameters/src/main/java/com/seed/pathParameters/model/user/Organization.java @@ -0,0 +1,126 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.seed.pathParameters.model.user; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.seed.pathParameters.core.ObjectMappers; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = Organization.Builder.class) +public final class Organization { + private final String name; + + private final List tags; + + private Organization(String name, List tags) { + this.name = name; + this.tags = tags; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("tags") + public List getTags() { + return tags; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof Organization && equalTo((Organization) other); + } + + private boolean equalTo(Organization other) { + return name.equals(other.name) && tags.equals(other.tags); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.name, this.tags); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static NameStage builder() { + return new Builder(); + } + + public interface NameStage { + _FinalStage name(String name); + + Builder from(Organization other); + } + + public interface _FinalStage { + Organization build(); + + _FinalStage tags(List tags); + + _FinalStage addTags(String tags); + + _FinalStage addAllTags(List tags); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements NameStage, _FinalStage { + private String name; + + private List tags = new ArrayList<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(Organization other) { + name(other.getName()); + tags(other.getTags()); + return this; + } + + @java.lang.Override + @JsonSetter("name") + public _FinalStage name(String name) { + this.name = Objects.requireNonNull(name, "name must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage addAllTags(List tags) { + this.tags.addAll(tags); + return this; + } + + @java.lang.Override + public _FinalStage addTags(String tags) { + this.tags.add(tags); + return this; + } + + @java.lang.Override + @JsonSetter(value = "tags", nulls = Nulls.SKIP) + public _FinalStage tags(List tags) { + this.tags.clear(); + this.tags.addAll(tags); + return this; + } + + @java.lang.Override + public Organization build() { + return new Organization(name, tags); + } + } +} diff --git a/seed/java-sdk/path-parameters/.mock/definition/user.yml b/seed/java-sdk/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/java-sdk/path-parameters/.mock/definition/user.yml +++ b/seed/java-sdk/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/UserClient.java b/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/UserClient.java index 77e830cef27..cf6ba0a18bd 100644 --- a/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/UserClient.java +++ b/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/UserClient.java @@ -3,6 +3,7 @@ */ package com.seed.pathParameters.resources.user; +import com.fasterxml.jackson.core.type.TypeReference; import com.seed.pathParameters.core.ClientOptions; import com.seed.pathParameters.core.ObjectMappers; import com.seed.pathParameters.core.RequestOptions; @@ -10,8 +11,12 @@ import com.seed.pathParameters.core.SeedPathParametersException; import com.seed.pathParameters.resources.user.requests.GetOrganizationUserRequest; import com.seed.pathParameters.resources.user.requests.GetUsersRequest; +import com.seed.pathParameters.resources.user.requests.SearchOrganizationsRequest; +import com.seed.pathParameters.resources.user.requests.SearchUsersRequest; +import com.seed.pathParameters.resources.user.types.Organization; import com.seed.pathParameters.resources.user.types.User; import java.io.IOException; +import java.util.List; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -26,11 +31,11 @@ public UserClient(ClientOptions clientOptions) { this.clientOptions = clientOptions; } - public User getOrganization(String organizationId) { + public Organization getOrganization(String organizationId) { return getOrganization(organizationId, null); } - public User getOrganization(String organizationId, RequestOptions requestOptions) { + public Organization getOrganization(String organizationId, RequestOptions requestOptions) { HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() .addPathSegments("user") @@ -50,7 +55,7 @@ public User getOrganization(String organizationId, RequestOptions requestOptions try (Response response = client.newCall(okhttpRequest).execute()) { ResponseBody responseBody = response.body(); if (response.isSuccessful()) { - return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), User.class); + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), Organization.class); } String responseBodyString = responseBody != null ? responseBody.string() : "{}"; throw new SeedPathParametersApiException( @@ -145,4 +150,91 @@ public User getOrganizationUser( throw new SeedPathParametersException("Network error executing HTTP request", e); } } + + public List searchUsers(String userId) { + return searchUsers(userId, SearchUsersRequest.builder().build()); + } + + public List searchUsers(String userId, SearchUsersRequest request) { + return searchUsers(userId, request, null); + } + + public List searchUsers(String userId, SearchUsersRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("user") + .addPathSegments("users") + .addPathSegment(userId); + if (request.getLimit().isPresent()) { + httpUrl.addQueryParameter("limit", request.getLimit().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), new TypeReference>() {}); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new SeedPathParametersApiException( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new SeedPathParametersException("Network error executing HTTP request", e); + } + } + + public List searchOrganizations(String organizationId) { + return searchOrganizations( + organizationId, SearchOrganizationsRequest.builder().build()); + } + + public List searchOrganizations(String organizationId, SearchOrganizationsRequest request) { + return searchOrganizations(organizationId, request, null); + } + + public List searchOrganizations( + String organizationId, SearchOrganizationsRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("user") + .addPathSegments("organizations") + .addPathSegment(organizationId); + if (request.getLimit().isPresent()) { + httpUrl.addQueryParameter("limit", request.getLimit().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue( + responseBody.string(), new TypeReference>() {}); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new SeedPathParametersApiException( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new SeedPathParametersException("Network error executing HTTP request", e); + } + } } diff --git a/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/requests/SearchOrganizationsRequest.java b/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/requests/SearchOrganizationsRequest.java new file mode 100644 index 00000000000..d8e0e71912a --- /dev/null +++ b/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/requests/SearchOrganizationsRequest.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.seed.pathParameters.resources.user.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.seed.pathParameters.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SearchOrganizationsRequest.Builder.class) +public final class SearchOrganizationsRequest { + private final Optional limit; + + private final Map additionalProperties; + + private SearchOrganizationsRequest(Optional limit, Map additionalProperties) { + this.limit = limit; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("limit") + public Optional getLimit() { + return limit; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SearchOrganizationsRequest && equalTo((SearchOrganizationsRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SearchOrganizationsRequest other) { + return limit.equals(other.limit); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.limit); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional limit = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(SearchOrganizationsRequest other) { + limit(other.getLimit()); + return this; + } + + @JsonSetter(value = "limit", nulls = Nulls.SKIP) + public Builder limit(Optional limit) { + this.limit = limit; + return this; + } + + public Builder limit(Integer limit) { + this.limit = Optional.ofNullable(limit); + return this; + } + + public SearchOrganizationsRequest build() { + return new SearchOrganizationsRequest(limit, additionalProperties); + } + } +} diff --git a/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/requests/SearchUsersRequest.java b/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/requests/SearchUsersRequest.java new file mode 100644 index 00000000000..c438c2ca780 --- /dev/null +++ b/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/requests/SearchUsersRequest.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.seed.pathParameters.resources.user.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.seed.pathParameters.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SearchUsersRequest.Builder.class) +public final class SearchUsersRequest { + private final Optional limit; + + private final Map additionalProperties; + + private SearchUsersRequest(Optional limit, Map additionalProperties) { + this.limit = limit; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("limit") + public Optional getLimit() { + return limit; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SearchUsersRequest && equalTo((SearchUsersRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SearchUsersRequest other) { + return limit.equals(other.limit); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.limit); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional limit = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(SearchUsersRequest other) { + limit(other.getLimit()); + return this; + } + + @JsonSetter(value = "limit", nulls = Nulls.SKIP) + public Builder limit(Optional limit) { + this.limit = limit; + return this; + } + + public Builder limit(Integer limit) { + this.limit = Optional.ofNullable(limit); + return this; + } + + public SearchUsersRequest build() { + return new SearchUsersRequest(limit, additionalProperties); + } + } +} diff --git a/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/types/Organization.java b/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/types/Organization.java new file mode 100644 index 00000000000..08aee2735f5 --- /dev/null +++ b/seed/java-sdk/path-parameters/src/main/java/com/seed/pathParameters/resources/user/types/Organization.java @@ -0,0 +1,142 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.seed.pathParameters.resources.user.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.seed.pathParameters.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = Organization.Builder.class) +public final class Organization { + private final String name; + + private final List tags; + + private final Map additionalProperties; + + private Organization(String name, List tags, Map additionalProperties) { + this.name = name; + this.tags = tags; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("tags") + public List getTags() { + return tags; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof Organization && equalTo((Organization) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(Organization other) { + return name.equals(other.name) && tags.equals(other.tags); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.name, this.tags); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static NameStage builder() { + return new Builder(); + } + + public interface NameStage { + _FinalStage name(@NotNull String name); + + Builder from(Organization other); + } + + public interface _FinalStage { + Organization build(); + + _FinalStage tags(List tags); + + _FinalStage addTags(String tags); + + _FinalStage addAllTags(List tags); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements NameStage, _FinalStage { + private String name; + + private List tags = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(Organization other) { + name(other.getName()); + tags(other.getTags()); + return this; + } + + @java.lang.Override + @JsonSetter("name") + public _FinalStage name(@NotNull String name) { + this.name = Objects.requireNonNull(name, "name must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage addAllTags(List tags) { + this.tags.addAll(tags); + return this; + } + + @java.lang.Override + public _FinalStage addTags(String tags) { + this.tags.add(tags); + return this; + } + + @java.lang.Override + @JsonSetter(value = "tags", nulls = Nulls.SKIP) + public _FinalStage tags(List tags) { + this.tags.clear(); + this.tags.addAll(tags); + return this; + } + + @java.lang.Override + public Organization build() { + return new Organization(name, tags, additionalProperties); + } + } +} diff --git a/seed/java-spring/path-parameters/.mock/definition/user.yml b/seed/java-spring/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/java-spring/path-parameters/.mock/definition/user.yml +++ b/seed/java-spring/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/java-spring/path-parameters/resources/user/UserService.java b/seed/java-spring/path-parameters/resources/user/UserService.java index 2091c3fd321..72822cda809 100644 --- a/seed/java-spring/path-parameters/resources/user/UserService.java +++ b/seed/java-spring/path-parameters/resources/user/UserService.java @@ -4,10 +4,15 @@ package resources.user; +import java.lang.Integer; import java.lang.String; +import java.util.List; +import java.util.Optional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import resources.user.types.Organization; import resources.user.types.User; @RequestMapping( @@ -18,7 +23,7 @@ public interface UserService { value = "/organizations/{organizationId}", produces = "application/json" ) - User getOrganization(@PathVariable("organizationId") String organizationId); + Organization getOrganization(@PathVariable("organizationId") String organizationId); @GetMapping( value = "/users/{userId}", @@ -32,4 +37,18 @@ public interface UserService { ) User getOrganizationUser(@PathVariable("organizationId") String organizationId, @PathVariable("userId") String userId); + + @GetMapping( + value = "/users/{userId}", + produces = "application/json" + ) + List searchUsers(@PathVariable("userId") String userId, + @RequestParam("limit") Optional limit); + + @GetMapping( + value = "/organizations/{organizationId}", + produces = "application/json" + ) + List searchOrganizations(@PathVariable("organizationId") String organizationId, + @RequestParam("limit") Optional limit); } diff --git a/seed/java-spring/path-parameters/resources/user/types/Organization.java b/seed/java-spring/path-parameters/resources/user/types/Organization.java new file mode 100644 index 00000000000..c206b595830 --- /dev/null +++ b/seed/java-spring/path-parameters/resources/user/types/Organization.java @@ -0,0 +1,138 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +package resources.user.types; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import core.ObjectMappers; +import java.lang.Object; +import java.lang.String; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize( + builder = Organization.Builder.class +) +public final class Organization { + private final String name; + + private final List tags; + + private Organization(String name, List tags) { + this.name = name; + this.tags = tags; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("tags") + public List getTags() { + return tags; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof Organization && equalTo((Organization) other); + } + + private boolean equalTo(Organization other) { + return name.equals(other.name) && tags.equals(other.tags); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.name, this.tags); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static NameStage builder() { + return new Builder(); + } + + public interface NameStage { + _FinalStage name(@NotNull String name); + + Builder from(Organization other); + } + + public interface _FinalStage { + Organization build(); + + _FinalStage tags(List tags); + + _FinalStage addTags(String tags); + + _FinalStage addAllTags(List tags); + } + + @JsonIgnoreProperties( + ignoreUnknown = true + ) + public static final class Builder implements NameStage, _FinalStage { + private String name; + + private List tags = new ArrayList<>(); + + private Builder() { + } + + @java.lang.Override + public Builder from(Organization other) { + name(other.getName()); + tags(other.getTags()); + return this; + } + + @java.lang.Override + @JsonSetter("name") + public _FinalStage name(@NotNull String name) { + this.name = Objects.requireNonNull(name, "name must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage addAllTags(List tags) { + this.tags.addAll(tags); + return this; + } + + @java.lang.Override + public _FinalStage addTags(String tags) { + this.tags.add(tags); + return this; + } + + @java.lang.Override + @JsonSetter( + value = "tags", + nulls = Nulls.SKIP + ) + public _FinalStage tags(List tags) { + this.tags.clear(); + this.tags.addAll(tags); + return this; + } + + @java.lang.Override + public Organization build() { + return new Organization(name, tags); + } + } +} diff --git a/seed/openapi/path-parameters/.mock/definition/user.yml b/seed/openapi/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/openapi/path-parameters/.mock/definition/user.yml +++ b/seed/openapi/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/openapi/path-parameters/openapi.yml b/seed/openapi/path-parameters/openapi.yml deleted file mode 100644 index 8412e2eb5ec..00000000000 --- a/seed/openapi/path-parameters/openapi.yml +++ /dev/null @@ -1,80 +0,0 @@ -openapi: 3.0.1 -info: - title: path-parameters - version: '' -paths: - /user/organizations/{organizationId}: - get: - operationId: user_getOrganization - tags: - - User - parameters: - - name: organizationId - in: path - required: true - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/User' - /user/users/{userId}: - get: - operationId: user_getUser - tags: - - User - parameters: - - name: userId - in: path - required: true - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/User' - /user/organizations/{organizationId}/users/{userId}: - get: - operationId: user_getOrganizationUser - tags: - - User - parameters: - - name: organizationId - in: path - required: true - schema: - type: string - - name: userId - in: path - required: true - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/User' -components: - schemas: - User: - title: User - type: object - properties: - name: - type: string - tags: - type: array - items: - type: string - required: - - name - - tags - securitySchemes: {} diff --git a/seed/php-model/path-parameters/.mock/definition/user.yml b/seed/php-model/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/php-model/path-parameters/.mock/definition/user.yml +++ b/seed/php-model/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/php-model/path-parameters/src/User/Organization.php b/seed/php-model/path-parameters/src/User/Organization.php new file mode 100644 index 00000000000..0a6fce689e3 --- /dev/null +++ b/seed/php-model/path-parameters/src/User/Organization.php @@ -0,0 +1,35 @@ + $tags + */ + #[JsonProperty('tags'), ArrayType(['string'])] + public array $tags; + + /** + * @param array{ + * name: string, + * tags: array, + * } $values + */ + public function __construct( + array $values, + ) { + $this->name = $values['name']; + $this->tags = $values['tags']; + } +} diff --git a/seed/php-sdk/path-parameters/.mock/definition/user.yml b/seed/php-sdk/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/php-sdk/path-parameters/.mock/definition/user.yml +++ b/seed/php-sdk/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/php-sdk/path-parameters/src/User/Requests/SearchOrganizationsRequest.php b/seed/php-sdk/path-parameters/src/User/Requests/SearchOrganizationsRequest.php new file mode 100644 index 00000000000..8f6a3638d94 --- /dev/null +++ b/seed/php-sdk/path-parameters/src/User/Requests/SearchOrganizationsRequest.php @@ -0,0 +1,24 @@ +limit = $values['limit'] ?? null; + } +} diff --git a/seed/php-sdk/path-parameters/src/User/Requests/SearchUsersRequest.php b/seed/php-sdk/path-parameters/src/User/Requests/SearchUsersRequest.php new file mode 100644 index 00000000000..64ebcd85bc2 --- /dev/null +++ b/seed/php-sdk/path-parameters/src/User/Requests/SearchUsersRequest.php @@ -0,0 +1,24 @@ +limit = $values['limit'] ?? null; + } +} diff --git a/seed/php-sdk/path-parameters/src/User/Types/Organization.php b/seed/php-sdk/path-parameters/src/User/Types/Organization.php new file mode 100644 index 00000000000..f8442d0db54 --- /dev/null +++ b/seed/php-sdk/path-parameters/src/User/Types/Organization.php @@ -0,0 +1,35 @@ + $tags + */ + #[JsonProperty('tags'), ArrayType(['string'])] + public array $tags; + + /** + * @param array{ + * name: string, + * tags: array, + * } $values + */ + public function __construct( + array $values, + ) { + $this->name = $values['name']; + $this->tags = $values['tags']; + } +} diff --git a/seed/php-sdk/path-parameters/src/User/UserClient.php b/seed/php-sdk/path-parameters/src/User/UserClient.php index be29aafbd7c..54e23c6c291 100644 --- a/seed/php-sdk/path-parameters/src/User/UserClient.php +++ b/seed/php-sdk/path-parameters/src/User/UserClient.php @@ -3,7 +3,7 @@ namespace Seed\User; use Seed\Core\Client\RawClient; -use Seed\User\Types\User; +use Seed\User\Types\Organization; use Seed\Exceptions\SeedException; use Seed\Exceptions\SeedApiException; use Seed\Core\Json\JsonApiRequest; @@ -11,7 +11,11 @@ use JsonException; use Psr\Http\Client\ClientExceptionInterface; use Seed\User\Requests\GetUsersRequest; +use Seed\User\Types\User; use Seed\User\Requests\GetOrganizationUserRequest; +use Seed\User\Requests\SearchUsersRequest; +use Seed\Core\Json\JsonDecoder; +use Seed\User\Requests\SearchOrganizationsRequest; class UserClient { @@ -34,11 +38,11 @@ public function __construct( * @param ?array{ * baseUrl?: string, * } $options - * @return User + * @return Organization * @throws SeedException * @throws SeedApiException */ - public function getOrganization(string $organizationId, ?array $options = null): User + public function getOrganization(string $organizationId, ?array $options = null): Organization { try { $response = $this->client->sendRequest( @@ -51,7 +55,7 @@ public function getOrganization(string $organizationId, ?array $options = null): $statusCode = $response->getStatusCode(); if ($statusCode >= 200 && $statusCode < 400) { $json = $response->getBody()->getContents(); - return User::fromJson($json); + return Organization::fromJson($json); } } catch (JsonException $e) { throw new SeedException(message: "Failed to deserialize response: {$e->getMessage()}", previous: $e); @@ -139,4 +143,88 @@ public function getOrganizationUser(string $organizationId, string $userId, GetO body: $response->getBody()->getContents(), ); } + + /** + * @param string $userId + * @param SearchUsersRequest $request + * @param ?array{ + * baseUrl?: string, + * } $options + * @return array + * @throws SeedException + * @throws SeedApiException + */ + public function searchUsers(string $userId, SearchUsersRequest $request, ?array $options = null): array + { + $query = []; + if ($request->limit != null) { + $query['limit'] = $request->limit; + } + try { + $response = $this->client->sendRequest( + new JsonApiRequest( + baseUrl: $options['baseUrl'] ?? $this->client->options['baseUrl'] ?? '', + path: "/user/users/$userId", + method: HttpMethod::GET, + query: $query, + ), + ); + $statusCode = $response->getStatusCode(); + if ($statusCode >= 200 && $statusCode < 400) { + $json = $response->getBody()->getContents(); + return JsonDecoder::decodeArray($json, [User::class]); // @phpstan-ignore-line + } + } catch (JsonException $e) { + throw new SeedException(message: "Failed to deserialize response: {$e->getMessage()}", previous: $e); + } catch (ClientExceptionInterface $e) { + throw new SeedException(message: $e->getMessage(), previous: $e); + } + throw new SeedApiException( + message: 'API request failed', + statusCode: $statusCode, + body: $response->getBody()->getContents(), + ); + } + + /** + * @param string $organizationId + * @param SearchOrganizationsRequest $request + * @param ?array{ + * baseUrl?: string, + * } $options + * @return array + * @throws SeedException + * @throws SeedApiException + */ + public function searchOrganizations(string $organizationId, SearchOrganizationsRequest $request, ?array $options = null): array + { + $query = []; + if ($request->limit != null) { + $query['limit'] = $request->limit; + } + try { + $response = $this->client->sendRequest( + new JsonApiRequest( + baseUrl: $options['baseUrl'] ?? $this->client->options['baseUrl'] ?? '', + path: "/user/organizations/$organizationId", + method: HttpMethod::GET, + query: $query, + ), + ); + $statusCode = $response->getStatusCode(); + if ($statusCode >= 200 && $statusCode < 400) { + $json = $response->getBody()->getContents(); + return JsonDecoder::decodeArray($json, [Organization::class]); // @phpstan-ignore-line + } + } catch (JsonException $e) { + throw new SeedException(message: "Failed to deserialize response: {$e->getMessage()}", previous: $e); + } catch (ClientExceptionInterface $e) { + throw new SeedException(message: $e->getMessage(), previous: $e); + } + throw new SeedApiException( + message: 'API request failed', + statusCode: $statusCode, + body: $response->getBody()->getContents(), + ); + } } diff --git a/seed/postman/path-parameters/.mock/definition/user.yml b/seed/postman/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/postman/path-parameters/.mock/definition/user.yml +++ b/seed/postman/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/postman/path-parameters/collection.json b/seed/postman/path-parameters/collection.json index 4c0ec395158..124d922771c 100644 --- a/seed/postman/path-parameters/collection.json +++ b/seed/postman/path-parameters/collection.json @@ -265,6 +265,186 @@ "_postman_previewlanguage": "json" } ] + }, + { + "_type": "endpoint", + "name": "Search Users", + "request": { + "description": null, + "url": { + "raw": "{{baseUrl}}/user/users/:userId?limit=1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "user", + "users", + ":userId" + ], + "query": [ + { + "key": "limit", + "description": null, + "value": "1" + } + ], + "variable": [ + { + "key": "userId", + "description": null, + "value": "userId" + } + ] + }, + "header": [ + { + "type": "text", + "key": "Content-Type", + "value": "application/json" + } + ], + "method": "GET", + "auth": null, + "body": null + }, + "response": [ + { + "name": "Success", + "status": "OK", + "code": 200, + "originalRequest": { + "description": null, + "url": { + "raw": "{{baseUrl}}/user/users/:userId?limit=1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "user", + "users", + ":userId" + ], + "query": [ + { + "key": "limit", + "description": null, + "value": "1" + } + ], + "variable": [ + { + "key": "userId", + "description": null, + "value": "userId" + } + ] + }, + "header": [ + { + "type": "text", + "key": "Content-Type", + "value": "application/json" + } + ], + "method": "GET", + "auth": null, + "body": null + }, + "description": null, + "body": "[\n {\n \"name\": \"name\",\n \"tags\": [\n \"tags\",\n \"tags\"\n ]\n },\n {\n \"name\": \"name\",\n \"tags\": [\n \"tags\",\n \"tags\"\n ]\n }\n]", + "_postman_previewlanguage": "json" + } + ] + }, + { + "_type": "endpoint", + "name": "Search Organizations", + "request": { + "description": null, + "url": { + "raw": "{{baseUrl}}/user/organizations/:organizationId?limit=1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "user", + "organizations", + ":organizationId" + ], + "query": [ + { + "key": "limit", + "description": null, + "value": "1" + } + ], + "variable": [ + { + "key": "organizationId", + "description": null, + "value": "organizationId" + } + ] + }, + "header": [ + { + "type": "text", + "key": "Content-Type", + "value": "application/json" + } + ], + "method": "GET", + "auth": null, + "body": null + }, + "response": [ + { + "name": "Success", + "status": "OK", + "code": 200, + "originalRequest": { + "description": null, + "url": { + "raw": "{{baseUrl}}/user/organizations/:organizationId?limit=1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "user", + "organizations", + ":organizationId" + ], + "query": [ + { + "key": "limit", + "description": null, + "value": "1" + } + ], + "variable": [ + { + "key": "organizationId", + "description": null, + "value": "organizationId" + } + ] + }, + "header": [ + { + "type": "text", + "key": "Content-Type", + "value": "application/json" + } + ], + "method": "GET", + "auth": null, + "body": null + }, + "description": null, + "body": "[\n {\n \"name\": \"name\",\n \"tags\": [\n \"tags\",\n \"tags\"\n ]\n },\n {\n \"name\": \"name\",\n \"tags\": [\n \"tags\",\n \"tags\"\n ]\n }\n]", + "_postman_previewlanguage": "json" + } + ] } ] } diff --git a/seed/pydantic-v2/path-parameters/.mock/definition/user.yml b/seed/pydantic-v2/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/pydantic-v2/path-parameters/.mock/definition/user.yml +++ b/seed/pydantic-v2/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/pydantic-v2/path-parameters/resources/user/types/organization.py b/seed/pydantic-v2/path-parameters/resources/user/types/organization.py new file mode 100644 index 00000000000..7f76a0e3415 --- /dev/null +++ b/seed/pydantic-v2/path-parameters/resources/user/types/organization.py @@ -0,0 +1,14 @@ +from pydantic import BaseModel +from typing import List +from dt import datetime +from core.datetime_utils import serialize_datetime + + +class Organization(BaseModel): + name: str + tags: List[str] + + class Config: + frozen = True + smart_union = True + json_encoders = {datetime: serialize_datetime} diff --git a/seed/pydantic/path-parameters/.mock/definition/user.yml b/seed/pydantic/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/pydantic/path-parameters/.mock/definition/user.yml +++ b/seed/pydantic/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/pydantic/path-parameters/src/seed/path_parameters/__init__.py b/seed/pydantic/path-parameters/src/seed/path_parameters/__init__.py index 03c422787a2..37716b4f3c7 100644 --- a/seed/pydantic/path-parameters/src/seed/path_parameters/__init__.py +++ b/seed/pydantic/path-parameters/src/seed/path_parameters/__init__.py @@ -1,5 +1,5 @@ # This file was auto-generated by Fern from our API Definition. -from .resources import User, user +from .resources import Organization, User, user -__all__ = ["User", "user"] +__all__ = ["Organization", "User", "user"] diff --git a/seed/pydantic/path-parameters/src/seed/path_parameters/resources/__init__.py b/seed/pydantic/path-parameters/src/seed/path_parameters/resources/__init__.py index 26dc972c93a..8ec620c21bb 100644 --- a/seed/pydantic/path-parameters/src/seed/path_parameters/resources/__init__.py +++ b/seed/pydantic/path-parameters/src/seed/path_parameters/resources/__init__.py @@ -1,6 +1,6 @@ # This file was auto-generated by Fern from our API Definition. from . import user -from .user import User +from .user import Organization, User -__all__ = ["User", "user"] +__all__ = ["Organization", "User", "user"] diff --git a/seed/pydantic/path-parameters/src/seed/path_parameters/resources/user/__init__.py b/seed/pydantic/path-parameters/src/seed/path_parameters/resources/user/__init__.py index b22b663beed..ebaa90fcffe 100644 --- a/seed/pydantic/path-parameters/src/seed/path_parameters/resources/user/__init__.py +++ b/seed/pydantic/path-parameters/src/seed/path_parameters/resources/user/__init__.py @@ -1,5 +1,6 @@ # This file was auto-generated by Fern from our API Definition. +from .organization import Organization from .user import User -__all__ = ["User"] +__all__ = ["Organization", "User"] diff --git a/seed/pydantic/path-parameters/src/seed/path_parameters/resources/user/organization.py b/seed/pydantic/path-parameters/src/seed/path_parameters/resources/user/organization.py new file mode 100644 index 00000000000..a1248029299 --- /dev/null +++ b/seed/pydantic/path-parameters/src/seed/path_parameters/resources/user/organization.py @@ -0,0 +1,18 @@ +# This file was auto-generated by Fern from our API Definition. + +from ...core.pydantic_utilities import UniversalBaseModel +import typing +from ...core.pydantic_utilities import IS_PYDANTIC_V2 +import pydantic + + +class Organization(UniversalBaseModel): + name: str + tags: typing.List[str] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow") # type: ignore # Pydantic v2 + else: + + class Config: + extra = pydantic.Extra.allow diff --git a/seed/python-sdk/path-parameters/.mock/definition/user.yml b/seed/python-sdk/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/python-sdk/path-parameters/.mock/definition/user.yml +++ b/seed/python-sdk/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/python-sdk/path-parameters/reference.md b/seed/python-sdk/path-parameters/reference.md index a5fac6cc468..0c264fddd27 100644 --- a/seed/python-sdk/path-parameters/reference.md +++ b/seed/python-sdk/path-parameters/reference.md @@ -177,3 +177,133 @@ client.user.get_organization_user(
+
client.user.search_users(...) +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from seed import SeedPathParameters + +client = SeedPathParameters( + base_url="https://yourhost.com/path/to/api", +) +client.user.search_users( + user_id="userId", + limit=1, +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**user_id:** `str` + +
+
+ +
+
+ +**limit:** `typing.Optional[int]` + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.user.search_organizations(...) +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from seed import SeedPathParameters + +client = SeedPathParameters( + base_url="https://yourhost.com/path/to/api", +) +client.user.search_organizations( + organization_id="organizationId", + limit=1, +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**organization_id:** `str` + +
+
+ +
+
+ +**limit:** `typing.Optional[int]` + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ diff --git a/seed/python-sdk/path-parameters/resolved-snippet-templates.md b/seed/python-sdk/path-parameters/resolved-snippet-templates.md index 065b183b4dc..4a40b2d11df 100644 --- a/seed/python-sdk/path-parameters/resolved-snippet-templates.md +++ b/seed/python-sdk/path-parameters/resolved-snippet-templates.md @@ -32,3 +32,27 @@ client.user.get_organization_user( ``` +```python + + +client = SeedPathParameters(base_url="https://yourhost.com/path/to/api", ) +client.user.search_users( + user_id="userId", + limit=1 +) + +``` + + +```python + + +client = SeedPathParameters(base_url="https://yourhost.com/path/to/api", ) +client.user.search_organizations( + organization_id="organizationId", + limit=1 +) + +``` + + diff --git a/seed/python-sdk/path-parameters/snippet-templates.json b/seed/python-sdk/path-parameters/snippet-templates.json index fd31ec6854d..50c0f0ce716 100644 --- a/seed/python-sdk/path-parameters/snippet-templates.json +++ b/seed/python-sdk/path-parameters/snippet-templates.json @@ -300,5 +300,249 @@ "type": "v1" } } + }, + { + "sdk": { + "package": "fern_path-parameters", + "version": "0.0.1", + "type": "python" + }, + "endpointId": { + "path": "/user/users/{userId}", + "method": "GET", + "identifierOverride": "endpoint_user.searchUsers" + }, + "snippetTemplate": { + "clientInstantiation": { + "imports": [ + "from seed import SeedPathParameters" + ], + "isOptional": true, + "templateString": "client = SeedPathParameters(base_url=\"https://yourhost.com/path/to/api\", )", + "templateInputs": [], + "inputDelimiter": ",", + "type": "generic" + }, + "functionInvocation": { + "imports": [], + "isOptional": true, + "templateString": "client.user.search_users(\n\t$FERN_INPUT\n)", + "templateInputs": [ + { + "type": "template", + "value": { + "imports": [], + "isOptional": true, + "templateString": "user_id=$FERN_INPUT", + "templateInputs": [ + { + "location": "PATH", + "path": "userId", + "type": "payload" + } + ], + "type": "generic" + } + }, + { + "type": "template", + "value": { + "imports": [], + "isOptional": true, + "templateString": "limit=$FERN_INPUT", + "templateInputs": [ + { + "location": "QUERY", + "path": "limit", + "type": "payload" + } + ], + "type": "generic" + } + } + ], + "inputDelimiter": ",\n\t", + "type": "generic" + }, + "type": "v1" + }, + "additionalTemplates": { + "async": { + "clientInstantiation": { + "imports": [ + "from seed import AsyncSeedPathParameters" + ], + "isOptional": true, + "templateString": "client = AsyncSeedPathParameters(base_url=\"https://yourhost.com/path/to/api\", )", + "templateInputs": [], + "inputDelimiter": ",", + "type": "generic" + }, + "functionInvocation": { + "imports": [], + "isOptional": true, + "templateString": "await client.user.search_users(\n\t$FERN_INPUT\n)", + "templateInputs": [ + { + "type": "template", + "value": { + "imports": [], + "isOptional": true, + "templateString": "user_id=$FERN_INPUT", + "templateInputs": [ + { + "location": "PATH", + "path": "userId", + "type": "payload" + } + ], + "type": "generic" + } + }, + { + "type": "template", + "value": { + "imports": [], + "isOptional": true, + "templateString": "limit=$FERN_INPUT", + "templateInputs": [ + { + "location": "QUERY", + "path": "limit", + "type": "payload" + } + ], + "type": "generic" + } + } + ], + "inputDelimiter": ",\n\t", + "type": "generic" + }, + "type": "v1" + } + } + }, + { + "sdk": { + "package": "fern_path-parameters", + "version": "0.0.1", + "type": "python" + }, + "endpointId": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifierOverride": "endpoint_user.searchOrganizations" + }, + "snippetTemplate": { + "clientInstantiation": { + "imports": [ + "from seed import SeedPathParameters" + ], + "isOptional": true, + "templateString": "client = SeedPathParameters(base_url=\"https://yourhost.com/path/to/api\", )", + "templateInputs": [], + "inputDelimiter": ",", + "type": "generic" + }, + "functionInvocation": { + "imports": [], + "isOptional": true, + "templateString": "client.user.search_organizations(\n\t$FERN_INPUT\n)", + "templateInputs": [ + { + "type": "template", + "value": { + "imports": [], + "isOptional": true, + "templateString": "organization_id=$FERN_INPUT", + "templateInputs": [ + { + "location": "PATH", + "path": "organizationId", + "type": "payload" + } + ], + "type": "generic" + } + }, + { + "type": "template", + "value": { + "imports": [], + "isOptional": true, + "templateString": "limit=$FERN_INPUT", + "templateInputs": [ + { + "location": "QUERY", + "path": "limit", + "type": "payload" + } + ], + "type": "generic" + } + } + ], + "inputDelimiter": ",\n\t", + "type": "generic" + }, + "type": "v1" + }, + "additionalTemplates": { + "async": { + "clientInstantiation": { + "imports": [ + "from seed import AsyncSeedPathParameters" + ], + "isOptional": true, + "templateString": "client = AsyncSeedPathParameters(base_url=\"https://yourhost.com/path/to/api\", )", + "templateInputs": [], + "inputDelimiter": ",", + "type": "generic" + }, + "functionInvocation": { + "imports": [], + "isOptional": true, + "templateString": "await client.user.search_organizations(\n\t$FERN_INPUT\n)", + "templateInputs": [ + { + "type": "template", + "value": { + "imports": [], + "isOptional": true, + "templateString": "organization_id=$FERN_INPUT", + "templateInputs": [ + { + "location": "PATH", + "path": "organizationId", + "type": "payload" + } + ], + "type": "generic" + } + }, + { + "type": "template", + "value": { + "imports": [], + "isOptional": true, + "templateString": "limit=$FERN_INPUT", + "templateInputs": [ + { + "location": "QUERY", + "path": "limit", + "type": "payload" + } + ], + "type": "generic" + } + } + ], + "inputDelimiter": ",\n\t", + "type": "generic" + }, + "type": "v1" + } + } } ] \ No newline at end of file diff --git a/seed/python-sdk/path-parameters/snippet.json b/seed/python-sdk/path-parameters/snippet.json index 1efdeeca47b..58fba49e541 100644 --- a/seed/python-sdk/path-parameters/snippet.json +++ b/seed/python-sdk/path-parameters/snippet.json @@ -39,6 +39,32 @@ "async_client": "import asyncio\n\nfrom seed import AsyncSeedPathParameters\n\nclient = AsyncSeedPathParameters(\n base_url=\"https://yourhost.com/path/to/api\",\n)\n\n\nasync def main() -> None:\n await client.user.get_organization_user(\n organization_id=\"organizationId\",\n user_id=\"userId\",\n )\n\n\nasyncio.run(main())\n", "type": "python" } + }, + { + "example_identifier": "default", + "id": { + "path": "/user/users/{userId}", + "method": "GET", + "identifier_override": "endpoint_user.searchUsers" + }, + "snippet": { + "sync_client": "from seed import SeedPathParameters\n\nclient = SeedPathParameters(\n base_url=\"https://yourhost.com/path/to/api\",\n)\nclient.user.search_users(\n user_id=\"userId\",\n limit=1,\n)\n", + "async_client": "import asyncio\n\nfrom seed import AsyncSeedPathParameters\n\nclient = AsyncSeedPathParameters(\n base_url=\"https://yourhost.com/path/to/api\",\n)\n\n\nasync def main() -> None:\n await client.user.search_users(\n user_id=\"userId\",\n limit=1,\n )\n\n\nasyncio.run(main())\n", + "type": "python" + } + }, + { + "example_identifier": "default", + "id": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifier_override": "endpoint_user.searchOrganizations" + }, + "snippet": { + "sync_client": "from seed import SeedPathParameters\n\nclient = SeedPathParameters(\n base_url=\"https://yourhost.com/path/to/api\",\n)\nclient.user.search_organizations(\n organization_id=\"organizationId\",\n limit=1,\n)\n", + "async_client": "import asyncio\n\nfrom seed import AsyncSeedPathParameters\n\nclient = AsyncSeedPathParameters(\n base_url=\"https://yourhost.com/path/to/api\",\n)\n\n\nasync def main() -> None:\n await client.user.search_organizations(\n organization_id=\"organizationId\",\n limit=1,\n )\n\n\nasyncio.run(main())\n", + "type": "python" + } } ] } \ No newline at end of file diff --git a/seed/python-sdk/path-parameters/src/seed/__init__.py b/seed/python-sdk/path-parameters/src/seed/__init__.py index 5cee96ae9ac..041348f5a40 100644 --- a/seed/python-sdk/path-parameters/src/seed/__init__.py +++ b/seed/python-sdk/path-parameters/src/seed/__init__.py @@ -2,7 +2,7 @@ from . import user from .client import AsyncSeedPathParameters, SeedPathParameters -from .user import User +from .user import Organization, User from .version import __version__ -__all__ = ["AsyncSeedPathParameters", "SeedPathParameters", "User", "__version__", "user"] +__all__ = ["AsyncSeedPathParameters", "Organization", "SeedPathParameters", "User", "__version__", "user"] diff --git a/seed/python-sdk/path-parameters/src/seed/user/__init__.py b/seed/python-sdk/path-parameters/src/seed/user/__init__.py index 4d928acf301..aa44f411ba3 100644 --- a/seed/python-sdk/path-parameters/src/seed/user/__init__.py +++ b/seed/python-sdk/path-parameters/src/seed/user/__init__.py @@ -1,5 +1,5 @@ # This file was auto-generated by Fern from our API Definition. -from .types import User +from .types import Organization, User -__all__ = ["User"] +__all__ = ["Organization", "User"] diff --git a/seed/python-sdk/path-parameters/src/seed/user/client.py b/seed/python-sdk/path-parameters/src/seed/user/client.py index 0c7b0eaafd9..dc15e9f0184 100644 --- a/seed/python-sdk/path-parameters/src/seed/user/client.py +++ b/seed/python-sdk/path-parameters/src/seed/user/client.py @@ -3,11 +3,12 @@ from ..core.client_wrapper import SyncClientWrapper import typing from ..core.request_options import RequestOptions -from .types.user import User +from .types.organization import Organization from ..core.jsonable_encoder import jsonable_encoder from ..core.pydantic_utilities import parse_obj_as from json.decoder import JSONDecodeError from ..core.api_error import ApiError +from .types.user import User from ..core.client_wrapper import AsyncClientWrapper @@ -17,7 +18,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def get_organization( self, organization_id: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> User: + ) -> Organization: """ Parameters ---------- @@ -28,7 +29,7 @@ def get_organization( Returns ------- - User + Organization Examples -------- @@ -49,9 +50,9 @@ def get_organization( try: if 200 <= _response.status_code < 300: return typing.cast( - User, + Organization, parse_obj_as( - type_=User, # type: ignore + type_=Organization, # type: ignore object_=_response.json(), ), ) @@ -151,6 +152,116 @@ def get_organization_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + def search_users( + self, + user_id: str, + *, + limit: typing.Optional[int] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> typing.List[User]: + """ + Parameters + ---------- + user_id : str + + limit : typing.Optional[int] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + typing.List[User] + + Examples + -------- + from seed import SeedPathParameters + + client = SeedPathParameters( + base_url="https://yourhost.com/path/to/api", + ) + client.user.search_users( + user_id="userId", + limit=1, + ) + """ + _response = self._client_wrapper.httpx_client.request( + f"user/users/{jsonable_encoder(user_id)}", + method="GET", + params={ + "limit": limit, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return typing.cast( + typing.List[User], + parse_obj_as( + type_=typing.List[User], # type: ignore + object_=_response.json(), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def search_organizations( + self, + organization_id: str, + *, + limit: typing.Optional[int] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> typing.List[Organization]: + """ + Parameters + ---------- + organization_id : str + + limit : typing.Optional[int] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + typing.List[Organization] + + Examples + -------- + from seed import SeedPathParameters + + client = SeedPathParameters( + base_url="https://yourhost.com/path/to/api", + ) + client.user.search_organizations( + organization_id="organizationId", + limit=1, + ) + """ + _response = self._client_wrapper.httpx_client.request( + f"user/organizations/{jsonable_encoder(organization_id)}", + method="GET", + params={ + "limit": limit, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return typing.cast( + typing.List[Organization], + parse_obj_as( + type_=typing.List[Organization], # type: ignore + object_=_response.json(), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + class AsyncUserClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): @@ -158,7 +269,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def get_organization( self, organization_id: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> User: + ) -> Organization: """ Parameters ---------- @@ -169,7 +280,7 @@ async def get_organization( Returns ------- - User + Organization Examples -------- @@ -198,9 +309,9 @@ async def main() -> None: try: if 200 <= _response.status_code < 300: return typing.cast( - User, + Organization, parse_obj_as( - type_=User, # type: ignore + type_=Organization, # type: ignore object_=_response.json(), ), ) @@ -315,3 +426,129 @@ async def main() -> None: except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + + async def search_users( + self, + user_id: str, + *, + limit: typing.Optional[int] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> typing.List[User]: + """ + Parameters + ---------- + user_id : str + + limit : typing.Optional[int] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + typing.List[User] + + Examples + -------- + import asyncio + + from seed import AsyncSeedPathParameters + + client = AsyncSeedPathParameters( + base_url="https://yourhost.com/path/to/api", + ) + + + async def main() -> None: + await client.user.search_users( + user_id="userId", + limit=1, + ) + + + asyncio.run(main()) + """ + _response = await self._client_wrapper.httpx_client.request( + f"user/users/{jsonable_encoder(user_id)}", + method="GET", + params={ + "limit": limit, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return typing.cast( + typing.List[User], + parse_obj_as( + type_=typing.List[User], # type: ignore + object_=_response.json(), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def search_organizations( + self, + organization_id: str, + *, + limit: typing.Optional[int] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> typing.List[Organization]: + """ + Parameters + ---------- + organization_id : str + + limit : typing.Optional[int] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + typing.List[Organization] + + Examples + -------- + import asyncio + + from seed import AsyncSeedPathParameters + + client = AsyncSeedPathParameters( + base_url="https://yourhost.com/path/to/api", + ) + + + async def main() -> None: + await client.user.search_organizations( + organization_id="organizationId", + limit=1, + ) + + + asyncio.run(main()) + """ + _response = await self._client_wrapper.httpx_client.request( + f"user/organizations/{jsonable_encoder(organization_id)}", + method="GET", + params={ + "limit": limit, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return typing.cast( + typing.List[Organization], + parse_obj_as( + type_=typing.List[Organization], # type: ignore + object_=_response.json(), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/seed/python-sdk/path-parameters/src/seed/user/types/__init__.py b/seed/python-sdk/path-parameters/src/seed/user/types/__init__.py index b22b663beed..ebaa90fcffe 100644 --- a/seed/python-sdk/path-parameters/src/seed/user/types/__init__.py +++ b/seed/python-sdk/path-parameters/src/seed/user/types/__init__.py @@ -1,5 +1,6 @@ # This file was auto-generated by Fern from our API Definition. +from .organization import Organization from .user import User -__all__ = ["User"] +__all__ = ["Organization", "User"] diff --git a/seed/python-sdk/path-parameters/src/seed/user/types/organization.py b/seed/python-sdk/path-parameters/src/seed/user/types/organization.py new file mode 100644 index 00000000000..0a91d3be3c8 --- /dev/null +++ b/seed/python-sdk/path-parameters/src/seed/user/types/organization.py @@ -0,0 +1,20 @@ +# This file was auto-generated by Fern from our API Definition. + +from ...core.pydantic_utilities import UniversalBaseModel +import typing +from ...core.pydantic_utilities import IS_PYDANTIC_V2 +import pydantic + + +class Organization(UniversalBaseModel): + name: str + tags: typing.List[str] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/seed/python-sdk/path-parameters/tests/test_user.py b/seed/python-sdk/path-parameters/tests/test_user.py index fb1b1f4d16f..de12cc818ab 100644 --- a/seed/python-sdk/path-parameters/tests/test_user.py +++ b/seed/python-sdk/path-parameters/tests/test_user.py @@ -34,3 +34,41 @@ async def test_get_organization_user(client: SeedPathParameters, async_client: A async_response = await async_client.user.get_organization_user(organization_id="organizationId", user_id="userId") validate_response(async_response, expected_response, expected_types) + + +async def test_search_users(client: SeedPathParameters, async_client: AsyncSeedPathParameters) -> None: + expected_response: typing.Any = [ + {"name": "name", "tags": ["tags", "tags"]}, + {"name": "name", "tags": ["tags", "tags"]}, + ] + expected_types: typing.Tuple[typing.Any, typing.Any] = ( + "list", + { + 0: {"name": None, "tags": ("list", {0: None, 1: None})}, + 1: {"name": None, "tags": ("list", {0: None, 1: None})}, + }, + ) + response = client.user.search_users(user_id="userId", limit=1) + validate_response(response, expected_response, expected_types) + + async_response = await async_client.user.search_users(user_id="userId", limit=1) + validate_response(async_response, expected_response, expected_types) + + +async def test_search_organizations(client: SeedPathParameters, async_client: AsyncSeedPathParameters) -> None: + expected_response: typing.Any = [ + {"name": "name", "tags": ["tags", "tags"]}, + {"name": "name", "tags": ["tags", "tags"]}, + ] + expected_types: typing.Tuple[typing.Any, typing.Any] = ( + "list", + { + 0: {"name": None, "tags": ("list", {0: None, 1: None})}, + 1: {"name": None, "tags": ("list", {0: None, 1: None})}, + }, + ) + response = client.user.search_organizations(organization_id="organizationId", limit=1) + validate_response(response, expected_response, expected_types) + + async_response = await async_client.user.search_organizations(organization_id="organizationId", limit=1) + validate_response(async_response, expected_response, expected_types) diff --git a/seed/ruby-model/path-parameters/.mock/definition/user.yml b/seed/ruby-model/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/ruby-model/path-parameters/.mock/definition/user.yml +++ b/seed/ruby-model/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/ruby-model/path-parameters/lib/seed_path_parameters_client.rb b/seed/ruby-model/path-parameters/lib/seed_path_parameters_client.rb index 5985a227312..3be7fcb2211 100644 --- a/seed/ruby-model/path-parameters/lib/seed_path_parameters_client.rb +++ b/seed/ruby-model/path-parameters/lib/seed_path_parameters_client.rb @@ -1,3 +1,4 @@ # frozen_string_literal: true +require_relative "seed_path_parameters_client/user/types/organization" require_relative "seed_path_parameters_client/user/types/user" diff --git a/seed/ruby-model/path-parameters/lib/seed_path_parameters_client/user/types/organization.rb b/seed/ruby-model/path-parameters/lib/seed_path_parameters_client/user/types/organization.rb new file mode 100644 index 00000000000..9479d8778bc --- /dev/null +++ b/seed/ruby-model/path-parameters/lib/seed_path_parameters_client/user/types/organization.rb @@ -0,0 +1,67 @@ +# frozen_string_literal: true + +require "ostruct" +require "json" + +module SeedPathParametersClient + class User + class Organization + # @return [String] + attr_reader :name + # @return [Array] + attr_reader :tags + # @return [OpenStruct] Additional properties unmapped to the current class definition + attr_reader :additional_properties + # @return [Object] + attr_reader :_field_set + protected :_field_set + + OMIT = Object.new + + # @param name [String] + # @param tags [Array] + # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition + # @return [SeedPathParametersClient::User::Organization] + def initialize(name:, tags:, additional_properties: nil) + @name = name + @tags = tags + @additional_properties = additional_properties + @_field_set = { "name": name, "tags": tags } + end + + # Deserialize a JSON object to an instance of Organization + # + # @param json_object [String] + # @return [SeedPathParametersClient::User::Organization] + def self.from_json(json_object:) + struct = JSON.parse(json_object, object_class: OpenStruct) + parsed_json = JSON.parse(json_object) + name = parsed_json["name"] + tags = parsed_json["tags"] + new( + name: name, + tags: tags, + additional_properties: struct + ) + end + + # Serialize an instance of Organization to a JSON object + # + # @return [String] + def to_json(*_args) + @_field_set&.to_json + end + + # Leveraged for Union-type generation, validate_raw attempts to parse the given + # hash and check each fields type against the current object's property + # definitions. + # + # @param obj [Object] + # @return [Void] + def self.validate_raw(obj:) + obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.") + obj.tags.is_a?(Array) != false || raise("Passed value for field obj.tags is not the expected type, validation failed.") + end + end + end +end diff --git a/seed/ruby-sdk/path-parameters/.mock/definition/user.yml b/seed/ruby-sdk/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/ruby-sdk/path-parameters/.mock/definition/user.yml +++ b/seed/ruby-sdk/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/ruby-sdk/path-parameters/lib/fern_path_parameters/user/client.rb b/seed/ruby-sdk/path-parameters/lib/fern_path_parameters/user/client.rb index d973c848542..aede9cb7bd0 100644 --- a/seed/ruby-sdk/path-parameters/lib/fern_path_parameters/user/client.rb +++ b/seed/ruby-sdk/path-parameters/lib/fern_path_parameters/user/client.rb @@ -1,7 +1,9 @@ # frozen_string_literal: true require_relative "../../requests" +require_relative "types/organization" require_relative "types/user" +require "json" require "async" module SeedPathParametersClient @@ -17,7 +19,7 @@ def initialize(request_client:) # @param organization_id [String] # @param request_options [SeedPathParametersClient::RequestOptions] - # @return [SeedPathParametersClient::User::User] + # @return [SeedPathParametersClient::User::Organization] # @example # path_parameters = SeedPathParametersClient::Client.new(base_url: "https://api.example.com") # path_parameters.user.get_organization(organization_id: "organizationId") @@ -37,7 +39,7 @@ def get_organization(organization_id:, request_options: nil) end req.url "#{@request_client.get_url(request_options: request_options)}/user/organizations/#{organization_id}" end - SeedPathParametersClient::User::User.from_json(json_object: response.body) + SeedPathParametersClient::User::Organization.from_json(json_object: response.body) end # @param user_id [String] @@ -90,6 +92,62 @@ def get_organization_user(organization_id:, user_id:, request_options: nil) end SeedPathParametersClient::User::User.from_json(json_object: response.body) end + + # @param user_id [String] + # @param limit [Integer] + # @param request_options [SeedPathParametersClient::RequestOptions] + # @return [Array] + # @example + # path_parameters = SeedPathParametersClient::Client.new(base_url: "https://api.example.com") + # path_parameters.user.search_users(user_id: "userId", limit: 1) + def search_users(user_id:, limit: nil, request_options: nil) + response = @request_client.conn.get do |req| + req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil? + req.headers = { + **(req.headers || {}), + **@request_client.get_headers, + **(request_options&.additional_headers || {}) + }.compact + req.params = { **(request_options&.additional_query_parameters || {}), "limit": limit }.compact + unless request_options.nil? || request_options&.additional_body_parameters.nil? + req.body = { **(request_options&.additional_body_parameters || {}) }.compact + end + req.url "#{@request_client.get_url(request_options: request_options)}/user/users/#{user_id}" + end + parsed_json = JSON.parse(response.body) + parsed_json&.map do |item| + item = item.to_json + SeedPathParametersClient::User::User.from_json(json_object: item) + end + end + + # @param organization_id [String] + # @param limit [Integer] + # @param request_options [SeedPathParametersClient::RequestOptions] + # @return [Array] + # @example + # path_parameters = SeedPathParametersClient::Client.new(base_url: "https://api.example.com") + # path_parameters.user.search_organizations(organization_id: "organizationId", limit: 1) + def search_organizations(organization_id:, limit: nil, request_options: nil) + response = @request_client.conn.get do |req| + req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil? + req.headers = { + **(req.headers || {}), + **@request_client.get_headers, + **(request_options&.additional_headers || {}) + }.compact + req.params = { **(request_options&.additional_query_parameters || {}), "limit": limit }.compact + unless request_options.nil? || request_options&.additional_body_parameters.nil? + req.body = { **(request_options&.additional_body_parameters || {}) }.compact + end + req.url "#{@request_client.get_url(request_options: request_options)}/user/organizations/#{organization_id}" + end + parsed_json = JSON.parse(response.body) + parsed_json&.map do |item| + item = item.to_json + SeedPathParametersClient::User::Organization.from_json(json_object: item) + end + end end class AsyncUserClient @@ -104,7 +162,7 @@ def initialize(request_client:) # @param organization_id [String] # @param request_options [SeedPathParametersClient::RequestOptions] - # @return [SeedPathParametersClient::User::User] + # @return [SeedPathParametersClient::User::Organization] # @example # path_parameters = SeedPathParametersClient::Client.new(base_url: "https://api.example.com") # path_parameters.user.get_organization(organization_id: "organizationId") @@ -125,7 +183,7 @@ def get_organization(organization_id:, request_options: nil) end req.url "#{@request_client.get_url(request_options: request_options)}/user/organizations/#{organization_id}" end - SeedPathParametersClient::User::User.from_json(json_object: response.body) + SeedPathParametersClient::User::Organization.from_json(json_object: response.body) end end @@ -183,5 +241,65 @@ def get_organization_user(organization_id:, user_id:, request_options: nil) SeedPathParametersClient::User::User.from_json(json_object: response.body) end end + + # @param user_id [String] + # @param limit [Integer] + # @param request_options [SeedPathParametersClient::RequestOptions] + # @return [Array] + # @example + # path_parameters = SeedPathParametersClient::Client.new(base_url: "https://api.example.com") + # path_parameters.user.search_users(user_id: "userId", limit: 1) + def search_users(user_id:, limit: nil, request_options: nil) + Async do + response = @request_client.conn.get do |req| + req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil? + req.headers = { + **(req.headers || {}), + **@request_client.get_headers, + **(request_options&.additional_headers || {}) + }.compact + req.params = { **(request_options&.additional_query_parameters || {}), "limit": limit }.compact + unless request_options.nil? || request_options&.additional_body_parameters.nil? + req.body = { **(request_options&.additional_body_parameters || {}) }.compact + end + req.url "#{@request_client.get_url(request_options: request_options)}/user/users/#{user_id}" + end + parsed_json = JSON.parse(response.body) + parsed_json&.map do |item| + item = item.to_json + SeedPathParametersClient::User::User.from_json(json_object: item) + end + end + end + + # @param organization_id [String] + # @param limit [Integer] + # @param request_options [SeedPathParametersClient::RequestOptions] + # @return [Array] + # @example + # path_parameters = SeedPathParametersClient::Client.new(base_url: "https://api.example.com") + # path_parameters.user.search_organizations(organization_id: "organizationId", limit: 1) + def search_organizations(organization_id:, limit: nil, request_options: nil) + Async do + response = @request_client.conn.get do |req| + req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil? + req.headers = { + **(req.headers || {}), + **@request_client.get_headers, + **(request_options&.additional_headers || {}) + }.compact + req.params = { **(request_options&.additional_query_parameters || {}), "limit": limit }.compact + unless request_options.nil? || request_options&.additional_body_parameters.nil? + req.body = { **(request_options&.additional_body_parameters || {}) }.compact + end + req.url "#{@request_client.get_url(request_options: request_options)}/user/organizations/#{organization_id}" + end + parsed_json = JSON.parse(response.body) + parsed_json&.map do |item| + item = item.to_json + SeedPathParametersClient::User::Organization.from_json(json_object: item) + end + end + end end end diff --git a/seed/ruby-sdk/path-parameters/lib/fern_path_parameters/user/types/organization.rb b/seed/ruby-sdk/path-parameters/lib/fern_path_parameters/user/types/organization.rb new file mode 100644 index 00000000000..9479d8778bc --- /dev/null +++ b/seed/ruby-sdk/path-parameters/lib/fern_path_parameters/user/types/organization.rb @@ -0,0 +1,67 @@ +# frozen_string_literal: true + +require "ostruct" +require "json" + +module SeedPathParametersClient + class User + class Organization + # @return [String] + attr_reader :name + # @return [Array] + attr_reader :tags + # @return [OpenStruct] Additional properties unmapped to the current class definition + attr_reader :additional_properties + # @return [Object] + attr_reader :_field_set + protected :_field_set + + OMIT = Object.new + + # @param name [String] + # @param tags [Array] + # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition + # @return [SeedPathParametersClient::User::Organization] + def initialize(name:, tags:, additional_properties: nil) + @name = name + @tags = tags + @additional_properties = additional_properties + @_field_set = { "name": name, "tags": tags } + end + + # Deserialize a JSON object to an instance of Organization + # + # @param json_object [String] + # @return [SeedPathParametersClient::User::Organization] + def self.from_json(json_object:) + struct = JSON.parse(json_object, object_class: OpenStruct) + parsed_json = JSON.parse(json_object) + name = parsed_json["name"] + tags = parsed_json["tags"] + new( + name: name, + tags: tags, + additional_properties: struct + ) + end + + # Serialize an instance of Organization to a JSON object + # + # @return [String] + def to_json(*_args) + @_field_set&.to_json + end + + # Leveraged for Union-type generation, validate_raw attempts to parse the given + # hash and check each fields type against the current object's property + # definitions. + # + # @param obj [Object] + # @return [Void] + def self.validate_raw(obj:) + obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.") + obj.tags.is_a?(Array) != false || raise("Passed value for field obj.tags is not the expected type, validation failed.") + end + end + end +end diff --git a/seed/ruby-sdk/path-parameters/lib/types_export.rb b/seed/ruby-sdk/path-parameters/lib/types_export.rb index ee41ff9121c..b5a0e44c691 100644 --- a/seed/ruby-sdk/path-parameters/lib/types_export.rb +++ b/seed/ruby-sdk/path-parameters/lib/types_export.rb @@ -1,3 +1,4 @@ # frozen_string_literal: true +require_relative "fern_path_parameters/user/types/organization" require_relative "fern_path_parameters/user/types/user" diff --git a/seed/ruby-sdk/path-parameters/snippet.json b/seed/ruby-sdk/path-parameters/snippet.json index 1dac4308469..e8246246895 100644 --- a/seed/ruby-sdk/path-parameters/snippet.json +++ b/seed/ruby-sdk/path-parameters/snippet.json @@ -33,6 +33,28 @@ "type": "ruby" } }, + { + "id": { + "path": "/user/users/{userId}", + "method": "GET", + "identifierOverride": "endpoint_user.searchUsers" + }, + "snippet": { + "client": "require \"fern_path_parameters\"\n\npath_parameters = SeedPathParametersClient::Client.new(base_url: \"https://api.example.com\")\npath_parameters.user.search_users(user_id: \"userId\", limit: 1)", + "type": "ruby" + } + }, + { + "id": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifierOverride": "endpoint_user.searchOrganizations" + }, + "snippet": { + "client": "require \"fern_path_parameters\"\n\npath_parameters = SeedPathParametersClient::Client.new(base_url: \"https://api.example.com\")\npath_parameters.user.search_organizations(organization_id: \"organizationId\", limit: 1)", + "type": "ruby" + } + }, { "id": { "path": "/user/organizations/{organizationId}", @@ -65,6 +87,28 @@ "client": "require \"fern_path_parameters\"\n\npath_parameters = SeedPathParametersClient::Client.new(base_url: \"https://api.example.com\")\npath_parameters.user.get_organization_user(organization_id: \"organizationId\", user_id: \"userId\")", "type": "ruby" } + }, + { + "id": { + "path": "/user/users/{userId}", + "method": "GET", + "identifierOverride": "endpoint_user.searchUsers" + }, + "snippet": { + "client": "require \"fern_path_parameters\"\n\npath_parameters = SeedPathParametersClient::Client.new(base_url: \"https://api.example.com\")\npath_parameters.user.search_users(user_id: \"userId\", limit: 1)", + "type": "ruby" + } + }, + { + "id": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifierOverride": "endpoint_user.searchOrganizations" + }, + "snippet": { + "client": "require \"fern_path_parameters\"\n\npath_parameters = SeedPathParametersClient::Client.new(base_url: \"https://api.example.com\")\npath_parameters.user.search_organizations(organization_id: \"organizationId\", limit: 1)", + "type": "ruby" + } } ], "types": {} diff --git a/seed/ts-express/path-parameters/.mock/definition/user.yml b/seed/ts-express/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/ts-express/path-parameters/.mock/definition/user.yml +++ b/seed/ts-express/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/ts-express/path-parameters/api/resources/user/service/UserService.ts b/seed/ts-express/path-parameters/api/resources/user/service/UserService.ts index 842007226f4..9179e1ebb31 100644 --- a/seed/ts-express/path-parameters/api/resources/user/service/UserService.ts +++ b/seed/ts-express/path-parameters/api/resources/user/service/UserService.ts @@ -13,12 +13,12 @@ export interface UserServiceMethods { { organizationId: string; }, - SeedPathParameters.User, + SeedPathParameters.Organization, never, never >, res: { - send: (responseBody: SeedPathParameters.User) => Promise; + send: (responseBody: SeedPathParameters.Organization) => Promise; cookie: (cookie: string, value: string, options?: express.CookieOptions) => void; locals: any; }, @@ -57,6 +57,42 @@ export interface UserServiceMethods { }, next: express.NextFunction ): void | Promise; + searchUsers( + req: express.Request< + { + userId: string; + }, + SeedPathParameters.User[], + never, + { + limit?: number; + } + >, + res: { + send: (responseBody: SeedPathParameters.User[]) => Promise; + cookie: (cookie: string, value: string, options?: express.CookieOptions) => void; + locals: any; + }, + next: express.NextFunction + ): void | Promise; + searchOrganizations( + req: express.Request< + { + organizationId: string; + }, + SeedPathParameters.Organization[], + never, + { + limit?: number; + } + >, + res: { + send: (responseBody: SeedPathParameters.Organization[]) => Promise; + cookie: (cookie: string, value: string, options?: express.CookieOptions) => void; + locals: any; + }, + next: express.NextFunction + ): void | Promise; } export class UserService { @@ -83,7 +119,9 @@ export class UserService { req as any, { send: async (responseBody) => { - res.json(serializers.User.jsonOrThrow(responseBody, { unrecognizedObjectKeys: "strip" })); + res.json( + serializers.Organization.jsonOrThrow(responseBody, { unrecognizedObjectKeys: "strip" }) + ); }, cookie: res.cookie.bind(res), locals: res.locals, @@ -161,6 +199,70 @@ export class UserService { next(error); } }); + this.router.get("/users/:userId", async (req, res, next) => { + try { + await this.methods.searchUsers( + req as any, + { + send: async (responseBody) => { + res.json( + serializers.user.searchUsers.Response.jsonOrThrow(responseBody, { + unrecognizedObjectKeys: "strip", + }) + ); + }, + cookie: res.cookie.bind(res), + locals: res.locals, + }, + next + ); + next(); + } catch (error) { + if (error instanceof errors.SeedPathParametersError) { + console.warn( + `Endpoint 'searchUsers' unexpectedly threw ${error.constructor.name}.` + + ` If this was intentional, please add ${error.constructor.name} to` + + " the endpoint's errors list in your Fern Definition." + ); + await error.send(res); + } else { + res.status(500).json("Internal Server Error"); + } + next(error); + } + }); + this.router.get("/organizations/:organizationId", async (req, res, next) => { + try { + await this.methods.searchOrganizations( + req as any, + { + send: async (responseBody) => { + res.json( + serializers.user.searchOrganizations.Response.jsonOrThrow(responseBody, { + unrecognizedObjectKeys: "strip", + }) + ); + }, + cookie: res.cookie.bind(res), + locals: res.locals, + }, + next + ); + next(); + } catch (error) { + if (error instanceof errors.SeedPathParametersError) { + console.warn( + `Endpoint 'searchOrganizations' unexpectedly threw ${error.constructor.name}.` + + ` If this was intentional, please add ${error.constructor.name} to` + + " the endpoint's errors list in your Fern Definition." + ); + await error.send(res); + } else { + res.status(500).json("Internal Server Error"); + } + next(error); + } + }); return this.router; } } diff --git a/seed/ts-express/path-parameters/api/resources/user/types/Organization.ts b/seed/ts-express/path-parameters/api/resources/user/types/Organization.ts new file mode 100644 index 00000000000..7ae77284657 --- /dev/null +++ b/seed/ts-express/path-parameters/api/resources/user/types/Organization.ts @@ -0,0 +1,8 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface Organization { + name: string; + tags: string[]; +} diff --git a/seed/ts-express/path-parameters/api/resources/user/types/index.ts b/seed/ts-express/path-parameters/api/resources/user/types/index.ts index 3ce758c1197..73d6b63b7a1 100644 --- a/seed/ts-express/path-parameters/api/resources/user/types/index.ts +++ b/seed/ts-express/path-parameters/api/resources/user/types/index.ts @@ -1 +1,2 @@ +export * from "./Organization"; export * from "./User"; diff --git a/seed/ts-express/path-parameters/serialization/resources/user/index.ts b/seed/ts-express/path-parameters/serialization/resources/user/index.ts index eea524d6557..fcc81debec4 100644 --- a/seed/ts-express/path-parameters/serialization/resources/user/index.ts +++ b/seed/ts-express/path-parameters/serialization/resources/user/index.ts @@ -1 +1,2 @@ export * from "./types"; +export * from "./service"; diff --git a/seed/ts-express/path-parameters/serialization/resources/user/service/index.ts b/seed/ts-express/path-parameters/serialization/resources/user/service/index.ts new file mode 100644 index 00000000000..3c1a81810da --- /dev/null +++ b/seed/ts-express/path-parameters/serialization/resources/user/service/index.ts @@ -0,0 +1,2 @@ +export * as searchUsers from "./searchUsers"; +export * as searchOrganizations from "./searchOrganizations"; diff --git a/seed/ts-express/path-parameters/serialization/resources/user/service/searchOrganizations.ts b/seed/ts-express/path-parameters/serialization/resources/user/service/searchOrganizations.ts new file mode 100644 index 00000000000..20d1c1222d9 --- /dev/null +++ b/seed/ts-express/path-parameters/serialization/resources/user/service/searchOrganizations.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as SeedPathParameters from "../../../../api/index"; +import * as core from "../../../../core"; + +export const Response: core.serialization.Schema< + serializers.user.searchOrganizations.Response.Raw, + SeedPathParameters.Organization[] +> = core.serialization.list(core.serialization.lazyObject(() => serializers.Organization)); + +export declare namespace Response { + type Raw = serializers.Organization.Raw[]; +} diff --git a/seed/ts-express/path-parameters/serialization/resources/user/service/searchUsers.ts b/seed/ts-express/path-parameters/serialization/resources/user/service/searchUsers.ts new file mode 100644 index 00000000000..b66a4ff8e26 --- /dev/null +++ b/seed/ts-express/path-parameters/serialization/resources/user/service/searchUsers.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as SeedPathParameters from "../../../../api/index"; +import * as core from "../../../../core"; + +export const Response: core.serialization.Schema = + core.serialization.list(core.serialization.lazyObject(() => serializers.User)); + +export declare namespace Response { + type Raw = serializers.User.Raw[]; +} diff --git a/seed/ts-express/path-parameters/serialization/resources/user/types/Organization.ts b/seed/ts-express/path-parameters/serialization/resources/user/types/Organization.ts new file mode 100644 index 00000000000..d0177895ca0 --- /dev/null +++ b/seed/ts-express/path-parameters/serialization/resources/user/types/Organization.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as SeedPathParameters from "../../../../api/index"; +import * as core from "../../../../core"; + +export const Organization: core.serialization.ObjectSchema< + serializers.Organization.Raw, + SeedPathParameters.Organization +> = core.serialization.object({ + name: core.serialization.string(), + tags: core.serialization.list(core.serialization.string()), +}); + +export declare namespace Organization { + interface Raw { + name: string; + tags: string[]; + } +} diff --git a/seed/ts-express/path-parameters/serialization/resources/user/types/index.ts b/seed/ts-express/path-parameters/serialization/resources/user/types/index.ts index 3ce758c1197..73d6b63b7a1 100644 --- a/seed/ts-express/path-parameters/serialization/resources/user/types/index.ts +++ b/seed/ts-express/path-parameters/serialization/resources/user/types/index.ts @@ -1 +1,2 @@ +export * from "./Organization"; export * from "./User"; diff --git a/seed/ts-sdk/path-parameters/.mock/definition/user.yml b/seed/ts-sdk/path-parameters/.mock/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/seed/ts-sdk/path-parameters/.mock/definition/user.yml +++ b/seed/ts-sdk/path-parameters/.mock/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file diff --git a/seed/ts-sdk/path-parameters/reference.md b/seed/ts-sdk/path-parameters/reference.md index 7d5a1e6fa82..2b48a905c4c 100644 --- a/seed/ts-sdk/path-parameters/reference.md +++ b/seed/ts-sdk/path-parameters/reference.md @@ -2,7 +2,7 @@ ## User -
client.user.getOrganization(organizationId) -> SeedPathParameters.User +
client.user.getOrganization(organizationId) -> SeedPathParameters.Organization
@@ -169,3 +169,119 @@ await client.user.getOrganizationUser("organizationId", "userId");
+ +
client.user.searchUsers(userId, { ...params }) -> SeedPathParameters.User[] +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.user.searchUsers("userId", { + limit: 1, +}); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**userId:** `string` + +
+
+ +
+
+ +**request:** `SeedPathParameters.SearchUsersRequest` + +
+
+ +
+
+ +**requestOptions:** `User.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.user.searchOrganizations(organizationId, { ...params }) -> SeedPathParameters.Organization[] +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.user.searchOrganizations("organizationId", { + limit: 1, +}); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**organizationId:** `string` + +
+
+ +
+
+ +**request:** `SeedPathParameters.SearchOrganizationsRequest` + +
+
+ +
+
+ +**requestOptions:** `User.RequestOptions` + +
+
+
+
+ +
+
+
diff --git a/seed/ts-sdk/path-parameters/resolved-snippet-templates.md b/seed/ts-sdk/path-parameters/resolved-snippet-templates.md index 5e1f3ee8769..9ebe11efc2e 100644 --- a/seed/ts-sdk/path-parameters/resolved-snippet-templates.md +++ b/seed/ts-sdk/path-parameters/resolved-snippet-templates.md @@ -25,3 +25,25 @@ await client.user.getOrganizationUser("organizationId", "userId"); ``` +```typescript +import { SeedPathParametersClient } from "@fern/path-parameters"; + +const client = new SeedPathParametersClient({ environment: "YOUR_BASE_URL" }); +await client.user.searchUsers("userId", { + limit: 1, +}); + +``` + + +```typescript +import { SeedPathParametersClient } from "@fern/path-parameters"; + +const client = new SeedPathParametersClient({ environment: "YOUR_BASE_URL" }); +await client.user.searchOrganizations("organizationId", { + limit: 1, +}); + +``` + + diff --git a/seed/ts-sdk/path-parameters/snippet-templates.json b/seed/ts-sdk/path-parameters/snippet-templates.json index ac0b9d882c3..8d52d9b3cd4 100644 --- a/seed/ts-sdk/path-parameters/snippet-templates.json +++ b/seed/ts-sdk/path-parameters/snippet-templates.json @@ -266,5 +266,229 @@ }, "type": "v1" } + }, + { + "sdk": { + "package": "@fern/path-parameters", + "version": "0.0.1", + "type": "typescript" + }, + "endpointId": { + "path": "/user/users/{userId}", + "method": "GET", + "identifierOverride": "endpoint_user.searchUsers" + }, + "snippetTemplate": { + "clientInstantiation": { + "imports": [ + "import { SeedPathParametersClient } from \"@fern/path-parameters\";" + ], + "templateString": "const client = new SeedPathParametersClient($FERN_INPUT);", + "isOptional": false, + "inputDelimiter": ",", + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "{ $FERN_INPUT }", + "isOptional": true, + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "environment: \"YOUR_BASE_URL\"", + "isOptional": false, + "templateInputs": [], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "functionInvocation": { + "imports": [], + "templateString": "await client.user.searchUsers(\n\t$FERN_INPUT\n)", + "isOptional": false, + "inputDelimiter": ",\n\t", + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "$FERN_INPUT", + "isOptional": false, + "inputDelimiter": ",\n\t", + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "$FERN_INPUT", + "isOptional": true, + "templateInputs": [ + { + "location": "PATH", + "path": "userId", + "type": "payload" + } + ], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "type": "template" + }, + { + "value": { + "imports": [], + "templateString": "{\n\t\t$FERN_INPUT\n\t}", + "isOptional": true, + "inputDelimiter": ",\n\t\t", + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "limit: $FERN_INPUT", + "isOptional": true, + "templateInputs": [ + { + "location": "QUERY", + "path": "limit", + "type": "payload" + } + ], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "type": "v1" + } + }, + { + "sdk": { + "package": "@fern/path-parameters", + "version": "0.0.1", + "type": "typescript" + }, + "endpointId": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifierOverride": "endpoint_user.searchOrganizations" + }, + "snippetTemplate": { + "clientInstantiation": { + "imports": [ + "import { SeedPathParametersClient } from \"@fern/path-parameters\";" + ], + "templateString": "const client = new SeedPathParametersClient($FERN_INPUT);", + "isOptional": false, + "inputDelimiter": ",", + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "{ $FERN_INPUT }", + "isOptional": true, + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "environment: \"YOUR_BASE_URL\"", + "isOptional": false, + "templateInputs": [], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "functionInvocation": { + "imports": [], + "templateString": "await client.user.searchOrganizations(\n\t$FERN_INPUT\n)", + "isOptional": false, + "inputDelimiter": ",\n\t", + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "$FERN_INPUT", + "isOptional": false, + "inputDelimiter": ",\n\t", + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "$FERN_INPUT", + "isOptional": true, + "templateInputs": [ + { + "location": "PATH", + "path": "organizationId", + "type": "payload" + } + ], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "type": "template" + }, + { + "value": { + "imports": [], + "templateString": "{\n\t\t$FERN_INPUT\n\t}", + "isOptional": true, + "inputDelimiter": ",\n\t\t", + "templateInputs": [ + { + "value": { + "imports": [], + "templateString": "limit: $FERN_INPUT", + "isOptional": true, + "templateInputs": [ + { + "location": "QUERY", + "path": "limit", + "type": "payload" + } + ], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "type": "template" + } + ], + "type": "generic" + }, + "type": "v1" + } } ] \ No newline at end of file diff --git a/seed/ts-sdk/path-parameters/snippet.json b/seed/ts-sdk/path-parameters/snippet.json index b8756505a79..dd6df1d0fdd 100644 --- a/seed/ts-sdk/path-parameters/snippet.json +++ b/seed/ts-sdk/path-parameters/snippet.json @@ -32,6 +32,28 @@ "type": "typescript", "client": "import { SeedPathParametersClient, SeedPathParameters } from \"@fern/path-parameters\";\n\nconst client = new SeedPathParametersClient({ environment: \"YOUR_BASE_URL\" });\nawait client.user.getOrganizationUser(\"organizationId\", \"userId\");\n" } + }, + { + "id": { + "path": "/user/users/{userId}", + "method": "GET", + "identifier_override": "endpoint_user.searchUsers" + }, + "snippet": { + "type": "typescript", + "client": "import { SeedPathParametersClient, SeedPathParameters } from \"@fern/path-parameters\";\n\nconst client = new SeedPathParametersClient({ environment: \"YOUR_BASE_URL\" });\nawait client.user.searchUsers(\"userId\", {\n limit: 1\n});\n" + } + }, + { + "id": { + "path": "/user/organizations/{organizationId}", + "method": "GET", + "identifier_override": "endpoint_user.searchOrganizations" + }, + "snippet": { + "type": "typescript", + "client": "import { SeedPathParametersClient, SeedPathParameters } from \"@fern/path-parameters\";\n\nconst client = new SeedPathParametersClient({ environment: \"YOUR_BASE_URL\" });\nawait client.user.searchOrganizations(\"organizationId\", {\n limit: 1\n});\n" + } } ], "types": {} diff --git a/seed/ts-sdk/path-parameters/src/api/resources/user/client/Client.ts b/seed/ts-sdk/path-parameters/src/api/resources/user/client/Client.ts index ef226eb0877..6a82e5bcbec 100644 --- a/seed/ts-sdk/path-parameters/src/api/resources/user/client/Client.ts +++ b/seed/ts-sdk/path-parameters/src/api/resources/user/client/Client.ts @@ -38,7 +38,7 @@ export class User { public getOrganization( organizationId: string, requestOptions?: User.RequestOptions - ): core.APIPromise { + ): core.APIPromise { return core.APIPromise.from( (async () => { const _response = await core.fetcher({ @@ -66,7 +66,7 @@ export class User { if (_response.ok) { return { ok: _response.ok, - body: serializers.User.parseOrThrow(_response.body, { + body: serializers.Organization.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -243,4 +243,164 @@ export class User { })() ); } + + /** + * @param {string} userId + * @param {SeedPathParameters.SearchUsersRequest} request + * @param {User.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.user.searchUsers("userId", { + * limit: 1 + * }) + */ + public searchUsers( + userId: string, + request: SeedPathParameters.SearchUsersRequest = {}, + requestOptions?: User.RequestOptions + ): core.APIPromise { + return core.APIPromise.from( + (async () => { + const { limit } = request; + const _queryParams: Record = {}; + if (limit != null) { + _queryParams["limit"] = limit.toString(); + } + const _response = await core.fetcher({ + url: urlJoin( + await core.Supplier.get(this._options.environment), + `/user/users/${encodeURIComponent(userId)}` + ), + method: "GET", + headers: { + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "@fern/path-parameters", + "X-Fern-SDK-Version": "0.0.1", + "User-Agent": "@fern/path-parameters/0.0.1", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + ...requestOptions?.headers, + }, + contentType: "application/json", + queryParameters: _queryParams, + requestType: "json", + timeoutMs: + requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return { + ok: _response.ok, + body: serializers.user.searchUsers.Response.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + breadcrumbsPrefix: ["response"], + }), + headers: _response.headers, + }; + } + if (_response.error.reason === "status-code") { + throw new errors.SeedPathParametersError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + switch (_response.error.reason) { + case "non-json": + throw new errors.SeedPathParametersError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.SeedPathParametersTimeoutError(); + case "unknown": + throw new errors.SeedPathParametersError({ + message: _response.error.errorMessage, + }); + } + })() + ); + } + + /** + * @param {string} organizationId + * @param {SeedPathParameters.SearchOrganizationsRequest} request + * @param {User.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.user.searchOrganizations("organizationId", { + * limit: 1 + * }) + */ + public searchOrganizations( + organizationId: string, + request: SeedPathParameters.SearchOrganizationsRequest = {}, + requestOptions?: User.RequestOptions + ): core.APIPromise { + return core.APIPromise.from( + (async () => { + const { limit } = request; + const _queryParams: Record = {}; + if (limit != null) { + _queryParams["limit"] = limit.toString(); + } + const _response = await core.fetcher({ + url: urlJoin( + await core.Supplier.get(this._options.environment), + `/user/organizations/${encodeURIComponent(organizationId)}` + ), + method: "GET", + headers: { + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "@fern/path-parameters", + "X-Fern-SDK-Version": "0.0.1", + "User-Agent": "@fern/path-parameters/0.0.1", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + ...requestOptions?.headers, + }, + contentType: "application/json", + queryParameters: _queryParams, + requestType: "json", + timeoutMs: + requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return { + ok: _response.ok, + body: serializers.user.searchOrganizations.Response.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + breadcrumbsPrefix: ["response"], + }), + headers: _response.headers, + }; + } + if (_response.error.reason === "status-code") { + throw new errors.SeedPathParametersError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + switch (_response.error.reason) { + case "non-json": + throw new errors.SeedPathParametersError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.SeedPathParametersTimeoutError(); + case "unknown": + throw new errors.SeedPathParametersError({ + message: _response.error.errorMessage, + }); + } + })() + ); + } } diff --git a/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/SearchOrganizationsRequest.ts b/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/SearchOrganizationsRequest.ts new file mode 100644 index 00000000000..138b583b2fa --- /dev/null +++ b/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/SearchOrganizationsRequest.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * { + * limit: 1 + * } + */ +export interface SearchOrganizationsRequest { + limit?: number; +} diff --git a/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/SearchUsersRequest.ts b/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/SearchUsersRequest.ts new file mode 100644 index 00000000000..d310fc9326c --- /dev/null +++ b/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/SearchUsersRequest.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * { + * limit: 1 + * } + */ +export interface SearchUsersRequest { + limit?: number; +} diff --git a/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/index.ts b/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/index.ts index 1858c592a58..a464408341f 100644 --- a/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/index.ts +++ b/seed/ts-sdk/path-parameters/src/api/resources/user/client/requests/index.ts @@ -1,2 +1,4 @@ export { type GetUsersRequest } from "./GetUsersRequest"; export { type GetOrganizationUserRequest } from "./GetOrganizationUserRequest"; +export { type SearchUsersRequest } from "./SearchUsersRequest"; +export { type SearchOrganizationsRequest } from "./SearchOrganizationsRequest"; diff --git a/seed/ts-sdk/path-parameters/src/api/resources/user/types/Organization.ts b/seed/ts-sdk/path-parameters/src/api/resources/user/types/Organization.ts new file mode 100644 index 00000000000..7ae77284657 --- /dev/null +++ b/seed/ts-sdk/path-parameters/src/api/resources/user/types/Organization.ts @@ -0,0 +1,8 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface Organization { + name: string; + tags: string[]; +} diff --git a/seed/ts-sdk/path-parameters/src/api/resources/user/types/index.ts b/seed/ts-sdk/path-parameters/src/api/resources/user/types/index.ts index 3ce758c1197..73d6b63b7a1 100644 --- a/seed/ts-sdk/path-parameters/src/api/resources/user/types/index.ts +++ b/seed/ts-sdk/path-parameters/src/api/resources/user/types/index.ts @@ -1 +1,2 @@ +export * from "./Organization"; export * from "./User"; diff --git a/seed/ts-sdk/path-parameters/src/serialization/resources/user/client/index.ts b/seed/ts-sdk/path-parameters/src/serialization/resources/user/client/index.ts new file mode 100644 index 00000000000..3c1a81810da --- /dev/null +++ b/seed/ts-sdk/path-parameters/src/serialization/resources/user/client/index.ts @@ -0,0 +1,2 @@ +export * as searchUsers from "./searchUsers"; +export * as searchOrganizations from "./searchOrganizations"; diff --git a/seed/ts-sdk/path-parameters/src/serialization/resources/user/client/searchOrganizations.ts b/seed/ts-sdk/path-parameters/src/serialization/resources/user/client/searchOrganizations.ts new file mode 100644 index 00000000000..a3788126109 --- /dev/null +++ b/seed/ts-sdk/path-parameters/src/serialization/resources/user/client/searchOrganizations.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as SeedPathParameters from "../../../../api/index"; +import * as core from "../../../../core"; +import { Organization } from "../types/Organization"; + +export const Response: core.serialization.Schema< + serializers.user.searchOrganizations.Response.Raw, + SeedPathParameters.Organization[] +> = core.serialization.list(Organization); + +export declare namespace Response { + type Raw = Organization.Raw[]; +} diff --git a/seed/ts-sdk/path-parameters/src/serialization/resources/user/client/searchUsers.ts b/seed/ts-sdk/path-parameters/src/serialization/resources/user/client/searchUsers.ts new file mode 100644 index 00000000000..cac4004efb0 --- /dev/null +++ b/seed/ts-sdk/path-parameters/src/serialization/resources/user/client/searchUsers.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as SeedPathParameters from "../../../../api/index"; +import * as core from "../../../../core"; +import { User } from "../types/User"; + +export const Response: core.serialization.Schema = + core.serialization.list(User); + +export declare namespace Response { + type Raw = User.Raw[]; +} diff --git a/seed/ts-sdk/path-parameters/src/serialization/resources/user/index.ts b/seed/ts-sdk/path-parameters/src/serialization/resources/user/index.ts index eea524d6557..c9240f83b48 100644 --- a/seed/ts-sdk/path-parameters/src/serialization/resources/user/index.ts +++ b/seed/ts-sdk/path-parameters/src/serialization/resources/user/index.ts @@ -1 +1,2 @@ export * from "./types"; +export * from "./client"; diff --git a/seed/ts-sdk/path-parameters/src/serialization/resources/user/types/Organization.ts b/seed/ts-sdk/path-parameters/src/serialization/resources/user/types/Organization.ts new file mode 100644 index 00000000000..d0177895ca0 --- /dev/null +++ b/seed/ts-sdk/path-parameters/src/serialization/resources/user/types/Organization.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as SeedPathParameters from "../../../../api/index"; +import * as core from "../../../../core"; + +export const Organization: core.serialization.ObjectSchema< + serializers.Organization.Raw, + SeedPathParameters.Organization +> = core.serialization.object({ + name: core.serialization.string(), + tags: core.serialization.list(core.serialization.string()), +}); + +export declare namespace Organization { + interface Raw { + name: string; + tags: string[]; + } +} diff --git a/seed/ts-sdk/path-parameters/src/serialization/resources/user/types/index.ts b/seed/ts-sdk/path-parameters/src/serialization/resources/user/types/index.ts index 3ce758c1197..73d6b63b7a1 100644 --- a/seed/ts-sdk/path-parameters/src/serialization/resources/user/types/index.ts +++ b/seed/ts-sdk/path-parameters/src/serialization/resources/user/types/index.ts @@ -1 +1,2 @@ +export * from "./Organization"; export * from "./User"; diff --git a/test-definitions/fern/apis/path-parameters/definition/user.yml b/test-definitions/fern/apis/path-parameters/definition/user.yml index 4f1597393d7..25ea9e21e02 100644 --- a/test-definitions/fern/apis/path-parameters/definition/user.yml +++ b/test-definitions/fern/apis/path-parameters/definition/user.yml @@ -1,4 +1,9 @@ types: + Organization: + properties: + name: string + tags: list + User: properties: name: string @@ -13,7 +18,7 @@ service: method: GET path-parameters: organizationId: string - response: User + response: Organization getUser: path: "/users/{userId}" @@ -33,3 +38,25 @@ service: organizationId: string userId: string response: User + + searchUsers: + path: "/users/{userId}" + method: GET + request: + name: SearchUsersRequest + path-parameters: + userId: string + query-parameters: + limit: optional + response: list + + searchOrganizations: + path: "/organizations/{organizationId}" + method: GET + path-parameters: + organizationId: string + request: + name: SearchOrganizationsRequest + query-parameters: + limit: optional + response: list \ No newline at end of file