Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[typescript] Default auth method support and optional param object when all params optional #11321

Merged
merged 23 commits into from
Jan 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// TODO: better import syntax?
import { BaseAPIRequestFactory, RequiredError } from './baseapi{{extensionForDeno}}';
import {BaseAPIRequestFactory, RequiredError} from './baseapi{{extensionForDeno}}';
import {Configuration} from '../configuration{{extensionForDeno}}';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http{{extensionForDeno}}';
import {RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http{{extensionForDeno}}';
{{#platforms}}
{{#node}}
import * as FormData from "form-data";
Expand All @@ -11,6 +11,7 @@ import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer{{extensionForDeno}}';
import {ApiException} from './exception{{extensionForDeno}}';
import {canConsumeForm, isCodeInRange} from '../util{{extensionForDeno}}';
import {SecurityAuthentication} from '../auth/auth';

{{#useInversify}}
import { injectable } from "inversify";
Expand Down Expand Up @@ -151,15 +152,22 @@ export class {{classname}}RequestFactory extends BaseAPIRequestFactory {
{{/bodyParam}}

{{#hasAuthMethods}}
let authMethod = null;
let authMethod: SecurityAuthentication | undefined;
{{/hasAuthMethods}}
{{#authMethods}}
// Apply auth methods
authMethod = _config.authMethods["{{name}}"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);
if (authMethod?.applySecurityAuthentication) {
await authMethod?.applySecurityAuthentication(requestContext);
}
{{/authMethods}}

{{^useInversify}}
const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}
{{/useInversify}}

return requestContext;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,19 @@ export class {{#lambda.pascalcase}}{{name}}{{/lambda.pascalcase}}Authentication
{{/authMethods}}

export type AuthMethods = {
{{^useInversify}}
"default"?: SecurityAuthentication,
{{/useInversify}}
{{#authMethods}}
"{{name}}"?: SecurityAuthentication{{^-last}},{{/-last}}
{{/authMethods}}
}
{{#useInversify}}

export const authMethodServices = {
{{^useInversify}}
"default"?: SecurityAuthentication,
{{/useInversify}}
{{#authMethods}}
"{{name}}": {{#lambda.pascalcase}}{{name}}{{/lambda.pascalcase}}Authentication{{^-last}},{{/-last}}
{{/authMethods}}
Expand All @@ -126,6 +132,9 @@ export type HttpBearerConfiguration = { tokenProvider: TokenProvider };
export type OAuth2Configuration = { accessToken: string };

export type AuthMethodsConfiguration = {
{{^useInversify}}
"default"?: SecurityAuthentication,
{{/useInversify}}
{{#authMethods}}
"{{name}}"?: {{#isApiKey}}ApiKeyConfiguration{{/isApiKey}}{{#isBasicBasic}}HttpBasicConfiguration{{/isBasicBasic}}{{#isBasicBearer}}HttpBearerConfiguration{{/isBasicBearer}}{{#isOAuth}}OAuth2Configuration{{/isOAuth}}{{^-last}},{{/-last}}
{{/authMethods}}
Expand All @@ -141,6 +150,9 @@ export function configureAuthMethods(config: AuthMethodsConfiguration | undefine
if (!config) {
return authMethods;
}
{{^useInversify}}
authMethods["default"] = config["default"]
{{/useInversify}}

{{#authMethods}}
if (config["{{name}}"]) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export class Object{{classname}} {
{{/summary}}
* @param param the request object
*/
public {{nickname}}(param: {{classname}}{{operationIdCamelCase}}Request, options?: Configuration): {{#useRxJS}}Observable{{/useRxJS}}{{^useRxJS}}Promise{{/useRxJS}}<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
public {{nickname}}(param: {{classname}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, options?: Configuration): {{#useRxJS}}Observable{{/useRxJS}}{{^useRxJS}}Promise{{/useRxJS}}<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
return this.api.{{nickname}}({{#allParams}}param.{{paramName}}, {{/allParams}} options){{^useRxJS}}.toPromise(){{/useRxJS}};
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
// TODO: better import syntax?
import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {BaseAPIRequestFactory, RequiredError} from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import {RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {canConsumeForm, isCodeInRange} from '../util';
import {SecurityAuthentication} from '../auth/auth';


import { Cat } from '../models/Cat';
Expand Down Expand Up @@ -44,6 +45,11 @@ export class DefaultApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);


const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
}
Expand Down Expand Up @@ -74,6 +80,11 @@ export class DefaultApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);


const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
}
Expand Down Expand Up @@ -104,6 +115,11 @@ export class DefaultApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);


const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export interface TokenProvider {


export type AuthMethods = {
"default"?: SecurityAuthentication,
}

export type ApiKeyConfiguration = string;
Expand All @@ -32,6 +33,7 @@ export type HttpBearerConfiguration = { tokenProvider: TokenProvider };
export type OAuth2Configuration = { accessToken: string };

export type AuthMethodsConfiguration = {
"default"?: SecurityAuthentication,
}

/**
Expand All @@ -44,6 +46,7 @@ export function configureAuthMethods(config: AuthMethodsConfiguration | undefine
if (!config) {
return authMethods;
}
authMethods["default"] = config["default"]

return authMethods;
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,21 +50,21 @@ export class ObjectDefaultApi {
/**
* @param param the request object
*/
public filePost(param: DefaultApiFilePostRequest, options?: Configuration): Promise<void> {
public filePost(param: DefaultApiFilePostRequest = {}, options?: Configuration): Promise<void> {
return this.api.filePost(param.inlineObject, options).toPromise();
}

/**
* @param param the request object
*/
public petsFilteredPatch(param: DefaultApiPetsFilteredPatchRequest, options?: Configuration): Promise<void> {
public petsFilteredPatch(param: DefaultApiPetsFilteredPatchRequest = {}, options?: Configuration): Promise<void> {
return this.api.petsFilteredPatch(param.petByAgePetByType, options).toPromise();
}

/**
* @param param the request object
*/
public petsPatch(param: DefaultApiPetsPatchRequest, options?: Configuration): Promise<void> {
public petsPatch(param: DefaultApiPetsPatchRequest = {}, options?: Configuration): Promise<void> {
return this.api.petsPatch(param.catDog, options).toPromise();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
// TODO: better import syntax?
import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {BaseAPIRequestFactory, RequiredError} from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import {RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {canConsumeForm, isCodeInRange} from '../util';
import {SecurityAuthentication} from '../auth/auth';


import { ApiResponse } from '../models/ApiResponse';
Expand Down Expand Up @@ -51,11 +52,16 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);

let authMethod = null;
let authMethod: SecurityAuthentication | undefined;
// Apply auth methods
authMethod = _config.authMethods["petstore_auth"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);
if (authMethod?.applySecurityAuthentication) {
await authMethod?.applySecurityAuthentication(requestContext);
}

const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
Expand Down Expand Up @@ -88,11 +94,16 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setHeaderParam("api_key", ObjectSerializer.serialize(apiKey, "string", ""));


let authMethod = null;
let authMethod: SecurityAuthentication | undefined;
// Apply auth methods
authMethod = _config.authMethods["petstore_auth"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);
if (authMethod?.applySecurityAuthentication) {
await authMethod?.applySecurityAuthentication(requestContext);
}

const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
Expand Down Expand Up @@ -125,11 +136,16 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
}


let authMethod = null;
let authMethod: SecurityAuthentication | undefined;
// Apply auth methods
authMethod = _config.authMethods["petstore_auth"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);
if (authMethod?.applySecurityAuthentication) {
await authMethod?.applySecurityAuthentication(requestContext);
}

const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
Expand Down Expand Up @@ -162,11 +178,16 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
}


let authMethod = null;
let authMethod: SecurityAuthentication | undefined;
// Apply auth methods
authMethod = _config.authMethods["petstore_auth"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);
if (authMethod?.applySecurityAuthentication) {
await authMethod?.applySecurityAuthentication(requestContext);
}

const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
Expand Down Expand Up @@ -195,11 +216,16 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")


let authMethod = null;
let authMethod: SecurityAuthentication | undefined;
// Apply auth methods
authMethod = _config.authMethods["api_key"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);
if (authMethod?.applySecurityAuthentication) {
await authMethod?.applySecurityAuthentication(requestContext);
}

const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
Expand Down Expand Up @@ -239,11 +265,16 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);

let authMethod = null;
let authMethod: SecurityAuthentication | undefined;
// Apply auth methods
authMethod = _config.authMethods["petstore_auth"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);
if (authMethod?.applySecurityAuthentication) {
await authMethod?.applySecurityAuthentication(requestContext);
}

const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
Expand Down Expand Up @@ -304,11 +335,16 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setHeaderParam("Content-Type", contentType);
}

let authMethod = null;
let authMethod: SecurityAuthentication | undefined;
// Apply auth methods
authMethod = _config.authMethods["petstore_auth"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);
if (authMethod?.applySecurityAuthentication) {
await authMethod?.applySecurityAuthentication(requestContext);
}

const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
Expand Down Expand Up @@ -371,11 +407,16 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setHeaderParam("Content-Type", contentType);
}

let authMethod = null;
let authMethod: SecurityAuthentication | undefined;
// Apply auth methods
authMethod = _config.authMethods["petstore_auth"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);
if (authMethod?.applySecurityAuthentication) {
await authMethod?.applySecurityAuthentication(requestContext);
}

const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default
if (defaultAuth?.applySecurityAuthentication) {
await defaultAuth?.applySecurityAuthentication(requestContext);
}

return requestContext;
Expand Down
Loading