Repository URL to install this package:
{"version":3,"file":"wa-motif-open-api-context-service.js.map","sources":["ng://@wa-motif-open-api/context-service/lib/configuration.ts","ng://@wa-motif-open-api/context-service/lib/api/attributes.service.ts","ng://@wa-motif-open-api/context-service/lib/api/contexts.service.ts","ng://@wa-motif-open-api/context-service/lib/api/values.service.ts","ng://@wa-motif-open-api/context-service/lib/api/api.ts","ng://@wa-motif-open-api/context-service/lib/variables.ts","ng://@wa-motif-open-api/context-service/lib/api.module.ts"],"sourcesContent":["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 Context 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 { ErrorVipera } from '../model/errorVipera';\nimport { ServiceContextAttribute } from '../model/serviceContextAttribute';\nimport { ServiceContextAttributeCreate } from '../model/serviceContextAttributeCreate';\nimport { ServiceContextAttributeUpdate } from '../model/serviceContextAttributeUpdate';\n\nimport { WC_API_BASE_PATH } from 'web-console-core';\nimport { Configuration } from '../configuration';\nimport { AttributesServiceInterface } from './attributes.serviceInterface';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AttributesService implements AttributesServiceInterface {\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 * Creates a Service Context Attribute\n * Creates a Service Context Attribute\n * @param serviceContextAttributeCreate \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 createAttribute(serviceContextAttributeCreate?: ServiceContextAttributeCreate, observe?: 'body', reportProgress?: boolean): Observable<ServiceContextAttribute>;\n public createAttribute(serviceContextAttributeCreate?: ServiceContextAttributeCreate, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ServiceContextAttribute>>;\n public createAttribute(serviceContextAttributeCreate?: ServiceContextAttributeCreate, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ServiceContextAttribute>>;\n public createAttribute(serviceContextAttributeCreate?: ServiceContextAttributeCreate, 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 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n return this.httpClient.post<ServiceContextAttribute>(`${this.configuration.basePath}/contextservice/attributes`,\n serviceContextAttributeCreate,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Deletes a Service Context Attribute\n * Deletes a Service Context Attribute\n * @param attribute Attribute Name\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 deleteAttribute(attribute: string, observe?: 'body', reportProgress?: boolean): Observable<object>;\n public deleteAttribute(attribute: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<object>>;\n public deleteAttribute(attribute: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<object>>;\n public deleteAttribute(attribute: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (attribute === null || attribute === undefined) {\n throw new Error('Required parameter attribute was null or undefined when calling deleteAttribute.');\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.delete<object>(`${this.configuration.basePath}/contextservice/attributes/${encodeURIComponent(String(attribute))}`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Retrieves a Service Context Attribute\n * Retrieves a Service Context Attribute\n * @param attribute Attribute Name\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 getAttribute(attribute: string, observe?: 'body', reportProgress?: boolean): Observable<ServiceContextAttribute>;\n public getAttribute(attribute: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ServiceContextAttribute>>;\n public getAttribute(attribute: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ServiceContextAttribute>>;\n public getAttribute(attribute: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (attribute === null || attribute === undefined) {\n throw new Error('Required parameter attribute was null or undefined when calling getAttribute.');\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<ServiceContextAttribute>(`${this.configuration.basePath}/contextservice/attributes/${encodeURIComponent(String(attribute))}`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Retrieves all Service Context Attributes\n * Retrieves all Service Context Attributes\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 getAttributes(observe?: 'body', reportProgress?: boolean): Observable<Array<ServiceContextAttribute>>;\n public getAttributes(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<ServiceContextAttribute>>>;\n public getAttributes(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<ServiceContextAttribute>>>;\n public getAttributes(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<ServiceContextAttribute>>(`${this.configuration.basePath}/contextservice/attributes`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Updates a Service Context Attribute\n * Updates a Service Context Attribute\n * @param attribute Attribute Name\n * @param serviceContextAttributeUpdate \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 updateAttribute(attribute: string, serviceContextAttributeUpdate?: ServiceContextAttributeUpdate, observe?: 'body', reportProgress?: boolean): Observable<object>;\n public updateAttribute(attribute: string, serviceContextAttributeUpdate?: ServiceContextAttributeUpdate, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<object>>;\n public updateAttribute(attribute: string, serviceContextAttributeUpdate?: ServiceContextAttributeUpdate, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<object>>;\n public updateAttribute(attribute: string, serviceContextAttributeUpdate?: ServiceContextAttributeUpdate, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (attribute === null || attribute === undefined) {\n throw new Error('Required parameter attribute was null or undefined when calling updateAttribute.');\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 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n return this.httpClient.put<object>(`${this.configuration.basePath}/contextservice/attributes/${encodeURIComponent(String(attribute))}`,\n serviceContextAttributeUpdate,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Motif Context 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 { ErrorVipera } from '../model/errorVipera';\nimport { ServiceContext } from '../model/serviceContext';\nimport { ServiceContextCreate } from '../model/serviceContextCreate';\nimport { ServiceContextUpdate } from '../model/serviceContextUpdate';\n\nimport { WC_API_BASE_PATH } from 'web-console-core';\nimport { Configuration } from '../configuration';\nimport { ContextsServiceInterface } from './contexts.serviceInterface';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContextsService implements ContextsServiceInterface {\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 * Creates a Service Context\n * Creates a Service Context\n * @param domain Domain Name\n * @param application Application Name\n * @param serviceContextCreate \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 createContext(domain: string, application: string, serviceContextCreate?: ServiceContextCreate, observe?: 'body', reportProgress?: boolean): Observable<ServiceContext>;\n public createContext(domain: string, application: string, serviceContextCreate?: ServiceContextCreate, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ServiceContext>>;\n public createContext(domain: string, application: string, serviceContextCreate?: ServiceContextCreate, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ServiceContext>>;\n public createContext(domain: string, application: string, serviceContextCreate?: ServiceContextCreate, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling createContext.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling createContext.');\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 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n return this.httpClient.post<ServiceContext>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts`,\n serviceContextCreate,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Deletes a Service Context\n * Deletes a Service Context\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\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 deleteContext(domain: string, application: string, context: string, observe?: 'body', reportProgress?: boolean): Observable<object>;\n public deleteContext(domain: string, application: string, context: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<object>>;\n public deleteContext(domain: string, application: string, context: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<object>>;\n public deleteContext(domain: string, application: string, context: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling deleteContext.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling deleteContext.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling deleteContext.');\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.delete<object>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Disables a Service Context\n * Disables a Service Context\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\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 disableContext(domain: string, application: string, context: string, observe?: 'body', reportProgress?: boolean): Observable<object>;\n public disableContext(domain: string, application: string, context: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<object>>;\n public disableContext(domain: string, application: string, context: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<object>>;\n public disableContext(domain: string, application: string, context: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling disableContext.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling disableContext.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling disableContext.');\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.delete<object>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}/enable`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Enables a Service Context\n * Enables a Service Context\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\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 enableContext(domain: string, application: string, context: string, observe?: 'body', reportProgress?: boolean): Observable<object>;\n public enableContext(domain: string, application: string, context: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<object>>;\n public enableContext(domain: string, application: string, context: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<object>>;\n public enableContext(domain: string, application: string, context: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling enableContext.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling enableContext.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling enableContext.');\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.post<object>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}/enable`,\n null,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Retrieves all Service Contexts given an application\n * Retrieves all Service Contexts given an application\n * @param domain Domain Name\n * @param application Application Name\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 getApplicationContexts(domain: string, application: string, observe?: 'body', reportProgress?: boolean): Observable<Array<ServiceContext>>;\n public getApplicationContexts(domain: string, application: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<ServiceContext>>>;\n public getApplicationContexts(domain: string, application: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<ServiceContext>>>;\n public getApplicationContexts(domain: string, application: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling getApplicationContexts.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling getApplicationContexts.');\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<Array<ServiceContext>>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Retrieves a Service Context\n * Retrieves a Service Context\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\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 getContext(domain: string, application: string, context: string, observe?: 'body', reportProgress?: boolean): Observable<ServiceContext>;\n public getContext(domain: string, application: string, context: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ServiceContext>>;\n public getContext(domain: string, application: string, context: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ServiceContext>>;\n public getContext(domain: string, application: string, context: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling getContext.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling getContext.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling getContext.');\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<ServiceContext>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Retrieves all Service Contexts\n * Retrieves all Service Contexts\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 getContexts(observe?: 'body', reportProgress?: boolean): Observable<Array<ServiceContext>>;\n public getContexts(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<ServiceContext>>>;\n public getContexts(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<ServiceContext>>>;\n public getContexts(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<ServiceContext>>(`${this.configuration.basePath}/contextservice/contexts`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Updates a Service Context\n * Updates a Service Context\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\n * @param serviceContextUpdate \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 updateContext(domain: string, application: string, context: string, serviceContextUpdate?: ServiceContextUpdate, observe?: 'body', reportProgress?: boolean): Observable<object>;\n public updateContext(domain: string, application: string, context: string, serviceContextUpdate?: ServiceContextUpdate, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<object>>;\n public updateContext(domain: string, application: string, context: string, serviceContextUpdate?: ServiceContextUpdate, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<object>>;\n public updateContext(domain: string, application: string, context: string, serviceContextUpdate?: ServiceContextUpdate, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling updateContext.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling updateContext.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling updateContext.');\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 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n return this.httpClient.put<object>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}`,\n serviceContextUpdate,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Motif Context 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 { ErrorVipera } from '../model/errorVipera';\nimport { ServiceContextValue } from '../model/serviceContextValue';\nimport { Value } from '../model/value';\nimport { ValueCreate } from '../model/valueCreate';\n\nimport { WC_API_BASE_PATH } from 'web-console-core';\nimport { Configuration } from '../configuration';\nimport { ValuesServiceInterface } from './values.serviceInterface';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ValuesService implements ValuesServiceInterface {\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 * Creates a Service Context Value\n * Creates a Service Context Value\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\n * @param valueCreate \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 createValue(domain: string, application: string, context: string, valueCreate?: ValueCreate, observe?: 'body', reportProgress?: boolean): Observable<ServiceContextValue>;\n public createValue(domain: string, application: string, context: string, valueCreate?: ValueCreate, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ServiceContextValue>>;\n public createValue(domain: string, application: string, context: string, valueCreate?: ValueCreate, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ServiceContextValue>>;\n public createValue(domain: string, application: string, context: string, valueCreate?: ValueCreate, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling createValue.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling createValue.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling createValue.');\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 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n return this.httpClient.post<ServiceContextValue>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}/attributes`,\n valueCreate,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Deletes a Service Context Value\n * Deletes a Service Context Value\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\n * @param attribute Attribute Name\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 deleteValue(domain: string, application: string, context: string, attribute: string, observe?: 'body', reportProgress?: boolean): Observable<object>;\n public deleteValue(domain: string, application: string, context: string, attribute: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<object>>;\n public deleteValue(domain: string, application: string, context: string, attribute: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<object>>;\n public deleteValue(domain: string, application: string, context: string, attribute: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling deleteValue.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling deleteValue.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling deleteValue.');\n }\n if (attribute === null || attribute === undefined) {\n throw new Error('Required parameter attribute was null or undefined when calling deleteValue.');\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.delete<object>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}/attributes/${encodeURIComponent(String(attribute))}`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Retrieves a Service Context Value\n * Retrieves a Service Context Value\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\n * @param attribute Attribute Name\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 getValue(domain: string, application: string, context: string, attribute: string, observe?: 'body', reportProgress?: boolean): Observable<ServiceContextValue>;\n public getValue(domain: string, application: string, context: string, attribute: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ServiceContextValue>>;\n public getValue(domain: string, application: string, context: string, attribute: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ServiceContextValue>>;\n public getValue(domain: string, application: string, context: string, attribute: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling getValue.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling getValue.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling getValue.');\n }\n if (attribute === null || attribute === undefined) {\n throw new Error('Required parameter attribute was null or undefined when calling getValue.');\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<ServiceContextValue>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}/attributes/${encodeURIComponent(String(attribute))}`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Retrieves Service Context Values\n * Retrieves Service Context Values\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\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 getValues(domain: string, application: string, context: string, observe?: 'body', reportProgress?: boolean): Observable<Array<ServiceContextValue>>;\n public getValues(domain: string, application: string, context: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<ServiceContextValue>>>;\n public getValues(domain: string, application: string, context: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<ServiceContextValue>>>;\n public getValues(domain: string, application: string, context: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling getValues.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling getValues.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling getValues.');\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<Array<ServiceContextValue>>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}/attributes`,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Updates a Service Context Value\n * Updates a Service Context Value\n * @param domain Domain Name\n * @param application Application Name\n * @param context Context Name\n * @param attribute Attribute Name\n * @param value \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 updateValue(domain: string, application: string, context: string, attribute: string, value?: Value, observe?: 'body', reportProgress?: boolean): Observable<object>;\n public updateValue(domain: string, application: string, context: string, attribute: string, value?: Value, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<object>>;\n public updateValue(domain: string, application: string, context: string, attribute: string, value?: Value, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<object>>;\n public updateValue(domain: string, application: string, context: string, attribute: string, value?: Value, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n if (domain === null || domain === undefined) {\n throw new Error('Required parameter domain was null or undefined when calling updateValue.');\n }\n if (application === null || application === undefined) {\n throw new Error('Required parameter application was null or undefined when calling updateValue.');\n }\n if (context === null || context === undefined) {\n throw new Error('Required parameter context was null or undefined when calling updateValue.');\n }\n if (attribute === null || attribute === undefined) {\n throw new Error('Required parameter attribute was null or undefined when calling updateValue.');\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 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n return this.httpClient.put<object>(`${this.configuration.basePath}/contextservice/domains/${encodeURIComponent(String(domain))}/applications/${encodeURIComponent(String(application))}/contexts/${encodeURIComponent(String(context))}/attributes/${encodeURIComponent(String(attribute))}`,\n value,\n {\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","export * from './attributes.service';\nimport { AttributesService } from './attributes.service';\nexport * from './attributes.serviceInterface'\nexport * from './contexts.service';\nimport { ContextsService } from './contexts.service';\nexport * from './contexts.serviceInterface'\nexport * from './values.service';\nimport { ValuesService } from './values.service';\nexport * from './values.serviceInterface'\nexport const APIS = [AttributesService, ContextsService, ValuesService];\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 { AttributesService } from './api/attributes.service';\nimport { ContextsService } from './api/contexts.service';\nimport { ValuesService } from './api/values.service';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [],\n providers: [\n AttributesService,\n ContextsService,\n ValuesService ]\n})\nexport class ContextServiceModule {\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\n return {\n ngModule: ContextServiceModule,\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: ContextServiceModule,\n @Optional() http: HttpClient) {\n if (parentModule) {\n throw new Error('ContextServiceModule 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":["tslib_1.__values"],"mappings":"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"}