@energycap/energycapid-sdk-angular 1.2112.53-ECAPID-356-ApplicationInstance-Get-API-20220106-1621 → 1.2112.57-develop-20220119-1725

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"energycap-energycapid-sdk-angular.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../variables.ts","../../configuration.ts","../../api/application.service.ts","../../api/applicationInstance.service.ts","../../api/auth.service.ts","../../api/dataSource.service.ts","../../api/domainJoinType.service.ts","../../api/environment.service.ts","../../api/me.service.ts","../../api/notification.service.ts","../../api/organization.service.ts","../../api/organizationApplication.service.ts","../../api/user.service.ts","../../api/api.ts","../../model/aPIFilter.ts","../../model/aPIOrderBy.ts","../../model/allUserPermissionsResponse.ts","../../model/applicationInstanceDetailResponse.ts","../../model/applicationInstanceRedirectResponse.ts","../../model/applicationInstanceResponse.ts","../../model/applicationInstanceUserResponse.ts","../../model/applicationResponse.ts","../../model/changePasswordRequest.ts","../../model/createOrganizationRequest.ts","../../model/dataSourceResponse.ts","../../model/dataSourceUpdateRequest.ts","../../model/domainAccessControlResponse.ts","../../model/domainJoinTypeResponse.ts","../../model/entityPermission.ts","../../model/environmentResponse.ts","../../model/hierarchicalOrganizations.ts","../../model/hierarchicalOrganizations2.ts","../../model/inviteUserRequest.ts","../../model/linkDataSourceRequest.ts","../../model/loginResponse.ts","../../model/loginSourceResponse.ts","../../model/notificationBadgeResponse.ts","../../model/notificationCategory.ts","../../model/notificationResponse.ts","../../model/notificationSettingRequest.ts","../../model/notificationType.ts","../../model/notificationUpdateRequest.ts","../../model/organizationAccessControlResponse.ts","../../model/organizationApplicationResponse.ts","../../model/organizationDetailResponse.ts","../../model/organizationResponse.ts","../../model/organizationUserResponse.ts","../../model/resetPasswordRequest.ts","../../model/roleEnum.ts","../../model/selfCreateUserRequest.ts","../../model/updateMeRequest.ts","../../model/updateOrganizationAccessControlRequest.ts","../../model/updateOrganizationDetailsRequest.ts","../../model/updateResult.ts","../../model/userApplicationInstanceResponse.ts","../../model/userAuthResultEnum.ts","../../model/userChild.ts","../../model/userLoginRequest.ts","../../model/userOrganizationResponse.ts","../../model/userPermissionRequest.ts","../../model/userPermissionResponse.ts","../../model/userResponse.ts","../../model/userStatusEnum.ts","../../model/validatePasswordRequest.ts","../../model/validatePasswordResponse.ts","../../api.module.ts","../../energycap-energycapid-sdk-angular.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const BASE_PATH = new InjectionToken<string>('basePath');\r\nexport const COLLECTION_FORMATS = {\r\n 'csv': ',',\r\n 'tsv': ' ',\r\n 'ssv': ' ',\r\n 'pipes': '|'\r\n}","export interface ConfigurationParameters {\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n accessToken?: string;\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n}\r\n\r\nexport class Configuration {\r\n apiKeys: {[ key: string ]: string};\r\n username: string;\r\n password: string;\r\n accessToken: string | (() => string);\r\n basePath: string;\r\n withCredentials: boolean;\r\n\r\n constructor(configurationParameters: ConfigurationParameters = {}) {\r\n if (configurationParameters.apiKeys) {\r\n this.apiKeys = <{ [key: string]: string }>configurationParameters.apiKeys;\r\n }\r\n\r\n if (this.username) {\r\n this.username = <string>configurationParameters.username;\r\n }\r\n\r\n if (this.password) {\r\n this.password = <string>configurationParameters.password;\r\n }\r\n\r\n if (this.accessToken) {\r\n this.accessToken = <string>configurationParameters.accessToken;\r\n }\r\n\r\n if (this.basePath) {\r\n this.basePath = <string>configurationParameters.basePath;\r\n }\r\n if (this.withCredentials) {\r\n this.withCredentials = <boolean>configurationParameters.withCredentials;\r\n }\r\n }\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { ApplicationResponse } from '../model/applicationResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class ApplicationService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * A list of all applications to which the current user has access.\r\n * \r\n */\r\n public getMyApplications(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<ApplicationResponse>> {\r\n return this.getMyApplicationsWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<ApplicationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * A list of all applications to which the current user has access.\r\n * \r\n */\r\n public getMyApplicationsWithHttpInfo(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<ApplicationResponse>>> {\r\n const path = this.basePath + '/api/v202108/Application';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<ApplicationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { ApplicationInstanceDetailResponse } from '../model/applicationInstanceDetailResponse';\r\nimport { ApplicationInstanceRedirectResponse } from '../model/applicationInstanceRedirectResponse';\r\nimport { ApplicationInstanceResponse } from '../model/applicationInstanceResponse';\r\nimport { ApplicationInstanceUserResponse } from '../model/applicationInstanceUserResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class ApplicationInstanceService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Provides details to an application instance\r\n * \r\n * @param applicationInstanceId \r\n * @param body Id of the application instance to return\r\n */\r\n public getApplicationInstanceDetails(applicationInstanceId: string, body?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<ApplicationInstanceDetailResponse>> {\r\n return this.getApplicationInstanceDetailsWithHttpInfo(applicationInstanceId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<ApplicationInstanceDetailResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Provides the data needed to redirect the user to the specified application instance\r\n * If the Application Instance is configured with an Alias, the exchange URL from the Alias will be returned instead of that from the associated Application Environment.\r\n * @param applicationInstanceId The application instance ID\r\n */\r\n public getApplicationInstanceExchangeInfo(applicationInstanceId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<ApplicationInstanceRedirectResponse> {\r\n return this.getApplicationInstanceExchangeInfoWithHttpInfo(applicationInstanceId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<ApplicationInstanceRedirectResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Provides a list of user&#39;s who have access to an application instance\r\n * \r\n * @param applicationInstanceId \r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n * @param body Id of the application instance to return\r\n */\r\n public getApplicationInstanceUsers(applicationInstanceId: string, pageSize?: number, pageNumber?: number, body?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<ApplicationInstanceUserResponse>> {\r\n return this.getApplicationInstanceUsersWithHttpInfo(applicationInstanceId, pageSize, pageNumber, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<ApplicationInstanceUserResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Provides a list of all available application instances to which the logged in user has access\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all application instances to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n * @param orderBy \r\n * @param filter \r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getApplicationInstances(onlyAdmin?: boolean, orderBy?: string, filter?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<ApplicationInstanceResponse>> {\r\n return this.getApplicationInstancesWithHttpInfo(onlyAdmin, orderBy, filter, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<ApplicationInstanceResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Provides details to an application instance\r\n * \r\n * @param applicationInstanceId \r\n * @param body Id of the application instance to return\r\n */\r\n public getApplicationInstanceDetailsWithHttpInfo(applicationInstanceId: string, body?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<ApplicationInstanceDetailResponse>>> {\r\n const path = this.basePath + '/api/v202112/ApplicationInstance/${applicationInstanceId}/detail'\r\n .replace('${' + 'applicationInstanceId' + '}', String(applicationInstanceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'applicationInstanceId' is not null or undefined\r\n if (applicationInstanceId === null || applicationInstanceId === undefined) {\r\n throw new Error('Required parameter applicationInstanceId was null or undefined when calling getApplicationInstanceDetails.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<ApplicationInstanceDetailResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Provides the data needed to redirect the user to the specified application instance\r\n * If the Application Instance is configured with an Alias, the exchange URL from the Alias will be returned instead of that from the associated Application Environment.\r\n * @param applicationInstanceId The application instance ID\r\n */\r\n public getApplicationInstanceExchangeInfoWithHttpInfo(applicationInstanceId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<ApplicationInstanceRedirectResponse>> {\r\n const path = this.basePath + '/api/v202108/ApplicationInstance/${applicationInstanceId}/exchange'\r\n .replace('${' + 'applicationInstanceId' + '}', String(applicationInstanceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'applicationInstanceId' is not null or undefined\r\n if (applicationInstanceId === null || applicationInstanceId === undefined) {\r\n throw new Error('Required parameter applicationInstanceId was null or undefined when calling getApplicationInstanceExchangeInfo.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<ApplicationInstanceRedirectResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Provides a list of user&#39;s who have access to an application instance\r\n * \r\n * @param applicationInstanceId \r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n * @param body Id of the application instance to return\r\n */\r\n public getApplicationInstanceUsersWithHttpInfo(applicationInstanceId: string, pageSize?: number, pageNumber?: number, body?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<ApplicationInstanceUserResponse>>> {\r\n const path = this.basePath + '/api/v202112/ApplicationInstance/${applicationInstanceId}/user'\r\n .replace('${' + 'applicationInstanceId' + '}', String(applicationInstanceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'applicationInstanceId' is not null or undefined\r\n if (applicationInstanceId === null || applicationInstanceId === undefined) {\r\n throw new Error('Required parameter applicationInstanceId was null or undefined when calling getApplicationInstanceUsers.');\r\n }\r\n if (pageSize !== undefined) {\r\n queryParameters = queryParameters.set('pageSize', <any>pageSize);\r\n }\r\n\r\n if (pageNumber !== undefined) {\r\n queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<ApplicationInstanceUserResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Provides a list of all available application instances to which the logged in user has access\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all application instances to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n * @param orderBy \r\n * @param filter \r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getApplicationInstancesWithHttpInfo(onlyAdmin?: boolean, orderBy?: string, filter?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<ApplicationInstanceResponse>>> {\r\n const path = this.basePath + '/api/v202108/ApplicationInstance';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (onlyAdmin !== undefined) {\r\n queryParameters = queryParameters.set('onlyAdmin', <any>onlyAdmin);\r\n }\r\n\r\n if (orderBy !== undefined) {\r\n queryParameters = queryParameters.set('orderBy', <any>orderBy);\r\n }\r\n\r\n if (filter !== undefined) {\r\n queryParameters = queryParameters.set('filter', <any>filter);\r\n }\r\n\r\n if (pageSize !== undefined) {\r\n queryParameters = queryParameters.set('pageSize', <any>pageSize);\r\n }\r\n\r\n if (pageNumber !== undefined) {\r\n queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<ApplicationInstanceResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { ChangePasswordRequest } from '../model/changePasswordRequest';\r\nimport { LoginResponse } from '../model/loginResponse';\r\nimport { LoginSourceResponse } from '../model/loginSourceResponse';\r\nimport { ResetPasswordRequest } from '../model/resetPasswordRequest';\r\nimport { UserLoginRequest } from '../model/userLoginRequest';\r\nimport { ValidatePasswordRequest } from '../model/validatePasswordRequest';\r\nimport { ValidatePasswordResponse } from '../model/validatePasswordResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * This method is used when a user is logging in with a temporary password. They should have already called Login and received a RequiresNewPasswordToken. That token should be used to change the user&#39;s password. If successful, they will receive a success response with a JWT. If the password is not valid the error message will contain all reasons it does not pass ValidatePassword API returns similar information but in a friendlier response format\r\n * \r\n * @param body Data needed to change user password\r\n */\r\n public changePassword(body?: ChangePasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<LoginResponse> {\r\n return this.changePasswordWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<LoginResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to determine the login source. If a value is returned, then it is the name of the Federation Provider. If nothing is returned, then the login should occur locally\r\n * \r\n * @param lookup The lookup value to use when looking up the federation provider. May be the email of the user, an alias, etc\r\n */\r\n public getLoginSource(lookup?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<LoginSourceResponse> {\r\n return this.getLoginSourceWithHttpInfo(lookup, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<LoginSourceResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to authenticate a user given an authcode from the federation provider\r\n * \r\n * @param code The auth code from the IdP\r\n * @param nonce The nonce from the authentication call\r\n * @param redirectUri Use this to override the default ReplyUrl that was used for authentication\r\n */\r\n public loginWithFederationProvider(code: string, nonce?: string, redirectUri?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<LoginResponse> {\r\n return this.loginWithFederationProviderWithHttpInfo(code, nonce, redirectUri, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<LoginResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to authenticate a user given their username and password\r\n * \r\n * @param body The user login information\r\n */\r\n public loginWithUsernameAndPassword(body?: UserLoginRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<LoginResponse> {\r\n return this.loginWithUsernameAndPasswordWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<LoginResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Will attempt to reset the user&#39;s password based upon the incoming confirmation code and new password The response model will inform of a successful response. If the password is not valid the error message will contain all reasons it does not pass ValidatePassword API returns similar information but in a friendlier response format\r\n * \r\n * @param body Data to reset the user&#39;s password\r\n */\r\n public resetPassword(body?: ResetPasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.resetPasswordWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * If the user exists, an email will be sent. If the domain is a federated domain, no email will be sent\r\n * \r\n * @param email The user&#39;s email to lookup and send\r\n */\r\n public sendPasswordRecoveryEmail(email?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.sendPasswordRecoveryEmailWithHttpInfo(email, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Validates a password\r\n * \r\n * @param body Password to validate\r\n */\r\n public validatePassword(body?: ValidatePasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<ValidatePasswordResponse> {\r\n return this.validatePasswordWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<ValidatePasswordResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * This method is used when a user is logging in with a temporary password. They should have already called Login and received a RequiresNewPasswordToken. That token should be used to change the user&#39;s password. If successful, they will receive a success response with a JWT. If the password is not valid the error message will contain all reasons it does not pass ValidatePassword API returns similar information but in a friendlier response format\r\n * \r\n * @param body Data needed to change user password\r\n */\r\n public changePasswordWithHttpInfo(body?: ChangePasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<LoginResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth/ChangePassword';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<LoginResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to determine the login source. If a value is returned, then it is the name of the Federation Provider. If nothing is returned, then the login should occur locally\r\n * \r\n * @param lookup The lookup value to use when looking up the federation provider. May be the email of the user, an alias, etc\r\n */\r\n public getLoginSourceWithHttpInfo(lookup?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<LoginSourceResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth/source';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (lookup !== undefined) {\r\n queryParameters = queryParameters.set('lookup', <any>lookup);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<LoginSourceResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to authenticate a user given an authcode from the federation provider\r\n * \r\n * @param code The auth code from the IdP\r\n * @param nonce The nonce from the authentication call\r\n * @param redirectUri Use this to override the default ReplyUrl that was used for authentication\r\n */\r\n public loginWithFederationProviderWithHttpInfo(code: string, nonce?: string, redirectUri?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<LoginResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth/${code}'\r\n .replace('${' + 'code' + '}', String(code));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'code' is not null or undefined\r\n if (code === null || code === undefined) {\r\n throw new Error('Required parameter code was null or undefined when calling loginWithFederationProvider.');\r\n }\r\n if (nonce !== undefined) {\r\n queryParameters = queryParameters.set('nonce', <any>nonce);\r\n }\r\n\r\n if (redirectUri !== undefined) {\r\n queryParameters = queryParameters.set('redirectUri', <any>redirectUri);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<LoginResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to authenticate a user given their username and password\r\n * \r\n * @param body The user login information\r\n */\r\n public loginWithUsernameAndPasswordWithHttpInfo(body?: UserLoginRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<LoginResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<LoginResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Will attempt to reset the user&#39;s password based upon the incoming confirmation code and new password The response model will inform of a successful response. If the password is not valid the error message will contain all reasons it does not pass ValidatePassword API returns similar information but in a friendlier response format\r\n * \r\n * @param body Data to reset the user&#39;s password\r\n */\r\n public resetPasswordWithHttpInfo(body?: ResetPasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/Auth/ResetPassword';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * If the user exists, an email will be sent. If the domain is a federated domain, no email will be sent\r\n * \r\n * @param email The user&#39;s email to lookup and send\r\n */\r\n public sendPasswordRecoveryEmailWithHttpInfo(email?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/Auth/ForgotPassword';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (email !== undefined) {\r\n queryParameters = queryParameters.set('email', <any>email);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Validates a password\r\n * \r\n * @param body Password to validate\r\n */\r\n public validatePasswordWithHttpInfo(body?: ValidatePasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<ValidatePasswordResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth/ValidatePassword';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<ValidatePasswordResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { DataSourceResponse } from '../model/dataSourceResponse';\r\nimport { DataSourceUpdateRequest } from '../model/dataSourceUpdateRequest';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class DataSourceService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets information about a data source\r\n * \r\n * @param dataSourceId The id of the data source to return\r\n */\r\n public getDataSourceById(dataSourceId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<DataSourceResponse> {\r\n return this.getDataSourceByIdWithHttpInfo(dataSourceId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<DataSourceResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets the data sources to which the logged in user has access.\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all data sources to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n */\r\n public getDataSources(onlyAdmin?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<DataSourceResponse>> {\r\n return this.getDataSourcesWithHttpInfo(onlyAdmin, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<DataSourceResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Updates the specified data source. Only the fields with values will be updated. The dataSourceId must exist, and the logged in user must be an admin on the data source\r\n * \r\n * @param dataSourceId The id of the data source to update\r\n * @param body The values to update on the data source. If a value is null or whitespace it will not be updated\r\n */\r\n public updateDataSource(dataSourceId: string, body?: DataSourceUpdateRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<DataSourceResponse> {\r\n return this.updateDataSourceWithHttpInfo(dataSourceId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<DataSourceResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Gets information about a data source\r\n * \r\n * @param dataSourceId The id of the data source to return\r\n */\r\n public getDataSourceByIdWithHttpInfo(dataSourceId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<DataSourceResponse>> {\r\n const path = this.basePath + '/api/v202108/DataSource/${dataSourceId}'\r\n .replace('${' + 'dataSourceId' + '}', String(dataSourceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'dataSourceId' is not null or undefined\r\n if (dataSourceId === null || dataSourceId === undefined) {\r\n throw new Error('Required parameter dataSourceId was null or undefined when calling getDataSourceById.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<DataSourceResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets the data sources to which the logged in user has access.\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all data sources to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n */\r\n public getDataSourcesWithHttpInfo(onlyAdmin?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<DataSourceResponse>>> {\r\n const path = this.basePath + '/api/v202108/DataSource';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (onlyAdmin !== undefined) {\r\n queryParameters = queryParameters.set('onlyAdmin', <any>onlyAdmin);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<DataSourceResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Updates the specified data source. Only the fields with values will be updated. The dataSourceId must exist, and the logged in user must be an admin on the data source\r\n * \r\n * @param dataSourceId The id of the data source to update\r\n * @param body The values to update on the data source. If a value is null or whitespace it will not be updated\r\n */\r\n public updateDataSourceWithHttpInfo(dataSourceId: string, body?: DataSourceUpdateRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<DataSourceResponse>> {\r\n const path = this.basePath + '/api/v202108/DataSource/${dataSourceId}'\r\n .replace('${' + 'dataSourceId' + '}', String(dataSourceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'dataSourceId' is not null or undefined\r\n if (dataSourceId === null || dataSourceId === undefined) {\r\n throw new Error('Required parameter dataSourceId was null or undefined when calling updateDataSource.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<DataSourceResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { DomainJoinTypeResponse } from '../model/domainJoinTypeResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class DomainJoinTypeService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets a list of all Domain Join Types\r\n * \r\n */\r\n public getDomainJoinTypes(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<DomainJoinTypeResponse>> {\r\n return this.getDomainJoinTypesWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<DomainJoinTypeResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Gets a list of all Domain Join Types\r\n * \r\n */\r\n public getDomainJoinTypesWithHttpInfo(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<DomainJoinTypeResponse>>> {\r\n const path = this.basePath + '/api/v202112/DomainJoinType';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<DomainJoinTypeResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { EnvironmentResponse } from '../model/environmentResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * A List of environments. By default only those the current user has access to. Use the query parameter to get all environments\r\n * \r\n * @param includeAll Defaults to false. If false, returns only environments to which the current user has access. When true, returns a list of all environments. This is useful for data source linking\r\n */\r\n public getEnvironments(includeAll?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<EnvironmentResponse>> {\r\n return this.getEnvironmentsWithHttpInfo(includeAll, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<EnvironmentResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * A List of environments. By default only those the current user has access to. Use the query parameter to get all environments\r\n * \r\n * @param includeAll Defaults to false. If false, returns only environments to which the current user has access. When true, returns a list of all environments. This is useful for data source linking\r\n */\r\n public getEnvironmentsWithHttpInfo(includeAll?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<EnvironmentResponse>>> {\r\n const path = this.basePath + '/api/v202108/Environment';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (includeAll !== undefined) {\r\n queryParameters = queryParameters.set('includeAll', <any>includeAll);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<EnvironmentResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { LinkDataSourceRequest } from '../model/linkDataSourceRequest';\r\nimport { NotificationSettingRequest } from '../model/notificationSettingRequest';\r\nimport { UpdateMeRequest } from '../model/updateMeRequest';\r\nimport { UserResponse } from '../model/userResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class MeService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Use this method to get information about the currently authenticated user\r\n * \r\n */\r\n public getMe(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.getMeWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Will allow a user to link to a data source that they don&#39;t have access to based upon their login name\r\n * \r\n * @param body Information needed to connect to the data source\r\n */\r\n public linkMyUserToDataSource(body?: LinkDataSourceRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.linkMyUserToDataSourceWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to update the currently authenticated user&#39;s information\r\n * \r\n * @param body The user information to update\r\n */\r\n public updateMyInformation(body?: UpdateMeRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.updateMyInformationWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to update the currently authenticated user&#39;s notification settings\r\n * \r\n * @param body The user notification settings to update\r\n */\r\n public updateMyNotificationSetting(body?: NotificationSettingRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.updateMyNotificationSettingWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Use this method to get information about the currently authenticated user\r\n * \r\n */\r\n public getMeWithHttpInfo(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/Me';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Will allow a user to link to a data source that they don&#39;t have access to based upon their login name\r\n * \r\n * @param body Information needed to connect to the data source\r\n */\r\n public linkMyUserToDataSourceWithHttpInfo(body?: LinkDataSourceRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/Me/dataSource/link';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to update the currently authenticated user&#39;s information\r\n * \r\n * @param body The user information to update\r\n */\r\n public updateMyInformationWithHttpInfo(body?: UpdateMeRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/Me';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to update the currently authenticated user&#39;s notification settings\r\n * \r\n * @param body The user notification settings to update\r\n */\r\n public updateMyNotificationSettingWithHttpInfo(body?: NotificationSettingRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/Me/notificationsetting';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { NotificationBadgeResponse } from '../model/notificationBadgeResponse';\r\nimport { NotificationResponse } from '../model/notificationResponse';\r\nimport { NotificationUpdateRequest } from '../model/notificationUpdateRequest';\r\nimport { UpdateResult } from '../model/updateResult';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Get the last 250 notifications for the current user\r\n * \r\n */\r\n public getMyNotifications(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<NotificationResponse>> {\r\n return this.getMyNotificationsWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<NotificationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Get a specific notification for the current user\r\n * \r\n * @param notificationId Id of the notification to get\r\n */\r\n public getNotification(notificationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<NotificationResponse> {\r\n return this.getNotificationWithHttpInfo(notificationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<NotificationResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Get total number of notifications that are unread and unarchived for the current user. Use lastCheckDateTimeUtc to get the number of new notifications since the passed in date and time. By default, only the latest 250 notifications will be taken into account. Use the &#39;noLimit&#39; query parameter to override this behavior.\r\n * \r\n * @param lastCheckDateTimeUtc Used when calculating the number of new notifications. Must be a UTC DateTime in the format yyyy-MM-ddTHH:mm:ssZ. If not passed the TotalNotifications and NewNotifications will be equal.\r\n * @param noLimit If true, will return the badge totals for all of the user&#39;s notifications, not just the 250 most recent ones\r\n */\r\n public getNotificationBadgeTotals(lastCheckDateTimeUtc?: Date, noLimit?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<NotificationBadgeResponse> {\r\n return this.getNotificationBadgeTotalsWithHttpInfo(lastCheckDateTimeUtc, noLimit, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<NotificationBadgeResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Update a list of notifications based on the notification ids and action passed in Only notifications for the current user can be updated\r\n * \r\n * @param body List of notification ids and action to perform\r\n */\r\n public updateListOfNotifications(body?: NotificationUpdateRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UpdateResult> {\r\n return this.updateListOfNotificationsWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UpdateResult>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Get the last 250 notifications for the current user\r\n * \r\n */\r\n public getMyNotificationsWithHttpInfo(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<NotificationResponse>>> {\r\n const path = this.basePath + '/api/v202111/Notification';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<NotificationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Get a specific notification for the current user\r\n * \r\n * @param notificationId Id of the notification to get\r\n */\r\n public getNotificationWithHttpInfo(notificationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<NotificationResponse>> {\r\n const path = this.basePath + '/api/v202111/Notification/${notificationId}'\r\n .replace('${' + 'notificationId' + '}', String(notificationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'notificationId' is not null or undefined\r\n if (notificationId === null || notificationId === undefined) {\r\n throw new Error('Required parameter notificationId was null or undefined when calling getNotification.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<NotificationResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Get total number of notifications that are unread and unarchived for the current user. Use lastCheckDateTimeUtc to get the number of new notifications since the passed in date and time. By default, only the latest 250 notifications will be taken into account. Use the &#39;noLimit&#39; query parameter to override this behavior.\r\n * \r\n * @param lastCheckDateTimeUtc Used when calculating the number of new notifications. Must be a UTC DateTime in the format yyyy-MM-ddTHH:mm:ssZ. If not passed the TotalNotifications and NewNotifications will be equal.\r\n * @param noLimit If true, will return the badge totals for all of the user&#39;s notifications, not just the 250 most recent ones\r\n */\r\n public getNotificationBadgeTotalsWithHttpInfo(lastCheckDateTimeUtc?: Date, noLimit?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<NotificationBadgeResponse>> {\r\n const path = this.basePath + '/api/v202111/Notification/badge';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (lastCheckDateTimeUtc !== undefined) {\r\n queryParameters = queryParameters.set('lastCheckDateTimeUtc', <any>lastCheckDateTimeUtc.toISOString());\r\n }\r\n\r\n if (noLimit !== undefined) {\r\n queryParameters = queryParameters.set('noLimit', <any>noLimit);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<NotificationBadgeResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Update a list of notifications based on the notification ids and action passed in Only notifications for the current user can be updated\r\n * \r\n * @param body List of notification ids and action to perform\r\n */\r\n public updateListOfNotificationsWithHttpInfo(body?: NotificationUpdateRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UpdateResult>> {\r\n const path = this.basePath + '/api/v202111/Notification';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UpdateResult>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { CreateOrganizationRequest } from '../model/createOrganizationRequest';\r\nimport { HierarchicalOrganizations } from '../model/hierarchicalOrganizations';\r\nimport { OrganizationAccessControlResponse } from '../model/organizationAccessControlResponse';\r\nimport { OrganizationDetailResponse } from '../model/organizationDetailResponse';\r\nimport { OrganizationResponse } from '../model/organizationResponse';\r\nimport { OrganizationUserResponse } from '../model/organizationUserResponse';\r\nimport { UpdateOrganizationAccessControlRequest } from '../model/updateOrganizationAccessControlRequest';\r\nimport { UpdateOrganizationDetailsRequest } from '../model/updateOrganizationDetailsRequest';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class OrganizationService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Create a new organization\r\n * \r\n * @param organizationId \r\n * @param body \r\n */\r\n public createOrganization(organizationId: string, body?: CreateOrganizationRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationResponse> {\r\n return this.createOrganizationWithHttpInfo(organizationId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets organization access control data You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationAccessControl(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationAccessControlResponse> {\r\n return this.getOrganizationAccessControlWithHttpInfo(organizationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationAccessControlResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets information about an Organization\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationById(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationResponse> {\r\n return this.getOrganizationByIdWithHttpInfo(organizationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets additional detail information about an Organization You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationDetails(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationDetailResponse> {\r\n return this.getOrganizationDetailsWithHttpInfo(organizationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationDetailResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Returns the entire oranizaion hiearchy If there are more than 100 organizations a 403 is returned.\r\n * \r\n * @param pageSize The number of elements to return in a page (defaults to 100 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getOrganizationHierarchy(pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<HierarchicalOrganizations>> {\r\n return this.getOrganizationHierarchyWithHttpInfo(pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<HierarchicalOrganizations>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets users linked to an organization\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationUsers(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<OrganizationUserResponse>> {\r\n return this.getOrganizationUsersWithHttpInfo(organizationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<OrganizationUserResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets the organizations to which the logged in user has access\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all organizations to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getOrganizations(onlyAdmin?: boolean, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<OrganizationResponse>> {\r\n return this.getOrganizationsWithHttpInfo(onlyAdmin, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<OrganizationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param query \r\n * @param pageSize The number of elements to return in a page (defaults to 50 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public searchOrganizations(query?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<OrganizationResponse>> {\r\n return this.searchOrganizationsWithHttpInfo(query, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<OrganizationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Update organization access control data You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n * @param body \r\n */\r\n public updateOrganizationAccessControl(organizationId: string, body?: UpdateOrganizationAccessControlRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationAccessControlResponse> {\r\n return this.updateOrganizationAccessControlWithHttpInfo(organizationId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationAccessControlResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Update organization details You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n * @param body \r\n */\r\n public updateOrganizationDetails(organizationId: string, body?: UpdateOrganizationDetailsRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationDetailResponse> {\r\n return this.updateOrganizationDetailsWithHttpInfo(organizationId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationDetailResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Create a new organization\r\n * \r\n * @param organizationId \r\n * @param body \r\n */\r\n public createOrganizationWithHttpInfo(organizationId: string, body?: CreateOrganizationRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling createOrganization.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets organization access control data You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationAccessControlWithHttpInfo(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationAccessControlResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/accesscontrol'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling getOrganizationAccessControl.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationAccessControlResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets information about an Organization\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationByIdWithHttpInfo(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationResponse>> {\r\n const path = this.basePath + '/api/v202108/Organization/${organizationId}'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling getOrganizationById.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets additional detail information about an Organization You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationDetailsWithHttpInfo(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationDetailResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/detail'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling getOrganizationDetails.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationDetailResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Returns the entire oranizaion hiearchy If there are more than 100 organizations a 403 is returned.\r\n * \r\n * @param pageSize The number of elements to return in a page (defaults to 100 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getOrganizationHierarchyWithHttpInfo(pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<HierarchicalOrganizations>>> {\r\n const path = this.basePath + '/api/v202112/Organization/hierarchy';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (pageSize !== undefined) {\r\n queryParameters = queryParameters.set('pageSize', <any>pageSize);\r\n }\r\n\r\n if (pageNumber !== undefined) {\r\n queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<HierarchicalOrganizations>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets users linked to an organization\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationUsersWithHttpInfo(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<OrganizationUserResponse>>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/user'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling getOrganizationUsers.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<OrganizationUserResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets the organizations to which the logged in user has access\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all organizations to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getOrganizationsWithHttpInfo(onlyAdmin?: boolean, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<OrganizationResponse>>> {\r\n const path = this.basePath + '/api/v202108/Organization';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (onlyAdmin !== undefined) {\r\n queryParameters = queryParameters.set('onlyAdmin', <any>onlyAdmin);\r\n }\r\n\r\n if (pageSize !== undefined) {\r\n queryParameters = queryParameters.set('pageSize', <any>pageSize);\r\n }\r\n\r\n if (pageNumber !== undefined) {\r\n queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<OrganizationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param query \r\n * @param pageSize The number of elements to return in a page (defaults to 50 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public searchOrganizationsWithHttpInfo(query?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<OrganizationResponse>>> {\r\n const path = this.basePath + '/api/v202112/Organization/search';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (query !== undefined) {\r\n queryParameters = queryParameters.set('query', <any>query);\r\n }\r\n\r\n if (pageSize !== undefined) {\r\n queryParameters = queryParameters.set('pageSize', <any>pageSize);\r\n }\r\n\r\n if (pageNumber !== undefined) {\r\n queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<OrganizationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Update organization access control data You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n * @param body \r\n */\r\n public updateOrganizationAccessControlWithHttpInfo(organizationId: string, body?: UpdateOrganizationAccessControlRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationAccessControlResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/accesscontrol'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling updateOrganizationAccessControl.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationAccessControlResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Update organization details You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n * @param body \r\n */\r\n public updateOrganizationDetailsWithHttpInfo(organizationId: string, body?: UpdateOrganizationDetailsRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationDetailResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/detail'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling updateOrganizationDetails.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationDetailResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { OrganizationApplicationResponse } from '../model/organizationApplicationResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class OrganizationApplicationService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets the organization applications to which the logged in user has access.\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all organization applications to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n */\r\n public getOrganizationApplications(onlyAdmin?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<OrganizationApplicationResponse>> {\r\n return this.getOrganizationApplicationsWithHttpInfo(onlyAdmin, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<OrganizationApplicationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Gets the organization applications to which the logged in user has access.\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all organization applications to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n */\r\n public getOrganizationApplicationsWithHttpInfo(onlyAdmin?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<OrganizationApplicationResponse>>> {\r\n const path = this.basePath + '/api/v202108/OrganizationApplication';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (onlyAdmin !== undefined) {\r\n queryParameters = queryParameters.set('onlyAdmin', <any>onlyAdmin);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<OrganizationApplicationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AllUserPermissionsResponse } from '../model/allUserPermissionsResponse';\r\nimport { EntityPermission } from '../model/entityPermission';\r\nimport { InviteUserRequest } from '../model/inviteUserRequest';\r\nimport { SelfCreateUserRequest } from '../model/selfCreateUserRequest';\r\nimport { UserApplicationInstanceResponse } from '../model/userApplicationInstanceResponse';\r\nimport { UserOrganizationResponse } from '../model/userOrganizationResponse';\r\nimport { UserPermissionRequest } from '../model/userPermissionRequest';\r\nimport { UserPermissionResponse } from '../model/userPermissionResponse';\r\nimport { UserResponse } from '../model/userResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class UserService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Use this method to create a new user. Generally for Self-Service. No permissions will be added\r\n * \r\n * @param body The details of the user to be created\r\n */\r\n public createUser(body?: SelfCreateUserRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.createUserWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Deletes a specific permission to an entity. This will remove a grant, but will not negate an inherited grant. If there is not an explicit grant to the given user to the given entity, a BadRequest response will be returned\r\n * \r\n * @param userId The user&#39;s identifier.\r\n * @param entityId The entity identifier.\r\n */\r\n public deleteUserPermission(userId: string, entityId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.deleteUserPermissionWithHttpInfo(userId, entityId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Return all application instances a user has access to and you are an admin to\r\n * \r\n * @param userId The user to get application instances for\r\n */\r\n public getUserApplicationInstances(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserApplicationInstanceResponse> {\r\n return this.getUserApplicationInstancesWithHttpInfo(userId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserApplicationInstanceResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to get information about a user\r\n * \r\n * @param email The email address of the user to return\r\n */\r\n public getUserByEmail(email: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.getUserByEmailWithHttpInfo(email, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Return all organization a user has access to and you are an admin to\r\n * \r\n * @param userId The user to get application instances for\r\n */\r\n public getUserOrganizations(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserOrganizationResponse> {\r\n return this.getUserOrganizationsWithHttpInfo(userId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserOrganizationResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets information regarding the specified entity to which the specified user has access. Only if the logged in user is in administrator will information be available. If the user does not have access, no entry will be returned.\r\n * \r\n * @param userId The user identifier of the user about which information is being requested.\r\n * @param entityId The entity identifier.\r\n */\r\n public getUserPermissionForEntity(userId: string, entityId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<EntityPermission> {\r\n return this.getUserPermissionForEntityWithHttpInfo(userId, entityId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<EntityPermission>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets all entities to which the specified user has access. Only those that the logged in user is in administrator will be available.\r\n * \r\n * @param userId The user identifier to which to get permissions regarding.\r\n */\r\n public getUserPermissions(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<AllUserPermissionsResponse> {\r\n return this.getUserPermissionsWithHttpInfo(userId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<AllUserPermissionsResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets the users who have permissions to this entity.\r\n * \r\n * @param entityId The entity identifier.\r\n * @param includeNoAccess if set to {true} [include no access].\r\n */\r\n public getUsersWithPermissionToEntity(entityId: string, includeNoAccess?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<UserPermissionResponse>> {\r\n return this.getUsersWithPermissionToEntityWithHttpInfo(entityId, includeNoAccess, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<UserPermissionResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to invite a user to the application Creates a user and sends an email\r\n * \r\n * @param body Data used to create the user and send the invitation\r\n */\r\n public inviteUser(body?: InviteUserRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.inviteUserWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Resends an invitation to the specified user\r\n * \r\n * @param userId The user identifier\r\n */\r\n public resendInvite(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.resendInviteWithHttpInfo(userId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Sets an explicit permission to the specified entity on the specified user given the specified role. This grant will be inherited downstream unless there is a more specific permission specified. If the user does not currently have permission to the entity it is added otherwise it is updated\r\n * \r\n * @param userId The user identifier to which permissions will be assigned.\r\n * @param entityId The entity identifier to apply the permission to.\r\n * @param body Data representing the permission to set.\r\n */\r\n public setUserPermission(userId: string, entityId: string, body?: UserPermissionRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.setUserPermissionWithHttpInfo(userId, entityId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Use this method to create a new user. Generally for Self-Service. No permissions will be added\r\n * \r\n * @param body The details of the user to be created\r\n */\r\n public createUserWithHttpInfo(body?: SelfCreateUserRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/User';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Deletes a specific permission to an entity. This will remove a grant, but will not negate an inherited grant. If there is not an explicit grant to the given user to the given entity, a BadRequest response will be returned\r\n * \r\n * @param userId The user&#39;s identifier.\r\n * @param entityId The entity identifier.\r\n */\r\n public deleteUserPermissionWithHttpInfo(userId: string, entityId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/User/${userId}/permission/${entityId}'\r\n .replace('${' + 'userId' + '}', String(userId))\r\n .replace('${' + 'entityId' + '}', String(entityId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling deleteUserPermission.');\r\n }\r\n // verify required parameter 'entityId' is not null or undefined\r\n if (entityId === null || entityId === undefined) {\r\n throw new Error('Required parameter entityId was null or undefined when calling deleteUserPermission.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Delete, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Return all application instances a user has access to and you are an admin to\r\n * \r\n * @param userId The user to get application instances for\r\n */\r\n public getUserApplicationInstancesWithHttpInfo(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserApplicationInstanceResponse>> {\r\n const path = this.basePath + '/api/v202112/User/${userId}/applicationInstance'\r\n .replace('${' + 'userId' + '}', String(userId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling getUserApplicationInstances.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserApplicationInstanceResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to get information about a user\r\n * \r\n * @param email The email address of the user to return\r\n */\r\n public getUserByEmailWithHttpInfo(email: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/User/${email}'\r\n .replace('${' + 'email' + '}', String(email));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'email' is not null or undefined\r\n if (email === null || email === undefined) {\r\n throw new Error('Required parameter email was null or undefined when calling getUserByEmail.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Return all organization a user has access to and you are an admin to\r\n * \r\n * @param userId The user to get application instances for\r\n */\r\n public getUserOrganizationsWithHttpInfo(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserOrganizationResponse>> {\r\n const path = this.basePath + '/api/v202112/User/${userId}/organization'\r\n .replace('${' + 'userId' + '}', String(userId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling getUserOrganizations.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserOrganizationResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets information regarding the specified entity to which the specified user has access. Only if the logged in user is in administrator will information be available. If the user does not have access, no entry will be returned.\r\n * \r\n * @param userId The user identifier of the user about which information is being requested.\r\n * @param entityId The entity identifier.\r\n */\r\n public getUserPermissionForEntityWithHttpInfo(userId: string, entityId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<EntityPermission>> {\r\n const path = this.basePath + '/api/v202108/User/${userId}/permission/${entityId}'\r\n .replace('${' + 'userId' + '}', String(userId))\r\n .replace('${' + 'entityId' + '}', String(entityId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling getUserPermissionForEntity.');\r\n }\r\n // verify required parameter 'entityId' is not null or undefined\r\n if (entityId === null || entityId === undefined) {\r\n throw new Error('Required parameter entityId was null or undefined when calling getUserPermissionForEntity.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<EntityPermission>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets all entities to which the specified user has access. Only those that the logged in user is in administrator will be available.\r\n * \r\n * @param userId The user identifier to which to get permissions regarding.\r\n */\r\n public getUserPermissionsWithHttpInfo(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<AllUserPermissionsResponse>> {\r\n const path = this.basePath + '/api/v202108/User/${userId}/permission'\r\n .replace('${' + 'userId' + '}', String(userId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling getUserPermissions.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<AllUserPermissionsResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets the users who have permissions to this entity.\r\n * \r\n * @param entityId The entity identifier.\r\n * @param includeNoAccess if set to {true} [include no access].\r\n */\r\n public getUsersWithPermissionToEntityWithHttpInfo(entityId: string, includeNoAccess?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<UserPermissionResponse>>> {\r\n const path = this.basePath + '/api/v202108/User/permission/${entityId}'\r\n .replace('${' + 'entityId' + '}', String(entityId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'entityId' is not null or undefined\r\n if (entityId === null || entityId === undefined) {\r\n throw new Error('Required parameter entityId was null or undefined when calling getUsersWithPermissionToEntity.');\r\n }\r\n if (includeNoAccess !== undefined) {\r\n queryParameters = queryParameters.set('includeNoAccess', <any>includeNoAccess);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<UserPermissionResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to invite a user to the application Creates a user and sends an email\r\n * \r\n * @param body Data used to create the user and send the invitation\r\n */\r\n public inviteUserWithHttpInfo(body?: InviteUserRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/User/invite';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Resends an invitation to the specified user\r\n * \r\n * @param userId The user identifier\r\n */\r\n public resendInviteWithHttpInfo(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/User/invite/resend/${userId}'\r\n .replace('${' + 'userId' + '}', String(userId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling resendInvite.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Sets an explicit permission to the specified entity on the specified user given the specified role. This grant will be inherited downstream unless there is a more specific permission specified. If the user does not currently have permission to the entity it is added otherwise it is updated\r\n * \r\n * @param userId The user identifier to which permissions will be assigned.\r\n * @param entityId The entity identifier to apply the permission to.\r\n * @param body Data representing the permission to set.\r\n */\r\n public setUserPermissionWithHttpInfo(userId: string, entityId: string, body?: UserPermissionRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/User/${userId}/permission/${entityId}'\r\n .replace('${' + 'userId' + '}', String(userId))\r\n .replace('${' + 'entityId' + '}', String(entityId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling setUserPermission.');\r\n }\r\n // verify required parameter 'entityId' is not null or undefined\r\n if (entityId === null || entityId === undefined) {\r\n throw new Error('Required parameter entityId was null or undefined when calling setUserPermission.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","export * from './application.service';\r\nimport { ApplicationService } from './application.service';\r\nexport * from './applicationInstance.service';\r\nimport { ApplicationInstanceService } from './applicationInstance.service';\r\nexport * from './auth.service';\r\nimport { AuthService } from './auth.service';\r\nexport * from './dataSource.service';\r\nimport { DataSourceService } from './dataSource.service';\r\nexport * from './domainJoinType.service';\r\nimport { DomainJoinTypeService } from './domainJoinType.service';\r\nexport * from './environment.service';\r\nimport { EnvironmentService } from './environment.service';\r\nexport * from './me.service';\r\nimport { MeService } from './me.service';\r\nexport * from './notification.service';\r\nimport { NotificationService } from './notification.service';\r\nexport * from './organization.service';\r\nimport { OrganizationService } from './organization.service';\r\nexport * from './organizationApplication.service';\r\nimport { OrganizationApplicationService } from './organizationApplication.service';\r\nexport * from './user.service';\r\nimport { UserService } from './user.service';\r\nexport const APIS = [ApplicationService, ApplicationInstanceService, AuthService, DataSourceService, DomainJoinTypeService, EnvironmentService, MeService, NotificationService, OrganizationService, OrganizationApplicationService, UserService];\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class APIFilter {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class APIOrderBy {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { ApplicationInstanceResponse } from './applicationInstanceResponse';\r\nimport { DataSourceResponse } from './dataSourceResponse';\r\nimport { OrganizationApplicationResponse } from './organizationApplicationResponse';\r\nimport { OrganizationResponse } from './organizationResponse';\r\n\r\n\r\n/**\r\n * Used to represent permissions to the different entities\r\n */\r\nexport class AllUserPermissionsResponse {\r\n /**\r\n * Gets or sets the application instances.\r\n */\r\n applicationInstances: Array<ApplicationInstanceResponse> | null | undefined;\r\n\r\n /**\r\n * Gets or sets the data sources.\r\n */\r\n dataSources: Array<DataSourceResponse> | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organizations.\r\n */\r\n organizations: Array<OrganizationResponse> | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization applications.\r\n */\r\n organizationApplications: Array<OrganizationApplicationResponse> | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Application Instance user\r\n */\r\nexport class ApplicationInstanceDetailResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Data to represent the application instance that the user has chosen to go to.\r\n */\r\nexport class ApplicationInstanceRedirectResponse {\r\n /**\r\n * Gets or sets the URL.\r\n */\r\n url: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the JWT.\r\n */\r\n jwt: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Represents an Application Instance for a user\r\n */\r\nexport class ApplicationInstanceResponse {\r\n /**\r\n * Gets or sets the application ID.\r\n */\r\n applicationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the application.\r\n */\r\n applicationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the application label.\r\n */\r\n applicationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the environment ID.\r\n */\r\n environmentId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the environment.\r\n */\r\n environmentName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the environment label.\r\n */\r\n environmentLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization label.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the organization.\r\n */\r\n organizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization identifier.\r\n */\r\n organizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the data source label.\r\n */\r\n dataSourceLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the data source.\r\n */\r\n dataSourceName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the data source identifier.\r\n */\r\n dataSourceId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is admin.\r\n */\r\n isAdmin: boolean | null | undefined;\r\n\r\n organizationRole: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is organization admin.\r\n */\r\n isOrganizationAdmin: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is data source admin.\r\n */\r\n isDataSourceAdmin: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets the latest access time.\r\n */\r\n latestAccess: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the number of times the user accessed this application instance.\r\n */\r\n numberOfAccesses: number | null | undefined;\r\n\r\n /**\r\n * Gets or sets if the data source is locked.\r\n */\r\n dataSourceLocked: boolean | null | undefined;\r\n\r\n /**\r\n * The name of the alias associated with the Application Instance (if set)\r\n */\r\n aliasName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Application Instance user\r\n */\r\nexport class ApplicationInstanceUserResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Application\r\n */\r\nexport class ApplicationResponse {\r\n /**\r\n * Gets or sets the ID of the Application.\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label of the Application.\r\n */\r\n label: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents the data needed for authentication of a user.\r\n */\r\nexport class ChangePasswordRequest {\r\n /**\r\n * The user's username, probably email.\r\n */\r\n userName: string | null ;\r\n\r\n /**\r\n * The user's new password.\r\n */\r\n password: string | null ;\r\n\r\n /**\r\n * The Requires New Password Token\r\n */\r\n requiresNewPasswordToken: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class CreateOrganizationRequest {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Used to describe a DataSources\r\n */\r\nexport class DataSourceResponse {\r\n /**\r\n * Gets or sets the name.\r\n */\r\n name: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label.\r\n */\r\n label: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the metadata (raw JSON).\r\n */\r\n metadata: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this !:DataSourceModel is locked.\r\n */\r\n locked: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the organization.\r\n */\r\n organizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization label.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization identifier.\r\n */\r\n organizationId: string | null | undefined;\r\n\r\n organizationRole: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is organization admin.\r\n */\r\n isOrganizationAdmin: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets the product for the organization\r\n */\r\n organizationProduct: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether the user is an admin for the datasource\r\n */\r\n isAdmin: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the environment.\r\n */\r\n environmentName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the environment label.\r\n */\r\n environmentLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the environment identifier.\r\n */\r\n environmentId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the latest access time.\r\n */\r\n latestAccess: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Used to updated a Data Source\r\n */\r\nexport class DataSourceUpdateRequest {\r\n /**\r\n * Gets or sets the label If the value is null or whitespace it will not be updated\r\n */\r\n label: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the locked If the value is null or whitespace it will not be updated\r\n */\r\n locked: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { DomainJoinTypeResponse } from './domainJoinTypeResponse';\r\n\r\n\r\n/**\r\n * Domain Accessor Control\r\n */\r\nexport class DomainAccessControlResponse {\r\n /**\r\n * Gets or sets the Domain.\r\n */\r\n domain: string | null | undefined;\r\n\r\n domainJoinType: DomainJoinTypeResponse | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Domain Join Types\r\n */\r\nexport class DomainJoinTypeResponse {\r\n /**\r\n * Gets or sets the Id.\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label.\r\n */\r\n label: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name.\r\n */\r\n name: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * A Generic class to represent permissions to an Entity.\r\n */\r\nexport class EntityPermission {\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Environment\r\n */\r\nexport class EnvironmentResponse {\r\n /**\r\n * Gets or sets the ID of the environment.\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label of the Environment.\r\n */\r\n label: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { HierarchicalOrganizations2 } from './hierarchicalOrganizations2';\r\n\r\n\r\nexport class HierarchicalOrganizations {\r\n /**\r\n * Gets or sets the identifier of the Organization.\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name.\r\n */\r\n name: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label.\r\n */\r\n label: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent organization identifier.\r\n */\r\n parentOrganizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent organization name.\r\n */\r\n parentOrganizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent organization label.\r\n */\r\n parentOrganizationLabel: string | null | undefined;\r\n\r\n /**\r\n * List of organization children\r\n */\r\n organizationChildren: Array<HierarchicalOrganizations2> | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { HierarchicalOrganizations } from './hierarchicalOrganizations';\r\n\r\n\r\nexport class HierarchicalOrganizations2 {\r\n id: string | null | undefined;\r\n\r\n name: string | null | undefined;\r\n\r\n label: string | null | undefined;\r\n\r\n parentOrganizationId: string | null | undefined;\r\n\r\n parentOrganizationName: string | null | undefined;\r\n\r\n parentOrganizationLabel: string | null | undefined;\r\n\r\n organizationChildren: Array<HierarchicalOrganizations> | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Use this model to invite a User\r\n */\r\nexport class InviteUserRequest {\r\n /**\r\n * Use this model to invite a User\r\n */\r\n email: string | null ;\r\n\r\n /**\r\n * Gets or sets the EntityId of the Entity to which we are assigning permissions\r\n */\r\n entityId: string | null ;\r\n\r\n role: RoleEnum | null ;\r\n\r\n /**\r\n * Gets or sets a value indicating whether to force any sub-entries to inherit from this permission.\r\n */\r\n forceInheritance: boolean | null ;\r\n\r\n /**\r\n * Optional. Gets or sets the first name.\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * Optional. Gets or sets the last name.\r\n */\r\n lastName: string | null | undefined;\r\n\r\n /**\r\n * Optional. Gets or sets the phone number\r\n */\r\n phone: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Used to link the current user to another data source\r\n */\r\nexport class LinkDataSourceRequest {\r\n /**\r\n * Gets or sets the name of the user in the other data source to be linked\r\n */\r\n userName: string | null ;\r\n\r\n /**\r\n * Gets or sets the password\r\n */\r\n password: string | null ;\r\n\r\n /**\r\n * Gets or sets the environment id of the new data source\r\n */\r\n environmentId: string | null ;\r\n\r\n /**\r\n * Gets or sets the name of the data source to link to\r\n */\r\n dataSourceName: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { UserAuthResultEnum } from './userAuthResultEnum';\r\n\r\n\r\n/**\r\n * Represents the result of an authentication attempt of a user.\r\n */\r\nexport class LoginResponse {\r\n result: UserAuthResultEnum | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the Jwt that needs to be used in subsequent calls that require authentication/authorization\r\n */\r\n jwt: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the FirstName of the user\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the LastName of the user\r\n */\r\n lastName: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the phone number\r\n */\r\n phone: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the Id of the user\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the Email of the user\r\n */\r\n email: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the requires new password token.\r\n */\r\n requiresNewPasswordToken: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Provides the response to an inquiry regarding the Login Source for an email address.\r\n */\r\nexport class LoginSourceResponse {\r\n /**\r\n * Gets or sets the source.\r\n */\r\n source: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is federated.\r\n */\r\n isFederated: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class NotificationBadgeResponse {\r\n /**\r\n * Total of unread and unarchived notifications\r\n */\r\n totalNotifications: number | null | undefined;\r\n\r\n /**\r\n * Total of unread and unarchived notifications since the last checked date time\r\n */\r\n newNotifications: number | null | undefined;\r\n\r\n /**\r\n * The date and time in UTC the query to get the badge data was run\r\n */\r\n lastCheckDateTimeUtc: Date | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class NotificationCategory {\r\n /**\r\n * The id of the notification category\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * The notification category name\r\n */\r\n notificationCategoryInfo: string | null | undefined;\r\n\r\n /**\r\n * A description of the notification category\r\n */\r\n notificationCategoryDescription: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { NotificationType } from './notificationType';\r\n\r\n\r\nexport class NotificationResponse {\r\n /**\r\n * The id of the notification\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * True if the notification has been read\r\n */\r\n read: boolean | null | undefined;\r\n\r\n /**\r\n * True if the notification has been archived\r\n */\r\n archived: boolean | null | undefined;\r\n\r\n /**\r\n * Subject of the notification\r\n */\r\n subject: string | null | undefined;\r\n\r\n /**\r\n * The date and time the notification was generated\r\n */\r\n createdDate: Date | null | undefined;\r\n\r\n notificationType: NotificationType | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class NotificationSettingRequest {\r\n /**\r\n * Should notifications be emailed\r\n */\r\n emailNotifications: boolean | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { NotificationCategory } from './notificationCategory';\r\n\r\n\r\nexport class NotificationType {\r\n /**\r\n * The id of the notification type\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * The notification type name\r\n */\r\n notificationTypeInfo: string | null | undefined;\r\n\r\n /**\r\n * A description of the notification type\r\n */\r\n notificationTypeDescription: string | null | undefined;\r\n\r\n notificationCategory: NotificationCategory | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class NotificationUpdateRequest {\r\n /**\r\n * List of notification ids to perform the action on\r\n */\r\n notificationIds: Array<string> | null | undefined;\r\n\r\n /**\r\n * Action to perform Unread marks all notifications in the list as unread Read marks all notifications in the list as read Archived marks all notifications in the list as archived Unarchived marks all notifications in the list as unarchived\r\n */\r\n action: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { DomainAccessControlResponse } from './domainAccessControlResponse';\r\nimport { DomainJoinTypeResponse } from './domainJoinTypeResponse';\r\nimport { UserChild } from './userChild';\r\n\r\n\r\n/**\r\n * Organization Access Control\r\n */\r\nexport class OrganizationAccessControlResponse {\r\n /**\r\n * Gets or sets the DomainControls.\r\n */\r\n domainControls: Array<DomainAccessControlResponse> | null | undefined;\r\n\r\n defaultDomainControl: DomainJoinTypeResponse | null | undefined;\r\n\r\n /**\r\n * Gets or sets the RequestAccessCustomMessage.\r\n */\r\n requestAccessCustomMessage: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the AccessRequestRecipients.\r\n */\r\n accessRequestRecipients: Array<UserChild> | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Represents permissions to an Organization Application, and information regarding the Organization Application\r\n */\r\nexport class OrganizationApplicationResponse {\r\n /**\r\n * Gets or sets the name of the organization.\r\n */\r\n organizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization label.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization identifier.\r\n */\r\n organizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the application.\r\n */\r\n applicationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the application label.\r\n */\r\n applicationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the application identifier.\r\n */\r\n applicationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Provides more detailed data about an organization\r\n */\r\nexport class OrganizationDetailResponse {\r\n /**\r\n * Gets or sets the user number.\r\n */\r\n userNumber: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the validation code.\r\n */\r\n validationCode: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the federation source name.\r\n */\r\n federationSourceName: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Provides more detailed data about an organization\r\n */\r\nexport class OrganizationResponse {\r\n /**\r\n * Gets or sets the name.\r\n */\r\n name: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label.\r\n */\r\n label: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the product.\r\n */\r\n product: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the type of the organization.\r\n */\r\n organizationType: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the user number.\r\n */\r\n userNumber: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the validation code.\r\n */\r\n validationCode: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the maintenance renewal date.\r\n */\r\n maintenanceRenewalDate: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the metadata.\r\n */\r\n metadata: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent organization identifier.\r\n */\r\n parentOrganizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent name.\r\n */\r\n parentOrganizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent label.\r\n */\r\n parentOrganizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class OrganizationUserResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Used for Resetting a user's password\r\n */\r\nexport class ResetPasswordRequest {\r\n /**\r\n * Gets or sets the email.\r\n */\r\n email: string | null ;\r\n\r\n /**\r\n * Gets or sets the confirmation code.\r\n */\r\n confirmationCode: string | null ;\r\n\r\n /**\r\n * Gets or sets the new password.\r\n */\r\n newPassword: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport enum RoleEnum {\r\n NoAccess = <any> 'NoAccess',\r\n ReadOnly = <any> 'ReadOnly',\r\n Admin = <any> 'Admin'\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Use this to have a user self-create an account.\r\n */\r\nexport class SelfCreateUserRequest {\r\n /**\r\n * Gets or sets the email.\r\n */\r\n email: string | null ;\r\n\r\n /**\r\n * Gets or sets the first name.\r\n */\r\n firstName: string | null ;\r\n\r\n /**\r\n * Gets or sets the last name.\r\n */\r\n lastName: string | null ;\r\n\r\n /**\r\n * Optional. Gets or sets the phone number\r\n */\r\n phone: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * A model to represent a user and updating their information\r\n */\r\nexport class UpdateMeRequest {\r\n /**\r\n * Gets or sets the first name.\r\n */\r\n firstName: string | null ;\r\n\r\n /**\r\n * Gets or sets the last name.\r\n */\r\n lastName: string | null ;\r\n\r\n /**\r\n * Gets or sets the phone number\r\n */\r\n phone: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class UpdateOrganizationAccessControlRequest {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class UpdateOrganizationDetailsRequest {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class UpdateResult {\r\n selected: number | null | undefined;\r\n\r\n updated: number | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Application Instance for a user\r\n */\r\nexport class UserApplicationInstanceResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport enum UserAuthResultEnum {\r\n PasswordChangeRequired = <any> 'PasswordChangeRequired',\r\n PasswordResetRequired = <any> 'PasswordResetRequired',\r\n Success = <any> 'Success',\r\n EmailNotVerified = <any> 'EmailNotVerified',\r\n LockedOut = <any> 'LockedOut',\r\n PasswordIsInvalid = <any> 'PasswordIsInvalid',\r\n NoPasswordChangeForFederatedDomain = <any> 'NoPasswordChangeForFederatedDomain',\r\n FailedOther = <any> 'FailedOther'\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * The model representing data about a user.\r\n */\r\nexport class UserChild {\r\n /**\r\n * The user's Id\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * The user's User Name, probably email.\r\n */\r\n username: string | null | undefined;\r\n\r\n /**\r\n * The user's email\r\n */\r\n email: string | null | undefined;\r\n\r\n /**\r\n * The FirstName of the user.\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * The LastName of the user.\r\n */\r\n lastName: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents the data needed for authentication of a user.\r\n */\r\nexport class UserLoginRequest {\r\n /**\r\n * The user's username, probably email.\r\n */\r\n userName: string | null ;\r\n\r\n /**\r\n * The user's password.\r\n */\r\n password: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Organization for a user\r\n */\r\nexport class UserOrganizationResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Used for setting a grant for a given user.\r\n */\r\nexport class UserPermissionRequest {\r\n role: RoleEnum | null ;\r\n\r\n /**\r\n * Gets or sets a value indicating whether any child items should be made to inherit from this set.\r\n */\r\n forceInheritance: boolean | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Model to represent a user's permission to a specific entity.\r\n */\r\nexport class UserPermissionResponse {\r\n /**\r\n * Gets or sets the email.\r\n */\r\n email: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the first name.\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the last name.\r\n */\r\n lastName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the external user name.\r\n */\r\n externalUserName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the last login.\r\n */\r\n lastLogin: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the last access of a Data Source or Application Instance.\r\n */\r\n latestAccess: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the time an invitation was sent to the user\r\n */\r\n inviteSentOn: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { UserStatusEnum } from './userStatusEnum';\r\n\r\n\r\n/**\r\n * The model representing data about a user.\r\n */\r\nexport class UserResponse {\r\n /**\r\n * The user's Id\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * The user's User Name, probably email.\r\n */\r\n username: string | null | undefined;\r\n\r\n /**\r\n * The user's email\r\n */\r\n email: string | null | undefined;\r\n\r\n /**\r\n * A flag representing whether the user's email has been verified. If this is false, the user may not log in.\r\n */\r\n isEmailVerified: boolean | null | undefined;\r\n\r\n status: UserStatusEnum | null | undefined;\r\n\r\n /**\r\n * A flag representing whether the user is currently enabled to interact with the system, or not.\r\n */\r\n isEnabled: boolean | null | undefined;\r\n\r\n /**\r\n * The FirstName of the user.\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * The LastName of the user.\r\n */\r\n lastName: string | null | undefined;\r\n\r\n /**\r\n * The phone number of the user.\r\n */\r\n phone: string | null | undefined;\r\n\r\n /**\r\n * This is the LoginSource for the user. If it is \\\"Local\\\", then the user will login with a local username and password, otherwise, it represents the name of the federated identity provider.\r\n */\r\n loginSource: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization label.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization name\r\n */\r\n organizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization ID\r\n */\r\n organizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the date the user last logged in\r\n */\r\n lastLogin: Date | null | undefined;\r\n\r\n /**\r\n * The user email notification setting.\r\n */\r\n emailNotifications: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport enum UserStatusEnum {\r\n Unknown = <any> 'Unknown',\r\n Confirmed = <any> 'Confirmed',\r\n ForcePasswordReset = <any> 'ForcePasswordReset',\r\n ForcePasswordChange = <any> 'ForcePasswordChange',\r\n RequireEmailVerification = <any> 'RequireEmailVerification',\r\n LockedOut = <any> 'LockedOut'\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents the data to validate a password\r\n */\r\nexport class ValidatePasswordRequest {\r\n /**\r\n * The password to validate\r\n */\r\n password: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents the result of validating a password\r\n */\r\nexport class ValidatePasswordResponse {\r\n /**\r\n * The password length is too short. Passwords should be at least 10 characters\r\n */\r\n passwordLengthTooShort: boolean | null | undefined;\r\n\r\n /**\r\n * The password length is too long. Passwords should be less than 100 characters\r\n */\r\n passwordLengthTooLong: boolean | null | undefined;\r\n\r\n /**\r\n * The password was found in a list of commonly used passwords\r\n */\r\n commonlyUsedPassword: boolean | null | undefined;\r\n\r\n /**\r\n * The password was found in a database of breached passwords\r\n */\r\n passwordBreached: boolean | null | undefined;\r\n\r\n /**\r\n * The password is valid\r\n */\r\n passwordIsValid: boolean | null | undefined;\r\n\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { Configuration } from './configuration';\r\n\r\nimport { ApplicationService } from './api/application.service';\r\nimport { ApplicationInstanceService } from './api/applicationInstance.service';\r\nimport { AuthService } from './api/auth.service';\r\nimport { DataSourceService } from './api/dataSource.service';\r\nimport { DomainJoinTypeService } from './api/domainJoinType.service';\r\nimport { EnvironmentService } from './api/environment.service';\r\nimport { MeService } from './api/me.service';\r\nimport { NotificationService } from './api/notification.service';\r\nimport { OrganizationService } from './api/organization.service';\r\nimport { OrganizationApplicationService } from './api/organizationApplication.service';\r\nimport { UserService } from './api/user.service';\r\n\r\n@NgModule({\r\n imports: [ CommonModule, HttpClientModule ],\r\n declarations: [],\r\n exports: [],\r\n providers: [ ApplicationService, ApplicationInstanceService, AuthService, DataSourceService, DomainJoinTypeService, EnvironmentService, MeService, NotificationService, OrganizationService, OrganizationApplicationService, UserService ]\r\n})\r\nexport class EnergyCapSdkModule {\r\n public static forConfig(configurationFactory: () => Configuration): ModuleWithProviders<EnergyCapSdkModule> {\r\n return {\r\n ngModule: EnergyCapSdkModule,\r\n providers: [ {provide: Configuration, useFactory: configurationFactory}]\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","RequestMethod","http","HttpHeaders","map","HttpParams","Injectable","HttpClient","Optional","Inject","RoleEnum","UserAuthResultEnum","UserStatusEnum","NgModule","CommonModule","HttpClientModule"],"mappings":"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"}
1
+ {"version":3,"file":"energycap-energycapid-sdk-angular.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../variables.ts","../../configuration.ts","../../api/application.service.ts","../../api/applicationInstance.service.ts","../../api/auth.service.ts","../../api/dataSource.service.ts","../../api/domainJoinType.service.ts","../../api/environment.service.ts","../../api/me.service.ts","../../api/notification.service.ts","../../api/organization.service.ts","../../api/organizationApplication.service.ts","../../api/user.service.ts","../../api/api.ts","../../model/aPIFilter.ts","../../model/aPIOrderBy.ts","../../model/allUserPermissionsResponse.ts","../../model/applicationInstanceDetailResponse.ts","../../model/applicationInstanceRedirectResponse.ts","../../model/applicationInstanceResponse.ts","../../model/applicationInstanceUserResponse.ts","../../model/applicationResponse.ts","../../model/changePasswordRequest.ts","../../model/createOrganizationRequest.ts","../../model/dataSourceResponse.ts","../../model/dataSourceUpdateRequest.ts","../../model/domainAccessControlResponse.ts","../../model/domainJoinTypeResponse.ts","../../model/entityPermission.ts","../../model/environmentResponse.ts","../../model/hierarchicalOrganizations.ts","../../model/hierarchicalOrganizations2.ts","../../model/inviteUserRequest.ts","../../model/linkDataSourceRequest.ts","../../model/loginResponse.ts","../../model/loginSourceResponse.ts","../../model/notificationBadgeResponse.ts","../../model/notificationCategory.ts","../../model/notificationResponse.ts","../../model/notificationSettingRequest.ts","../../model/notificationType.ts","../../model/notificationUpdateRequest.ts","../../model/organizationAccessControlResponse.ts","../../model/organizationApplicationResponse.ts","../../model/organizationDetailResponse.ts","../../model/organizationResponse.ts","../../model/organizationUserResponse.ts","../../model/resetPasswordRequest.ts","../../model/roleEnum.ts","../../model/selfCreateUserRequest.ts","../../model/updateMeRequest.ts","../../model/updateOrganizationAccessControlRequest.ts","../../model/updateOrganizationDetailsRequest.ts","../../model/updateResult.ts","../../model/userApplicationInstanceResponse.ts","../../model/userAuthResultEnum.ts","../../model/userChild.ts","../../model/userLoginRequest.ts","../../model/userOrganizationResponse.ts","../../model/userOrganizationStateEnum.ts","../../model/userPermissionRequest.ts","../../model/userPermissionResponse.ts","../../model/userResponse.ts","../../model/userStatusEnum.ts","../../model/validatePasswordRequest.ts","../../model/validatePasswordResponse.ts","../../api.module.ts","../../energycap-energycapid-sdk-angular.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const BASE_PATH = new InjectionToken<string>('basePath');\r\nexport const COLLECTION_FORMATS = {\r\n 'csv': ',',\r\n 'tsv': ' ',\r\n 'ssv': ' ',\r\n 'pipes': '|'\r\n}","export interface ConfigurationParameters {\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n accessToken?: string;\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n}\r\n\r\nexport class Configuration {\r\n apiKeys: {[ key: string ]: string};\r\n username: string;\r\n password: string;\r\n accessToken: string | (() => string);\r\n basePath: string;\r\n withCredentials: boolean;\r\n\r\n constructor(configurationParameters: ConfigurationParameters = {}) {\r\n if (configurationParameters.apiKeys) {\r\n this.apiKeys = <{ [key: string]: string }>configurationParameters.apiKeys;\r\n }\r\n\r\n if (this.username) {\r\n this.username = <string>configurationParameters.username;\r\n }\r\n\r\n if (this.password) {\r\n this.password = <string>configurationParameters.password;\r\n }\r\n\r\n if (this.accessToken) {\r\n this.accessToken = <string>configurationParameters.accessToken;\r\n }\r\n\r\n if (this.basePath) {\r\n this.basePath = <string>configurationParameters.basePath;\r\n }\r\n if (this.withCredentials) {\r\n this.withCredentials = <boolean>configurationParameters.withCredentials;\r\n }\r\n }\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { ApplicationResponse } from '../model/applicationResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class ApplicationService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * A list of all applications to which the current user has access.\r\n * \r\n */\r\n public getMyApplications(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<ApplicationResponse>> {\r\n return this.getMyApplicationsWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<ApplicationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * A list of all applications to which the current user has access.\r\n * \r\n */\r\n public getMyApplicationsWithHttpInfo(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<ApplicationResponse>>> {\r\n const path = this.basePath + '/api/v202108/Application';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<ApplicationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { ApplicationInstanceDetailResponse } from '../model/applicationInstanceDetailResponse';\r\nimport { ApplicationInstanceRedirectResponse } from '../model/applicationInstanceRedirectResponse';\r\nimport { ApplicationInstanceResponse } from '../model/applicationInstanceResponse';\r\nimport { ApplicationInstanceUserResponse } from '../model/applicationInstanceUserResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class ApplicationInstanceService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Provides details to an application instance\r\n * \r\n * @param applicationInstanceId \r\n * @param body Id of the application instance to return\r\n */\r\n public getApplicationInstanceDetails(applicationInstanceId: string, body?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<ApplicationInstanceDetailResponse>> {\r\n return this.getApplicationInstanceDetailsWithHttpInfo(applicationInstanceId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<ApplicationInstanceDetailResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Provides the data needed to redirect the user to the specified application instance\r\n * If the Application Instance is configured with an Alias, the exchange URL from the Alias will be returned instead of that from the associated Application Environment.\r\n * @param applicationInstanceId The application instance ID\r\n */\r\n public getApplicationInstanceExchangeInfo(applicationInstanceId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<ApplicationInstanceRedirectResponse> {\r\n return this.getApplicationInstanceExchangeInfoWithHttpInfo(applicationInstanceId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<ApplicationInstanceRedirectResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Provides a list of user&#39;s who have access to an application instance\r\n * \r\n * @param applicationInstanceId \r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n * @param body Id of the application instance to return\r\n */\r\n public getApplicationInstanceUsers(applicationInstanceId: string, pageSize?: number, pageNumber?: number, body?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<ApplicationInstanceUserResponse>> {\r\n return this.getApplicationInstanceUsersWithHttpInfo(applicationInstanceId, pageSize, pageNumber, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<ApplicationInstanceUserResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Provides a list of all available application instances to which the logged in user has access\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all application instances to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n * @param orderBy \r\n * @param filter \r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getApplicationInstances(onlyAdmin?: boolean, orderBy?: string, filter?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<ApplicationInstanceResponse>> {\r\n return this.getApplicationInstancesWithHttpInfo(onlyAdmin, orderBy, filter, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<ApplicationInstanceResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Provides details to an application instance\r\n * \r\n * @param applicationInstanceId \r\n * @param body Id of the application instance to return\r\n */\r\n public getApplicationInstanceDetailsWithHttpInfo(applicationInstanceId: string, body?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<ApplicationInstanceDetailResponse>>> {\r\n const path = this.basePath + '/api/v202112/ApplicationInstance/${applicationInstanceId}/detail'\r\n .replace('${' + 'applicationInstanceId' + '}', String(applicationInstanceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'applicationInstanceId' is not null or undefined\r\n if (applicationInstanceId === null || applicationInstanceId === undefined) {\r\n throw new Error('Required parameter applicationInstanceId was null or undefined when calling getApplicationInstanceDetails.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<ApplicationInstanceDetailResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Provides the data needed to redirect the user to the specified application instance\r\n * If the Application Instance is configured with an Alias, the exchange URL from the Alias will be returned instead of that from the associated Application Environment.\r\n * @param applicationInstanceId The application instance ID\r\n */\r\n public getApplicationInstanceExchangeInfoWithHttpInfo(applicationInstanceId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<ApplicationInstanceRedirectResponse>> {\r\n const path = this.basePath + '/api/v202108/ApplicationInstance/${applicationInstanceId}/exchange'\r\n .replace('${' + 'applicationInstanceId' + '}', String(applicationInstanceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'applicationInstanceId' is not null or undefined\r\n if (applicationInstanceId === null || applicationInstanceId === undefined) {\r\n throw new Error('Required parameter applicationInstanceId was null or undefined when calling getApplicationInstanceExchangeInfo.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<ApplicationInstanceRedirectResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Provides a list of user&#39;s who have access to an application instance\r\n * \r\n * @param applicationInstanceId \r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n * @param body Id of the application instance to return\r\n */\r\n public getApplicationInstanceUsersWithHttpInfo(applicationInstanceId: string, pageSize?: number, pageNumber?: number, body?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<ApplicationInstanceUserResponse>>> {\r\n const path = this.basePath + '/api/v202112/ApplicationInstance/${applicationInstanceId}/user'\r\n .replace('${' + 'applicationInstanceId' + '}', String(applicationInstanceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'applicationInstanceId' is not null or undefined\r\n if (applicationInstanceId === null || applicationInstanceId === undefined) {\r\n throw new Error('Required parameter applicationInstanceId was null or undefined when calling getApplicationInstanceUsers.');\r\n }\r\n if (pageSize !== undefined) {\r\n queryParameters = queryParameters.set('pageSize', <any>pageSize);\r\n }\r\n\r\n if (pageNumber !== undefined) {\r\n queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<ApplicationInstanceUserResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Provides a list of all available application instances to which the logged in user has access\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all application instances to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n * @param orderBy \r\n * @param filter \r\n * @param pageSize The number of elements to return in a page (defaults to 250 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getApplicationInstancesWithHttpInfo(onlyAdmin?: boolean, orderBy?: string, filter?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<ApplicationInstanceResponse>>> {\r\n const path = this.basePath + '/api/v202108/ApplicationInstance';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (onlyAdmin !== undefined) {\r\n queryParameters = queryParameters.set('onlyAdmin', <any>onlyAdmin);\r\n }\r\n\r\n if (orderBy !== undefined) {\r\n queryParameters = queryParameters.set('orderBy', <any>orderBy);\r\n }\r\n\r\n if (filter !== undefined) {\r\n queryParameters = queryParameters.set('filter', <any>filter);\r\n }\r\n\r\n if (pageSize !== undefined) {\r\n queryParameters = queryParameters.set('pageSize', <any>pageSize);\r\n }\r\n\r\n if (pageNumber !== undefined) {\r\n queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<ApplicationInstanceResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { ChangePasswordRequest } from '../model/changePasswordRequest';\r\nimport { LoginResponse } from '../model/loginResponse';\r\nimport { LoginSourceResponse } from '../model/loginSourceResponse';\r\nimport { ResetPasswordRequest } from '../model/resetPasswordRequest';\r\nimport { UserLoginRequest } from '../model/userLoginRequest';\r\nimport { ValidatePasswordRequest } from '../model/validatePasswordRequest';\r\nimport { ValidatePasswordResponse } from '../model/validatePasswordResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * This method is used when a user is logging in with a temporary password. They should have already called Login and received a RequiresNewPasswordToken. That token should be used to change the user&#39;s password. If successful, they will receive a success response with a JWT. If the password is not valid the error message will contain all reasons it does not pass ValidatePassword API returns similar information but in a friendlier response format\r\n * \r\n * @param body Data needed to change user password\r\n */\r\n public changePassword(body?: ChangePasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<LoginResponse> {\r\n return this.changePasswordWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<LoginResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to determine the login source. If a value is returned, then it is the name of the Federation Provider. If nothing is returned, then the login should occur locally\r\n * \r\n * @param lookup The lookup value to use when looking up the federation provider. May be the email of the user, an alias, etc\r\n */\r\n public getLoginSource(lookup?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<LoginSourceResponse> {\r\n return this.getLoginSourceWithHttpInfo(lookup, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<LoginSourceResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to authenticate a user given an authcode from the federation provider\r\n * \r\n * @param code The auth code from the IdP\r\n * @param nonce The nonce from the authentication call\r\n * @param redirectUri Use this to override the default ReplyUrl that was used for authentication\r\n */\r\n public loginWithFederationProvider(code: string, nonce?: string, redirectUri?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<LoginResponse> {\r\n return this.loginWithFederationProviderWithHttpInfo(code, nonce, redirectUri, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<LoginResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to authenticate a user given their username and password\r\n * \r\n * @param body The user login information\r\n */\r\n public loginWithUsernameAndPassword(body?: UserLoginRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<LoginResponse> {\r\n return this.loginWithUsernameAndPasswordWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<LoginResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Will attempt to reset the user&#39;s password based upon the incoming confirmation code and new password The response model will inform of a successful response. If the password is not valid the error message will contain all reasons it does not pass ValidatePassword API returns similar information but in a friendlier response format\r\n * \r\n * @param body Data to reset the user&#39;s password\r\n */\r\n public resetPassword(body?: ResetPasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.resetPasswordWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * If the user exists, an email will be sent. If the domain is a federated domain, no email will be sent\r\n * \r\n * @param email The user&#39;s email to lookup and send\r\n */\r\n public sendPasswordRecoveryEmail(email?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.sendPasswordRecoveryEmailWithHttpInfo(email, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Validates a password\r\n * \r\n * @param body Password to validate\r\n */\r\n public validatePassword(body?: ValidatePasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<ValidatePasswordResponse> {\r\n return this.validatePasswordWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<ValidatePasswordResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * This method is used when a user is logging in with a temporary password. They should have already called Login and received a RequiresNewPasswordToken. That token should be used to change the user&#39;s password. If successful, they will receive a success response with a JWT. If the password is not valid the error message will contain all reasons it does not pass ValidatePassword API returns similar information but in a friendlier response format\r\n * \r\n * @param body Data needed to change user password\r\n */\r\n public changePasswordWithHttpInfo(body?: ChangePasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<LoginResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth/ChangePassword';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<LoginResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to determine the login source. If a value is returned, then it is the name of the Federation Provider. If nothing is returned, then the login should occur locally\r\n * \r\n * @param lookup The lookup value to use when looking up the federation provider. May be the email of the user, an alias, etc\r\n */\r\n public getLoginSourceWithHttpInfo(lookup?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<LoginSourceResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth/source';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (lookup !== undefined) {\r\n queryParameters = queryParameters.set('lookup', <any>lookup);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<LoginSourceResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to authenticate a user given an authcode from the federation provider\r\n * \r\n * @param code The auth code from the IdP\r\n * @param nonce The nonce from the authentication call\r\n * @param redirectUri Use this to override the default ReplyUrl that was used for authentication\r\n */\r\n public loginWithFederationProviderWithHttpInfo(code: string, nonce?: string, redirectUri?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<LoginResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth/${code}'\r\n .replace('${' + 'code' + '}', String(code));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'code' is not null or undefined\r\n if (code === null || code === undefined) {\r\n throw new Error('Required parameter code was null or undefined when calling loginWithFederationProvider.');\r\n }\r\n if (nonce !== undefined) {\r\n queryParameters = queryParameters.set('nonce', <any>nonce);\r\n }\r\n\r\n if (redirectUri !== undefined) {\r\n queryParameters = queryParameters.set('redirectUri', <any>redirectUri);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<LoginResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to authenticate a user given their username and password\r\n * \r\n * @param body The user login information\r\n */\r\n public loginWithUsernameAndPasswordWithHttpInfo(body?: UserLoginRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<LoginResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<LoginResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Will attempt to reset the user&#39;s password based upon the incoming confirmation code and new password The response model will inform of a successful response. If the password is not valid the error message will contain all reasons it does not pass ValidatePassword API returns similar information but in a friendlier response format\r\n * \r\n * @param body Data to reset the user&#39;s password\r\n */\r\n public resetPasswordWithHttpInfo(body?: ResetPasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/Auth/ResetPassword';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * If the user exists, an email will be sent. If the domain is a federated domain, no email will be sent\r\n * \r\n * @param email The user&#39;s email to lookup and send\r\n */\r\n public sendPasswordRecoveryEmailWithHttpInfo(email?: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/Auth/ForgotPassword';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (email !== undefined) {\r\n queryParameters = queryParameters.set('email', <any>email);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Validates a password\r\n * \r\n * @param body Password to validate\r\n */\r\n public validatePasswordWithHttpInfo(body?: ValidatePasswordRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<ValidatePasswordResponse>> {\r\n const path = this.basePath + '/api/v202108/Auth/ValidatePassword';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<ValidatePasswordResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { DataSourceResponse } from '../model/dataSourceResponse';\r\nimport { DataSourceUpdateRequest } from '../model/dataSourceUpdateRequest';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class DataSourceService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets information about a data source\r\n * \r\n * @param dataSourceId The id of the data source to return\r\n */\r\n public getDataSourceById(dataSourceId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<DataSourceResponse> {\r\n return this.getDataSourceByIdWithHttpInfo(dataSourceId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<DataSourceResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets the data sources to which the logged in user has access.\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all data sources to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n */\r\n public getDataSources(onlyAdmin?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<DataSourceResponse>> {\r\n return this.getDataSourcesWithHttpInfo(onlyAdmin, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<DataSourceResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Updates the specified data source. Only the fields with values will be updated. The dataSourceId must exist, and the logged in user must be an admin on the data source\r\n * \r\n * @param dataSourceId The id of the data source to update\r\n * @param body The values to update on the data source. If a value is null or whitespace it will not be updated\r\n */\r\n public updateDataSource(dataSourceId: string, body?: DataSourceUpdateRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<DataSourceResponse> {\r\n return this.updateDataSourceWithHttpInfo(dataSourceId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<DataSourceResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Gets information about a data source\r\n * \r\n * @param dataSourceId The id of the data source to return\r\n */\r\n public getDataSourceByIdWithHttpInfo(dataSourceId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<DataSourceResponse>> {\r\n const path = this.basePath + '/api/v202108/DataSource/${dataSourceId}'\r\n .replace('${' + 'dataSourceId' + '}', String(dataSourceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'dataSourceId' is not null or undefined\r\n if (dataSourceId === null || dataSourceId === undefined) {\r\n throw new Error('Required parameter dataSourceId was null or undefined when calling getDataSourceById.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<DataSourceResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets the data sources to which the logged in user has access.\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all data sources to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n */\r\n public getDataSourcesWithHttpInfo(onlyAdmin?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<DataSourceResponse>>> {\r\n const path = this.basePath + '/api/v202108/DataSource';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (onlyAdmin !== undefined) {\r\n queryParameters = queryParameters.set('onlyAdmin', <any>onlyAdmin);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<DataSourceResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Updates the specified data source. Only the fields with values will be updated. The dataSourceId must exist, and the logged in user must be an admin on the data source\r\n * \r\n * @param dataSourceId The id of the data source to update\r\n * @param body The values to update on the data source. If a value is null or whitespace it will not be updated\r\n */\r\n public updateDataSourceWithHttpInfo(dataSourceId: string, body?: DataSourceUpdateRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<DataSourceResponse>> {\r\n const path = this.basePath + '/api/v202108/DataSource/${dataSourceId}'\r\n .replace('${' + 'dataSourceId' + '}', String(dataSourceId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'dataSourceId' is not null or undefined\r\n if (dataSourceId === null || dataSourceId === undefined) {\r\n throw new Error('Required parameter dataSourceId was null or undefined when calling updateDataSource.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<DataSourceResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { DomainJoinTypeResponse } from '../model/domainJoinTypeResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class DomainJoinTypeService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets a list of all Domain Join Types\r\n * \r\n */\r\n public getDomainJoinTypes(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<DomainJoinTypeResponse>> {\r\n return this.getDomainJoinTypesWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<DomainJoinTypeResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Gets a list of all Domain Join Types\r\n * \r\n */\r\n public getDomainJoinTypesWithHttpInfo(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<DomainJoinTypeResponse>>> {\r\n const path = this.basePath + '/api/v202112/DomainJoinType';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<DomainJoinTypeResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { EnvironmentResponse } from '../model/environmentResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * A List of environments. By default only those the current user has access to. Use the query parameter to get all environments\r\n * \r\n * @param includeAll Defaults to false. If false, returns only environments to which the current user has access. When true, returns a list of all environments. This is useful for data source linking\r\n */\r\n public getEnvironments(includeAll?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<EnvironmentResponse>> {\r\n return this.getEnvironmentsWithHttpInfo(includeAll, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<EnvironmentResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * A List of environments. By default only those the current user has access to. Use the query parameter to get all environments\r\n * \r\n * @param includeAll Defaults to false. If false, returns only environments to which the current user has access. When true, returns a list of all environments. This is useful for data source linking\r\n */\r\n public getEnvironmentsWithHttpInfo(includeAll?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<EnvironmentResponse>>> {\r\n const path = this.basePath + '/api/v202108/Environment';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (includeAll !== undefined) {\r\n queryParameters = queryParameters.set('includeAll', <any>includeAll);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<EnvironmentResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { LinkDataSourceRequest } from '../model/linkDataSourceRequest';\r\nimport { NotificationSettingRequest } from '../model/notificationSettingRequest';\r\nimport { UpdateMeRequest } from '../model/updateMeRequest';\r\nimport { UserResponse } from '../model/userResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class MeService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Use this method to get information about the currently authenticated user\r\n * \r\n */\r\n public getMe(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.getMeWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Will allow a user to link to a data source that they don&#39;t have access to based upon their login name\r\n * \r\n * @param body Information needed to connect to the data source\r\n */\r\n public linkMyUserToDataSource(body?: LinkDataSourceRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.linkMyUserToDataSourceWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to update the currently authenticated user&#39;s information\r\n * \r\n * @param body The user information to update\r\n */\r\n public updateMyInformation(body?: UpdateMeRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.updateMyInformationWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to update the currently authenticated user&#39;s notification settings\r\n * \r\n * @param body The user notification settings to update\r\n */\r\n public updateMyNotificationSetting(body?: NotificationSettingRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.updateMyNotificationSettingWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Use this method to get information about the currently authenticated user\r\n * \r\n */\r\n public getMeWithHttpInfo(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/Me';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Will allow a user to link to a data source that they don&#39;t have access to based upon their login name\r\n * \r\n * @param body Information needed to connect to the data source\r\n */\r\n public linkMyUserToDataSourceWithHttpInfo(body?: LinkDataSourceRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/Me/dataSource/link';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to update the currently authenticated user&#39;s information\r\n * \r\n * @param body The user information to update\r\n */\r\n public updateMyInformationWithHttpInfo(body?: UpdateMeRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/Me';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to update the currently authenticated user&#39;s notification settings\r\n * \r\n * @param body The user notification settings to update\r\n */\r\n public updateMyNotificationSettingWithHttpInfo(body?: NotificationSettingRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/Me/notificationsetting';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { NotificationBadgeResponse } from '../model/notificationBadgeResponse';\r\nimport { NotificationResponse } from '../model/notificationResponse';\r\nimport { NotificationUpdateRequest } from '../model/notificationUpdateRequest';\r\nimport { UpdateResult } from '../model/updateResult';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Get the last 250 notifications for the current user\r\n * \r\n */\r\n public getMyNotifications(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<NotificationResponse>> {\r\n return this.getMyNotificationsWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<NotificationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Get a specific notification for the current user\r\n * \r\n * @param notificationId Id of the notification to get\r\n */\r\n public getNotification(notificationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<NotificationResponse> {\r\n return this.getNotificationWithHttpInfo(notificationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<NotificationResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Get total number of notifications that are unread and unarchived for the current user. Use lastCheckDateTimeUtc to get the number of new notifications since the passed in date and time. By default, only the latest 250 notifications will be taken into account. Use the &#39;noLimit&#39; query parameter to override this behavior.\r\n * \r\n * @param lastCheckDateTimeUtc Used when calculating the number of new notifications. Must be a UTC DateTime in the format yyyy-MM-ddTHH:mm:ssZ. If not passed the TotalNotifications and NewNotifications will be equal.\r\n * @param noLimit If true, will return the badge totals for all of the user&#39;s notifications, not just the 250 most recent ones\r\n */\r\n public getNotificationBadgeTotals(lastCheckDateTimeUtc?: Date, noLimit?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<NotificationBadgeResponse> {\r\n return this.getNotificationBadgeTotalsWithHttpInfo(lastCheckDateTimeUtc, noLimit, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<NotificationBadgeResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Update a list of notifications based on the notification ids and action passed in Only notifications for the current user can be updated\r\n * \r\n * @param body List of notification ids and action to perform\r\n */\r\n public updateListOfNotifications(body?: NotificationUpdateRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UpdateResult> {\r\n return this.updateListOfNotificationsWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UpdateResult>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Get the last 250 notifications for the current user\r\n * \r\n */\r\n public getMyNotificationsWithHttpInfo(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<NotificationResponse>>> {\r\n const path = this.basePath + '/api/v202111/Notification';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<NotificationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Get a specific notification for the current user\r\n * \r\n * @param notificationId Id of the notification to get\r\n */\r\n public getNotificationWithHttpInfo(notificationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<NotificationResponse>> {\r\n const path = this.basePath + '/api/v202111/Notification/${notificationId}'\r\n .replace('${' + 'notificationId' + '}', String(notificationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'notificationId' is not null or undefined\r\n if (notificationId === null || notificationId === undefined) {\r\n throw new Error('Required parameter notificationId was null or undefined when calling getNotification.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<NotificationResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Get total number of notifications that are unread and unarchived for the current user. Use lastCheckDateTimeUtc to get the number of new notifications since the passed in date and time. By default, only the latest 250 notifications will be taken into account. Use the &#39;noLimit&#39; query parameter to override this behavior.\r\n * \r\n * @param lastCheckDateTimeUtc Used when calculating the number of new notifications. Must be a UTC DateTime in the format yyyy-MM-ddTHH:mm:ssZ. If not passed the TotalNotifications and NewNotifications will be equal.\r\n * @param noLimit If true, will return the badge totals for all of the user&#39;s notifications, not just the 250 most recent ones\r\n */\r\n public getNotificationBadgeTotalsWithHttpInfo(lastCheckDateTimeUtc?: Date, noLimit?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<NotificationBadgeResponse>> {\r\n const path = this.basePath + '/api/v202111/Notification/badge';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (lastCheckDateTimeUtc !== undefined) {\r\n queryParameters = queryParameters.set('lastCheckDateTimeUtc', <any>lastCheckDateTimeUtc.toISOString());\r\n }\r\n\r\n if (noLimit !== undefined) {\r\n queryParameters = queryParameters.set('noLimit', <any>noLimit);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<NotificationBadgeResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Update a list of notifications based on the notification ids and action passed in Only notifications for the current user can be updated\r\n * \r\n * @param body List of notification ids and action to perform\r\n */\r\n public updateListOfNotificationsWithHttpInfo(body?: NotificationUpdateRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UpdateResult>> {\r\n const path = this.basePath + '/api/v202111/Notification';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UpdateResult>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { CreateOrganizationRequest } from '../model/createOrganizationRequest';\r\nimport { HierarchicalOrganizations } from '../model/hierarchicalOrganizations';\r\nimport { OrganizationAccessControlResponse } from '../model/organizationAccessControlResponse';\r\nimport { OrganizationDetailResponse } from '../model/organizationDetailResponse';\r\nimport { OrganizationResponse } from '../model/organizationResponse';\r\nimport { OrganizationUserResponse } from '../model/organizationUserResponse';\r\nimport { UpdateOrganizationAccessControlRequest } from '../model/updateOrganizationAccessControlRequest';\r\nimport { UpdateOrganizationDetailsRequest } from '../model/updateOrganizationDetailsRequest';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class OrganizationService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Create a new organization\r\n * \r\n * @param organizationId \r\n * @param body \r\n */\r\n public createOrganization(organizationId: string, body?: CreateOrganizationRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationResponse> {\r\n return this.createOrganizationWithHttpInfo(organizationId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets organization access control data You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationAccessControl(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationAccessControlResponse> {\r\n return this.getOrganizationAccessControlWithHttpInfo(organizationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationAccessControlResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets information about an Organization\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationById(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationResponse> {\r\n return this.getOrganizationByIdWithHttpInfo(organizationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets additional detail information about an Organization You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationDetails(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationDetailResponse> {\r\n return this.getOrganizationDetailsWithHttpInfo(organizationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationDetailResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Returns your entire organization hierarchy For performance returns a max page size of 100\r\n * \r\n */\r\n public getOrganizationHierarchy(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<HierarchicalOrganizations>> {\r\n return this.getOrganizationHierarchyWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<HierarchicalOrganizations>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets users linked to an organization\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationUsers(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<OrganizationUserResponse>> {\r\n return this.getOrganizationUsersWithHttpInfo(organizationId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<OrganizationUserResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets the organizations to which the logged in user has access\r\n * \r\n * @param filter \r\n * @param pageSize The number of elements to return in a page (defaults to 50 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getOrganizations(filter?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<OrganizationResponse>> {\r\n return this.getOrganizationsWithHttpInfo(filter, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<OrganizationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param query \r\n * @param pageSize The number of elements to return in a page (defaults to 50 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public searchOrganizations(query?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<OrganizationResponse>> {\r\n return this.searchOrganizationsWithHttpInfo(query, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<OrganizationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Update organization access control data You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n * @param body \r\n */\r\n public updateOrganizationAccessControl(organizationId: string, body?: UpdateOrganizationAccessControlRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationAccessControlResponse> {\r\n return this.updateOrganizationAccessControlWithHttpInfo(organizationId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationAccessControlResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Update organization details You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n * @param body \r\n */\r\n public updateOrganizationDetails(organizationId: string, body?: UpdateOrganizationDetailsRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<OrganizationDetailResponse> {\r\n return this.updateOrganizationDetailsWithHttpInfo(organizationId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<OrganizationDetailResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Create a new organization\r\n * \r\n * @param organizationId \r\n * @param body \r\n */\r\n public createOrganizationWithHttpInfo(organizationId: string, body?: CreateOrganizationRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling createOrganization.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets organization access control data You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationAccessControlWithHttpInfo(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationAccessControlResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/accesscontrol'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling getOrganizationAccessControl.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationAccessControlResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets information about an Organization\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationByIdWithHttpInfo(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationResponse>> {\r\n const path = this.basePath + '/api/v202108/Organization/${organizationId}'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling getOrganizationById.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets additional detail information about an Organization You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationDetailsWithHttpInfo(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationDetailResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/detail'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling getOrganizationDetails.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationDetailResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Returns your entire organization hierarchy For performance returns a max page size of 100\r\n * \r\n */\r\n public getOrganizationHierarchyWithHttpInfo(extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<HierarchicalOrganizations>>> {\r\n const path = this.basePath + '/api/v202112/Organization/hierarchy';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<HierarchicalOrganizations>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets users linked to an organization\r\n * \r\n * @param organizationId The organization identifier\r\n */\r\n public getOrganizationUsersWithHttpInfo(organizationId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<OrganizationUserResponse>>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/user'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling getOrganizationUsers.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<OrganizationUserResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets the organizations to which the logged in user has access\r\n * \r\n * @param filter \r\n * @param pageSize The number of elements to return in a page (defaults to 50 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public getOrganizationsWithHttpInfo(filter?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<OrganizationResponse>>> {\r\n const path = this.basePath + '/api/v202108/Organization';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (filter !== undefined) {\r\n queryParameters = queryParameters.set('filter', <any>filter);\r\n }\r\n\r\n if (pageSize !== undefined) {\r\n queryParameters = queryParameters.set('pageSize', <any>pageSize);\r\n }\r\n\r\n if (pageNumber !== undefined) {\r\n queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<OrganizationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param query \r\n * @param pageSize The number of elements to return in a page (defaults to 50 elements)\r\n * @param pageNumber The current page number\r\n */\r\n public searchOrganizationsWithHttpInfo(query?: string, pageSize?: number, pageNumber?: number, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<OrganizationResponse>>> {\r\n const path = this.basePath + '/api/v202112/Organization/search';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (query !== undefined) {\r\n queryParameters = queryParameters.set('query', <any>query);\r\n }\r\n\r\n if (pageSize !== undefined) {\r\n queryParameters = queryParameters.set('pageSize', <any>pageSize);\r\n }\r\n\r\n if (pageNumber !== undefined) {\r\n queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<OrganizationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Update organization access control data You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n * @param body \r\n */\r\n public updateOrganizationAccessControlWithHttpInfo(organizationId: string, body?: UpdateOrganizationAccessControlRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationAccessControlResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/accesscontrol'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling updateOrganizationAccessControl.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationAccessControlResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Update organization details You must be an admin to the organizaion to get this information\r\n * \r\n * @param organizationId The organization identifier\r\n * @param body \r\n */\r\n public updateOrganizationDetailsWithHttpInfo(organizationId: string, body?: UpdateOrganizationDetailsRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<OrganizationDetailResponse>> {\r\n const path = this.basePath + '/api/v202112/Organization/${organizationId}/detail'\r\n .replace('${' + 'organizationId' + '}', String(organizationId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'organizationId' is not null or undefined\r\n if (organizationId === null || organizationId === undefined) {\r\n throw new Error('Required parameter organizationId was null or undefined when calling updateOrganizationDetails.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<OrganizationDetailResponse>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { OrganizationApplicationResponse } from '../model/organizationApplicationResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class OrganizationApplicationService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets the organization applications to which the logged in user has access.\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all organization applications to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n */\r\n public getOrganizationApplications(onlyAdmin?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<OrganizationApplicationResponse>> {\r\n return this.getOrganizationApplicationsWithHttpInfo(onlyAdmin, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<OrganizationApplicationResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Gets the organization applications to which the logged in user has access.\r\n * \r\n * @param onlyAdmin Defaults to false. If false, returns all organization applications to which the current user has access. If set to true will only return results where the logged in user has admin access\r\n */\r\n public getOrganizationApplicationsWithHttpInfo(onlyAdmin?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<OrganizationApplicationResponse>>> {\r\n const path = this.basePath + '/api/v202108/OrganizationApplication';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n if (onlyAdmin !== undefined) {\r\n queryParameters = queryParameters.set('onlyAdmin', <any>onlyAdmin);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<OrganizationApplicationResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AllUserPermissionsResponse } from '../model/allUserPermissionsResponse';\r\nimport { EntityPermission } from '../model/entityPermission';\r\nimport { InviteUserRequest } from '../model/inviteUserRequest';\r\nimport { SelfCreateUserRequest } from '../model/selfCreateUserRequest';\r\nimport { UserApplicationInstanceResponse } from '../model/userApplicationInstanceResponse';\r\nimport { UserOrganizationResponse } from '../model/userOrganizationResponse';\r\nimport { UserPermissionRequest } from '../model/userPermissionRequest';\r\nimport { UserPermissionResponse } from '../model/userPermissionResponse';\r\nimport { UserResponse } from '../model/userResponse';\r\n\r\nimport { BASE_PATH } from '../variables';\r\nimport { COLLECTION_FORMATS } from '../variables';\r\n\r\nimport { Configuration } from '../configuration';\r\n\r\nconst RequestMethod = {\r\n Get: 'get',\r\n Post: 'post',\r\n Put: 'put',\r\n Delete: 'delete',\r\n Options: 'options',\r\n Head: 'head',\r\n Patch: 'patch'\r\n};\r\n\r\n\r\n@Injectable()\r\nexport class UserService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders: HttpHeaders = new HttpHeaders();\r\n public configuration: Configuration = new Configuration();\r\n\r\n constructor(protected http: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n\t\t\tthis.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * Extends object by coping non-existing properties.\r\n * @param objA object to be extended\r\n * @param objB source object\r\n */\r\n private extendObj<T1,T2>(objA: T1, objB: T2) {\r\n for(let key in objB){\r\n if(objB.hasOwnProperty(key)){\r\n (objA as any)[key] = (objB as any)[key];\r\n }\r\n }\r\n return <T1&T2>objA;\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (let consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Use this method to create a new user. Generally for Self-Service. No permissions will be added\r\n * \r\n * @param body The details of the user to be created\r\n */\r\n public createUser(body?: SelfCreateUserRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.createUserWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Deletes a specific permission to an entity. This will remove a grant, but will not negate an inherited grant. If there is not an explicit grant to the given user to the given entity, a BadRequest response will be returned\r\n * \r\n * @param userId The user&#39;s identifier.\r\n * @param entityId The entity identifier.\r\n */\r\n public deleteUserPermission(userId: string, entityId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.deleteUserPermissionWithHttpInfo(userId, entityId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Return all application instances a user has access to and you are an admin to\r\n * \r\n * @param userId The user to get application instances for\r\n */\r\n public getUserApplicationInstances(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserApplicationInstanceResponse> {\r\n return this.getUserApplicationInstancesWithHttpInfo(userId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserApplicationInstanceResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to get information about a user\r\n * \r\n * @param email The email address of the user to return\r\n */\r\n public getUserByEmail(email: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.getUserByEmailWithHttpInfo(email, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Return all organization a user has access to and you are an admin to\r\n * \r\n * @param userId The user to get application instances for\r\n */\r\n public getUserOrganizations(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserOrganizationResponse> {\r\n return this.getUserOrganizationsWithHttpInfo(userId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserOrganizationResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets information regarding the specified entity to which the specified user has access. Only if the logged in user is in administrator will information be available. If the user does not have access, no entry will be returned.\r\n * \r\n * @param userId The user identifier of the user about which information is being requested.\r\n * @param entityId The entity identifier.\r\n */\r\n public getUserPermissionForEntity(userId: string, entityId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<EntityPermission> {\r\n return this.getUserPermissionForEntityWithHttpInfo(userId, entityId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<EntityPermission>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets all entities to which the specified user has access. Only those that the logged in user is in administrator will be available.\r\n * \r\n * @param userId The user identifier to which to get permissions regarding.\r\n */\r\n public getUserPermissions(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<AllUserPermissionsResponse> {\r\n return this.getUserPermissionsWithHttpInfo(userId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<AllUserPermissionsResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Gets the users who have permissions to this entity.\r\n * \r\n * @param entityId The entity identifier.\r\n * @param includeNoAccess if set to {true} [include no access].\r\n */\r\n public getUsersWithPermissionToEntity(entityId: string, includeNoAccess?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<Array<UserPermissionResponse>> {\r\n return this.getUsersWithPermissionToEntityWithHttpInfo(entityId, includeNoAccess, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<Array<UserPermissionResponse>>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Use this method to invite a user to the application Creates a user and sends an email\r\n * \r\n * @param body Data used to create the user and send the invitation\r\n */\r\n public inviteUser(body?: InviteUserRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<UserResponse> {\r\n return this.inviteUserWithHttpInfo(body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<UserResponse>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Resends an invitation to the specified user\r\n * \r\n * @param userId The user identifier\r\n */\r\n public resendInvite(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.resendInviteWithHttpInfo(userId, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Sets an explicit permission to the specified entity on the specified user given the specified role. This grant will be inherited downstream unless there is a more specific permission specified. If the user does not currently have permission to the entity it is added otherwise it is updated\r\n * \r\n * @param userId The user identifier to which permissions will be assigned.\r\n * @param entityId The entity identifier to apply the permission to.\r\n * @param body Data representing the permission to set.\r\n */\r\n public setUserPermission(userId: string, entityId: string, body?: UserPermissionRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<any> {\r\n return this.setUserPermissionWithHttpInfo(userId, entityId, body, extraHttpRequestParams, extraHttpRequestHeaders)\r\n .pipe(\r\n map((response: HttpResponse<any>) => {\r\n if (response.status === 204) {\r\n return undefined;\r\n } else {\r\n return response.body;\r\n }\r\n })\r\n )\r\n }\r\n\r\n\r\n /**\r\n * Use this method to create a new user. Generally for Self-Service. No permissions will be added\r\n * \r\n * @param body The details of the user to be created\r\n */\r\n public createUserWithHttpInfo(body?: SelfCreateUserRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/User';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Deletes a specific permission to an entity. This will remove a grant, but will not negate an inherited grant. If there is not an explicit grant to the given user to the given entity, a BadRequest response will be returned\r\n * \r\n * @param userId The user&#39;s identifier.\r\n * @param entityId The entity identifier.\r\n */\r\n public deleteUserPermissionWithHttpInfo(userId: string, entityId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/User/${userId}/permission/${entityId}'\r\n .replace('${' + 'userId' + '}', String(userId))\r\n .replace('${' + 'entityId' + '}', String(entityId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling deleteUserPermission.');\r\n }\r\n // verify required parameter 'entityId' is not null or undefined\r\n if (entityId === null || entityId === undefined) {\r\n throw new Error('Required parameter entityId was null or undefined when calling deleteUserPermission.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Delete, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Return all application instances a user has access to and you are an admin to\r\n * \r\n * @param userId The user to get application instances for\r\n */\r\n public getUserApplicationInstancesWithHttpInfo(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserApplicationInstanceResponse>> {\r\n const path = this.basePath + '/api/v202112/User/${userId}/applicationInstance'\r\n .replace('${' + 'userId' + '}', String(userId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling getUserApplicationInstances.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserApplicationInstanceResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to get information about a user\r\n * \r\n * @param email The email address of the user to return\r\n */\r\n public getUserByEmailWithHttpInfo(email: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/User/${email}'\r\n .replace('${' + 'email' + '}', String(email));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'email' is not null or undefined\r\n if (email === null || email === undefined) {\r\n throw new Error('Required parameter email was null or undefined when calling getUserByEmail.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Return all organization a user has access to and you are an admin to\r\n * \r\n * @param userId The user to get application instances for\r\n */\r\n public getUserOrganizationsWithHttpInfo(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserOrganizationResponse>> {\r\n const path = this.basePath + '/api/v202112/User/${userId}/organization'\r\n .replace('${' + 'userId' + '}', String(userId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling getUserOrganizations.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserOrganizationResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets information regarding the specified entity to which the specified user has access. Only if the logged in user is in administrator will information be available. If the user does not have access, no entry will be returned.\r\n * \r\n * @param userId The user identifier of the user about which information is being requested.\r\n * @param entityId The entity identifier.\r\n */\r\n public getUserPermissionForEntityWithHttpInfo(userId: string, entityId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<EntityPermission>> {\r\n const path = this.basePath + '/api/v202108/User/${userId}/permission/${entityId}'\r\n .replace('${' + 'userId' + '}', String(userId))\r\n .replace('${' + 'entityId' + '}', String(entityId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling getUserPermissionForEntity.');\r\n }\r\n // verify required parameter 'entityId' is not null or undefined\r\n if (entityId === null || entityId === undefined) {\r\n throw new Error('Required parameter entityId was null or undefined when calling getUserPermissionForEntity.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<EntityPermission>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets all entities to which the specified user has access. Only those that the logged in user is in administrator will be available.\r\n * \r\n * @param userId The user identifier to which to get permissions regarding.\r\n */\r\n public getUserPermissionsWithHttpInfo(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<AllUserPermissionsResponse>> {\r\n const path = this.basePath + '/api/v202108/User/${userId}/permission'\r\n .replace('${' + 'userId' + '}', String(userId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling getUserPermissions.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<AllUserPermissionsResponse>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Gets the users who have permissions to this entity.\r\n * \r\n * @param entityId The entity identifier.\r\n * @param includeNoAccess if set to {true} [include no access].\r\n */\r\n public getUsersWithPermissionToEntityWithHttpInfo(entityId: string, includeNoAccess?: boolean, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<Array<UserPermissionResponse>>> {\r\n const path = this.basePath + '/api/v202108/User/permission/${entityId}'\r\n .replace('${' + 'entityId' + '}', String(entityId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'entityId' is not null or undefined\r\n if (entityId === null || entityId === undefined) {\r\n throw new Error('Required parameter entityId was null or undefined when calling getUsersWithPermissionToEntity.');\r\n }\r\n if (includeNoAccess !== undefined) {\r\n queryParameters = queryParameters.set('includeNoAccess', <any>includeNoAccess);\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<Array<UserPermissionResponse>>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Use this method to invite a user to the application Creates a user and sends an email\r\n * \r\n * @param body Data used to create the user and send the invitation\r\n */\r\n public inviteUserWithHttpInfo(body?: InviteUserRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<UserResponse>> {\r\n const path = this.basePath + '/api/v202108/User/invite';\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n 'application/json'\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<UserResponse>(RequestMethod.Post, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Resends an invitation to the specified user\r\n * \r\n * @param userId The user identifier\r\n */\r\n public resendInviteWithHttpInfo(userId: string, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/User/invite/resend/${userId}'\r\n .replace('${' + 'userId' + '}', String(userId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling resendInvite.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n ];\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Get, path, requestOptions);\r\n }\r\n\r\n /**\r\n * Sets an explicit permission to the specified entity on the specified user given the specified role. This grant will be inherited downstream unless there is a more specific permission specified. If the user does not currently have permission to the entity it is added otherwise it is updated\r\n * \r\n * @param userId The user identifier to which permissions will be assigned.\r\n * @param entityId The entity identifier to apply the permission to.\r\n * @param body Data representing the permission to set.\r\n */\r\n public setUserPermissionWithHttpInfo(userId: string, entityId: string, body?: UserPermissionRequest, extraHttpRequestParams?: {search: string | {[param: string]: string | string[] } }, extraHttpRequestHeaders?: {[header: string]: string | string[]}): Observable<HttpResponse<any>> {\r\n const path = this.basePath + '/api/v202108/User/${userId}/permission/${entityId}'\r\n .replace('${' + 'userId' + '}', String(userId))\r\n .replace('${' + 'entityId' + '}', String(entityId));\r\n\r\n let queryParameters: HttpParams;\r\n \r\n if (extraHttpRequestParams) {\r\n if (typeof extraHttpRequestParams.search === 'string') { \r\n queryParameters = new HttpParams({fromString: extraHttpRequestParams.search});\r\n } else {\r\n queryParameters = new HttpParams({fromObject: extraHttpRequestParams.search});\r\n }\r\n } else {\r\n queryParameters = new HttpParams();\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n this.defaultHeaders.keys().forEach(key => {\r\n headers = headers.set(key, this.defaultHeaders.getAll(key));\r\n });\r\n\r\n if (extraHttpRequestHeaders) {\r\n Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {\r\n headers = headers.set(key, value);\r\n });\r\n }\r\n\r\n // verify required parameter 'userId' is not null or undefined\r\n if (userId === null || userId === undefined) {\r\n throw new Error('Required parameter userId was null or undefined when calling setUserPermission.');\r\n }\r\n // verify required parameter 'entityId' is not null or undefined\r\n if (entityId === null || entityId === undefined) {\r\n throw new Error('Required parameter entityId was null or undefined when calling setUserPermission.');\r\n }\r\n\r\n // to determine the Accept header\r\n let produces: string[] = [\r\n ];\r\n\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n \r\n\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n headers = headers.set('Content-Type', consumes[0]);\r\n\r\n let requestOptions = {\r\n headers: headers,\r\n body: body == null ? '' : (consumes[0] == 'application/json' ? JSON.stringify(body) : body), // https://github.com/angular/angular/issues/10612\r\n params: queryParameters,\r\n withCredentials:this.configuration.withCredentials,\r\n observe: 'response' as 'response'\r\n };\r\n return this.http.request<any>(RequestMethod.Put, path, requestOptions);\r\n }\r\n\r\n}\r\n","export * from './application.service';\r\nimport { ApplicationService } from './application.service';\r\nexport * from './applicationInstance.service';\r\nimport { ApplicationInstanceService } from './applicationInstance.service';\r\nexport * from './auth.service';\r\nimport { AuthService } from './auth.service';\r\nexport * from './dataSource.service';\r\nimport { DataSourceService } from './dataSource.service';\r\nexport * from './domainJoinType.service';\r\nimport { DomainJoinTypeService } from './domainJoinType.service';\r\nexport * from './environment.service';\r\nimport { EnvironmentService } from './environment.service';\r\nexport * from './me.service';\r\nimport { MeService } from './me.service';\r\nexport * from './notification.service';\r\nimport { NotificationService } from './notification.service';\r\nexport * from './organization.service';\r\nimport { OrganizationService } from './organization.service';\r\nexport * from './organizationApplication.service';\r\nimport { OrganizationApplicationService } from './organizationApplication.service';\r\nexport * from './user.service';\r\nimport { UserService } from './user.service';\r\nexport const APIS = [ApplicationService, ApplicationInstanceService, AuthService, DataSourceService, DomainJoinTypeService, EnvironmentService, MeService, NotificationService, OrganizationService, OrganizationApplicationService, UserService];\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class APIFilter {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class APIOrderBy {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { ApplicationInstanceResponse } from './applicationInstanceResponse';\r\nimport { DataSourceResponse } from './dataSourceResponse';\r\nimport { OrganizationApplicationResponse } from './organizationApplicationResponse';\r\nimport { OrganizationResponse } from './organizationResponse';\r\n\r\n\r\n/**\r\n * Used to represent permissions to the different entities\r\n */\r\nexport class AllUserPermissionsResponse {\r\n /**\r\n * Gets or sets the application instances.\r\n */\r\n applicationInstances: Array<ApplicationInstanceResponse> | null | undefined;\r\n\r\n /**\r\n * Gets or sets the data sources.\r\n */\r\n dataSources: Array<DataSourceResponse> | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organizations.\r\n */\r\n organizations: Array<OrganizationResponse> | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization applications.\r\n */\r\n organizationApplications: Array<OrganizationApplicationResponse> | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Application Instance user\r\n */\r\nexport class ApplicationInstanceDetailResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Data to represent the application instance that the user has chosen to go to.\r\n */\r\nexport class ApplicationInstanceRedirectResponse {\r\n /**\r\n * Gets or sets the URL.\r\n */\r\n url: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the JWT.\r\n */\r\n jwt: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Represents an Application Instance for a user\r\n */\r\nexport class ApplicationInstanceResponse {\r\n /**\r\n * Gets or sets the application ID.\r\n */\r\n applicationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the application.\r\n */\r\n applicationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the application label.\r\n */\r\n applicationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the environment ID.\r\n */\r\n environmentId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the environment.\r\n */\r\n environmentName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the environment label.\r\n */\r\n environmentLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization label.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the organization.\r\n */\r\n organizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization identifier.\r\n */\r\n organizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the data source label.\r\n */\r\n dataSourceLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the data source.\r\n */\r\n dataSourceName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the data source identifier.\r\n */\r\n dataSourceId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is admin.\r\n */\r\n isAdmin: boolean | null | undefined;\r\n\r\n organizationRole: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is organization admin.\r\n */\r\n isOrganizationAdmin: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is data source admin.\r\n */\r\n isDataSourceAdmin: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets the latest access time.\r\n */\r\n latestAccess: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the number of times the user accessed this application instance.\r\n */\r\n numberOfAccesses: number | null | undefined;\r\n\r\n /**\r\n * Gets or sets if the data source is locked.\r\n */\r\n dataSourceLocked: boolean | null | undefined;\r\n\r\n /**\r\n * The name of the alias associated with the Application Instance (if set)\r\n */\r\n aliasName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Application Instance user\r\n */\r\nexport class ApplicationInstanceUserResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Application\r\n */\r\nexport class ApplicationResponse {\r\n /**\r\n * Gets or sets the ID of the Application.\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label of the Application.\r\n */\r\n label: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents the data needed for authentication of a user.\r\n */\r\nexport class ChangePasswordRequest {\r\n /**\r\n * The user's username, probably email.\r\n */\r\n userName: string | null ;\r\n\r\n /**\r\n * The user's new password.\r\n */\r\n password: string | null ;\r\n\r\n /**\r\n * The Requires New Password Token\r\n */\r\n requiresNewPasswordToken: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class CreateOrganizationRequest {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Used to describe a DataSources\r\n */\r\nexport class DataSourceResponse {\r\n /**\r\n * Gets or sets the name.\r\n */\r\n name: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label.\r\n */\r\n label: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the metadata (raw JSON).\r\n */\r\n metadata: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this !:DataSourceModel is locked.\r\n */\r\n locked: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the organization.\r\n */\r\n organizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization label.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization identifier.\r\n */\r\n organizationId: string | null | undefined;\r\n\r\n organizationRole: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is organization admin.\r\n */\r\n isOrganizationAdmin: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets the product for the organization\r\n */\r\n organizationProduct: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether the user is an admin for the datasource\r\n */\r\n isAdmin: boolean | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the environment.\r\n */\r\n environmentName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the environment label.\r\n */\r\n environmentLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the environment identifier.\r\n */\r\n environmentId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the latest access time.\r\n */\r\n latestAccess: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Used to updated a Data Source\r\n */\r\nexport class DataSourceUpdateRequest {\r\n /**\r\n * Gets or sets the label If the value is null or whitespace it will not be updated\r\n */\r\n label: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the locked If the value is null or whitespace it will not be updated\r\n */\r\n locked: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { DomainJoinTypeResponse } from './domainJoinTypeResponse';\r\n\r\n\r\n/**\r\n * Domain Accessor Control\r\n */\r\nexport class DomainAccessControlResponse {\r\n /**\r\n * Gets or sets the Domain.\r\n */\r\n domain: string | null | undefined;\r\n\r\n domainJoinType: DomainJoinTypeResponse | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Domain Join Types\r\n */\r\nexport class DomainJoinTypeResponse {\r\n /**\r\n * Gets or sets the Id.\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label.\r\n */\r\n label: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * A Generic class to represent permissions to an Entity.\r\n */\r\nexport class EntityPermission {\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Environment\r\n */\r\nexport class EnvironmentResponse {\r\n /**\r\n * Gets or sets the ID of the environment.\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label of the Environment.\r\n */\r\n label: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { HierarchicalOrganizations2 } from './hierarchicalOrganizations2';\r\n\r\n\r\nexport class HierarchicalOrganizations {\r\n /**\r\n * Gets or sets the identifier of the Organization.\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name.\r\n */\r\n name: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label.\r\n */\r\n label: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent organization identifier.\r\n */\r\n parentOrganizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent organization name.\r\n */\r\n parentOrganizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent organization label.\r\n */\r\n parentOrganizationLabel: string | null | undefined;\r\n\r\n /**\r\n * List of organization children\r\n */\r\n organizationChildren: Array<HierarchicalOrganizations2> | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { HierarchicalOrganizations } from './hierarchicalOrganizations';\r\n\r\n\r\nexport class HierarchicalOrganizations2 {\r\n id: string | null | undefined;\r\n\r\n name: string | null | undefined;\r\n\r\n label: string | null | undefined;\r\n\r\n parentOrganizationId: string | null | undefined;\r\n\r\n parentOrganizationName: string | null | undefined;\r\n\r\n parentOrganizationLabel: string | null | undefined;\r\n\r\n organizationChildren: Array<HierarchicalOrganizations> | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Use this model to invite a User\r\n */\r\nexport class InviteUserRequest {\r\n /**\r\n * Use this model to invite a User\r\n */\r\n email: string | null ;\r\n\r\n /**\r\n * Gets or sets the EntityId of the Entity to which we are assigning permissions\r\n */\r\n entityId: string | null ;\r\n\r\n role: RoleEnum | null ;\r\n\r\n /**\r\n * Gets or sets a value indicating whether to force any sub-entries to inherit from this permission.\r\n */\r\n forceInheritance: boolean | null ;\r\n\r\n /**\r\n * Optional. Gets or sets the first name.\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * Optional. Gets or sets the last name.\r\n */\r\n lastName: string | null | undefined;\r\n\r\n /**\r\n * Optional. Gets or sets the phone number\r\n */\r\n phone: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Used to link the current user to another data source\r\n */\r\nexport class LinkDataSourceRequest {\r\n /**\r\n * Gets or sets the name of the user in the other data source to be linked\r\n */\r\n userName: string | null ;\r\n\r\n /**\r\n * Gets or sets the password\r\n */\r\n password: string | null ;\r\n\r\n /**\r\n * Gets or sets the environment id of the new data source\r\n */\r\n environmentId: string | null ;\r\n\r\n /**\r\n * Gets or sets the name of the data source to link to\r\n */\r\n dataSourceName: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { UserAuthResultEnum } from './userAuthResultEnum';\r\n\r\n\r\n/**\r\n * Represents the result of an authentication attempt of a user.\r\n */\r\nexport class LoginResponse {\r\n result: UserAuthResultEnum | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the Jwt that needs to be used in subsequent calls that require authentication/authorization\r\n */\r\n jwt: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the FirstName of the user\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the LastName of the user\r\n */\r\n lastName: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the phone number\r\n */\r\n phone: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the Id of the user\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * If Succeeded, will contain the Email of the user\r\n */\r\n email: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the requires new password token.\r\n */\r\n requiresNewPasswordToken: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Provides the response to an inquiry regarding the Login Source for an email address.\r\n */\r\nexport class LoginSourceResponse {\r\n /**\r\n * Gets or sets the source.\r\n */\r\n source: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is federated.\r\n */\r\n isFederated: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class NotificationBadgeResponse {\r\n /**\r\n * Total of unread and unarchived notifications\r\n */\r\n totalNotifications: number | null | undefined;\r\n\r\n /**\r\n * Total of unread and unarchived notifications since the last checked date time\r\n */\r\n newNotifications: number | null | undefined;\r\n\r\n /**\r\n * The date and time in UTC the query to get the badge data was run\r\n */\r\n lastCheckDateTimeUtc: Date | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class NotificationCategory {\r\n /**\r\n * The id of the notification category\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * The notification category name\r\n */\r\n notificationCategoryInfo: string | null | undefined;\r\n\r\n /**\r\n * A description of the notification category\r\n */\r\n notificationCategoryDescription: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { NotificationType } from './notificationType';\r\n\r\n\r\nexport class NotificationResponse {\r\n /**\r\n * The id of the notification\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * True if the notification has been read\r\n */\r\n read: boolean | null | undefined;\r\n\r\n /**\r\n * True if the notification has been archived\r\n */\r\n archived: boolean | null | undefined;\r\n\r\n /**\r\n * Subject of the notification\r\n */\r\n subject: string | null | undefined;\r\n\r\n /**\r\n * The date and time the notification was generated\r\n */\r\n createdDate: Date | null | undefined;\r\n\r\n notificationType: NotificationType | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class NotificationSettingRequest {\r\n /**\r\n * Should notifications be emailed\r\n */\r\n emailNotifications: boolean | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { NotificationCategory } from './notificationCategory';\r\n\r\n\r\nexport class NotificationType {\r\n /**\r\n * The id of the notification type\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * The notification type name\r\n */\r\n notificationTypeInfo: string | null | undefined;\r\n\r\n /**\r\n * A description of the notification type\r\n */\r\n notificationTypeDescription: string | null | undefined;\r\n\r\n notificationCategory: NotificationCategory | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class NotificationUpdateRequest {\r\n /**\r\n * List of notification ids to perform the action on\r\n */\r\n notificationIds: Array<string> | null | undefined;\r\n\r\n /**\r\n * Action to perform Unread marks all notifications in the list as unread Read marks all notifications in the list as read Archived marks all notifications in the list as archived Unarchived marks all notifications in the list as unarchived\r\n */\r\n action: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { DomainAccessControlResponse } from './domainAccessControlResponse';\r\nimport { DomainJoinTypeResponse } from './domainJoinTypeResponse';\r\nimport { UserChild } from './userChild';\r\n\r\n\r\n/**\r\n * Organization Access Control\r\n */\r\nexport class OrganizationAccessControlResponse {\r\n /**\r\n * Gets or sets the DomainControls.\r\n */\r\n domainControls: Array<DomainAccessControlResponse> | null | undefined;\r\n\r\n defaultDomainControl: DomainJoinTypeResponse | null | undefined;\r\n\r\n /**\r\n * Gets or sets the RequestAccessCustomMessage.\r\n */\r\n requestAccessCustomMessage: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the AccessRequestRecipients.\r\n */\r\n accessRequestRecipients: Array<UserChild> | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Represents permissions to an Organization Application, and information regarding the Organization Application\r\n */\r\nexport class OrganizationApplicationResponse {\r\n /**\r\n * Gets or sets the name of the organization.\r\n */\r\n organizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization label.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization identifier.\r\n */\r\n organizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the name of the application.\r\n */\r\n applicationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the application label.\r\n */\r\n applicationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the application identifier.\r\n */\r\n applicationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Provides more detailed data about an organization\r\n */\r\nexport class OrganizationDetailResponse {\r\n /**\r\n * Gets or sets the user number.\r\n */\r\n userNumber: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the validation code.\r\n */\r\n validationCode: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the federation source name.\r\n */\r\n federationSourceName: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\nimport { UserOrganizationStateEnum } from './userOrganizationStateEnum';\r\n\r\n\r\n/**\r\n * Provides more detailed data about an organization\r\n */\r\nexport class OrganizationResponse {\r\n /**\r\n * Gets or sets the name.\r\n */\r\n name: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the label.\r\n */\r\n label: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the product.\r\n */\r\n product: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the type of the organization.\r\n */\r\n organizationType: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the user number.\r\n */\r\n userNumber: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the validation code.\r\n */\r\n validationCode: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the maintenance renewal date.\r\n */\r\n maintenanceRenewalDate: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the metadata.\r\n */\r\n metadata: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent organization identifier.\r\n */\r\n parentOrganizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent name.\r\n */\r\n parentOrganizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the parent label.\r\n */\r\n parentOrganizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the Can Have Children flag\r\n */\r\n canHaveChildren: boolean | null | undefined;\r\n\r\n userAccessState: UserOrganizationStateEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class OrganizationUserResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Used for Resetting a user's password\r\n */\r\nexport class ResetPasswordRequest {\r\n /**\r\n * Gets or sets the email.\r\n */\r\n email: string | null ;\r\n\r\n /**\r\n * Gets or sets the confirmation code.\r\n */\r\n confirmationCode: string | null ;\r\n\r\n /**\r\n * Gets or sets the new password.\r\n */\r\n newPassword: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport enum RoleEnum {\r\n NoAccess = <any> 'NoAccess',\r\n ReadOnly = <any> 'ReadOnly',\r\n Admin = <any> 'Admin'\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Use this to have a user self-create an account.\r\n */\r\nexport class SelfCreateUserRequest {\r\n /**\r\n * Gets or sets the email.\r\n */\r\n email: string | null ;\r\n\r\n /**\r\n * Gets or sets the first name.\r\n */\r\n firstName: string | null ;\r\n\r\n /**\r\n * Gets or sets the last name.\r\n */\r\n lastName: string | null ;\r\n\r\n /**\r\n * Optional. Gets or sets the phone number\r\n */\r\n phone: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * A model to represent a user and updating their information\r\n */\r\nexport class UpdateMeRequest {\r\n /**\r\n * Gets or sets the first name.\r\n */\r\n firstName: string | null ;\r\n\r\n /**\r\n * Gets or sets the last name.\r\n */\r\n lastName: string | null ;\r\n\r\n /**\r\n * Gets or sets the phone number\r\n */\r\n phone: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class UpdateOrganizationAccessControlRequest {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class UpdateOrganizationDetailsRequest {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport class UpdateResult {\r\n selected: number | null | undefined;\r\n\r\n updated: number | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Application Instance for a user\r\n */\r\nexport class UserApplicationInstanceResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport enum UserAuthResultEnum {\r\n PasswordChangeRequired = <any> 'PasswordChangeRequired',\r\n PasswordResetRequired = <any> 'PasswordResetRequired',\r\n Success = <any> 'Success',\r\n EmailNotVerified = <any> 'EmailNotVerified',\r\n LockedOut = <any> 'LockedOut',\r\n PasswordIsInvalid = <any> 'PasswordIsInvalid',\r\n NoPasswordChangeForFederatedDomain = <any> 'NoPasswordChangeForFederatedDomain',\r\n FailedOther = <any> 'FailedOther'\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * The model representing data about a user.\r\n */\r\nexport class UserChild {\r\n /**\r\n * The user's Id\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * The user's User Name, probably email.\r\n */\r\n username: string | null | undefined;\r\n\r\n /**\r\n * The user's email\r\n */\r\n email: string | null | undefined;\r\n\r\n /**\r\n * The FirstName of the user.\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * The LastName of the user.\r\n */\r\n lastName: string | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents the data needed for authentication of a user.\r\n */\r\nexport class UserLoginRequest {\r\n /**\r\n * The user's username, probably email.\r\n */\r\n userName: string | null ;\r\n\r\n /**\r\n * The user's password.\r\n */\r\n password: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents an Organization for a user\r\n */\r\nexport class UserOrganizationResponse {\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport enum UserOrganizationStateEnum {\r\n Member = <any> 'Member',\r\n JoinRequestPending = <any> 'JoinRequestPending',\r\n CanRequestJoin = <any> 'CanRequestJoin',\r\n AutoJoinable = <any> 'AutoJoinable'\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Used for setting a grant for a given user.\r\n */\r\nexport class UserPermissionRequest {\r\n role: RoleEnum | null ;\r\n\r\n /**\r\n * Gets or sets a value indicating whether any child items should be made to inherit from this set.\r\n */\r\n forceInheritance: boolean | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { RoleEnum } from './roleEnum';\r\n\r\n\r\n/**\r\n * Model to represent a user's permission to a specific entity.\r\n */\r\nexport class UserPermissionResponse {\r\n /**\r\n * Gets or sets the email.\r\n */\r\n email: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the first name.\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the last name.\r\n */\r\n lastName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the external user name.\r\n */\r\n externalUserName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the last login.\r\n */\r\n lastLogin: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the last access of a Data Source or Application Instance.\r\n */\r\n latestAccess: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the time an invitation was sent to the user\r\n */\r\n inviteSentOn: Date | null | undefined;\r\n\r\n /**\r\n * Gets or sets the identifier of the Entity.\r\n */\r\n id: string | null | undefined;\r\n\r\n role: RoleEnum | null | undefined;\r\n\r\n /**\r\n * Gets or sets a value indicating whether this instance is inherited.\r\n */\r\n isInherited: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { UserStatusEnum } from './userStatusEnum';\r\n\r\n\r\n/**\r\n * The model representing data about a user.\r\n */\r\nexport class UserResponse {\r\n /**\r\n * The user's Id\r\n */\r\n id: string | null | undefined;\r\n\r\n /**\r\n * The user's User Name, probably email.\r\n */\r\n username: string | null | undefined;\r\n\r\n /**\r\n * The user's email\r\n */\r\n email: string | null | undefined;\r\n\r\n /**\r\n * A flag representing whether the user's email has been verified. If this is false, the user may not log in.\r\n */\r\n isEmailVerified: boolean | null | undefined;\r\n\r\n status: UserStatusEnum | null | undefined;\r\n\r\n /**\r\n * A flag representing whether the user is currently enabled to interact with the system, or not.\r\n */\r\n isEnabled: boolean | null | undefined;\r\n\r\n /**\r\n * The FirstName of the user.\r\n */\r\n firstName: string | null | undefined;\r\n\r\n /**\r\n * The LastName of the user.\r\n */\r\n lastName: string | null | undefined;\r\n\r\n /**\r\n * The phone number of the user.\r\n */\r\n phone: string | null | undefined;\r\n\r\n /**\r\n * This is the LoginSource for the user. If it is \\\"Local\\\", then the user will login with a local username and password, otherwise, it represents the name of the federated identity provider.\r\n */\r\n loginSource: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization label.\r\n */\r\n organizationLabel: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization name\r\n */\r\n organizationName: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the organization ID\r\n */\r\n organizationId: string | null | undefined;\r\n\r\n /**\r\n * Gets or sets the date the user last logged in\r\n */\r\n lastLogin: Date | null | undefined;\r\n\r\n /**\r\n * The user email notification setting.\r\n */\r\n emailNotifications: boolean | null | undefined;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\nexport enum UserStatusEnum {\r\n Unknown = <any> 'Unknown',\r\n Confirmed = <any> 'Confirmed',\r\n ForcePasswordReset = <any> 'ForcePasswordReset',\r\n ForcePasswordChange = <any> 'ForcePasswordChange',\r\n RequireEmailVerification = <any> 'RequireEmailVerification',\r\n LockedOut = <any> 'LockedOut'\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents the data to validate a password\r\n */\r\nexport class ValidatePasswordRequest {\r\n /**\r\n * The password to validate\r\n */\r\n password: string | null ;\r\n\r\n}\r\n","/**\r\n * EnergyCAP ID SDK\r\n * Document used to generate the EnergyCAP ID SDK\r\n *\r\n * OpenAPI spec version: 1.2112\r\n * Contact: support@energycap.com\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n\r\n/**\r\n * Represents the result of validating a password\r\n */\r\nexport class ValidatePasswordResponse {\r\n /**\r\n * The password length is too short. Passwords should be at least 10 characters\r\n */\r\n passwordLengthTooShort: boolean | null | undefined;\r\n\r\n /**\r\n * The password length is too long. Passwords should be less than 100 characters\r\n */\r\n passwordLengthTooLong: boolean | null | undefined;\r\n\r\n /**\r\n * The password was found in a list of commonly used passwords\r\n */\r\n commonlyUsedPassword: boolean | null | undefined;\r\n\r\n /**\r\n * The password was found in a database of breached passwords\r\n */\r\n passwordBreached: boolean | null | undefined;\r\n\r\n /**\r\n * The password is valid\r\n */\r\n passwordIsValid: boolean | null | undefined;\r\n\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { Configuration } from './configuration';\r\n\r\nimport { ApplicationService } from './api/application.service';\r\nimport { ApplicationInstanceService } from './api/applicationInstance.service';\r\nimport { AuthService } from './api/auth.service';\r\nimport { DataSourceService } from './api/dataSource.service';\r\nimport { DomainJoinTypeService } from './api/domainJoinType.service';\r\nimport { EnvironmentService } from './api/environment.service';\r\nimport { MeService } from './api/me.service';\r\nimport { NotificationService } from './api/notification.service';\r\nimport { OrganizationService } from './api/organization.service';\r\nimport { OrganizationApplicationService } from './api/organizationApplication.service';\r\nimport { UserService } from './api/user.service';\r\n\r\n@NgModule({\r\n imports: [ CommonModule, HttpClientModule ],\r\n declarations: [],\r\n exports: [],\r\n providers: [ ApplicationService, ApplicationInstanceService, AuthService, DataSourceService, DomainJoinTypeService, EnvironmentService, MeService, NotificationService, OrganizationService, OrganizationApplicationService, UserService ]\r\n})\r\nexport class EnergyCapSdkModule {\r\n public static forConfig(configurationFactory: () => Configuration): ModuleWithProviders<EnergyCapSdkModule> {\r\n return {\r\n ngModule: EnergyCapSdkModule,\r\n providers: [ {provide: Configuration, useFactory: configurationFactory}]\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","RequestMethod","http","HttpHeaders","map","HttpParams","Injectable","HttpClient","Optional","Inject","RoleEnum","UserAuthResultEnum","UserOrganizationStateEnum","UserStatusEnum","NgModule","CommonModule","HttpClientModule"],"mappings":"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"}