@sam-senior/sam-utils 2.0.3 → 3.0.0

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.
Files changed (41) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/has-integrated-role.model.mjs +2 -0
  3. package/esm2022/lib/sam-utils.service.mjs +216 -0
  4. package/esm2022/lib/tenant-information.mjs +2 -0
  5. package/esm2022/lib/user-roles.model.mjs +4 -0
  6. package/esm2022/lib/user.model.mjs +2 -0
  7. package/esm2022/public-api.mjs +5 -0
  8. package/esm2022/sam-senior-sam-utils.mjs +5 -0
  9. package/fesm2022/sam-senior-sam-utils.mjs +227 -0
  10. package/fesm2022/sam-senior-sam-utils.mjs.map +1 -0
  11. package/{sam-senior-sam-utils.d.ts → index.d.ts} +5 -4
  12. package/lib/has-integrated-role.model.d.ts +3 -3
  13. package/lib/sam-utils.service.d.ts +29 -26
  14. package/lib/tenant-information.d.ts +3 -3
  15. package/lib/user-roles.model.d.ts +3 -3
  16. package/lib/user.model.d.ts +16 -16
  17. package/package.json +21 -14
  18. package/public-api.d.ts +1 -1
  19. package/bundles/sam-senior-sam-utils.umd.js +0 -549
  20. package/bundles/sam-senior-sam-utils.umd.js.map +0 -1
  21. package/bundles/sam-senior-sam-utils.umd.min.js +0 -2
  22. package/bundles/sam-senior-sam-utils.umd.min.js.map +0 -1
  23. package/esm2015/lib/has-integrated-role.model.js +0 -13
  24. package/esm2015/lib/sam-utils.service.js +0 -351
  25. package/esm2015/lib/tenant-information.js +0 -13
  26. package/esm2015/lib/user-roles.model.js +0 -11
  27. package/esm2015/lib/user.model.js +0 -39
  28. package/esm2015/public-api.js +0 -9
  29. package/esm2015/sam-senior-sam-utils.js +0 -9
  30. package/esm5/lib/has-integrated-role.model.js +0 -13
  31. package/esm5/lib/sam-utils.service.js +0 -435
  32. package/esm5/lib/tenant-information.js +0 -13
  33. package/esm5/lib/user-roles.model.js +0 -15
  34. package/esm5/lib/user.model.js +0 -39
  35. package/esm5/public-api.js +0 -9
  36. package/esm5/sam-senior-sam-utils.js +0 -9
  37. package/fesm2015/sam-senior-sam-utils.js +0 -351
  38. package/fesm2015/sam-senior-sam-utils.js.map +0 -1
  39. package/fesm5/sam-senior-sam-utils.js +0 -434
  40. package/fesm5/sam-senior-sam-utils.js.map +0 -1
  41. package/sam-senior-sam-utils.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"sam-senior-sam-utils.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","ng://@sam-senior/sam-utils/lib/sam-utils.service.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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n 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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement'] as any) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"],"names":["Observable","HttpHeaders","Injectable","HttpClient"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@angular/common/http")):"function"==typeof define&&define.amd?define("@sam-senior/sam-utils",["exports","@angular/core","rxjs","@angular/common/http"],t):t((e["sam-senior"]=e["sam-senior"]||{},e["sam-senior"]["sam-utils"]={}),e.ng.core,e.rxjs,e.ng.common.http)}(this,function(e,t,r,n){"use strict";var i=function(){return(i=Object.assign||function i(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function a(e,t,s,c){return new(s=s||Promise)(function(r,n){function o(e){try{a(c.next(e))}catch(t){n(t)}}function i(e){try{a(c["throw"](e))}catch(t){n(t)}}function a(e){var t;e.done?r(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,i)}a((c=c.apply(e,t||[])).next())})}function m(r,n){var o,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),"throw":t(1),"return":t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return c([t,e])}}function c(e){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,i&&(a=2&e[0]?i["return"]:e[0]?i["throw"]||((a=i["return"])&&a.call(i),0):i.next)&&!(a=a.call(i,e[1])).done)return a;switch(i=0,(e=a?[2&e[0],a.value]:e)[0]){case 0:case 1:a=e;break;case 4:return s.label++,{value:e[1],done:!1};case 5:s.label++,i=e[1],e=[0];continue;case 7:e=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===e[0]||2===e[0])){s=0;continue}if(3===e[0]&&(!a||e[1]>a[0]&&e[1]<a[3]))s.label=e[1];else if(6===e[0]&&s.label<a[1])s.label=a[1],a=e;else{if(!(a&&s.label<a[2])){a[2]&&s.ops.pop(),s.trys.pop();continue}s.label=a[2],s.ops.push(e)}}e=n.call(r,s)}catch(t){e=[6,t],i=0}finally{o=a=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}function o(e){this.httpClient=e}o.prototype.getUrlWithoutIds=function(e){return e.map(function(e){var t=e;try{var r=parseFloat(e);(0<r||"new"===r)&&(t="{id}")}catch(n){t=e}return t}).join("/")},o.prototype.setUserProperties=function(r){return a(this,void 0,void 0,function(){var t;return m(this,function(e){switch(e.label){case 0:return[4,this.getActiveUser().toPromise()];case 1:return t=e.sent(),gtag("set","user_properties",{product_g7:r,tenant:t.tenantName,username:t.username}),[2]}})})},o.prototype.pageLoading=function(e,t){var r;!o.HAS_LOADED&&window.performance&&(o.HAS_LOADED=!0,r=Math.round(performance.now()),this.sendToAnalytics("tempo_carregamento_tela",{time_value:r/1e3,page:e},t).then())},o.prototype.getBaseURL=function(){try{var e=document.cookie.split(";").filter(function(e){return e.includes("com.senior.base.url")});return decodeURIComponent(e[0].split("=")[1]).slice(0,-1)}catch(t){throw Error("Platform G7 not configured in this app")}},o.prototype.sendToAnalytics=function(r,n,o){return a(this,void 0,void 0,function(){var t;return m(this,function(e){switch(e.label){case 0:return[4,this.getActiveUser().toPromise()];case 1:return t=e.sent(),gtag("event",r,i(i({},n),{environment:this.getBaseURL(),user:t.username,tentant:t.tenantName,product:o||n.product,debug_mode:!0})),[2]}})})},o.prototype.createObservableWithValue=function(t){return new r.Observable(function(e){e.next(t),e.complete()})},o.prototype.getBrowser=function(){return window.opr&&window.opr.addons||window.opera||0<=navigator.userAgent.indexOf(" OPR/")?"Opera":"undefined"!=typeof InstallTrigger?"Firefox":/constructor/i.test(window.HTMLElement)||"[object SafariRemoteNotification]"===(!window.safari||"undefined"!=typeof safari&&safari.pushNotification).toString()?"Safari":document.documentMode?"Internet Explorer":!document.documentMode&&window.StyleMedia?"Edge":window.chrome?"Chrome":"unknown"},o.prototype.getG7BridgeURL=function(){try{var e=document.cookie.split(";").filter(function(e){return e.includes("com.senior.services.url")});return decodeURIComponent(e[0].split("=")[1]).slice(0,-1)}catch(t){throw Error("Platform G7 not configured in this app")}},o.prototype.getActiveUser=function(){return this.httpClient.get(this.getG7BridgeURL()+"/rest/platform/user/queries/getUser",{headers:this.getHeaders()})},o.prototype.getRolesByActiveUser=function(e){return this.httpClient.get(this.getG7BridgeURL()+"/rest/platform/authorization/queries/getUserRoles?user="+e,{headers:this.getHeaders()})},o.prototype.getTenatInformation=function(e){return this.httpClient.get(this.getG7BridgeURL()+"/rest/sam/administration/queries/getErpCode",{params:{schemaName:e},headers:this.getHeaders()})},o.prototype.hasIntegratedRole=function(){return this.httpClient.get(this.getG7BridgeURL()+"/rest/sam/application/queries/hasIntegratedRole",{headers:this.getHeaders()})},o.prototype.getHeaders=function(){var e=this.getG7Token();return(new n.HttpHeaders).set("Authorization",e.token_type+" "+e.access_token)},o.prototype.getG7Token=function(){try{var e=document.cookie.split(";").filter(function(e){return e.includes("com.senior.token")});return JSON.parse(decodeURIComponent(e[0].split("=")[1]))}catch(t){throw Error("Platform G7 not configured in this app")}},o.prototype.trackSale=function(d,f,h){return a(this,void 0,void 0,function(){var i,a,s,c,u,l,p;return m(this,function(e){switch(e.label){case 0:return window.show_tacksale?[4,this.getActiveUser().toPromise()]:[2];case 1:return(i=e.sent(),a="",window.can_capture_role)?[4,this.getRolesByActiveUser(i.username).toPromise()]:[3,3];case 2:c=e.sent(),a=c.roles.join(", "),e.label=3;case 3:return[4,this.hasIntegratedRole().toPromise()];case 4:return s=e.sent(),[4,this.getTenatInformation(i.tenantName).toPromise()];case 5:return c=e.sent(),u=this.getBrowser(),l=i.fullName.replace("+"," "),p=i.email,t=document,r="tracksale-js",n={key:d,campaign:f,name:l,email:p,tags:{tenant:i.tenantName,papel:a,device:u,uf:"",SAM:!s.hasIntegratedRole,GAS:s.hasIntegratedRole,GestaoIncidentes:"",Cameras:"",PortariaVirtual:"",Autoatendimento:"",pagina:h,"ID ERP":c.erpCode}},o=t.getElementsByTagName("script")[0],t.getElementById(r)||((t=t.createElement("script")).id=r,t.src="https://cdn.tracksale.co/tracksale-js/tracksale.js",t.type="text/javascript",t["async"]=!0,t.onload=t.onreadystatechange=function(){var e=this.readyState;if(!e||"complete"===e||"loaded"===e)try{(new Tracksale).init(n)}catch(t){}},o.parentNode.insertBefore(t,o)),[2]}var t,r,n,o})})},o.HAS_LOADED=!1,o.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[{type:n.HttpClient}]},o.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new o(t.ɵɵinject(n.HttpClient))},token:o,providedIn:"root"}),e.SamUtilsService=o,Object.defineProperty(e,"__esModule",{value:!0})});
2
- //# sourceMappingURL=sam-senior-sam-utils.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["node_modules/tslib/tslib.es6.js","ng://@sam-senior/sam-utils/lib/sam-utils.service.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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n 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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement'] as any) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","SamUtilsService","httpClient","getUrlWithoutIds","urlParts","map","urlPart","url","id","parseFloat","join","setUserProperties","product","getActiveUser","toPromise","user","_a","gtag","product_g7","tenant","tenantName","username","pageLoading","page","timeSincePageLoad","HAS_LOADED","window","performance","Math","round","now","sendToAnalytics","time_value","getBaseURL","cookie","document","split","filter","cookieStr","includes","decodeURIComponent","slice","err","Error","eventName","params","environment","tentant","debug_mode","createObservableWithValue","Observable","observer","complete","getBrowser","addons","navigator","userAgent","indexOf","InstallTrigger","test","safari","pushNotification","toString","getG7BridgeURL","dt","get","headers","getHeaders","getRolesByActiveUser","getTenatInformation","schemaName","hasIntegratedRole","token","getG7Token","HttpHeaders","set","token_type","access_token","seniorToken","JSON","parse","trackSale","tracksaleKey","tracksaleCampaign","pageUrl","show_tacksale","userInformation","roles","can_capture_role","role","tenantInformation","browser","fullname","fullName","replace","email","a","key","campaign","name","tags","papel","device","uf","SAM","GAS","GestaoIncidentes","Cameras","PortariaVirtual","Autoatendimento","pagina","ID ERP","erpCode","c","getElementsByTagName","getElementById","createElement","src","type","async","onload","onreadystatechange","h","readyState","Tracksale","init","parentNode","insertBefore","Injectable","args","providedIn","HttpClient"],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @record
7
- */
8
- export function HasIntegratedRoleModel() { }
9
- if (false) {
10
- /** @type {?} */
11
- HasIntegratedRoleModel.prototype.hasIntegratedRole;
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLWludGVncmF0ZWQtcm9sZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzYW0tc2VuaW9yL3NhbS11dGlscy8iLCJzb3VyY2VzIjpbImxpYi9oYXMtaW50ZWdyYXRlZC1yb2xlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSw0Q0FFQzs7O0lBREMsbURBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBIYXNJbnRlZ3JhdGVkUm9sZU1vZGVsIHtcclxuICBoYXNJbnRlZ3JhdGVkUm9sZTogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -1,351 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { __awaiter } from "tslib";
6
- import { Injectable } from '@angular/core';
7
- import { Observable } from 'rxjs';
8
- import { HttpClient, HttpHeaders } from '@angular/common/http';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
- export class SamUtilsService {
12
- /**
13
- * @param {?} httpClient
14
- */
15
- constructor(httpClient) {
16
- this.httpClient = httpClient;
17
- }
18
- /**
19
- * @param {?} urlParts
20
- * @return {?}
21
- */
22
- getUrlWithoutIds(urlParts) {
23
- return urlParts.map((/**
24
- * @param {?} urlPart
25
- * @return {?}
26
- */
27
- urlPart => {
28
- /** @type {?} */
29
- let url = urlPart;
30
- try {
31
- /** @type {?} */
32
- const id = (/** @type {?} */ (parseFloat(urlPart)));
33
- if (id > 0 || id === 'new') {
34
- url = '{id}';
35
- }
36
- }
37
- catch (_) {
38
- url = urlPart;
39
- }
40
- return url;
41
- })).join('/');
42
- }
43
- /**
44
- * @param {?} product
45
- * @return {?}
46
- */
47
- setUserProperties(product) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- /** @type {?} */
50
- const user = yield this.getActiveUser().toPromise();
51
- gtag('set', 'user_properties', {
52
- product_g7: product,
53
- tenant: user.tenantName,
54
- username: user.username
55
- });
56
- });
57
- }
58
- /**
59
- * @param {?} page
60
- * @param {?} product
61
- * @return {?}
62
- */
63
- pageLoading(page, product) {
64
- if (!SamUtilsService.HAS_LOADED && window.performance) {
65
- SamUtilsService.HAS_LOADED = true;
66
- /** @type {?} */
67
- const timeSincePageLoad = Math.round(performance.now());
68
- this.sendToAnalytics('tempo_carregamento_tela', {
69
- time_value: (timeSincePageLoad / 1000),
70
- page: page
71
- }, product).then();
72
- }
73
- }
74
- /**
75
- * @return {?}
76
- */
77
- getBaseURL() {
78
- try {
79
- /** @type {?} */
80
- const cookie = document.cookie.split(';').filter((/**
81
- * @param {?} cookieStr
82
- * @return {?}
83
- */
84
- cookieStr => {
85
- return cookieStr.includes('com.senior.base.url');
86
- }));
87
- return decodeURIComponent(cookie[0].split('=')[1]).slice(0, -1);
88
- }
89
- catch (err) {
90
- throw Error('Platform G7 not configured in this app');
91
- }
92
- }
93
- /**
94
- * @param {?} eventName
95
- * @param {?} params
96
- * @param {?=} product
97
- * @return {?}
98
- */
99
- sendToAnalytics(eventName, params, product) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- /** @type {?} */
102
- const user = yield this.getActiveUser().toPromise();
103
- gtag('event', eventName, Object.assign(Object.assign({}, params), { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
104
- });
105
- }
106
- /**
107
- * @template T
108
- * @param {?} value
109
- * @return {?}
110
- */
111
- createObservableWithValue(value) {
112
- return new Observable((/**
113
- * @param {?} observer
114
- * @return {?}
115
- */
116
- observer => {
117
- observer.next(value);
118
- observer.complete();
119
- }));
120
- }
121
- /* tslint:disable */
122
- /**
123
- * @return {?}
124
- */
125
- getBrowser() {
126
- if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+
127
- return 'Opera';
128
- }
129
- else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+
130
- return 'Firefox';
131
- }
132
- else if (/constructor/i.test((/** @type {?} */ (window['HTMLElement']))) || ((/**
133
- * @param {?} p
134
- * @return {?}
135
- */
136
- function (p) { return p.toString() === "[object SafariRemoteNotification]"; }))(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ "[object HTMLElementConstructor]"
137
- return 'Safari';
138
- }
139
- else if ( /*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11
140
- return 'Internet Explorer';
141
- }
142
- else if (!( /*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+
143
- return 'Edge';
144
- }
145
- else if (!!window['chrome']) { // Chrome 1+
146
- return 'Chrome';
147
- }
148
- return 'unknown';
149
- }
150
- /* tslint:enable */
151
- /**
152
- * @return {?}
153
- */
154
- getG7BridgeURL() {
155
- try {
156
- /** @type {?} */
157
- const dt = document.cookie.split(';').filter((/**
158
- * @param {?} cookieStr
159
- * @return {?}
160
- */
161
- cookieStr => {
162
- return cookieStr.includes('com.senior.services.url');
163
- }));
164
- return decodeURIComponent(dt[0].split('=')[1]).slice(0, -1);
165
- }
166
- catch (err) {
167
- throw Error('Platform G7 not configured in this app');
168
- }
169
- }
170
- /**
171
- * @return {?}
172
- */
173
- getActiveUser() {
174
- return this.httpClient.get(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {
175
- headers: this.getHeaders()
176
- });
177
- }
178
- /**
179
- * @param {?} user
180
- * @return {?}
181
- */
182
- getRolesByActiveUser(user) {
183
- return this.httpClient.get(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {
184
- headers: this.getHeaders()
185
- });
186
- }
187
- /**
188
- * @param {?} schemaName
189
- * @return {?}
190
- */
191
- getTenatInformation(schemaName) {
192
- return this.httpClient.get(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {
193
- params: {
194
- schemaName: schemaName
195
- },
196
- headers: this.getHeaders()
197
- });
198
- }
199
- /**
200
- * @return {?}
201
- */
202
- hasIntegratedRole() {
203
- return this.httpClient.get(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {
204
- headers: this.getHeaders()
205
- });
206
- }
207
- /**
208
- * @private
209
- * @return {?}
210
- */
211
- getHeaders() {
212
- /** @type {?} */
213
- const token = this.getG7Token();
214
- return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);
215
- }
216
- /**
217
- * @return {?}
218
- */
219
- getG7Token() {
220
- try {
221
- /** @type {?} */
222
- const seniorToken = document.cookie.split(';').filter((/**
223
- * @param {?} cookieStr
224
- * @return {?}
225
- */
226
- cookieStr => {
227
- return cookieStr.includes('com.senior.token');
228
- }));
229
- return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));
230
- }
231
- catch (err) {
232
- throw Error('Platform G7 not configured in this app');
233
- }
234
- }
235
- /**
236
- * @param {?} tracksaleKey
237
- * @param {?} tracksaleCampaign
238
- * @param {?} pageUrl
239
- * @return {?}
240
- */
241
- trackSale(tracksaleKey, tracksaleCampaign, pageUrl) {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- if (!((/** @type {?} */ (window))).show_tacksale) {
244
- return;
245
- }
246
- /** @type {?} */
247
- const userInformation = yield this.getActiveUser().toPromise();
248
- /** @type {?} */
249
- let roles = '';
250
- if (((/** @type {?} */ (window))).can_capture_role) {
251
- /** @type {?} */
252
- const role = yield this.getRolesByActiveUser(userInformation.username).toPromise();
253
- roles = role.roles.join(', ');
254
- }
255
- /** @type {?} */
256
- const hasIntegratedRole = yield this.hasIntegratedRole().toPromise();
257
- /** @type {?} */
258
- const tenantInformation = yield this.getTenatInformation(userInformation.tenantName).toPromise();
259
- /** @type {?} */
260
- const browser = this.getBrowser();
261
- /** @type {?} */
262
- const fullname = userInformation.fullName.replace('+', ' ');
263
- /** @type {?} */
264
- const email = userInformation.email;
265
- ((/**
266
- * @param {?} f
267
- * @param {?} b
268
- * @param {?} g
269
- * @return {?}
270
- */
271
- function (f, b, g) {
272
- /** @type {?} */
273
- const a = {
274
- key: tracksaleKey,
275
- campaign: tracksaleCampaign,
276
- name: fullname,
277
- email: email,
278
- tags: {
279
- 'tenant': userInformation.tenantName,
280
- 'papel': roles,
281
- 'device': browser,
282
- 'uf': '',
283
- 'SAM': !hasIntegratedRole.hasIntegratedRole,
284
- 'GAS': hasIntegratedRole.hasIntegratedRole,
285
- 'GestaoIncidentes': '',
286
- 'Cameras': '',
287
- 'PortariaVirtual': '',
288
- 'Autoatendimento': '',
289
- 'pagina': pageUrl,
290
- 'ID ERP': tenantInformation.erpCode
291
- }
292
- };
293
- // Seguindo o exemplo da arquitera.
294
- // Fonte não será alterado nesta task;
295
- /** @type {?} */
296
- let e;
297
- /** @type {?} */
298
- const c = f.getElementsByTagName(b)[0];
299
- if (f.getElementById(g)) {
300
- return;
301
- }
302
- e = f.createElement(b);
303
- e.id = g;
304
- e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';
305
- e.type = 'text/javascript';
306
- e.async = true;
307
- e.onload = e.onreadystatechange = (/**
308
- * @return {?}
309
- */
310
- function () {
311
- /** @type {?} */
312
- const h = this.readyState;
313
- if (h && h !== 'complete' && h !== 'loaded') {
314
- return;
315
- }
316
- try {
317
- /** @type {?} */
318
- const d = new Tracksale();
319
- d.init(a);
320
- }
321
- catch (i) { }
322
- });
323
- c.parentNode.insertBefore(e, c);
324
- })(document, 'script', 'tracksale-js'));
325
- });
326
- }
327
- }
328
- SamUtilsService.HAS_LOADED = false;
329
- SamUtilsService.decorators = [
330
- { type: Injectable, args: [{
331
- providedIn: 'root'
332
- },] }
333
- ];
334
- /** @nocollapse */
335
- SamUtilsService.ctorParameters = () => [
336
- { type: HttpClient }
337
- ];
338
- /** @nocollapse */ SamUtilsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SamUtilsService_Factory() { return new SamUtilsService(i0.ɵɵinject(i1.HttpClient)); }, token: SamUtilsService, providedIn: "root" });
339
- if (false) {
340
- /**
341
- * @type {?}
342
- * @private
343
- */
344
- SamUtilsService.HAS_LOADED;
345
- /**
346
- * @type {?}
347
- * @private
348
- */
349
- SamUtilsService.prototype.httpClient;
350
- }
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2FtLXNlbmlvci9zYW0tdXRpbHMvIiwic291cmNlcyI6WyJsaWIvc2FtLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBYy9ELE1BQU0sT0FBTyxlQUFlOzs7O0lBSTFCLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUM1QixDQUFDOzs7OztJQUVFLGdCQUFnQixDQUFDLFFBQVE7UUFDOUIsT0FBTyxRQUFRLENBQUMsR0FBRzs7OztRQUFDLE9BQU8sQ0FBQyxFQUFFOztnQkFDeEIsR0FBRyxHQUFHLE9BQU87WUFDakIsSUFBSTs7c0JBQ0ksRUFBRSxHQUFHLG1CQUFBLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBTztnQkFDckMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUU7b0JBQzFCLEdBQUcsR0FBRyxNQUFNLENBQUM7aUJBQ2Q7YUFDRjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLEdBQUcsR0FBRyxPQUFPLENBQUM7YUFDZjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7SUFFWSxpQkFBaUIsQ0FBQyxPQUFlOzs7a0JBQ3RDLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFDN0IsVUFBVSxFQUFFLE9BQU87Z0JBQ25CLE1BQU0sRUFB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LG9EQUFvRCxDQUFDO2dCQUM3RCxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO2dCQUMzQixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDZixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxrQkFBa0I7OztnQkFBRzs7MEJBQzFCLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVTtvQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFO3dCQUMzQyxPQUFPO3FCQUNSO29CQUNELElBQUk7OzhCQUNJLENBQUMsR0FBRyxJQUFJLFNBQVMsRUFBRTt3QkFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDWDtvQkFBQyxPQUFPLENBQUMsRUFBRSxHQUFHO2dCQUNqQixDQUFDLENBQUEsQ0FBQztnQkFDRixDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBQUE7O0FBbk5jLDBCQUFVLEdBQUcsS0FBSyxDQUFDOztZQUxuQyxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFiUSxVQUFVOzs7Ozs7OztJQWdCakIsMkJBQWtDOzs7OztJQUdoQyxxQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBVc2VyUm9sZXMgfSBmcm9tICcuL3VzZXItcm9sZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBIYXNJbnRlZ3JhdGVkUm9sZU1vZGVsIH0gZnJvbSAnLi9oYXMtaW50ZWdyYXRlZC1yb2xlLm1vZGVsJztcclxuaW1wb3J0IHsgVGVuYW50SW5mb3JtYXRpb24gfSBmcm9tICcuL3RlbmFudC1pbmZvcm1hdGlvbic7XHJcblxyXG5kZWNsYXJlIGNvbnN0IEluc3RhbGxUcmlnZ2VyOiBhbnk7XHJcbmRlY2xhcmUgY29uc3Qgc2FmYXJpOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgVHJhY2tzYWxlOiBhbnk7XHJcbmRlY2xhcmUgbGV0IGd0YWc6IEZ1bmN0aW9uO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FtVXRpbHNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgSEFTX0xPQURFRCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBnZXRVcmxXaXRob3V0SWRzKHVybFBhcnRzKSB7XHJcbiAgICByZXR1cm4gdXJsUGFydHMubWFwKHVybFBhcnQgPT4ge1xyXG4gICAgICBsZXQgdXJsID0gdXJsUGFydDtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBpZCA9IHBhcnNlRmxvYXQodXJsUGFydCkgYXMgYW55O1xyXG4gICAgICAgIGlmIChpZCA+IDAgfHwgaWQgPT09ICduZXcnKSB7XHJcbiAgICAgICAgICB1cmwgPSAne2lkfSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGNhdGNoIChfKSB7XHJcbiAgICAgICAgdXJsID0gdXJsUGFydDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdXJsO1xyXG4gICAgfSkuam9pbignLycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNldFVzZXJQcm9wZXJ0aWVzKHByb2R1Y3Q6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlVXNlcigpLnRvUHJvbWlzZSgpO1xyXG4gICAgZ3RhZygnc2V0JywgJ3VzZXJfcHJvcGVydGllcycsIHtcclxuICAgICAgcHJvZHVjdF9nNzogcHJvZHVjdCxcclxuICAgICAgdGVuYW50OiB1c2VyLnRlbmFudE5hbWUsXHJcbiAgICAgIHVzZXJuYW1lOiB1c2VyLnVzZXJuYW1lXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdlTG9hZGluZyhwYWdlOiBzdHJpbmcsIHByb2R1Y3Q6IHN0cmluZykge1xyXG4gICAgaWYgKCFTYW1VdGlsc1NlcnZpY2UuSEFTX0xPQURFRCAmJiB3aW5kb3cucGVyZm9ybWFuY2UpIHtcclxuICAgICAgU2FtVXRpbHNTZXJ2aWNlLkhBU19MT0FERUQgPSB0cnVlO1xyXG4gICAgICBjb25zdCB0aW1lU2luY2VQYWdlTG9hZCA9IE1hdGgucm91bmQocGVyZm9ybWFuY2Uubm93KCkpO1xyXG4gICAgICB0aGlzLnNlbmRUb0FuYWx5dGljcygndGVtcG9fY2FycmVnYW1lbnRvX3RlbGEnLCB7XHJcbiAgICAgICAgdGltZV92YWx1ZTogKHRpbWVTaW5jZVBhZ2VMb2FkIC8gMTAwMCksXHJcbiAgICAgICAgcGFnZTogcGFnZVxyXG4gICAgICB9LCBwcm9kdWN0KS50aGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QmFzZVVSTCgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGNvb2tpZSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpLmZpbHRlcihjb29raWVTdHIgPT4ge1xyXG4gICAgICAgIHJldHVybiBjb29raWVTdHIuaW5jbHVkZXMoJ2NvbS5zZW5pb3IuYmFzZS51cmwnKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoXHJcbiAgICAgICAgY29va2llWzBdLnNwbGl0KCc9JylbMV1cclxuICAgICAgKS5zbGljZSgwLCAtMSk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1BsYXRmb3JtIEc3IG5vdCBjb25maWd1cmVkIGluIHRoaXMgYXBwJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2VuZFRvQW5hbHl0aWNzKGV2ZW50TmFtZTogc3RyaW5nLCBwYXJhbXM6IGFueSwgcHJvZHVjdD86IHN0cmluZykge1xyXG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlVXNlcigpLnRvUHJvbWlzZSgpO1xyXG4gICAgZ3RhZygnZXZlbnQnLCBldmVudE5hbWUsIHtcclxuICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICBlbnZpcm9ubWVudDogdGhpcy5nZXRCYXNlVVJMKCksXHJcbiAgICAgIHVzZXI6IHVzZXIudXNlcm5hbWUsXHJcbiAgICAgIHRlbnRhbnQ6IHVzZXIudGVuYW50TmFtZSxcclxuICAgICAgcHJvZHVjdDogcHJvZHVjdCA/IHByb2R1Y3QgOiBwYXJhbXMucHJvZHVjdCxcclxuICAgICAgZGVidWdfbW9kZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlT2JzZXJ2YWJsZVdpdGhWYWx1ZTxUPih2YWx1ZSkge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFQ+KG9ic2VydmVyID0+IHtcclxuICAgICAgb2JzZXJ2ZXIubmV4dCh2YWx1ZSk7XHJcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qIHRzbGludDpkaXNhYmxlICovXHJcbiAgcHVibGljIGdldEJyb3dzZXIoKTogc3RyaW5nIHtcclxuICAgIGlmICgoISF3aW5kb3dbJ29wciddICYmICEhd2luZG93WydvcHInXS5hZGRvbnMpIHx8ICEhd2luZG93WydvcGVyYSddIHx8IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignIE9QUi8nKSA+PSAwKSB7IC8vIE9wZXJhIDguMCtcclxuICAgICAgcmV0dXJuICdPcGVyYSc7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBJbnN0YWxsVHJpZ2dlciAhPT0gJ3VuZGVmaW5lZCcpIHsgLy8gRmlyZWZveCAxLjArXHJcbiAgICAgIHJldHVybiAnRmlyZWZveCc7XHJcbiAgICB9IGVsc2UgaWYgKC9jb25zdHJ1Y3Rvci9pLnRlc3Qod2luZG93WydIVE1MRWxlbWVudCddIGFzIGFueSkgfHwgKGZ1bmN0aW9uIChwKSB7IHJldHVybiBwLnRvU3RyaW5nKCkgPT09IFwiW29iamVjdCBTYWZhcmlSZW1vdGVOb3RpZmljYXRpb25dXCI7IH0pKCF3aW5kb3dbJ3NhZmFyaSddIHx8ICh0eXBlb2Ygc2FmYXJpICE9PSAndW5kZWZpbmVkJyAmJiBzYWZhcmkucHVzaE5vdGlmaWNhdGlvbikpKSB7IC8vIFNhZmFyaSAzLjArIFwiW29iamVjdCBIVE1MRWxlbWVudENvbnN0cnVjdG9yXVwiXHJcbiAgICAgIHJldHVybiAnU2FmYXJpJztcclxuICAgIH0gZWxzZSBpZiAoLypAY2Nfb24hQCovZmFsc2UgfHwgISFkb2N1bWVudFsnZG9jdW1lbnRNb2RlJ10pIHsgLy8gSW50ZXJuZXQgRXhwbG9yZXIgNi0xMVxyXG4gICAgICByZXR1cm4gJ0ludGVybmV0IEV4cGxvcmVyJztcclxuICAgIH0gZWxzZSBpZiAoISgvKkBjY19vbiFAKi9mYWxzZSB8fCAhIWRvY3VtZW50Wydkb2N1bWVudE1vZGUnXSkgJiYgISF3aW5kb3dbJ1N0eWxlTWVkaWEnXSkgeyAvL0VkZ2UgMjArXHJcbiAgICAgIHJldHVybiAnRWRnZSc7XHJcbiAgICB9IGVsc2UgaWYgKCEhd2luZG93WydjaHJvbWUnXSkgey8vIENocm9tZSAxK1xyXG4gICAgICByZXR1cm4gJ0Nocm9tZSc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJ3Vua25vd24nO1xyXG4gIH1cclxuICAvKiB0c2xpbnQ6ZW5hYmxlICovXHJcblxyXG4gIHB1YmxpYyBnZXRHN0JyaWRnZVVSTCgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGR0ID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JykuZmlsdGVyKGNvb2tpZVN0ciA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGNvb2tpZVN0ci5pbmNsdWRlcygnY29tLnNlbmlvci5zZXJ2aWNlcy51cmwnKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoXHJcbiAgICAgICAgZHRbMF0uc3BsaXQoJz0nKVsxXVxyXG4gICAgICApLnNsaWNlKDAsIC0xKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICB0aHJvdyBFcnJvcignUGxhdGZvcm0gRzcgbm90IGNvbmZpZ3VyZWQgaW4gdGhpcyBhcHAnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBY3RpdmVVc2VyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VXNlcj4oYCR7dGhpcy5nZXRHN0JyaWRnZVVSTCgpfS9yZXN0L3BsYXRmb3JtL3VzZXIvcXVlcmllcy9nZXRVc2VyYCwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Um9sZXNCeUFjdGl2ZVVzZXIodXNlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VXNlclJvbGVzPihgJHt0aGlzLmdldEc3QnJpZGdlVVJMKCl9L3Jlc3QvcGxhdGZvcm0vYXV0aG9yaXphdGlvbi9xdWVyaWVzL2dldFVzZXJSb2xlcz91c2VyPSR7dXNlcn1gLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUZW5hdEluZm9ybWF0aW9uKHNjaGVtYU5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VGVuYW50SW5mb3JtYXRpb24+KGAke3RoaXMuZ2V0RzdCcmlkZ2VVUkwoKX0vcmVzdC9zYW0vYWRtaW5pc3RyYXRpb24vcXVlcmllcy9nZXRFcnBDb2RlYCwge1xyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBzY2hlbWFOYW1lOiBzY2hlbWFOYW1lXHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYXNJbnRlZ3JhdGVkUm9sZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEhhc0ludGVncmF0ZWRSb2xlTW9kZWw+KGAke3RoaXMuZ2V0RzdCcmlkZ2VVUkwoKX0vcmVzdC9zYW0vYXBwbGljYXRpb24vcXVlcmllcy9oYXNJbnRlZ3JhdGVkUm9sZWAsIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCkge1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmdldEc3VG9rZW4oKTtcclxuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0F1dGhvcml6YXRpb24nLCBgJHt0b2tlbi50b2tlbl90eXBlfSAke3Rva2VuLmFjY2Vzc190b2tlbn1gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHN1Rva2VuKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3Qgc2VuaW9yVG9rZW4gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5maWx0ZXIoY29va2llU3RyID0+IHtcclxuICAgICAgICByZXR1cm4gY29va2llU3RyLmluY2x1ZGVzKCdjb20uc2VuaW9yLnRva2VuJyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoc2VuaW9yVG9rZW5bMF0uc3BsaXQoJz0nKVsxXSkpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdQbGF0Zm9ybSBHNyBub3QgY29uZmlndXJlZCBpbiB0aGlzIGFwcCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHRyYWNrU2FsZSh0cmFja3NhbGVLZXk6IHN0cmluZywgdHJhY2tzYWxlQ2FtcGFpZ246IHN0cmluZywgcGFnZVVybDogc3RyaW5nKSB7XHJcbiAgICBpZiAoISh3aW5kb3cgYXMgYW55KS5zaG93X3RhY2tzYWxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB1c2VySW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLmdldEFjdGl2ZVVzZXIoKS50b1Byb21pc2UoKTtcclxuXHJcbiAgICBsZXQgcm9sZXMgPSAnJztcclxuICAgIGlmICgod2luZG93IGFzIGFueSkuY2FuX2NhcHR1cmVfcm9sZSkge1xyXG4gICAgICBjb25zdCByb2xlID0gYXdhaXQgdGhpcy5nZXRSb2xlc0J5QWN0aXZlVXNlcih1c2VySW5mb3JtYXRpb24udXNlcm5hbWUpLnRvUHJvbWlzZSgpO1xyXG4gICAgICByb2xlcyA9IHJvbGUucm9sZXMuam9pbignLCAnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBoYXNJbnRlZ3JhdGVkUm9sZSA9IGF3YWl0IHRoaXMuaGFzSW50ZWdyYXRlZFJvbGUoKS50b1Byb21pc2UoKTtcclxuICAgIGNvbnN0IHRlbmFudEluZm9ybWF0aW9uID0gYXdhaXQgdGhpcy5nZXRUZW5hdEluZm9ybWF0aW9uKHVzZXJJbmZvcm1hdGlvbi50ZW5hbnROYW1lKS50b1Byb21pc2UoKTtcclxuICAgIGNvbnN0IGJyb3dzZXIgPSB0aGlzLmdldEJyb3dzZXIoKTtcclxuICAgIGNvbnN0IGZ1bGxuYW1lID0gdXNlckluZm9ybWF0aW9uLmZ1bGxOYW1lLnJlcGxhY2UoJysnLCAnICcpO1xyXG4gICAgY29uc3QgZW1haWwgPSB1c2VySW5mb3JtYXRpb24uZW1haWw7XHJcbiAgICAoZnVuY3Rpb24gKGYsIGIsIGcpIHtcclxuICAgICAgY29uc3QgYSA9IHtcclxuICAgICAgICBrZXk6IHRyYWNrc2FsZUtleSxcclxuICAgICAgICBjYW1wYWlnbjogdHJhY2tzYWxlQ2FtcGFpZ24sXHJcbiAgICAgICAgbmFtZTogZnVsbG5hbWUsXHJcbiAgICAgICAgZW1haWw6IGVtYWlsLFxyXG4gICAgICAgIHRhZ3M6IHtcclxuICAgICAgICAgICd0ZW5hbnQnOiB1c2VySW5mb3JtYXRpb24udGVuYW50TmFtZSxcclxuICAgICAgICAgICdwYXBlbCc6IHJvbGVzLFxyXG4gICAgICAgICAgJ2RldmljZSc6IGJyb3dzZXIsXHJcbiAgICAgICAgICAndWYnOiAnJyxcclxuICAgICAgICAgICdTQU0nOiAhaGFzSW50ZWdyYXRlZFJvbGUuaGFzSW50ZWdyYXRlZFJvbGUsXHJcbiAgICAgICAgICAnR0FTJzogaGFzSW50ZWdyYXRlZFJvbGUuaGFzSW50ZWdyYXRlZFJvbGUsXHJcbiAgICAgICAgICAnR2VzdGFvSW5jaWRlbnRlcyc6ICcnLFxyXG4gICAgICAgICAgJ0NhbWVyYXMnOiAnJyxcclxuICAgICAgICAgICdQb3J0YXJpYVZpcnR1YWwnOiAnJyxcclxuICAgICAgICAgICdBdXRvYXRlbmRpbWVudG8nOiAnJyxcclxuICAgICAgICAgICdwYWdpbmEnOiBwYWdlVXJsLFxyXG4gICAgICAgICAgJ0lEIEVSUCc6IHRlbmFudEluZm9ybWF0aW9uLmVycENvZGVcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIC8vIFNlZ3VpbmRvIG8gZXhlbXBsbyBkYSBhcnF1aXRlcmEuXHJcbiAgICAgIC8vIEZvbnRlIG7Do28gc2Vyw6EgYWx0ZXJhZG8gbmVzdGEgdGFzaztcclxuICAgICAgbGV0IGU7XHJcbiAgICAgIGNvbnN0IGMgPSBmLmdldEVsZW1lbnRzQnlUYWdOYW1lKGIpWzBdO1xyXG4gICAgICBpZiAoZi5nZXRFbGVtZW50QnlJZChnKSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBlID0gZi5jcmVhdGVFbGVtZW50KGIpO1xyXG4gICAgICBlLmlkID0gZztcclxuICAgICAgZS5zcmMgPSAnaHR0cHM6Ly9jZG4udHJhY2tzYWxlLmNvL3RyYWNrc2FsZS1qcy90cmFja3NhbGUuanMnO1xyXG4gICAgICBlLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgZS5hc3luYyA9IHRydWU7XHJcbiAgICAgIGUub25sb2FkID0gZS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgY29uc3QgaCA9IHRoaXMucmVhZHlTdGF0ZTtcclxuICAgICAgICBpZiAoaCAmJiBoICE9PSAnY29tcGxldGUnICYmIGggIT09ICdsb2FkZWQnKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjb25zdCBkID0gbmV3IFRyYWNrc2FsZSgpO1xyXG4gICAgICAgICAgZC5pbml0KGEpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGkpIHsgfVxyXG4gICAgICB9O1xyXG4gICAgICBjLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsIGMpO1xyXG4gICAgfShkb2N1bWVudCwgJ3NjcmlwdCcsICd0cmFja3NhbGUtanMnKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,13 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @record
7
- */
8
- export function TenantInformation() { }
9
- if (false) {
10
- /** @type {?} */
11
- TenantInformation.prototype.erpCode;
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWluZm9ybWF0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNhbS1zZW5pb3Ivc2FtLXV0aWxzLyIsInNvdXJjZXMiOlsibGliL3RlbmFudC1pbmZvcm1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsdUNBRUM7OztJQURDLG9DQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGVuYW50SW5mb3JtYXRpb24ge1xyXG4gIGVycENvZGU6IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -1,11 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- export class UserRoles {
6
- }
7
- if (false) {
8
- /** @type {?} */
9
- UserRoles.prototype.roles;
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yb2xlcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzYW0tc2VuaW9yL3NhbS11dGlscy8iLCJzb3VyY2VzIjpbImxpYi91c2VyLXJvbGVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sU0FBUztDQUVyQjs7O0lBREMsMEJBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFVzZXJSb2xlcyB7XHJcbiAgcm9sZXM6IHN0cmluZ1tdO1xyXG59XHJcbiJdfQ==
@@ -1,39 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @record
7
- */
8
- export function User() { }
9
- if (false) {
10
- /** @type {?} */
11
- User.prototype.admin;
12
- /** @type {?} */
13
- User.prototype.allowedToChangePassword;
14
- /** @type {?} */
15
- User.prototype.authenticationType;
16
- /** @type {?} */
17
- User.prototype.blocked;
18
- /** @type {?} */
19
- User.prototype.changePassword;
20
- /** @type {?} */
21
- User.prototype.description;
22
- /** @type {?} */
23
- User.prototype.email;
24
- /** @type {?} */
25
- User.prototype.fullName;
26
- /** @type {?} */
27
- User.prototype.id;
28
- /** @type {?} */
29
- User.prototype.locale;
30
- /** @type {?} */
31
- User.prototype.tenantDomain;
32
- /** @type {?} */
33
- User.prototype.tenantLocale;
34
- /** @type {?} */
35
- User.prototype.tenantName;
36
- /** @type {?} */
37
- User.prototype.username;
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzYW0tc2VuaW9yL3NhbS11dGlscy8iLCJzb3VyY2VzIjpbImxpYi91c2VyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSwwQkFlQzs7O0lBZEMscUJBQWU7O0lBQ2YsdUNBQWlDOztJQUNqQyxrQ0FBMkI7O0lBQzNCLHVCQUFpQjs7SUFDakIsOEJBQXdCOztJQUN4QiwyQkFBb0I7O0lBQ3BCLHFCQUFjOztJQUNkLHdCQUFpQjs7SUFDakIsa0JBQVc7O0lBQ1gsc0JBQWU7O0lBQ2YsNEJBQXFCOztJQUNyQiw0QkFBcUI7O0lBQ3JCLDBCQUFtQjs7SUFDbkIsd0JBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcclxuICBhZG1pbjogYm9vbGVhbjtcclxuICBhbGxvd2VkVG9DaGFuZ2VQYXNzd29yZDogYm9vbGVhbjtcclxuICBhdXRoZW50aWNhdGlvblR5cGU6IHN0cmluZztcclxuICBibG9ja2VkOiBib29sZWFuO1xyXG4gIGNoYW5nZVBhc3N3b3JkOiBib29sZWFuO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgZW1haWw6IHN0cmluZztcclxuICBmdWxsTmFtZTogc3RyaW5nO1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbG9jYWxlOiBzdHJpbmc7XHJcbiAgdGVuYW50RG9tYWluOiBzdHJpbmc7XHJcbiAgdGVuYW50TG9jYWxlOiBzdHJpbmc7XHJcbiAgdGVuYW50TmFtZTogc3RyaW5nO1xyXG4gIHVzZXJuYW1lOiBzdHJpbmc7XHJcbn1cclxuIl19