From 83b15d11ac3cebd4d99e4cf720ec11dbf20fcd65 Mon Sep 17 00:00:00 2001 From: Alexander Rashed Date: Wed, 13 Sep 2017 14:00:27 +0200 Subject: [PATCH 1/5] [typescript-angular2] Allow lazy oauth token refresh (#6486) --- .../typescript-angular2/api.service.mustache | 58 +-- .../configuration.mustache | 6 +- .../rxjs-operators.mustache | 2 + .../default/api/pet.service.ts | 332 +++++++++-------- .../default/api/store.service.ts | 126 ++++--- .../default/api/user.service.ts | 246 +++++++------ .../default/configuration.ts | 6 +- .../default/rxjs-operators.ts | 2 + .../npm/api/pet.service.ts | 348 ++++++++++-------- .../npm/api/store.service.ts | 134 ++++--- .../npm/api/user.service.ts | 262 +++++++------ .../typescript-angular2/npm/configuration.ts | 6 +- .../typescript-angular2/npm/rxjs-operators.ts | 2 + .../with-interfaces/api/pet.service.ts | 348 ++++++++++-------- .../with-interfaces/api/store.service.ts | 134 ++++--- .../with-interfaces/api/user.service.ts | 262 +++++++------ .../with-interfaces/configuration.ts | 6 +- .../with-interfaces/rxjs-operators.ts | 2 + .../npm/api/pet.service.ts | 332 +++++++++-------- .../npm/api/store.service.ts | 126 ++++--- .../npm/api/user.service.ts | 246 +++++++------ .../typescript-angular4/npm/configuration.ts | 16 +- .../typescript-angular4/npm/package.json | 2 +- .../typescript-angular4/npm/rxjs-operators.ts | 2 + 24 files changed, 1709 insertions(+), 1297 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache b/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache index 85f1fab8d9e..5b4bff0465c 100644 --- a/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache +++ b/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache @@ -44,7 +44,7 @@ export class {{classname}} { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -119,7 +119,7 @@ export class {{classname}} { .replace('${' + '{{baseName}}' + '}', String({{paramName}})){{/pathParams}}; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 {{#allParams}} {{#required}} @@ -157,12 +157,12 @@ export class {{classname}} { {{#headerParams}} {{#isListContainer}} if ({{paramName}}) { - headers.set('{{baseName}}', {{paramName}}.join(COLLECTION_FORMATS['{{collectionFormat}}'])); + headersObservable = headersObservable.do((headers: Headers) => headers.set('{{baseName}}', {{paramName}}.join(COLLECTION_FORMATS['{{collectionFormat}}']))); } {{/isListContainer}} {{^isListContainer}} if ({{paramName}} !== undefined && {{paramName}} !== null) { - headers.set('{{baseName}}', String({{paramName}})); + headersObservable = headersObservable.do((headers: Headers) => headers.set('{{baseName}}', String({{paramName}}))); } {{/isListContainer}} @@ -198,7 +198,8 @@ export class {{classname}} { {{#isApiKey}} {{#isKeyInHeader}} if (this.configuration.apiKeys["{{keyParamName}}"]) { - headers.set('{{keyParamName}}', this.configuration.apiKeys["{{keyParamName}}"]); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('{{keyParamName}}', this.configuration.apiKeys["{{keyParamName}}"])); } {{/isKeyInHeader}} @@ -212,24 +213,27 @@ export class {{classname}} { {{#isBasic}} // http basic authentication required if (this.configuration.username || this.configuration.password) { - headers.set('Authorization', 'Basic ' + btoa(this.configuration.username + ':' + this.configuration.password)); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Authorization', 'Basic ' + btoa(this.configuration.username + ':' + this.configuration.password))); } {{/isBasic}} {{#isOAuth}} // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("{{name}}", [{{#scopes}}"{{{scope}}}"{{^-last}}, {{/-last}}{{/scopes}}]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); } {{/isOAuth}} {{/authMethods}} - + {{#bodyParam}} - headers.set('Content-Type', 'application/json'); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); {{/bodyParam}} {{#formParams}} @@ -252,27 +256,31 @@ export class {{classname}} { {{/isListContainer}} {{/formParams}} - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: {{httpMethod}}, - headers: headers, + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: {{httpMethod}}, + headers: headers, {{#bodyParam}} - body: {{paramName}} == null ? '' : JSON.stringify({{paramName}}), // https://github.com/angular/angular/issues/10612 + body: {{paramName}} == null ? '' : JSON.stringify({{paramName}}), // https://github.com/angular/angular/issues/10612 {{/bodyParam}} {{#hasFormParams}} - body: formParams.toString(), + body: formParams.toString(), {{/hasFormParams}} {{#isResponseFile}} - responseType: ResponseContentType.Blob, + responseType: ResponseContentType.Blob, {{/isResponseFile}} - search: queryParameters, - withCredentials:this.configuration.withCredentials + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } {{/operation}} diff --git a/modules/swagger-codegen/src/main/resources/typescript-angular2/configuration.mustache b/modules/swagger-codegen/src/main/resources/typescript-angular2/configuration.mustache index 005c3a26df3..d7847235074 100644 --- a/modules/swagger-codegen/src/main/resources/typescript-angular2/configuration.mustache +++ b/modules/swagger-codegen/src/main/resources/typescript-angular2/configuration.mustache @@ -1,8 +1,10 @@ +import { Observable } from 'rxjs/Observable'; + export interface ConfigurationParameters { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string | (() => string); + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; } @@ -11,7 +13,7 @@ export class Configuration { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string | (() => string); + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; diff --git a/modules/swagger-codegen/src/main/resources/typescript-angular2/rxjs-operators.mustache b/modules/swagger-codegen/src/main/resources/typescript-angular2/rxjs-operators.mustache index 5659cd0694f..11c63fe75b3 100644 --- a/modules/swagger-codegen/src/main/resources/typescript-angular2/rxjs-operators.mustache +++ b/modules/swagger-codegen/src/main/resources/typescript-angular2/rxjs-operators.mustache @@ -5,7 +5,9 @@ // Statics import 'rxjs/add/observable/throw'; +import 'rxjs/add/observable/of'; // Operators import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/zip'; diff --git a/samples/client/petstore/typescript-angular2/default/api/pet.service.ts b/samples/client/petstore/typescript-angular2/default/api/pet.service.ts index 285f40c739c..06d34c4951c 100644 --- a/samples/client/petstore/typescript-angular2/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular2/default/api/pet.service.ts @@ -40,7 +40,7 @@ export class PetService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -216,7 +216,7 @@ export class PetService { const path = this.basePath + '/pet'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -232,28 +232,34 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - headers.set('Content-Type', 'application/json'); - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -267,14 +273,14 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling deletePet.'); } if (apiKey !== undefined && apiKey !== null) { - headers.set('api_key', String(apiKey)); + headersObservable = headersObservable.do((headers: Headers) => headers.set('api_key', String(apiKey))); } @@ -287,25 +293,30 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -317,7 +328,7 @@ export class PetService { const path = this.basePath + '/pet/findByStatus'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'status' is not null or undefined if (status === null || status === undefined) { @@ -337,25 +348,30 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -367,7 +383,7 @@ export class PetService { const path = this.basePath + '/pet/findByTags'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'tags' is not null or undefined if (tags === null || tags === undefined) { @@ -387,25 +403,30 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -418,7 +439,7 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -433,22 +454,27 @@ export class PetService { // authentication (api_key) required if (this.configuration.apiKeys["api_key"]) { - headers.set('api_key', this.configuration.apiKeys["api_key"]); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('api_key', this.configuration.apiKeys["api_key"])); } - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -460,7 +486,7 @@ export class PetService { const path = this.basePath + '/pet'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -476,28 +502,34 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - headers.set('Content-Type', 'application/json'); - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Put, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Put, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -512,7 +544,7 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -537,13 +569,14 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); } - + if (name !== undefined) { formParams.set('name', name); } @@ -552,19 +585,23 @@ export class PetService { formParams.set('status', status); } - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: formParams.toString(), - search: queryParameters, - withCredentials:this.configuration.withCredentials + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: formParams.toString(), + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -579,7 +616,7 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -604,13 +641,14 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); } - + if (additionalMetadata !== undefined) { formParams.set('additionalMetadata', additionalMetadata); } @@ -619,19 +657,23 @@ export class PetService { formParams.set('file', file); } - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: formParams.toString(), - search: queryParameters, - withCredentials:this.configuration.withCredentials + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: formParams.toString(), + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/default/api/store.service.ts b/samples/client/petstore/typescript-angular2/default/api/store.service.ts index d2f7ea11ff9..665db62130f 100644 --- a/samples/client/petstore/typescript-angular2/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular2/default/api/store.service.ts @@ -39,7 +39,7 @@ export class StoreService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -73,7 +73,7 @@ export class StoreService { } /** - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * @summary Delete purchase order by ID * @param orderId ID of the order that needs to be deleted */ @@ -104,7 +104,7 @@ export class StoreService { } /** - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * @summary Find purchase order by ID * @param orderId ID of pet that needs to be fetched */ @@ -146,7 +146,7 @@ export class StoreService { .replace('${' + 'orderId' + '}', String(orderId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'orderId' is not null or undefined if (orderId === null || orderId === undefined) { @@ -159,19 +159,23 @@ export class StoreService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -182,7 +186,7 @@ export class StoreService { const path = this.basePath + '/store/inventory'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // to determine the Accept header @@ -192,22 +196,27 @@ export class StoreService { // authentication (api_key) required if (this.configuration.apiKeys["api_key"]) { - headers.set('api_key', this.configuration.apiKeys["api_key"]); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('api_key', this.configuration.apiKeys["api_key"])); } - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -220,7 +229,7 @@ export class StoreService { .replace('${' + 'orderId' + '}', String(orderId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'orderId' is not null or undefined if (orderId === null || orderId === undefined) { @@ -233,19 +242,23 @@ export class StoreService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -257,7 +270,7 @@ export class StoreService { const path = this.basePath + '/store/order'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -270,22 +283,27 @@ export class StoreService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/default/api/user.service.ts b/samples/client/petstore/typescript-angular2/default/api/user.service.ts index 05738cabea6..161aaedd4e7 100644 --- a/samples/client/petstore/typescript-angular2/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular2/default/api/user.service.ts @@ -39,7 +39,7 @@ export class UserService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -211,7 +211,7 @@ export class UserService { const path = this.basePath + '/user'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -224,22 +224,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -251,7 +256,7 @@ export class UserService { const path = this.basePath + '/user/createWithArray'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -264,22 +269,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -291,7 +301,7 @@ export class UserService { const path = this.basePath + '/user/createWithList'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -304,22 +314,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -332,7 +347,7 @@ export class UserService { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -345,19 +360,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -370,7 +389,7 @@ export class UserService { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -383,19 +402,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -408,7 +431,7 @@ export class UserService { const path = this.basePath + '/user/login'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -433,19 +456,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -456,7 +483,7 @@ export class UserService { const path = this.basePath + '/user/logout'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // to determine the Accept header @@ -465,19 +492,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -491,7 +522,7 @@ export class UserService { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -508,22 +539,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Put, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Put, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/default/configuration.ts b/samples/client/petstore/typescript-angular2/default/configuration.ts index 005c3a26df3..d7847235074 100644 --- a/samples/client/petstore/typescript-angular2/default/configuration.ts +++ b/samples/client/petstore/typescript-angular2/default/configuration.ts @@ -1,8 +1,10 @@ +import { Observable } from 'rxjs/Observable'; + export interface ConfigurationParameters { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string | (() => string); + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; } @@ -11,7 +13,7 @@ export class Configuration { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string | (() => string); + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; diff --git a/samples/client/petstore/typescript-angular2/default/rxjs-operators.ts b/samples/client/petstore/typescript-angular2/default/rxjs-operators.ts index 5659cd0694f..11c63fe75b3 100644 --- a/samples/client/petstore/typescript-angular2/default/rxjs-operators.ts +++ b/samples/client/petstore/typescript-angular2/default/rxjs-operators.ts @@ -5,7 +5,9 @@ // Statics import 'rxjs/add/observable/throw'; +import 'rxjs/add/observable/of'; // Operators import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/zip'; diff --git a/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts b/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts index 0303ca70d3a..06d34c4951c 100644 --- a/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts @@ -40,7 +40,7 @@ export class PetService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -74,8 +74,8 @@ export class PetService { } /** - * Add a new pet to the store * + * @summary Add a new pet to the store * @param body Pet object that needs to be added to the store */ public addPet(body: Pet, extraHttpRequestParams?: any): Observable<{}> { @@ -90,8 +90,8 @@ export class PetService { } /** - * Deletes a pet * + * @summary Deletes a pet * @param petId Pet id to delete * @param apiKey */ @@ -107,8 +107,8 @@ export class PetService { } /** - * Finds Pets by status * Multiple status values can be provided with comma separated strings + * @summary Finds Pets by status * @param status Status values that need to be considered for filter */ public findPetsByStatus(status: Array, extraHttpRequestParams?: any): Observable> { @@ -123,8 +123,8 @@ export class PetService { } /** - * Finds Pets by tags * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. + * @summary Finds Pets by tags * @param tags Tags to filter by */ public findPetsByTags(tags: Array, extraHttpRequestParams?: any): Observable> { @@ -139,8 +139,8 @@ export class PetService { } /** - * Find pet by ID * Returns a single pet + * @summary Find pet by ID * @param petId ID of pet to return */ public getPetById(petId: number, extraHttpRequestParams?: any): Observable { @@ -155,8 +155,8 @@ export class PetService { } /** - * Update an existing pet * + * @summary Update an existing pet * @param body Pet object that needs to be added to the store */ public updatePet(body: Pet, extraHttpRequestParams?: any): Observable<{}> { @@ -171,8 +171,8 @@ export class PetService { } /** - * Updates a pet in the store with form data * + * @summary Updates a pet in the store with form data * @param petId ID of pet that needs to be updated * @param name Updated name of the pet * @param status Updated status of the pet @@ -189,8 +189,8 @@ export class PetService { } /** - * uploads an image * + * @summary uploads an image * @param petId ID of pet to update * @param additionalMetadata Additional data to pass to server * @param file file to upload @@ -216,7 +216,7 @@ export class PetService { const path = this.basePath + '/pet'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -232,28 +232,34 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - headers.set('Content-Type', 'application/json'); - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -267,14 +273,14 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling deletePet.'); } if (apiKey !== undefined && apiKey !== null) { - headers.set('api_key', String(apiKey)); + headersObservable = headersObservable.do((headers: Headers) => headers.set('api_key', String(apiKey))); } @@ -287,25 +293,30 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -317,7 +328,7 @@ export class PetService { const path = this.basePath + '/pet/findByStatus'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'status' is not null or undefined if (status === null || status === undefined) { @@ -337,25 +348,30 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -367,7 +383,7 @@ export class PetService { const path = this.basePath + '/pet/findByTags'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'tags' is not null or undefined if (tags === null || tags === undefined) { @@ -387,25 +403,30 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -418,7 +439,7 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -433,22 +454,27 @@ export class PetService { // authentication (api_key) required if (this.configuration.apiKeys["api_key"]) { - headers.set('api_key', this.configuration.apiKeys["api_key"]); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('api_key', this.configuration.apiKeys["api_key"])); } - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -460,7 +486,7 @@ export class PetService { const path = this.basePath + '/pet'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -476,28 +502,34 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - headers.set('Content-Type', 'application/json'); - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Put, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Put, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -512,7 +544,7 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -537,13 +569,14 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); } - + if (name !== undefined) { formParams.set('name', name); } @@ -552,19 +585,23 @@ export class PetService { formParams.set('status', status); } - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: formParams.toString(), - search: queryParameters, - withCredentials:this.configuration.withCredentials + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: formParams.toString(), + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -579,7 +616,7 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -604,13 +641,14 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); } - + if (additionalMetadata !== undefined) { formParams.set('additionalMetadata', additionalMetadata); } @@ -619,19 +657,23 @@ export class PetService { formParams.set('file', file); } - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: formParams.toString(), - search: queryParameters, - withCredentials:this.configuration.withCredentials + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: formParams.toString(), + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/npm/api/store.service.ts b/samples/client/petstore/typescript-angular2/npm/api/store.service.ts index 877c8df7e08..665db62130f 100644 --- a/samples/client/petstore/typescript-angular2/npm/api/store.service.ts +++ b/samples/client/petstore/typescript-angular2/npm/api/store.service.ts @@ -39,7 +39,7 @@ export class StoreService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -73,8 +73,8 @@ export class StoreService { } /** - * Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * @summary Delete purchase order by ID * @param orderId ID of the order that needs to be deleted */ public deleteOrder(orderId: string, extraHttpRequestParams?: any): Observable<{}> { @@ -89,8 +89,8 @@ export class StoreService { } /** - * Returns pet inventories by status * Returns a map of status codes to quantities + * @summary Returns pet inventories by status */ public getInventory(extraHttpRequestParams?: any): Observable<{ [key: string]: number; }> { return this.getInventoryWithHttpInfo(extraHttpRequestParams) @@ -104,8 +104,8 @@ export class StoreService { } /** - * Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * @summary Find purchase order by ID * @param orderId ID of pet that needs to be fetched */ public getOrderById(orderId: number, extraHttpRequestParams?: any): Observable { @@ -120,8 +120,8 @@ export class StoreService { } /** - * Place an order for a pet * + * @summary Place an order for a pet * @param body order placed for purchasing the pet */ public placeOrder(body: Order, extraHttpRequestParams?: any): Observable { @@ -146,7 +146,7 @@ export class StoreService { .replace('${' + 'orderId' + '}', String(orderId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'orderId' is not null or undefined if (orderId === null || orderId === undefined) { @@ -159,19 +159,23 @@ export class StoreService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -182,7 +186,7 @@ export class StoreService { const path = this.basePath + '/store/inventory'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // to determine the Accept header @@ -192,22 +196,27 @@ export class StoreService { // authentication (api_key) required if (this.configuration.apiKeys["api_key"]) { - headers.set('api_key', this.configuration.apiKeys["api_key"]); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('api_key', this.configuration.apiKeys["api_key"])); } - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -220,7 +229,7 @@ export class StoreService { .replace('${' + 'orderId' + '}', String(orderId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'orderId' is not null or undefined if (orderId === null || orderId === undefined) { @@ -233,19 +242,23 @@ export class StoreService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -257,7 +270,7 @@ export class StoreService { const path = this.basePath + '/store/order'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -270,22 +283,27 @@ export class StoreService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/npm/api/user.service.ts b/samples/client/petstore/typescript-angular2/npm/api/user.service.ts index 5a5761dcdd3..161aaedd4e7 100644 --- a/samples/client/petstore/typescript-angular2/npm/api/user.service.ts +++ b/samples/client/petstore/typescript-angular2/npm/api/user.service.ts @@ -39,7 +39,7 @@ export class UserService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -73,8 +73,8 @@ export class UserService { } /** - * Create user * This can only be done by the logged in user. + * @summary Create user * @param body Created user object */ public createUser(body: User, extraHttpRequestParams?: any): Observable<{}> { @@ -89,8 +89,8 @@ export class UserService { } /** - * Creates list of users with given input array * + * @summary Creates list of users with given input array * @param body List of user object */ public createUsersWithArrayInput(body: Array, extraHttpRequestParams?: any): Observable<{}> { @@ -105,8 +105,8 @@ export class UserService { } /** - * Creates list of users with given input array * + * @summary Creates list of users with given input array * @param body List of user object */ public createUsersWithListInput(body: Array, extraHttpRequestParams?: any): Observable<{}> { @@ -121,8 +121,8 @@ export class UserService { } /** - * Delete user * This can only be done by the logged in user. + * @summary Delete user * @param username The name that needs to be deleted */ public deleteUser(username: string, extraHttpRequestParams?: any): Observable<{}> { @@ -137,8 +137,8 @@ export class UserService { } /** - * Get user by user name * + * @summary Get user by user name * @param username The name that needs to be fetched. Use user1 for testing. */ public getUserByName(username: string, extraHttpRequestParams?: any): Observable { @@ -153,8 +153,8 @@ export class UserService { } /** - * Logs user into the system * + * @summary Logs user into the system * @param username The user name for login * @param password The password for login in clear text */ @@ -170,8 +170,8 @@ export class UserService { } /** - * Logs out current logged in user session * + * @summary Logs out current logged in user session */ public logoutUser(extraHttpRequestParams?: any): Observable<{}> { return this.logoutUserWithHttpInfo(extraHttpRequestParams) @@ -185,8 +185,8 @@ export class UserService { } /** - * Updated user * This can only be done by the logged in user. + * @summary Updated user * @param username name that need to be deleted * @param body Updated user object */ @@ -211,7 +211,7 @@ export class UserService { const path = this.basePath + '/user'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -224,22 +224,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -251,7 +256,7 @@ export class UserService { const path = this.basePath + '/user/createWithArray'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -264,22 +269,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -291,7 +301,7 @@ export class UserService { const path = this.basePath + '/user/createWithList'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -304,22 +314,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -332,7 +347,7 @@ export class UserService { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -345,19 +360,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -370,7 +389,7 @@ export class UserService { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -383,19 +402,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -408,7 +431,7 @@ export class UserService { const path = this.basePath + '/user/login'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -433,19 +456,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -456,7 +483,7 @@ export class UserService { const path = this.basePath + '/user/logout'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // to determine the Accept header @@ -465,19 +492,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -491,7 +522,7 @@ export class UserService { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -508,22 +539,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Put, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Put, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/npm/configuration.ts b/samples/client/petstore/typescript-angular2/npm/configuration.ts index 005c3a26df3..d7847235074 100644 --- a/samples/client/petstore/typescript-angular2/npm/configuration.ts +++ b/samples/client/petstore/typescript-angular2/npm/configuration.ts @@ -1,8 +1,10 @@ +import { Observable } from 'rxjs/Observable'; + export interface ConfigurationParameters { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string | (() => string); + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; } @@ -11,7 +13,7 @@ export class Configuration { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string | (() => string); + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; diff --git a/samples/client/petstore/typescript-angular2/npm/rxjs-operators.ts b/samples/client/petstore/typescript-angular2/npm/rxjs-operators.ts index 5659cd0694f..11c63fe75b3 100644 --- a/samples/client/petstore/typescript-angular2/npm/rxjs-operators.ts +++ b/samples/client/petstore/typescript-angular2/npm/rxjs-operators.ts @@ -5,7 +5,9 @@ // Statics import 'rxjs/add/observable/throw'; +import 'rxjs/add/observable/of'; // Operators import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/zip'; diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts b/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts index 5198ead65e0..cc1387370bb 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts @@ -41,7 +41,7 @@ export class PetService implements PetServiceInterface { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -75,8 +75,8 @@ export class PetService implements PetServiceInterface { } /** - * Add a new pet to the store * + * @summary Add a new pet to the store * @param body Pet object that needs to be added to the store */ public addPet(body: Pet, extraHttpRequestParams?: any): Observable<{}> { @@ -91,8 +91,8 @@ export class PetService implements PetServiceInterface { } /** - * Deletes a pet * + * @summary Deletes a pet * @param petId Pet id to delete * @param apiKey */ @@ -108,8 +108,8 @@ export class PetService implements PetServiceInterface { } /** - * Finds Pets by status * Multiple status values can be provided with comma separated strings + * @summary Finds Pets by status * @param status Status values that need to be considered for filter */ public findPetsByStatus(status: Array, extraHttpRequestParams?: any): Observable> { @@ -124,8 +124,8 @@ export class PetService implements PetServiceInterface { } /** - * Finds Pets by tags * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. + * @summary Finds Pets by tags * @param tags Tags to filter by */ public findPetsByTags(tags: Array, extraHttpRequestParams?: any): Observable> { @@ -140,8 +140,8 @@ export class PetService implements PetServiceInterface { } /** - * Find pet by ID * Returns a single pet + * @summary Find pet by ID * @param petId ID of pet to return */ public getPetById(petId: number, extraHttpRequestParams?: any): Observable { @@ -156,8 +156,8 @@ export class PetService implements PetServiceInterface { } /** - * Update an existing pet * + * @summary Update an existing pet * @param body Pet object that needs to be added to the store */ public updatePet(body: Pet, extraHttpRequestParams?: any): Observable<{}> { @@ -172,8 +172,8 @@ export class PetService implements PetServiceInterface { } /** - * Updates a pet in the store with form data * + * @summary Updates a pet in the store with form data * @param petId ID of pet that needs to be updated * @param name Updated name of the pet * @param status Updated status of the pet @@ -190,8 +190,8 @@ export class PetService implements PetServiceInterface { } /** - * uploads an image * + * @summary uploads an image * @param petId ID of pet to update * @param additionalMetadata Additional data to pass to server * @param file file to upload @@ -217,7 +217,7 @@ export class PetService implements PetServiceInterface { const path = this.basePath + '/pet'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -233,28 +233,34 @@ export class PetService implements PetServiceInterface { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - headers.set('Content-Type', 'application/json'); - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -268,14 +274,14 @@ export class PetService implements PetServiceInterface { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling deletePet.'); } if (apiKey !== undefined && apiKey !== null) { - headers.set('api_key', String(apiKey)); + headersObservable = headersObservable.do((headers: Headers) => headers.set('api_key', String(apiKey))); } @@ -288,25 +294,30 @@ export class PetService implements PetServiceInterface { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -318,7 +329,7 @@ export class PetService implements PetServiceInterface { const path = this.basePath + '/pet/findByStatus'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'status' is not null or undefined if (status === null || status === undefined) { @@ -338,25 +349,30 @@ export class PetService implements PetServiceInterface { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -368,7 +384,7 @@ export class PetService implements PetServiceInterface { const path = this.basePath + '/pet/findByTags'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'tags' is not null or undefined if (tags === null || tags === undefined) { @@ -388,25 +404,30 @@ export class PetService implements PetServiceInterface { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -419,7 +440,7 @@ export class PetService implements PetServiceInterface { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -434,22 +455,27 @@ export class PetService implements PetServiceInterface { // authentication (api_key) required if (this.configuration.apiKeys["api_key"]) { - headers.set('api_key', this.configuration.apiKeys["api_key"]); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('api_key', this.configuration.apiKeys["api_key"])); } - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -461,7 +487,7 @@ export class PetService implements PetServiceInterface { const path = this.basePath + '/pet'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -477,28 +503,34 @@ export class PetService implements PetServiceInterface { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - headers.set('Content-Type', 'application/json'); - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Put, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Put, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -513,7 +545,7 @@ export class PetService implements PetServiceInterface { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -538,13 +570,14 @@ export class PetService implements PetServiceInterface { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); } - + if (name !== undefined) { formParams.set('name', name); } @@ -553,19 +586,23 @@ export class PetService implements PetServiceInterface { formParams.set('status', status); } - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: formParams.toString(), - search: queryParameters, - withCredentials:this.configuration.withCredentials + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: formParams.toString(), + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -580,7 +617,7 @@ export class PetService implements PetServiceInterface { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -605,13 +642,14 @@ export class PetService implements PetServiceInterface { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); } - + if (additionalMetadata !== undefined) { formParams.set('additionalMetadata', additionalMetadata); } @@ -620,19 +658,23 @@ export class PetService implements PetServiceInterface { formParams.set('file', file); } - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: formParams.toString(), - search: queryParameters, - withCredentials:this.configuration.withCredentials + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: formParams.toString(), + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts b/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts index 811e2ea5574..d35558d7aa2 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts @@ -40,7 +40,7 @@ export class StoreService implements StoreServiceInterface { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -74,8 +74,8 @@ export class StoreService implements StoreServiceInterface { } /** - * Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * @summary Delete purchase order by ID * @param orderId ID of the order that needs to be deleted */ public deleteOrder(orderId: string, extraHttpRequestParams?: any): Observable<{}> { @@ -90,8 +90,8 @@ export class StoreService implements StoreServiceInterface { } /** - * Returns pet inventories by status * Returns a map of status codes to quantities + * @summary Returns pet inventories by status */ public getInventory(extraHttpRequestParams?: any): Observable<{ [key: string]: number; }> { return this.getInventoryWithHttpInfo(extraHttpRequestParams) @@ -105,8 +105,8 @@ export class StoreService implements StoreServiceInterface { } /** - * Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * @summary Find purchase order by ID * @param orderId ID of pet that needs to be fetched */ public getOrderById(orderId: number, extraHttpRequestParams?: any): Observable { @@ -121,8 +121,8 @@ export class StoreService implements StoreServiceInterface { } /** - * Place an order for a pet * + * @summary Place an order for a pet * @param body order placed for purchasing the pet */ public placeOrder(body: Order, extraHttpRequestParams?: any): Observable { @@ -147,7 +147,7 @@ export class StoreService implements StoreServiceInterface { .replace('${' + 'orderId' + '}', String(orderId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'orderId' is not null or undefined if (orderId === null || orderId === undefined) { @@ -160,19 +160,23 @@ export class StoreService implements StoreServiceInterface { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -183,7 +187,7 @@ export class StoreService implements StoreServiceInterface { const path = this.basePath + '/store/inventory'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // to determine the Accept header @@ -193,22 +197,27 @@ export class StoreService implements StoreServiceInterface { // authentication (api_key) required if (this.configuration.apiKeys["api_key"]) { - headers.set('api_key', this.configuration.apiKeys["api_key"]); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('api_key', this.configuration.apiKeys["api_key"])); } - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -221,7 +230,7 @@ export class StoreService implements StoreServiceInterface { .replace('${' + 'orderId' + '}', String(orderId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'orderId' is not null or undefined if (orderId === null || orderId === undefined) { @@ -234,19 +243,23 @@ export class StoreService implements StoreServiceInterface { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -258,7 +271,7 @@ export class StoreService implements StoreServiceInterface { const path = this.basePath + '/store/order'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -271,22 +284,27 @@ export class StoreService implements StoreServiceInterface { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts b/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts index 03ab33592f6..a3443e1452a 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts @@ -40,7 +40,7 @@ export class UserService implements UserServiceInterface { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -74,8 +74,8 @@ export class UserService implements UserServiceInterface { } /** - * Create user * This can only be done by the logged in user. + * @summary Create user * @param body Created user object */ public createUser(body: User, extraHttpRequestParams?: any): Observable<{}> { @@ -90,8 +90,8 @@ export class UserService implements UserServiceInterface { } /** - * Creates list of users with given input array * + * @summary Creates list of users with given input array * @param body List of user object */ public createUsersWithArrayInput(body: Array, extraHttpRequestParams?: any): Observable<{}> { @@ -106,8 +106,8 @@ export class UserService implements UserServiceInterface { } /** - * Creates list of users with given input array * + * @summary Creates list of users with given input array * @param body List of user object */ public createUsersWithListInput(body: Array, extraHttpRequestParams?: any): Observable<{}> { @@ -122,8 +122,8 @@ export class UserService implements UserServiceInterface { } /** - * Delete user * This can only be done by the logged in user. + * @summary Delete user * @param username The name that needs to be deleted */ public deleteUser(username: string, extraHttpRequestParams?: any): Observable<{}> { @@ -138,8 +138,8 @@ export class UserService implements UserServiceInterface { } /** - * Get user by user name * + * @summary Get user by user name * @param username The name that needs to be fetched. Use user1 for testing. */ public getUserByName(username: string, extraHttpRequestParams?: any): Observable { @@ -154,8 +154,8 @@ export class UserService implements UserServiceInterface { } /** - * Logs user into the system * + * @summary Logs user into the system * @param username The user name for login * @param password The password for login in clear text */ @@ -171,8 +171,8 @@ export class UserService implements UserServiceInterface { } /** - * Logs out current logged in user session * + * @summary Logs out current logged in user session */ public logoutUser(extraHttpRequestParams?: any): Observable<{}> { return this.logoutUserWithHttpInfo(extraHttpRequestParams) @@ -186,8 +186,8 @@ export class UserService implements UserServiceInterface { } /** - * Updated user * This can only be done by the logged in user. + * @summary Updated user * @param username name that need to be deleted * @param body Updated user object */ @@ -212,7 +212,7 @@ export class UserService implements UserServiceInterface { const path = this.basePath + '/user'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -225,22 +225,27 @@ export class UserService implements UserServiceInterface { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -252,7 +257,7 @@ export class UserService implements UserServiceInterface { const path = this.basePath + '/user/createWithArray'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -265,22 +270,27 @@ export class UserService implements UserServiceInterface { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -292,7 +302,7 @@ export class UserService implements UserServiceInterface { const path = this.basePath + '/user/createWithList'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -305,22 +315,27 @@ export class UserService implements UserServiceInterface { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -333,7 +348,7 @@ export class UserService implements UserServiceInterface { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -346,19 +361,23 @@ export class UserService implements UserServiceInterface { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -371,7 +390,7 @@ export class UserService implements UserServiceInterface { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -384,19 +403,23 @@ export class UserService implements UserServiceInterface { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -409,7 +432,7 @@ export class UserService implements UserServiceInterface { const path = this.basePath + '/user/login'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -434,19 +457,23 @@ export class UserService implements UserServiceInterface { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -457,7 +484,7 @@ export class UserService implements UserServiceInterface { const path = this.basePath + '/user/logout'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // to determine the Accept header @@ -466,19 +493,23 @@ export class UserService implements UserServiceInterface { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -492,7 +523,7 @@ export class UserService implements UserServiceInterface { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -509,22 +540,27 @@ export class UserService implements UserServiceInterface { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Put, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Put, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/configuration.ts b/samples/client/petstore/typescript-angular2/with-interfaces/configuration.ts index 005c3a26df3..d7847235074 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/configuration.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/configuration.ts @@ -1,8 +1,10 @@ +import { Observable } from 'rxjs/Observable'; + export interface ConfigurationParameters { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string | (() => string); + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; } @@ -11,7 +13,7 @@ export class Configuration { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string | (() => string); + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/rxjs-operators.ts b/samples/client/petstore/typescript-angular2/with-interfaces/rxjs-operators.ts index 5659cd0694f..11c63fe75b3 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/rxjs-operators.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/rxjs-operators.ts @@ -5,7 +5,9 @@ // Statics import 'rxjs/add/observable/throw'; +import 'rxjs/add/observable/of'; // Operators import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/zip'; diff --git a/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts b/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts index 285f40c739c..06d34c4951c 100644 --- a/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts @@ -40,7 +40,7 @@ export class PetService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -216,7 +216,7 @@ export class PetService { const path = this.basePath + '/pet'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -232,28 +232,34 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - headers.set('Content-Type', 'application/json'); - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -267,14 +273,14 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling deletePet.'); } if (apiKey !== undefined && apiKey !== null) { - headers.set('api_key', String(apiKey)); + headersObservable = headersObservable.do((headers: Headers) => headers.set('api_key', String(apiKey))); } @@ -287,25 +293,30 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -317,7 +328,7 @@ export class PetService { const path = this.basePath + '/pet/findByStatus'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'status' is not null or undefined if (status === null || status === undefined) { @@ -337,25 +348,30 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -367,7 +383,7 @@ export class PetService { const path = this.basePath + '/pet/findByTags'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'tags' is not null or undefined if (tags === null || tags === undefined) { @@ -387,25 +403,30 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -418,7 +439,7 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -433,22 +454,27 @@ export class PetService { // authentication (api_key) required if (this.configuration.apiKeys["api_key"]) { - headers.set('api_key', this.configuration.apiKeys["api_key"]); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('api_key', this.configuration.apiKeys["api_key"])); } - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -460,7 +486,7 @@ export class PetService { const path = this.basePath + '/pet'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -476,28 +502,34 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); - } - - - headers.set('Content-Type', 'application/json'); - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Put, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); + } + + + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Put, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -512,7 +544,7 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -537,13 +569,14 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); } - + if (name !== undefined) { formParams.set('name', name); } @@ -552,19 +585,23 @@ export class PetService { formParams.set('status', status); } - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: formParams.toString(), - search: queryParameters, - withCredentials:this.configuration.withCredentials + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: formParams.toString(), + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -579,7 +616,7 @@ export class PetService { .replace('${' + 'petId' + '}', String(petId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'petId' is not null or undefined if (petId === null || petId === undefined) { @@ -604,13 +641,14 @@ export class PetService { // authentication (petstore_auth) required // oauth required if (this.configuration.accessToken) { - let accessToken = typeof this.configuration.accessToken === 'function' - ? this.configuration.accessToken() - : this.configuration.accessToken; - headers.set('Authorization', 'Bearer ' + accessToken); + let accessTokenObservable = typeof this.configuration.accessToken === 'function' + ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) + : Observable.of(this.configuration.accessToken); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => + headers.set('Authorization', 'Bearer ' + accessToken)); } - + if (additionalMetadata !== undefined) { formParams.set('additionalMetadata', additionalMetadata); } @@ -619,19 +657,23 @@ export class PetService { formParams.set('file', file); } - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: formParams.toString(), - search: queryParameters, - withCredentials:this.configuration.withCredentials + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: formParams.toString(), + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular4/npm/api/store.service.ts b/samples/client/petstore/typescript-angular4/npm/api/store.service.ts index d2f7ea11ff9..665db62130f 100644 --- a/samples/client/petstore/typescript-angular4/npm/api/store.service.ts +++ b/samples/client/petstore/typescript-angular4/npm/api/store.service.ts @@ -39,7 +39,7 @@ export class StoreService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -73,7 +73,7 @@ export class StoreService { } /** - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * @summary Delete purchase order by ID * @param orderId ID of the order that needs to be deleted */ @@ -104,7 +104,7 @@ export class StoreService { } /** - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * @summary Find purchase order by ID * @param orderId ID of pet that needs to be fetched */ @@ -146,7 +146,7 @@ export class StoreService { .replace('${' + 'orderId' + '}', String(orderId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'orderId' is not null or undefined if (orderId === null || orderId === undefined) { @@ -159,19 +159,23 @@ export class StoreService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -182,7 +186,7 @@ export class StoreService { const path = this.basePath + '/store/inventory'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // to determine the Accept header @@ -192,22 +196,27 @@ export class StoreService { // authentication (api_key) required if (this.configuration.apiKeys["api_key"]) { - headers.set('api_key', this.configuration.apiKeys["api_key"]); + headersObservable = headersObservable.do((headers: Headers) => + headers.set('api_key', this.configuration.apiKeys["api_key"])); } - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -220,7 +229,7 @@ export class StoreService { .replace('${' + 'orderId' + '}', String(orderId)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'orderId' is not null or undefined if (orderId === null || orderId === undefined) { @@ -233,19 +242,23 @@ export class StoreService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -257,7 +270,7 @@ export class StoreService { const path = this.basePath + '/store/order'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -270,22 +283,27 @@ export class StoreService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular4/npm/api/user.service.ts b/samples/client/petstore/typescript-angular4/npm/api/user.service.ts index 05738cabea6..161aaedd4e7 100644 --- a/samples/client/petstore/typescript-angular4/npm/api/user.service.ts +++ b/samples/client/petstore/typescript-angular4/npm/api/user.service.ts @@ -39,7 +39,7 @@ export class UserService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } @@ -211,7 +211,7 @@ export class UserService { const path = this.basePath + '/user'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -224,22 +224,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -251,7 +256,7 @@ export class UserService { const path = this.basePath + '/user/createWithArray'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -264,22 +269,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -291,7 +301,7 @@ export class UserService { const path = this.basePath + '/user/createWithList'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { @@ -304,22 +314,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Post, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Post, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -332,7 +347,7 @@ export class UserService { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -345,19 +360,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Delete, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Delete, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -370,7 +389,7 @@ export class UserService { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -383,19 +402,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -408,7 +431,7 @@ export class UserService { const path = this.basePath + '/user/login'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -433,19 +456,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -456,7 +483,7 @@ export class UserService { const path = this.basePath + '/user/logout'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // to determine the Accept header @@ -465,19 +492,23 @@ export class UserService { 'application/json' ]; - - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Get, - headers: headers, - search: queryParameters, - withCredentials:this.configuration.withCredentials + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Get, + headers: headers, + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -491,7 +522,7 @@ export class UserService { .replace('${' + 'username' + '}', String(username)); let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // verify required parameter 'username' is not null or undefined if (username === null || username === undefined) { @@ -508,22 +539,27 @@ export class UserService { 'application/json' ]; - - headers.set('Content-Type', 'application/json'); - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Put, - headers: headers, - body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 - search: queryParameters, - withCredentials:this.configuration.withCredentials + headersObservable = headersObservable.do((headers: Headers) => + headers.set('Content-Type', 'application/json')); + + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Put, + headers: headers, + body: body == null ? '' : JSON.stringify(body), // https://github.com/angular/angular/issues/10612 + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular4/npm/configuration.ts b/samples/client/petstore/typescript-angular4/npm/configuration.ts index 0eed43fd575..d7847235074 100644 --- a/samples/client/petstore/typescript-angular4/npm/configuration.ts +++ b/samples/client/petstore/typescript-angular4/npm/configuration.ts @@ -1,19 +1,21 @@ +import { Observable } from 'rxjs/Observable'; + export interface ConfigurationParameters { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string; + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; } export class Configuration { - apiKeys: {[ key: string ]: string}; - username: string; - password: string; - accessToken: string | (() => string); - basePath: string; - withCredentials: boolean; + apiKeys?: {[ key: string ]: string}; + username?: string; + password?: string; + accessToken?: string | ((name: string, scopes?: string[]) => Observable); + basePath?: string; + withCredentials?: boolean; constructor(configurationParameters: ConfigurationParameters = {}) { this.apiKeys = configurationParameters.apiKeys; diff --git a/samples/client/petstore/typescript-angular4/npm/package.json b/samples/client/petstore/typescript-angular4/npm/package.json index 2b62278a434..a15c011fe29 100644 --- a/samples/client/petstore/typescript-angular4/npm/package.json +++ b/samples/client/petstore/typescript-angular4/npm/package.json @@ -35,6 +35,6 @@ "typescript": "^2.1.5" }, "publishConfig": { - "registry": "https://skimdb.npmjs.com/registry" + "registry":"https://skimdb.npmjs.com/registry" } } diff --git a/samples/client/petstore/typescript-angular4/npm/rxjs-operators.ts b/samples/client/petstore/typescript-angular4/npm/rxjs-operators.ts index 5659cd0694f..11c63fe75b3 100644 --- a/samples/client/petstore/typescript-angular4/npm/rxjs-operators.ts +++ b/samples/client/petstore/typescript-angular4/npm/rxjs-operators.ts @@ -5,7 +5,9 @@ // Statics import 'rxjs/add/observable/throw'; +import 'rxjs/add/observable/of'; // Operators import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/zip'; From 326aeab60b114307c1e43a0df836390463b73c20 Mon Sep 17 00:00:00 2001 From: Alexander Rashed Date: Wed, 13 Sep 2017 14:42:57 +0200 Subject: [PATCH 2/5] [typescript-angular2] Allow lazy oauth token refresh (#6486) Fix invalid auth header zip function (needs to return the resulting header for the next observable). --- .../typescript-angular2/api.service.mustache | 8 ++-- .../default/api/pet.service.ts | 44 ++++++++++++------- .../default/api/store.service.ts | 2 +- .../default/api/user.service.ts | 2 +- .../npm/api/pet.service.ts | 44 ++++++++++++------- .../npm/api/store.service.ts | 2 +- .../npm/api/user.service.ts | 2 +- .../with-interfaces/api/pet.service.ts | 44 ++++++++++++------- .../with-interfaces/api/store.service.ts | 2 +- .../with-interfaces/api/user.service.ts | 2 +- .../npm/api/pet.service.ts | 44 ++++++++++++------- .../npm/api/store.service.ts | 2 +- .../npm/api/user.service.ts | 2 +- 13 files changed, 129 insertions(+), 71 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache b/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache index 5b4bff0465c..48dca124a6d 100644 --- a/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache +++ b/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache @@ -49,7 +49,7 @@ export class {{classname}} { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object @@ -224,8 +224,10 @@ export class {{classname}} { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("{{name}}", [{{#scopes}}"{{{scope}}}"{{^-last}}, {{/-last}}{{/scopes}}]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } {{/isOAuth}} diff --git a/samples/client/petstore/typescript-angular2/default/api/pet.service.ts b/samples/client/petstore/typescript-angular2/default/api/pet.service.ts index 06d34c4951c..8b97c3eeace 100644 --- a/samples/client/petstore/typescript-angular2/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular2/default/api/pet.service.ts @@ -45,7 +45,7 @@ export class PetService { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object @@ -235,8 +235,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -296,8 +298,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -351,8 +355,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -406,8 +412,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -505,8 +513,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -572,8 +582,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -644,8 +656,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } diff --git a/samples/client/petstore/typescript-angular2/default/api/store.service.ts b/samples/client/petstore/typescript-angular2/default/api/store.service.ts index 665db62130f..cb6d9ec4e84 100644 --- a/samples/client/petstore/typescript-angular2/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular2/default/api/store.service.ts @@ -44,7 +44,7 @@ export class StoreService { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object diff --git a/samples/client/petstore/typescript-angular2/default/api/user.service.ts b/samples/client/petstore/typescript-angular2/default/api/user.service.ts index 161aaedd4e7..2bd1137cfce 100644 --- a/samples/client/petstore/typescript-angular2/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular2/default/api/user.service.ts @@ -44,7 +44,7 @@ export class UserService { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object diff --git a/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts b/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts index 06d34c4951c..8b97c3eeace 100644 --- a/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts @@ -45,7 +45,7 @@ export class PetService { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object @@ -235,8 +235,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -296,8 +298,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -351,8 +355,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -406,8 +412,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -505,8 +513,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -572,8 +582,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -644,8 +656,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } diff --git a/samples/client/petstore/typescript-angular2/npm/api/store.service.ts b/samples/client/petstore/typescript-angular2/npm/api/store.service.ts index 665db62130f..cb6d9ec4e84 100644 --- a/samples/client/petstore/typescript-angular2/npm/api/store.service.ts +++ b/samples/client/petstore/typescript-angular2/npm/api/store.service.ts @@ -44,7 +44,7 @@ export class StoreService { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object diff --git a/samples/client/petstore/typescript-angular2/npm/api/user.service.ts b/samples/client/petstore/typescript-angular2/npm/api/user.service.ts index 161aaedd4e7..2bd1137cfce 100644 --- a/samples/client/petstore/typescript-angular2/npm/api/user.service.ts +++ b/samples/client/petstore/typescript-angular2/npm/api/user.service.ts @@ -44,7 +44,7 @@ export class UserService { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts b/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts index cc1387370bb..301b1a9cbda 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts @@ -46,7 +46,7 @@ export class PetService implements PetServiceInterface { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object @@ -236,8 +236,10 @@ export class PetService implements PetServiceInterface { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -297,8 +299,10 @@ export class PetService implements PetServiceInterface { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -352,8 +356,10 @@ export class PetService implements PetServiceInterface { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -407,8 +413,10 @@ export class PetService implements PetServiceInterface { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -506,8 +514,10 @@ export class PetService implements PetServiceInterface { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -573,8 +583,10 @@ export class PetService implements PetServiceInterface { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -645,8 +657,10 @@ export class PetService implements PetServiceInterface { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts b/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts index d35558d7aa2..96faff5d718 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts @@ -45,7 +45,7 @@ export class StoreService implements StoreServiceInterface { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts b/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts index a3443e1452a..11402abeac0 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts @@ -45,7 +45,7 @@ export class UserService implements UserServiceInterface { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object diff --git a/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts b/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts index 06d34c4951c..8b97c3eeace 100644 --- a/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts @@ -45,7 +45,7 @@ export class PetService { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object @@ -235,8 +235,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -296,8 +298,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -351,8 +355,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -406,8 +412,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -505,8 +513,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -572,8 +582,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } @@ -644,8 +656,10 @@ export class PetService { let accessTokenObservable = typeof this.configuration.accessToken === 'function' ? this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]) : Observable.of(this.configuration.accessToken); - headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => - headers.set('Authorization', 'Bearer ' + accessToken)); + headersObservable = headersObservable.zip(accessTokenObservable, (headers: Headers, accessToken: string) => { + headers.set('Authorization', 'Bearer ' + accessToken); + return headers; + }); } diff --git a/samples/client/petstore/typescript-angular4/npm/api/store.service.ts b/samples/client/petstore/typescript-angular4/npm/api/store.service.ts index 665db62130f..cb6d9ec4e84 100644 --- a/samples/client/petstore/typescript-angular4/npm/api/store.service.ts +++ b/samples/client/petstore/typescript-angular4/npm/api/store.service.ts @@ -44,7 +44,7 @@ export class StoreService { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object diff --git a/samples/client/petstore/typescript-angular4/npm/api/user.service.ts b/samples/client/petstore/typescript-angular4/npm/api/user.service.ts index 161aaedd4e7..2bd1137cfce 100644 --- a/samples/client/petstore/typescript-angular4/npm/api/user.service.ts +++ b/samples/client/petstore/typescript-angular4/npm/api/user.service.ts @@ -44,7 +44,7 @@ export class UserService { } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object From 77d4a4edd0d8ada648d299c069a76430d14e29cc Mon Sep 17 00:00:00 2001 From: Alexander Rashed Date: Wed, 13 Sep 2017 15:45:20 +0200 Subject: [PATCH 3/5] [typescript-angular2] Allow lazy oauth token refresh (#6486) - Add missing rxjs operators - Changed project name in package.json (seems like it's been overlooked after copy/pasting ng2 project) - Update ts-ng2 & ts-ng4 petstore code (seems this hasn't been done the last time) --- bin/windows/typescript-angular4-with-npm.bat | 2 +- .../typescript-angular2/api.service.mustache | 2 +- .../rxjs-operators.mustache | 2 + .../default/api/pet.service.ts | 16 +-- .../default/api/store.service.ts | 8 +- .../default/api/user.service.ts | 16 +-- .../default/rxjs-operators.ts | 2 + .../npm/api/pet.service.ts | 16 +-- .../npm/api/store.service.ts | 8 +- .../npm/api/user.service.ts | 16 +-- .../typescript-angular2/npm/rxjs-operators.ts | 2 + .../with-interfaces/README.md | 98 +++++++++++++++++++ .../with-interfaces/api/pet.service.ts | 16 +-- .../with-interfaces/api/store.service.ts | 8 +- .../with-interfaces/api/user.service.ts | 16 +-- .../with-interfaces/package.json | 40 ++++++++ .../with-interfaces/rxjs-operators.ts | 2 + .../with-interfaces/tsconfig.json | 25 +++++ .../with-interfaces/typings.json | 5 + .../npm/api/pet.service.ts | 16 +-- .../npm/api/store.service.ts | 8 +- .../npm/api/user.service.ts | 16 +-- .../typescript-angular4/npm/package-lock.json | 2 +- .../typescript-angular4/npm/package.json | 2 +- .../typescript-angular4/npm/rxjs-operators.ts | 2 + 25 files changed, 262 insertions(+), 84 deletions(-) create mode 100644 samples/client/petstore/typescript-angular2/with-interfaces/README.md create mode 100644 samples/client/petstore/typescript-angular2/with-interfaces/package.json create mode 100644 samples/client/petstore/typescript-angular2/with-interfaces/tsconfig.json create mode 100644 samples/client/petstore/typescript-angular2/with-interfaces/typings.json diff --git a/bin/windows/typescript-angular4-with-npm.bat b/bin/windows/typescript-angular4-with-npm.bat index f91d22dca41..6fc694b7fea 100644 --- a/bin/windows/typescript-angular4-with-npm.bat +++ b/bin/windows/typescript-angular4-with-npm.bat @@ -5,6 +5,6 @@ If Not Exist %executable% ( ) REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -l typescript-angular -o samples\client\petstore\typescript-angular2\npm --additional-properties ngVersion=4 +set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -l typescript-angular -o samples\client\petstore\typescript-angular4\npm --additional-properties ngVersion=4 java %JAVA_OPTS% -jar %executable% %ags% diff --git a/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache b/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache index 48dca124a6d..969ab38f6d3 100644 --- a/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache +++ b/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache @@ -282,7 +282,7 @@ export class {{classname}} { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } {{/operation}} diff --git a/modules/swagger-codegen/src/main/resources/typescript-angular2/rxjs-operators.mustache b/modules/swagger-codegen/src/main/resources/typescript-angular2/rxjs-operators.mustache index 11c63fe75b3..f81b512d8f0 100644 --- a/modules/swagger-codegen/src/main/resources/typescript-angular2/rxjs-operators.mustache +++ b/modules/swagger-codegen/src/main/resources/typescript-angular2/rxjs-operators.mustache @@ -11,3 +11,5 @@ import 'rxjs/add/observable/of'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/zip'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/mergeMap'; diff --git a/samples/client/petstore/typescript-angular2/default/api/pet.service.ts b/samples/client/petstore/typescript-angular2/default/api/pet.service.ts index 8b97c3eeace..e51e8d8168f 100644 --- a/samples/client/petstore/typescript-angular2/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular2/default/api/pet.service.ts @@ -261,7 +261,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -320,7 +320,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -377,7 +377,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -434,7 +434,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -482,7 +482,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -539,7 +539,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -613,7 +613,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -687,7 +687,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/default/api/store.service.ts b/samples/client/petstore/typescript-angular2/default/api/store.service.ts index cb6d9ec4e84..e68fc01ab2e 100644 --- a/samples/client/petstore/typescript-angular2/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular2/default/api/store.service.ts @@ -175,7 +175,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -216,7 +216,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -258,7 +258,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -303,7 +303,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/default/api/user.service.ts b/samples/client/petstore/typescript-angular2/default/api/user.service.ts index 2bd1137cfce..2bd50f47553 100644 --- a/samples/client/petstore/typescript-angular2/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular2/default/api/user.service.ts @@ -244,7 +244,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -289,7 +289,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -334,7 +334,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -376,7 +376,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -418,7 +418,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -472,7 +472,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -508,7 +508,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -559,7 +559,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/default/rxjs-operators.ts b/samples/client/petstore/typescript-angular2/default/rxjs-operators.ts index 11c63fe75b3..f81b512d8f0 100644 --- a/samples/client/petstore/typescript-angular2/default/rxjs-operators.ts +++ b/samples/client/petstore/typescript-angular2/default/rxjs-operators.ts @@ -11,3 +11,5 @@ import 'rxjs/add/observable/of'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/zip'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/mergeMap'; diff --git a/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts b/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts index 8b97c3eeace..e51e8d8168f 100644 --- a/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular2/npm/api/pet.service.ts @@ -261,7 +261,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -320,7 +320,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -377,7 +377,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -434,7 +434,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -482,7 +482,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -539,7 +539,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -613,7 +613,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -687,7 +687,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/npm/api/store.service.ts b/samples/client/petstore/typescript-angular2/npm/api/store.service.ts index cb6d9ec4e84..e68fc01ab2e 100644 --- a/samples/client/petstore/typescript-angular2/npm/api/store.service.ts +++ b/samples/client/petstore/typescript-angular2/npm/api/store.service.ts @@ -175,7 +175,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -216,7 +216,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -258,7 +258,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -303,7 +303,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/npm/api/user.service.ts b/samples/client/petstore/typescript-angular2/npm/api/user.service.ts index 2bd1137cfce..2bd50f47553 100644 --- a/samples/client/petstore/typescript-angular2/npm/api/user.service.ts +++ b/samples/client/petstore/typescript-angular2/npm/api/user.service.ts @@ -244,7 +244,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -289,7 +289,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -334,7 +334,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -376,7 +376,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -418,7 +418,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -472,7 +472,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -508,7 +508,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -559,7 +559,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/npm/rxjs-operators.ts b/samples/client/petstore/typescript-angular2/npm/rxjs-operators.ts index 11c63fe75b3..f81b512d8f0 100644 --- a/samples/client/petstore/typescript-angular2/npm/rxjs-operators.ts +++ b/samples/client/petstore/typescript-angular2/npm/rxjs-operators.ts @@ -11,3 +11,5 @@ import 'rxjs/add/observable/of'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/zip'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/mergeMap'; diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/README.md b/samples/client/petstore/typescript-angular2/with-interfaces/README.md new file mode 100644 index 00000000000..038fd51491c --- /dev/null +++ b/samples/client/petstore/typescript-angular2/with-interfaces/README.md @@ -0,0 +1,98 @@ +## @swagger/angular2-typescript-petstore@0.0.1 + +### Building + +To build an compile the typescript sources to javascript use: +``` +npm install +npm run build +``` + +### publishing + +First build the package than run ```npm publish``` + +### consuming + +navigate to the folder of your consuming project and run one of next commando's. + +_published:_ + +``` +npm install @swagger/angular2-typescript-petstore@0.0.1 --save +``` + +_unPublished (not recommended):_ + +``` +npm install PATH_TO_GENERATED_PACKAGE --save +``` + +_using `npm link`:_ + +In PATH_TO_GENERATED_PACKAGE: +``` +npm link +``` + +In your project: +``` +npm link @swagger/angular2-typescript-petstore@0.0.1 +``` + +In your angular2 project: + +``` +import { DefaultApi } from '@swagger/angular2-typescript-petstore/api/api'; +@NgModule({ + imports: [], + declarations: [], + exports: [], + providers: [AppModule] +}) +export class CoreModule {} +``` +``` +import { DefaultApi } from '@swagger/angular2-typescript-petstore/api/api'; + +export class AppComponent { + constructor(private apiGateway: DefaultApi) { } +} +``` + +### Set service base path +If different than the generated base path, during app bootstrap, you can provide the base path to your service. + +``` +import { BASE_PATH } from './path-to-swagger-gen-service/index'; + +bootstrap(AppComponent, [ + { provide: BASE_PATH, useValue: 'https://your-web-service.com' }, +]); +``` + +#### Using @angular/cli +First extend your `src/environments/*.ts` files by adding the corresponding base path: + +``` +export const environment = { + production: false, + API_BASE_PATH: 'http://127.0.0.1:8080' +}; +``` + +In the src/app/app.module.ts: +``` +import { BASE_PATH } from '@swagger/angular2-typescript-petstore'; +import { environment } from '../environments/environment'; + +@NgModule({ + declarations: [ + AppComponent, + ], + imports: [ ], + providers: [{ provide: BASE_PATH, useValue: useValue: environment.API_BASE_PATH }], + bootstrap: [AppComponent] +}) +export class AppModule { } +``` \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts b/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts index 301b1a9cbda..4034824932d 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/api/pet.service.ts @@ -262,7 +262,7 @@ export class PetService implements PetServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -321,7 +321,7 @@ export class PetService implements PetServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -378,7 +378,7 @@ export class PetService implements PetServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -435,7 +435,7 @@ export class PetService implements PetServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -483,7 +483,7 @@ export class PetService implements PetServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -540,7 +540,7 @@ export class PetService implements PetServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -614,7 +614,7 @@ export class PetService implements PetServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -688,7 +688,7 @@ export class PetService implements PetServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts b/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts index 96faff5d718..728ae9ff3da 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/api/store.service.ts @@ -176,7 +176,7 @@ export class StoreService implements StoreServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -217,7 +217,7 @@ export class StoreService implements StoreServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -259,7 +259,7 @@ export class StoreService implements StoreServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -304,7 +304,7 @@ export class StoreService implements StoreServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts b/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts index 11402abeac0..055d607613e 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/api/user.service.ts @@ -245,7 +245,7 @@ export class UserService implements UserServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -290,7 +290,7 @@ export class UserService implements UserServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -335,7 +335,7 @@ export class UserService implements UserServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -377,7 +377,7 @@ export class UserService implements UserServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -419,7 +419,7 @@ export class UserService implements UserServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -473,7 +473,7 @@ export class UserService implements UserServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -509,7 +509,7 @@ export class UserService implements UserServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -560,7 +560,7 @@ export class UserService implements UserServiceInterface { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/package.json b/samples/client/petstore/typescript-angular2/with-interfaces/package.json new file mode 100644 index 00000000000..d2e8c69bf95 --- /dev/null +++ b/samples/client/petstore/typescript-angular2/with-interfaces/package.json @@ -0,0 +1,40 @@ +{ + "name": "@swagger/angular2-typescript-petstore", + "version": "0.0.1", + "description": "swagger client for @swagger/angular2-typescript-petstore", + "author": "Swagger Codegen Contributors", + "keywords": [ + "swagger-client" + ], + "license": "Unlicense", + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "scripts": { + "build": "tsc --outDir dist/", + "postinstall": "npm run build" + }, + "peerDependencies": { + "@angular/core": "^2.2.2", + "@angular/http": "^2.2.2", + "@angular/common": "^2.2.2", + "@angular/compiler": "^2.2.2", + "core-js": "^2.4.0", + "reflect-metadata": "^0.1.3", + "rxjs": "^5.4.0", + "zone.js": "^0.7.6" + }, + "devDependencies": { + "@angular/core": "^2.2.2", + "@angular/http": "^2.2.2", + "@angular/common": "^2.2.2", + "@angular/compiler": "^2.2.2", + "@angular/platform-browser": "^2.2.2", + "reflect-metadata": "^0.1.3", + "rxjs": "^5.4.0", + "zone.js": "^0.7.6", + "typescript": "^2.1.5" + }, + "publishConfig": { + "registry":"https://skimdb.npmjs.com/registry" + } +} diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/rxjs-operators.ts b/samples/client/petstore/typescript-angular2/with-interfaces/rxjs-operators.ts index 11c63fe75b3..f81b512d8f0 100644 --- a/samples/client/petstore/typescript-angular2/with-interfaces/rxjs-operators.ts +++ b/samples/client/petstore/typescript-angular2/with-interfaces/rxjs-operators.ts @@ -11,3 +11,5 @@ import 'rxjs/add/observable/of'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/zip'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/mergeMap'; diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/tsconfig.json b/samples/client/petstore/typescript-angular2/with-interfaces/tsconfig.json new file mode 100644 index 00000000000..a6e9096bbf7 --- /dev/null +++ b/samples/client/petstore/typescript-angular2/with-interfaces/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "noImplicitAny": false, + "suppressImplicitAnyIndexErrors": true, + "target": "es5", + "module": "es6", + "moduleResolution": "node", + "removeComments": true, + "sourceMap": true, + "outDir": "./dist", + "noLib": false, + "declaration": true, + "lib": [ "es6", "dom" ] + }, + "exclude": [ + "node_modules", + "dist" + ], + "filesGlob": [ + "./model/*.ts", + "./api/*.ts" + ] +} diff --git a/samples/client/petstore/typescript-angular2/with-interfaces/typings.json b/samples/client/petstore/typescript-angular2/with-interfaces/typings.json new file mode 100644 index 00000000000..507c40e5cbe --- /dev/null +++ b/samples/client/petstore/typescript-angular2/with-interfaces/typings.json @@ -0,0 +1,5 @@ +{ + "globalDependencies": { + "core-js": "registry:dt/core-js#0.0.0+20160725163759" + } +} diff --git a/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts b/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts index 8b97c3eeace..e51e8d8168f 100644 --- a/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular4/npm/api/pet.service.ts @@ -261,7 +261,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -320,7 +320,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -377,7 +377,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -434,7 +434,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -482,7 +482,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -539,7 +539,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -613,7 +613,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -687,7 +687,7 @@ export class PetService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular4/npm/api/store.service.ts b/samples/client/petstore/typescript-angular4/npm/api/store.service.ts index cb6d9ec4e84..e68fc01ab2e 100644 --- a/samples/client/petstore/typescript-angular4/npm/api/store.service.ts +++ b/samples/client/petstore/typescript-angular4/npm/api/store.service.ts @@ -175,7 +175,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -216,7 +216,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -258,7 +258,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -303,7 +303,7 @@ export class StoreService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular4/npm/api/user.service.ts b/samples/client/petstore/typescript-angular4/npm/api/user.service.ts index 2bd1137cfce..2bd50f47553 100644 --- a/samples/client/petstore/typescript-angular4/npm/api/user.service.ts +++ b/samples/client/petstore/typescript-angular4/npm/api/user.service.ts @@ -244,7 +244,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -289,7 +289,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -334,7 +334,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -376,7 +376,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -418,7 +418,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -472,7 +472,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -508,7 +508,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } /** @@ -559,7 +559,7 @@ export class UserService { return requestOptions; }); - return requestOptionsObservable.flatMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore/typescript-angular4/npm/package-lock.json b/samples/client/petstore/typescript-angular4/npm/package-lock.json index 270b88ce43f..a0f1508cfb2 100644 --- a/samples/client/petstore/typescript-angular4/npm/package-lock.json +++ b/samples/client/petstore/typescript-angular4/npm/package-lock.json @@ -1,5 +1,5 @@ { - "name": "@swagger/angular2-typescript-petstore", + "name": "@swagger/angular4-typescript-petstore", "version": "0.0.1", "lockfileVersion": 1, "dependencies": { diff --git a/samples/client/petstore/typescript-angular4/npm/package.json b/samples/client/petstore/typescript-angular4/npm/package.json index a15c011fe29..a916124d2e4 100644 --- a/samples/client/petstore/typescript-angular4/npm/package.json +++ b/samples/client/petstore/typescript-angular4/npm/package.json @@ -1,5 +1,5 @@ { - "name": "@swagger/angular2-typescript-petstore", + "name": "@swagger/angular4-typescript-petstore", "version": "0.0.1", "description": "swagger client for @swagger/angular2-typescript-petstore", "author": "Swagger Codegen Contributors", diff --git a/samples/client/petstore/typescript-angular4/npm/rxjs-operators.ts b/samples/client/petstore/typescript-angular4/npm/rxjs-operators.ts index 11c63fe75b3..f81b512d8f0 100644 --- a/samples/client/petstore/typescript-angular4/npm/rxjs-operators.ts +++ b/samples/client/petstore/typescript-angular4/npm/rxjs-operators.ts @@ -11,3 +11,5 @@ import 'rxjs/add/observable/of'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/zip'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/mergeMap'; From 4789f39fc8eec246d145b9c868cc685a62c22f7f Mon Sep 17 00:00:00 2001 From: Alexander Rashed Date: Wed, 13 Sep 2017 16:00:06 +0200 Subject: [PATCH 4/5] [typescript-angular2] Allow lazy oauth token refresh (#6486) - Generate ts-ng2 security client (also contains some previous changes) --- .../.swagger-codegen/VERSION | 2 +- .../typescript-angular2/api.module.ts | 4 +- .../typescript-angular2/api/fake.service.ts | 45 ++++++++++--------- .../typescript-angular2/configuration.ts | 16 ++++--- .../typescript-angular2/rxjs-operators.ts | 4 ++ .../typescript-angular2/variables.ts | 4 +- 6 files changed, 43 insertions(+), 32 deletions(-) diff --git a/samples/client/petstore-security-test/typescript-angular2/.swagger-codegen/VERSION b/samples/client/petstore-security-test/typescript-angular2/.swagger-codegen/VERSION index 7fea99011a6..f9f7450d135 100644 --- a/samples/client/petstore-security-test/typescript-angular2/.swagger-codegen/VERSION +++ b/samples/client/petstore-security-test/typescript-angular2/.swagger-codegen/VERSION @@ -1 +1 @@ -2.2.3-SNAPSHOT \ No newline at end of file +2.3.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore-security-test/typescript-angular2/api.module.ts b/samples/client/petstore-security-test/typescript-angular2/api.module.ts index 4ed0510d0d1..c3bde487bc4 100644 --- a/samples/client/petstore-security-test/typescript-angular2/api.module.ts +++ b/samples/client/petstore-security-test/typescript-angular2/api.module.ts @@ -12,10 +12,10 @@ import { FakeService } from './api/fake.service'; providers: [ FakeService ] }) export class ApiModule { - public static forConfig(configuration: Configuration): ModuleWithProviders { + public static forConfig(configurationFactory: () => Configuration): ModuleWithProviders { return { ngModule: ApiModule, - providers: [ {provide: Configuration, useValue: configuration}] + providers: [ {provide: Configuration, useFactory: configurationFactory}] } } } diff --git a/samples/client/petstore-security-test/typescript-angular2/api/fake.service.ts b/samples/client/petstore-security-test/typescript-angular2/api/fake.service.ts index ec12093e92c..6f5ac0cd33d 100644 --- a/samples/client/petstore-security-test/typescript-angular2/api/fake.service.ts +++ b/samples/client/petstore-security-test/typescript-angular2/api/fake.service.ts @@ -10,6 +10,8 @@ * Do not edit the class manually. */ +/* tslint:disable:no-unused-variable member-ordering */ + import { Inject, Injectable, Optional } from '@angular/core'; import { Http, Headers, URLSearchParams } from '@angular/http'; import { RequestMethod, RequestOptions, RequestOptionsArgs } from '@angular/http'; @@ -22,11 +24,10 @@ import '../rxjs-operators'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; -/* tslint:disable:no-unused-variable member-ordering */ - @Injectable() export class FakeService { + protected basePath = 'https://petstore.swagger.io *_/ ' \" =end -- \\r\\n \\n \\r/v2 *_/ ' \" =end -- \\r\\n \\n \\r'; public defaultHeaders: Headers = new Headers(); public configuration: Configuration = new Configuration(); @@ -37,12 +38,12 @@ export class FakeService { } if (configuration) { this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; + this.basePath = basePath || configuration.basePath || this.basePath; } } /** - * + * * Extends object by coping non-existing properties. * @param objA object to be extended * @param objB source object @@ -71,8 +72,8 @@ export class FakeService { } /** - * To test code injection *_/ ' \" =end -- \\r\\n \\n \\r * + * @summary To test code injection *_/ ' \" =end -- \\r\\n \\n \\r * @param test code inject * ' " =end rn n r To test code injection *_/ ' \" =end -- \\r\\n \\n \\r */ public testCodeInjectEndRnNR(test code inject * ' " =end rn n r?: string, extraHttpRequestParams?: any): Observable<{}> { @@ -96,11 +97,11 @@ export class FakeService { const path = this.basePath + '/fake'; let queryParameters = new URLSearchParams(); - let headers = new Headers(this.defaultHeaders.toJSON()); // https://github.com/angular/angular/issues/6845 + let headersObservable = Observable.of(new Headers(this.defaultHeaders.toJSON())); // https://github.com/angular/angular/issues/6845 // to determine the Content-Type header let consumes: string[] = [ - 'application/json', + 'application/json', '*_/ =end -- ' ]; let canConsumeForm = this.canConsumeForm(consumes); @@ -111,28 +112,32 @@ export class FakeService { // to determine the Accept header let produces: string[] = [ - 'application/json', + 'application/json', '*_/ =end -- ' ]; - + if (test code inject * ' " =end rn n r !== undefined) { formParams.set('test code inject */ ' " =end -- \r\n \n \r', test code inject * ' " =end rn n r); } - let requestOptions: RequestOptionsArgs = new RequestOptions({ - method: RequestMethod.Put, - headers: headers, - body: formParams.toString(), - search: queryParameters, - withCredentials:this.configuration.withCredentials + let requestOptionsObservable = headersObservable.map((headers: Headers) => { + let requestOptions: RequestOptionsArgs = new RequestOptions({ + method: RequestMethod.Put, + headers: headers, + body: formParams.toString(), + search: queryParameters, + withCredentials:this.configuration.withCredentials + }); + // https://github.com/swagger-api/swagger-codegen/issues/4037 + if (extraHttpRequestParams) { + requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); + } + + return requestOptions; }); - // https://github.com/swagger-api/swagger-codegen/issues/4037 - if (extraHttpRequestParams) { - requestOptions = (Object).assign(requestOptions, extraHttpRequestParams); - } - return this.http.request(path, requestOptions); + return requestOptionsObservable.mergeMap((requestOptions: RequestOptionsArgs) => this.http.request(path, requestOptions)); } } diff --git a/samples/client/petstore-security-test/typescript-angular2/configuration.ts b/samples/client/petstore-security-test/typescript-angular2/configuration.ts index 0eed43fd575..d7847235074 100644 --- a/samples/client/petstore-security-test/typescript-angular2/configuration.ts +++ b/samples/client/petstore-security-test/typescript-angular2/configuration.ts @@ -1,19 +1,21 @@ +import { Observable } from 'rxjs/Observable'; + export interface ConfigurationParameters { apiKeys?: {[ key: string ]: string}; username?: string; password?: string; - accessToken?: string; + accessToken?: string | ((name: string, scopes?: string[]) => Observable); basePath?: string; withCredentials?: boolean; } export class Configuration { - apiKeys: {[ key: string ]: string}; - username: string; - password: string; - accessToken: string | (() => string); - basePath: string; - withCredentials: boolean; + apiKeys?: {[ key: string ]: string}; + username?: string; + password?: string; + accessToken?: string | ((name: string, scopes?: string[]) => Observable); + basePath?: string; + withCredentials?: boolean; constructor(configurationParameters: ConfigurationParameters = {}) { this.apiKeys = configurationParameters.apiKeys; diff --git a/samples/client/petstore-security-test/typescript-angular2/rxjs-operators.ts b/samples/client/petstore-security-test/typescript-angular2/rxjs-operators.ts index 5659cd0694f..f81b512d8f0 100644 --- a/samples/client/petstore-security-test/typescript-angular2/rxjs-operators.ts +++ b/samples/client/petstore-security-test/typescript-angular2/rxjs-operators.ts @@ -5,7 +5,11 @@ // Statics import 'rxjs/add/observable/throw'; +import 'rxjs/add/observable/of'; // Operators import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/zip'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/mergeMap'; diff --git a/samples/client/petstore-security-test/typescript-angular2/variables.ts b/samples/client/petstore-security-test/typescript-angular2/variables.ts index b734b2e5918..6fe58549f39 100644 --- a/samples/client/petstore-security-test/typescript-angular2/variables.ts +++ b/samples/client/petstore-security-test/typescript-angular2/variables.ts @@ -1,4 +1,4 @@ -import { InjectionToken } from '@angular/core'; +import { InjectionToken } from '@angular/core'; export const BASE_PATH = new InjectionToken('basePath'); export const COLLECTION_FORMATS = { @@ -6,4 +6,4 @@ export const COLLECTION_FORMATS = { 'tsv': ' ', 'ssv': ' ', 'pipes': '|' -} \ No newline at end of file +} From c84626336c1433befbd3e3a8cf9d71f9e46569da Mon Sep 17 00:00:00 2001 From: Alexander Rashed Date: Wed, 13 Sep 2017 18:16:50 +0200 Subject: [PATCH 5/5] [typescript-angular2] Allow lazy oauth token refresh (#6486) - Fix swagger annotations version in jaxrs-cxf-cdi pom after 2.0.0-rc1 release (maven doesn't know anything about rc versions - used 1.99 as a workaround) - Re-generated the jaxrs-cxf-cdi client --- .../server/petstore/jaxrs-cxf-cdi/.swagger-codegen/VERSION | 2 +- samples/server/petstore/jaxrs-cxf-cdi/pom.xml | 2 +- samples/server/petstore/jaxrs-cxf-cdi/swagger.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/server/petstore/jaxrs-cxf-cdi/.swagger-codegen/VERSION b/samples/server/petstore/jaxrs-cxf-cdi/.swagger-codegen/VERSION index 7fea99011a6..f9f7450d135 100644 --- a/samples/server/petstore/jaxrs-cxf-cdi/.swagger-codegen/VERSION +++ b/samples/server/petstore/jaxrs-cxf-cdi/.swagger-codegen/VERSION @@ -1 +1 @@ -2.2.3-SNAPSHOT \ No newline at end of file +2.3.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf-cdi/pom.xml b/samples/server/petstore/jaxrs-cxf-cdi/pom.xml index b35e29c0255..52339d490b1 100644 --- a/samples/server/petstore/jaxrs-cxf-cdi/pom.xml +++ b/samples/server/petstore/jaxrs-cxf-cdi/pom.xml @@ -74,7 +74,7 @@ io.swagger swagger-annotations - [1.5.3,2) + [1.5.15,1.99) diff --git a/samples/server/petstore/jaxrs-cxf-cdi/swagger.json b/samples/server/petstore/jaxrs-cxf-cdi/swagger.json index df8ae51dbf4..18ccb05b4ba 100644 --- a/samples/server/petstore/jaxrs-cxf-cdi/swagger.json +++ b/samples/server/petstore/jaxrs-cxf-cdi/swagger.json @@ -108,8 +108,8 @@ "type" : "array", "items" : { "type" : "string", - "enum" : [ "available", "pending", "sold" ], - "default" : "available" + "default" : "available", + "enum" : [ "available", "pending", "sold" ] }, "collectionFormat" : "csv" } ],