Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

vipera-npm-registry / @wa-motif-open-api/context-service   js

Repository URL to install this package:

Version: 0.6.0 

/ bundles / wa-motif-open-api-context-service.umd.js.map

{"version":3,"file":"wa-motif-open-api-context-service.umd.js.map","sources":["../../../node_modules/tslib/tslib.es6.js","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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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 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":["HttpHeaders","tslib_1.__values","Injectable","HttpClient","Optional","Inject","WC_API_BASE_PATH","InjectionToken","NgModule","SkipSelf"],"mappings":"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"}