From b7966202d2df512ee276056783ce7a896f483a54 Mon Sep 17 00:00:00 2001 From: Aditya Mayukh Som Date: Sat, 12 Apr 2025 11:57:30 +0530 Subject: [PATCH 1/4] added library mode in python fastapi generator --- docs/generators/python-fastapi.md | 3 +- .../languages/PythonFastAPIServerCodegen.java | 77 +- .../resources/python-fastapi/api.mustache | 6 +- .../build/.openapi-generator/FILES | 6 +- .../typescript/encode-decode/build/index.ts | 2 +- .../build/models/ObjectSerializer.ts | 12 +- .../encode-decode/build/models/all.ts | 4 +- .../build/types/ObjectParamAPI.ts | 656 +----------- .../build/types/ObservableAPI.ts | 950 +----------------- .../encode-decode/build/types/PromiseAPI.ts | 567 +---------- .../src/openapi_server/apis/fake_api.py | 1 - .../src/openapi_server/apis/pet_api.py | 1 - .../src/openapi_server/apis/store_api.py | 1 - .../src/openapi_server/apis/user_api.py | 1 - 14 files changed, 76 insertions(+), 2211 deletions(-) diff --git a/docs/generators/python-fastapi.md b/docs/generators/python-fastapi.md index 0beee68d757d..27c4b0e4c0e3 100644 --- a/docs/generators/python-fastapi.md +++ b/docs/generators/python-fastapi.md @@ -25,13 +25,14 @@ These options may be applied as additional-properties (cli) or configOptions (pl |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|
**false**
No changes to the enum's are made, this is the default option.
**true**
With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.
|false| |fastapiImplementationPackage|python package name for the implementation code (convention: snake_case).| |impl| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|
**true**
The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.
**false**
The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.
|true| +|libraryMode|whether to generate minimal python code to be published as a separate library| |false| |packageName|python package name (convention: snake_case).| |openapi_server| |packageVersion|python package version.| |1.0.0| |prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false| |serverPort|TCP port to listen to in app.run| |8080| |sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true| |sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true| -|sourceFolder|directory for generated python source code| |src| +|sourceFolder|directory for generated python source code| |generated-code/python-fastapi| ## IMPORT MAPPING diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java index fe6764014a28..e05466c4a741 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java @@ -63,7 +63,9 @@ public void serialize(Boolean value, JsonGenerator gen, SerializerProvider seria final Logger LOGGER = LoggerFactory.getLogger(PythonFastAPIServerCodegen.class); + private String implPackage; protected String sourceFolder; + protected boolean libraryMode = false; private static final String BASE_CLASS_SUFFIX = "base"; private static final String SERVER_PORT = "serverPort"; @@ -72,8 +74,8 @@ public void serialize(Boolean value, JsonGenerator gen, SerializerProvider seria private static final String DEFAULT_PACKAGE_NAME = "openapi_server"; private static final String DEFAULT_SOURCE_FOLDER = "src"; private static final String DEFAULT_PACKAGE_VERSION = "1.0.0"; - - private String implPackage; + private static final String LIBRARY_MODE = "libraryMode"; + private static final String DEFAULT_LIBRARY_MODE = "false"; @Override public CodegenType getTag() { @@ -85,6 +87,18 @@ public String getHelp() { return "Generates a Python FastAPI server (beta). Models are defined with the pydantic library"; } + public void setLibraryMode(final boolean mode) { + this.libraryMode = mode; + } + + public void setImplPackage(final String implPackage) { + this.implPackage = implPackage; + } + + public void setSourceFolder(final String sourceFolder) { + this.sourceFolder = sourceFolder; + } + public PythonFastAPIServerCodegen() { super(); @@ -110,6 +124,7 @@ public PythonFastAPIServerCodegen() { additionalProperties.put(CodegenConstants.SOURCE_FOLDER, DEFAULT_SOURCE_FOLDER); additionalProperties.put(CodegenConstants.PACKAGE_NAME, DEFAULT_PACKAGE_NAME); additionalProperties.put(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE, DEFAULT_PACKAGE_NAME.concat(".impl")); + additionalProperties.put(LIBRARY_MODE, DEFAULT_LIBRARY_MODE); languageSpecificPrimitives.add("List"); languageSpecificPrimitives.add("Dict"); @@ -127,33 +142,41 @@ public PythonFastAPIServerCodegen() { implPackage = "impl"; apiTestTemplateFiles().put("api_test.mustache", ".py"); - cliOptions.add(new CliOption(CodegenConstants.PACKAGE_NAME, "python package name (convention: snake_case).") - .defaultValue(DEFAULT_PACKAGE_NAME)); - cliOptions.add(new CliOption(CodegenConstants.PACKAGE_VERSION, "python package version.") - .defaultValue(DEFAULT_PACKAGE_VERSION)); - cliOptions.add(new CliOption(SERVER_PORT, "TCP port to listen to in app.run") - .defaultValue(String.valueOf(DEFAULT_SERVER_PORT))); - cliOptions.add(new CliOption(CodegenConstants.SOURCE_FOLDER, "directory for generated python source code") - .defaultValue(DEFAULT_SOURCE_FOLDER)); - cliOptions.add(new CliOption(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE, "python package name for the implementation code (convention: snake_case).") - .defaultValue(implPackage)); + // Adds the following options in the codegen CLI + addOption(CodegenConstants.PACKAGE_NAME, + "python package name (convention: snake_case).", + DEFAULT_PACKAGE_NAME); + + addOption(CodegenConstants.PACKAGE_VERSION, + "python package version.", + DEFAULT_PACKAGE_VERSION); + + addOption(SERVER_PORT, + "TCP port to listen to in app.run", + String.valueOf(DEFAULT_SERVER_PORT)); + + addOption(CodegenConstants.SOURCE_FOLDER, + "directory for generated python source code", + outputFolder); + + addOption(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE, + "python package name for the implementation code (convention: snake_case).", + implPackage); + + addSwitch(LIBRARY_MODE, + "whether to generate minimal python code to be published as a separate library", + libraryMode); } @Override public void processOpts() { super.processOpts(); - if (additionalProperties.containsKey(CodegenConstants.PACKAGE_NAME)) { - setPackageName((String) additionalProperties.get(CodegenConstants.PACKAGE_NAME)); - } - - if (additionalProperties.containsKey(CodegenConstants.SOURCE_FOLDER)) { - this.sourceFolder = ((String) additionalProperties.get(CodegenConstants.SOURCE_FOLDER)); - } - - if (additionalProperties.containsKey(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE)) { - this.implPackage = ((String) additionalProperties.get(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE)); - } + // converts additional property values into corresponding type and passes them to setter + convertPropertyToStringAndWriteBack(CodegenConstants.PACKAGE_NAME, this::setPackageName); + convertPropertyToStringAndWriteBack(CodegenConstants.SOURCE_FOLDER, this::setSourceFolder); + convertPropertyToStringAndWriteBack(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE, this::setImplPackage); + convertPropertyToBooleanAndWriteBack(LIBRARY_MODE, this::setLibraryMode); modelPackage = packageName + "." + modelPackage; apiPackage = packageName + "." + apiPackage; @@ -161,8 +184,12 @@ public void processOpts() { supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")); supportingFiles.add(new SupportingFile("openapi.mustache", "", "openapi.yaml")); supportingFiles.add(new SupportingFile("main.mustache", String.join(File.separator, new String[]{sourceFolder, packageName.replace('.', File.separatorChar)}), "main.py")); - supportingFiles.add(new SupportingFile("docker-compose.mustache", "", "docker-compose.yaml")); - supportingFiles.add(new SupportingFile("Dockerfile.mustache", "", "Dockerfile")); + + if (!this.libraryMode) { + supportingFiles.add(new SupportingFile("docker-compose.mustache", "", "docker-compose.yaml")); + supportingFiles.add(new SupportingFile("Dockerfile.mustache", "", "Dockerfile")); + } + supportingFiles.add(new SupportingFile("requirements.mustache", "", "requirements.txt")); supportingFiles.add(new SupportingFile("security_api.mustache", String.join(File.separator, new String[]{sourceFolder, packageName.replace('.', File.separatorChar)}), "security_api.py")); supportingFiles.add(new SupportingFile("extra_models.mustache", StringUtils.substringAfter(modelFileFolder(), outputFolder), "extra_models.py")); diff --git a/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache b/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache index 7c87ef7543cd..dc72363c52c2 100644 --- a/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache +++ b/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache @@ -5,7 +5,10 @@ import importlib import pkgutil from {{apiPackage}}.{{classFilename}}_{{baseSuffix}} import Base{{classname}} +{{#fastapiImplementationPackage}} import {{fastapiImplementationPackage}} +{{/fastapiImplementationPackage}} + from fastapi import ( # noqa: F401 APIRouter, @@ -30,10 +33,11 @@ from {{modelPackage}}.extra_models import TokenModel # noqa: F401 router = APIRouter() +{{#fastapiImplementationPackage}} ns_pkg = {{fastapiImplementationPackage}} for _, name, _ in pkgutil.iter_modules(ns_pkg.__path__, ns_pkg.__name__ + "."): importlib.import_module(name) - +{{/fastapiImplementationPackage}} {{#operations}} {{#operation}} diff --git a/samples/client/others/typescript/encode-decode/build/.openapi-generator/FILES b/samples/client/others/typescript/encode-decode/build/.openapi-generator/FILES index b8c07c76c070..f586694f5f67 100644 --- a/samples/client/others/typescript/encode-decode/build/.openapi-generator/FILES +++ b/samples/client/others/typescript/encode-decode/build/.openapi-generator/FILES @@ -1,8 +1,6 @@ .gitattributes .gitignore -DefaultApi.md README.md -apis/DefaultApi.ts apis/baseapi.ts apis/exception.ts auth/auth.ts @@ -12,9 +10,9 @@ http/http.ts http/isomorphic-fetch.ts index.ts middleware.ts -models/ComplexObject.ts -models/CompositeObject.ts models/ObjectSerializer.ts +models/SomeObject.ts +models/WithNullableType.ts models/all.ts package.json rxjsStub.ts diff --git a/samples/client/others/typescript/encode-decode/build/index.ts b/samples/client/others/typescript/encode-decode/build/index.ts index 949fa4d5e4d4..c05016080ad2 100644 --- a/samples/client/others/typescript/encode-decode/build/index.ts +++ b/samples/client/others/typescript/encode-decode/build/index.ts @@ -9,5 +9,5 @@ export { RequiredError } from "./apis/baseapi"; export type { PromiseMiddleware as Middleware, Middleware as ObservableMiddleware } from './middleware'; export { Observable } from './rxjsStub'; -export { PromiseDefaultApi as DefaultApi } from './types/PromiseAPI'; +export { } from './types/PromiseAPI'; diff --git a/samples/client/others/typescript/encode-decode/build/models/ObjectSerializer.ts b/samples/client/others/typescript/encode-decode/build/models/ObjectSerializer.ts index 59eea6798cc5..d44f397943e3 100644 --- a/samples/client/others/typescript/encode-decode/build/models/ObjectSerializer.ts +++ b/samples/client/others/typescript/encode-decode/build/models/ObjectSerializer.ts @@ -1,8 +1,8 @@ -export * from '../models/ComplexObject'; -export * from '../models/CompositeObject'; +export * from '../models/SomeObject'; +export * from '../models/WithNullableType'; -import { ComplexObject } from '../models/ComplexObject'; -import { CompositeObject } from '../models/CompositeObject'; +import { SomeObject } from '../models/SomeObject'; +import { WithNullableType } from '../models/WithNullableType'; /* tslint:disable:no-unused-variable */ let primitives = [ @@ -20,8 +20,8 @@ let enumsMap: Set = new Set([ ]); let typeMap: {[index: string]: any} = { - "ComplexObject": ComplexObject, - "CompositeObject": CompositeObject, + "SomeObject": SomeObject, + "WithNullableType": WithNullableType, } type MimeTypeDescriptor = { diff --git a/samples/client/others/typescript/encode-decode/build/models/all.ts b/samples/client/others/typescript/encode-decode/build/models/all.ts index bcc447e6f4bf..ed435990d1a4 100644 --- a/samples/client/others/typescript/encode-decode/build/models/all.ts +++ b/samples/client/others/typescript/encode-decode/build/models/all.ts @@ -1,2 +1,2 @@ -export * from '../models/ComplexObject' -export * from '../models/CompositeObject' +export * from '../models/SomeObject' +export * from '../models/WithNullableType' diff --git a/samples/client/others/typescript/encode-decode/build/types/ObjectParamAPI.ts b/samples/client/others/typescript/encode-decode/build/types/ObjectParamAPI.ts index d7263e3d719b..5daa1b27ef4d 100644 --- a/samples/client/others/typescript/encode-decode/build/types/ObjectParamAPI.ts +++ b/samples/client/others/typescript/encode-decode/build/types/ObjectParamAPI.ts @@ -2,657 +2,5 @@ import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/htt import { Configuration, ConfigurationOptions } from '../configuration' import type { Middleware } from '../middleware'; -import { ComplexObject } from '../models/ComplexObject'; -import { CompositeObject } from '../models/CompositeObject'; - -import { ObservableDefaultApi } from "./ObservableAPI"; -import { DefaultApiRequestFactory, DefaultApiResponseProcessor} from "../apis/DefaultApi"; - -export interface DefaultApiTestDecodeArrayOfArraysGetRequest { -} - -export interface DefaultApiTestDecodeArrayOfGetRequest { -} - -export interface DefaultApiTestDecodeArrayOfMapsOfObjectsGetRequest { -} - -export interface DefaultApiTestDecodeArrayOfNullableGetRequest { -} - -export interface DefaultApiTestDecodeArrayOfNullableObjectsGetRequest { -} - -export interface DefaultApiTestDecodeCompositeObjectsGetRequest { -} - -export interface DefaultApiTestDecodeMapOfMapsOfObjectsGetRequest { -} - -export interface DefaultApiTestDecodeMapOfObjectsGetRequest { -} - -export interface DefaultApiTestDecodeMapOfPrimitiveGetRequest { -} - -export interface DefaultApiTestDecodeNullableArrayGetRequest { -} - -export interface DefaultApiTestDecodeNullableGetRequest { -} - -export interface DefaultApiTestDecodeObjectGetRequest { -} - -export interface DefaultApiTestDecodePrimitiveBooleanGetRequest { -} - -export interface DefaultApiTestDecodePrimitiveIntegerGetRequest { -} - -export interface DefaultApiTestDecodePrimitiveNumberGetRequest { -} - -export interface DefaultApiTestDecodePrimitiveStringGetRequest { -} - -export interface DefaultApiTestEncodeArrayOfArraysPostRequest { - /** - * - * @type Array<Array<string>> - * @memberof DefaultApitestEncodeArrayOfArraysPost - */ - requestBody: Array> -} - -export interface DefaultApiTestEncodeArrayOfMapsOfObjectsPostRequest { - /** - * - * @type Array<{ [key: string]: ComplexObject; }> - * @memberof DefaultApitestEncodeArrayOfMapsOfObjectsPost - */ - complexObject: Array<{ [key: string]: ComplexObject; }> -} - -export interface DefaultApiTestEncodeArrayOfNullableObjectsPostRequest { - /** - * - * @type Array<ComplexObject> - * @memberof DefaultApitestEncodeArrayOfNullableObjectsPost - */ - complexObject: Array -} - -export interface DefaultApiTestEncodeArrayOfNullablePostRequest { - /** - * - * @type Array<string | null> - * @memberof DefaultApitestEncodeArrayOfNullablePost - */ - requestBody: Array -} - -export interface DefaultApiTestEncodeArrayOfPostRequest { - /** - * - * @type Array<string> - * @memberof DefaultApitestEncodeArrayOfPost - */ - requestBody: Array -} - -export interface DefaultApiTestEncodeCompositeObjectsPostRequest { - /** - * - * @type CompositeObject - * @memberof DefaultApitestEncodeCompositeObjectsPost - */ - compositeObject: CompositeObject -} - -export interface DefaultApiTestEncodeMapOfMapsOfObjectsPostRequest { - /** - * - * @type { [key: string]: { [key: string]: ComplexObject; }; } - * @memberof DefaultApitestEncodeMapOfMapsOfObjectsPost - */ - requestBody: { [key: string]: { [key: string]: ComplexObject; }; } -} - -export interface DefaultApiTestEncodeMapOfObjectsPostRequest { - /** - * - * @type { [key: string]: ComplexObject | null; } - * @memberof DefaultApitestEncodeMapOfObjectsPost - */ - requestBody: { [key: string]: ComplexObject | null; } -} - -export interface DefaultApiTestEncodeMapOfPrimitivePostRequest { - /** - * - * @type { [key: string]: string; } - * @memberof DefaultApitestEncodeMapOfPrimitivePost - */ - requestBody: { [key: string]: string; } -} - -export interface DefaultApiTestEncodeNullableArrayPostRequest { - /** - * - * @type Array<string> - * @memberof DefaultApitestEncodeNullableArrayPost - */ - requestBody?: Array -} - -export interface DefaultApiTestEncodeNullablePostRequest { - /** - * - * @type string - * @memberof DefaultApitestEncodeNullablePost - */ - body?: string -} - -export interface DefaultApiTestEncodeObjectPostRequest { - /** - * - * @type ComplexObject - * @memberof DefaultApitestEncodeObjectPost - */ - complexObject: ComplexObject -} - -export interface DefaultApiTestEncodePrimitiveBooleanPostRequest { - /** - * - * @type boolean - * @memberof DefaultApitestEncodePrimitiveBooleanPost - */ - body: boolean -} - -export interface DefaultApiTestEncodePrimitiveIntegerPostRequest { - /** - * - * @type number - * @memberof DefaultApitestEncodePrimitiveIntegerPost - */ - body: number -} - -export interface DefaultApiTestEncodePrimitiveNumberPostRequest { - /** - * - * @type number - * @memberof DefaultApitestEncodePrimitiveNumberPost - */ - body: number -} - -export interface DefaultApiTestEncodePrimitiveStringPostRequest { - /** - * - * @type string - * @memberof DefaultApitestEncodePrimitiveStringPost - */ - body: string -} - -export class ObjectDefaultApi { - private api: ObservableDefaultApi - - public constructor(configuration: Configuration, requestFactory?: DefaultApiRequestFactory, responseProcessor?: DefaultApiResponseProcessor) { - this.api = new ObservableDefaultApi(configuration, requestFactory, responseProcessor); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfArraysGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfArraysGetRequest = {}, options?: ConfigurationOptions): Promise>>> { - return this.api.testDecodeArrayOfArraysGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfArraysGet(param: DefaultApiTestDecodeArrayOfArraysGetRequest = {}, options?: ConfigurationOptions): Promise>> { - return this.api.testDecodeArrayOfArraysGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfGetRequest = {}, options?: ConfigurationOptions): Promise>> { - return this.api.testDecodeArrayOfGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfGet(param: DefaultApiTestDecodeArrayOfGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeArrayOfGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfMapsOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise>> { - return this.api.testDecodeArrayOfMapsOfObjectsGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfMapsOfObjectsGet(param: DefaultApiTestDecodeArrayOfMapsOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeArrayOfMapsOfObjectsGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfNullableGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfNullableGetRequest = {}, options?: ConfigurationOptions): Promise>> { - return this.api.testDecodeArrayOfNullableGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfNullableGet(param: DefaultApiTestDecodeArrayOfNullableGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeArrayOfNullableGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfNullableObjectsGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfNullableObjectsGetRequest = {}, options?: ConfigurationOptions): Promise>> { - return this.api.testDecodeArrayOfNullableObjectsGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeArrayOfNullableObjectsGet(param: DefaultApiTestDecodeArrayOfNullableObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeArrayOfNullableObjectsGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeCompositeObjectsGetWithHttpInfo(param: DefaultApiTestDecodeCompositeObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeCompositeObjectsGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeCompositeObjectsGet(param: DefaultApiTestDecodeCompositeObjectsGetRequest = {}, options?: ConfigurationOptions): Promise { - return this.api.testDecodeCompositeObjectsGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeMapOfMapsOfObjectsGetWithHttpInfo(param: DefaultApiTestDecodeMapOfMapsOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeMapOfMapsOfObjectsGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeMapOfMapsOfObjectsGet(param: DefaultApiTestDecodeMapOfMapsOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise<{ [key: string]: { [key: string]: ComplexObject; }; }> { - return this.api.testDecodeMapOfMapsOfObjectsGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeMapOfObjectsGetWithHttpInfo(param: DefaultApiTestDecodeMapOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeMapOfObjectsGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeMapOfObjectsGet(param: DefaultApiTestDecodeMapOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise<{ [key: string]: ComplexObject | null; }> { - return this.api.testDecodeMapOfObjectsGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeMapOfPrimitiveGetWithHttpInfo(param: DefaultApiTestDecodeMapOfPrimitiveGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeMapOfPrimitiveGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeMapOfPrimitiveGet(param: DefaultApiTestDecodeMapOfPrimitiveGetRequest = {}, options?: ConfigurationOptions): Promise<{ [key: string]: string; }> { - return this.api.testDecodeMapOfPrimitiveGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeNullableArrayGetWithHttpInfo(param: DefaultApiTestDecodeNullableArrayGetRequest = {}, options?: ConfigurationOptions): Promise>> { - return this.api.testDecodeNullableArrayGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeNullableArrayGet(param: DefaultApiTestDecodeNullableArrayGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeNullableArrayGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeNullableGetWithHttpInfo(param: DefaultApiTestDecodeNullableGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeNullableGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeNullableGet(param: DefaultApiTestDecodeNullableGetRequest = {}, options?: ConfigurationOptions): Promise { - return this.api.testDecodeNullableGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeObjectGetWithHttpInfo(param: DefaultApiTestDecodeObjectGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodeObjectGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodeObjectGet(param: DefaultApiTestDecodeObjectGetRequest = {}, options?: ConfigurationOptions): Promise { - return this.api.testDecodeObjectGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodePrimitiveBooleanGetWithHttpInfo(param: DefaultApiTestDecodePrimitiveBooleanGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodePrimitiveBooleanGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodePrimitiveBooleanGet(param: DefaultApiTestDecodePrimitiveBooleanGetRequest = {}, options?: ConfigurationOptions): Promise { - return this.api.testDecodePrimitiveBooleanGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodePrimitiveIntegerGetWithHttpInfo(param: DefaultApiTestDecodePrimitiveIntegerGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodePrimitiveIntegerGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodePrimitiveIntegerGet(param: DefaultApiTestDecodePrimitiveIntegerGetRequest = {}, options?: ConfigurationOptions): Promise { - return this.api.testDecodePrimitiveIntegerGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodePrimitiveNumberGetWithHttpInfo(param: DefaultApiTestDecodePrimitiveNumberGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodePrimitiveNumberGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodePrimitiveNumberGet(param: DefaultApiTestDecodePrimitiveNumberGetRequest = {}, options?: ConfigurationOptions): Promise { - return this.api.testDecodePrimitiveNumberGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodePrimitiveStringGetWithHttpInfo(param: DefaultApiTestDecodePrimitiveStringGetRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testDecodePrimitiveStringGetWithHttpInfo( options).toPromise(); - } - - /** - * @param param the request object - */ - public testDecodePrimitiveStringGet(param: DefaultApiTestDecodePrimitiveStringGetRequest = {}, options?: ConfigurationOptions): Promise { - return this.api.testDecodePrimitiveStringGet( options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfArraysPostWithHttpInfo(param: DefaultApiTestEncodeArrayOfArraysPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeArrayOfArraysPostWithHttpInfo(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfArraysPost(param: DefaultApiTestEncodeArrayOfArraysPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeArrayOfArraysPost(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(param: DefaultApiTestEncodeArrayOfMapsOfObjectsPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(param.complexObject, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfMapsOfObjectsPost(param: DefaultApiTestEncodeArrayOfMapsOfObjectsPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeArrayOfMapsOfObjectsPost(param.complexObject, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfNullableObjectsPostWithHttpInfo(param: DefaultApiTestEncodeArrayOfNullableObjectsPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeArrayOfNullableObjectsPostWithHttpInfo(param.complexObject, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfNullableObjectsPost(param: DefaultApiTestEncodeArrayOfNullableObjectsPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeArrayOfNullableObjectsPost(param.complexObject, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfNullablePostWithHttpInfo(param: DefaultApiTestEncodeArrayOfNullablePostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeArrayOfNullablePostWithHttpInfo(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfNullablePost(param: DefaultApiTestEncodeArrayOfNullablePostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeArrayOfNullablePost(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfPostWithHttpInfo(param: DefaultApiTestEncodeArrayOfPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeArrayOfPostWithHttpInfo(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeArrayOfPost(param: DefaultApiTestEncodeArrayOfPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeArrayOfPost(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeCompositeObjectsPostWithHttpInfo(param: DefaultApiTestEncodeCompositeObjectsPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeCompositeObjectsPostWithHttpInfo(param.compositeObject, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeCompositeObjectsPost(param: DefaultApiTestEncodeCompositeObjectsPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeCompositeObjectsPost(param.compositeObject, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeMapOfMapsOfObjectsPostWithHttpInfo(param: DefaultApiTestEncodeMapOfMapsOfObjectsPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeMapOfMapsOfObjectsPostWithHttpInfo(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeMapOfMapsOfObjectsPost(param: DefaultApiTestEncodeMapOfMapsOfObjectsPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeMapOfMapsOfObjectsPost(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeMapOfObjectsPostWithHttpInfo(param: DefaultApiTestEncodeMapOfObjectsPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeMapOfObjectsPostWithHttpInfo(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeMapOfObjectsPost(param: DefaultApiTestEncodeMapOfObjectsPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeMapOfObjectsPost(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeMapOfPrimitivePostWithHttpInfo(param: DefaultApiTestEncodeMapOfPrimitivePostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeMapOfPrimitivePostWithHttpInfo(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeMapOfPrimitivePost(param: DefaultApiTestEncodeMapOfPrimitivePostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeMapOfPrimitivePost(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeNullableArrayPostWithHttpInfo(param: DefaultApiTestEncodeNullableArrayPostRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeNullableArrayPostWithHttpInfo(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeNullableArrayPost(param: DefaultApiTestEncodeNullableArrayPostRequest = {}, options?: ConfigurationOptions): Promise { - return this.api.testEncodeNullableArrayPost(param.requestBody, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeNullablePostWithHttpInfo(param: DefaultApiTestEncodeNullablePostRequest = {}, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeNullablePostWithHttpInfo(param.body, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeNullablePost(param: DefaultApiTestEncodeNullablePostRequest = {}, options?: ConfigurationOptions): Promise { - return this.api.testEncodeNullablePost(param.body, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeObjectPostWithHttpInfo(param: DefaultApiTestEncodeObjectPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodeObjectPostWithHttpInfo(param.complexObject, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodeObjectPost(param: DefaultApiTestEncodeObjectPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodeObjectPost(param.complexObject, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodePrimitiveBooleanPostWithHttpInfo(param: DefaultApiTestEncodePrimitiveBooleanPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodePrimitiveBooleanPostWithHttpInfo(param.body, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodePrimitiveBooleanPost(param: DefaultApiTestEncodePrimitiveBooleanPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodePrimitiveBooleanPost(param.body, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodePrimitiveIntegerPostWithHttpInfo(param: DefaultApiTestEncodePrimitiveIntegerPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodePrimitiveIntegerPostWithHttpInfo(param.body, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodePrimitiveIntegerPost(param: DefaultApiTestEncodePrimitiveIntegerPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodePrimitiveIntegerPost(param.body, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodePrimitiveNumberPostWithHttpInfo(param: DefaultApiTestEncodePrimitiveNumberPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodePrimitiveNumberPostWithHttpInfo(param.body, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodePrimitiveNumberPost(param: DefaultApiTestEncodePrimitiveNumberPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodePrimitiveNumberPost(param.body, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodePrimitiveStringPostWithHttpInfo(param: DefaultApiTestEncodePrimitiveStringPostRequest, options?: ConfigurationOptions): Promise> { - return this.api.testEncodePrimitiveStringPostWithHttpInfo(param.body, options).toPromise(); - } - - /** - * @param param the request object - */ - public testEncodePrimitiveStringPost(param: DefaultApiTestEncodePrimitiveStringPostRequest, options?: ConfigurationOptions): Promise { - return this.api.testEncodePrimitiveStringPost(param.body, options).toPromise(); - } - -} +import { SomeObject } from '../models/SomeObject'; +import { WithNullableType } from '../models/WithNullableType'; diff --git a/samples/client/others/typescript/encode-decode/build/types/ObservableAPI.ts b/samples/client/others/typescript/encode-decode/build/types/ObservableAPI.ts index 98a4d0cbf06f..edc88673397e 100644 --- a/samples/client/others/typescript/encode-decode/build/types/ObservableAPI.ts +++ b/samples/client/others/typescript/encode-decode/build/types/ObservableAPI.ts @@ -3,951 +3,5 @@ import { Configuration, ConfigurationOptions, mergeConfiguration } from '../conf import type { Middleware } from '../middleware'; import { Observable, of, from } from '../rxjsStub'; import {mergeMap, map} from '../rxjsStub'; -import { ComplexObject } from '../models/ComplexObject'; -import { CompositeObject } from '../models/CompositeObject'; - -import { DefaultApiRequestFactory, DefaultApiResponseProcessor} from "../apis/DefaultApi"; -export class ObservableDefaultApi { - private requestFactory: DefaultApiRequestFactory; - private responseProcessor: DefaultApiResponseProcessor; - private configuration: Configuration; - - public constructor( - configuration: Configuration, - requestFactory?: DefaultApiRequestFactory, - responseProcessor?: DefaultApiResponseProcessor - ) { - this.configuration = configuration; - this.requestFactory = requestFactory || new DefaultApiRequestFactory(configuration); - this.responseProcessor = responseProcessor || new DefaultApiResponseProcessor(); - } - - /** - */ - public testDecodeArrayOfArraysGetWithHttpInfo(_options?: ConfigurationOptions): Observable>>> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeArrayOfArraysGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfArraysGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeArrayOfArraysGet(_options?: ConfigurationOptions): Observable>> { - return this.testDecodeArrayOfArraysGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>>) => apiResponse.data)); - } - - /** - */ - public testDecodeArrayOfGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeArrayOfGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeArrayOfGet(_options?: ConfigurationOptions): Observable> { - return this.testDecodeArrayOfGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); - } - - /** - */ - public testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeArrayOfMapsOfObjectsGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeArrayOfMapsOfObjectsGet(_options?: ConfigurationOptions): Observable> { - return this.testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); - } - - /** - */ - public testDecodeArrayOfNullableGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeArrayOfNullableGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfNullableGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeArrayOfNullableGet(_options?: ConfigurationOptions): Observable> { - return this.testDecodeArrayOfNullableGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); - } - - /** - */ - public testDecodeArrayOfNullableObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeArrayOfNullableObjectsGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfNullableObjectsGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeArrayOfNullableObjectsGet(_options?: ConfigurationOptions): Observable> { - return this.testDecodeArrayOfNullableObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); - } - - /** - */ - public testDecodeCompositeObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeCompositeObjectsGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeCompositeObjectsGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeCompositeObjectsGet(_options?: ConfigurationOptions): Observable { - return this.testDecodeCompositeObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - */ - public testDecodeMapOfMapsOfObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeMapOfMapsOfObjectsGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeMapOfMapsOfObjectsGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeMapOfMapsOfObjectsGet(_options?: ConfigurationOptions): Observable<{ [key: string]: { [key: string]: ComplexObject; }; }> { - return this.testDecodeMapOfMapsOfObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo<{ [key: string]: { [key: string]: ComplexObject; }; }>) => apiResponse.data)); - } - - /** - */ - public testDecodeMapOfObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeMapOfObjectsGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeMapOfObjectsGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeMapOfObjectsGet(_options?: ConfigurationOptions): Observable<{ [key: string]: ComplexObject | null; }> { - return this.testDecodeMapOfObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo<{ [key: string]: ComplexObject | null; }>) => apiResponse.data)); - } - - /** - */ - public testDecodeMapOfPrimitiveGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeMapOfPrimitiveGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeMapOfPrimitiveGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeMapOfPrimitiveGet(_options?: ConfigurationOptions): Observable<{ [key: string]: string; }> { - return this.testDecodeMapOfPrimitiveGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo<{ [key: string]: string; }>) => apiResponse.data)); - } - - /** - */ - public testDecodeNullableArrayGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeNullableArrayGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeNullableArrayGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeNullableArrayGet(_options?: ConfigurationOptions): Observable> { - return this.testDecodeNullableArrayGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); - } - - /** - */ - public testDecodeNullableGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeNullableGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeNullableGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeNullableGet(_options?: ConfigurationOptions): Observable { - return this.testDecodeNullableGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - */ - public testDecodeObjectGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodeObjectGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeObjectGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodeObjectGet(_options?: ConfigurationOptions): Observable { - return this.testDecodeObjectGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - */ - public testDecodePrimitiveBooleanGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodePrimitiveBooleanGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodePrimitiveBooleanGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodePrimitiveBooleanGet(_options?: ConfigurationOptions): Observable { - return this.testDecodePrimitiveBooleanGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - */ - public testDecodePrimitiveIntegerGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodePrimitiveIntegerGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodePrimitiveIntegerGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodePrimitiveIntegerGet(_options?: ConfigurationOptions): Observable { - return this.testDecodePrimitiveIntegerGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - */ - public testDecodePrimitiveNumberGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodePrimitiveNumberGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodePrimitiveNumberGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodePrimitiveNumberGet(_options?: ConfigurationOptions): Observable { - return this.testDecodePrimitiveNumberGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - */ - public testDecodePrimitiveStringGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testDecodePrimitiveStringGet(_config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodePrimitiveStringGetWithHttpInfo(rsp))); - })); - } - - /** - */ - public testDecodePrimitiveStringGet(_options?: ConfigurationOptions): Observable { - return this.testDecodePrimitiveStringGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfArraysPostWithHttpInfo(requestBody: Array>, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeArrayOfArraysPost(requestBody, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfArraysPostWithHttpInfo(rsp))); - })); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfArraysPost(requestBody: Array>, _options?: ConfigurationOptions): Observable { - return this.testEncodeArrayOfArraysPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param complexObject - */ - public testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(complexObject: Array<{ [key: string]: ComplexObject; }>, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeArrayOfMapsOfObjectsPost(complexObject, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(rsp))); - })); - } - - /** - * @param complexObject - */ - public testEncodeArrayOfMapsOfObjectsPost(complexObject: Array<{ [key: string]: ComplexObject; }>, _options?: ConfigurationOptions): Observable { - return this.testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(complexObject, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param complexObject - */ - public testEncodeArrayOfNullableObjectsPostWithHttpInfo(complexObject: Array, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeArrayOfNullableObjectsPost(complexObject, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfNullableObjectsPostWithHttpInfo(rsp))); - })); - } - - /** - * @param complexObject - */ - public testEncodeArrayOfNullableObjectsPost(complexObject: Array, _options?: ConfigurationOptions): Observable { - return this.testEncodeArrayOfNullableObjectsPostWithHttpInfo(complexObject, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfNullablePostWithHttpInfo(requestBody: Array, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeArrayOfNullablePost(requestBody, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfNullablePostWithHttpInfo(rsp))); - })); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfNullablePost(requestBody: Array, _options?: ConfigurationOptions): Observable { - return this.testEncodeArrayOfNullablePostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfPostWithHttpInfo(requestBody: Array, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeArrayOfPost(requestBody, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfPostWithHttpInfo(rsp))); - })); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfPost(requestBody: Array, _options?: ConfigurationOptions): Observable { - return this.testEncodeArrayOfPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param compositeObject - */ - public testEncodeCompositeObjectsPostWithHttpInfo(compositeObject: CompositeObject, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeCompositeObjectsPost(compositeObject, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeCompositeObjectsPostWithHttpInfo(rsp))); - })); - } - - /** - * @param compositeObject - */ - public testEncodeCompositeObjectsPost(compositeObject: CompositeObject, _options?: ConfigurationOptions): Observable { - return this.testEncodeCompositeObjectsPostWithHttpInfo(compositeObject, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param requestBody - */ - public testEncodeMapOfMapsOfObjectsPostWithHttpInfo(requestBody: { [key: string]: { [key: string]: ComplexObject; }; }, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeMapOfMapsOfObjectsPost(requestBody, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeMapOfMapsOfObjectsPostWithHttpInfo(rsp))); - })); - } - - /** - * @param requestBody - */ - public testEncodeMapOfMapsOfObjectsPost(requestBody: { [key: string]: { [key: string]: ComplexObject; }; }, _options?: ConfigurationOptions): Observable { - return this.testEncodeMapOfMapsOfObjectsPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param requestBody - */ - public testEncodeMapOfObjectsPostWithHttpInfo(requestBody: { [key: string]: ComplexObject | null; }, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeMapOfObjectsPost(requestBody, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeMapOfObjectsPostWithHttpInfo(rsp))); - })); - } - - /** - * @param requestBody - */ - public testEncodeMapOfObjectsPost(requestBody: { [key: string]: ComplexObject | null; }, _options?: ConfigurationOptions): Observable { - return this.testEncodeMapOfObjectsPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param requestBody - */ - public testEncodeMapOfPrimitivePostWithHttpInfo(requestBody: { [key: string]: string; }, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeMapOfPrimitivePost(requestBody, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeMapOfPrimitivePostWithHttpInfo(rsp))); - })); - } - - /** - * @param requestBody - */ - public testEncodeMapOfPrimitivePost(requestBody: { [key: string]: string; }, _options?: ConfigurationOptions): Observable { - return this.testEncodeMapOfPrimitivePostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param [requestBody] - */ - public testEncodeNullableArrayPostWithHttpInfo(requestBody?: Array, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeNullableArrayPost(requestBody, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeNullableArrayPostWithHttpInfo(rsp))); - })); - } - - /** - * @param [requestBody] - */ - public testEncodeNullableArrayPost(requestBody?: Array, _options?: ConfigurationOptions): Observable { - return this.testEncodeNullableArrayPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param [body] - */ - public testEncodeNullablePostWithHttpInfo(body?: string, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeNullablePost(body, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeNullablePostWithHttpInfo(rsp))); - })); - } - - /** - * @param [body] - */ - public testEncodeNullablePost(body?: string, _options?: ConfigurationOptions): Observable { - return this.testEncodeNullablePostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param complexObject - */ - public testEncodeObjectPostWithHttpInfo(complexObject: ComplexObject, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodeObjectPost(complexObject, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeObjectPostWithHttpInfo(rsp))); - })); - } - - /** - * @param complexObject - */ - public testEncodeObjectPost(complexObject: ComplexObject, _options?: ConfigurationOptions): Observable { - return this.testEncodeObjectPostWithHttpInfo(complexObject, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param body - */ - public testEncodePrimitiveBooleanPostWithHttpInfo(body: boolean, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodePrimitiveBooleanPost(body, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodePrimitiveBooleanPostWithHttpInfo(rsp))); - })); - } - - /** - * @param body - */ - public testEncodePrimitiveBooleanPost(body: boolean, _options?: ConfigurationOptions): Observable { - return this.testEncodePrimitiveBooleanPostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param body - */ - public testEncodePrimitiveIntegerPostWithHttpInfo(body: number, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodePrimitiveIntegerPost(body, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodePrimitiveIntegerPostWithHttpInfo(rsp))); - })); - } - - /** - * @param body - */ - public testEncodePrimitiveIntegerPost(body: number, _options?: ConfigurationOptions): Observable { - return this.testEncodePrimitiveIntegerPostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param body - */ - public testEncodePrimitiveNumberPostWithHttpInfo(body: number, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodePrimitiveNumberPost(body, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodePrimitiveNumberPostWithHttpInfo(rsp))); - })); - } - - /** - * @param body - */ - public testEncodePrimitiveNumberPost(body: number, _options?: ConfigurationOptions): Observable { - return this.testEncodePrimitiveNumberPostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - - /** - * @param body - */ - public testEncodePrimitiveStringPostWithHttpInfo(body: string, _options?: ConfigurationOptions): Observable> { - const _config = mergeConfiguration(this.configuration, _options); - - const requestContextPromise = this.requestFactory.testEncodePrimitiveStringPost(body, _config); - // build promise chain - let middlewarePreObservable = from(requestContextPromise); - for (const middleware of _config.middleware) { - middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); - } - - return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). - pipe(mergeMap((response: ResponseContext) => { - let middlewarePostObservable = of(response); - for (const middleware of _config.middleware.reverse()) { - middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); - } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodePrimitiveStringPostWithHttpInfo(rsp))); - })); - } - - /** - * @param body - */ - public testEncodePrimitiveStringPost(body: string, _options?: ConfigurationOptions): Observable { - return this.testEncodePrimitiveStringPostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); - } - -} +import { SomeObject } from '../models/SomeObject'; +import { WithNullableType } from '../models/WithNullableType'; diff --git a/samples/client/others/typescript/encode-decode/build/types/PromiseAPI.ts b/samples/client/others/typescript/encode-decode/build/types/PromiseAPI.ts index 319ad2d893fd..35b52e35be9b 100644 --- a/samples/client/others/typescript/encode-decode/build/types/PromiseAPI.ts +++ b/samples/client/others/typescript/encode-decode/build/types/PromiseAPI.ts @@ -2,568 +2,5 @@ import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/htt import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration' import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware'; -import { ComplexObject } from '../models/ComplexObject'; -import { CompositeObject } from '../models/CompositeObject'; -import { ObservableDefaultApi } from './ObservableAPI'; - -import { DefaultApiRequestFactory, DefaultApiResponseProcessor} from "../apis/DefaultApi"; -export class PromiseDefaultApi { - private api: ObservableDefaultApi - - public constructor( - configuration: Configuration, - requestFactory?: DefaultApiRequestFactory, - responseProcessor?: DefaultApiResponseProcessor - ) { - this.api = new ObservableDefaultApi(configuration, requestFactory, responseProcessor); - } - - /** - */ - public testDecodeArrayOfArraysGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>>> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfArraysGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeArrayOfArraysGet(_options?: PromiseConfigurationOptions): Promise>> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfArraysGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeArrayOfGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeArrayOfGet(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeArrayOfMapsOfObjectsGet(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfMapsOfObjectsGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeArrayOfNullableGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfNullableGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeArrayOfNullableGet(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfNullableGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeArrayOfNullableObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfNullableObjectsGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeArrayOfNullableObjectsGet(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeArrayOfNullableObjectsGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeCompositeObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeCompositeObjectsGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeCompositeObjectsGet(_options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeCompositeObjectsGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeMapOfMapsOfObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeMapOfMapsOfObjectsGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeMapOfMapsOfObjectsGet(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: { [key: string]: ComplexObject; }; }> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeMapOfMapsOfObjectsGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeMapOfObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeMapOfObjectsGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeMapOfObjectsGet(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: ComplexObject | null; }> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeMapOfObjectsGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeMapOfPrimitiveGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeMapOfPrimitiveGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeMapOfPrimitiveGet(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: string; }> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeMapOfPrimitiveGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeNullableArrayGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeNullableArrayGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeNullableArrayGet(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeNullableArrayGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeNullableGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeNullableGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeNullableGet(_options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeNullableGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeObjectGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeObjectGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodeObjectGet(_options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodeObjectGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodePrimitiveBooleanGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodePrimitiveBooleanGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodePrimitiveBooleanGet(_options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodePrimitiveBooleanGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodePrimitiveIntegerGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodePrimitiveIntegerGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodePrimitiveIntegerGet(_options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodePrimitiveIntegerGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodePrimitiveNumberGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodePrimitiveNumberGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodePrimitiveNumberGet(_options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodePrimitiveNumberGet(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodePrimitiveStringGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodePrimitiveStringGetWithHttpInfo(observableOptions); - return result.toPromise(); - } - - /** - */ - public testDecodePrimitiveStringGet(_options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testDecodePrimitiveStringGet(observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfArraysPostWithHttpInfo(requestBody: Array>, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfArraysPostWithHttpInfo(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfArraysPost(requestBody: Array>, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfArraysPost(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param complexObject - */ - public testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(complexObject: Array<{ [key: string]: ComplexObject; }>, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(complexObject, observableOptions); - return result.toPromise(); - } - - /** - * @param complexObject - */ - public testEncodeArrayOfMapsOfObjectsPost(complexObject: Array<{ [key: string]: ComplexObject; }>, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfMapsOfObjectsPost(complexObject, observableOptions); - return result.toPromise(); - } - - /** - * @param complexObject - */ - public testEncodeArrayOfNullableObjectsPostWithHttpInfo(complexObject: Array, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfNullableObjectsPostWithHttpInfo(complexObject, observableOptions); - return result.toPromise(); - } - - /** - * @param complexObject - */ - public testEncodeArrayOfNullableObjectsPost(complexObject: Array, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfNullableObjectsPost(complexObject, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfNullablePostWithHttpInfo(requestBody: Array, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfNullablePostWithHttpInfo(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfNullablePost(requestBody: Array, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfNullablePost(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfPostWithHttpInfo(requestBody: Array, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfPostWithHttpInfo(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeArrayOfPost(requestBody: Array, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeArrayOfPost(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param compositeObject - */ - public testEncodeCompositeObjectsPostWithHttpInfo(compositeObject: CompositeObject, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeCompositeObjectsPostWithHttpInfo(compositeObject, observableOptions); - return result.toPromise(); - } - - /** - * @param compositeObject - */ - public testEncodeCompositeObjectsPost(compositeObject: CompositeObject, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeCompositeObjectsPost(compositeObject, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeMapOfMapsOfObjectsPostWithHttpInfo(requestBody: { [key: string]: { [key: string]: ComplexObject; }; }, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeMapOfMapsOfObjectsPostWithHttpInfo(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeMapOfMapsOfObjectsPost(requestBody: { [key: string]: { [key: string]: ComplexObject; }; }, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeMapOfMapsOfObjectsPost(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeMapOfObjectsPostWithHttpInfo(requestBody: { [key: string]: ComplexObject | null; }, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeMapOfObjectsPostWithHttpInfo(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeMapOfObjectsPost(requestBody: { [key: string]: ComplexObject | null; }, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeMapOfObjectsPost(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeMapOfPrimitivePostWithHttpInfo(requestBody: { [key: string]: string; }, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeMapOfPrimitivePostWithHttpInfo(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param requestBody - */ - public testEncodeMapOfPrimitivePost(requestBody: { [key: string]: string; }, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeMapOfPrimitivePost(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param [requestBody] - */ - public testEncodeNullableArrayPostWithHttpInfo(requestBody?: Array, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeNullableArrayPostWithHttpInfo(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param [requestBody] - */ - public testEncodeNullableArrayPost(requestBody?: Array, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeNullableArrayPost(requestBody, observableOptions); - return result.toPromise(); - } - - /** - * @param [body] - */ - public testEncodeNullablePostWithHttpInfo(body?: string, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeNullablePostWithHttpInfo(body, observableOptions); - return result.toPromise(); - } - - /** - * @param [body] - */ - public testEncodeNullablePost(body?: string, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeNullablePost(body, observableOptions); - return result.toPromise(); - } - - /** - * @param complexObject - */ - public testEncodeObjectPostWithHttpInfo(complexObject: ComplexObject, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeObjectPostWithHttpInfo(complexObject, observableOptions); - return result.toPromise(); - } - - /** - * @param complexObject - */ - public testEncodeObjectPost(complexObject: ComplexObject, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodeObjectPost(complexObject, observableOptions); - return result.toPromise(); - } - - /** - * @param body - */ - public testEncodePrimitiveBooleanPostWithHttpInfo(body: boolean, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodePrimitiveBooleanPostWithHttpInfo(body, observableOptions); - return result.toPromise(); - } - - /** - * @param body - */ - public testEncodePrimitiveBooleanPost(body: boolean, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodePrimitiveBooleanPost(body, observableOptions); - return result.toPromise(); - } - - /** - * @param body - */ - public testEncodePrimitiveIntegerPostWithHttpInfo(body: number, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodePrimitiveIntegerPostWithHttpInfo(body, observableOptions); - return result.toPromise(); - } - - /** - * @param body - */ - public testEncodePrimitiveIntegerPost(body: number, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodePrimitiveIntegerPost(body, observableOptions); - return result.toPromise(); - } - - /** - * @param body - */ - public testEncodePrimitiveNumberPostWithHttpInfo(body: number, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodePrimitiveNumberPostWithHttpInfo(body, observableOptions); - return result.toPromise(); - } - - /** - * @param body - */ - public testEncodePrimitiveNumberPost(body: number, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodePrimitiveNumberPost(body, observableOptions); - return result.toPromise(); - } - - /** - * @param body - */ - public testEncodePrimitiveStringPostWithHttpInfo(body: string, _options?: PromiseConfigurationOptions): Promise> { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodePrimitiveStringPostWithHttpInfo(body, observableOptions); - return result.toPromise(); - } - - /** - * @param body - */ - public testEncodePrimitiveStringPost(body: string, _options?: PromiseConfigurationOptions): Promise { - const observableOptions = wrapOptions(_options); - const result = this.api.testEncodePrimitiveStringPost(body, observableOptions); - return result.toPromise(); - } - - -} - - - +import { SomeObject } from '../models/SomeObject'; +import { WithNullableType } from '../models/WithNullableType'; diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py index 0e3f8d51b319..72c21f1368db 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py @@ -34,7 +34,6 @@ for _, name, _ in pkgutil.iter_modules(ns_pkg.__path__, ns_pkg.__name__ + "."): importlib.import_module(name) - @router.get( "/fake/query_param_default", responses={ diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py index a4aa3a6e71ec..219707111083 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py @@ -36,7 +36,6 @@ for _, name, _ in pkgutil.iter_modules(ns_pkg.__path__, ns_pkg.__name__ + "."): importlib.import_module(name) - @router.post( "/pet", responses={ diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py index 21d2aceb380d..c17bc20dc0ae 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py @@ -35,7 +35,6 @@ for _, name, _ in pkgutil.iter_modules(ns_pkg.__path__, ns_pkg.__name__ + "."): importlib.import_module(name) - @router.delete( "/store/order/{orderId}", responses={ diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py index 8f848f0131de..3c9f72ba2a4f 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py @@ -35,7 +35,6 @@ for _, name, _ in pkgutil.iter_modules(ns_pkg.__path__, ns_pkg.__name__ + "."): importlib.import_module(name) - @router.post( "/user", responses={ From 0232ea99fbcd45eb8e0809a3abb37a2add75c2f4 Mon Sep 17 00:00:00 2001 From: Aditya Mayukh Som Date: Sat, 12 Apr 2025 16:06:24 +0530 Subject: [PATCH 2/4] fixed isLibrary flag in fastapi python --- .../languages/PythonFastAPIServerCodegen.java | 27 ++++++++++--------- .../resources/python-fastapi/api.mustache | 4 +++ .../python-fastapi/base_api.mustache | 7 ++++- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java index e05466c4a741..4c07f75f68c8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java @@ -65,7 +65,7 @@ public void serialize(Boolean value, JsonGenerator gen, SerializerProvider seria private String implPackage; protected String sourceFolder; - protected boolean libraryMode = false; + protected boolean isLibrary = false; private static final String BASE_CLASS_SUFFIX = "base"; private static final String SERVER_PORT = "serverPort"; @@ -74,8 +74,7 @@ public void serialize(Boolean value, JsonGenerator gen, SerializerProvider seria private static final String DEFAULT_PACKAGE_NAME = "openapi_server"; private static final String DEFAULT_SOURCE_FOLDER = "src"; private static final String DEFAULT_PACKAGE_VERSION = "1.0.0"; - private static final String LIBRARY_MODE = "libraryMode"; - private static final String DEFAULT_LIBRARY_MODE = "false"; + private static final String IS_LIBRARY = "isLibrary"; @Override public CodegenType getTag() { @@ -87,8 +86,8 @@ public String getHelp() { return "Generates a Python FastAPI server (beta). Models are defined with the pydantic library"; } - public void setLibraryMode(final boolean mode) { - this.libraryMode = mode; + public void setIsLibrary(final boolean isLibrary) { + this.isLibrary = isLibrary; } public void setImplPackage(final String implPackage) { @@ -124,7 +123,6 @@ public PythonFastAPIServerCodegen() { additionalProperties.put(CodegenConstants.SOURCE_FOLDER, DEFAULT_SOURCE_FOLDER); additionalProperties.put(CodegenConstants.PACKAGE_NAME, DEFAULT_PACKAGE_NAME); additionalProperties.put(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE, DEFAULT_PACKAGE_NAME.concat(".impl")); - additionalProperties.put(LIBRARY_MODE, DEFAULT_LIBRARY_MODE); languageSpecificPrimitives.add("List"); languageSpecificPrimitives.add("Dict"); @@ -163,9 +161,9 @@ public PythonFastAPIServerCodegen() { "python package name for the implementation code (convention: snake_case).", implPackage); - addSwitch(LIBRARY_MODE, - "whether to generate minimal python code to be published as a separate library", - libraryMode); + addSwitch(IS_LIBRARY, + "whether to generate minimal python code to be published as a separate library or not", + isLibrary); } @Override @@ -176,7 +174,7 @@ public void processOpts() { convertPropertyToStringAndWriteBack(CodegenConstants.PACKAGE_NAME, this::setPackageName); convertPropertyToStringAndWriteBack(CodegenConstants.SOURCE_FOLDER, this::setSourceFolder); convertPropertyToStringAndWriteBack(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE, this::setImplPackage); - convertPropertyToBooleanAndWriteBack(LIBRARY_MODE, this::setLibraryMode); + convertPropertyToBooleanAndWriteBack(IS_LIBRARY, this::setIsLibrary); modelPackage = packageName + "." + modelPackage; apiPackage = packageName + "." + apiPackage; @@ -185,7 +183,7 @@ public void processOpts() { supportingFiles.add(new SupportingFile("openapi.mustache", "", "openapi.yaml")); supportingFiles.add(new SupportingFile("main.mustache", String.join(File.separator, new String[]{sourceFolder, packageName.replace('.', File.separatorChar)}), "main.py")); - if (!this.libraryMode) { + if (!this.isLibrary) { supportingFiles.add(new SupportingFile("docker-compose.mustache", "", "docker-compose.yaml")); supportingFiles.add(new SupportingFile("Dockerfile.mustache", "", "Dockerfile")); } @@ -200,12 +198,15 @@ public void processOpts() { namespacePackagePath.append(File.separator).append(tmp); supportingFiles.add(new SupportingFile("__init__.mustache", namespacePackagePath.toString(), "__init__.py")); } + supportingFiles.add(new SupportingFile("__init__.mustache", StringUtils.substringAfter(modelFileFolder(), outputFolder), "__init__.py")); supportingFiles.add(new SupportingFile("__init__.mustache", StringUtils.substringAfter(apiFileFolder(), outputFolder), "__init__.py")); - supportingFiles.add(new SupportingFile("__init__.mustache", StringUtils.substringAfter(apiImplFileFolder(), outputFolder), "__init__.py")); + if (!this.isLibrary) { + supportingFiles.add(new SupportingFile("__init__.mustache", StringUtils.substringAfter(apiImplFileFolder(), outputFolder), "__init__.py")); + } + supportingFiles.add(new SupportingFile("conftest.mustache", testPackage.replace('.', File.separatorChar), "conftest.py")); - supportingFiles.add(new SupportingFile("gitignore.mustache", "", ".gitignore")); supportingFiles.add(new SupportingFile("pyproject_toml.mustache", "", "pyproject.toml")); supportingFiles.add(new SupportingFile("setup_cfg.mustache", "", "setup.cfg")); diff --git a/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache b/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache index dc72363c52c2..43d6bae63bfd 100644 --- a/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache +++ b/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache @@ -5,9 +5,11 @@ import importlib import pkgutil from {{apiPackage}}.{{classFilename}}_{{baseSuffix}} import Base{{classname}} +{{^isLibrary}} {{#fastapiImplementationPackage}} import {{fastapiImplementationPackage}} {{/fastapiImplementationPackage}} +{{/isLibrary}} from fastapi import ( # noqa: F401 @@ -33,11 +35,13 @@ from {{modelPackage}}.extra_models import TokenModel # noqa: F401 router = APIRouter() +{{^isLibrary}} {{#fastapiImplementationPackage}} ns_pkg = {{fastapiImplementationPackage}} for _, name, _ in pkgutil.iter_modules(ns_pkg.__path__, ns_pkg.__name__ + "."): importlib.import_module(name) {{/fastapiImplementationPackage}} +{{/isLibrary}} {{#operations}} {{#operation}} diff --git a/modules/openapi-generator/src/main/resources/python-fastapi/base_api.mustache b/modules/openapi-generator/src/main/resources/python-fastapi/base_api.mustache index d1d95c12eff8..96f2b5638f8b 100644 --- a/modules/openapi-generator/src/main/resources/python-fastapi/base_api.mustache +++ b/modules/openapi-generator/src/main/resources/python-fastapi/base_api.mustache @@ -1,20 +1,25 @@ # coding: utf-8 from typing import ClassVar, Dict, List, Tuple # noqa: F401 +{{#isLibrary}} +from abc import ABC, abstractmethod +{{/isLibrary}} {{#imports}} {{import}} {{/imports}} {{#securityImports.0}}from {{packageName}}.security_api import {{#securityImports}}get_token_{{.}}{{^-last}}, {{/-last}}{{/securityImports}}{{/securityImports.0}} -class Base{{classname}}: +class Base{{classname}}{{#isLibrary}}(ABC){{/isLibrary}}: subclasses: ClassVar[Tuple] = () def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) Base{{classname}}.subclasses = Base{{classname}}.subclasses + (cls,) + {{#operations}} {{#operation}} + {{#isLibrary}}@abstractmethod{{/isLibrary}} async def {{operationId}}( self, {{#allParams}} From 8ffc9579d840f8482432e2922f51dba68d6365d1 Mon Sep 17 00:00:00 2001 From: Aditya Mayukh Som Date: Sat, 12 Apr 2025 18:29:06 +0530 Subject: [PATCH 3/4] added security api delegate class --- docs/generators/python-fastapi.md | 2 +- .../python-fastapi/security_api.mustache | 77 +- .../security_base_cls_init.mustache | 6 + .../build/.openapi-generator/FILES | 6 +- .../typescript/encode-decode/build/index.ts | 2 +- .../build/models/ObjectSerializer.ts | 12 +- .../encode-decode/build/models/all.ts | 4 +- .../build/types/ObjectParamAPI.ts | 656 +++++++++++- .../build/types/ObservableAPI.ts | 950 +++++++++++++++++- .../encode-decode/build/types/PromiseAPI.ts | 567 ++++++++++- .../src/openapi_server/apis/fake_api.py | 1 + .../src/openapi_server/apis/fake_api_base.py | 2 + .../src/openapi_server/apis/pet_api.py | 1 + .../src/openapi_server/apis/pet_api_base.py | 9 + .../src/openapi_server/apis/store_api.py | 1 + .../src/openapi_server/apis/store_api_base.py | 5 + .../src/openapi_server/apis/user_api.py | 1 + .../src/openapi_server/apis/user_api_base.py | 9 + .../src/openapi_server/security_api.py | 16 +- 19 files changed, 2278 insertions(+), 49 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/python-fastapi/security_base_cls_init.mustache diff --git a/docs/generators/python-fastapi.md b/docs/generators/python-fastapi.md index 27c4b0e4c0e3..540b5aa1b162 100644 --- a/docs/generators/python-fastapi.md +++ b/docs/generators/python-fastapi.md @@ -24,8 +24,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl |ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|
**false**
No changes to the enum's are made, this is the default option.
**true**
With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.
|false| |fastapiImplementationPackage|python package name for the implementation code (convention: snake_case).| |impl| +|isLibrary|whether to generate minimal python code to be published as a separate library or not| |false| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|
**true**
The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.
**false**
The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.
|true| -|libraryMode|whether to generate minimal python code to be published as a separate library| |false| |packageName|python package name (convention: snake_case).| |openapi_server| |packageVersion|python package version.| |1.0.0| |prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false| diff --git a/modules/openapi-generator/src/main/resources/python-fastapi/security_api.mustache b/modules/openapi-generator/src/main/resources/python-fastapi/security_api.mustache index 4fda1a8f91db..99a411583922 100644 --- a/modules/openapi-generator/src/main/resources/python-fastapi/security_api.mustache +++ b/modules/openapi-generator/src/main/resources/python-fastapi/security_api.mustache @@ -1,6 +1,7 @@ # coding: utf-8 from typing import List +{{#isLibrary}}from abc import ABC, abstractmethod{{/isLibrary}} from fastapi import Depends, Security # noqa: F401 from fastapi.openapi.models import OAuthFlowImplicit, OAuthFlows # noqa: F401 @@ -56,10 +57,22 @@ oauth2_implicit = OAuth2( ) ) {{/isImplicit}} +{{#isLibrary}} +{{>security_base_cls_init}} + @abstractmethod + def get_token(self, security_scopes: SecurityScopes, token: str) -> TokenModel: + ... + + @abstractmethod + def validate_scope(self, required_scopes: SecurityScopes, token_scopes: List[str]) -> bool: + ... + +{{/isLibrary}} def get_token_{{name}}( - security_scopes: SecurityScopes, token: str = Depends(oauth2_{{#isPassword}}password{{/isPassword}}{{#isCode}}code{{/isCode}}{{#isImplicit}}implicit{{/isImplicit}}) + security_scopes: SecurityScopes, + token: str = Depends(oauth2_{{#isPassword}}password{{/isPassword}}{{#isCode}}code{{/isCode}}{{#isImplicit}}implicit{{/isImplicit}}) ) -> TokenModel: """ Validate and decode token. @@ -69,9 +82,8 @@ def get_token_{{name}}( :return: Decoded token information or None if token is invalid :rtype: TokenModel | None """ - - ... - + {{^isLibrary}}...{{/isLibrary}} + {{#isLibrary}}return Base{{name}}.subclasses[0]().get_token(security_scopes, token){{/isLibrary}} def validate_scope_{{name}}( required_scopes: SecurityScopes, token_scopes: List[str] @@ -86,12 +98,24 @@ def validate_scope_{{name}}( :return: True if access to called API is allowed :rtype: bool """ - - return False - + {{^isLibrary}}return False{{/isLibrary}} + {{#isLibrary}}return Base{{name}}.subclasses[0]().validate_scope(required_scopes, token_scopes){{/isLibrary}} {{/isOAuth}} {{#isApiKey}} +{{#isLibrary}} + +{{>security_base_cls_init}} + + @abstractmethod + def get_token( + self,{{#isKeyInHeader}} + token_api_key_header: str,{{/isKeyInHeader}}{{#isKeyInCookie}} + token_api_key_cookie: str,{{/isKeyInCookie}}{{#isKeyInQuery}} + token_api_key_query: str,{{/isKeyInQuery}} + ) -> TokenModel: + ... +{{/isLibrary}} def get_token_{{name}}( {{#isKeyInHeader}}token_api_key_header: str = Security( APIKeyHeader(name="{{keyParamName}}", auto_error=False) @@ -113,18 +137,25 @@ def get_token_{{name}}( :return: Information attached to provided api_key or None if api_key is invalid or does not allow access to called API :rtype: TokenModel | None """ - - ... - + {{^isLibrary}}...{{/isLibrary}} + {{#isLibrary}}return Base{{name}}.subclasses[0]().get_token( + {{#isKeyInHeader}}token_api_key_header,{{/isKeyInHeader}}{{#isKeyInCookie}} + token_api_key_cookie,{{/isKeyInCookie}}{{#isKeyInQuery}} + token_api_key_query,{{/isKeyInQuery}} + ){{/isLibrary}} {{/isApiKey}} {{#isBasicBasic}} - basic_auth = HTTPBasic() +{{#isLibrary}} +{{>security_base_cls_init}} -def get_token_{{name}}( - credentials: HTTPBasicCredentials = Depends(basic_auth) -) -> TokenModel: + @abstractmethod + def get_token(self, credentials: HTTPBasicCredentials) -> TokenModel: + ... + +{{/isLibrary}} +def get_token_{{name}}(credentials: HTTPBasicCredentials = Depends(basic_auth)) -> TokenModel: """ Check and retrieve authentication information from basic auth. @@ -132,15 +163,20 @@ def get_token_{{name}}( :type credentials: HTTPBasicCredentials :rtype: TokenModel | None """ - - ... - + {{^isLibrary}}...{{/isLibrary}} + {{#isLibrary}}return Base{{name}}.subclasses[0]().get_token(credentials){{/isLibrary}} {{/isBasicBasic}} {{#isBasicBearer}} - bearer_auth = HTTPBearer() +{{#isLibrary}} + +{{>security_base_cls_init}} + @abstractmethod + def get_token(self, credentials: HTTPAuthorizationCredentials) -> TokenModel: + ... +{{/isLibrary}} def get_token_{{name}}(credentials: HTTPAuthorizationCredentials = Depends(bearer_auth)) -> TokenModel: """ Check and retrieve authentication information from custom bearer token. @@ -150,8 +186,7 @@ def get_token_{{name}}(credentials: HTTPAuthorizationCredentials = Depends(beare :return: Decoded token information or None if token is invalid :rtype: TokenModel | None """ - - ... - + {{^isLibrary}}...{{/isLibrary}} + {{#isLibrary}}return Base{{name}}.subclasses[0]().get_token(credentials){{/isLibrary}} {{/isBasicBearer}} {{/authMethods}} diff --git a/modules/openapi-generator/src/main/resources/python-fastapi/security_base_cls_init.mustache b/modules/openapi-generator/src/main/resources/python-fastapi/security_base_cls_init.mustache new file mode 100644 index 000000000000..9cbe22e0d45e --- /dev/null +++ b/modules/openapi-generator/src/main/resources/python-fastapi/security_base_cls_init.mustache @@ -0,0 +1,6 @@ +class Base{{name}}(ABC): + subclasses: ClassVar[Tuple] = () + + def __init_subclass__(cls, **kwargs): + super().__init_subclass__(**kwargs) + Base{{name}}.subclasses = Base{{name}}.subclasses + (cls,) \ No newline at end of file diff --git a/samples/client/others/typescript/encode-decode/build/.openapi-generator/FILES b/samples/client/others/typescript/encode-decode/build/.openapi-generator/FILES index f586694f5f67..b8c07c76c070 100644 --- a/samples/client/others/typescript/encode-decode/build/.openapi-generator/FILES +++ b/samples/client/others/typescript/encode-decode/build/.openapi-generator/FILES @@ -1,6 +1,8 @@ .gitattributes .gitignore +DefaultApi.md README.md +apis/DefaultApi.ts apis/baseapi.ts apis/exception.ts auth/auth.ts @@ -10,9 +12,9 @@ http/http.ts http/isomorphic-fetch.ts index.ts middleware.ts +models/ComplexObject.ts +models/CompositeObject.ts models/ObjectSerializer.ts -models/SomeObject.ts -models/WithNullableType.ts models/all.ts package.json rxjsStub.ts diff --git a/samples/client/others/typescript/encode-decode/build/index.ts b/samples/client/others/typescript/encode-decode/build/index.ts index c05016080ad2..949fa4d5e4d4 100644 --- a/samples/client/others/typescript/encode-decode/build/index.ts +++ b/samples/client/others/typescript/encode-decode/build/index.ts @@ -9,5 +9,5 @@ export { RequiredError } from "./apis/baseapi"; export type { PromiseMiddleware as Middleware, Middleware as ObservableMiddleware } from './middleware'; export { Observable } from './rxjsStub'; -export { } from './types/PromiseAPI'; +export { PromiseDefaultApi as DefaultApi } from './types/PromiseAPI'; diff --git a/samples/client/others/typescript/encode-decode/build/models/ObjectSerializer.ts b/samples/client/others/typescript/encode-decode/build/models/ObjectSerializer.ts index d44f397943e3..59eea6798cc5 100644 --- a/samples/client/others/typescript/encode-decode/build/models/ObjectSerializer.ts +++ b/samples/client/others/typescript/encode-decode/build/models/ObjectSerializer.ts @@ -1,8 +1,8 @@ -export * from '../models/SomeObject'; -export * from '../models/WithNullableType'; +export * from '../models/ComplexObject'; +export * from '../models/CompositeObject'; -import { SomeObject } from '../models/SomeObject'; -import { WithNullableType } from '../models/WithNullableType'; +import { ComplexObject } from '../models/ComplexObject'; +import { CompositeObject } from '../models/CompositeObject'; /* tslint:disable:no-unused-variable */ let primitives = [ @@ -20,8 +20,8 @@ let enumsMap: Set = new Set([ ]); let typeMap: {[index: string]: any} = { - "SomeObject": SomeObject, - "WithNullableType": WithNullableType, + "ComplexObject": ComplexObject, + "CompositeObject": CompositeObject, } type MimeTypeDescriptor = { diff --git a/samples/client/others/typescript/encode-decode/build/models/all.ts b/samples/client/others/typescript/encode-decode/build/models/all.ts index ed435990d1a4..bcc447e6f4bf 100644 --- a/samples/client/others/typescript/encode-decode/build/models/all.ts +++ b/samples/client/others/typescript/encode-decode/build/models/all.ts @@ -1,2 +1,2 @@ -export * from '../models/SomeObject' -export * from '../models/WithNullableType' +export * from '../models/ComplexObject' +export * from '../models/CompositeObject' diff --git a/samples/client/others/typescript/encode-decode/build/types/ObjectParamAPI.ts b/samples/client/others/typescript/encode-decode/build/types/ObjectParamAPI.ts index 5daa1b27ef4d..d7263e3d719b 100644 --- a/samples/client/others/typescript/encode-decode/build/types/ObjectParamAPI.ts +++ b/samples/client/others/typescript/encode-decode/build/types/ObjectParamAPI.ts @@ -2,5 +2,657 @@ import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/htt import { Configuration, ConfigurationOptions } from '../configuration' import type { Middleware } from '../middleware'; -import { SomeObject } from '../models/SomeObject'; -import { WithNullableType } from '../models/WithNullableType'; +import { ComplexObject } from '../models/ComplexObject'; +import { CompositeObject } from '../models/CompositeObject'; + +import { ObservableDefaultApi } from "./ObservableAPI"; +import { DefaultApiRequestFactory, DefaultApiResponseProcessor} from "../apis/DefaultApi"; + +export interface DefaultApiTestDecodeArrayOfArraysGetRequest { +} + +export interface DefaultApiTestDecodeArrayOfGetRequest { +} + +export interface DefaultApiTestDecodeArrayOfMapsOfObjectsGetRequest { +} + +export interface DefaultApiTestDecodeArrayOfNullableGetRequest { +} + +export interface DefaultApiTestDecodeArrayOfNullableObjectsGetRequest { +} + +export interface DefaultApiTestDecodeCompositeObjectsGetRequest { +} + +export interface DefaultApiTestDecodeMapOfMapsOfObjectsGetRequest { +} + +export interface DefaultApiTestDecodeMapOfObjectsGetRequest { +} + +export interface DefaultApiTestDecodeMapOfPrimitiveGetRequest { +} + +export interface DefaultApiTestDecodeNullableArrayGetRequest { +} + +export interface DefaultApiTestDecodeNullableGetRequest { +} + +export interface DefaultApiTestDecodeObjectGetRequest { +} + +export interface DefaultApiTestDecodePrimitiveBooleanGetRequest { +} + +export interface DefaultApiTestDecodePrimitiveIntegerGetRequest { +} + +export interface DefaultApiTestDecodePrimitiveNumberGetRequest { +} + +export interface DefaultApiTestDecodePrimitiveStringGetRequest { +} + +export interface DefaultApiTestEncodeArrayOfArraysPostRequest { + /** + * + * @type Array<Array<string>> + * @memberof DefaultApitestEncodeArrayOfArraysPost + */ + requestBody: Array> +} + +export interface DefaultApiTestEncodeArrayOfMapsOfObjectsPostRequest { + /** + * + * @type Array<{ [key: string]: ComplexObject; }> + * @memberof DefaultApitestEncodeArrayOfMapsOfObjectsPost + */ + complexObject: Array<{ [key: string]: ComplexObject; }> +} + +export interface DefaultApiTestEncodeArrayOfNullableObjectsPostRequest { + /** + * + * @type Array<ComplexObject> + * @memberof DefaultApitestEncodeArrayOfNullableObjectsPost + */ + complexObject: Array +} + +export interface DefaultApiTestEncodeArrayOfNullablePostRequest { + /** + * + * @type Array<string | null> + * @memberof DefaultApitestEncodeArrayOfNullablePost + */ + requestBody: Array +} + +export interface DefaultApiTestEncodeArrayOfPostRequest { + /** + * + * @type Array<string> + * @memberof DefaultApitestEncodeArrayOfPost + */ + requestBody: Array +} + +export interface DefaultApiTestEncodeCompositeObjectsPostRequest { + /** + * + * @type CompositeObject + * @memberof DefaultApitestEncodeCompositeObjectsPost + */ + compositeObject: CompositeObject +} + +export interface DefaultApiTestEncodeMapOfMapsOfObjectsPostRequest { + /** + * + * @type { [key: string]: { [key: string]: ComplexObject; }; } + * @memberof DefaultApitestEncodeMapOfMapsOfObjectsPost + */ + requestBody: { [key: string]: { [key: string]: ComplexObject; }; } +} + +export interface DefaultApiTestEncodeMapOfObjectsPostRequest { + /** + * + * @type { [key: string]: ComplexObject | null; } + * @memberof DefaultApitestEncodeMapOfObjectsPost + */ + requestBody: { [key: string]: ComplexObject | null; } +} + +export interface DefaultApiTestEncodeMapOfPrimitivePostRequest { + /** + * + * @type { [key: string]: string; } + * @memberof DefaultApitestEncodeMapOfPrimitivePost + */ + requestBody: { [key: string]: string; } +} + +export interface DefaultApiTestEncodeNullableArrayPostRequest { + /** + * + * @type Array<string> + * @memberof DefaultApitestEncodeNullableArrayPost + */ + requestBody?: Array +} + +export interface DefaultApiTestEncodeNullablePostRequest { + /** + * + * @type string + * @memberof DefaultApitestEncodeNullablePost + */ + body?: string +} + +export interface DefaultApiTestEncodeObjectPostRequest { + /** + * + * @type ComplexObject + * @memberof DefaultApitestEncodeObjectPost + */ + complexObject: ComplexObject +} + +export interface DefaultApiTestEncodePrimitiveBooleanPostRequest { + /** + * + * @type boolean + * @memberof DefaultApitestEncodePrimitiveBooleanPost + */ + body: boolean +} + +export interface DefaultApiTestEncodePrimitiveIntegerPostRequest { + /** + * + * @type number + * @memberof DefaultApitestEncodePrimitiveIntegerPost + */ + body: number +} + +export interface DefaultApiTestEncodePrimitiveNumberPostRequest { + /** + * + * @type number + * @memberof DefaultApitestEncodePrimitiveNumberPost + */ + body: number +} + +export interface DefaultApiTestEncodePrimitiveStringPostRequest { + /** + * + * @type string + * @memberof DefaultApitestEncodePrimitiveStringPost + */ + body: string +} + +export class ObjectDefaultApi { + private api: ObservableDefaultApi + + public constructor(configuration: Configuration, requestFactory?: DefaultApiRequestFactory, responseProcessor?: DefaultApiResponseProcessor) { + this.api = new ObservableDefaultApi(configuration, requestFactory, responseProcessor); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfArraysGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfArraysGetRequest = {}, options?: ConfigurationOptions): Promise>>> { + return this.api.testDecodeArrayOfArraysGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfArraysGet(param: DefaultApiTestDecodeArrayOfArraysGetRequest = {}, options?: ConfigurationOptions): Promise>> { + return this.api.testDecodeArrayOfArraysGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfGetRequest = {}, options?: ConfigurationOptions): Promise>> { + return this.api.testDecodeArrayOfGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfGet(param: DefaultApiTestDecodeArrayOfGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeArrayOfGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfMapsOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise>> { + return this.api.testDecodeArrayOfMapsOfObjectsGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfMapsOfObjectsGet(param: DefaultApiTestDecodeArrayOfMapsOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeArrayOfMapsOfObjectsGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfNullableGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfNullableGetRequest = {}, options?: ConfigurationOptions): Promise>> { + return this.api.testDecodeArrayOfNullableGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfNullableGet(param: DefaultApiTestDecodeArrayOfNullableGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeArrayOfNullableGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfNullableObjectsGetWithHttpInfo(param: DefaultApiTestDecodeArrayOfNullableObjectsGetRequest = {}, options?: ConfigurationOptions): Promise>> { + return this.api.testDecodeArrayOfNullableObjectsGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeArrayOfNullableObjectsGet(param: DefaultApiTestDecodeArrayOfNullableObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeArrayOfNullableObjectsGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeCompositeObjectsGetWithHttpInfo(param: DefaultApiTestDecodeCompositeObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeCompositeObjectsGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeCompositeObjectsGet(param: DefaultApiTestDecodeCompositeObjectsGetRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.testDecodeCompositeObjectsGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeMapOfMapsOfObjectsGetWithHttpInfo(param: DefaultApiTestDecodeMapOfMapsOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeMapOfMapsOfObjectsGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeMapOfMapsOfObjectsGet(param: DefaultApiTestDecodeMapOfMapsOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise<{ [key: string]: { [key: string]: ComplexObject; }; }> { + return this.api.testDecodeMapOfMapsOfObjectsGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeMapOfObjectsGetWithHttpInfo(param: DefaultApiTestDecodeMapOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeMapOfObjectsGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeMapOfObjectsGet(param: DefaultApiTestDecodeMapOfObjectsGetRequest = {}, options?: ConfigurationOptions): Promise<{ [key: string]: ComplexObject | null; }> { + return this.api.testDecodeMapOfObjectsGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeMapOfPrimitiveGetWithHttpInfo(param: DefaultApiTestDecodeMapOfPrimitiveGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeMapOfPrimitiveGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeMapOfPrimitiveGet(param: DefaultApiTestDecodeMapOfPrimitiveGetRequest = {}, options?: ConfigurationOptions): Promise<{ [key: string]: string; }> { + return this.api.testDecodeMapOfPrimitiveGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeNullableArrayGetWithHttpInfo(param: DefaultApiTestDecodeNullableArrayGetRequest = {}, options?: ConfigurationOptions): Promise>> { + return this.api.testDecodeNullableArrayGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeNullableArrayGet(param: DefaultApiTestDecodeNullableArrayGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeNullableArrayGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeNullableGetWithHttpInfo(param: DefaultApiTestDecodeNullableGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeNullableGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeNullableGet(param: DefaultApiTestDecodeNullableGetRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.testDecodeNullableGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeObjectGetWithHttpInfo(param: DefaultApiTestDecodeObjectGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodeObjectGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodeObjectGet(param: DefaultApiTestDecodeObjectGetRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.testDecodeObjectGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodePrimitiveBooleanGetWithHttpInfo(param: DefaultApiTestDecodePrimitiveBooleanGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodePrimitiveBooleanGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodePrimitiveBooleanGet(param: DefaultApiTestDecodePrimitiveBooleanGetRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.testDecodePrimitiveBooleanGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodePrimitiveIntegerGetWithHttpInfo(param: DefaultApiTestDecodePrimitiveIntegerGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodePrimitiveIntegerGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodePrimitiveIntegerGet(param: DefaultApiTestDecodePrimitiveIntegerGetRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.testDecodePrimitiveIntegerGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodePrimitiveNumberGetWithHttpInfo(param: DefaultApiTestDecodePrimitiveNumberGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodePrimitiveNumberGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodePrimitiveNumberGet(param: DefaultApiTestDecodePrimitiveNumberGetRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.testDecodePrimitiveNumberGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodePrimitiveStringGetWithHttpInfo(param: DefaultApiTestDecodePrimitiveStringGetRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testDecodePrimitiveStringGetWithHttpInfo( options).toPromise(); + } + + /** + * @param param the request object + */ + public testDecodePrimitiveStringGet(param: DefaultApiTestDecodePrimitiveStringGetRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.testDecodePrimitiveStringGet( options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfArraysPostWithHttpInfo(param: DefaultApiTestEncodeArrayOfArraysPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeArrayOfArraysPostWithHttpInfo(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfArraysPost(param: DefaultApiTestEncodeArrayOfArraysPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeArrayOfArraysPost(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(param: DefaultApiTestEncodeArrayOfMapsOfObjectsPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(param.complexObject, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfMapsOfObjectsPost(param: DefaultApiTestEncodeArrayOfMapsOfObjectsPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeArrayOfMapsOfObjectsPost(param.complexObject, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfNullableObjectsPostWithHttpInfo(param: DefaultApiTestEncodeArrayOfNullableObjectsPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeArrayOfNullableObjectsPostWithHttpInfo(param.complexObject, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfNullableObjectsPost(param: DefaultApiTestEncodeArrayOfNullableObjectsPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeArrayOfNullableObjectsPost(param.complexObject, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfNullablePostWithHttpInfo(param: DefaultApiTestEncodeArrayOfNullablePostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeArrayOfNullablePostWithHttpInfo(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfNullablePost(param: DefaultApiTestEncodeArrayOfNullablePostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeArrayOfNullablePost(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfPostWithHttpInfo(param: DefaultApiTestEncodeArrayOfPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeArrayOfPostWithHttpInfo(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeArrayOfPost(param: DefaultApiTestEncodeArrayOfPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeArrayOfPost(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeCompositeObjectsPostWithHttpInfo(param: DefaultApiTestEncodeCompositeObjectsPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeCompositeObjectsPostWithHttpInfo(param.compositeObject, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeCompositeObjectsPost(param: DefaultApiTestEncodeCompositeObjectsPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeCompositeObjectsPost(param.compositeObject, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeMapOfMapsOfObjectsPostWithHttpInfo(param: DefaultApiTestEncodeMapOfMapsOfObjectsPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeMapOfMapsOfObjectsPostWithHttpInfo(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeMapOfMapsOfObjectsPost(param: DefaultApiTestEncodeMapOfMapsOfObjectsPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeMapOfMapsOfObjectsPost(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeMapOfObjectsPostWithHttpInfo(param: DefaultApiTestEncodeMapOfObjectsPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeMapOfObjectsPostWithHttpInfo(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeMapOfObjectsPost(param: DefaultApiTestEncodeMapOfObjectsPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeMapOfObjectsPost(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeMapOfPrimitivePostWithHttpInfo(param: DefaultApiTestEncodeMapOfPrimitivePostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeMapOfPrimitivePostWithHttpInfo(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeMapOfPrimitivePost(param: DefaultApiTestEncodeMapOfPrimitivePostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeMapOfPrimitivePost(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeNullableArrayPostWithHttpInfo(param: DefaultApiTestEncodeNullableArrayPostRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeNullableArrayPostWithHttpInfo(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeNullableArrayPost(param: DefaultApiTestEncodeNullableArrayPostRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.testEncodeNullableArrayPost(param.requestBody, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeNullablePostWithHttpInfo(param: DefaultApiTestEncodeNullablePostRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeNullablePostWithHttpInfo(param.body, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeNullablePost(param: DefaultApiTestEncodeNullablePostRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.testEncodeNullablePost(param.body, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeObjectPostWithHttpInfo(param: DefaultApiTestEncodeObjectPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodeObjectPostWithHttpInfo(param.complexObject, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodeObjectPost(param: DefaultApiTestEncodeObjectPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodeObjectPost(param.complexObject, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodePrimitiveBooleanPostWithHttpInfo(param: DefaultApiTestEncodePrimitiveBooleanPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodePrimitiveBooleanPostWithHttpInfo(param.body, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodePrimitiveBooleanPost(param: DefaultApiTestEncodePrimitiveBooleanPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodePrimitiveBooleanPost(param.body, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodePrimitiveIntegerPostWithHttpInfo(param: DefaultApiTestEncodePrimitiveIntegerPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodePrimitiveIntegerPostWithHttpInfo(param.body, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodePrimitiveIntegerPost(param: DefaultApiTestEncodePrimitiveIntegerPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodePrimitiveIntegerPost(param.body, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodePrimitiveNumberPostWithHttpInfo(param: DefaultApiTestEncodePrimitiveNumberPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodePrimitiveNumberPostWithHttpInfo(param.body, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodePrimitiveNumberPost(param: DefaultApiTestEncodePrimitiveNumberPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodePrimitiveNumberPost(param.body, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodePrimitiveStringPostWithHttpInfo(param: DefaultApiTestEncodePrimitiveStringPostRequest, options?: ConfigurationOptions): Promise> { + return this.api.testEncodePrimitiveStringPostWithHttpInfo(param.body, options).toPromise(); + } + + /** + * @param param the request object + */ + public testEncodePrimitiveStringPost(param: DefaultApiTestEncodePrimitiveStringPostRequest, options?: ConfigurationOptions): Promise { + return this.api.testEncodePrimitiveStringPost(param.body, options).toPromise(); + } + +} diff --git a/samples/client/others/typescript/encode-decode/build/types/ObservableAPI.ts b/samples/client/others/typescript/encode-decode/build/types/ObservableAPI.ts index edc88673397e..98a4d0cbf06f 100644 --- a/samples/client/others/typescript/encode-decode/build/types/ObservableAPI.ts +++ b/samples/client/others/typescript/encode-decode/build/types/ObservableAPI.ts @@ -3,5 +3,951 @@ import { Configuration, ConfigurationOptions, mergeConfiguration } from '../conf import type { Middleware } from '../middleware'; import { Observable, of, from } from '../rxjsStub'; import {mergeMap, map} from '../rxjsStub'; -import { SomeObject } from '../models/SomeObject'; -import { WithNullableType } from '../models/WithNullableType'; +import { ComplexObject } from '../models/ComplexObject'; +import { CompositeObject } from '../models/CompositeObject'; + +import { DefaultApiRequestFactory, DefaultApiResponseProcessor} from "../apis/DefaultApi"; +export class ObservableDefaultApi { + private requestFactory: DefaultApiRequestFactory; + private responseProcessor: DefaultApiResponseProcessor; + private configuration: Configuration; + + public constructor( + configuration: Configuration, + requestFactory?: DefaultApiRequestFactory, + responseProcessor?: DefaultApiResponseProcessor + ) { + this.configuration = configuration; + this.requestFactory = requestFactory || new DefaultApiRequestFactory(configuration); + this.responseProcessor = responseProcessor || new DefaultApiResponseProcessor(); + } + + /** + */ + public testDecodeArrayOfArraysGetWithHttpInfo(_options?: ConfigurationOptions): Observable>>> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeArrayOfArraysGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfArraysGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeArrayOfArraysGet(_options?: ConfigurationOptions): Observable>> { + return this.testDecodeArrayOfArraysGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>>) => apiResponse.data)); + } + + /** + */ + public testDecodeArrayOfGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeArrayOfGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeArrayOfGet(_options?: ConfigurationOptions): Observable> { + return this.testDecodeArrayOfGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); + } + + /** + */ + public testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeArrayOfMapsOfObjectsGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeArrayOfMapsOfObjectsGet(_options?: ConfigurationOptions): Observable> { + return this.testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); + } + + /** + */ + public testDecodeArrayOfNullableGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeArrayOfNullableGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfNullableGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeArrayOfNullableGet(_options?: ConfigurationOptions): Observable> { + return this.testDecodeArrayOfNullableGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); + } + + /** + */ + public testDecodeArrayOfNullableObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeArrayOfNullableObjectsGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeArrayOfNullableObjectsGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeArrayOfNullableObjectsGet(_options?: ConfigurationOptions): Observable> { + return this.testDecodeArrayOfNullableObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); + } + + /** + */ + public testDecodeCompositeObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeCompositeObjectsGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeCompositeObjectsGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeCompositeObjectsGet(_options?: ConfigurationOptions): Observable { + return this.testDecodeCompositeObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + */ + public testDecodeMapOfMapsOfObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeMapOfMapsOfObjectsGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeMapOfMapsOfObjectsGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeMapOfMapsOfObjectsGet(_options?: ConfigurationOptions): Observable<{ [key: string]: { [key: string]: ComplexObject; }; }> { + return this.testDecodeMapOfMapsOfObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo<{ [key: string]: { [key: string]: ComplexObject; }; }>) => apiResponse.data)); + } + + /** + */ + public testDecodeMapOfObjectsGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeMapOfObjectsGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeMapOfObjectsGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeMapOfObjectsGet(_options?: ConfigurationOptions): Observable<{ [key: string]: ComplexObject | null; }> { + return this.testDecodeMapOfObjectsGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo<{ [key: string]: ComplexObject | null; }>) => apiResponse.data)); + } + + /** + */ + public testDecodeMapOfPrimitiveGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeMapOfPrimitiveGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeMapOfPrimitiveGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeMapOfPrimitiveGet(_options?: ConfigurationOptions): Observable<{ [key: string]: string; }> { + return this.testDecodeMapOfPrimitiveGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo<{ [key: string]: string; }>) => apiResponse.data)); + } + + /** + */ + public testDecodeNullableArrayGetWithHttpInfo(_options?: ConfigurationOptions): Observable>> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeNullableArrayGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeNullableArrayGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeNullableArrayGet(_options?: ConfigurationOptions): Observable> { + return this.testDecodeNullableArrayGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo>) => apiResponse.data)); + } + + /** + */ + public testDecodeNullableGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeNullableGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeNullableGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeNullableGet(_options?: ConfigurationOptions): Observable { + return this.testDecodeNullableGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + */ + public testDecodeObjectGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodeObjectGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodeObjectGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodeObjectGet(_options?: ConfigurationOptions): Observable { + return this.testDecodeObjectGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + */ + public testDecodePrimitiveBooleanGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodePrimitiveBooleanGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodePrimitiveBooleanGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodePrimitiveBooleanGet(_options?: ConfigurationOptions): Observable { + return this.testDecodePrimitiveBooleanGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + */ + public testDecodePrimitiveIntegerGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodePrimitiveIntegerGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodePrimitiveIntegerGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodePrimitiveIntegerGet(_options?: ConfigurationOptions): Observable { + return this.testDecodePrimitiveIntegerGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + */ + public testDecodePrimitiveNumberGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodePrimitiveNumberGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodePrimitiveNumberGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodePrimitiveNumberGet(_options?: ConfigurationOptions): Observable { + return this.testDecodePrimitiveNumberGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + */ + public testDecodePrimitiveStringGetWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testDecodePrimitiveStringGet(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testDecodePrimitiveStringGetWithHttpInfo(rsp))); + })); + } + + /** + */ + public testDecodePrimitiveStringGet(_options?: ConfigurationOptions): Observable { + return this.testDecodePrimitiveStringGetWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfArraysPostWithHttpInfo(requestBody: Array>, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeArrayOfArraysPost(requestBody, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfArraysPostWithHttpInfo(rsp))); + })); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfArraysPost(requestBody: Array>, _options?: ConfigurationOptions): Observable { + return this.testEncodeArrayOfArraysPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param complexObject + */ + public testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(complexObject: Array<{ [key: string]: ComplexObject; }>, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeArrayOfMapsOfObjectsPost(complexObject, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(rsp))); + })); + } + + /** + * @param complexObject + */ + public testEncodeArrayOfMapsOfObjectsPost(complexObject: Array<{ [key: string]: ComplexObject; }>, _options?: ConfigurationOptions): Observable { + return this.testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(complexObject, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param complexObject + */ + public testEncodeArrayOfNullableObjectsPostWithHttpInfo(complexObject: Array, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeArrayOfNullableObjectsPost(complexObject, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfNullableObjectsPostWithHttpInfo(rsp))); + })); + } + + /** + * @param complexObject + */ + public testEncodeArrayOfNullableObjectsPost(complexObject: Array, _options?: ConfigurationOptions): Observable { + return this.testEncodeArrayOfNullableObjectsPostWithHttpInfo(complexObject, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfNullablePostWithHttpInfo(requestBody: Array, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeArrayOfNullablePost(requestBody, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfNullablePostWithHttpInfo(rsp))); + })); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfNullablePost(requestBody: Array, _options?: ConfigurationOptions): Observable { + return this.testEncodeArrayOfNullablePostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfPostWithHttpInfo(requestBody: Array, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeArrayOfPost(requestBody, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeArrayOfPostWithHttpInfo(rsp))); + })); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfPost(requestBody: Array, _options?: ConfigurationOptions): Observable { + return this.testEncodeArrayOfPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param compositeObject + */ + public testEncodeCompositeObjectsPostWithHttpInfo(compositeObject: CompositeObject, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeCompositeObjectsPost(compositeObject, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeCompositeObjectsPostWithHttpInfo(rsp))); + })); + } + + /** + * @param compositeObject + */ + public testEncodeCompositeObjectsPost(compositeObject: CompositeObject, _options?: ConfigurationOptions): Observable { + return this.testEncodeCompositeObjectsPostWithHttpInfo(compositeObject, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param requestBody + */ + public testEncodeMapOfMapsOfObjectsPostWithHttpInfo(requestBody: { [key: string]: { [key: string]: ComplexObject; }; }, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeMapOfMapsOfObjectsPost(requestBody, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeMapOfMapsOfObjectsPostWithHttpInfo(rsp))); + })); + } + + /** + * @param requestBody + */ + public testEncodeMapOfMapsOfObjectsPost(requestBody: { [key: string]: { [key: string]: ComplexObject; }; }, _options?: ConfigurationOptions): Observable { + return this.testEncodeMapOfMapsOfObjectsPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param requestBody + */ + public testEncodeMapOfObjectsPostWithHttpInfo(requestBody: { [key: string]: ComplexObject | null; }, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeMapOfObjectsPost(requestBody, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeMapOfObjectsPostWithHttpInfo(rsp))); + })); + } + + /** + * @param requestBody + */ + public testEncodeMapOfObjectsPost(requestBody: { [key: string]: ComplexObject | null; }, _options?: ConfigurationOptions): Observable { + return this.testEncodeMapOfObjectsPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param requestBody + */ + public testEncodeMapOfPrimitivePostWithHttpInfo(requestBody: { [key: string]: string; }, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeMapOfPrimitivePost(requestBody, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeMapOfPrimitivePostWithHttpInfo(rsp))); + })); + } + + /** + * @param requestBody + */ + public testEncodeMapOfPrimitivePost(requestBody: { [key: string]: string; }, _options?: ConfigurationOptions): Observable { + return this.testEncodeMapOfPrimitivePostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param [requestBody] + */ + public testEncodeNullableArrayPostWithHttpInfo(requestBody?: Array, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeNullableArrayPost(requestBody, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeNullableArrayPostWithHttpInfo(rsp))); + })); + } + + /** + * @param [requestBody] + */ + public testEncodeNullableArrayPost(requestBody?: Array, _options?: ConfigurationOptions): Observable { + return this.testEncodeNullableArrayPostWithHttpInfo(requestBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param [body] + */ + public testEncodeNullablePostWithHttpInfo(body?: string, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeNullablePost(body, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeNullablePostWithHttpInfo(rsp))); + })); + } + + /** + * @param [body] + */ + public testEncodeNullablePost(body?: string, _options?: ConfigurationOptions): Observable { + return this.testEncodeNullablePostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param complexObject + */ + public testEncodeObjectPostWithHttpInfo(complexObject: ComplexObject, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodeObjectPost(complexObject, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodeObjectPostWithHttpInfo(rsp))); + })); + } + + /** + * @param complexObject + */ + public testEncodeObjectPost(complexObject: ComplexObject, _options?: ConfigurationOptions): Observable { + return this.testEncodeObjectPostWithHttpInfo(complexObject, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param body + */ + public testEncodePrimitiveBooleanPostWithHttpInfo(body: boolean, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodePrimitiveBooleanPost(body, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodePrimitiveBooleanPostWithHttpInfo(rsp))); + })); + } + + /** + * @param body + */ + public testEncodePrimitiveBooleanPost(body: boolean, _options?: ConfigurationOptions): Observable { + return this.testEncodePrimitiveBooleanPostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param body + */ + public testEncodePrimitiveIntegerPostWithHttpInfo(body: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodePrimitiveIntegerPost(body, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodePrimitiveIntegerPostWithHttpInfo(rsp))); + })); + } + + /** + * @param body + */ + public testEncodePrimitiveIntegerPost(body: number, _options?: ConfigurationOptions): Observable { + return this.testEncodePrimitiveIntegerPostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param body + */ + public testEncodePrimitiveNumberPostWithHttpInfo(body: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodePrimitiveNumberPost(body, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodePrimitiveNumberPostWithHttpInfo(rsp))); + })); + } + + /** + * @param body + */ + public testEncodePrimitiveNumberPost(body: number, _options?: ConfigurationOptions): Observable { + return this.testEncodePrimitiveNumberPostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * @param body + */ + public testEncodePrimitiveStringPostWithHttpInfo(body: string, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.testEncodePrimitiveStringPost(body, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.testEncodePrimitiveStringPostWithHttpInfo(rsp))); + })); + } + + /** + * @param body + */ + public testEncodePrimitiveStringPost(body: string, _options?: ConfigurationOptions): Observable { + return this.testEncodePrimitiveStringPostWithHttpInfo(body, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + +} diff --git a/samples/client/others/typescript/encode-decode/build/types/PromiseAPI.ts b/samples/client/others/typescript/encode-decode/build/types/PromiseAPI.ts index 35b52e35be9b..319ad2d893fd 100644 --- a/samples/client/others/typescript/encode-decode/build/types/PromiseAPI.ts +++ b/samples/client/others/typescript/encode-decode/build/types/PromiseAPI.ts @@ -2,5 +2,568 @@ import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/htt import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration' import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware'; -import { SomeObject } from '../models/SomeObject'; -import { WithNullableType } from '../models/WithNullableType'; +import { ComplexObject } from '../models/ComplexObject'; +import { CompositeObject } from '../models/CompositeObject'; +import { ObservableDefaultApi } from './ObservableAPI'; + +import { DefaultApiRequestFactory, DefaultApiResponseProcessor} from "../apis/DefaultApi"; +export class PromiseDefaultApi { + private api: ObservableDefaultApi + + public constructor( + configuration: Configuration, + requestFactory?: DefaultApiRequestFactory, + responseProcessor?: DefaultApiResponseProcessor + ) { + this.api = new ObservableDefaultApi(configuration, requestFactory, responseProcessor); + } + + /** + */ + public testDecodeArrayOfArraysGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>>> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfArraysGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeArrayOfArraysGet(_options?: PromiseConfigurationOptions): Promise>> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfArraysGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeArrayOfGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeArrayOfGet(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfMapsOfObjectsGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeArrayOfMapsOfObjectsGet(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfMapsOfObjectsGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeArrayOfNullableGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfNullableGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeArrayOfNullableGet(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfNullableGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeArrayOfNullableObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfNullableObjectsGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeArrayOfNullableObjectsGet(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeArrayOfNullableObjectsGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeCompositeObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeCompositeObjectsGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeCompositeObjectsGet(_options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeCompositeObjectsGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeMapOfMapsOfObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeMapOfMapsOfObjectsGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeMapOfMapsOfObjectsGet(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: { [key: string]: ComplexObject; }; }> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeMapOfMapsOfObjectsGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeMapOfObjectsGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeMapOfObjectsGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeMapOfObjectsGet(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: ComplexObject | null; }> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeMapOfObjectsGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeMapOfPrimitiveGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeMapOfPrimitiveGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeMapOfPrimitiveGet(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: string; }> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeMapOfPrimitiveGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeNullableArrayGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise>> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeNullableArrayGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeNullableArrayGet(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeNullableArrayGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeNullableGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeNullableGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeNullableGet(_options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeNullableGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeObjectGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeObjectGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodeObjectGet(_options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodeObjectGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodePrimitiveBooleanGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodePrimitiveBooleanGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodePrimitiveBooleanGet(_options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodePrimitiveBooleanGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodePrimitiveIntegerGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodePrimitiveIntegerGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodePrimitiveIntegerGet(_options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodePrimitiveIntegerGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodePrimitiveNumberGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodePrimitiveNumberGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodePrimitiveNumberGet(_options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodePrimitiveNumberGet(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodePrimitiveStringGetWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodePrimitiveStringGetWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + */ + public testDecodePrimitiveStringGet(_options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testDecodePrimitiveStringGet(observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfArraysPostWithHttpInfo(requestBody: Array>, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfArraysPostWithHttpInfo(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfArraysPost(requestBody: Array>, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfArraysPost(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param complexObject + */ + public testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(complexObject: Array<{ [key: string]: ComplexObject; }>, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfMapsOfObjectsPostWithHttpInfo(complexObject, observableOptions); + return result.toPromise(); + } + + /** + * @param complexObject + */ + public testEncodeArrayOfMapsOfObjectsPost(complexObject: Array<{ [key: string]: ComplexObject; }>, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfMapsOfObjectsPost(complexObject, observableOptions); + return result.toPromise(); + } + + /** + * @param complexObject + */ + public testEncodeArrayOfNullableObjectsPostWithHttpInfo(complexObject: Array, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfNullableObjectsPostWithHttpInfo(complexObject, observableOptions); + return result.toPromise(); + } + + /** + * @param complexObject + */ + public testEncodeArrayOfNullableObjectsPost(complexObject: Array, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfNullableObjectsPost(complexObject, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfNullablePostWithHttpInfo(requestBody: Array, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfNullablePostWithHttpInfo(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfNullablePost(requestBody: Array, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfNullablePost(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfPostWithHttpInfo(requestBody: Array, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfPostWithHttpInfo(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeArrayOfPost(requestBody: Array, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeArrayOfPost(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param compositeObject + */ + public testEncodeCompositeObjectsPostWithHttpInfo(compositeObject: CompositeObject, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeCompositeObjectsPostWithHttpInfo(compositeObject, observableOptions); + return result.toPromise(); + } + + /** + * @param compositeObject + */ + public testEncodeCompositeObjectsPost(compositeObject: CompositeObject, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeCompositeObjectsPost(compositeObject, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeMapOfMapsOfObjectsPostWithHttpInfo(requestBody: { [key: string]: { [key: string]: ComplexObject; }; }, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeMapOfMapsOfObjectsPostWithHttpInfo(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeMapOfMapsOfObjectsPost(requestBody: { [key: string]: { [key: string]: ComplexObject; }; }, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeMapOfMapsOfObjectsPost(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeMapOfObjectsPostWithHttpInfo(requestBody: { [key: string]: ComplexObject | null; }, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeMapOfObjectsPostWithHttpInfo(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeMapOfObjectsPost(requestBody: { [key: string]: ComplexObject | null; }, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeMapOfObjectsPost(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeMapOfPrimitivePostWithHttpInfo(requestBody: { [key: string]: string; }, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeMapOfPrimitivePostWithHttpInfo(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param requestBody + */ + public testEncodeMapOfPrimitivePost(requestBody: { [key: string]: string; }, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeMapOfPrimitivePost(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param [requestBody] + */ + public testEncodeNullableArrayPostWithHttpInfo(requestBody?: Array, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeNullableArrayPostWithHttpInfo(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param [requestBody] + */ + public testEncodeNullableArrayPost(requestBody?: Array, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeNullableArrayPost(requestBody, observableOptions); + return result.toPromise(); + } + + /** + * @param [body] + */ + public testEncodeNullablePostWithHttpInfo(body?: string, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeNullablePostWithHttpInfo(body, observableOptions); + return result.toPromise(); + } + + /** + * @param [body] + */ + public testEncodeNullablePost(body?: string, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeNullablePost(body, observableOptions); + return result.toPromise(); + } + + /** + * @param complexObject + */ + public testEncodeObjectPostWithHttpInfo(complexObject: ComplexObject, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeObjectPostWithHttpInfo(complexObject, observableOptions); + return result.toPromise(); + } + + /** + * @param complexObject + */ + public testEncodeObjectPost(complexObject: ComplexObject, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodeObjectPost(complexObject, observableOptions); + return result.toPromise(); + } + + /** + * @param body + */ + public testEncodePrimitiveBooleanPostWithHttpInfo(body: boolean, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodePrimitiveBooleanPostWithHttpInfo(body, observableOptions); + return result.toPromise(); + } + + /** + * @param body + */ + public testEncodePrimitiveBooleanPost(body: boolean, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodePrimitiveBooleanPost(body, observableOptions); + return result.toPromise(); + } + + /** + * @param body + */ + public testEncodePrimitiveIntegerPostWithHttpInfo(body: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodePrimitiveIntegerPostWithHttpInfo(body, observableOptions); + return result.toPromise(); + } + + /** + * @param body + */ + public testEncodePrimitiveIntegerPost(body: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodePrimitiveIntegerPost(body, observableOptions); + return result.toPromise(); + } + + /** + * @param body + */ + public testEncodePrimitiveNumberPostWithHttpInfo(body: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodePrimitiveNumberPostWithHttpInfo(body, observableOptions); + return result.toPromise(); + } + + /** + * @param body + */ + public testEncodePrimitiveNumberPost(body: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodePrimitiveNumberPost(body, observableOptions); + return result.toPromise(); + } + + /** + * @param body + */ + public testEncodePrimitiveStringPostWithHttpInfo(body: string, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodePrimitiveStringPostWithHttpInfo(body, observableOptions); + return result.toPromise(); + } + + /** + * @param body + */ + public testEncodePrimitiveStringPost(body: string, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.testEncodePrimitiveStringPost(body, observableOptions); + return result.toPromise(); + } + + +} + + + diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py index 72c21f1368db..9b21b38523c3 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py @@ -7,6 +7,7 @@ from openapi_server.apis.fake_api_base import BaseFakeApi import openapi_server.impl + from fastapi import ( # noqa: F401 APIRouter, Body, diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api_base.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api_base.py index 1c71537aa944..20dd90b86d03 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api_base.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api_base.py @@ -13,6 +13,8 @@ class BaseFakeApi: def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) BaseFakeApi.subclasses = BaseFakeApi.subclasses + (cls,) + + async def fake_query_param_default( self, has_default: Annotated[Optional[StrictStr], Field(description="has default value")], diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py index 219707111083..d804f94866cd 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py @@ -7,6 +7,7 @@ from openapi_server.apis.pet_api_base import BasePetApi import openapi_server.impl + from fastapi import ( # noqa: F401 APIRouter, Body, diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api_base.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api_base.py index 608762c7a8db..df1e303d36a6 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api_base.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api_base.py @@ -15,6 +15,8 @@ class BasePetApi: def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) BasePetApi.subclasses = BasePetApi.subclasses + (cls,) + + async def add_pet( self, pet: Annotated[Pet, Field(description="Pet object that needs to be added to the store")], @@ -23,6 +25,7 @@ async def add_pet( ... + async def delete_pet( self, petId: Annotated[StrictInt, Field(description="Pet id to delete")], @@ -32,6 +35,7 @@ async def delete_pet( ... + async def find_pets_by_status( self, status: Annotated[List[StrictStr], Field(description="Status values that need to be considered for filter")], @@ -40,6 +44,7 @@ async def find_pets_by_status( ... + async def find_pets_by_tags( self, tags: Annotated[List[StrictStr], Field(description="Tags to filter by")], @@ -48,6 +53,7 @@ async def find_pets_by_tags( ... + async def get_pet_by_id( self, petId: Annotated[StrictInt, Field(description="ID of pet to return")], @@ -56,6 +62,7 @@ async def get_pet_by_id( ... + async def update_pet( self, pet: Annotated[Pet, Field(description="Pet object that needs to be added to the store")], @@ -64,6 +71,7 @@ async def update_pet( ... + async def update_pet_with_form( self, petId: Annotated[StrictInt, Field(description="ID of pet that needs to be updated")], @@ -74,6 +82,7 @@ async def update_pet_with_form( ... + async def upload_file( self, petId: Annotated[StrictInt, Field(description="ID of pet to update")], diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py index c17bc20dc0ae..ab1ecfdc8547 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py @@ -7,6 +7,7 @@ from openapi_server.apis.store_api_base import BaseStoreApi import openapi_server.impl + from fastapi import ( # noqa: F401 APIRouter, Body, diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api_base.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api_base.py index 20629628e50e..743216065288 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api_base.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api_base.py @@ -14,6 +14,8 @@ class BaseStoreApi: def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) BaseStoreApi.subclasses = BaseStoreApi.subclasses + (cls,) + + async def delete_order( self, orderId: Annotated[StrictStr, Field(description="ID of the order that needs to be deleted")], @@ -22,6 +24,7 @@ async def delete_order( ... + async def get_inventory( self, ) -> Dict[str, int]: @@ -29,6 +32,7 @@ async def get_inventory( ... + async def get_order_by_id( self, orderId: Annotated[int, Field(le=5, strict=True, ge=1, description="ID of pet that needs to be fetched")], @@ -37,6 +41,7 @@ async def get_order_by_id( ... + async def place_order( self, order: Annotated[Order, Field(description="order placed for purchasing the pet")], diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py index 3c9f72ba2a4f..427eb4ddf409 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py @@ -7,6 +7,7 @@ from openapi_server.apis.user_api_base import BaseUserApi import openapi_server.impl + from fastapi import ( # noqa: F401 APIRouter, Body, diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api_base.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api_base.py index fb86c924a58f..53c43ee62542 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api_base.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api_base.py @@ -14,6 +14,8 @@ class BaseUserApi: def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) BaseUserApi.subclasses = BaseUserApi.subclasses + (cls,) + + async def create_user( self, user: Annotated[User, Field(description="Created user object")], @@ -22,6 +24,7 @@ async def create_user( ... + async def create_users_with_array_input( self, user: Annotated[List[User], Field(description="List of user object")], @@ -30,6 +33,7 @@ async def create_users_with_array_input( ... + async def create_users_with_list_input( self, user: Annotated[List[User], Field(description="List of user object")], @@ -38,6 +42,7 @@ async def create_users_with_list_input( ... + async def delete_user( self, username: Annotated[StrictStr, Field(description="The name that needs to be deleted")], @@ -46,6 +51,7 @@ async def delete_user( ... + async def get_user_by_name( self, username: Annotated[StrictStr, Field(description="The name that needs to be fetched. Use user1 for testing.")], @@ -54,6 +60,7 @@ async def get_user_by_name( ... + async def login_user( self, username: Annotated[str, Field(strict=True, description="The user name for login")], @@ -63,6 +70,7 @@ async def login_user( ... + async def logout_user( self, ) -> None: @@ -70,6 +78,7 @@ async def logout_user( ... + async def update_user( self, username: Annotated[StrictStr, Field(description="name that need to be deleted")], diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/security_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/security_api.py index d216ee4271ea..2e6462c4d59a 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/security_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/security_api.py @@ -2,6 +2,7 @@ from typing import List + from fastapi import Depends, Security # noqa: F401 from fastapi.openapi.models import OAuthFlowImplicit, OAuthFlows # noqa: F401 from fastapi.security import ( # noqa: F401 @@ -29,10 +30,9 @@ ) ) ) - - def get_token_petstore_auth( - security_scopes: SecurityScopes, token: str = Depends(oauth2_implicit) + security_scopes: SecurityScopes, + token: str = Depends(oauth2_implicit) ) -> TokenModel: """ Validate and decode token. @@ -42,9 +42,8 @@ def get_token_petstore_auth( :return: Decoded token information or None if token is invalid :rtype: TokenModel | None """ - ... - + def validate_scope_petstore_auth( required_scopes: SecurityScopes, token_scopes: List[str] @@ -59,10 +58,8 @@ def validate_scope_petstore_auth( :return: True if access to called API is allowed :rtype: bool """ - return False - - + def get_token_api_key( token_api_key_header: str = Security( APIKeyHeader(name="api_key", auto_error=False) @@ -78,6 +75,5 @@ def get_token_api_key( :return: Information attached to provided api_key or None if api_key is invalid or does not allow access to called API :rtype: TokenModel | None """ - ... - + From 05e30becb3f1ce14b68b2546f7be8f162413268e Mon Sep 17 00:00:00 2001 From: Aditya Mayukh Som Date: Sat, 12 Apr 2025 19:00:28 +0530 Subject: [PATCH 4/4] fixed default source folder and empty lines in templates --- docs/generators/python-fastapi.md | 2 +- .../codegen/languages/PythonFastAPIServerCodegen.java | 2 +- .../src/main/resources/python-fastapi/api.mustache | 6 ++---- .../main/resources/python-fastapi/base_api.mustache | 6 +++--- .../python-fastapi/src/openapi_server/apis/fake_api.py | 2 ++ .../src/openapi_server/apis/fake_api_base.py | 3 ++- .../python-fastapi/src/openapi_server/apis/pet_api.py | 2 ++ .../src/openapi_server/apis/pet_api_base.py | 10 ++-------- .../src/openapi_server/apis/store_api.py | 2 ++ .../src/openapi_server/apis/store_api_base.py | 6 ++---- .../python-fastapi/src/openapi_server/apis/user_api.py | 2 ++ .../src/openapi_server/apis/user_api_base.py | 10 ++-------- 12 files changed, 23 insertions(+), 30 deletions(-) diff --git a/docs/generators/python-fastapi.md b/docs/generators/python-fastapi.md index 540b5aa1b162..2ca99719228d 100644 --- a/docs/generators/python-fastapi.md +++ b/docs/generators/python-fastapi.md @@ -32,7 +32,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |serverPort|TCP port to listen to in app.run| |8080| |sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true| |sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true| -|sourceFolder|directory for generated python source code| |generated-code/python-fastapi| +|sourceFolder|directory for generated python source code| |src| ## IMPORT MAPPING diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java index 4c07f75f68c8..07126e67398e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java @@ -155,7 +155,7 @@ public PythonFastAPIServerCodegen() { addOption(CodegenConstants.SOURCE_FOLDER, "directory for generated python source code", - outputFolder); + DEFAULT_SOURCE_FOLDER); addOption(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE, "python package name for the implementation code (convention: snake_case).", diff --git a/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache b/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache index 43d6bae63bfd..78b8f3a0352f 100644 --- a/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache +++ b/modules/openapi-generator/src/main/resources/python-fastapi/api.mustache @@ -5,11 +5,9 @@ import importlib import pkgutil from {{apiPackage}}.{{classFilename}}_{{baseSuffix}} import Base{{classname}} -{{^isLibrary}} -{{#fastapiImplementationPackage}} +{{^isLibrary}}{{#fastapiImplementationPackage}} import {{fastapiImplementationPackage}} -{{/fastapiImplementationPackage}} -{{/isLibrary}} +{{/fastapiImplementationPackage}}{{/isLibrary}} from fastapi import ( # noqa: F401 diff --git a/modules/openapi-generator/src/main/resources/python-fastapi/base_api.mustache b/modules/openapi-generator/src/main/resources/python-fastapi/base_api.mustache index 96f2b5638f8b..908efdb6476f 100644 --- a/modules/openapi-generator/src/main/resources/python-fastapi/base_api.mustache +++ b/modules/openapi-generator/src/main/resources/python-fastapi/base_api.mustache @@ -18,8 +18,8 @@ class Base{{classname}}{{#isLibrary}}(ABC){{/isLibrary}}: Base{{classname}}.subclasses = Base{{classname}}.subclasses + (cls,) {{#operations}} -{{#operation}} - {{#isLibrary}}@abstractmethod{{/isLibrary}} +{{#operation}}{{#isLibrary}} + @abstractmethod{{/isLibrary}} async def {{operationId}}( self, {{#allParams}} @@ -30,7 +30,7 @@ class Base{{classname}}{{#isLibrary}}(ABC){{/isLibrary}}: ...{{/notes}}{{^notes}}...{{/notes}} {{^-last}} - {{/-last}} {{/operation}} {{/operations}} + diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py index 9b21b38523c3..f3a400fa4433 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api.py @@ -5,9 +5,11 @@ import pkgutil from openapi_server.apis.fake_api_base import BaseFakeApi + import openapi_server.impl + from fastapi import ( # noqa: F401 APIRouter, Body, diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api_base.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api_base.py index 20dd90b86d03..7838330564b9 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api_base.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/fake_api_base.py @@ -14,7 +14,7 @@ def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) BaseFakeApi.subclasses = BaseFakeApi.subclasses + (cls,) - + async def fake_query_param_default( self, has_default: Annotated[Optional[StrictStr], Field(description="has default value")], @@ -22,3 +22,4 @@ async def fake_query_param_default( ) -> None: """""" ... + diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py index d804f94866cd..03c0971abd9b 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api.py @@ -5,9 +5,11 @@ import pkgutil from openapi_server.apis.pet_api_base import BasePetApi + import openapi_server.impl + from fastapi import ( # noqa: F401 APIRouter, Body, diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api_base.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api_base.py index df1e303d36a6..0c317fb0a446 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api_base.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/pet_api_base.py @@ -16,7 +16,7 @@ def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) BasePetApi.subclasses = BasePetApi.subclasses + (cls,) - + async def add_pet( self, pet: Annotated[Pet, Field(description="Pet object that needs to be added to the store")], @@ -25,7 +25,6 @@ async def add_pet( ... - async def delete_pet( self, petId: Annotated[StrictInt, Field(description="Pet id to delete")], @@ -35,7 +34,6 @@ async def delete_pet( ... - async def find_pets_by_status( self, status: Annotated[List[StrictStr], Field(description="Status values that need to be considered for filter")], @@ -44,7 +42,6 @@ async def find_pets_by_status( ... - async def find_pets_by_tags( self, tags: Annotated[List[StrictStr], Field(description="Tags to filter by")], @@ -53,7 +50,6 @@ async def find_pets_by_tags( ... - async def get_pet_by_id( self, petId: Annotated[StrictInt, Field(description="ID of pet to return")], @@ -62,7 +58,6 @@ async def get_pet_by_id( ... - async def update_pet( self, pet: Annotated[Pet, Field(description="Pet object that needs to be added to the store")], @@ -71,7 +66,6 @@ async def update_pet( ... - async def update_pet_with_form( self, petId: Annotated[StrictInt, Field(description="ID of pet that needs to be updated")], @@ -82,7 +76,6 @@ async def update_pet_with_form( ... - async def upload_file( self, petId: Annotated[StrictInt, Field(description="ID of pet to update")], @@ -91,3 +84,4 @@ async def upload_file( ) -> ApiResponse: """""" ... + diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py index ab1ecfdc8547..c222e0cdcd8b 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api.py @@ -5,9 +5,11 @@ import pkgutil from openapi_server.apis.store_api_base import BaseStoreApi + import openapi_server.impl + from fastapi import ( # noqa: F401 APIRouter, Body, diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api_base.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api_base.py index 743216065288..b6dbdbf7fa05 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api_base.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/store_api_base.py @@ -15,7 +15,7 @@ def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) BaseStoreApi.subclasses = BaseStoreApi.subclasses + (cls,) - + async def delete_order( self, orderId: Annotated[StrictStr, Field(description="ID of the order that needs to be deleted")], @@ -24,7 +24,6 @@ async def delete_order( ... - async def get_inventory( self, ) -> Dict[str, int]: @@ -32,7 +31,6 @@ async def get_inventory( ... - async def get_order_by_id( self, orderId: Annotated[int, Field(le=5, strict=True, ge=1, description="ID of pet that needs to be fetched")], @@ -41,10 +39,10 @@ async def get_order_by_id( ... - async def place_order( self, order: Annotated[Order, Field(description="order placed for purchasing the pet")], ) -> Order: """""" ... + diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py index 427eb4ddf409..1975ab0f2859 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api.py @@ -5,9 +5,11 @@ import pkgutil from openapi_server.apis.user_api_base import BaseUserApi + import openapi_server.impl + from fastapi import ( # noqa: F401 APIRouter, Body, diff --git a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api_base.py b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api_base.py index 53c43ee62542..7a16c71c6982 100644 --- a/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api_base.py +++ b/samples/server/petstore/python-fastapi/src/openapi_server/apis/user_api_base.py @@ -15,7 +15,7 @@ def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) BaseUserApi.subclasses = BaseUserApi.subclasses + (cls,) - + async def create_user( self, user: Annotated[User, Field(description="Created user object")], @@ -24,7 +24,6 @@ async def create_user( ... - async def create_users_with_array_input( self, user: Annotated[List[User], Field(description="List of user object")], @@ -33,7 +32,6 @@ async def create_users_with_array_input( ... - async def create_users_with_list_input( self, user: Annotated[List[User], Field(description="List of user object")], @@ -42,7 +40,6 @@ async def create_users_with_list_input( ... - async def delete_user( self, username: Annotated[StrictStr, Field(description="The name that needs to be deleted")], @@ -51,7 +48,6 @@ async def delete_user( ... - async def get_user_by_name( self, username: Annotated[StrictStr, Field(description="The name that needs to be fetched. Use user1 for testing.")], @@ -60,7 +56,6 @@ async def get_user_by_name( ... - async def login_user( self, username: Annotated[str, Field(strict=True, description="The user name for login")], @@ -70,7 +65,6 @@ async def login_user( ... - async def logout_user( self, ) -> None: @@ -78,7 +72,6 @@ async def logout_user( ... - async def update_user( self, username: Annotated[StrictStr, Field(description="name that need to be deleted")], @@ -86,3 +79,4 @@ async def update_user( ) -> None: """This can only be done by the logged in user.""" ... +