mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	feat(cli) Add new CLI (#3066)
* Add new cli * Remove old readme * Add documentation to readme file * Add github workflow tests for cli * Fix typo in docs * Add usage info to readme * Add package-lock.json * Fix tsconfig * Cleanup * Fix lint * Cleanup package.json * Fix accidental server change * Remove rootdir from cli * Remove tsbuildinfo * Add prettierignore * Make CLI use internal openapi specs * Add ignore and dry-run features * Sort paths alphabetically * Don't remove substring * Remove shorthand for delete * Remove unused import * Remove chokidar * Set correct openapi cli generator script * Add progress bar * Rename target to asset * Add deletion progress bar * Ignore require statement * Use read streams instead of readfile * Fix github feedback * Fix upload requires * More github comments * Cleanup messages * Cleaner pattern concats * Github comments --------- Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							37edef834e
						
					
				
				
					commit
					6f4449d5e9
				
			| @@ -23,11 +23,23 @@ function web { | ||||
|   npx --yes @openapitools/openapi-generator-cli generate -g typescript-axios -i ./immich-openapi-specs.json -o ../web/src/api/open-api -t ./openapi-generator/templates/web --additional-properties=useSingleRequestParameter=true | ||||
| } | ||||
|  | ||||
| function cli { | ||||
|   rm -rf ../cli/src/api/open-api | ||||
|   cd ./openapi-generator/templates/cli | ||||
|   wget -O apiInner.mustache https://raw.githubusercontent.com/OpenAPITools/openapi-generator/v6.6.0/modules/openapi-generator/src/main/resources/typescript-axios/apiInner.mustache | ||||
|   patch -u apiInner.mustache < apiInner.mustache.patch | ||||
|   cd ../../.. | ||||
|   npx --yes @openapitools/openapi-generator-cli generate -g typescript-axios -i ./immich-openapi-specs.json -o ../cli/src/api/open-api -t ./openapi-generator/templates/cli --additional-properties=useSingleRequestParameter=true | ||||
| } | ||||
|  | ||||
| if [[ $1 == 'mobile' ]]; then | ||||
|   mobile | ||||
| elif [[ $1 == 'web' ]]; then | ||||
|   web | ||||
| elif [[ $1 == 'cli' ]]; then | ||||
|   cli | ||||
| else | ||||
|   mobile | ||||
|   web | ||||
|   cli | ||||
| fi | ||||
|   | ||||
							
								
								
									
										391
									
								
								server/openapi-generator/templates/cli/apiInner.mustache
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										391
									
								
								server/openapi-generator/templates/cli/apiInner.mustache
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,391 @@ | ||||
| {{#withSeparateModelsAndApi}} | ||||
| /* tslint:disable */ | ||||
| /* eslint-disable */ | ||||
| {{>licenseInfo}} | ||||
|  | ||||
| import type { Configuration } from '{{apiRelativeToRoot}}configuration'; | ||||
| import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; | ||||
| import globalAxios from 'axios'; | ||||
| {{#withNodeImports}} | ||||
| // URLSearchParams not necessarily used | ||||
| // @ts-ignore | ||||
| import { URL, URLSearchParams } from 'url'; | ||||
| {{#multipartFormData}} | ||||
| import FormData from 'form-data' | ||||
| {{/multipartFormData}} | ||||
| {{/withNodeImports}} | ||||
| // Some imports not used depending on template conditions | ||||
| // @ts-ignore | ||||
| import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '{{apiRelativeToRoot}}common'; | ||||
| // @ts-ignore | ||||
| import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '{{apiRelativeToRoot}}base'; | ||||
| {{#imports}} | ||||
| // @ts-ignore | ||||
| import { {{classname}} } from '{{apiRelativeToRoot}}{{tsModelPackage}}'; | ||||
| {{/imports}} | ||||
| {{/withSeparateModelsAndApi}} | ||||
| {{^withSeparateModelsAndApi}} | ||||
| {{/withSeparateModelsAndApi}} | ||||
| {{#operations}} | ||||
| /** | ||||
|  * {{classname}} - axios parameter creator{{#description}} | ||||
|  * {{&description}}{{/description}} | ||||
|  * @export | ||||
|  */ | ||||
| export const {{classname}}AxiosParamCreator = function (configuration?: Configuration) { | ||||
|     return { | ||||
|     {{#operation}} | ||||
|         /** | ||||
|          * {{¬es}} | ||||
|          {{#summary}} | ||||
|          * @summary {{&summary}} | ||||
|          {{/summary}} | ||||
|          {{#allParams}} | ||||
|          * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|          {{/allParams}} | ||||
|          * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|          * @deprecated{{/isDeprecated}} | ||||
|          * @throws {RequiredError} | ||||
|          */ | ||||
|         {{nickname}}: async ({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options: AxiosRequestConfig = {}): Promise<RequestArgs> => { | ||||
|     {{#allParams}} | ||||
|     {{#required}} | ||||
|             // verify required parameter '{{paramName}}' is not null or undefined | ||||
|             assertParamExists('{{nickname}}', '{{paramName}}', {{paramName}}) | ||||
|     {{/required}} | ||||
|     {{/allParams}} | ||||
|             const localVarPath = `{{{path}}}`{{#pathParams}} | ||||
|                 .replace(`{${"{{baseName}}"}}`, encodeURIComponent(String({{paramName}}))){{/pathParams}}; | ||||
|             // use dummy base URL string because the URL constructor only accepts absolute URLs. | ||||
|             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); | ||||
|             let baseOptions; | ||||
|             if (configuration) { | ||||
|                 baseOptions = configuration.baseOptions; | ||||
|             } | ||||
|  | ||||
|             const localVarRequestOptions = { method: '{{httpMethod}}', ...baseOptions, ...options}; | ||||
|             const localVarHeaderParameter = {} as any; | ||||
|             const localVarQueryParameter = {} as any;{{#vendorExtensions}}{{#hasFormParams}} | ||||
|             const localVarFormParams = new {{^multipartFormData}}URLSearchParams(){{/multipartFormData}}{{#multipartFormData}}((configuration && configuration.formDataCtor) || FormData)(){{/multipartFormData}};{{/hasFormParams}}{{/vendorExtensions}} | ||||
|  | ||||
|     {{#authMethods}} | ||||
|             // authentication {{name}} required | ||||
|             {{#isApiKey}} | ||||
|             {{#isKeyInHeader}} | ||||
|             await setApiKeyToObject(localVarHeaderParameter, "{{keyParamName}}", configuration) | ||||
|             {{/isKeyInHeader}} | ||||
|             {{#isKeyInQuery}} | ||||
|             await setApiKeyToObject(localVarQueryParameter, "{{keyParamName}}", configuration) | ||||
|             {{/isKeyInQuery}} | ||||
|             {{/isApiKey}} | ||||
|             {{#isBasicBasic}} | ||||
|             // http basic authentication required | ||||
|             setBasicAuthToObject(localVarRequestOptions, configuration) | ||||
|             {{/isBasicBasic}} | ||||
|             {{#isBasicBearer}} | ||||
|             // http bearer authentication required | ||||
|             await setBearerAuthToObject(localVarHeaderParameter, configuration) | ||||
|             {{/isBasicBearer}} | ||||
|             {{#isOAuth}} | ||||
|             // oauth required | ||||
|             await setOAuthToObject(localVarHeaderParameter, "{{name}}", [{{#scopes}}"{{{scope}}}"{{^-last}}, {{/-last}}{{/scopes}}], configuration) | ||||
|             {{/isOAuth}} | ||||
|  | ||||
|     {{/authMethods}} | ||||
|     {{#queryParams}} | ||||
|             {{#isArray}} | ||||
|             if ({{paramName}}) { | ||||
|             {{#isCollectionFormatMulti}} | ||||
|                 {{#uniqueItems}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = Array.from({{paramName}}); | ||||
|                 {{/uniqueItems}} | ||||
|                 {{^uniqueItems}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = {{paramName}}; | ||||
|                 {{/uniqueItems}} | ||||
|             {{/isCollectionFormatMulti}} | ||||
|             {{^isCollectionFormatMulti}} | ||||
|                 {{#uniqueItems}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = Array.from({{paramName}}).join(COLLECTION_FORMATS.{{collectionFormat}}); | ||||
|                 {{/uniqueItems}} | ||||
|                 {{^uniqueItems}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = {{paramName}}.join(COLLECTION_FORMATS.{{collectionFormat}}); | ||||
|                 {{/uniqueItems}} | ||||
|             {{/isCollectionFormatMulti}} | ||||
|             } | ||||
|             {{/isArray}} | ||||
|             {{^isArray}} | ||||
|             if ({{paramName}} !== undefined) { | ||||
|                 {{#isDateTime}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = ({{paramName}} as any instanceof Date) ? | ||||
|                     ({{paramName}} as any).toISOString() : | ||||
|                     {{paramName}}; | ||||
|                 {{/isDateTime}} | ||||
|                 {{^isDateTime}} | ||||
|                 {{#isDate}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = ({{paramName}} as any instanceof Date) ? | ||||
|                     ({{paramName}} as any).toISOString().substr(0,10) : | ||||
|                     {{paramName}}; | ||||
|                 {{/isDate}} | ||||
|                 {{^isDate}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = {{paramName}}; | ||||
|                 {{/isDate}} | ||||
|                 {{/isDateTime}} | ||||
|             } | ||||
|             {{/isArray}} | ||||
|  | ||||
|     {{/queryParams}} | ||||
|     {{#headerParams}} | ||||
|             {{#isArray}} | ||||
|             if ({{paramName}}) { | ||||
|                 {{#uniqueItems}} | ||||
|                 let mapped = Array.from({{paramName}}).map(value => (<any>"{{{dataType}}}" !== "Set<string>") ? JSON.stringify(value) : (value || "")); | ||||
|                 {{/uniqueItems}} | ||||
|                 {{^uniqueItems}} | ||||
|                 let mapped = {{paramName}}.map(value => (<any>"{{{dataType}}}" !== "Array<string>") ? JSON.stringify(value) : (value || "")); | ||||
|                 {{/uniqueItems}} | ||||
|                 localVarHeaderParameter['{{baseName}}'] = mapped.join(COLLECTION_FORMATS["{{collectionFormat}}"]); | ||||
|             } | ||||
|             {{/isArray}} | ||||
|             {{^isArray}} | ||||
|             {{! `val == null` covers for both `null` and `undefined`}} | ||||
|             if ({{paramName}} != null) { | ||||
|                 {{#isString}} | ||||
|                 localVarHeaderParameter['{{baseName}}'] = String({{paramName}}); | ||||
|                 {{/isString}} | ||||
|                 {{^isString}} | ||||
|                 {{! isString is falsy also for $ref that defines a string or enum type}} | ||||
|                 localVarHeaderParameter['{{baseName}}'] = typeof {{paramName}} === 'string'  | ||||
|                     ? {{paramName}}  | ||||
|                     : JSON.stringify({{paramName}}); | ||||
|                 {{/isString}} | ||||
|             } | ||||
|             {{/isArray}} | ||||
|  | ||||
|     {{/headerParams}} | ||||
|     {{#vendorExtensions}} | ||||
|     {{#formParams}} | ||||
|             {{#isArray}} | ||||
|             if ({{paramName}}) { | ||||
|             {{#isCollectionFormatMulti}} | ||||
|                 {{paramName}}.forEach((element) => { | ||||
|                     localVarFormParams.{{#multipartFormData}}append{{/multipartFormData}}{{^multipartFormData}}set{{/multipartFormData}}('{{baseName}}', element as any); | ||||
|                 }) | ||||
|             {{/isCollectionFormatMulti}} | ||||
|             {{^isCollectionFormatMulti}} | ||||
|                 localVarFormParams.{{#multipartFormData}}append{{/multipartFormData}}{{^multipartFormData}}set{{/multipartFormData}}('{{baseName}}', {{paramName}}.join(COLLECTION_FORMATS.{{collectionFormat}})); | ||||
|             {{/isCollectionFormatMulti}} | ||||
|             }{{/isArray}} | ||||
|             {{^isArray}} | ||||
|             if ({{paramName}} !== undefined) { {{^multipartFormData}} | ||||
|                 localVarFormParams.set('{{baseName}}', {{paramName}} as any);{{/multipartFormData}}{{#multipartFormData}}{{#isPrimitiveType}} | ||||
|                 localVarFormParams.append('{{baseName}}', {{paramName}} as any);{{/isPrimitiveType}}{{^isPrimitiveType}}{{#isEnum}} | ||||
|                 localVarFormParams.append('{{baseName}}', {{paramName}} as any);{{/isEnum}}{{^isEnum}} | ||||
|                 localVarFormParams.append('{{baseName}}', new Blob([JSON.stringify({{paramName}})], { type: "application/json", }));{{/isEnum}}{{/isPrimitiveType}}{{/multipartFormData}} | ||||
|             }{{/isArray}} | ||||
|     {{/formParams}}{{/vendorExtensions}} | ||||
|     {{#vendorExtensions}}{{#hasFormParams}}{{^multipartFormData}} | ||||
|             localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';{{/multipartFormData}}{{#multipartFormData}} | ||||
|             localVarHeaderParameter['Content-Type'] = 'multipart/form-data';{{/multipartFormData}} | ||||
|     {{/hasFormParams}}{{/vendorExtensions}} | ||||
|     {{#bodyParam}} | ||||
|             {{^consumes}} | ||||
|             localVarHeaderParameter['Content-Type'] = 'application/json'; | ||||
|             {{/consumes}} | ||||
|             {{#consumes.0}} | ||||
|             localVarHeaderParameter['Content-Type'] = '{{{mediaType}}}'; | ||||
|             {{/consumes.0}} | ||||
|  | ||||
|     {{/bodyParam}} | ||||
|             setSearchParams(localVarUrlObj, localVarQueryParameter); | ||||
|             let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; | ||||
|             localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions,{{#hasFormParams}}{{#multipartFormData}} ...(localVarFormParams as any).getHeaders?.(),{{/multipartFormData}}{{/hasFormParams}} ...options.headers}; | ||||
|     {{#hasFormParams}} | ||||
|             localVarRequestOptions.data = localVarFormParams{{#vendorExtensions}}{{^multipartFormData}}.toString(){{/multipartFormData}}{{/vendorExtensions}}; | ||||
|     {{/hasFormParams}} | ||||
|     {{#bodyParam}} | ||||
|             localVarRequestOptions.data = serializeDataIfNeeded({{paramName}}, localVarRequestOptions, configuration) | ||||
|     {{/bodyParam}} | ||||
|  | ||||
|             return { | ||||
|                 url: toPathString(localVarUrlObj), | ||||
|                 options: localVarRequestOptions, | ||||
|             }; | ||||
|         }, | ||||
|     {{/operation}} | ||||
|     } | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * {{classname}} - functional programming interface{{#description}} | ||||
|  * {{{.}}}{{/description}} | ||||
|  * @export | ||||
|  */ | ||||
| export const {{classname}}Fp = function(configuration?: Configuration) { | ||||
|     const localVarAxiosParamCreator = {{classname}}AxiosParamCreator(configuration) | ||||
|     return { | ||||
|     {{#operation}} | ||||
|         /** | ||||
|          * {{¬es}} | ||||
|          {{#summary}} | ||||
|          * @summary {{&summary}} | ||||
|          {{/summary}} | ||||
|          {{#allParams}} | ||||
|          * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|          {{/allParams}} | ||||
|          * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|          * @deprecated{{/isDeprecated}} | ||||
|          * @throws {RequiredError} | ||||
|          */ | ||||
|         async {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}>> { | ||||
|             const localVarAxiosArgs = await localVarAxiosParamCreator.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options); | ||||
|             return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); | ||||
|         }, | ||||
|     {{/operation}} | ||||
|     } | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * {{classname}} - factory interface{{#description}} | ||||
|  * {{&description}}{{/description}} | ||||
|  * @export | ||||
|  */ | ||||
| export const {{classname}}Factory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { | ||||
|     const localVarFp = {{classname}}Fp(configuration) | ||||
|     return { | ||||
|     {{#operation}} | ||||
|         /** | ||||
|          * {{¬es}} | ||||
|          {{#summary}} | ||||
|          * @summary {{&summary}} | ||||
|          {{/summary}} | ||||
|         {{#useSingleRequestParameter}} | ||||
|          {{#allParams.0}} | ||||
|          * @param {{=<% %>=}}{<%& classname %><%& operationIdCamelCase %>Request}<%={{ }}=%> requestParameters Request parameters. | ||||
|          {{/allParams.0}} | ||||
|         {{/useSingleRequestParameter}} | ||||
|         {{^useSingleRequestParameter}} | ||||
|          {{#allParams}} | ||||
|          * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|          {{/allParams}} | ||||
|         {{/useSingleRequestParameter}} | ||||
|          * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|          * @deprecated{{/isDeprecated}} | ||||
|          * @throws {RequiredError} | ||||
|          */ | ||||
|         {{#useSingleRequestParameter}} | ||||
|         {{nickname}}({{#allParams.0}}requestParameters: {{classname}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}options?: AxiosRequestConfig): AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}> { | ||||
|             return localVarFp.{{nickname}}({{#allParams.0}}{{#allParams}}requestParameters.{{paramName}}, {{/allParams}}{{/allParams.0}}options).then((request) => request(axios, basePath)); | ||||
|         }, | ||||
|         {{/useSingleRequestParameter}} | ||||
|         {{^useSingleRequestParameter}} | ||||
|         {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: any): AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}> { | ||||
|             return localVarFp.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options).then((request) => request(axios, basePath)); | ||||
|         }, | ||||
|         {{/useSingleRequestParameter}} | ||||
|     {{/operation}} | ||||
|     }; | ||||
| }; | ||||
|  | ||||
| {{#withInterfaces}} | ||||
| /** | ||||
|  * {{classname}} - interface{{#description}} | ||||
|  * {{&description}}{{/description}} | ||||
|  * @export | ||||
|  * @interface {{classname}} | ||||
|  */ | ||||
| export interface {{classname}}Interface { | ||||
| {{#operation}} | ||||
|     /** | ||||
|      * {{¬es}} | ||||
|      {{#summary}} | ||||
|      * @summary {{&summary}} | ||||
|      {{/summary}} | ||||
|      {{#allParams}} | ||||
|      * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|      {{/allParams}} | ||||
|      * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|      * @deprecated{{/isDeprecated}} | ||||
|      * @throws {RequiredError} | ||||
|      * @memberof {{classname}}Interface | ||||
|      */ | ||||
|     {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: AxiosRequestConfig): AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}>; | ||||
|  | ||||
| {{/operation}} | ||||
| } | ||||
|  | ||||
| {{/withInterfaces}} | ||||
| {{#useSingleRequestParameter}} | ||||
| {{#operation}} | ||||
| {{#allParams.0}} | ||||
| /** | ||||
|  * Request parameters for {{nickname}} operation in {{classname}}. | ||||
|  * @export | ||||
|  * @interface {{classname}}{{operationIdCamelCase}}Request | ||||
|  */ | ||||
| export interface {{classname}}{{operationIdCamelCase}}Request { | ||||
|     {{#allParams}} | ||||
|     /** | ||||
|      * {{description}} | ||||
|      * @type {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> | ||||
|      * @memberof {{classname}}{{operationIdCamelCase}} | ||||
|      */ | ||||
|     readonly {{paramName}}{{^required}}?{{/required}}: {{{dataType}}} | ||||
|     {{^-last}} | ||||
|  | ||||
|     {{/-last}} | ||||
|     {{/allParams}} | ||||
| } | ||||
|  | ||||
| {{/allParams.0}} | ||||
| {{/operation}} | ||||
| {{/useSingleRequestParameter}} | ||||
| /** | ||||
|  * {{classname}} - object-oriented interface{{#description}} | ||||
|  * {{{.}}}{{/description}} | ||||
|  * @export | ||||
|  * @class {{classname}} | ||||
|  * @extends {BaseAPI} | ||||
|  */ | ||||
| {{#withInterfaces}} | ||||
| export class {{classname}} extends BaseAPI implements {{classname}}Interface { | ||||
| {{/withInterfaces}} | ||||
| {{^withInterfaces}} | ||||
| export class {{classname}} extends BaseAPI { | ||||
| {{/withInterfaces}} | ||||
|     {{#operation}} | ||||
|     /** | ||||
|      * {{¬es}} | ||||
|      {{#summary}} | ||||
|      * @summary {{&summary}} | ||||
|      {{/summary}} | ||||
|      {{#useSingleRequestParameter}} | ||||
|      {{#allParams.0}} | ||||
|      * @param {{=<% %>=}}{<%& classname %><%& operationIdCamelCase %>Request}<%={{ }}=%> requestParameters Request parameters. | ||||
|      {{/allParams.0}} | ||||
|      {{/useSingleRequestParameter}} | ||||
|      {{^useSingleRequestParameter}} | ||||
|      {{#allParams}} | ||||
|      * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|      {{/allParams}} | ||||
|      {{/useSingleRequestParameter}} | ||||
|      * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|      * @deprecated{{/isDeprecated}} | ||||
|      * @throws {RequiredError} | ||||
|      * @memberof {{classname}} | ||||
|      */ | ||||
|     {{#useSingleRequestParameter}} | ||||
|     public {{nickname}}({{#allParams.0}}requestParameters: {{classname}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}options?: AxiosRequestConfig) { | ||||
|         return {{classname}}Fp(this.configuration).{{nickname}}({{#allParams.0}}{{#allParams}}requestParameters.{{paramName}}, {{/allParams}}{{/allParams.0}}options).then((request) => request(this.axios, this.basePath)); | ||||
|     } | ||||
|     {{/useSingleRequestParameter}} | ||||
|     {{^useSingleRequestParameter}} | ||||
|     public {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: AxiosRequestConfig) { | ||||
|         return {{classname}}Fp(this.configuration).{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options).then((request) => request(this.axios, this.basePath)); | ||||
|     } | ||||
|     {{/useSingleRequestParameter}} | ||||
|     {{^-last}} | ||||
|  | ||||
|     {{/-last}} | ||||
|     {{/operation}} | ||||
| } | ||||
| {{/operations}} | ||||
							
								
								
									
										390
									
								
								server/openapi-generator/templates/cli/apiInner.mustache.orig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										390
									
								
								server/openapi-generator/templates/cli/apiInner.mustache.orig
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,390 @@ | ||||
| {{#withSeparateModelsAndApi}} | ||||
| /* tslint:disable */ | ||||
| /* eslint-disable */ | ||||
| {{>licenseInfo}} | ||||
|  | ||||
| import type { Configuration } from '{{apiRelativeToRoot}}configuration'; | ||||
| import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; | ||||
| import globalAxios from 'axios'; | ||||
| {{#withNodeImports}} | ||||
| // URLSearchParams not necessarily used | ||||
| // @ts-ignore | ||||
| import { URL, URLSearchParams } from 'url'; | ||||
| {{#multipartFormData}} | ||||
| import FormData from 'form-data' | ||||
| {{/multipartFormData}} | ||||
| {{/withNodeImports}} | ||||
| // Some imports not used depending on template conditions | ||||
| // @ts-ignore | ||||
| import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '{{apiRelativeToRoot}}common'; | ||||
| // @ts-ignore | ||||
| import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '{{apiRelativeToRoot}}base'; | ||||
| {{#imports}} | ||||
| // @ts-ignore | ||||
| import { {{classname}} } from '{{apiRelativeToRoot}}{{tsModelPackage}}'; | ||||
| {{/imports}} | ||||
| {{/withSeparateModelsAndApi}} | ||||
| {{^withSeparateModelsAndApi}} | ||||
| {{/withSeparateModelsAndApi}} | ||||
| {{#operations}} | ||||
| /** | ||||
|  * {{classname}} - axios parameter creator{{#description}} | ||||
|  * {{&description}}{{/description}} | ||||
|  * @export | ||||
|  */ | ||||
| export const {{classname}}AxiosParamCreator = function (configuration?: Configuration) { | ||||
|     return { | ||||
|     {{#operation}} | ||||
|         /** | ||||
|          * {{¬es}} | ||||
|          {{#summary}} | ||||
|          * @summary {{&summary}} | ||||
|          {{/summary}} | ||||
|          {{#allParams}} | ||||
|          * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|          {{/allParams}} | ||||
|          * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|          * @deprecated{{/isDeprecated}} | ||||
|          * @throws {RequiredError} | ||||
|          */ | ||||
|         {{nickname}}: async ({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options: AxiosRequestConfig = {}): Promise<RequestArgs> => { | ||||
|     {{#allParams}} | ||||
|     {{#required}} | ||||
|             // verify required parameter '{{paramName}}' is not null or undefined | ||||
|             assertParamExists('{{nickname}}', '{{paramName}}', {{paramName}}) | ||||
|     {{/required}} | ||||
|     {{/allParams}} | ||||
|             const localVarPath = `{{{path}}}`{{#pathParams}} | ||||
|                 .replace(`{${"{{baseName}}"}}`, encodeURIComponent(String({{paramName}}))){{/pathParams}}; | ||||
|             // use dummy base URL string because the URL constructor only accepts absolute URLs. | ||||
|             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); | ||||
|             let baseOptions; | ||||
|             if (configuration) { | ||||
|                 baseOptions = configuration.baseOptions; | ||||
|             } | ||||
|  | ||||
|             const localVarRequestOptions = { method: '{{httpMethod}}', ...baseOptions, ...options}; | ||||
|             const localVarHeaderParameter = {} as any; | ||||
|             const localVarQueryParameter = {} as any;{{#vendorExtensions}}{{#hasFormParams}} | ||||
|             const localVarFormParams = new {{^multipartFormData}}URLSearchParams(){{/multipartFormData}}{{#multipartFormData}}((configuration && configuration.formDataCtor) || FormData)(){{/multipartFormData}};{{/hasFormParams}}{{/vendorExtensions}} | ||||
|  | ||||
|     {{#authMethods}} | ||||
|             // authentication {{name}} required | ||||
|             {{#isApiKey}} | ||||
|             {{#isKeyInHeader}} | ||||
|             await setApiKeyToObject(localVarHeaderParameter, "{{keyParamName}}", configuration) | ||||
|             {{/isKeyInHeader}} | ||||
|             {{#isKeyInQuery}} | ||||
|             await setApiKeyToObject(localVarQueryParameter, "{{keyParamName}}", configuration) | ||||
|             {{/isKeyInQuery}} | ||||
|             {{/isApiKey}} | ||||
|             {{#isBasicBasic}} | ||||
|             // http basic authentication required | ||||
|             setBasicAuthToObject(localVarRequestOptions, configuration) | ||||
|             {{/isBasicBasic}} | ||||
|             {{#isBasicBearer}} | ||||
|             // http bearer authentication required | ||||
|             await setBearerAuthToObject(localVarHeaderParameter, configuration) | ||||
|             {{/isBasicBearer}} | ||||
|             {{#isOAuth}} | ||||
|             // oauth required | ||||
|             await setOAuthToObject(localVarHeaderParameter, "{{name}}", [{{#scopes}}"{{{scope}}}"{{^-last}}, {{/-last}}{{/scopes}}], configuration) | ||||
|             {{/isOAuth}} | ||||
|  | ||||
|     {{/authMethods}} | ||||
|     {{#queryParams}} | ||||
|             {{#isArray}} | ||||
|             if ({{paramName}}) { | ||||
|             {{#isCollectionFormatMulti}} | ||||
|                 {{#uniqueItems}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = Array.from({{paramName}}); | ||||
|                 {{/uniqueItems}} | ||||
|                 {{^uniqueItems}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = {{paramName}}; | ||||
|                 {{/uniqueItems}} | ||||
|             {{/isCollectionFormatMulti}} | ||||
|             {{^isCollectionFormatMulti}} | ||||
|                 {{#uniqueItems}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = Array.from({{paramName}}).join(COLLECTION_FORMATS.{{collectionFormat}}); | ||||
|                 {{/uniqueItems}} | ||||
|                 {{^uniqueItems}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = {{paramName}}.join(COLLECTION_FORMATS.{{collectionFormat}}); | ||||
|                 {{/uniqueItems}} | ||||
|             {{/isCollectionFormatMulti}} | ||||
|             } | ||||
|             {{/isArray}} | ||||
|             {{^isArray}} | ||||
|             if ({{paramName}} !== undefined) { | ||||
|                 {{#isDateTime}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = ({{paramName}} as any instanceof Date) ? | ||||
|                     ({{paramName}} as any).toISOString() : | ||||
|                     {{paramName}}; | ||||
|                 {{/isDateTime}} | ||||
|                 {{^isDateTime}} | ||||
|                 {{#isDate}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = ({{paramName}} as any instanceof Date) ? | ||||
|                     ({{paramName}} as any).toISOString().substr(0,10) : | ||||
|                     {{paramName}}; | ||||
|                 {{/isDate}} | ||||
|                 {{^isDate}} | ||||
|                 localVarQueryParameter['{{baseName}}'] = {{paramName}}; | ||||
|                 {{/isDate}} | ||||
|                 {{/isDateTime}} | ||||
|             } | ||||
|             {{/isArray}} | ||||
|  | ||||
|     {{/queryParams}} | ||||
|     {{#headerParams}} | ||||
|             {{#isArray}} | ||||
|             if ({{paramName}}) { | ||||
|                 {{#uniqueItems}} | ||||
|                 let mapped = Array.from({{paramName}}).map(value => (<any>"{{{dataType}}}" !== "Set<string>") ? JSON.stringify(value) : (value || "")); | ||||
|                 {{/uniqueItems}} | ||||
|                 {{^uniqueItems}} | ||||
|                 let mapped = {{paramName}}.map(value => (<any>"{{{dataType}}}" !== "Array<string>") ? JSON.stringify(value) : (value || "")); | ||||
|                 {{/uniqueItems}} | ||||
|                 localVarHeaderParameter['{{baseName}}'] = mapped.join(COLLECTION_FORMATS["{{collectionFormat}}"]); | ||||
|             } | ||||
|             {{/isArray}} | ||||
|             {{^isArray}} | ||||
|             {{! `val == null` covers for both `null` and `undefined`}} | ||||
|             if ({{paramName}} != null) { | ||||
|                 {{#isString}} | ||||
|                 localVarHeaderParameter['{{baseName}}'] = String({{paramName}}); | ||||
|                 {{/isString}} | ||||
|                 {{^isString}} | ||||
|                 {{! isString is falsy also for $ref that defines a string or enum type}} | ||||
|                 localVarHeaderParameter['{{baseName}}'] = typeof {{paramName}} === 'string'  | ||||
|                     ? {{paramName}}  | ||||
|                     : JSON.stringify({{paramName}}); | ||||
|                 {{/isString}} | ||||
|             } | ||||
|             {{/isArray}} | ||||
|  | ||||
|     {{/headerParams}} | ||||
|     {{#vendorExtensions}} | ||||
|     {{#formParams}} | ||||
|             {{#isArray}} | ||||
|             if ({{paramName}}) { | ||||
|             {{#isCollectionFormatMulti}} | ||||
|                 {{paramName}}.forEach((element) => { | ||||
|                     localVarFormParams.{{#multipartFormData}}append{{/multipartFormData}}{{^multipartFormData}}set{{/multipartFormData}}('{{baseName}}', element as any); | ||||
|                 }) | ||||
|             {{/isCollectionFormatMulti}} | ||||
|             {{^isCollectionFormatMulti}} | ||||
|                 localVarFormParams.{{#multipartFormData}}append{{/multipartFormData}}{{^multipartFormData}}set{{/multipartFormData}}('{{baseName}}', {{paramName}}.join(COLLECTION_FORMATS.{{collectionFormat}})); | ||||
|             {{/isCollectionFormatMulti}} | ||||
|             }{{/isArray}} | ||||
|             {{^isArray}} | ||||
|             if ({{paramName}} !== undefined) { {{^multipartFormData}} | ||||
|                 localVarFormParams.set('{{baseName}}', {{paramName}} as any);{{/multipartFormData}}{{#multipartFormData}}{{#isPrimitiveType}} | ||||
|                 localVarFormParams.append('{{baseName}}', {{paramName}} as any);{{/isPrimitiveType}}{{^isPrimitiveType}} | ||||
|                 localVarFormParams.append('{{baseName}}', new Blob([JSON.stringify({{paramName}})], { type: "application/json", }));{{/isPrimitiveType}}{{/multipartFormData}} | ||||
|             }{{/isArray}} | ||||
|     {{/formParams}}{{/vendorExtensions}} | ||||
|     {{#vendorExtensions}}{{#hasFormParams}}{{^multipartFormData}} | ||||
|             localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';{{/multipartFormData}}{{#multipartFormData}} | ||||
|             localVarHeaderParameter['Content-Type'] = 'multipart/form-data';{{/multipartFormData}} | ||||
|     {{/hasFormParams}}{{/vendorExtensions}} | ||||
|     {{#bodyParam}} | ||||
|             {{^consumes}} | ||||
|             localVarHeaderParameter['Content-Type'] = 'application/json'; | ||||
|             {{/consumes}} | ||||
|             {{#consumes.0}} | ||||
|             localVarHeaderParameter['Content-Type'] = '{{{mediaType}}}'; | ||||
|             {{/consumes.0}} | ||||
|  | ||||
|     {{/bodyParam}} | ||||
|             setSearchParams(localVarUrlObj, localVarQueryParameter); | ||||
|             let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; | ||||
|             localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions,{{#hasFormParams}}{{#multipartFormData}} ...(localVarFormParams as any).getHeaders?.(),{{/multipartFormData}}{{/hasFormParams}} ...options.headers}; | ||||
|     {{#hasFormParams}} | ||||
|             localVarRequestOptions.data = localVarFormParams{{#vendorExtensions}}{{^multipartFormData}}.toString(){{/multipartFormData}}{{/vendorExtensions}}; | ||||
|     {{/hasFormParams}} | ||||
|     {{#bodyParam}} | ||||
|             localVarRequestOptions.data = serializeDataIfNeeded({{paramName}}, localVarRequestOptions, configuration) | ||||
|     {{/bodyParam}} | ||||
|  | ||||
|             return { | ||||
|                 url: toPathString(localVarUrlObj), | ||||
|                 options: localVarRequestOptions, | ||||
|             }; | ||||
|         }, | ||||
|     {{/operation}} | ||||
|     } | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * {{classname}} - functional programming interface{{#description}} | ||||
|  * {{{.}}}{{/description}} | ||||
|  * @export | ||||
|  */ | ||||
| export const {{classname}}Fp = function(configuration?: Configuration) { | ||||
|     const localVarAxiosParamCreator = {{classname}}AxiosParamCreator(configuration) | ||||
|     return { | ||||
|     {{#operation}} | ||||
|         /** | ||||
|          * {{¬es}} | ||||
|          {{#summary}} | ||||
|          * @summary {{&summary}} | ||||
|          {{/summary}} | ||||
|          {{#allParams}} | ||||
|          * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|          {{/allParams}} | ||||
|          * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|          * @deprecated{{/isDeprecated}} | ||||
|          * @throws {RequiredError} | ||||
|          */ | ||||
|         async {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}>> { | ||||
|             const localVarAxiosArgs = await localVarAxiosParamCreator.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options); | ||||
|             return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); | ||||
|         }, | ||||
|     {{/operation}} | ||||
|     } | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * {{classname}} - factory interface{{#description}} | ||||
|  * {{&description}}{{/description}} | ||||
|  * @export | ||||
|  */ | ||||
| export const {{classname}}Factory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { | ||||
|     const localVarFp = {{classname}}Fp(configuration) | ||||
|     return { | ||||
|     {{#operation}} | ||||
|         /** | ||||
|          * {{¬es}} | ||||
|          {{#summary}} | ||||
|          * @summary {{&summary}} | ||||
|          {{/summary}} | ||||
|         {{#useSingleRequestParameter}} | ||||
|          {{#allParams.0}} | ||||
|          * @param {{=<% %>=}}{<%& classname %><%& operationIdCamelCase %>Request}<%={{ }}=%> requestParameters Request parameters. | ||||
|          {{/allParams.0}} | ||||
|         {{/useSingleRequestParameter}} | ||||
|         {{^useSingleRequestParameter}} | ||||
|          {{#allParams}} | ||||
|          * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|          {{/allParams}} | ||||
|         {{/useSingleRequestParameter}} | ||||
|          * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|          * @deprecated{{/isDeprecated}} | ||||
|          * @throws {RequiredError} | ||||
|          */ | ||||
|         {{#useSingleRequestParameter}} | ||||
|         {{nickname}}({{#allParams.0}}requestParameters: {{classname}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}options?: AxiosRequestConfig): AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}> { | ||||
|             return localVarFp.{{nickname}}({{#allParams.0}}{{#allParams}}requestParameters.{{paramName}}, {{/allParams}}{{/allParams.0}}options).then((request) => request(axios, basePath)); | ||||
|         }, | ||||
|         {{/useSingleRequestParameter}} | ||||
|         {{^useSingleRequestParameter}} | ||||
|         {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: any): AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}> { | ||||
|             return localVarFp.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options).then((request) => request(axios, basePath)); | ||||
|         }, | ||||
|         {{/useSingleRequestParameter}} | ||||
|     {{/operation}} | ||||
|     }; | ||||
| }; | ||||
|  | ||||
| {{#withInterfaces}} | ||||
| /** | ||||
|  * {{classname}} - interface{{#description}} | ||||
|  * {{&description}}{{/description}} | ||||
|  * @export | ||||
|  * @interface {{classname}} | ||||
|  */ | ||||
| export interface {{classname}}Interface { | ||||
| {{#operation}} | ||||
|     /** | ||||
|      * {{¬es}} | ||||
|      {{#summary}} | ||||
|      * @summary {{&summary}} | ||||
|      {{/summary}} | ||||
|      {{#allParams}} | ||||
|      * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|      {{/allParams}} | ||||
|      * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|      * @deprecated{{/isDeprecated}} | ||||
|      * @throws {RequiredError} | ||||
|      * @memberof {{classname}}Interface | ||||
|      */ | ||||
|     {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: AxiosRequestConfig): AxiosPromise<{{{returnType}}}{{^returnType}}void{{/returnType}}>; | ||||
|  | ||||
| {{/operation}} | ||||
| } | ||||
|  | ||||
| {{/withInterfaces}} | ||||
| {{#useSingleRequestParameter}} | ||||
| {{#operation}} | ||||
| {{#allParams.0}} | ||||
| /** | ||||
|  * Request parameters for {{nickname}} operation in {{classname}}. | ||||
|  * @export | ||||
|  * @interface {{classname}}{{operationIdCamelCase}}Request | ||||
|  */ | ||||
| export interface {{classname}}{{operationIdCamelCase}}Request { | ||||
|     {{#allParams}} | ||||
|     /** | ||||
|      * {{description}} | ||||
|      * @type {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> | ||||
|      * @memberof {{classname}}{{operationIdCamelCase}} | ||||
|      */ | ||||
|     readonly {{paramName}}{{^required}}?{{/required}}: {{{dataType}}} | ||||
|     {{^-last}} | ||||
|  | ||||
|     {{/-last}} | ||||
|     {{/allParams}} | ||||
| } | ||||
|  | ||||
| {{/allParams.0}} | ||||
| {{/operation}} | ||||
| {{/useSingleRequestParameter}} | ||||
| /** | ||||
|  * {{classname}} - object-oriented interface{{#description}} | ||||
|  * {{{.}}}{{/description}} | ||||
|  * @export | ||||
|  * @class {{classname}} | ||||
|  * @extends {BaseAPI} | ||||
|  */ | ||||
| {{#withInterfaces}} | ||||
| export class {{classname}} extends BaseAPI implements {{classname}}Interface { | ||||
| {{/withInterfaces}} | ||||
| {{^withInterfaces}} | ||||
| export class {{classname}} extends BaseAPI { | ||||
| {{/withInterfaces}} | ||||
|     {{#operation}} | ||||
|     /** | ||||
|      * {{¬es}} | ||||
|      {{#summary}} | ||||
|      * @summary {{&summary}} | ||||
|      {{/summary}} | ||||
|      {{#useSingleRequestParameter}} | ||||
|      {{#allParams.0}} | ||||
|      * @param {{=<% %>=}}{<%& classname %><%& operationIdCamelCase %>Request}<%={{ }}=%> requestParameters Request parameters. | ||||
|      {{/allParams.0}} | ||||
|      {{/useSingleRequestParameter}} | ||||
|      {{^useSingleRequestParameter}} | ||||
|      {{#allParams}} | ||||
|      * @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}} | ||||
|      {{/allParams}} | ||||
|      {{/useSingleRequestParameter}} | ||||
|      * @param {*} [options] Override http request option.{{#isDeprecated}} | ||||
|      * @deprecated{{/isDeprecated}} | ||||
|      * @throws {RequiredError} | ||||
|      * @memberof {{classname}} | ||||
|      */ | ||||
|     {{#useSingleRequestParameter}} | ||||
|     public {{nickname}}({{#allParams.0}}requestParameters: {{classname}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}options?: AxiosRequestConfig) { | ||||
|         return {{classname}}Fp(this.configuration).{{nickname}}({{#allParams.0}}{{#allParams}}requestParameters.{{paramName}}, {{/allParams}}{{/allParams.0}}options).then((request) => request(this.axios, this.basePath)); | ||||
|     } | ||||
|     {{/useSingleRequestParameter}} | ||||
|     {{^useSingleRequestParameter}} | ||||
|     public {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: AxiosRequestConfig) { | ||||
|         return {{classname}}Fp(this.configuration).{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options).then((request) => request(this.axios, this.basePath)); | ||||
|     } | ||||
|     {{/useSingleRequestParameter}} | ||||
|     {{^-last}} | ||||
|  | ||||
|     {{/-last}} | ||||
|     {{/operation}} | ||||
| } | ||||
| {{/operations}} | ||||
| @@ -0,0 +1,14 @@ | ||||
| --- apiInner.mustache   2023-02-10 17:44:20.945845049 +0000 | ||||
| +++ apiInner.mustache.patch     2023-02-10 17:46:28.669054112 +0000 | ||||
| @@ -173,8 +173,9 @@ | ||||
|              {{^isArray}} | ||||
|              if ({{paramName}} !== undefined) { {{^multipartFormData}} | ||||
|                  localVarFormParams.set('{{baseName}}', {{paramName}} as any);{{/multipartFormData}}{{#multipartFormData}}{{#isPrimitiveType}} | ||||
| -                localVarFormParams.append('{{baseName}}', {{paramName}} as any);{{/isPrimitiveType}}{{^isPrimitiveType}} | ||||
| -                localVarFormParams.append('{{baseName}}', new Blob([JSON.stringify({{paramName}})], { type: "application/json", }));{{/isPrimitiveType}}{{/multipartFormData}} | ||||
| +                localVarFormParams.append('{{baseName}}', {{paramName}} as any);{{/isPrimitiveType}}{{^isPrimitiveType}}{{#isEnum}} | ||||
| +                localVarFormParams.append('{{baseName}}', {{paramName}} as any);{{/isEnum}}{{^isEnum}} | ||||
| +                localVarFormParams.append('{{baseName}}', new Blob([JSON.stringify({{paramName}})], { type: "application/json", }));{{/isEnum}}{{/isPrimitiveType}}{{/multipartFormData}} | ||||
|              }{{/isArray}} | ||||
|      {{/formParams}}{{/vendorExtensions}} | ||||
|      {{#vendorExtensions}}{{#hasFormParams}}{{^multipartFormData}} | ||||
		Reference in New Issue
	
	Block a user