From e6d82e21ab97ba3731138abb03fcc7092f44f5a3 Mon Sep 17 00:00:00 2001 From: "DESKTOP-HTNR771\\Varteq" Date: Thu, 2 Aug 2018 16:14:55 +0300 Subject: [PATCH 1/3] Added project and result files for client --- .../ClientApp/src/apiDefinition.ts | 2642 +++++++++++++++++ src/AspNetCoreSpa.Web/NSwagGenerator.nswag | 98 + 2 files changed, 2740 insertions(+) create mode 100644 src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts create mode 100644 src/AspNetCoreSpa.Web/NSwagGenerator.nswag diff --git a/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts b/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts new file mode 100644 index 00000000..581527e7 --- /dev/null +++ b/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts @@ -0,0 +1,2642 @@ +/* tslint:disable */ +//---------------------- +// +// Generated using the NSwag toolchain v11.18.0.0 (NJsonSchema v9.10.65.0 (Newtonsoft.Json v9.0.0.0)) (http://NSwag.org) +// +//---------------------- +// ReSharper disable InconsistentNaming + +import { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators'; +import { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs'; +import { Injectable, Inject, Optional, OpaqueToken } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http'; + +export const API_BASE_URL = new OpaqueToken('API_BASE_URL'); + +@Injectable({ + providedIn: 'root' +}) +export class HomeClient { + private http: HttpClient; + private baseUrl: string; + protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; + + constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) { + this.http = http; + this.baseUrl = baseUrl ? baseUrl : ""; + } + + setLanguage(culture: string | null): Observable { + let url_ = this.baseUrl + "/api/setlanguage?"; + if (culture === undefined) + throw new Error("The parameter 'culture' must be defined."); + else + url_ += "culture=" + encodeURIComponent("" + culture) + "&"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processSetLanguage(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processSetLanguage(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processSetLanguage(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + get(): Observable { + let url_ = this.baseUrl + "/api/applicationdata"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processGet(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processGet(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processGet(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } +} + +@Injectable({ + providedIn: 'root' +}) +export class AccountClient { + private http: HttpClient; + private baseUrl: string; + protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; + + constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) { + this.http = http; + this.baseUrl = baseUrl ? baseUrl : ""; + } + + login(model: LoginViewModel | null): Observable { + let url_ = this.baseUrl + "/api/Account/login"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(model); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processLogin(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processLogin(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processLogin(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + register(model: RegisterViewModel | null, returnUrl: string | null | undefined): Observable { + let url_ = this.baseUrl + "/api/Account/register?"; + if (returnUrl !== undefined) + url_ += "returnUrl=" + encodeURIComponent("" + returnUrl) + "&"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(model); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processRegister(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processRegister(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processRegister(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + confirmEmail(userId: string | null, code: string | null): Observable { + let url_ = this.baseUrl + "/api/Account/ConfirmEmail?"; + if (userId === undefined) + throw new Error("The parameter 'userId' must be defined."); + else + url_ += "userId=" + encodeURIComponent("" + userId) + "&"; + if (code === undefined) + throw new Error("The parameter 'code' must be defined."); + else + url_ += "code=" + encodeURIComponent("" + code) + "&"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processConfirmEmail(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processConfirmEmail(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processConfirmEmail(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + forgotPassword(model: ForgotPasswordViewModel | null): Observable { + let url_ = this.baseUrl + "/api/Account/ForgotPassword"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(model); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processForgotPassword(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processForgotPassword(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processForgotPassword(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + resetPassword(model: ResetPasswordViewModel | null): Observable { + let url_ = this.baseUrl + "/api/Account/resetpassword"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(model); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processResetPassword(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processResetPassword(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processResetPassword(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + sendCode(returnUrl: string | null | undefined, rememberMe: boolean | undefined): Observable { + let url_ = this.baseUrl + "/api/Account/SendCode?"; + if (returnUrl !== undefined) + url_ += "returnUrl=" + encodeURIComponent("" + returnUrl) + "&"; + if (rememberMe === null) + throw new Error("The parameter 'rememberMe' cannot be null."); + else if (rememberMe !== undefined) + url_ += "rememberMe=" + encodeURIComponent("" + rememberMe) + "&"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processSendCode(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processSendCode(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processSendCode(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + sendCode2(model: SendCodeViewModel | null): Observable { + let url_ = this.baseUrl + "/api/Account/SendCode"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(model); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processSendCode2(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processSendCode2(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processSendCode2(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + verifyCode(provider: string | null, rememberMe: boolean, returnUrl: string | null | undefined): Observable { + let url_ = this.baseUrl + "/api/Account/VerifyCode?"; + if (provider === undefined) + throw new Error("The parameter 'provider' must be defined."); + else + url_ += "provider=" + encodeURIComponent("" + provider) + "&"; + if (rememberMe === undefined || rememberMe === null) + throw new Error("The parameter 'rememberMe' must be defined and cannot be null."); + else + url_ += "rememberMe=" + encodeURIComponent("" + rememberMe) + "&"; + if (returnUrl !== undefined) + url_ += "returnUrl=" + encodeURIComponent("" + returnUrl) + "&"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processVerifyCode(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processVerifyCode(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processVerifyCode(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + verifyCode2(provider: string | null, code: string | null, returnUrl: string | null, rememberBrowser: boolean, rememberMe: boolean): Observable { + let url_ = this.baseUrl + "/api/Account/VerifyCode?"; + if (provider === undefined) + throw new Error("The parameter 'provider' must be defined."); + else + url_ += "Provider=" + encodeURIComponent("" + provider) + "&"; + if (code === undefined) + throw new Error("The parameter 'code' must be defined."); + else + url_ += "Code=" + encodeURIComponent("" + code) + "&"; + if (returnUrl === undefined) + throw new Error("The parameter 'returnUrl' must be defined."); + else + url_ += "ReturnUrl=" + encodeURIComponent("" + returnUrl) + "&"; + if (rememberBrowser === undefined || rememberBrowser === null) + throw new Error("The parameter 'rememberBrowser' must be defined and cannot be null."); + else + url_ += "RememberBrowser=" + encodeURIComponent("" + rememberBrowser) + "&"; + if (rememberMe === undefined || rememberMe === null) + throw new Error("The parameter 'rememberMe' must be defined and cannot be null."); + else + url_ += "RememberMe=" + encodeURIComponent("" + rememberMe) + "&"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processVerifyCode2(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processVerifyCode2(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processVerifyCode2(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + logOff(): Observable { + let url_ = this.baseUrl + "/api/Account/logout"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processLogOff(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processLogOff(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processLogOff(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } +} + +@Injectable({ + providedIn: 'root' +}) +export class AuthorizationClient { + private http: HttpClient; + private baseUrl: string; + protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; + + constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) { + this.http = http; + this.baseUrl = baseUrl ? baseUrl : ""; + } + + exchange(accessToken: string | null, acrValues: string | null, assertion: string | null, claims: any | null, claimsLocales: string | null, clientAssertion: string | null, clientAssertionType: string | null, clientId: string | null, clientSecret: string | null, code: string | null, codeChallenge: string | null, codeChallengeMethod: string | null, codeVerifier: string | null, display: string | null, grantType: string | null, identityProvider: string | null, idTokenHint: string | null, loginHint: string | null, maxAge: number | null, nonce: string | null, password: string | null, postLogoutRedirectUri: string | null, prompt: string | null, redirectUri: string | null, refreshToken: string | null, request: string | null, requestId: string | null, requestUri: string | null, resource: string | null, responseMode: string | null, responseType: string | null, scope: string | null, state: string | null, token: string | null, tokenTypeHint: string | null, registration: any | null, uiLocales: string | null, username: string | null): Observable { + let url_ = this.baseUrl + "/connect/token?"; + if (accessToken === undefined) + throw new Error("The parameter 'accessToken' must be defined."); + else + url_ += "AccessToken=" + encodeURIComponent("" + accessToken) + "&"; + if (acrValues === undefined) + throw new Error("The parameter 'acrValues' must be defined."); + else + url_ += "AcrValues=" + encodeURIComponent("" + acrValues) + "&"; + if (assertion === undefined) + throw new Error("The parameter 'assertion' must be defined."); + else + url_ += "Assertion=" + encodeURIComponent("" + assertion) + "&"; + if (claims === undefined) + throw new Error("The parameter 'claims' must be defined."); + else + url_ += "Claims=" + encodeURIComponent("" + claims) + "&"; + if (claimsLocales === undefined) + throw new Error("The parameter 'claimsLocales' must be defined."); + else + url_ += "ClaimsLocales=" + encodeURIComponent("" + claimsLocales) + "&"; + if (clientAssertion === undefined) + throw new Error("The parameter 'clientAssertion' must be defined."); + else + url_ += "ClientAssertion=" + encodeURIComponent("" + clientAssertion) + "&"; + if (clientAssertionType === undefined) + throw new Error("The parameter 'clientAssertionType' must be defined."); + else + url_ += "ClientAssertionType=" + encodeURIComponent("" + clientAssertionType) + "&"; + if (clientId === undefined) + throw new Error("The parameter 'clientId' must be defined."); + else + url_ += "ClientId=" + encodeURIComponent("" + clientId) + "&"; + if (clientSecret === undefined) + throw new Error("The parameter 'clientSecret' must be defined."); + else + url_ += "ClientSecret=" + encodeURIComponent("" + clientSecret) + "&"; + if (code === undefined) + throw new Error("The parameter 'code' must be defined."); + else + url_ += "Code=" + encodeURIComponent("" + code) + "&"; + if (codeChallenge === undefined) + throw new Error("The parameter 'codeChallenge' must be defined."); + else + url_ += "CodeChallenge=" + encodeURIComponent("" + codeChallenge) + "&"; + if (codeChallengeMethod === undefined) + throw new Error("The parameter 'codeChallengeMethod' must be defined."); + else + url_ += "CodeChallengeMethod=" + encodeURIComponent("" + codeChallengeMethod) + "&"; + if (codeVerifier === undefined) + throw new Error("The parameter 'codeVerifier' must be defined."); + else + url_ += "CodeVerifier=" + encodeURIComponent("" + codeVerifier) + "&"; + if (display === undefined) + throw new Error("The parameter 'display' must be defined."); + else + url_ += "Display=" + encodeURIComponent("" + display) + "&"; + if (grantType === undefined) + throw new Error("The parameter 'grantType' must be defined."); + else + url_ += "GrantType=" + encodeURIComponent("" + grantType) + "&"; + if (identityProvider === undefined) + throw new Error("The parameter 'identityProvider' must be defined."); + else + url_ += "IdentityProvider=" + encodeURIComponent("" + identityProvider) + "&"; + if (idTokenHint === undefined) + throw new Error("The parameter 'idTokenHint' must be defined."); + else + url_ += "IdTokenHint=" + encodeURIComponent("" + idTokenHint) + "&"; + if (loginHint === undefined) + throw new Error("The parameter 'loginHint' must be defined."); + else + url_ += "LoginHint=" + encodeURIComponent("" + loginHint) + "&"; + if (maxAge === undefined) + throw new Error("The parameter 'maxAge' must be defined."); + else + url_ += "MaxAge=" + encodeURIComponent("" + maxAge) + "&"; + if (nonce === undefined) + throw new Error("The parameter 'nonce' must be defined."); + else + url_ += "Nonce=" + encodeURIComponent("" + nonce) + "&"; + if (password === undefined) + throw new Error("The parameter 'password' must be defined."); + else + url_ += "Password=" + encodeURIComponent("" + password) + "&"; + if (postLogoutRedirectUri === undefined) + throw new Error("The parameter 'postLogoutRedirectUri' must be defined."); + else + url_ += "PostLogoutRedirectUri=" + encodeURIComponent("" + postLogoutRedirectUri) + "&"; + if (prompt === undefined) + throw new Error("The parameter 'prompt' must be defined."); + else + url_ += "Prompt=" + encodeURIComponent("" + prompt) + "&"; + if (redirectUri === undefined) + throw new Error("The parameter 'redirectUri' must be defined."); + else + url_ += "RedirectUri=" + encodeURIComponent("" + redirectUri) + "&"; + if (refreshToken === undefined) + throw new Error("The parameter 'refreshToken' must be defined."); + else + url_ += "RefreshToken=" + encodeURIComponent("" + refreshToken) + "&"; + if (request === undefined) + throw new Error("The parameter 'request' must be defined."); + else + url_ += "Request=" + encodeURIComponent("" + request) + "&"; + if (requestId === undefined) + throw new Error("The parameter 'requestId' must be defined."); + else + url_ += "RequestId=" + encodeURIComponent("" + requestId) + "&"; + if (requestUri === undefined) + throw new Error("The parameter 'requestUri' must be defined."); + else + url_ += "RequestUri=" + encodeURIComponent("" + requestUri) + "&"; + if (resource === undefined) + throw new Error("The parameter 'resource' must be defined."); + else + url_ += "Resource=" + encodeURIComponent("" + resource) + "&"; + if (responseMode === undefined) + throw new Error("The parameter 'responseMode' must be defined."); + else + url_ += "ResponseMode=" + encodeURIComponent("" + responseMode) + "&"; + if (responseType === undefined) + throw new Error("The parameter 'responseType' must be defined."); + else + url_ += "ResponseType=" + encodeURIComponent("" + responseType) + "&"; + if (scope === undefined) + throw new Error("The parameter 'scope' must be defined."); + else + url_ += "Scope=" + encodeURIComponent("" + scope) + "&"; + if (state === undefined) + throw new Error("The parameter 'state' must be defined."); + else + url_ += "State=" + encodeURIComponent("" + state) + "&"; + if (token === undefined) + throw new Error("The parameter 'token' must be defined."); + else + url_ += "Token=" + encodeURIComponent("" + token) + "&"; + if (tokenTypeHint === undefined) + throw new Error("The parameter 'tokenTypeHint' must be defined."); + else + url_ += "TokenTypeHint=" + encodeURIComponent("" + tokenTypeHint) + "&"; + if (registration === undefined) + throw new Error("The parameter 'registration' must be defined."); + else + url_ += "Registration=" + encodeURIComponent("" + registration) + "&"; + if (uiLocales === undefined) + throw new Error("The parameter 'uiLocales' must be defined."); + else + url_ += "UiLocales=" + encodeURIComponent("" + uiLocales) + "&"; + if (username === undefined) + throw new Error("The parameter 'username' must be defined."); + else + url_ += "Username=" + encodeURIComponent("" + username) + "&"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processExchange(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processExchange(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processExchange(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + authorize(accessToken: string | null, acrValues: string | null, assertion: string | null, claims: any | null, claimsLocales: string | null, clientAssertion: string | null, clientAssertionType: string | null, clientId: string | null, clientSecret: string | null, code: string | null, codeChallenge: string | null, codeChallengeMethod: string | null, codeVerifier: string | null, display: string | null, grantType: string | null, identityProvider: string | null, idTokenHint: string | null, loginHint: string | null, maxAge: number | null, nonce: string | null, password: string | null, postLogoutRedirectUri: string | null, prompt: string | null, redirectUri: string | null, refreshToken: string | null, request: string | null, requestId: string | null, requestUri: string | null, resource: string | null, responseMode: string | null, responseType: string | null, scope: string | null, state: string | null, token: string | null, tokenTypeHint: string | null, registration: any | null, uiLocales: string | null, username: string | null): Observable { + let url_ = this.baseUrl + "/connect/authorize?"; + if (accessToken === undefined) + throw new Error("The parameter 'accessToken' must be defined."); + else + url_ += "AccessToken=" + encodeURIComponent("" + accessToken) + "&"; + if (acrValues === undefined) + throw new Error("The parameter 'acrValues' must be defined."); + else + url_ += "AcrValues=" + encodeURIComponent("" + acrValues) + "&"; + if (assertion === undefined) + throw new Error("The parameter 'assertion' must be defined."); + else + url_ += "Assertion=" + encodeURIComponent("" + assertion) + "&"; + if (claims === undefined) + throw new Error("The parameter 'claims' must be defined."); + else + url_ += "Claims=" + encodeURIComponent("" + claims) + "&"; + if (claimsLocales === undefined) + throw new Error("The parameter 'claimsLocales' must be defined."); + else + url_ += "ClaimsLocales=" + encodeURIComponent("" + claimsLocales) + "&"; + if (clientAssertion === undefined) + throw new Error("The parameter 'clientAssertion' must be defined."); + else + url_ += "ClientAssertion=" + encodeURIComponent("" + clientAssertion) + "&"; + if (clientAssertionType === undefined) + throw new Error("The parameter 'clientAssertionType' must be defined."); + else + url_ += "ClientAssertionType=" + encodeURIComponent("" + clientAssertionType) + "&"; + if (clientId === undefined) + throw new Error("The parameter 'clientId' must be defined."); + else + url_ += "ClientId=" + encodeURIComponent("" + clientId) + "&"; + if (clientSecret === undefined) + throw new Error("The parameter 'clientSecret' must be defined."); + else + url_ += "ClientSecret=" + encodeURIComponent("" + clientSecret) + "&"; + if (code === undefined) + throw new Error("The parameter 'code' must be defined."); + else + url_ += "Code=" + encodeURIComponent("" + code) + "&"; + if (codeChallenge === undefined) + throw new Error("The parameter 'codeChallenge' must be defined."); + else + url_ += "CodeChallenge=" + encodeURIComponent("" + codeChallenge) + "&"; + if (codeChallengeMethod === undefined) + throw new Error("The parameter 'codeChallengeMethod' must be defined."); + else + url_ += "CodeChallengeMethod=" + encodeURIComponent("" + codeChallengeMethod) + "&"; + if (codeVerifier === undefined) + throw new Error("The parameter 'codeVerifier' must be defined."); + else + url_ += "CodeVerifier=" + encodeURIComponent("" + codeVerifier) + "&"; + if (display === undefined) + throw new Error("The parameter 'display' must be defined."); + else + url_ += "Display=" + encodeURIComponent("" + display) + "&"; + if (grantType === undefined) + throw new Error("The parameter 'grantType' must be defined."); + else + url_ += "GrantType=" + encodeURIComponent("" + grantType) + "&"; + if (identityProvider === undefined) + throw new Error("The parameter 'identityProvider' must be defined."); + else + url_ += "IdentityProvider=" + encodeURIComponent("" + identityProvider) + "&"; + if (idTokenHint === undefined) + throw new Error("The parameter 'idTokenHint' must be defined."); + else + url_ += "IdTokenHint=" + encodeURIComponent("" + idTokenHint) + "&"; + if (loginHint === undefined) + throw new Error("The parameter 'loginHint' must be defined."); + else + url_ += "LoginHint=" + encodeURIComponent("" + loginHint) + "&"; + if (maxAge === undefined) + throw new Error("The parameter 'maxAge' must be defined."); + else + url_ += "MaxAge=" + encodeURIComponent("" + maxAge) + "&"; + if (nonce === undefined) + throw new Error("The parameter 'nonce' must be defined."); + else + url_ += "Nonce=" + encodeURIComponent("" + nonce) + "&"; + if (password === undefined) + throw new Error("The parameter 'password' must be defined."); + else + url_ += "Password=" + encodeURIComponent("" + password) + "&"; + if (postLogoutRedirectUri === undefined) + throw new Error("The parameter 'postLogoutRedirectUri' must be defined."); + else + url_ += "PostLogoutRedirectUri=" + encodeURIComponent("" + postLogoutRedirectUri) + "&"; + if (prompt === undefined) + throw new Error("The parameter 'prompt' must be defined."); + else + url_ += "Prompt=" + encodeURIComponent("" + prompt) + "&"; + if (redirectUri === undefined) + throw new Error("The parameter 'redirectUri' must be defined."); + else + url_ += "RedirectUri=" + encodeURIComponent("" + redirectUri) + "&"; + if (refreshToken === undefined) + throw new Error("The parameter 'refreshToken' must be defined."); + else + url_ += "RefreshToken=" + encodeURIComponent("" + refreshToken) + "&"; + if (request === undefined) + throw new Error("The parameter 'request' must be defined."); + else + url_ += "Request=" + encodeURIComponent("" + request) + "&"; + if (requestId === undefined) + throw new Error("The parameter 'requestId' must be defined."); + else + url_ += "RequestId=" + encodeURIComponent("" + requestId) + "&"; + if (requestUri === undefined) + throw new Error("The parameter 'requestUri' must be defined."); + else + url_ += "RequestUri=" + encodeURIComponent("" + requestUri) + "&"; + if (resource === undefined) + throw new Error("The parameter 'resource' must be defined."); + else + url_ += "Resource=" + encodeURIComponent("" + resource) + "&"; + if (responseMode === undefined) + throw new Error("The parameter 'responseMode' must be defined."); + else + url_ += "ResponseMode=" + encodeURIComponent("" + responseMode) + "&"; + if (responseType === undefined) + throw new Error("The parameter 'responseType' must be defined."); + else + url_ += "ResponseType=" + encodeURIComponent("" + responseType) + "&"; + if (scope === undefined) + throw new Error("The parameter 'scope' must be defined."); + else + url_ += "Scope=" + encodeURIComponent("" + scope) + "&"; + if (state === undefined) + throw new Error("The parameter 'state' must be defined."); + else + url_ += "State=" + encodeURIComponent("" + state) + "&"; + if (token === undefined) + throw new Error("The parameter 'token' must be defined."); + else + url_ += "Token=" + encodeURIComponent("" + token) + "&"; + if (tokenTypeHint === undefined) + throw new Error("The parameter 'tokenTypeHint' must be defined."); + else + url_ += "TokenTypeHint=" + encodeURIComponent("" + tokenTypeHint) + "&"; + if (registration === undefined) + throw new Error("The parameter 'registration' must be defined."); + else + url_ += "Registration=" + encodeURIComponent("" + registration) + "&"; + if (uiLocales === undefined) + throw new Error("The parameter 'uiLocales' must be defined."); + else + url_ += "UiLocales=" + encodeURIComponent("" + uiLocales) + "&"; + if (username === undefined) + throw new Error("The parameter 'username' must be defined."); + else + url_ += "Username=" + encodeURIComponent("" + username) + "&"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processAuthorize(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processAuthorize(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processAuthorize(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } +} + +@Injectable({ + providedIn: 'root' +}) +export class ContentClient { + private http: HttpClient; + private baseUrl: string; + protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; + + constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) { + this.http = http; + this.baseUrl = baseUrl ? baseUrl : ""; + } + + get(): Observable { + let url_ = this.baseUrl + "/api/Content"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processGet(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processGet(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processGet(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + getCultures(): Observable { + let url_ = this.baseUrl + "/api/Content/cultures"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processGetCultures(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processGetCultures(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processGetCultures(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } +} + +@Injectable({ + providedIn: 'root' +}) +export class ManageClient { + private http: HttpClient; + private baseUrl: string; + protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; + + constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) { + this.http = http; + this.baseUrl = baseUrl ? baseUrl : ""; + } + + userInfo(): Observable { + let url_ = this.baseUrl + "/api/Manage/userinfo"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processUserInfo(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processUserInfo(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processUserInfo(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + userInfo2(model: IndexViewModel | null): Observable { + let url_ = this.baseUrl + "/api/Manage/userinfo"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(model); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processUserInfo2(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processUserInfo2(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processUserInfo2(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + changePassword(model: ChangePasswordViewModel | null): Observable { + let url_ = this.baseUrl + "/api/Manage/changepassword"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(model); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processChangePassword(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processChangePassword(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processChangePassword(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + setPassword(model: SetPasswordViewModel | null): Observable { + let url_ = this.baseUrl + "/api/Manage/setpassword"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(model); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processSetPassword(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processSetPassword(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processSetPassword(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + userPhoto(): Observable { + let url_ = this.baseUrl + "/api/Manage/photo"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processUserPhoto(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processUserPhoto(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processUserPhoto(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + userPhoto2(file: FileParameter | null): Observable { + let url_ = this.baseUrl + "/api/Manage/photo"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = new FormData(); + if (file !== null && file !== undefined) + content_.append("file", file.data, file.fileName ? file.fileName : "file"); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processUserPhoto2(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processUserPhoto2(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processUserPhoto2(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + getLogins(): Observable { + let url_ = this.baseUrl + "/api/Manage/getlogins"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processGetLogins(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processGetLogins(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processGetLogins(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + removeLogin(account: RemoveLoginViewModel | null): Observable { + let url_ = this.baseUrl + "/api/Manage/removelogin"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(account); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processRemoveLogin(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processRemoveLogin(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processRemoveLogin(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + manageLogins(): Observable { + let url_ = this.baseUrl + "/api/Manage/managelogins"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processManageLogins(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processManageLogins(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processManageLogins(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + linkLogin(provider: string | null): Observable { + let url_ = this.baseUrl + "/api/Manage/linklogin?"; + if (provider === undefined) + throw new Error("The parameter 'provider' must be defined."); + else + url_ += "provider=" + encodeURIComponent("" + provider) + "&"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processLinkLogin(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processLinkLogin(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processLinkLogin(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + linkLoginCallback(): Observable { + let url_ = this.baseUrl + "/api/Manage/linklogincallback"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processLinkLoginCallback(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processLinkLoginCallback(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processLinkLoginCallback(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + twoFactorAuthentication(): Observable { + let url_ = this.baseUrl + "/api/Manage/twofactorauthentication"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processTwoFactorAuthentication(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processTwoFactorAuthentication(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processTwoFactorAuthentication(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + disable2fa(): Observable { + let url_ = this.baseUrl + "/api/Manage/disable2fa"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processDisable2fa(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processDisable2fa(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processDisable2fa(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + enableAuthenticator(): Observable { + let url_ = this.baseUrl + "/api/Manage/enableauthenticator"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processEnableAuthenticator(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processEnableAuthenticator(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processEnableAuthenticator(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + enableAuthenticator2(model: EnableAuthenticatorViewModel | null): Observable { + let url_ = this.baseUrl + "/api/Manage/enableauthenticator"; + url_ = url_.replace(/[?&]$/, ""); + + const content_ = JSON.stringify(model); + + let options_ : any = { + body: content_, + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processEnableAuthenticator2(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processEnableAuthenticator2(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processEnableAuthenticator2(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + resetAuthenticator(): Observable { + let url_ = this.baseUrl + "/api/Manage/resetauthenticator"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processResetAuthenticator(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processResetAuthenticator(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processResetAuthenticator(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } + + generateRecoveryCodes(): Observable { + let url_ = this.baseUrl + "/api/Manage/generaterecoverycodes"; + url_ = url_.replace(/[?&]$/, ""); + + let options_ : any = { + observe: "response", + responseType: "blob", + headers: new HttpHeaders({ + "Content-Type": "application/json", + "Accept": "application/json" + }) + }; + + return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => { + return this.processGenerateRecoveryCodes(response_); + })).pipe(_observableCatch((response_: any) => { + if (response_ instanceof HttpResponseBase) { + try { + return this.processGenerateRecoveryCodes(response_); + } catch (e) { + return >_observableThrow(e); + } + } else + return >_observableThrow(response_); + })); + } + + protected processGenerateRecoveryCodes(response: HttpResponseBase): Observable { + const status = response.status; + const responseBlob = + response instanceof HttpResponse ? response.body : + (response).error instanceof Blob ? (response).error : undefined; + + let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}; + if (status === 200 || status === 206) { + const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined; + const fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined; + const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined; + return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers }); + } else if (status !== 200 && status !== 204) { + return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => { + return throwException("An unexpected server error occurred.", status, _responseText, _headers); + })); + } + return _observableOf(null); + } +} + +export class LoginViewModel implements ILoginViewModel { + email!: string; + password!: string; + rememberMe!: boolean; + + constructor(data?: ILoginViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.email = data["Email"]; + this.password = data["Password"]; + this.rememberMe = data["RememberMe"]; + } + } + + static fromJS(data: any): LoginViewModel { + data = typeof data === 'object' ? data : {}; + let result = new LoginViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["Email"] = this.email; + data["Password"] = this.password; + data["RememberMe"] = this.rememberMe; + return data; + } +} + +export interface ILoginViewModel { + email: string; + password: string; + rememberMe: boolean; +} + +export class RegisterViewModel implements IRegisterViewModel { + username!: string; + firstname!: string; + lastname!: string; + email!: string; + password!: string; + mobile!: string; + + constructor(data?: IRegisterViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.username = data["Username"]; + this.firstname = data["Firstname"]; + this.lastname = data["Lastname"]; + this.email = data["Email"]; + this.password = data["Password"]; + this.mobile = data["Mobile"]; + } + } + + static fromJS(data: any): RegisterViewModel { + data = typeof data === 'object' ? data : {}; + let result = new RegisterViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["Username"] = this.username; + data["Firstname"] = this.firstname; + data["Lastname"] = this.lastname; + data["Email"] = this.email; + data["Password"] = this.password; + data["Mobile"] = this.mobile; + return data; + } +} + +export interface IRegisterViewModel { + username: string; + firstname: string; + lastname: string; + email: string; + password: string; + mobile: string; +} + +export class ForgotPasswordViewModel implements IForgotPasswordViewModel { + email!: string; + + constructor(data?: IForgotPasswordViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.email = data["Email"]; + } + } + + static fromJS(data: any): ForgotPasswordViewModel { + data = typeof data === 'object' ? data : {}; + let result = new ForgotPasswordViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["Email"] = this.email; + return data; + } +} + +export interface IForgotPasswordViewModel { + email: string; +} + +export class ResetPasswordViewModel implements IResetPasswordViewModel { + email!: string; + password!: string; + confirmPassword?: string | undefined; + code?: string | undefined; + + constructor(data?: IResetPasswordViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.email = data["Email"]; + this.password = data["Password"]; + this.confirmPassword = data["ConfirmPassword"]; + this.code = data["Code"]; + } + } + + static fromJS(data: any): ResetPasswordViewModel { + data = typeof data === 'object' ? data : {}; + let result = new ResetPasswordViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["Email"] = this.email; + data["Password"] = this.password; + data["ConfirmPassword"] = this.confirmPassword; + data["Code"] = this.code; + return data; + } +} + +export interface IResetPasswordViewModel { + email: string; + password: string; + confirmPassword?: string | undefined; + code?: string | undefined; +} + +export class SendCodeViewModel implements ISendCodeViewModel { + selectedProvider?: string | undefined; + providers?: SelectListItem[] | undefined; + returnUrl?: string | undefined; + rememberMe!: boolean; + + constructor(data?: ISendCodeViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.selectedProvider = data["SelectedProvider"]; + if (data["Providers"] && data["Providers"].constructor === Array) { + this.providers = []; + for (let item of data["Providers"]) + this.providers.push(SelectListItem.fromJS(item)); + } + this.returnUrl = data["ReturnUrl"]; + this.rememberMe = data["RememberMe"]; + } + } + + static fromJS(data: any): SendCodeViewModel { + data = typeof data === 'object' ? data : {}; + let result = new SendCodeViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["SelectedProvider"] = this.selectedProvider; + if (this.providers && this.providers.constructor === Array) { + data["Providers"] = []; + for (let item of this.providers) + data["Providers"].push(item.toJSON()); + } + data["ReturnUrl"] = this.returnUrl; + data["RememberMe"] = this.rememberMe; + return data; + } +} + +export interface ISendCodeViewModel { + selectedProvider?: string | undefined; + providers?: SelectListItem[] | undefined; + returnUrl?: string | undefined; + rememberMe: boolean; +} + +export class SelectListItem implements ISelectListItem { + disabled!: boolean; + group?: SelectListGroup | undefined; + selected!: boolean; + text?: string | undefined; + value?: string | undefined; + + constructor(data?: ISelectListItem) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.disabled = data["Disabled"]; + this.group = data["Group"] ? SelectListGroup.fromJS(data["Group"]) : undefined; + this.selected = data["Selected"]; + this.text = data["Text"]; + this.value = data["Value"]; + } + } + + static fromJS(data: any): SelectListItem { + data = typeof data === 'object' ? data : {}; + let result = new SelectListItem(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["Disabled"] = this.disabled; + data["Group"] = this.group ? this.group.toJSON() : undefined; + data["Selected"] = this.selected; + data["Text"] = this.text; + data["Value"] = this.value; + return data; + } +} + +export interface ISelectListItem { + disabled: boolean; + group?: SelectListGroup | undefined; + selected: boolean; + text?: string | undefined; + value?: string | undefined; +} + +export class SelectListGroup implements ISelectListGroup { + disabled!: boolean; + name?: string | undefined; + + constructor(data?: ISelectListGroup) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.disabled = data["Disabled"]; + this.name = data["Name"]; + } + } + + static fromJS(data: any): SelectListGroup { + data = typeof data === 'object' ? data : {}; + let result = new SelectListGroup(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["Disabled"] = this.disabled; + data["Name"] = this.name; + return data; + } +} + +export interface ISelectListGroup { + disabled: boolean; + name?: string | undefined; +} + +export class IndexViewModel implements IIndexViewModel { + firstName?: string | undefined; + lastName?: string | undefined; + username?: string | undefined; + isEmailConfirmed!: boolean; + email?: string | undefined; + phoneNumber?: string | undefined; + + constructor(data?: IIndexViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.firstName = data["FirstName"]; + this.lastName = data["LastName"]; + this.username = data["Username"]; + this.isEmailConfirmed = data["IsEmailConfirmed"]; + this.email = data["Email"]; + this.phoneNumber = data["PhoneNumber"]; + } + } + + static fromJS(data: any): IndexViewModel { + data = typeof data === 'object' ? data : {}; + let result = new IndexViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["FirstName"] = this.firstName; + data["LastName"] = this.lastName; + data["Username"] = this.username; + data["IsEmailConfirmed"] = this.isEmailConfirmed; + data["Email"] = this.email; + data["PhoneNumber"] = this.phoneNumber; + return data; + } +} + +export interface IIndexViewModel { + firstName?: string | undefined; + lastName?: string | undefined; + username?: string | undefined; + isEmailConfirmed: boolean; + email?: string | undefined; + phoneNumber?: string | undefined; +} + +export class ChangePasswordViewModel implements IChangePasswordViewModel { + oldPassword!: string; + newPassword!: string; + confirmPassword?: string | undefined; + + constructor(data?: IChangePasswordViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.oldPassword = data["OldPassword"]; + this.newPassword = data["NewPassword"]; + this.confirmPassword = data["ConfirmPassword"]; + } + } + + static fromJS(data: any): ChangePasswordViewModel { + data = typeof data === 'object' ? data : {}; + let result = new ChangePasswordViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["OldPassword"] = this.oldPassword; + data["NewPassword"] = this.newPassword; + data["ConfirmPassword"] = this.confirmPassword; + return data; + } +} + +export interface IChangePasswordViewModel { + oldPassword: string; + newPassword: string; + confirmPassword?: string | undefined; +} + +export class SetPasswordViewModel implements ISetPasswordViewModel { + newPassword!: string; + confirmPassword?: string | undefined; + + constructor(data?: ISetPasswordViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.newPassword = data["NewPassword"]; + this.confirmPassword = data["ConfirmPassword"]; + } + } + + static fromJS(data: any): SetPasswordViewModel { + data = typeof data === 'object' ? data : {}; + let result = new SetPasswordViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["NewPassword"] = this.newPassword; + data["ConfirmPassword"] = this.confirmPassword; + return data; + } +} + +export interface ISetPasswordViewModel { + newPassword: string; + confirmPassword?: string | undefined; +} + +export class RemoveLoginViewModel implements IRemoveLoginViewModel { + loginProvider?: string | undefined; + providerKey?: string | undefined; + + constructor(data?: IRemoveLoginViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.loginProvider = data["LoginProvider"]; + this.providerKey = data["ProviderKey"]; + } + } + + static fromJS(data: any): RemoveLoginViewModel { + data = typeof data === 'object' ? data : {}; + let result = new RemoveLoginViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["LoginProvider"] = this.loginProvider; + data["ProviderKey"] = this.providerKey; + return data; + } +} + +export interface IRemoveLoginViewModel { + loginProvider?: string | undefined; + providerKey?: string | undefined; +} + +export class EnableAuthenticatorViewModel implements IEnableAuthenticatorViewModel { + code!: string; + sharedKey?: string | undefined; + authenticatorUri?: string | undefined; + + constructor(data?: IEnableAuthenticatorViewModel) { + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) + (this)[property] = (data)[property]; + } + } + } + + init(data?: any) { + if (data) { + this.code = data["Code"]; + this.sharedKey = data["SharedKey"]; + this.authenticatorUri = data["AuthenticatorUri"]; + } + } + + static fromJS(data: any): EnableAuthenticatorViewModel { + data = typeof data === 'object' ? data : {}; + let result = new EnableAuthenticatorViewModel(); + result.init(data); + return result; + } + + toJSON(data?: any) { + data = typeof data === 'object' ? data : {}; + data["Code"] = this.code; + data["SharedKey"] = this.sharedKey; + data["AuthenticatorUri"] = this.authenticatorUri; + return data; + } +} + +export interface IEnableAuthenticatorViewModel { + code: string; + sharedKey?: string | undefined; + authenticatorUri?: string | undefined; +} + +export interface FileParameter { + data: any; + fileName: string; +} + +export interface FileResponse { + data: Blob; + status: number; + fileName?: string; + headers?: { [name: string]: any }; +} + +export class SwaggerException extends Error { + message: string; + status: number; + response: string; + headers: { [key: string]: any; }; + result: any; + + constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) { + super(); + + this.message = message; + this.status = status; + this.response = response; + this.headers = headers; + this.result = result; + } + + protected isSwaggerException = true; + + static isSwaggerException(obj: any): obj is SwaggerException { + return obj.isSwaggerException === true; + } +} + +function throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable { + if(result !== null && result !== undefined) + return _observableThrow(result); + else + return _observableThrow(new SwaggerException(message, status, response, headers, null)); +} + +function blobToText(blob: any): Observable { + return new Observable((observer: any) => { + if (!blob) { + observer.next(""); + observer.complete(); + } else { + let reader = new FileReader(); + reader.onload = function() { + observer.next(this.result); + observer.complete(); + } + reader.readAsText(blob); + } + }); +} \ No newline at end of file diff --git a/src/AspNetCoreSpa.Web/NSwagGenerator.nswag b/src/AspNetCoreSpa.Web/NSwagGenerator.nswag new file mode 100644 index 00000000..2bace180 --- /dev/null +++ b/src/AspNetCoreSpa.Web/NSwagGenerator.nswag @@ -0,0 +1,98 @@ +{ + "runtime": "NetCore21", + "defaultVariables": null, + "swaggerGenerator": { + "aspNetCoreToSwagger": { + "project": "AspNetCoreSpa.Web.csproj", + "msBuildProjectExtensionsPath": null, + "configuration": null, + "runtime": null, + "targetFramework": null, + "noBuild": false, + "verbose": false, + "workingDirectory": null, + "defaultPropertyNameHandling": "Default", + "defaultReferenceTypeNullHandling": "Null", + "defaultEnumHandling": "Integer", + "flattenInheritanceHierarchy": false, + "generateKnownTypes": true, + "generateXmlObjects": false, + "generateAbstractProperties": false, + "ignoreObsoleteProperties": false, + "allowReferencesWithProperties": false, + "excludedTypeNames": [], + "serviceHost": null, + "serviceBasePath": null, + "serviceSchemes": [], + "infoTitle": "My Title", + "infoDescription": null, + "infoVersion": "1.0.0", + "includedVersions": null, + "documentTemplate": null, + "documentProcessorTypes": [], + "operationProcessorTypes": [], + "typeNameGeneratorType": null, + "schemaNameGeneratorType": null, + "contractResolverType": null, + "serializerSettingsType": null, + "output": null, + "outputType": "Swagger2", + "assemblyPaths": [], + "assemblyConfig": null, + "referencePaths": [] + } + }, + "codeGenerators": { + "swaggerToTypeScriptClient": { + "className": "{controller}Client", + "moduleName": "apiDefinition", + "namespace": "", + "typeScriptVersion": 2.7, + "template": "Angular", + "promiseType": "Promise", + "httpClass": "HttpClient", + "useSingletonProvider": true, + "injectionTokenType": "OpaqueToken", + "rxJsVersion": 6.0, + "dateTimeType": "Date", + "nullValue": "Undefined", + "generateClientClasses": true, + "generateClientInterfaces": false, + "generateOptionalParameters": false, + "wrapDtoExceptions": false, + "clientBaseClass": null, + "wrapResponses": false, + "wrapResponseMethods": [], + "generateResponseClasses": true, + "responseClass": "SwaggerResponse", + "protectedMethods": [], + "configurationClass": null, + "useTransformOptionsMethod": false, + "useTransformResultMethod": false, + "generateDtoTypes": true, + "operationGenerationMode": "MultipleClientsFromOperationId", + "markOptionalProperties": true, + "generateCloneMethod": false, + "typeStyle": "Class", + "classTypes": [], + "extendedClasses": [], + "extensionCode": null, + "generateDefaultValues": true, + "excludedTypeNames": [], + "handleReferences": false, + "generateConstructorInterface": true, + "convertConstructorInterfaceData": false, + "importRequiredTypes": true, + "useGetBaseUrlMethod": false, + "baseUrlTokenName": "API_BASE_URL", + "queryNullValue": "", + "templateDirectory": null, + "typeNameGeneratorType": null, + "propertyNameGeneratorType": null, + "enumNameGeneratorType": null, + "serviceHost": null, + "serviceSchemes": null, + "output": null + } + } +} \ No newline at end of file From 1eda7d384469955de2162698e4929d14917430eb Mon Sep 17 00:00:00 2001 From: "DESKTOP-HTNR771\\Varteq" Date: Thu, 2 Aug 2018 19:00:25 +0300 Subject: [PATCH 2/3] Added more about nswag --- src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts | 4 ++-- .../+register/+register/register.component.ts | 12 +++++++++--- src/AspNetCoreSpa.Web/NSwagGenerator.nswag | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts b/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts index 581527e7..d824c753 100644 --- a/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts +++ b/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts @@ -8,10 +8,10 @@ import { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators'; import { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs'; -import { Injectable, Inject, Optional, OpaqueToken } from '@angular/core'; +import { Injectable, Inject, Optional, InjectionToken } from '@angular/core'; import { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http'; -export const API_BASE_URL = new OpaqueToken('API_BASE_URL'); +export const API_BASE_URL = new InjectionToken('API_BASE_URL'); @Injectable({ providedIn: 'root' diff --git a/src/AspNetCoreSpa.Web/ClientApp/src/app/account/+register/+register/register.component.ts b/src/AspNetCoreSpa.Web/ClientApp/src/app/account/+register/+register/register.component.ts index 4816bf3c..349b99f9 100644 --- a/src/AspNetCoreSpa.Web/ClientApp/src/app/account/+register/+register/register.component.ts +++ b/src/AspNetCoreSpa.Web/ClientApp/src/app/account/+register/+register/register.component.ts @@ -4,6 +4,7 @@ import { Router, ActivatedRoute } from '@angular/router'; import { ControlBase } from '../../../shared/forms/controls/control-base'; import { ControlTextbox } from '../../../shared/forms/controls/control-textbox'; import { DataService } from '../../../core/services/data.service'; +import { AccountClient, RegisterViewModel } from '../../../../apiDefinition'; @Component({ @@ -16,14 +17,19 @@ export class RegisterComponent implements OnInit { constructor( public dataService: DataService, public router: Router, - public route: ActivatedRoute + public route: ActivatedRoute, + public accountClient: AccountClient ) { } - public register(model: IRegisterModel): void { - this.dataService.post('api/account/register', model) + public register(model: RegisterViewModel): void { + this.accountClient.register(model, null) .subscribe(() => { this.router.navigate(['../registerconfirmation'], { relativeTo: this.route, queryParams: { emailConfirmed: true } }); }); + // this.dataService.post('api/account/register', model) + // .subscribe(() => { + // this.router.navigate(['../registerconfirmation'], { relativeTo: this.route, queryParams: { emailConfirmed: true } }); + // }); } public ngOnInit() { diff --git a/src/AspNetCoreSpa.Web/NSwagGenerator.nswag b/src/AspNetCoreSpa.Web/NSwagGenerator.nswag index 2bace180..b96d98f2 100644 --- a/src/AspNetCoreSpa.Web/NSwagGenerator.nswag +++ b/src/AspNetCoreSpa.Web/NSwagGenerator.nswag @@ -45,7 +45,7 @@ "codeGenerators": { "swaggerToTypeScriptClient": { "className": "{controller}Client", - "moduleName": "apiDefinition", + "moduleName": "", "namespace": "", "typeScriptVersion": 2.7, "template": "Angular", From 949ee7d30167024c234782a45a393d9252f9255c Mon Sep 17 00:00:00 2001 From: "DESKTOP-U5C1JDB\\sanya" Date: Sat, 4 Aug 2018 22:02:59 +0300 Subject: [PATCH 3/3] Added generation using npm. Example for register. --- README.md | 4 ++++ src/AspNetCoreSpa.Web/ClientApp/package.json | 6 ++++-- .../ClientApp/src/{apiDefinition.ts => apiDefinitions.ts} | 2 +- .../app/account/+register/+register/register.component.ts | 2 +- src/AspNetCoreSpa.Web/NSwagGenerator.nswag | 4 ++-- 5 files changed, 12 insertions(+), 6 deletions(-) rename src/AspNetCoreSpa.Web/ClientApp/src/{apiDefinition.ts => apiDefinitions.ts} (99%) diff --git a/README.md b/README.md index ac5ad543..012d4683 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,10 @@ npm run webdriver:start # in another terminal npm run e2e:live ``` +### run client api definition generation +```bash +npm run build:apiDef +``` # Azure Deploy * You can set an environment variable for azure app deployment password Set-Item -path env:AzureAppPass -value passwordhere diff --git a/src/AspNetCoreSpa.Web/ClientApp/package.json b/src/AspNetCoreSpa.Web/ClientApp/package.json index c4bebfcc..5e605786 100644 --- a/src/AspNetCoreSpa.Web/ClientApp/package.json +++ b/src/AspNetCoreSpa.Web/ClientApp/package.json @@ -18,6 +18,7 @@ "start": "ng serve", "build": "ng build --prod", "build:ssr": "npm run build --project=ssr", + "build:apiDef": "nswag run ../NSwagGenerator.nswag /runtime:NetCore21", "lint": "ng lint", "e2e": "ng e2e", "test": "jest", @@ -65,7 +66,8 @@ "ts-node": "7.0.0", "tslint": "5.11.0", "typescript": "2.9.2", - "webpack-bundle-analyzer": "2.13.1" + "webpack-bundle-analyzer": "2.13.1", + "nswag": "11.18.1" }, "jest": { "preset": "jest-preset-angular", @@ -78,4 +80,4 @@ } }, "license": "MIT" -} +} \ No newline at end of file diff --git a/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts b/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinitions.ts similarity index 99% rename from src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts rename to src/AspNetCoreSpa.Web/ClientApp/src/apiDefinitions.ts index d824c753..f590aad7 100644 --- a/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinition.ts +++ b/src/AspNetCoreSpa.Web/ClientApp/src/apiDefinitions.ts @@ -1,7 +1,7 @@ /* tslint:disable */ //---------------------- // -// Generated using the NSwag toolchain v11.18.0.0 (NJsonSchema v9.10.65.0 (Newtonsoft.Json v9.0.0.0)) (http://NSwag.org) +// Generated using the NSwag toolchain v11.18.1.0 (NJsonSchema v9.10.66.0 (Newtonsoft.Json v9.0.0.0)) (http://NSwag.org) // //---------------------- // ReSharper disable InconsistentNaming diff --git a/src/AspNetCoreSpa.Web/ClientApp/src/app/account/+register/+register/register.component.ts b/src/AspNetCoreSpa.Web/ClientApp/src/app/account/+register/+register/register.component.ts index 349b99f9..55466cfb 100644 --- a/src/AspNetCoreSpa.Web/ClientApp/src/app/account/+register/+register/register.component.ts +++ b/src/AspNetCoreSpa.Web/ClientApp/src/app/account/+register/+register/register.component.ts @@ -4,7 +4,7 @@ import { Router, ActivatedRoute } from '@angular/router'; import { ControlBase } from '../../../shared/forms/controls/control-base'; import { ControlTextbox } from '../../../shared/forms/controls/control-textbox'; import { DataService } from '../../../core/services/data.service'; -import { AccountClient, RegisterViewModel } from '../../../../apiDefinition'; +import { AccountClient, RegisterViewModel } from '../../../../apiDefinitions'; @Component({ diff --git a/src/AspNetCoreSpa.Web/NSwagGenerator.nswag b/src/AspNetCoreSpa.Web/NSwagGenerator.nswag index b96d98f2..0863c91b 100644 --- a/src/AspNetCoreSpa.Web/NSwagGenerator.nswag +++ b/src/AspNetCoreSpa.Web/NSwagGenerator.nswag @@ -52,7 +52,7 @@ "promiseType": "Promise", "httpClass": "HttpClient", "useSingletonProvider": true, - "injectionTokenType": "OpaqueToken", + "injectionTokenType": "InjectionToken", "rxJsVersion": 6.0, "dateTimeType": "Date", "nullValue": "Undefined", @@ -92,7 +92,7 @@ "enumNameGeneratorType": null, "serviceHost": null, "serviceSchemes": null, - "output": null + "output": "ClientApp/src/apiDefinitions.ts" } } } \ No newline at end of file