Repository URL to install this package:
{"version":3,"file":"wa-motif-open-api-datarecords-service.js.map","sources":["ng://@wa-motif-open-api/datarecords-service/lib/encoder.ts","ng://@wa-motif-open-api/datarecords-service/lib/configuration.ts","ng://@wa-motif-open-api/datarecords-service/lib/api/datarecords.service.ts","ng://@wa-motif-open-api/datarecords-service/lib/api/api.ts","ng://@wa-motif-open-api/datarecords-service/lib/variables.ts","ng://@wa-motif-open-api/datarecords-service/lib/api.module.ts"],"sourcesContent":[" import { HttpUrlEncodingCodec } from '@angular/common/http';\n\n/**\n* CustomHttpUrlEncodingCodec\n* Fix plus sign (+) not encoding, so sent as blank space\n* See: https://github.com/angular/angular/issues/11058#issuecomment-247367318\n*/\nexport class CustomHttpUrlEncodingCodec extends HttpUrlEncodingCodec {\n encodeKey(k: string): string {\n k = super.encodeKey(k);\n return k.replace(/\\+/gi, '%2B');\n }\n encodeValue(v: string): string {\n v = super.encodeValue(v);\n return v.replace(/\\+/gi, '%2B');\n }\n}\n\n","export interface ConfigurationParameters {\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n}\n\nexport class Configuration {\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n\n constructor(configurationParameters: ConfigurationParameters = {}) {\n this.apiKeys = configurationParameters.apiKeys;\n this.username = configurationParameters.username;\n this.password = configurationParameters.password;\n this.accessToken = configurationParameters.accessToken;\n this.basePath = configurationParameters.basePath;\n this.withCredentials = configurationParameters.withCredentials;\n }\n\n /**\n * Select the correct content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param contentTypes - the array of content types that are available for selection\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\n if (contentTypes.length === 0) {\n return undefined;\n }\n\n let type = contentTypes.find(x => this.isJsonMime(x));\n if (type === undefined) {\n return contentTypes[0];\n }\n return type;\n }\n\n /**\n * Select the correct accept content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param accepts - the array of content types that are available for selection.\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderAccept(accepts: string[]): string | undefined {\n if (accepts.length === 0) {\n return undefined;\n }\n\n let type = accepts.find(x => this.isJsonMime(x));\n if (type === undefined) {\n return accepts[0];\n }\n return type;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n}\n","/**\n * Motif Datarecords Service API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2.0.0\n * Contact: info@vipera.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent } from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\n\nimport { Observable } from 'rxjs';\n\nimport { DatarecordList } from '../model/datarecordList';\nimport { ErrorVipera } from '../model/errorVipera';\n\nimport { WC_API_BASE_PATH } from 'web-console-core';\nimport { Configuration } from '../configuration';\nimport { DatarecordsServiceInterface } from './datarecords.serviceInterface';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatarecordsService implements DatarecordsServiceInterface {\n\n protected basePath = 'http://localhost:8080/rest/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(WC_API_BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n\n if (configuration) {\n this.configuration = configuration;\n this.configuration.basePath = configuration.basePath || basePath || this.basePath;\n\n } else {\n this.configuration.basePath = basePath || this.basePath;\n }\n }\n\n /**\n * @param consumes string[] mime-types\n * @return true: consumes contains 'multipart/form-data', false: otherwise\n */\n private canConsumeForm(consumes: string[]): boolean {\n const form = 'multipart/form-data';\n for (const consume of consumes) {\n if (form === consume) {\n return true;\n }\n }\n return false;\n }\n\n\n /**\n * Export datarecords as csv file\n * Export datarecords as csv file\n * @param type Datarecords type (PERFORMANCE, TRANSACTION, DIAGNOSTIC, SECURITY...)\n * @param hashedSession Hashed session (SHA512)\n * @param usersId User natural ID\n * @param operations Operations list\n * @param fromDate From date (2016-08-30 17:12:46Z)\n * @param toDate To date (2016-08-30 17:12:46Z)\n * @param resultCode Result code\n * @param anyError Default value is false\n * @param singleCsv Default value is true\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public exportDatarecords(type: string, hashedSession?: string, usersId?: number, operations?: Array<string>, fromDate?: Date, toDate?: Date, resultCode?: string, anyError?: boolean, singleCsv?: boolean, observe?: 'body', reportProgress?: boolean): Observable<Blob>;\n public exportDatarecords(type: string, hashedSession?: string, usersId?: number, operations?: Array<string>, fromDate?: Date, toDate?: Date, resultCode?: string, anyError?: boolean, singleCsv?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Blob>>;\n public exportDatarecords(type: string, hashedSession?: string, usersId?: number, operations?: Array<string>, fromDate?: Date, toDate?: Date, resultCode?: string, anyError?: boolean, singleCsv?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Blob>>;\n public exportDatarecords(type: string, hashedSession?: string, usersId?: number, operations?: Array<string>, fromDate?: Date, toDate?: Date, resultCode?: string, anyError?: boolean, singleCsv?: boolean, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (type === null || type === undefined) {\n throw new Error('Required parameter type was null or undefined when calling exportDatarecords.');\n }\n\n let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n if (hashedSession !== undefined && hashedSession !== null) {\n queryParameters = queryParameters.set('hashedSession', <any>hashedSession);\n }\n if (usersId !== undefined && usersId !== null) {\n queryParameters = queryParameters.set('usersId', <any>usersId);\n }\n if (operations) {\n operations.forEach((element) => {\n queryParameters = queryParameters.append('operations', <any>element);\n })\n }\n if (fromDate !== undefined && fromDate !== null) {\n queryParameters = queryParameters.set('fromDate', <any>fromDate.toISOString());\n }\n if (toDate !== undefined && toDate !== null) {\n queryParameters = queryParameters.set('toDate', <any>toDate.toISOString());\n }\n if (resultCode !== undefined && resultCode !== null) {\n queryParameters = queryParameters.set('resultCode', <any>resultCode);\n }\n if (anyError !== undefined && anyError !== null) {\n queryParameters = queryParameters.set('anyError', <any>anyError);\n }\n if (singleCsv !== undefined && singleCsv !== null) {\n queryParameters = queryParameters.set('singleCsv', <any>singleCsv);\n }\n\n let headers = this.defaultHeaders;\n\n // authentication (vipera_basic) required\n if (this.configuration.username || this.configuration.password) {\n headers = headers.set('Authorization', 'Basic ' + btoa(this.configuration.username + ':' + this.configuration.password));\n }\n // authentication (vipera_cookie) required\n // authentication (vipera_oauth2) required\n if (this.configuration.accessToken) {\n const accessToken = typeof this.configuration.accessToken === 'function'\n ? this.configuration.accessToken()\n : this.configuration.accessToken;\n headers = headers.set('Authorization', 'Bearer ' + accessToken);\n }\n\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/zip',\n 'application/json'\n ];\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n // to determine the Content-Type header\n const consumes: string[] = [\n ];\n\n return this.httpClient.get(`${this.configuration.basePath}/datarecords/types/${encodeURIComponent(String(type))}/export`,\n {\n params: queryParameters,\n responseType: \"blob\",\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get datarecords by type\n * Get datarecords by type\n * @param type Datarecords type (PERFORMANCE, TRANSACTION, DIAGNOSTIC, SECURITY...)\n * @param fromDate From date (2016-08-30 17:12:46Z)\n * @param toDate To date (2016-08-30 17:12:46Z)\n * @param page Page (omit to retrieve all records at once)\n * @param pageSize Page size\n * @param sort Sorting fields\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getDatarecords(type: string, fromDate?: Date, toDate?: Date, page?: number, pageSize?: number, sort?: string, observe?: 'body', reportProgress?: boolean): Observable<DatarecordList>;\n public getDatarecords(type: string, fromDate?: Date, toDate?: Date, page?: number, pageSize?: number, sort?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DatarecordList>>;\n public getDatarecords(type: string, fromDate?: Date, toDate?: Date, page?: number, pageSize?: number, sort?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DatarecordList>>;\n public getDatarecords(type: string, fromDate?: Date, toDate?: Date, page?: number, pageSize?: number, sort?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (type === null || type === undefined) {\n throw new Error('Required parameter type was null or undefined when calling getDatarecords.');\n }\n\n let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n if (fromDate !== undefined && fromDate !== null) {\n queryParameters = queryParameters.set('fromDate', <any>fromDate.toISOString());\n }\n if (toDate !== undefined && toDate !== null) {\n queryParameters = queryParameters.set('toDate', <any>toDate.toISOString());\n }\n if (page !== undefined && page !== null) {\n queryParameters = queryParameters.set('page', <any>page);\n }\n if (pageSize !== undefined && pageSize !== null) {\n queryParameters = queryParameters.set('page_size', <any>pageSize);\n }\n if (sort !== undefined && sort !== null) {\n queryParameters = queryParameters.set('sort', <any>sort);\n }\n\n let headers = this.defaultHeaders;\n\n // authentication (vipera_basic) required\n if (this.configuration.username || this.configuration.password) {\n headers = headers.set('Authorization', 'Basic ' + btoa(this.configuration.username + ':' + this.configuration.password));\n }\n // authentication (vipera_cookie) required\n // authentication (vipera_oauth2) required\n if (this.configuration.accessToken) {\n const accessToken = typeof this.configuration.accessToken === 'function'\n ? this.configuration.accessToken()\n : this.configuration.accessToken;\n headers = headers.set('Authorization', 'Bearer ' + accessToken);\n }\n\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n // to determine the Content-Type header\n const consumes: string[] = [\n ];\n\n return this.httpClient.get<DatarecordList>(`${this.configuration.basePath}/datarecords/types/${encodeURIComponent(String(type))}`,\n {\n params: queryParameters,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Retrieve datarecords types\n * Retrieve datarecords types\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getDatarecordsTypes(observe?: 'body', reportProgress?: boolean): Observable<Array<string>>;\n public getDatarecordsTypes(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<string>>>;\n public getDatarecordsTypes(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<string>>>;\n public getDatarecordsTypes(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n let headers = this.defaultHeaders;\n\n // authentication (vipera_basic) required\n if (this.configuration.username || this.configuration.password) {\n headers = headers.set('Authorization', 'Basic ' + btoa(this.configuration.username + ':' + this.configuration.password));\n }\n // authentication (vipera_cookie) required\n // authentication (vipera_oauth2) required\n if (this.configuration.accessToken) {\n const accessToken = typeof this.configuration.accessToken === 'function'\n ? this.configuration.accessToken()\n : this.configuration.accessToken;\n headers = headers.set('Authorization', 'Bearer ' + accessToken);\n }\n\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n // to determine the Content-Type header\n const consumes: string[] = [\n ];\n\n return this.httpClient.get<Array<string>>(`${this.configuration.basePath}/datarecords/types`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Verify datarecords export with these param queries don\\'t exceed limits\n * Verify datarecords export with these param queries don\\'t exceed limits\n * @param type Datarecords type (PERFORMANCE, TRANSACTION, DIAGNOSTIC, SECURITY...)\n * @param hashedSession Hashed session (SHA512)\n * @param usersId User natural ID\n * @param operations Operations list\n * @param fromDate From date (2016-08-30 17:12:46Z)\n * @param toDate To date (2016-08-30 17:12:46Z)\n * @param resultCode Result code\n * @param anyError Default value is false\n * @param singleCsv Default value is true\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public verifyDatarecordsExport(type: string, hashedSession?: string, usersId?: number, operations?: Array<string>, fromDate?: Date, toDate?: Date, resultCode?: string, anyError?: boolean, singleCsv?: boolean, observe?: 'body', reportProgress?: boolean): Observable<object>;\n public verifyDatarecordsExport(type: string, hashedSession?: string, usersId?: number, operations?: Array<string>, fromDate?: Date, toDate?: Date, resultCode?: string, anyError?: boolean, singleCsv?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<object>>;\n public verifyDatarecordsExport(type: string, hashedSession?: string, usersId?: number, operations?: Array<string>, fromDate?: Date, toDate?: Date, resultCode?: string, anyError?: boolean, singleCsv?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<object>>;\n public verifyDatarecordsExport(type: string, hashedSession?: string, usersId?: number, operations?: Array<string>, fromDate?: Date, toDate?: Date, resultCode?: string, anyError?: boolean, singleCsv?: boolean, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (type === null || type === undefined) {\n throw new Error('Required parameter type was null or undefined when calling verifyDatarecordsExport.');\n }\n\n let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n if (hashedSession !== undefined && hashedSession !== null) {\n queryParameters = queryParameters.set('hashedSession', <any>hashedSession);\n }\n if (usersId !== undefined && usersId !== null) {\n queryParameters = queryParameters.set('usersId', <any>usersId);\n }\n if (operations) {\n operations.forEach((element) => {\n queryParameters = queryParameters.append('operations', <any>element);\n })\n }\n if (fromDate !== undefined && fromDate !== null) {\n queryParameters = queryParameters.set('fromDate', <any>fromDate.toISOString());\n }\n if (toDate !== undefined && toDate !== null) {\n queryParameters = queryParameters.set('toDate', <any>toDate.toISOString());\n }\n if (resultCode !== undefined && resultCode !== null) {\n queryParameters = queryParameters.set('resultCode', <any>resultCode);\n }\n if (anyError !== undefined && anyError !== null) {\n queryParameters = queryParameters.set('anyError', <any>anyError);\n }\n if (singleCsv !== undefined && singleCsv !== null) {\n queryParameters = queryParameters.set('singleCsv', <any>singleCsv);\n }\n\n let headers = this.defaultHeaders;\n\n // authentication (vipera_basic) required\n if (this.configuration.username || this.configuration.password) {\n headers = headers.set('Authorization', 'Basic ' + btoa(this.configuration.username + ':' + this.configuration.password));\n }\n // authentication (vipera_cookie) required\n // authentication (vipera_oauth2) required\n if (this.configuration.accessToken) {\n const accessToken = typeof this.configuration.accessToken === 'function'\n ? this.configuration.accessToken()\n : this.configuration.accessToken;\n headers = headers.set('Authorization', 'Bearer ' + accessToken);\n }\n\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n // to determine the Content-Type header\n const consumes: string[] = [\n ];\n\n return this.httpClient.get<object>(`${this.configuration.basePath}/datarecords/types/${encodeURIComponent(String(type))}/export/verify`,\n {\n params: queryParameters,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","export * from './datarecords.service';\nimport { DatarecordsService } from './datarecords.service';\nexport * from './datarecords.serviceInterface'\nexport const APIS = [DatarecordsService];\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n 'csv': ',',\n 'tsv': ' ',\n 'ssv': ' ',\n 'pipes': '|'\n}\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\n\nimport { DatarecordsService } from './api/datarecords.service';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [],\n providers: [\n DatarecordsService ]\n})\nexport class DatarecordsServiceModule {\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\n return {\n ngModule: DatarecordsServiceModule,\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: DatarecordsServiceModule,\n @Optional() http: HttpClient) {\n if (parentModule) {\n throw new Error('DatarecordsServiceModule is already loaded. Import in your base AppModule only.');\n }\n if (!http) {\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n 'See also https://github.com/angular/angular/issues/20575');\n }\n }\n}\n"],"names":[],"mappings":"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"}