@vendasta/iam 2.0.1 → 2.3.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 (135) hide show
  1. package/esm2020/lib/_generated/host.service.mjs +25 -0
  2. package/esm2020/lib/_generated/index.mjs +2 -0
  3. package/esm2020/lib/_internal/enums/api.enum.mjs +22 -0
  4. package/esm2020/lib/_internal/enums/index.mjs +12 -0
  5. package/esm2020/lib/_internal/enums/policies.enum.mjs +18 -0
  6. package/esm2020/lib/_internal/enums/resources.enum.mjs +14 -0
  7. package/esm2020/lib/_internal/enums/subjects.enum.mjs +17 -0
  8. package/esm2020/lib/_internal/enums/users.enum.mjs +13 -0
  9. package/esm2020/lib/_internal/iam.api.service.mjs +189 -0
  10. package/esm2020/lib/_internal/index.mjs +12 -0
  11. package/esm2020/lib/_internal/interfaces/annotations.interface.mjs +8 -0
  12. package/esm2020/lib/_internal/interfaces/api.interface.mjs +2 -0
  13. package/esm2020/lib/_internal/interfaces/attributes.interface.mjs +8 -0
  14. package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
  15. package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
  16. package/esm2020/lib/_internal/interfaces/policies.interface.mjs +3 -0
  17. package/esm2020/lib/_internal/interfaces/resources.interface.mjs +2 -0
  18. package/esm2020/lib/_internal/interfaces/security-logs.interface.mjs +8 -0
  19. package/esm2020/lib/_internal/interfaces/subjects.interface.mjs +2 -0
  20. package/esm2020/lib/_internal/interfaces/users.interface.mjs +2 -0
  21. package/esm2020/lib/_internal/objects/annotations.mjs +30 -0
  22. package/esm2020/lib/_internal/objects/api.mjs +1846 -0
  23. package/esm2020/lib/_internal/objects/attributes.mjs +158 -0
  24. package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
  25. package/esm2020/lib/_internal/objects/index.mjs +16 -0
  26. package/esm2020/lib/_internal/objects/policies.mjs +264 -0
  27. package/esm2020/lib/_internal/objects/resources.mjs +168 -0
  28. package/esm2020/lib/_internal/objects/security-logs.mjs +42 -0
  29. package/esm2020/lib/_internal/objects/subjects.mjs +352 -0
  30. package/esm2020/lib/_internal/objects/users.mjs +168 -0
  31. package/esm2020/lib/_internal/user-iam.api.service.mjs +65 -0
  32. package/esm2020/lib/http/http.interface.mjs +2 -0
  33. package/esm2020/lib/http/http.mjs +104 -0
  34. package/esm2020/lib/http/iam.http.api.service.mjs +67 -0
  35. package/esm2020/lib/iam.service.mjs +155 -0
  36. package/esm2020/lib/index.mjs +7 -0
  37. package/esm2020/lib/personas/account-group.mjs +9 -0
  38. package/esm2020/lib/personas/base-personas.mjs +93 -0
  39. package/esm2020/lib/personas/developer.mjs +9 -0
  40. package/esm2020/lib/personas/digital-agent.mjs +9 -0
  41. package/esm2020/lib/personas/index.mjs +12 -0
  42. package/esm2020/lib/personas/partner-app.mjs +9 -0
  43. package/esm2020/lib/personas/partner.mjs +25 -0
  44. package/esm2020/lib/personas/persona-type.enum.mjs +13 -0
  45. package/esm2020/lib/personas/personas.mjs +57 -0
  46. package/esm2020/lib/personas/salesperson.mjs +15 -0
  47. package/esm2020/lib/personas/smb.mjs +10 -0
  48. package/esm2020/lib/personas/success.mjs +9 -0
  49. package/esm2020/lib/personas/vendor.mjs +9 -0
  50. package/esm2020/public_api.mjs +2 -0
  51. package/esm2020/vendasta-iam.mjs +5 -0
  52. package/fesm2015/{vendasta-iam.js → vendasta-iam.mjs} +683 -1244
  53. package/fesm2015/vendasta-iam.mjs.map +1 -0
  54. package/fesm2020/vendasta-iam.mjs +3937 -0
  55. package/fesm2020/vendasta-iam.mjs.map +1 -0
  56. package/lib/_generated/host.service.d.ts +5 -9
  57. package/lib/_internal/enums/index.d.ts +2 -1
  58. package/lib/_internal/enums/policies.enum.d.ts +9 -0
  59. package/lib/_internal/enums/resources.enum.d.ts +0 -9
  60. package/lib/_internal/iam.api.service.d.ts +4 -0
  61. package/lib/_internal/index.d.ts +0 -1
  62. package/lib/_internal/interfaces/annotations.interface.d.ts +4 -0
  63. package/lib/_internal/interfaces/api.interface.d.ts +5 -17
  64. package/lib/_internal/interfaces/attributes.interface.d.ts +26 -0
  65. package/lib/_internal/interfaces/index.d.ts +6 -3
  66. package/lib/_internal/interfaces/policies.interface.d.ts +42 -0
  67. package/lib/_internal/interfaces/resources.interface.d.ts +2 -41
  68. package/lib/_internal/interfaces/subjects.interface.d.ts +1 -26
  69. package/lib/_internal/objects/annotations.d.ts +9 -0
  70. package/lib/_internal/objects/api.d.ts +5 -23
  71. package/lib/_internal/objects/attributes.d.ts +43 -0
  72. package/lib/_internal/objects/index.d.ts +6 -3
  73. package/lib/_internal/objects/policies.d.ts +68 -0
  74. package/lib/_internal/objects/resources.d.ts +2 -65
  75. package/lib/_internal/objects/subjects.d.ts +1 -41
  76. package/lib/_internal/user-iam.api.service.d.ts +4 -0
  77. package/lib/http/iam.http.api.service.d.ts +4 -0
  78. package/lib/iam.service.d.ts +3 -0
  79. package/lib/personas/base-personas.d.ts +1 -1
  80. package/lib/personas/partner.d.ts +1 -0
  81. package/package.json +29 -16
  82. package/src/README.md +113 -0
  83. package/vendasta-iam.d.ts +1 -0
  84. package/bundles/vendasta-iam.umd.js +0 -5067
  85. package/bundles/vendasta-iam.umd.js.map +0 -1
  86. package/bundles/vendasta-iam.umd.min.js +0 -16
  87. package/bundles/vendasta-iam.umd.min.js.map +0 -1
  88. package/esm2015/lib/_generated/host.service.js +0 -65
  89. package/esm2015/lib/_generated/index.js +0 -2
  90. package/esm2015/lib/_internal/enums/api.enum.js +0 -22
  91. package/esm2015/lib/_internal/enums/index.js +0 -11
  92. package/esm2015/lib/_internal/enums/resources.enum.js +0 -25
  93. package/esm2015/lib/_internal/enums/subjects.enum.js +0 -17
  94. package/esm2015/lib/_internal/enums/users.enum.js +0 -13
  95. package/esm2015/lib/_internal/iam-sso.api.service.js +0 -42
  96. package/esm2015/lib/_internal/iam.api.service.js +0 -190
  97. package/esm2015/lib/_internal/index.js +0 -13
  98. package/esm2015/lib/_internal/interfaces/api.interface.js +0 -2
  99. package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
  100. package/esm2015/lib/_internal/interfaces/index.js +0 -2
  101. package/esm2015/lib/_internal/interfaces/resources.interface.js +0 -2
  102. package/esm2015/lib/_internal/interfaces/security-logs.interface.js +0 -8
  103. package/esm2015/lib/_internal/interfaces/subjects.interface.js +0 -8
  104. package/esm2015/lib/_internal/interfaces/users.interface.js +0 -2
  105. package/esm2015/lib/_internal/objects/api.js +0 -2212
  106. package/esm2015/lib/_internal/objects/field-mask.js +0 -30
  107. package/esm2015/lib/_internal/objects/index.js +0 -13
  108. package/esm2015/lib/_internal/objects/resources.js +0 -483
  109. package/esm2015/lib/_internal/objects/security-logs.js +0 -49
  110. package/esm2015/lib/_internal/objects/subjects.js +0 -582
  111. package/esm2015/lib/_internal/objects/users.js +0 -199
  112. package/esm2015/lib/_internal/user-iam.api.service.js +0 -66
  113. package/esm2015/lib/http/http.interface.js +0 -2
  114. package/esm2015/lib/http/http.js +0 -102
  115. package/esm2015/lib/http/iam.http.api.service.js +0 -68
  116. package/esm2015/lib/iam.service.js +0 -156
  117. package/esm2015/lib/index.js +0 -7
  118. package/esm2015/lib/personas/account-group.js +0 -9
  119. package/esm2015/lib/personas/base-personas.js +0 -89
  120. package/esm2015/lib/personas/developer.js +0 -9
  121. package/esm2015/lib/personas/digital-agent.js +0 -9
  122. package/esm2015/lib/personas/index.js +0 -12
  123. package/esm2015/lib/personas/partner-app.js +0 -9
  124. package/esm2015/lib/personas/partner.js +0 -24
  125. package/esm2015/lib/personas/persona-type.enum.js +0 -13
  126. package/esm2015/lib/personas/personas.js +0 -57
  127. package/esm2015/lib/personas/salesperson.js +0 -15
  128. package/esm2015/lib/personas/smb.js +0 -10
  129. package/esm2015/lib/personas/success.js +0 -9
  130. package/esm2015/lib/personas/vendor.js +0 -9
  131. package/esm2015/public_api.js +0 -2
  132. package/esm2015/vendasta-iam.js +0 -5
  133. package/fesm2015/vendasta-iam.js.map +0 -1
  134. package/lib/_internal/iam-sso.api.service.d.ts +0 -12
  135. package/vendasta-iam.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"vendasta-iam.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../iam_sdk/src/lib/_internal/enums/subjects.enum.ts","../../../iam_sdk/src/lib/_internal/enums/resources.enum.ts","../../../iam_sdk/src/lib/_internal/enums/users.enum.ts","../../../iam_sdk/src/lib/_internal/enums/api.enum.ts","../../../iam_sdk/src/lib/_internal/enums/index.ts","../../../iam_sdk/src/lib/_internal/objects/subjects.ts","../../../iam_sdk/src/lib/_internal/objects/field-mask.ts","../../../iam_sdk/src/lib/_internal/objects/resources.ts","../../../iam_sdk/src/lib/_internal/objects/security-logs.ts","../../../iam_sdk/src/lib/_internal/objects/users.ts","../../../iam_sdk/src/lib/_internal/objects/api.ts","../../../iam_sdk/src/lib/_internal/objects/index.ts","../../../iam_sdk/src/lib/_generated/host.service.ts","../../../iam_sdk/src/lib/_internal/user-iam.api.service.ts","../../../iam_sdk/src/lib/http/http.ts","../../../iam_sdk/src/lib/http/iam.http.api.service.ts","../../../iam_sdk/src/lib/personas/persona-type.enum.ts","../../../iam_sdk/src/lib/personas/base-personas.ts","../../../iam_sdk/src/lib/personas/developer.ts","../../../iam_sdk/src/lib/personas/partner.ts","../../../iam_sdk/src/lib/personas/partner-app.ts","../../../iam_sdk/src/lib/personas/salesperson.ts","../../../iam_sdk/src/lib/personas/smb.ts","../../../iam_sdk/src/lib/personas/vendor.ts","../../../iam_sdk/src/lib/personas/digital-agent.ts","../../../iam_sdk/src/lib/personas/success.ts","../../../iam_sdk/src/lib/personas/account-group.ts","../../../iam_sdk/src/lib/personas/personas.ts","../../../iam_sdk/src/lib/_internal/iam.api.service.ts","../../../iam_sdk/src/lib/iam.service.ts","../../../iam_sdk/src/lib/_internal/iam-sso.api.service.ts","../../../iam_sdk/src/lib/_internal/index.ts","../../../iam_sdk/src/vendasta-iam.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 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\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\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, 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","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum AlgorithmType {\n ALGORITHM_TYPE_ES256 = 0,\n ALGORITHM_TYPE_RS256 = 1,\n}\n\nexport enum OrderByDirection {\n ASCENDING = 0,\n DESCENDING = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum AccessScope {\n READ = 0,\n WRITE = 1,\n DELETE = 2,\n LIST = 3,\n}\n\nexport enum BooleanOperator {\n AND = 0,\n OR = 1,\n NOT = 2,\n}\n\nexport enum ForOperator {\n ANY = 0,\n ALL = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum RestrictionType {\n RESTRICTION_TYPE_UNSET = 0,\n RESTRICTION_TYPE_RESET_PASSWORD_BEFORE_LOGIN = 1,\n RESTRICTION_TYPE_FROZEN = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SortDirection {\n SORT_DIRECTION_INVALID = 0,\n SORT_DIRECTION_ASCENDING = 1,\n SORT_DIRECTION_DESCENDING = 2,\n}\n\nexport enum UserSortField {\n USER_SORT_FIELD_INVALID = 0,\n USER_SORT_FIELD_CREATED = 1,\n USER_SORT_FIELD_FIRST_NAME = 2,\n USER_SORT_FIELD_LAST_NAME = 3,\n USER_SORT_FIELD_EMAIL = 4,\n USER_SORT_FIELD_LAST_LOGIN = 5,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n AlgorithmType,\n OrderByDirection,\n} from './subjects.enum';export {\n AccessScope,\n BooleanOperator,\n ForOperator,\n} from './resources.enum';export {\n RestrictionType,\n} from './users.enum';export {\n SortDirection,\n UserSortField,\n} from './api.enum';","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Attribute implements i.AttributeInterface {\n intAttribute: number;\n doubleAttribute: number;\n stringAttribute: string;\n boolAttribute: boolean;\n structAttribute: StructAttribute;\n listAttribute: ListAttribute;\n timestampAttribute: Date;\n geopointAttribute: GeoPointAttribute;\n\n static fromProto(proto: any): Attribute {\n let m = new Attribute();\n m = Object.assign(m, proto);\n if (proto.intAttribute) {m.intAttribute = parseInt(proto.intAttribute, 10);}\n if (proto.structAttribute) {m.structAttribute = StructAttribute.fromProto(proto.structAttribute);}\n if (proto.listAttribute) {m.listAttribute = ListAttribute.fromProto(proto.listAttribute);}\n if (proto.timestampAttribute) {m.timestampAttribute = new Date(proto.timestampAttribute);}\n if (proto.geopointAttribute) {m.geopointAttribute = GeoPointAttribute.fromProto(proto.geopointAttribute);}\n return m;\n }\n\n constructor(kwargs?: i.AttributeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.intAttribute === 'undefined' &&\n typeof this.doubleAttribute === 'undefined' &&\n typeof this.stringAttribute === 'undefined' &&\n typeof this.boolAttribute === 'undefined' &&\n typeof this.structAttribute === 'undefined' &&\n typeof this.listAttribute === 'undefined' &&\n typeof this.timestampAttribute === 'undefined' &&\n typeof this.geopointAttribute === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.intAttribute !== 'undefined') {toReturn['intAttribute'] = this.intAttribute;}\n if (typeof this.doubleAttribute !== 'undefined') {toReturn['doubleAttribute'] = this.doubleAttribute;}\n if (typeof this.stringAttribute !== 'undefined') {toReturn['stringAttribute'] = this.stringAttribute;}\n if (typeof this.boolAttribute !== 'undefined') {toReturn['boolAttribute'] = this.boolAttribute;}\n if (typeof this.structAttribute !== 'undefined' && this.structAttribute !== null) {toReturn['structAttribute'] = 'toApiJson' in this.structAttribute ? (this.structAttribute as any).toApiJson() : this.structAttribute;}\n if (typeof this.listAttribute !== 'undefined' && this.listAttribute !== null) {toReturn['listAttribute'] = 'toApiJson' in this.listAttribute ? (this.listAttribute as any).toApiJson() : this.listAttribute;}\n if (typeof this.timestampAttribute !== 'undefined' && this.timestampAttribute !== null) {toReturn['timestampAttribute'] = 'toApiJson' in this.timestampAttribute ? (this.timestampAttribute as any).toApiJson() : this.timestampAttribute;}\n if (typeof this.geopointAttribute !== 'undefined' && this.geopointAttribute !== null) {toReturn['geopointAttribute'] = 'toApiJson' in this.geopointAttribute ? (this.geopointAttribute as any).toApiJson() : this.geopointAttribute;}\n return toReturn;\n }\n}\n\nexport class StructAttributeAttributesEntry implements i.StructAttributeAttributesEntryInterface {\n key: string;\n value: Attribute;\n\n static fromProto(proto: any): StructAttributeAttributesEntry {\n let m = new StructAttributeAttributesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = Attribute.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.StructAttributeAttributesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class Context implements i.ContextInterface {\n namespaced: NamespacedContext;\n typed: TypedContext;\n\n static fromProto(proto: any): Context {\n let m = new Context();\n m = Object.assign(m, proto);\n if (proto.namespaced) {m.namespaced = NamespacedContext.fromProto(proto.namespaced);}\n if (proto.typed) {m.typed = TypedContext.fromProto(proto.typed);}\n return m;\n }\n\n constructor(kwargs?: i.ContextInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.namespaced === 'undefined' &&\n typeof this.typed === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.namespaced !== 'undefined' && this.namespaced !== null) {toReturn['namespaced'] = 'toApiJson' in this.namespaced ? (this.namespaced as any).toApiJson() : this.namespaced;}\n if (typeof this.typed !== 'undefined' && this.typed !== null) {toReturn['typed'] = 'toApiJson' in this.typed ? (this.typed as any).toApiJson() : this.typed;}\n return toReturn;\n }\n}\n\nexport class GeoPointAttribute implements i.GeoPointAttributeInterface {\n latitude: number;\n longitude: number;\n\n static fromProto(proto: any): GeoPointAttribute {\n let m = new GeoPointAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GeoPointAttributeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.latitude === 'undefined' &&\n typeof this.longitude === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.latitude !== 'undefined') {toReturn['latitude'] = this.latitude;}\n if (typeof this.longitude !== 'undefined') {toReturn['longitude'] = this.longitude;}\n return toReturn;\n }\n}\n\nexport class ListAttribute implements i.ListAttributeInterface {\n attributes: Attribute[];\n\n static fromProto(proto: any): ListAttribute {\n let m = new ListAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {m.attributes = proto.attributes.map(Attribute.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListAttributeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.attributes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {toReturn['attributes'] = 'toApiJson' in this.attributes ? (this.attributes as any).toApiJson() : this.attributes;}\n return toReturn;\n }\n}\n\nexport class MultiValueAttribute implements i.MultiValueAttributeInterface {\n key: string;\n values: string[];\n\n static fromProto(proto: any): MultiValueAttribute {\n let m = new MultiValueAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MultiValueAttributeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.values === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.values !== 'undefined') {toReturn['values'] = this.values;}\n return toReturn;\n }\n}\n\nexport class Mutation implements i.MutationInterface {\n add: SingleValueAttribute;\n replace: MultiValueAttribute;\n remove: SingleValueAttribute;\n dropKey: string;\n replaceAttributes: StructAttribute;\n addAttributes: StructAttribute;\n removeAttributes: StructAttribute;\n\n static fromProto(proto: any): Mutation {\n let m = new Mutation();\n m = Object.assign(m, proto);\n if (proto.add) {m.add = SingleValueAttribute.fromProto(proto.add);}\n if (proto.replace) {m.replace = MultiValueAttribute.fromProto(proto.replace);}\n if (proto.remove) {m.remove = SingleValueAttribute.fromProto(proto.remove);}\n if (proto.replaceAttributes) {m.replaceAttributes = StructAttribute.fromProto(proto.replaceAttributes);}\n if (proto.addAttributes) {m.addAttributes = StructAttribute.fromProto(proto.addAttributes);}\n if (proto.removeAttributes) {m.removeAttributes = StructAttribute.fromProto(proto.removeAttributes);}\n return m;\n }\n\n constructor(kwargs?: i.MutationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.add === 'undefined' &&\n typeof this.replace === 'undefined' &&\n typeof this.remove === 'undefined' &&\n typeof this.dropKey === 'undefined' &&\n typeof this.replaceAttributes === 'undefined' &&\n typeof this.addAttributes === 'undefined' &&\n typeof this.removeAttributes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.add !== 'undefined' && this.add !== null) {toReturn['add'] = 'toApiJson' in this.add ? (this.add as any).toApiJson() : this.add;}\n if (typeof this.replace !== 'undefined' && this.replace !== null) {toReturn['replace'] = 'toApiJson' in this.replace ? (this.replace as any).toApiJson() : this.replace;}\n if (typeof this.remove !== 'undefined' && this.remove !== null) {toReturn['remove'] = 'toApiJson' in this.remove ? (this.remove as any).toApiJson() : this.remove;}\n if (typeof this.dropKey !== 'undefined') {toReturn['dropKey'] = this.dropKey;}\n if (typeof this.replaceAttributes !== 'undefined' && this.replaceAttributes !== null) {toReturn['replaceAttributes'] = 'toApiJson' in this.replaceAttributes ? (this.replaceAttributes as any).toApiJson() : this.replaceAttributes;}\n if (typeof this.addAttributes !== 'undefined' && this.addAttributes !== null) {toReturn['addAttributes'] = 'toApiJson' in this.addAttributes ? (this.addAttributes as any).toApiJson() : this.addAttributes;}\n if (typeof this.removeAttributes !== 'undefined' && this.removeAttributes !== null) {toReturn['removeAttributes'] = 'toApiJson' in this.removeAttributes ? (this.removeAttributes as any).toApiJson() : this.removeAttributes;}\n return toReturn;\n }\n}\n\nexport class NamespacedContext implements i.NamespacedContextInterface {\n namespace: string;\n type: string;\n\n static fromProto(proto: any): NamespacedContext {\n let m = new NamespacedContext();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.NamespacedContextInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.namespace === 'undefined' &&\n typeof this.type === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\nexport class Persona implements i.PersonaInterface {\n subject: Subject;\n context: Context;\n\n static fromProto(proto: any): Persona {\n let m = new Persona();\n m = Object.assign(m, proto);\n if (proto.subject) {m.subject = Subject.fromProto(proto.subject);}\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n return m;\n }\n\n constructor(kwargs?: i.PersonaInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subject === 'undefined' &&\n typeof this.context === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subject !== 'undefined' && this.subject !== null) {toReturn['subject'] = 'toApiJson' in this.subject ? (this.subject as any).toApiJson() : this.subject;}\n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n return toReturn;\n }\n}\n\nexport class PublicKey implements i.PublicKeyInterface {\n key: string;\n id: string;\n algorithmType: e.AlgorithmType;\n\n static fromProto(proto: any): PublicKey {\n let m = new PublicKey();\n m = Object.assign(m, proto);\n if (proto.algorithmType) {m.algorithmType = enumStringToValue<e.AlgorithmType>(e.AlgorithmType, proto.algorithmType);}\n return m;\n }\n\n constructor(kwargs?: i.PublicKeyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.id === 'undefined' &&\n typeof this.algorithmType === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.algorithmType !== 'undefined') {toReturn['algorithmType'] = this.algorithmType;}\n return toReturn;\n }\n}\n\nexport class Query implements i.QueryInterface {\n searchTerm: string;\n attributeKeys: string[];\n\n static fromProto(proto: any): Query {\n let m = new Query();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.QueryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.searchTerm === 'undefined' &&\n typeof this.attributeKeys === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.attributeKeys !== 'undefined') {toReturn['attributeKeys'] = this.attributeKeys;}\n return toReturn;\n }\n}\n\nexport class SingleValueAttribute implements i.SingleValueAttributeInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): SingleValueAttribute {\n let m = new SingleValueAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SingleValueAttributeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class StructAttribute implements i.StructAttributeInterface {\n attributes: {[key: string]: Attribute};\n\n static fromProto(proto: any): StructAttribute {\n let m = new StructAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {m.attributes = Object.keys(proto.attributes).reduce<any>((obj, k) => { obj[k] = Attribute.fromProto(proto.attributes[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.StructAttributeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.attributes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {toReturn['attributes'] = 'toApiJson' in this.attributes ? (this.attributes as any).toApiJson() : this.attributes;}\n return toReturn;\n }\n}\n\nexport class Subject implements i.SubjectInterface {\n subjectId: string;\n email: string;\n userId: string;\n partnerId: string;\n attributes: MultiValueAttribute[];\n created: Date;\n updated: Date;\n lastLogin: Date;\n publicKeys: PublicKey[];\n structAttributes: StructAttribute;\n\n static fromProto(proto: any): Subject {\n let m = new Subject();\n m = Object.assign(m, proto);\n if (proto.attributes) {m.attributes = proto.attributes.map(MultiValueAttribute.fromProto);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.lastLogin) {m.lastLogin = new Date(proto.lastLogin);}\n if (proto.publicKeys) {m.publicKeys = proto.publicKeys.map(PublicKey.fromProto);}\n if (proto.structAttributes) {m.structAttributes = StructAttribute.fromProto(proto.structAttributes);}\n return m;\n }\n\n constructor(kwargs?: i.SubjectInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subjectId === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.userId === 'undefined' &&\n typeof this.partnerId === 'undefined' &&\n typeof this.attributes === 'undefined' &&\n typeof this.created === 'undefined' &&\n typeof this.updated === 'undefined' &&\n typeof this.lastLogin === 'undefined' &&\n typeof this.publicKeys === 'undefined' &&\n typeof this.structAttributes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {toReturn['attributes'] = 'toApiJson' in this.attributes ? (this.attributes as any).toApiJson() : this.attributes;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? (this.lastLogin as any).toApiJson() : this.lastLogin;}\n if (typeof this.publicKeys !== 'undefined' && this.publicKeys !== null) {toReturn['publicKeys'] = 'toApiJson' in this.publicKeys ? (this.publicKeys as any).toApiJson() : this.publicKeys;}\n if (typeof this.structAttributes !== 'undefined' && this.structAttributes !== null) {toReturn['structAttributes'] = 'toApiJson' in this.structAttributes ? (this.structAttributes as any).toApiJson() : this.structAttributes;}\n return toReturn;\n }\n}\n\nexport class SubjectResult implements i.SubjectResultInterface {\n subject: Subject;\n\n static fromProto(proto: any): SubjectResult {\n let m = new SubjectResult();\n m = Object.assign(m, proto);\n if (proto.subject) {m.subject = Subject.fromProto(proto.subject);}\n return m;\n }\n\n constructor(kwargs?: i.SubjectResultInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subject === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subject !== 'undefined' && this.subject !== null) {toReturn['subject'] = 'toApiJson' in this.subject ? (this.subject as any).toApiJson() : this.subject;}\n return toReturn;\n }\n}\n\nexport class TypedContext implements i.TypedContextInterface {\n type: string;\n\n static fromProto(proto: any): TypedContext {\n let m = new TypedContext();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TypedContextInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.type === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class FieldMask implements i.FieldMaskInterface {\n paths: string[];\n\n static fromProto(proto: any): FieldMask {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.FieldMaskInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.paths === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paths !== 'undefined') {toReturn['paths'] = this.paths;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Attribute } from './subjects';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AccessCheckFailures implements i.AccessCheckFailuresInterface {\n failures: ResourceIdentifier[];\n\n static fromProto(proto: any): AccessCheckFailures {\n let m = new AccessCheckFailures();\n m = Object.assign(m, proto);\n if (proto.failures) {m.failures = proto.failures.map(ResourceIdentifier.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AccessCheckFailuresInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.failures === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.failures !== 'undefined' && this.failures !== null) {toReturn['failures'] = 'toApiJson' in this.failures ? (this.failures as any).toApiJson() : this.failures;}\n return toReturn;\n }\n}\n\nexport class ResourceIdentifierIdentifiersEntry implements i.ResourceIdentifierIdentifiersEntryInterface {\n key: string;\n value: ValueList;\n\n static fromProto(proto: any): ResourceIdentifierIdentifiersEntry {\n let m = new ResourceIdentifierIdentifiersEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = ValueList.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.ResourceIdentifierIdentifiersEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class IfClause implements i.IfClauseInterface {\n resourceAttributeName: string;\n resourceAttributeValue: Attribute;\n thenPolicy: PolicyNode;\n elsePolicy: PolicyNode;\n\n static fromProto(proto: any): IfClause {\n let m = new IfClause();\n m = Object.assign(m, proto);\n if (proto.resourceAttributeValue) {m.resourceAttributeValue = Attribute.fromProto(proto.resourceAttributeValue);}\n if (proto.thenPolicy) {m.thenPolicy = PolicyNode.fromProto(proto.thenPolicy);}\n if (proto.elsePolicy) {m.elsePolicy = PolicyNode.fromProto(proto.elsePolicy);}\n return m;\n }\n\n constructor(kwargs?: i.IfClauseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.resourceAttributeName === 'undefined' &&\n typeof this.resourceAttributeValue === 'undefined' &&\n typeof this.thenPolicy === 'undefined' &&\n typeof this.elsePolicy === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.resourceAttributeName !== 'undefined') {toReturn['resourceAttributeName'] = this.resourceAttributeName;}\n if (typeof this.resourceAttributeValue !== 'undefined' && this.resourceAttributeValue !== null) {toReturn['resourceAttributeValue'] = 'toApiJson' in this.resourceAttributeValue ? (this.resourceAttributeValue as any).toApiJson() : this.resourceAttributeValue;}\n if (typeof this.thenPolicy !== 'undefined' && this.thenPolicy !== null) {toReturn['thenPolicy'] = 'toApiJson' in this.thenPolicy ? (this.thenPolicy as any).toApiJson() : this.thenPolicy;}\n if (typeof this.elsePolicy !== 'undefined' && this.elsePolicy !== null) {toReturn['elsePolicy'] = 'toApiJson' in this.elsePolicy ? (this.elsePolicy as any).toApiJson() : this.elsePolicy;}\n return toReturn;\n }\n}\n\nexport class Operator implements i.OperatorInterface {\n operator: e.BooleanOperator;\n children: PolicyNode[];\n\n static fromProto(proto: any): Operator {\n let m = new Operator();\n m = Object.assign(m, proto);\n if (proto.operator) {m.operator = enumStringToValue<e.BooleanOperator>(e.BooleanOperator, proto.operator);}\n if (proto.children) {m.children = proto.children.map(PolicyNode.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.OperatorInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.operator === 'undefined' &&\n typeof this.children === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.operator !== 'undefined') {toReturn['operator'] = this.operator;}\n if (typeof this.children !== 'undefined' && this.children !== null) {toReturn['children'] = 'toApiJson' in this.children ? (this.children as any).toApiJson() : this.children;}\n return toReturn;\n }\n}\n\nexport class Policy implements i.PolicyInterface {\n appId: string;\n resourceId: string;\n policyId: string;\n policyName: string;\n operations: e.AccessScope[];\n policy: PolicyNode;\n\n static fromProto(proto: any): Policy {\n let m = new Policy();\n m = Object.assign(m, proto);\n if (proto.operations) {m.operations = proto.operations.map((v: string) => enumStringToValue<e.AccessScope>(e.AccessScope, v));}\n if (proto.policy) {m.policy = PolicyNode.fromProto(proto.policy);}\n return m;\n }\n\n constructor(kwargs?: i.PolicyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.appId === 'undefined' &&\n typeof this.resourceId === 'undefined' &&\n typeof this.policyId === 'undefined' &&\n typeof this.policyName === 'undefined' &&\n typeof this.operations === 'undefined' &&\n typeof this.policy === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n if (typeof this.resourceId !== 'undefined') {toReturn['resourceId'] = this.resourceId;}\n if (typeof this.policyId !== 'undefined') {toReturn['policyId'] = this.policyId;}\n if (typeof this.policyName !== 'undefined') {toReturn['policyName'] = this.policyName;}\n if (typeof this.operations !== 'undefined') {toReturn['operations'] = this.operations;}\n if (typeof this.policy !== 'undefined' && this.policy !== null) {toReturn['policy'] = 'toApiJson' in this.policy ? (this.policy as any).toApiJson() : this.policy;}\n return toReturn;\n }\n}\n\nexport class PolicyNode implements i.PolicyNodeInterface {\n subjectResourceIntersection: SubjectResourceIntersectionClause;\n operator: Operator;\n subjectValueIntersection: SubjectValueIntersectionClause;\n subjectMissingValue: SubjectMissingValueClause;\n subjectResourceSubset: SubjectResourceSubsetClause;\n subjectResourceFor: SubjectResourceForClause;\n ifClause: IfClause;\n\n static fromProto(proto: any): PolicyNode {\n let m = new PolicyNode();\n m = Object.assign(m, proto);\n if (proto.subjectResourceIntersection) {m.subjectResourceIntersection = SubjectResourceIntersectionClause.fromProto(proto.subjectResourceIntersection);}\n if (proto.operator) {m.operator = Operator.fromProto(proto.operator);}\n if (proto.subjectValueIntersection) {m.subjectValueIntersection = SubjectValueIntersectionClause.fromProto(proto.subjectValueIntersection);}\n if (proto.subjectMissingValue) {m.subjectMissingValue = SubjectMissingValueClause.fromProto(proto.subjectMissingValue);}\n if (proto.subjectResourceSubset) {m.subjectResourceSubset = SubjectResourceSubsetClause.fromProto(proto.subjectResourceSubset);}\n if (proto.subjectResourceFor) {m.subjectResourceFor = SubjectResourceForClause.fromProto(proto.subjectResourceFor);}\n if (proto.ifClause) {m.ifClause = IfClause.fromProto(proto.ifClause);}\n return m;\n }\n\n constructor(kwargs?: i.PolicyNodeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subjectResourceIntersection === 'undefined' &&\n typeof this.operator === 'undefined' &&\n typeof this.subjectValueIntersection === 'undefined' &&\n typeof this.subjectMissingValue === 'undefined' &&\n typeof this.subjectResourceSubset === 'undefined' &&\n typeof this.subjectResourceFor === 'undefined' &&\n typeof this.ifClause === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subjectResourceIntersection !== 'undefined' && this.subjectResourceIntersection !== null) {toReturn['subjectResourceIntersection'] = 'toApiJson' in this.subjectResourceIntersection ? (this.subjectResourceIntersection as any).toApiJson() : this.subjectResourceIntersection;}\n if (typeof this.operator !== 'undefined' && this.operator !== null) {toReturn['operator'] = 'toApiJson' in this.operator ? (this.operator as any).toApiJson() : this.operator;}\n if (typeof this.subjectValueIntersection !== 'undefined' && this.subjectValueIntersection !== null) {toReturn['subjectValueIntersection'] = 'toApiJson' in this.subjectValueIntersection ? (this.subjectValueIntersection as any).toApiJson() : this.subjectValueIntersection;}\n if (typeof this.subjectMissingValue !== 'undefined' && this.subjectMissingValue !== null) {toReturn['subjectMissingValue'] = 'toApiJson' in this.subjectMissingValue ? (this.subjectMissingValue as any).toApiJson() : this.subjectMissingValue;}\n if (typeof this.subjectResourceSubset !== 'undefined' && this.subjectResourceSubset !== null) {toReturn['subjectResourceSubset'] = 'toApiJson' in this.subjectResourceSubset ? (this.subjectResourceSubset as any).toApiJson() : this.subjectResourceSubset;}\n if (typeof this.subjectResourceFor !== 'undefined' && this.subjectResourceFor !== null) {toReturn['subjectResourceFor'] = 'toApiJson' in this.subjectResourceFor ? (this.subjectResourceFor as any).toApiJson() : this.subjectResourceFor;}\n if (typeof this.ifClause !== 'undefined' && this.ifClause !== null) {toReturn['ifClause'] = 'toApiJson' in this.ifClause ? (this.ifClause as any).toApiJson() : this.ifClause;}\n return toReturn;\n }\n}\n\nexport class ResourceIdentifier implements i.ResourceIdentifierInterface {\n identifiers: {[key: string]: ValueList};\n\n static fromProto(proto: any): ResourceIdentifier {\n let m = new ResourceIdentifier();\n m = Object.assign(m, proto);\n if (proto.identifiers) {m.identifiers = Object.keys(proto.identifiers).reduce<any>((obj, k) => { obj[k] = ValueList.fromProto(proto.identifiers[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.ResourceIdentifierInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.identifiers === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {toReturn['identifiers'] = 'toApiJson' in this.identifiers ? (this.identifiers as any).toApiJson() : this.identifiers;}\n return toReturn;\n }\n}\n\nexport class ResourceOwner implements i.ResourceOwnerInterface {\n appId: string;\n appName: string;\n\n static fromProto(proto: any): ResourceOwner {\n let m = new ResourceOwner();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ResourceOwnerInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.appId === 'undefined' &&\n typeof this.appName === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n if (typeof this.appName !== 'undefined') {toReturn['appName'] = this.appName;}\n return toReturn;\n }\n}\n\nexport class SubjectMissingValueClause implements i.SubjectMissingValueClauseInterface {\n attributeName: string;\n\n static fromProto(proto: any): SubjectMissingValueClause {\n let m = new SubjectMissingValueClause();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SubjectMissingValueClauseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.attributeName === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.attributeName !== 'undefined') {toReturn['attributeName'] = this.attributeName;}\n return toReturn;\n }\n}\n\nexport class SubjectResourceForClause implements i.SubjectResourceForClauseInterface {\n attributeName: string;\n operator: e.ForOperator;\n rules: PolicyNode;\n\n static fromProto(proto: any): SubjectResourceForClause {\n let m = new SubjectResourceForClause();\n m = Object.assign(m, proto);\n if (proto.operator) {m.operator = enumStringToValue<e.ForOperator>(e.ForOperator, proto.operator);}\n if (proto.rules) {m.rules = PolicyNode.fromProto(proto.rules);}\n return m;\n }\n\n constructor(kwargs?: i.SubjectResourceForClauseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.attributeName === 'undefined' &&\n typeof this.operator === 'undefined' &&\n typeof this.rules === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.attributeName !== 'undefined') {toReturn['attributeName'] = this.attributeName;}\n if (typeof this.operator !== 'undefined') {toReturn['operator'] = this.operator;}\n if (typeof this.rules !== 'undefined' && this.rules !== null) {toReturn['rules'] = 'toApiJson' in this.rules ? (this.rules as any).toApiJson() : this.rules;}\n return toReturn;\n }\n}\n\nexport class SubjectResourceIntersectionClause implements i.SubjectResourceIntersectionClauseInterface {\n attributeName: string;\n resourceAttributeName: string;\n\n static fromProto(proto: any): SubjectResourceIntersectionClause {\n let m = new SubjectResourceIntersectionClause();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SubjectResourceIntersectionClauseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.attributeName === 'undefined' &&\n typeof this.resourceAttributeName === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.attributeName !== 'undefined') {toReturn['attributeName'] = this.attributeName;}\n if (typeof this.resourceAttributeName !== 'undefined') {toReturn['resourceAttributeName'] = this.resourceAttributeName;}\n return toReturn;\n }\n}\n\nexport class SubjectResourceSubsetClause implements i.SubjectResourceSubsetClauseInterface {\n attributeName: string;\n resourceAttributeName: string;\n\n static fromProto(proto: any): SubjectResourceSubsetClause {\n let m = new SubjectResourceSubsetClause();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SubjectResourceSubsetClauseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.attributeName === 'undefined' &&\n typeof this.resourceAttributeName === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.attributeName !== 'undefined') {toReturn['attributeName'] = this.attributeName;}\n if (typeof this.resourceAttributeName !== 'undefined') {toReturn['resourceAttributeName'] = this.resourceAttributeName;}\n return toReturn;\n }\n}\n\nexport class SubjectValueIntersectionClause implements i.SubjectValueIntersectionClauseInterface {\n attributeName: string;\n attributeValue: string;\n structuredAttributeValue: Attribute;\n\n static fromProto(proto: any): SubjectValueIntersectionClause {\n let m = new SubjectValueIntersectionClause();\n m = Object.assign(m, proto);\n if (proto.structuredAttributeValue) {m.structuredAttributeValue = Attribute.fromProto(proto.structuredAttributeValue);}\n return m;\n }\n\n constructor(kwargs?: i.SubjectValueIntersectionClauseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.attributeName === 'undefined' &&\n typeof this.attributeValue === 'undefined' &&\n typeof this.structuredAttributeValue === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.attributeName !== 'undefined') {toReturn['attributeName'] = this.attributeName;}\n if (typeof this.attributeValue !== 'undefined') {toReturn['attributeValue'] = this.attributeValue;}\n if (typeof this.structuredAttributeValue !== 'undefined' && this.structuredAttributeValue !== null) {toReturn['structuredAttributeValue'] = 'toApiJson' in this.structuredAttributeValue ? (this.structuredAttributeValue as any).toApiJson() : this.structuredAttributeValue;}\n return toReturn;\n }\n}\n\nexport class ValueList implements i.ValueListInterface {\n values: string[];\n\n static fromProto(proto: any): ValueList {\n let m = new ValueList();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ValueListInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.values === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.values !== 'undefined') {toReturn['values'] = this.values;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class SecurityLog implements i.SecurityLogInterface {\n userId: string;\n actionId: string;\n logId: string;\n description: string;\n created: Date;\n\n static fromProto(proto: any): SecurityLog {\n let m = new SecurityLog();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n return m;\n }\n\n constructor(kwargs?: i.SecurityLogInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userId === 'undefined' &&\n typeof this.actionId === 'undefined' &&\n typeof this.logId === 'undefined' &&\n typeof this.description === 'undefined' &&\n typeof this.created === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.actionId !== 'undefined') {toReturn['actionId'] = this.actionId;}\n if (typeof this.logId !== 'undefined') {toReturn['logId'] = this.logId;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PublicKey } from './subjects';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Identifier implements i.IdentifierInterface {\n subjectId: string;\n userId: string;\n\n static fromProto(proto: any): Identifier {\n let m = new Identifier();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IdentifierInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subjectId === 'undefined' &&\n typeof this.userId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class NamespacedEmail implements i.NamespacedEmailInterface {\n namespace: string;\n email: string;\n\n static fromProto(proto: any): NamespacedEmail {\n let m = new NamespacedEmail();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.NamespacedEmailInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.namespace === 'undefined' &&\n typeof this.email === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n return toReturn;\n }\n}\n\nexport class NamespacedSession implements i.NamespacedSessionInterface {\n namespace: string;\n session: string;\n\n static fromProto(proto: any): NamespacedSession {\n let m = new NamespacedSession();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.NamespacedSessionInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.namespace === 'undefined' &&\n typeof this.session === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n if (typeof this.session !== 'undefined') {toReturn['session'] = this.session;}\n return toReturn;\n }\n}\n\nexport class TypedExternalIdentifier implements i.TypedExternalIdentifierInterface {\n externalIdType: string;\n externalId: string;\n\n static fromProto(proto: any): TypedExternalIdentifier {\n let m = new TypedExternalIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TypedExternalIdentifierInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.externalIdType === 'undefined' &&\n typeof this.externalId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.externalIdType !== 'undefined') {toReturn['externalIdType'] = this.externalIdType;}\n if (typeof this.externalId !== 'undefined') {toReturn['externalId'] = this.externalId;}\n return toReturn;\n }\n}\n\nexport class User implements i.UserInterface {\n userId: string;\n namespace: string;\n email: string;\n created: Date;\n updated: Date;\n firstName: string;\n greetingName: string;\n lastName: string;\n languageCode: string;\n emailVerified: boolean;\n roles: string[];\n lastLogin: Date;\n publicKeys: PublicKey[];\n\n static fromProto(proto: any): User {\n let m = new User();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.lastLogin) {m.lastLogin = new Date(proto.lastLogin);}\n if (proto.publicKeys) {m.publicKeys = proto.publicKeys.map(PublicKey.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UserInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userId === 'undefined' &&\n typeof this.namespace === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.created === 'undefined' &&\n typeof this.updated === 'undefined' &&\n typeof this.firstName === 'undefined' &&\n typeof this.greetingName === 'undefined' &&\n typeof this.lastName === 'undefined' &&\n typeof this.languageCode === 'undefined' &&\n typeof this.emailVerified === 'undefined' &&\n typeof this.roles === 'undefined' &&\n typeof this.lastLogin === 'undefined' &&\n typeof this.publicKeys === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.greetingName !== 'undefined') {toReturn['greetingName'] = this.greetingName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.languageCode !== 'undefined') {toReturn['languageCode'] = this.languageCode;}\n if (typeof this.emailVerified !== 'undefined') {toReturn['emailVerified'] = this.emailVerified;}\n if (typeof this.roles !== 'undefined') {toReturn['roles'] = this.roles;}\n if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? (this.lastLogin as any).toApiJson() : this.lastLogin;}\n if (typeof this.publicKeys !== 'undefined' && this.publicKeys !== null) {toReturn['publicKeys'] = 'toApiJson' in this.publicKeys ? (this.publicKeys as any).toApiJson() : this.publicKeys;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Context, StructAttribute, SubjectResult, Persona, Mutation, MultiValueAttribute, Query, SingleValueAttribute } from './subjects';\nimport { FieldMask } from './field-mask';\nimport { ResourceIdentifier, Policy, ResourceOwner, ValueList } from './resources';\nimport { SecurityLog } from './security-logs';\nimport { TypedExternalIdentifier, Identifier, User, NamespacedEmail, NamespacedSession } from './users';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AccessResourceRequest implements i.AccessResourceRequestInterface {\n context: Context;\n subjectId: string;\n email: string;\n userId: string;\n session: string;\n ownerId: string;\n resourceId: string;\n resourceEntityIdentifier: {[key: string]: ValueList};\n accessScope: e.AccessScope[];\n resourceEntityIdentifiers: ResourceIdentifier[];\n resourceAttributes: StructAttribute;\n\n static fromProto(proto: any): AccessResourceRequest {\n let m = new AccessResourceRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.resourceEntityIdentifier) {m.resourceEntityIdentifier = Object.keys(proto.resourceEntityIdentifier).reduce<any>((obj, k) => { obj[k] = ValueList.fromProto(proto.resourceEntityIdentifier[k]); return obj; }, {});}\n if (proto.accessScope) {m.accessScope = proto.accessScope.map((v: string) => enumStringToValue<e.AccessScope>(e.AccessScope, v));}\n if (proto.resourceEntityIdentifiers) {m.resourceEntityIdentifiers = proto.resourceEntityIdentifiers.map(ResourceIdentifier.fromProto);}\n if (proto.resourceAttributes) {m.resourceAttributes = StructAttribute.fromProto(proto.resourceAttributes);}\n return m;\n }\n\n constructor(kwargs?: i.AccessResourceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.subjectId === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.userId === 'undefined' &&\n typeof this.session === 'undefined' &&\n typeof this.ownerId === 'undefined' &&\n typeof this.resourceId === 'undefined' &&\n typeof this.resourceEntityIdentifier === 'undefined' &&\n typeof this.accessScope === 'undefined' &&\n typeof this.resourceEntityIdentifiers === 'undefined' &&\n typeof this.resourceAttributes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.session !== 'undefined') {toReturn['session'] = this.session;}\n if (typeof this.ownerId !== 'undefined') {toReturn['ownerId'] = this.ownerId;}\n if (typeof this.resourceId !== 'undefined') {toReturn['resourceId'] = this.resourceId;}\n if (typeof this.resourceEntityIdentifier !== 'undefined' && this.resourceEntityIdentifier !== null) {toReturn['resourceEntityIdentifier'] = 'toApiJson' in this.resourceEntityIdentifier ? (this.resourceEntityIdentifier as any).toApiJson() : this.resourceEntityIdentifier;}\n if (typeof this.accessScope !== 'undefined') {toReturn['accessScope'] = this.accessScope;}\n if (typeof this.resourceEntityIdentifiers !== 'undefined' && this.resourceEntityIdentifiers !== null) {toReturn['resourceEntityIdentifiers'] = 'toApiJson' in this.resourceEntityIdentifiers ? (this.resourceEntityIdentifiers as any).toApiJson() : this.resourceEntityIdentifiers;}\n if (typeof this.resourceAttributes !== 'undefined' && this.resourceAttributes !== null) {toReturn['resourceAttributes'] = 'toApiJson' in this.resourceAttributes ? (this.resourceAttributes as any).toApiJson() : this.resourceAttributes;}\n return toReturn;\n }\n}\n\nexport class AddKeyRequest implements i.AddKeyRequestInterface {\n email: string;\n context: Context;\n algorithmType: e.AlgorithmType;\n userIdentifier: UserIdentifier;\n\n static fromProto(proto: any): AddKeyRequest {\n let m = new AddKeyRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.algorithmType) {m.algorithmType = enumStringToValue<e.AlgorithmType>(e.AlgorithmType, proto.algorithmType);}\n if (proto.userIdentifier) {m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);}\n return m;\n }\n\n constructor(kwargs?: i.AddKeyRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.email === 'undefined' &&\n typeof this.context === 'undefined' &&\n typeof this.algorithmType === 'undefined' &&\n typeof this.userIdentifier === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.algorithmType !== 'undefined') {toReturn['algorithmType'] = this.algorithmType;}\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? (this.userIdentifier as any).toApiJson() : this.userIdentifier;}\n return toReturn;\n }\n}\n\nexport class AddKeyResponse implements i.AddKeyResponseInterface {\n privateKey: string;\n keyId: string;\n\n static fromProto(proto: any): AddKeyResponse {\n let m = new AddKeyResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AddKeyResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.privateKey === 'undefined' &&\n typeof this.keyId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.privateKey !== 'undefined') {toReturn['privateKey'] = this.privateKey;}\n if (typeof this.keyId !== 'undefined') {toReturn['keyId'] = this.keyId;}\n return toReturn;\n }\n}\n\nexport class AddMultiUserRestrictionRequest implements i.AddMultiUserRestrictionRequestInterface {\n userIdentifiers: UserIdentifier[];\n restrictionType: e.RestrictionType;\n\n static fromProto(proto: any): AddMultiUserRestrictionRequest {\n let m = new AddMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);}\n if (proto.restrictionType) {m.restrictionType = enumStringToValue<e.RestrictionType>(e.RestrictionType, proto.restrictionType);}\n return m;\n }\n\n constructor(kwargs?: i.AddMultiUserRestrictionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userIdentifiers === 'undefined' &&\n typeof this.restrictionType === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? (this.userIdentifiers as any).toApiJson() : this.userIdentifiers;}\n if (typeof this.restrictionType !== 'undefined') {toReturn['restrictionType'] = this.restrictionType;}\n return toReturn;\n }\n}\n\nexport class AuthenticateSubjectRequest implements i.AuthenticateSubjectRequestInterface {\n context: Context;\n email: string;\n password: string;\n\n static fromProto(proto: any): AuthenticateSubjectRequest {\n let m = new AuthenticateSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n return m;\n }\n\n constructor(kwargs?: i.AuthenticateSubjectRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.password === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n return toReturn;\n }\n}\n\nexport class ChangeSubjectEmailRequest implements i.ChangeSubjectEmailRequestInterface {\n context: Context;\n subjectId: string;\n newEmail: string;\n\n static fromProto(proto: any): ChangeSubjectEmailRequest {\n let m = new ChangeSubjectEmailRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n return m;\n }\n\n constructor(kwargs?: i.ChangeSubjectEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.subjectId === 'undefined' &&\n typeof this.newEmail === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n if (typeof this.newEmail !== 'undefined') {toReturn['newEmail'] = this.newEmail;}\n return toReturn;\n }\n}\n\nexport class CreateExternalIDRequest implements i.CreateExternalIDRequestInterface {\n userIdentifier: UserIdentifier;\n typedExternalIdentifier: TypedExternalIdentifier;\n\n static fromProto(proto: any): CreateExternalIDRequest {\n let m = new CreateExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);}\n if (proto.typedExternalIdentifier) {m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);}\n return m;\n }\n\n constructor(kwargs?: i.CreateExternalIDRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userIdentifier === 'undefined' &&\n typeof this.typedExternalIdentifier === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? (this.userIdentifier as any).toApiJson() : this.userIdentifier;}\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? (this.typedExternalIdentifier as any).toApiJson() : this.typedExternalIdentifier;}\n return toReturn;\n }\n}\n\nexport class CreateSessionRequest implements i.CreateSessionRequestInterface {\n context: Context;\n oauthCredentials: OAuthCredentials;\n subjectCredentials: SubjectCredentials;\n\n static fromProto(proto: any): CreateSessionRequest {\n let m = new CreateSessionRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.oauthCredentials) {m.oauthCredentials = OAuthCredentials.fromProto(proto.oauthCredentials);}\n if (proto.subjectCredentials) {m.subjectCredentials = SubjectCredentials.fromProto(proto.subjectCredentials);}\n return m;\n }\n\n constructor(kwargs?: i.CreateSessionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.oauthCredentials === 'undefined' &&\n typeof this.subjectCredentials === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.oauthCredentials !== 'undefined' && this.oauthCredentials !== null) {toReturn['oauthCredentials'] = 'toApiJson' in this.oauthCredentials ? (this.oauthCredentials as any).toApiJson() : this.oauthCredentials;}\n if (typeof this.subjectCredentials !== 'undefined' && this.subjectCredentials !== null) {toReturn['subjectCredentials'] = 'toApiJson' in this.subjectCredentials ? (this.subjectCredentials as any).toApiJson() : this.subjectCredentials;}\n return toReturn;\n }\n}\n\nexport class CreateSessionResponse implements i.CreateSessionResponseInterface {\n session: string;\n\n static fromProto(proto: any): CreateSessionResponse {\n let m = new CreateSessionResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateSessionResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.session === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.session !== 'undefined') {toReturn['session'] = this.session;}\n return toReturn;\n }\n}\n\nexport class CreateTemporarySubjectRequest implements i.CreateTemporarySubjectRequestInterface {\n context: Context;\n subject: string;\n attributes: StructAttribute;\n\n static fromProto(proto: any): CreateTemporarySubjectRequest {\n let m = new CreateTemporarySubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.attributes) {m.attributes = StructAttribute.fromProto(proto.attributes);}\n return m;\n }\n\n constructor(kwargs?: i.CreateTemporarySubjectRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.subject === 'undefined' &&\n typeof this.attributes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.subject !== 'undefined') {toReturn['subject'] = this.subject;}\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {toReturn['attributes'] = 'toApiJson' in this.attributes ? (this.attributes as any).toApiJson() : this.attributes;}\n return toReturn;\n }\n}\n\nexport class CreateTemporarySubjectResponse implements i.CreateTemporarySubjectResponseInterface {\n session: string;\n\n static fromProto(proto: any): CreateTemporarySubjectResponse {\n let m = new CreateTemporarySubjectResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateTemporarySubjectResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.session === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.session !== 'undefined') {toReturn['session'] = this.session;}\n return toReturn;\n }\n}\n\nexport class DeleteSubjectRequest implements i.DeleteSubjectRequestInterface {\n context: Context;\n subjectId: string;\n\n static fromProto(proto: any): DeleteSubjectRequest {\n let m = new DeleteSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n return m;\n }\n\n constructor(kwargs?: i.DeleteSubjectRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.subjectId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n return toReturn;\n }\n}\n\nexport class DeleteUserRequest implements i.DeleteUserRequestInterface {\n userIdentifier: UserIdentifier;\n\n static fromProto(proto: any): DeleteUserRequest {\n let m = new DeleteUserRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);}\n return m;\n }\n\n constructor(kwargs?: i.DeleteUserRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userIdentifier === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? (this.userIdentifier as any).toApiJson() : this.userIdentifier;}\n return toReturn;\n }\n}\n\nexport class ListSecurityLogsRequestFilters implements i.ListSecurityLogsRequestFiltersInterface {\n actionId: string;\n\n static fromProto(proto: any): ListSecurityLogsRequestFilters {\n let m = new ListSecurityLogsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListSecurityLogsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.actionId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.actionId !== 'undefined') {toReturn['actionId'] = this.actionId;}\n return toReturn;\n }\n}\n\nexport class GetImpersonationTokenRequest implements i.GetImpersonationTokenRequestInterface {\n impersonatee: UserIdentifier;\n impersonator: UserIdentifier;\n\n static fromProto(proto: any): GetImpersonationTokenRequest {\n let m = new GetImpersonationTokenRequest();\n m = Object.assign(m, proto);\n if (proto.impersonatee) {m.impersonatee = UserIdentifier.fromProto(proto.impersonatee);}\n if (proto.impersonator) {m.impersonator = UserIdentifier.fromProto(proto.impersonator);}\n return m;\n }\n\n constructor(kwargs?: i.GetImpersonationTokenRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.impersonatee === 'undefined' &&\n typeof this.impersonator === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.impersonatee !== 'undefined' && this.impersonatee !== null) {toReturn['impersonatee'] = 'toApiJson' in this.impersonatee ? (this.impersonatee as any).toApiJson() : this.impersonatee;}\n if (typeof this.impersonator !== 'undefined' && this.impersonator !== null) {toReturn['impersonator'] = 'toApiJson' in this.impersonator ? (this.impersonator as any).toApiJson() : this.impersonator;}\n return toReturn;\n }\n}\n\nexport class GetImpersonationTokenResponse implements i.GetImpersonationTokenResponseInterface {\n token: string;\n\n static fromProto(proto: any): GetImpersonationTokenResponse {\n let m = new GetImpersonationTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetImpersonationTokenResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.token === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.token !== 'undefined') {toReturn['token'] = this.token;}\n return toReturn;\n }\n}\n\nexport class GetMultiExternalIDRequest implements i.GetMultiExternalIDRequestInterface {\n userIdentifiers: UserIdentifier[];\n externalIdType: string;\n\n static fromProto(proto: any): GetMultiExternalIDRequest {\n let m = new GetMultiExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiExternalIDRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userIdentifiers === 'undefined' &&\n typeof this.externalIdType === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? (this.userIdentifiers as any).toApiJson() : this.userIdentifiers;}\n if (typeof this.externalIdType !== 'undefined') {toReturn['externalIdType'] = this.externalIdType;}\n return toReturn;\n }\n}\n\nexport class GetMultiExternalIDResponse implements i.GetMultiExternalIDResponseInterface {\n externalIds: string[];\n\n static fromProto(proto: any): GetMultiExternalIDResponse {\n let m = new GetMultiExternalIDResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiExternalIDResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.externalIds === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.externalIds !== 'undefined') {toReturn['externalIds'] = this.externalIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiUsersRequest implements i.GetMultiUsersRequestInterface {\n userIdentifiers: UserIdentifier[];\n\n static fromProto(proto: any): GetMultiUsersRequest {\n let m = new GetMultiUsersRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiUsersRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userIdentifiers === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? (this.userIdentifiers as any).toApiJson() : this.userIdentifiers;}\n return toReturn;\n }\n}\n\nexport class GetMultiUsersResponse implements i.GetMultiUsersResponseInterface {\n users: GetMultiUsersResponseUserContainer[];\n\n static fromProto(proto: any): GetMultiUsersResponse {\n let m = new GetMultiUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {m.users = proto.users.map(GetMultiUsersResponseUserContainer.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiUsersResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.users === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.users !== 'undefined' && this.users !== null) {toReturn['users'] = 'toApiJson' in this.users ? (this.users as any).toApiJson() : this.users;}\n return toReturn;\n }\n}\n\nexport class GetResetPasswordTokenRequest implements i.GetResetPasswordTokenRequestInterface {\n context: Context;\n email: string;\n\n static fromProto(proto: any): GetResetPasswordTokenRequest {\n let m = new GetResetPasswordTokenRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n return m;\n }\n\n constructor(kwargs?: i.GetResetPasswordTokenRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.email === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n return toReturn;\n }\n}\n\nexport class GetSessionForUserRequest implements i.GetSessionForUserRequestInterface {\n subjectId: string;\n email: string;\n userId: string;\n refreshToken: string;\n clientAssertion: string;\n federatedIdentityProvider: string;\n scopes: string[];\n clientId: string;\n nonce: string;\n\n static fromProto(proto: any): GetSessionForUserRequest {\n let m = new GetSessionForUserRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetSessionForUserRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subjectId === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.userId === 'undefined' &&\n typeof this.refreshToken === 'undefined' &&\n typeof this.clientAssertion === 'undefined' &&\n typeof this.federatedIdentityProvider === 'undefined' &&\n typeof this.scopes === 'undefined' &&\n typeof this.clientId === 'undefined' &&\n typeof this.nonce === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.refreshToken !== 'undefined') {toReturn['refreshToken'] = this.refreshToken;}\n if (typeof this.clientAssertion !== 'undefined') {toReturn['clientAssertion'] = this.clientAssertion;}\n if (typeof this.federatedIdentityProvider !== 'undefined') {toReturn['federatedIdentityProvider'] = this.federatedIdentityProvider;}\n if (typeof this.scopes !== 'undefined') {toReturn['scopes'] = this.scopes;}\n if (typeof this.clientId !== 'undefined') {toReturn['clientId'] = this.clientId;}\n if (typeof this.nonce !== 'undefined') {toReturn['nonce'] = this.nonce;}\n return toReturn;\n }\n}\n\nexport class GetSessionForUserResponse implements i.GetSessionForUserResponseInterface {\n session: string;\n accessToken: string;\n refreshToken: string;\n\n static fromProto(proto: any): GetSessionForUserResponse {\n let m = new GetSessionForUserResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetSessionForUserResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.session === 'undefined' &&\n typeof this.accessToken === 'undefined' &&\n typeof this.refreshToken === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.session !== 'undefined') {toReturn['session'] = this.session;}\n if (typeof this.accessToken !== 'undefined') {toReturn['accessToken'] = this.accessToken;}\n if (typeof this.refreshToken !== 'undefined') {toReturn['refreshToken'] = this.refreshToken;}\n return toReturn;\n }\n}\n\nexport class GetSessionTokenRequest implements i.GetSessionTokenRequestInterface {\n token: string;\n\n static fromProto(proto: any): GetSessionTokenRequest {\n let m = new GetSessionTokenRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetSessionTokenRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.token === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.token !== 'undefined') {toReturn['token'] = this.token;}\n return toReturn;\n }\n}\n\nexport class GetShortLivedTokenRequest implements i.GetShortLivedTokenRequestInterface {\n context: Context;\n email: string;\n\n static fromProto(proto: any): GetShortLivedTokenRequest {\n let m = new GetShortLivedTokenRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n return m;\n }\n\n constructor(kwargs?: i.GetShortLivedTokenRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.email === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n return toReturn;\n }\n}\n\nexport class GetSubjectBySessionRequest implements i.GetSubjectBySessionRequestInterface {\n session: string;\n context: Context;\n\n static fromProto(proto: any): GetSubjectBySessionRequest {\n let m = new GetSubjectBySessionRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n return m;\n }\n\n constructor(kwargs?: i.GetSubjectBySessionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.session === 'undefined' &&\n typeof this.context === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.session !== 'undefined') {toReturn['session'] = this.session;}\n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n return toReturn;\n }\n}\n\nexport class GetSubjectContextRequest implements i.GetSubjectContextRequestInterface {\n subjectId: string;\n\n static fromProto(proto: any): GetSubjectContextRequest {\n let m = new GetSubjectContextRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetSubjectContextRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subjectId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n return toReturn;\n }\n}\n\nexport class GetSubjectContextResponse implements i.GetSubjectContextResponseInterface {\n context: Context;\n\n static fromProto(proto: any): GetSubjectContextResponse {\n let m = new GetSubjectContextResponse();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n return m;\n }\n\n constructor(kwargs?: i.GetSubjectContextResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n return toReturn;\n }\n}\n\nexport class GetSubjectResponse implements i.GetSubjectResponseInterface {\n subject: SubjectResult;\n\n static fromProto(proto: any): GetSubjectResponse {\n let m = new GetSubjectResponse();\n m = Object.assign(m, proto);\n if (proto.subject) {m.subject = SubjectResult.fromProto(proto.subject);}\n return m;\n }\n\n constructor(kwargs?: i.GetSubjectResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subject === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subject !== 'undefined' && this.subject !== null) {toReturn['subject'] = 'toApiJson' in this.subject ? (this.subject as any).toApiJson() : this.subject;}\n return toReturn;\n }\n}\n\nexport class GetSubjectsByEmailRequest implements i.GetSubjectsByEmailRequestInterface {\n context: Context;\n emails: string[];\n fieldMask: FieldMask;\n\n static fromProto(proto: any): GetSubjectsByEmailRequest {\n let m = new GetSubjectsByEmailRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.GetSubjectsByEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.emails === 'undefined' &&\n typeof this.fieldMask === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.emails !== 'undefined') {toReturn['emails'] = this.emails;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class GetSubjectsRequest implements i.GetSubjectsRequestInterface {\n context: Context;\n subjectIds: string[];\n fieldMask: FieldMask;\n identifiers: Identifier[];\n\n static fromProto(proto: any): GetSubjectsRequest {\n let m = new GetSubjectsRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n if (proto.identifiers) {m.identifiers = proto.identifiers.map(Identifier.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetSubjectsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.subjectIds === 'undefined' &&\n typeof this.fieldMask === 'undefined' &&\n typeof this.identifiers === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.subjectIds !== 'undefined') {toReturn['subjectIds'] = this.subjectIds;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {toReturn['identifiers'] = 'toApiJson' in this.identifiers ? (this.identifiers as any).toApiJson() : this.identifiers;}\n return toReturn;\n }\n}\n\nexport class GetSubjectsResponse implements i.GetSubjectsResponseInterface {\n subjects: SubjectResult[];\n\n static fromProto(proto: any): GetSubjectsResponse {\n let m = new GetSubjectsResponse();\n m = Object.assign(m, proto);\n if (proto.subjects) {m.subjects = proto.subjects.map(SubjectResult.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetSubjectsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subjects === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subjects !== 'undefined' && this.subjects !== null) {toReturn['subjects'] = 'toApiJson' in this.subjects ? (this.subjects as any).toApiJson() : this.subjects;}\n return toReturn;\n }\n}\n\nexport class GetTokenRequest implements i.GetTokenRequestInterface {\n\n static fromProto(proto: any): GetTokenRequest {\n let m = new GetTokenRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetTokenRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class GetTokenResponse implements i.GetTokenResponseInterface {\n token: string;\n\n static fromProto(proto: any): GetTokenResponse {\n let m = new GetTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetTokenResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.token === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.token !== 'undefined') {toReturn['token'] = this.token;}\n return toReturn;\n }\n}\n\nexport class IAMListPersonasRequest implements i.IAMListPersonasRequestInterface {\n userIdentifier: UserIdentifier;\n cursor: string;\n pageSize: number;\n type: string;\n namespace: string;\n\n static fromProto(proto: any): IAMListPersonasRequest {\n let m = new IAMListPersonasRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);}\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.IAMListPersonasRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userIdentifier === 'undefined' &&\n typeof this.cursor === 'undefined' &&\n typeof this.pageSize === 'undefined' &&\n typeof this.type === 'undefined' &&\n typeof this.namespace === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? (this.userIdentifier as any).toApiJson() : this.userIdentifier;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n return toReturn;\n }\n}\n\nexport class ListPersonasByEmailRequest implements i.ListPersonasByEmailRequestInterface {\n email: string;\n cursor: string;\n pageSize: number;\n type: string;\n namespace: string;\n\n static fromProto(proto: any): ListPersonasByEmailRequest {\n let m = new ListPersonasByEmailRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ListPersonasByEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.email === 'undefined' &&\n typeof this.cursor === 'undefined' &&\n typeof this.pageSize === 'undefined' &&\n typeof this.type === 'undefined' &&\n typeof this.namespace === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n return toReturn;\n }\n}\n\nexport class ListPersonasRequest implements i.ListPersonasRequestInterface {\n session: string;\n cursor: string;\n pageSize: number;\n type: string;\n namespace: string;\n\n static fromProto(proto: any): ListPersonasRequest {\n let m = new ListPersonasRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ListPersonasRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.session === 'undefined' &&\n typeof this.cursor === 'undefined' &&\n typeof this.pageSize === 'undefined' &&\n typeof this.type === 'undefined' &&\n typeof this.namespace === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.session !== 'undefined') {toReturn['session'] = this.session;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n return toReturn;\n }\n}\n\nexport class ListPersonasResponse implements i.ListPersonasResponseInterface {\n personas: Persona[];\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): ListPersonasResponse {\n let m = new ListPersonasResponse();\n m = Object.assign(m, proto);\n if (proto.personas) {m.personas = proto.personas.map(Persona.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListPersonasResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.personas === 'undefined' &&\n typeof this.nextCursor === 'undefined' &&\n typeof this.hasMore === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.personas !== 'undefined' && this.personas !== null) {toReturn['personas'] = 'toApiJson' in this.personas ? (this.personas as any).toApiJson() : this.personas;}\n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class ListSecurityLogsRequest implements i.ListSecurityLogsRequestInterface {\n userId: string;\n filters: ListSecurityLogsRequestFilters;\n pageSize: number;\n cursor: string;\n\n static fromProto(proto: any): ListSecurityLogsRequest {\n let m = new ListSecurityLogsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListSecurityLogsRequestFilters.fromProto(proto.filters);}\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ListSecurityLogsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userId === 'undefined' &&\n typeof this.filters === 'undefined' &&\n typeof this.pageSize === 'undefined' &&\n typeof this.cursor === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n return toReturn;\n }\n}\n\nexport class ListSecurityLogsResponse implements i.ListSecurityLogsResponseInterface {\n logs: SecurityLog[];\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): ListSecurityLogsResponse {\n let m = new ListSecurityLogsResponse();\n m = Object.assign(m, proto);\n if (proto.logs) {m.logs = proto.logs.map(SecurityLog.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListSecurityLogsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.logs === 'undefined' &&\n typeof this.nextCursor === 'undefined' &&\n typeof this.hasMore === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.logs !== 'undefined' && this.logs !== null) {toReturn['logs'] = 'toApiJson' in this.logs ? (this.logs as any).toApiJson() : this.logs;}\n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class ListUsersRequest implements i.ListUsersRequestInterface {\n namespace: string;\n email: string;\n cursor: string;\n pageSize: number;\n userFilter: UserFilter;\n sortOptions: UserSortOptions[];\n\n static fromProto(proto: any): ListUsersRequest {\n let m = new ListUsersRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n if (proto.userFilter) {m.userFilter = UserFilter.fromProto(proto.userFilter);}\n if (proto.sortOptions) {m.sortOptions = proto.sortOptions.map(UserSortOptions.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListUsersRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.namespace === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.cursor === 'undefined' &&\n typeof this.pageSize === 'undefined' &&\n typeof this.userFilter === 'undefined' &&\n typeof this.sortOptions === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.userFilter !== 'undefined' && this.userFilter !== null) {toReturn['userFilter'] = 'toApiJson' in this.userFilter ? (this.userFilter as any).toApiJson() : this.userFilter;}\n if (typeof this.sortOptions !== 'undefined' && this.sortOptions !== null) {toReturn['sortOptions'] = 'toApiJson' in this.sortOptions ? (this.sortOptions as any).toApiJson() : this.sortOptions;}\n return toReturn;\n }\n}\n\nexport class ListUsersResponse implements i.ListUsersResponseInterface {\n users: User[];\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): ListUsersResponse {\n let m = new ListUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {m.users = proto.users.map(User.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListUsersResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.users === 'undefined' &&\n typeof this.nextCursor === 'undefined' &&\n typeof this.hasMore === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.users !== 'undefined' && this.users !== null) {toReturn['users'] = 'toApiJson' in this.users ? (this.users as any).toApiJson() : this.users;}\n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class MutateAttributesRequest implements i.MutateAttributesRequestInterface {\n context: Context;\n subjectId: string;\n mutations: Mutation[];\n\n static fromProto(proto: any): MutateAttributesRequest {\n let m = new MutateAttributesRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.mutations) {m.mutations = proto.mutations.map(Mutation.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MutateAttributesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.subjectId === 'undefined' &&\n typeof this.mutations === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n if (typeof this.mutations !== 'undefined' && this.mutations !== null) {toReturn['mutations'] = 'toApiJson' in this.mutations ? (this.mutations as any).toApiJson() : this.mutations;}\n return toReturn;\n }\n}\n\nexport class OAuthCredentials implements i.OAuthCredentialsInterface {\n provider: string;\n idToken: string;\n accessToken: string;\n\n static fromProto(proto: any): OAuthCredentials {\n let m = new OAuthCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.OAuthCredentialsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.provider === 'undefined' &&\n typeof this.idToken === 'undefined' &&\n typeof this.accessToken === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.provider !== 'undefined') {toReturn['provider'] = this.provider;}\n if (typeof this.idToken !== 'undefined') {toReturn['idToken'] = this.idToken;}\n if (typeof this.accessToken !== 'undefined') {toReturn['accessToken'] = this.accessToken;}\n return toReturn;\n }\n}\n\nexport class UpdateUserRequestOperation implements i.UpdateUserRequestOperationInterface {\n firstName: string;\n greetingName: string;\n lastName: string;\n languageCode: string;\n\n static fromProto(proto: any): UpdateUserRequestOperation {\n let m = new UpdateUserRequestOperation();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateUserRequestOperationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.firstName === 'undefined' &&\n typeof this.greetingName === 'undefined' &&\n typeof this.lastName === 'undefined' &&\n typeof this.languageCode === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.greetingName !== 'undefined') {toReturn['greetingName'] = this.greetingName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.languageCode !== 'undefined') {toReturn['languageCode'] = this.languageCode;}\n return toReturn;\n }\n}\n\nexport class RegisterPolicyRequest implements i.RegisterPolicyRequestInterface {\n policy: Policy;\n\n static fromProto(proto: any): RegisterPolicyRequest {\n let m = new RegisterPolicyRequest();\n m = Object.assign(m, proto);\n if (proto.policy) {m.policy = Policy.fromProto(proto.policy);}\n return m;\n }\n\n constructor(kwargs?: i.RegisterPolicyRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.policy === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.policy !== 'undefined' && this.policy !== null) {toReturn['policy'] = 'toApiJson' in this.policy ? (this.policy as any).toApiJson() : this.policy;}\n return toReturn;\n }\n}\n\nexport class RegisterResourceOwnerRequest implements i.RegisterResourceOwnerRequestInterface {\n owner: ResourceOwner;\n\n static fromProto(proto: any): RegisterResourceOwnerRequest {\n let m = new RegisterResourceOwnerRequest();\n m = Object.assign(m, proto);\n if (proto.owner) {m.owner = ResourceOwner.fromProto(proto.owner);}\n return m;\n }\n\n constructor(kwargs?: i.RegisterResourceOwnerRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.owner === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.owner !== 'undefined' && this.owner !== null) {toReturn['owner'] = 'toApiJson' in this.owner ? (this.owner as any).toApiJson() : this.owner;}\n return toReturn;\n }\n}\n\nexport class RegisterResourceRequest implements i.RegisterResourceRequestInterface {\n appId: string;\n resourceId: string;\n resourceName: string;\n resourceOwnerServiceUrl: string;\n requiredResourceParams: string[];\n resourceOwnerAudience: string;\n\n static fromProto(proto: any): RegisterResourceRequest {\n let m = new RegisterResourceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RegisterResourceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.appId === 'undefined' &&\n typeof this.resourceId === 'undefined' &&\n typeof this.resourceName === 'undefined' &&\n typeof this.resourceOwnerServiceUrl === 'undefined' &&\n typeof this.requiredResourceParams === 'undefined' &&\n typeof this.resourceOwnerAudience === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n if (typeof this.resourceId !== 'undefined') {toReturn['resourceId'] = this.resourceId;}\n if (typeof this.resourceName !== 'undefined') {toReturn['resourceName'] = this.resourceName;}\n if (typeof this.resourceOwnerServiceUrl !== 'undefined') {toReturn['resourceOwnerServiceUrl'] = this.resourceOwnerServiceUrl;}\n if (typeof this.requiredResourceParams !== 'undefined') {toReturn['requiredResourceParams'] = this.requiredResourceParams;}\n if (typeof this.resourceOwnerAudience !== 'undefined') {toReturn['resourceOwnerAudience'] = this.resourceOwnerAudience;}\n return toReturn;\n }\n}\n\nexport class RegisterSubjectRequest implements i.RegisterSubjectRequestInterface {\n context: Context;\n email: string;\n password: string;\n attributes: MultiValueAttribute[];\n structAttributes: StructAttribute;\n\n static fromProto(proto: any): RegisterSubjectRequest {\n let m = new RegisterSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.attributes) {m.attributes = proto.attributes.map(MultiValueAttribute.fromProto);}\n if (proto.structAttributes) {m.structAttributes = StructAttribute.fromProto(proto.structAttributes);}\n return m;\n }\n\n constructor(kwargs?: i.RegisterSubjectRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.password === 'undefined' &&\n typeof this.attributes === 'undefined' &&\n typeof this.structAttributes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {toReturn['attributes'] = 'toApiJson' in this.attributes ? (this.attributes as any).toApiJson() : this.attributes;}\n if (typeof this.structAttributes !== 'undefined' && this.structAttributes !== null) {toReturn['structAttributes'] = 'toApiJson' in this.structAttributes ? (this.structAttributes as any).toApiJson() : this.structAttributes;}\n return toReturn;\n }\n}\n\nexport class RegisterSubjectResponse implements i.RegisterSubjectResponseInterface {\n subjectId: string;\n\n static fromProto(proto: any): RegisterSubjectResponse {\n let m = new RegisterSubjectResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RegisterSubjectResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subjectId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n return toReturn;\n }\n}\n\nexport class RemoveKeyRequest implements i.RemoveKeyRequestInterface {\n email: string;\n context: Context;\n keyId: string;\n userIdentifier: UserIdentifier;\n\n static fromProto(proto: any): RemoveKeyRequest {\n let m = new RemoveKeyRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.userIdentifier) {m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);}\n return m;\n }\n\n constructor(kwargs?: i.RemoveKeyRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.email === 'undefined' &&\n typeof this.context === 'undefined' &&\n typeof this.keyId === 'undefined' &&\n typeof this.userIdentifier === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.keyId !== 'undefined') {toReturn['keyId'] = this.keyId;}\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? (this.userIdentifier as any).toApiJson() : this.userIdentifier;}\n return toReturn;\n }\n}\n\nexport class RemoveMultiUserRestrictionRequest implements i.RemoveMultiUserRestrictionRequestInterface {\n userIdentifiers: UserIdentifier[];\n restrictionType: e.RestrictionType;\n\n static fromProto(proto: any): RemoveMultiUserRestrictionRequest {\n let m = new RemoveMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);}\n if (proto.restrictionType) {m.restrictionType = enumStringToValue<e.RestrictionType>(e.RestrictionType, proto.restrictionType);}\n return m;\n }\n\n constructor(kwargs?: i.RemoveMultiUserRestrictionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userIdentifiers === 'undefined' &&\n typeof this.restrictionType === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? (this.userIdentifiers as any).toApiJson() : this.userIdentifiers;}\n if (typeof this.restrictionType !== 'undefined') {toReturn['restrictionType'] = this.restrictionType;}\n return toReturn;\n }\n}\n\nexport class ResetPasswordTokenResponse implements i.ResetPasswordTokenResponseInterface {\n token: string;\n\n static fromProto(proto: any): ResetPasswordTokenResponse {\n let m = new ResetPasswordTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ResetPasswordTokenResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.token === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.token !== 'undefined') {toReturn['token'] = this.token;}\n return toReturn;\n }\n}\n\nexport class ResetPasswordWithTokenRequest implements i.ResetPasswordWithTokenRequestInterface {\n token: string;\n password: string;\n\n static fromProto(proto: any): ResetPasswordWithTokenRequest {\n let m = new ResetPasswordWithTokenRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ResetPasswordWithTokenRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.token === 'undefined' &&\n typeof this.password === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.token !== 'undefined') {toReturn['token'] = this.token;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n return toReturn;\n }\n}\n\nexport class ResetSubjectPasswordRequest implements i.ResetSubjectPasswordRequestInterface {\n context: Context;\n subjectId: string;\n newPassword: string;\n\n static fromProto(proto: any): ResetSubjectPasswordRequest {\n let m = new ResetSubjectPasswordRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n return m;\n }\n\n constructor(kwargs?: i.ResetSubjectPasswordRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.subjectId === 'undefined' &&\n typeof this.newPassword === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n if (typeof this.newPassword !== 'undefined') {toReturn['newPassword'] = this.newPassword;}\n return toReturn;\n }\n}\n\nexport class AccessResourceRequestResourceEntityIdentifierEntry implements i.AccessResourceRequestResourceEntityIdentifierEntryInterface {\n key: string;\n value: ValueList;\n\n static fromProto(proto: any): AccessResourceRequestResourceEntityIdentifierEntry {\n let m = new AccessResourceRequestResourceEntityIdentifierEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = ValueList.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.AccessResourceRequestResourceEntityIdentifierEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class SearchSubjectRequest implements i.SearchSubjectRequestInterface {\n context: Context;\n query: Query;\n filters: SingleValueAttribute[];\n orderBy: string;\n orderByDirection: e.OrderByDirection;\n cursor: string;\n pageSize: number;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): SearchSubjectRequest {\n let m = new SearchSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {m.context = Context.fromProto(proto.context);}\n if (proto.query) {m.query = Query.fromProto(proto.query);}\n if (proto.filters) {m.filters = proto.filters.map(SingleValueAttribute.fromProto);}\n if (proto.orderByDirection) {m.orderByDirection = enumStringToValue<e.OrderByDirection>(e.OrderByDirection, proto.orderByDirection);}\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.SearchSubjectRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.context === 'undefined' &&\n typeof this.query === 'undefined' &&\n typeof this.filters === 'undefined' &&\n typeof this.orderBy === 'undefined' &&\n typeof this.orderByDirection === 'undefined' &&\n typeof this.cursor === 'undefined' &&\n typeof this.pageSize === 'undefined' &&\n typeof this.fieldMask === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n if (typeof this.query !== 'undefined' && this.query !== null) {toReturn['query'] = 'toApiJson' in this.query ? (this.query as any).toApiJson() : this.query;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.orderBy !== 'undefined') {toReturn['orderBy'] = this.orderBy;}\n if (typeof this.orderByDirection !== 'undefined') {toReturn['orderByDirection'] = this.orderByDirection;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class SearchSubjectResponse implements i.SearchSubjectResponseInterface {\n result: SubjectResult[];\n nextCursor: string;\n hasMore: boolean;\n totalResults: number;\n\n static fromProto(proto: any): SearchSubjectResponse {\n let m = new SearchSubjectResponse();\n m = Object.assign(m, proto);\n if (proto.result) {m.result = proto.result.map(SubjectResult.fromProto);}\n if (proto.totalResults) {m.totalResults = parseInt(proto.totalResults, 10);}\n return m;\n }\n\n constructor(kwargs?: i.SearchSubjectResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.result === 'undefined' &&\n typeof this.nextCursor === 'undefined' &&\n typeof this.hasMore === 'undefined' &&\n typeof this.totalResults === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.result !== 'undefined' && this.result !== null) {toReturn['result'] = 'toApiJson' in this.result ? (this.result as any).toApiJson() : this.result;}\n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n if (typeof this.totalResults !== 'undefined') {toReturn['totalResults'] = this.totalResults;}\n return toReturn;\n }\n}\n\nexport class SendEmailVerificationRequest implements i.SendEmailVerificationRequestInterface {\n userId: string;\n\n static fromProto(proto: any): SendEmailVerificationRequest {\n let m = new SendEmailVerificationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendEmailVerificationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class SubjectCredentials implements i.SubjectCredentialsInterface {\n email: string;\n password: string;\n\n static fromProto(proto: any): SubjectCredentials {\n let m = new SubjectCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SubjectCredentialsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.email === 'undefined' &&\n typeof this.password === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n return toReturn;\n }\n}\n\nexport class UpdateUserRequest implements i.UpdateUserRequestInterface {\n userId: string;\n operations: UpdateUserRequestOperation[];\n\n static fromProto(proto: any): UpdateUserRequest {\n let m = new UpdateUserRequest();\n m = Object.assign(m, proto);\n if (proto.operations) {m.operations = proto.operations.map(UpdateUserRequestOperation.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateUserRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userId === 'undefined' &&\n typeof this.operations === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.operations !== 'undefined' && this.operations !== null) {toReturn['operations'] = 'toApiJson' in this.operations ? (this.operations as any).toApiJson() : this.operations;}\n return toReturn;\n }\n}\n\nexport class GetMultiUsersResponseUserContainer implements i.GetMultiUsersResponseUserContainerInterface {\n user: User;\n\n static fromProto(proto: any): GetMultiUsersResponseUserContainer {\n let m = new GetMultiUsersResponseUserContainer();\n m = Object.assign(m, proto);\n if (proto.user) {m.user = User.fromProto(proto.user);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiUsersResponseUserContainerInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.user === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.user !== 'undefined' && this.user !== null) {toReturn['user'] = 'toApiJson' in this.user ? (this.user as any).toApiJson() : this.user;}\n return toReturn;\n }\n}\n\nexport class UserFilter implements i.UserFilterInterface {\n subjectTypes: string[];\n searchTerms: string[];\n\n static fromProto(proto: any): UserFilter {\n let m = new UserFilter();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UserFilterInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.subjectTypes === 'undefined' &&\n typeof this.searchTerms === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subjectTypes !== 'undefined') {toReturn['subjectTypes'] = this.subjectTypes;}\n if (typeof this.searchTerms !== 'undefined') {toReturn['searchTerms'] = this.searchTerms;}\n return toReturn;\n }\n}\n\nexport class UserIdentifier implements i.UserIdentifierInterface {\n userId: string;\n namespacedEmail: NamespacedEmail;\n namespacedSession: NamespacedSession;\n token: string;\n typedExternalIdentifier: TypedExternalIdentifier;\n subjectId: string;\n\n static fromProto(proto: any): UserIdentifier {\n let m = new UserIdentifier();\n m = Object.assign(m, proto);\n if (proto.namespacedEmail) {m.namespacedEmail = NamespacedEmail.fromProto(proto.namespacedEmail);}\n if (proto.namespacedSession) {m.namespacedSession = NamespacedSession.fromProto(proto.namespacedSession);}\n if (proto.typedExternalIdentifier) {m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);}\n return m;\n }\n\n constructor(kwargs?: i.UserIdentifierInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userId === 'undefined' &&\n typeof this.namespacedEmail === 'undefined' &&\n typeof this.namespacedSession === 'undefined' &&\n typeof this.token === 'undefined' &&\n typeof this.typedExternalIdentifier === 'undefined' &&\n typeof this.subjectId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.namespacedEmail !== 'undefined' && this.namespacedEmail !== null) {toReturn['namespacedEmail'] = 'toApiJson' in this.namespacedEmail ? (this.namespacedEmail as any).toApiJson() : this.namespacedEmail;}\n if (typeof this.namespacedSession !== 'undefined' && this.namespacedSession !== null) {toReturn['namespacedSession'] = 'toApiJson' in this.namespacedSession ? (this.namespacedSession as any).toApiJson() : this.namespacedSession;}\n if (typeof this.token !== 'undefined') {toReturn['token'] = this.token;}\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? (this.typedExternalIdentifier as any).toApiJson() : this.typedExternalIdentifier;}\n if (typeof this.subjectId !== 'undefined') {toReturn['subjectId'] = this.subjectId;}\n return toReturn;\n }\n}\n\nexport class UserSortOptions implements i.UserSortOptionsInterface {\n direction: e.SortDirection;\n field: e.UserSortField;\n\n static fromProto(proto: any): UserSortOptions {\n let m = new UserSortOptions();\n m = Object.assign(m, proto);\n if (proto.direction) {m.direction = enumStringToValue<e.SortDirection>(e.SortDirection, proto.direction);}\n if (proto.field) {m.field = enumStringToValue<e.UserSortField>(e.UserSortField, proto.field);}\n return m;\n }\n\n constructor(kwargs?: i.UserSortOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.direction === 'undefined' &&\n typeof this.field === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.direction !== 'undefined') {toReturn['direction'] = this.direction;}\n if (typeof this.field !== 'undefined') {toReturn['field'] = this.field;}\n return toReturn;\n }\n}\n\nexport class VerifyEmailRequest implements i.VerifyEmailRequestInterface {\n token: string;\n\n static fromProto(proto: any): VerifyEmailRequest {\n let m = new VerifyEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.VerifyEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.token === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.token !== 'undefined') {toReturn['token'] = this.token;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n FieldMask,\n} from './field-mask';\n\nexport {\n Attribute,\n StructAttributeAttributesEntry,\n Context,\n GeoPointAttribute,\n ListAttribute,\n MultiValueAttribute,\n Mutation,\n NamespacedContext,\n Persona,\n PublicKey,\n Query,\n SingleValueAttribute,\n StructAttribute,\n Subject,\n SubjectResult,\n TypedContext,\n} from './subjects';\n\nexport {\n AccessCheckFailures,\n ResourceIdentifierIdentifiersEntry,\n IfClause,\n Operator,\n Policy,\n PolicyNode,\n ResourceIdentifier,\n ResourceOwner,\n SubjectMissingValueClause,\n SubjectResourceForClause,\n SubjectResourceIntersectionClause,\n SubjectResourceSubsetClause,\n SubjectValueIntersectionClause,\n ValueList,\n} from './resources';\n\nexport {\n SecurityLog,\n} from './security-logs';\n\nexport {\n Identifier,\n NamespacedEmail,\n NamespacedSession,\n TypedExternalIdentifier,\n User,\n} from './users';\n\nexport {\n AccessResourceRequest,\n AddKeyRequest,\n AddKeyResponse,\n AddMultiUserRestrictionRequest,\n AuthenticateSubjectRequest,\n ChangeSubjectEmailRequest,\n CreateExternalIDRequest,\n CreateSessionRequest,\n CreateSessionResponse,\n CreateTemporarySubjectRequest,\n CreateTemporarySubjectResponse,\n DeleteSubjectRequest,\n DeleteUserRequest,\n ListSecurityLogsRequestFilters,\n GetImpersonationTokenRequest,\n GetImpersonationTokenResponse,\n GetMultiExternalIDRequest,\n GetMultiExternalIDResponse,\n GetMultiUsersRequest,\n GetMultiUsersResponse,\n GetResetPasswordTokenRequest,\n GetSessionForUserRequest,\n GetSessionForUserResponse,\n GetSessionTokenRequest,\n GetShortLivedTokenRequest,\n GetSubjectBySessionRequest,\n GetSubjectContextRequest,\n GetSubjectContextResponse,\n GetSubjectResponse,\n GetSubjectsByEmailRequest,\n GetSubjectsRequest,\n GetSubjectsResponse,\n GetTokenRequest,\n GetTokenResponse,\n IAMListPersonasRequest,\n ListPersonasByEmailRequest,\n ListPersonasRequest,\n ListPersonasResponse,\n ListSecurityLogsRequest,\n ListSecurityLogsResponse,\n ListUsersRequest,\n ListUsersResponse,\n MutateAttributesRequest,\n OAuthCredentials,\n UpdateUserRequestOperation,\n RegisterPolicyRequest,\n RegisterResourceOwnerRequest,\n RegisterResourceRequest,\n RegisterSubjectRequest,\n RegisterSubjectResponse,\n RemoveKeyRequest,\n RemoveMultiUserRestrictionRequest,\n ResetPasswordTokenResponse,\n ResetPasswordWithTokenRequest,\n ResetSubjectPasswordRequest,\n AccessResourceRequestResourceEntityIdentifierEntry,\n SearchSubjectRequest,\n SearchSubjectResponse,\n SendEmailVerificationRequest,\n SubjectCredentials,\n UpdateUserRequest,\n GetMultiUsersResponseUserContainer,\n UserFilter,\n UserIdentifier,\n UserSortOptions,\n VerifyEmailRequest,\n} from './api';\n\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService, Environment } from '@vendasta/core';\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n private _host: string;\n private _httpsHost: string;\n\n constructor(private environmentService: EnvironmentService) {\n }\n\n host(): string {\n if (this._host) {\n return this._host;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._host = 'iam.vendasta-local.com';\n break;\n case Environment.TEST:\n this._host = '';\n break;\n case Environment.DEMO:\n this._host = 'iam-api-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._host = 'iam-api-prod.apigateway.co';\n break;\n }\n return this._host;\n }\n\n httpsHost(): string {\n if (this._httpsHost) {\n return this._httpsHost;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._httpsHost = 'iam.vendasta-local.com';\n break;\n case Environment.TEST:\n this._httpsHost = '';\n break;\n case Environment.DEMO:\n this._httpsHost = 'iam-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._httpsHost = 'iam-prod.apigateway.co';\n break;\n }\n return this._httpsHost;\n }\n\n hostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.host()\n }\n\n httpsHostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.httpsHost()\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetImpersonationTokenRequest,\n GetImpersonationTokenResponse,\n GetSessionTokenRequest,\n GetSubjectBySessionRequest,\n GetSubjectResponse,\n GetTokenRequest,\n GetTokenResponse,\n ListPersonasRequest,\n ListPersonasResponse,\n ResetPasswordWithTokenRequest,\n} from './objects/';\nimport {\n GetImpersonationTokenRequestInterface,\n GetImpersonationTokenResponseInterface,\n GetSessionTokenRequestInterface,\n GetSubjectBySessionRequestInterface,\n GetSubjectResponseInterface,\n GetTokenRequestInterface,\n GetTokenResponseInterface,\n ListPersonasRequestInterface,\n ListPersonasResponseInterface,\n ResetPasswordWithTokenRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class UserIAMApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n getSubjectBySession(r: GetSubjectBySessionRequest | GetSubjectBySessionRequestInterface): Observable<GetSubjectResponse> {\n const request = ((<GetSubjectBySessionRequest>r).toApiJson) ? (<GetSubjectBySessionRequest>r) : new GetSubjectBySessionRequest(r);\n return this.http.post<GetSubjectResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.UserIAM/GetSubjectBySession\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetSubjectResponse.fromProto(resp)),\n share()\n );\n }\n listPersonas(r: ListPersonasRequest | ListPersonasRequestInterface): Observable<ListPersonasResponse> {\n const request = ((<ListPersonasRequest>r).toApiJson) ? (<ListPersonasRequest>r) : new ListPersonasRequest(r);\n return this.http.post<ListPersonasResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.UserIAM/ListPersonas\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPersonasResponse.fromProto(resp)),\n share()\n );\n }\n getToken(r: GetTokenRequest | GetTokenRequestInterface): Observable<GetTokenResponse> {\n const request = ((<GetTokenRequest>r).toApiJson) ? (<GetTokenRequest>r) : new GetTokenRequest(r);\n return this.http.post<GetTokenResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.UserIAM/GetToken\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetTokenResponse.fromProto(resp)),\n share()\n );\n }\n getSessionToken(r: GetSessionTokenRequest | GetSessionTokenRequestInterface): Observable<GetTokenResponse> {\n const request = ((<GetSessionTokenRequest>r).toApiJson) ? (<GetSessionTokenRequest>r) : new GetSessionTokenRequest(r);\n return this.http.post<GetTokenResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.UserIAM/GetSessionToken\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetTokenResponse.fromProto(resp)),\n share()\n );\n }\n resetPasswordWithToken(r: ResetPasswordWithTokenRequest | ResetPasswordWithTokenRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ResetPasswordWithTokenRequest>r).toApiJson) ? (<ResetPasswordWithTokenRequest>r) : new ResetPasswordWithTokenRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.UserIAM/ResetPasswordWithToken\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getImpersonationToken(r: GetImpersonationTokenRequest | GetImpersonationTokenRequestInterface): Observable<GetImpersonationTokenResponse> {\n const request = ((<GetImpersonationTokenRequest>r).toApiJson) ? (<GetImpersonationTokenRequest>r) : new GetImpersonationTokenRequest(r);\n return this.http.post<GetImpersonationTokenResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.UserIAM/GetImpersonationToken\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetImpersonationTokenResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","import {\n LoginRequestInterface, LoginResponseInterface, LogoutResponseInterface, SSOLoginRequestInterface\n} from './http.interface';\n\nexport class LoginRequest implements LoginRequestInterface {\n namespace: string;\n type: string;\n email: string;\n password: string;\n providerIdToken: string;\n provider: string;\n\n static fromProto(proto: any): LoginRequest {\n if (!proto) {\n return new LoginRequest();\n }\n let m = new LoginRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: LoginRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.namespace === 'undefined' &&\n typeof this.type === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.password === 'undefined' &&\n typeof this.providerIdToken === 'undefined' &&\n typeof this.provider === 'undefined') {\n return {};\n }\n\n return {\n 'namespace': (typeof this.namespace !== 'undefined') ? this.namespace : null,\n 'type': (typeof this.type !== 'undefined') ? this.type : null,\n 'email': (typeof this.email !== 'undefined') ? this.email : null,\n 'password': (typeof this.password !== 'undefined') ? this.password : null,\n 'provider_id_token': (typeof this.providerIdToken !== 'undefined') ? this.providerIdToken : null,\n 'provider': (typeof this.provider !== 'undefined') ? this.provider : null\n }\n }\n}\n\nexport class LoginResponse implements LoginResponseInterface {\n sessionId: string;\n\n static fromProto(proto: any): LoginResponse {\n const m = new LoginResponse();\n m.sessionId = proto['session_id'];\n return m;\n }\n\n constructor(kwargs?: LoginRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.sessionId === 'undefined') {\n return {};\n }\n\n return {\n 'sessionId': (typeof this.sessionId !== 'undefined') ? this.sessionId : null\n }\n }\n}\n\nexport class LogoutResponse implements LogoutResponseInterface {\n success: boolean;\n\n static fromProto(proto: any): LogoutResponse {\n let m = new LogoutResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: LogoutResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.success === 'undefined') {\n return {};\n }\n\n return {\n 'success': (typeof this.success !== 'undefined') ? this.success : null\n }\n }\n}\n\nexport class SSOLoginRequest implements SSOLoginRequestInterface {\n nextUrl: string;\n namespace: string;\n type: string;\n\n static fromProto(proto: any): SSOLoginRequest {\n let m = new SSOLoginRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: SSOLoginRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): any {\n if (\n typeof this.nextUrl === 'undefined' &&\n typeof this.namespace === 'undefined' &&\n typeof this.type === 'undefined') {\n return null;\n }\n\n return {\n 'next_url': (typeof this.nextUrl !== 'undefined') ? this.nextUrl : null,\n 'namespace': (typeof this.namespace !== 'undefined') ? this.namespace : null,\n 'type': (typeof this.type !== 'undefined') ? this.type : null\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\n\nimport { HostService } from '../_generated/host.service';\nimport { LoginRequestInterface, LoginResponseInterface, LogoutResponseInterface, SSOLoginRequestInterface } from './http.interface';\nimport { LoginRequest, LoginResponse, LogoutResponse, SSOLoginRequest } from './http';\n\n@Injectable({providedIn: 'root'})\nexport class IamHttpApiService {\n constructor(private http: HttpClient, private hostService: HostService) {}\n\n private apiOptions(includeCredentials?: boolean): { headers: HttpHeaders; withCredentials?: boolean } {\n if (includeCredentials) {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n }),\n withCredentials: true\n };\n }\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n })\n };\n }\n\n login(r: LoginRequest | LoginRequestInterface): Observable<LoginResponse> {\n const request = ((<LoginRequest>r).toApiJson) ? <LoginRequest>r : new LoginRequest(r);\n return this.http\n .post<LoginResponseInterface>(this.hostService.httpsHostWithScheme() + '/_ajax/v1/login', request.toApiJson(), this.apiOptions())\n .pipe(\n map((resp: LoginResponseInterface) => LoginResponse.fromProto(resp)),\n share()\n );\n }\n\n logout(): Observable<LogoutResponse> {\n return this.http\n .post<LogoutResponseInterface>(this.hostService.httpsHostWithScheme() + '/_ajax/v1/logout', {}, this.apiOptions(true))\n .pipe(\n map(resp => LogoutResponse.fromProto(resp)),\n share()\n );\n }\n\n ssoLogin(r: SSOLoginRequest | SSOLoginRequestInterface): void {\n const request = ((<SSOLoginRequest>r).toApiJson) ? <SSOLoginRequest>r : new SSOLoginRequest(r);\n let params = '';\n\n const apiJson = request.toApiJson();\n for (const key in apiJson) {\n if (!apiJson.hasOwnProperty(key)) {\n continue;\n }\n const value = apiJson[key];\n if (value === null) {\n continue;\n }\n if (params.length > 0) {\n params += '&';\n }\n params += `${key}=${value}`;\n }\n\n window.location.href = `${this.hostService.httpsHostWithScheme()}/sso-login${params.length > 0 ? '?' : ''}${params}`;\n }\n}\n","export enum PersonaType {\n partner = 'partner',\n partner_app = 'partner_app',\n sales_person = 'sales_person',\n smb = 'smb',\n vendor = 'vendor',\n digital_agent = 'digital_agent',\n developer = 'developer',\n success = 'success',\n account_group = 'account_group'\n}\n","import {AttributeInterface, StructAttributeInterface} from '../_internal/interfaces/subjects.interface';\nimport {Persona} from '../_internal/objects/subjects';\nimport {PersonaType} from './persona-type.enum';\n\nexport class BasePersona {\n type: PersonaType;\n subjectId: string;\n email: string;\n userId: string;\n\n created: Date;\n updated: Date;\n lastLogin: Date;\n\n firstName: string;\n lastName: string;\n\n fromPersona(p: Persona): BasePersona {\n const s = p.subject;\n this.subjectId = s.subjectId;\n this.email = s.email;\n this.created = s.created;\n this.updated = s.updated;\n this.lastLogin = s.lastLogin;\n this.userId = s.userId;\n return this.readAttributes(s.structAttributes);\n }\n\n readAttributes(attributes: StructAttributeInterface): BasePersona {\n if (!attributes) {\n return this;\n }\n\n const attrs = getValueFromAttribute({structAttribute: {attributes: attributes.attributes}});\n Object.assign(this, attrs);\n return this;\n }\n}\n\nexport class TypedPersona extends BasePersona {\n}\n\nexport class NamespacedPersona extends BasePersona {\n partnerId = '';\n\n fromPersona(p: Persona): BasePersona {\n this.partnerId = p.context.namespaced.namespace;\n return super.fromPersona(p);\n }\n}\n\nexport function getValueFromAttribute(attr: AttributeInterface): any {\n if (typeof attr === 'undefined') {\n return null;\n } else if (typeof attr.stringAttribute !== 'undefined') {\n return attr.stringAttribute;\n } else if (typeof attr.intAttribute !== 'undefined') {\n return attr.intAttribute;\n } else if (typeof attr.doubleAttribute !== 'undefined') {\n return attr.doubleAttribute;\n } else if (typeof attr.boolAttribute !== 'undefined') {\n return attr.boolAttribute;\n } else if (typeof attr.listAttribute !== 'undefined') {\n const vals: any[] = [];\n if (typeof attr.listAttribute.attributes === 'undefined') {\n return vals;\n }\n for (const val of attr.listAttribute.attributes) {\n vals.push(getValueFromAttribute(val))\n }\n return vals;\n } else if (typeof attr.timestampAttribute !== 'undefined') {\n return attr.timestampAttribute;\n } else if (typeof attr.geopointAttribute !== 'undefined') {\n return attr.geopointAttribute;\n } else if (typeof attr.structAttribute !== 'undefined') {\n const result: any = {};\n for (const a in attr.structAttribute.attributes) {\n if (!attr.structAttribute.attributes.hasOwnProperty(a)) {\n continue;\n }\n result[CamelCase(a)] = getValueFromAttribute(attr.structAttribute.attributes[a]);\n }\n return result;\n }\n}\n\nexport function CamelCase(str: string): string {\n let result = '';\n\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '_') {\n result += str[i + 1].toUpperCase();\n i++;\n } else {\n result += str[i];\n }\n }\n\n return result\n}\n","import {TypedPersona} from './base-personas';\nimport {PersonaType} from './persona-type.enum';\n\nexport class DeveloperPersona extends TypedPersona {\n type = PersonaType.developer;\n}\n","import {TypedPersona} from './base-personas';\nimport {PersonaType} from './persona-type.enum';\n\nexport class PartnerPersona extends TypedPersona {\n type = PersonaType.partner;\n rmUid: string;\n msUid: string;\n nbUid: string;\n armUid: string;\n smUid: string;\n\n accessibleMarkets: string[];\n isSuperAdmin = false;\n isAdmin = false;\n\n canCustomizeWhitelabel = false;\n canAccessBilling = false;\n canAccessAccounts = false;\n canAccessMarketing = false;\n canAccessSales = false;\n canAccessConcierge = false;\n canAccessBrands = false;\n canAccessDashboard = false;\n canAccessOrders = false;\n canAccessCompanyProfile = false;\n canAccessAutomations = false;\n canAccessMarketplace = false;\n canEnableApps = false;\n}\n","import {NamespacedPersona} from './base-personas';\nimport {PersonaType} from './persona-type.enum';\n\nexport class PartnerAppPersona extends NamespacedPersona {\n type = PersonaType.partner_app;\n}\n","import {NamespacedPersona} from './base-personas';\nimport {PersonaType} from './persona-type.enum';\n\nexport const TitleChoice = {\n PARTNER_FOR_SMB: 'partnerForSmb',\n REP_MAN_FOR_SMB: 'repManForSmb',\n MARKET_FOR_SMB: 'marketForSmb'\n};\nexport type TitleChoice = (typeof TitleChoice)[keyof typeof TitleChoice];\n\nexport class SalespersonPersona extends NamespacedPersona {\n type = PersonaType.sales_person;\n\n emailLower: string;\n\n jobTitle: string;\n department: string;\n region: string;\n supervisor: string;\n marketId: string;\n\n isSalesManager: boolean;\n\n phoneNumbers: string[];\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n titleChoice: TitleChoice = TitleChoice.PARTNER_FOR_SMB;\n pictureName: string;\n pictureServingUrl: string;\n pictureServingUrlSecure: string;\n}\n","import {NamespacedPersona} from './base-personas';\nimport {PersonaType} from './persona-type.enum';\n\nexport interface AccountAccessPermission {\n accountGroupId: string;\n accountIds: string[];\n}\n\nexport class SMBPersona extends NamespacedPersona {\n type = PersonaType.smb;\n\n workPhone: string;\n defaultAccountGroup: string;\n accountGroupAssociations: string[];\n accountAccessPermissions: AccountAccessPermission[];\n notificationsEnabled = true;\n}\n","import {TypedPersona} from './base-personas';\nimport {PersonaType} from './persona-type.enum';\n\nexport class VendorPersona extends TypedPersona {\n type = PersonaType.vendor;\n\n appIds: string[];\n vendorName: string;\n isAdmin: boolean;\n}\n","import {TypedPersona} from './base-personas';\nimport {PersonaType} from './persona-type.enum';\n\nexport class DigitalAgentPersona extends TypedPersona {\n type = PersonaType.digital_agent;\n\n accessiblePartnerIds: string[];\n profilePicture: string;\n}\n","import {TypedPersona} from './base-personas';\nimport {PersonaType} from './persona-type.enum';\n\nexport class SuccessPersona extends TypedPersona {\n type = PersonaType.success;\n}\n","import {TypedPersona} from './base-personas';\nimport {PersonaType} from './persona-type.enum';\n\nexport class AccountGroupPersona extends TypedPersona {\n type = PersonaType.account_group;\n}\n","import { Context, Persona } from '../_internal/objects/subjects';\nimport { DeveloperPersona } from './developer';\nimport { PersonaType } from './persona-type.enum';\nimport { BasePersona } from './base-personas';\nimport { PartnerPersona } from './partner';\nimport { PartnerAppPersona } from './partner-app';\nimport { SalespersonPersona } from './salesperson';\nimport { SMBPersona } from './smb';\nimport { VendorPersona } from './vendor';\nimport { DigitalAgentPersona } from './digital-agent';\nimport { SuccessPersona } from './success';\nimport { AccountGroupPersona } from './account-group';\n\nexport function fromPersona(persona: Persona): BasePersona | null {\n const type = getTypeFromContext(persona.context);\n if (type === null) {\n return null;\n }\n\n const personaCls = getPersonaFromType(type);\n personaCls.fromPersona(persona);\n return personaCls;\n}\n\nexport function getTypeFromContext(ctx: Context): PersonaType | null {\n const type = (!!ctx.namespaced) ? ctx.namespaced.type : ctx.typed.type;\n switch (type) {\n case 'partner':\n return PersonaType.partner;\n case 'partner_app':\n return PersonaType.partner_app;\n case 'sales_person':\n return PersonaType.sales_person;\n case 'smb':\n return PersonaType.smb;\n case 'vendor':\n return PersonaType.vendor;\n case 'digital_agent':\n return PersonaType.digital_agent;\n case 'developer':\n return PersonaType.developer;\n case 'success':\n return PersonaType.success;\n case 'account_group':\n return PersonaType.account_group;\n }\n return null;\n}\n\nexport function getPersonaFromType(personaType: PersonaType): BasePersona {\n return new {\n 'partner': PartnerPersona,\n 'partner_app': PartnerAppPersona,\n 'sales_person': SalespersonPersona,\n 'smb': SMBPersona,\n 'vendor': VendorPersona,\n 'digital_agent': DigitalAgentPersona,\n 'developer': DeveloperPersona,\n 'success': SuccessPersona,\n 'account_group': AccountGroupPersona\n }[personaType]();\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AccessResourceRequest,\n AddKeyRequest,\n AddKeyResponse,\n AddMultiUserRestrictionRequest,\n AuthenticateSubjectRequest,\n ChangeSubjectEmailRequest,\n CreateExternalIDRequest,\n CreateSessionRequest,\n CreateSessionResponse,\n CreateTemporarySubjectRequest,\n CreateTemporarySubjectResponse,\n DeleteSubjectRequest,\n DeleteUserRequest,\n GetMultiExternalIDRequest,\n GetMultiExternalIDResponse,\n GetMultiUsersRequest,\n GetMultiUsersResponse,\n GetResetPasswordTokenRequest,\n GetSessionTokenRequest,\n GetShortLivedTokenRequest,\n GetSubjectContextRequest,\n GetSubjectContextResponse,\n GetSubjectsByEmailRequest,\n GetSubjectsRequest,\n GetSubjectsResponse,\n GetTokenResponse,\n IAMListPersonasRequest,\n ListPersonasByEmailRequest,\n ListPersonasResponse,\n ListSecurityLogsRequest,\n ListSecurityLogsResponse,\n ListUsersRequest,\n ListUsersResponse,\n MutateAttributesRequest,\n RegisterPolicyRequest,\n RegisterResourceOwnerRequest,\n RegisterResourceRequest,\n RegisterSubjectRequest,\n RegisterSubjectResponse,\n RemoveKeyRequest,\n RemoveMultiUserRestrictionRequest,\n ResetPasswordTokenResponse,\n ResetSubjectPasswordRequest,\n SearchSubjectRequest,\n SearchSubjectResponse,\n SendEmailVerificationRequest,\n UpdateUserRequest,\n VerifyEmailRequest,\n} from './objects/';\nimport {\n AccessResourceRequestInterface,\n AddKeyRequestInterface,\n AddKeyResponseInterface,\n AddMultiUserRestrictionRequestInterface,\n AuthenticateSubjectRequestInterface,\n ChangeSubjectEmailRequestInterface,\n CreateExternalIDRequestInterface,\n CreateSessionRequestInterface,\n CreateSessionResponseInterface,\n CreateTemporarySubjectRequestInterface,\n CreateTemporarySubjectResponseInterface,\n DeleteSubjectRequestInterface,\n DeleteUserRequestInterface,\n GetMultiExternalIDRequestInterface,\n GetMultiExternalIDResponseInterface,\n GetMultiUsersRequestInterface,\n GetMultiUsersResponseInterface,\n GetResetPasswordTokenRequestInterface,\n GetSessionTokenRequestInterface,\n GetShortLivedTokenRequestInterface,\n GetSubjectContextRequestInterface,\n GetSubjectContextResponseInterface,\n GetSubjectsByEmailRequestInterface,\n GetSubjectsRequestInterface,\n GetSubjectsResponseInterface,\n GetTokenResponseInterface,\n IAMListPersonasRequestInterface,\n ListPersonasByEmailRequestInterface,\n ListPersonasResponseInterface,\n ListSecurityLogsRequestInterface,\n ListSecurityLogsResponseInterface,\n ListUsersRequestInterface,\n ListUsersResponseInterface,\n MutateAttributesRequestInterface,\n RegisterPolicyRequestInterface,\n RegisterResourceOwnerRequestInterface,\n RegisterResourceRequestInterface,\n RegisterSubjectRequestInterface,\n RegisterSubjectResponseInterface,\n RemoveKeyRequestInterface,\n RemoveMultiUserRestrictionRequestInterface,\n ResetPasswordTokenResponseInterface,\n ResetSubjectPasswordRequestInterface,\n SearchSubjectRequestInterface,\n SearchSubjectResponseInterface,\n SendEmailVerificationRequestInterface,\n UpdateUserRequestInterface,\n VerifyEmailRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class IAMApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n registerSubject(r: RegisterSubjectRequest | RegisterSubjectRequestInterface): Observable<RegisterSubjectResponse> {\n const request = ((<RegisterSubjectRequest>r).toApiJson) ? (<RegisterSubjectRequest>r) : new RegisterSubjectRequest(r);\n return this.http.post<RegisterSubjectResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/RegisterSubject\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RegisterSubjectResponse.fromProto(resp)),\n share()\n );\n }\n authenticateSubject(r: AuthenticateSubjectRequest | AuthenticateSubjectRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<AuthenticateSubjectRequest>r).toApiJson) ? (<AuthenticateSubjectRequest>r) : new AuthenticateSubjectRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/AuthenticateSubject\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getSubjects(r: GetSubjectsRequest | GetSubjectsRequestInterface): Observable<GetSubjectsResponse> {\n const request = ((<GetSubjectsRequest>r).toApiJson) ? (<GetSubjectsRequest>r) : new GetSubjectsRequest(r);\n return this.http.post<GetSubjectsResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/GetSubjects\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetSubjectsResponse.fromProto(resp)),\n share()\n );\n }\n getSubjectsByEmail(r: GetSubjectsByEmailRequest | GetSubjectsByEmailRequestInterface): Observable<GetSubjectsResponse> {\n const request = ((<GetSubjectsByEmailRequest>r).toApiJson) ? (<GetSubjectsByEmailRequest>r) : new GetSubjectsByEmailRequest(r);\n return this.http.post<GetSubjectsResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/GetSubjectsByEmail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetSubjectsResponse.fromProto(resp)),\n share()\n );\n }\n mutateAttributes(r: MutateAttributesRequest | MutateAttributesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<MutateAttributesRequest>r).toApiJson) ? (<MutateAttributesRequest>r) : new MutateAttributesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/MutateAttributes\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n resetSubjectPassword(r: ResetSubjectPasswordRequest | ResetSubjectPasswordRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ResetSubjectPasswordRequest>r).toApiJson) ? (<ResetSubjectPasswordRequest>r) : new ResetSubjectPasswordRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/ResetSubjectPassword\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n changeSubjectEmail(r: ChangeSubjectEmailRequest | ChangeSubjectEmailRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChangeSubjectEmailRequest>r).toApiJson) ? (<ChangeSubjectEmailRequest>r) : new ChangeSubjectEmailRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/ChangeSubjectEmail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteSubject(r: DeleteSubjectRequest | DeleteSubjectRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteSubjectRequest>r).toApiJson) ? (<DeleteSubjectRequest>r) : new DeleteSubjectRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/DeleteSubject\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n searchSubject(r: SearchSubjectRequest | SearchSubjectRequestInterface): Observable<SearchSubjectResponse> {\n const request = ((<SearchSubjectRequest>r).toApiJson) ? (<SearchSubjectRequest>r) : new SearchSubjectRequest(r);\n return this.http.post<SearchSubjectResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/SearchSubject\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SearchSubjectResponse.fromProto(resp)),\n share()\n );\n }\n getSubjectContext(r: GetSubjectContextRequest | GetSubjectContextRequestInterface): Observable<GetSubjectContextResponse> {\n const request = ((<GetSubjectContextRequest>r).toApiJson) ? (<GetSubjectContextRequest>r) : new GetSubjectContextRequest(r);\n return this.http.post<GetSubjectContextResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/GetSubjectContext\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetSubjectContextResponse.fromProto(resp)),\n share()\n );\n }\n registerResourceOwner(r: RegisterResourceOwnerRequest | RegisterResourceOwnerRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RegisterResourceOwnerRequest>r).toApiJson) ? (<RegisterResourceOwnerRequest>r) : new RegisterResourceOwnerRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/RegisterResourceOwner\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n registerResource(r: RegisterResourceRequest | RegisterResourceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RegisterResourceRequest>r).toApiJson) ? (<RegisterResourceRequest>r) : new RegisterResourceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/RegisterResource\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n registerPolicy(r: RegisterPolicyRequest | RegisterPolicyRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RegisterPolicyRequest>r).toApiJson) ? (<RegisterPolicyRequest>r) : new RegisterPolicyRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/RegisterPolicy\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n accessResource(r: AccessResourceRequest | AccessResourceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<AccessResourceRequest>r).toApiJson) ? (<AccessResourceRequest>r) : new AccessResourceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/AccessResource\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getShortLivedToken(r: GetShortLivedTokenRequest | GetShortLivedTokenRequestInterface): Observable<GetTokenResponse> {\n const request = ((<GetShortLivedTokenRequest>r).toApiJson) ? (<GetShortLivedTokenRequest>r) : new GetShortLivedTokenRequest(r);\n return this.http.post<GetTokenResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/GetShortLivedToken\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetTokenResponse.fromProto(resp)),\n share()\n );\n }\n getSessionToken(r: GetSessionTokenRequest | GetSessionTokenRequestInterface): Observable<GetTokenResponse> {\n const request = ((<GetSessionTokenRequest>r).toApiJson) ? (<GetSessionTokenRequest>r) : new GetSessionTokenRequest(r);\n return this.http.post<GetTokenResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/GetSessionToken\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetTokenResponse.fromProto(resp)),\n share()\n );\n }\n addKey(r: AddKeyRequest | AddKeyRequestInterface): Observable<AddKeyResponse> {\n const request = ((<AddKeyRequest>r).toApiJson) ? (<AddKeyRequest>r) : new AddKeyRequest(r);\n return this.http.post<AddKeyResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/AddKey\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddKeyResponse.fromProto(resp)),\n share()\n );\n }\n removeKey(r: RemoveKeyRequest | RemoveKeyRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RemoveKeyRequest>r).toApiJson) ? (<RemoveKeyRequest>r) : new RemoveKeyRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/RemoveKey\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createSession(r: CreateSessionRequest | CreateSessionRequestInterface): Observable<CreateSessionResponse> {\n const request = ((<CreateSessionRequest>r).toApiJson) ? (<CreateSessionRequest>r) : new CreateSessionRequest(r);\n return this.http.post<CreateSessionResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/CreateSession\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateSessionResponse.fromProto(resp)),\n share()\n );\n }\n getResetPasswordToken(r: GetResetPasswordTokenRequest | GetResetPasswordTokenRequestInterface): Observable<ResetPasswordTokenResponse> {\n const request = ((<GetResetPasswordTokenRequest>r).toApiJson) ? (<GetResetPasswordTokenRequest>r) : new GetResetPasswordTokenRequest(r);\n return this.http.post<ResetPasswordTokenResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/GetResetPasswordToken\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ResetPasswordTokenResponse.fromProto(resp)),\n share()\n );\n }\n listPersonasByEmail(r: ListPersonasByEmailRequest | ListPersonasByEmailRequestInterface): Observable<ListPersonasResponse> {\n const request = ((<ListPersonasByEmailRequest>r).toApiJson) ? (<ListPersonasByEmailRequest>r) : new ListPersonasByEmailRequest(r);\n return this.http.post<ListPersonasResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/ListPersonasByEmail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPersonasResponse.fromProto(resp)),\n share()\n );\n }\n listPersonas(r: IAMListPersonasRequest | IAMListPersonasRequestInterface): Observable<ListPersonasResponse> {\n const request = ((<IAMListPersonasRequest>r).toApiJson) ? (<IAMListPersonasRequest>r) : new IAMListPersonasRequest(r);\n return this.http.post<ListPersonasResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/ListPersonas\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPersonasResponse.fromProto(resp)),\n share()\n );\n }\n createTemporarySubject(r: CreateTemporarySubjectRequest | CreateTemporarySubjectRequestInterface): Observable<CreateTemporarySubjectResponse> {\n const request = ((<CreateTemporarySubjectRequest>r).toApiJson) ? (<CreateTemporarySubjectRequest>r) : new CreateTemporarySubjectRequest(r);\n return this.http.post<CreateTemporarySubjectResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/CreateTemporarySubject\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateTemporarySubjectResponse.fromProto(resp)),\n share()\n );\n }\n getMultiUsers(r: GetMultiUsersRequest | GetMultiUsersRequestInterface): Observable<GetMultiUsersResponse> {\n const request = ((<GetMultiUsersRequest>r).toApiJson) ? (<GetMultiUsersRequest>r) : new GetMultiUsersRequest(r);\n return this.http.post<GetMultiUsersResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/GetMultiUsers\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiUsersResponse.fromProto(resp)),\n share()\n );\n }\n listUsers(r: ListUsersRequest | ListUsersRequestInterface): Observable<ListUsersResponse> {\n const request = ((<ListUsersRequest>r).toApiJson) ? (<ListUsersRequest>r) : new ListUsersRequest(r);\n return this.http.post<ListUsersResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/ListUsers\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListUsersResponse.fromProto(resp)),\n share()\n );\n }\n updateUser(r: UpdateUserRequest | UpdateUserRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateUserRequest>r).toApiJson) ? (<UpdateUserRequest>r) : new UpdateUserRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/UpdateUser\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteUser(r: DeleteUserRequest | DeleteUserRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteUserRequest>r).toApiJson) ? (<DeleteUserRequest>r) : new DeleteUserRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/DeleteUser\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listSecurityLogs(r: ListSecurityLogsRequest | ListSecurityLogsRequestInterface): Observable<ListSecurityLogsResponse> {\n const request = ((<ListSecurityLogsRequest>r).toApiJson) ? (<ListSecurityLogsRequest>r) : new ListSecurityLogsRequest(r);\n return this.http.post<ListSecurityLogsResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/ListSecurityLogs\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListSecurityLogsResponse.fromProto(resp)),\n share()\n );\n }\n verifyEmail(r: VerifyEmailRequest | VerifyEmailRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<VerifyEmailRequest>r).toApiJson) ? (<VerifyEmailRequest>r) : new VerifyEmailRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/VerifyEmail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n sendEmailVerification(r: SendEmailVerificationRequest | SendEmailVerificationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SendEmailVerificationRequest>r).toApiJson) ? (<SendEmailVerificationRequest>r) : new SendEmailVerificationRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/SendEmailVerification\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiExternalId(r: GetMultiExternalIDRequest | GetMultiExternalIDRequestInterface): Observable<GetMultiExternalIDResponse> {\n const request = ((<GetMultiExternalIDRequest>r).toApiJson) ? (<GetMultiExternalIDRequest>r) : new GetMultiExternalIDRequest(r);\n return this.http.post<GetMultiExternalIDResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/GetMultiExternalID\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiExternalIDResponse.fromProto(resp)),\n share()\n );\n }\n createExternalId(r: CreateExternalIDRequest | CreateExternalIDRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateExternalIDRequest>r).toApiJson) ? (<CreateExternalIDRequest>r) : new CreateExternalIDRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/CreateExternalID\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n addMultiUserRestriction(r: AddMultiUserRestrictionRequest | AddMultiUserRestrictionRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<AddMultiUserRestrictionRequest>r).toApiJson) ? (<AddMultiUserRestrictionRequest>r) : new AddMultiUserRestrictionRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/AddMultiUserRestriction\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n removeMultiUserRestriction(r: RemoveMultiUserRestrictionRequest | RemoveMultiUserRestrictionRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RemoveMultiUserRestrictionRequest>r).toApiJson) ? (<RemoveMultiUserRestrictionRequest>r) : new RemoveMultiUserRestrictionRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/iam.v1.IAM/RemoveMultiUserRestriction\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","import {Injectable} from '@angular/core';\nimport {SessionService} from '@vendasta/core';\nimport {Observable} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\nimport {ContextInterface} from './_internal/interfaces/subjects.interface';\n\nimport {\n GetSubjectResponse,\n GetTokenResponse,\n ListPersonasResponse as ListPersonasProtoResponse,\n ListSecurityLogsRequestFilters,\n ListSecurityLogsResponse,\n ListUsersResponse\n} from './_internal/objects/api';\nimport {Context, NamespacedContext, Persona, TypedContext} from './_internal/objects/subjects';\nimport {UserIAMApiService} from './_internal/user-iam.api.service';\nimport {LoginResponseInterface, LogoutResponseInterface} from './http/http.interface';\nimport {IamHttpApiService} from './http/iam.http.api.service';\nimport {BasePersona} from './personas/base-personas';\nimport {PersonaType} from './personas/persona-type.enum';\nimport {fromPersona} from './personas/personas';\nimport {User} from './_internal/objects/users';\nimport {IAMApiService} from './_internal/iam.api.service';\nimport {UserFilterInterface, UserIdentifierInterface, UserSortOptionsInterface} from './_internal/interfaces';\n\n@Injectable({providedIn: 'root'})\nexport class IAMService {\n constructor(\n private api: UserIAMApiService,\n private httpApi: IamHttpApiService,\n private sessionService: SessionService,\n private iamApi: IAMApiService\n ) {\n }\n\n // Get a subject from the session ID\n getSubjectBySession(sessionId: string, personaType: PersonaType, partnerId?: string): Observable<BasePersona | null> {\n let context: ContextInterface;\n if (!!partnerId) {\n context = new Context({\n namespaced: new NamespacedContext({\n namespace: partnerId,\n type: PersonaType[personaType]\n })\n });\n } else {\n context = new Context({ typed: new TypedContext({ type: PersonaType[personaType] }) });\n }\n return this.api\n .getSubjectBySession({\n session: sessionId,\n context: context\n })\n .pipe(map((r: GetSubjectResponse) => fromPersona(\n new Persona({ subject: r.subject.subject, context: context })\n )));\n }\n\n // Get persona type from the current session\n getLoggedInSubject(personaType: PersonaType, partnerId?: string): Observable<BasePersona | null> {\n return this.sessionService\n .getSessionId()\n .pipe(switchMap((sessionId: string) => this.getSubjectBySession(sessionId, personaType, partnerId)));\n }\n\n // List all available personas for the session. Optionally pass a persona type to filter by that persona.\n listPersonas(sessionId: string, personaType?: PersonaType): Observable<BasePersona[]> {\n return this.api\n .listPersonas({\n session: sessionId,\n pageSize: 100,\n type: personaType\n })\n .pipe(\n map((r: ListPersonasProtoResponse) => {\n const personas: BasePersona[] = [];\n if (!r || !r.personas) {\n return [];\n }\n for (const p of r.personas) {\n const persona = fromPersona(p);\n if (!!persona) {\n personas.push(persona);\n }\n }\n return personas;\n })\n );\n }\n\n // List all available personas for the current session. Optionally pass a persona type to filter by that persona.\n listLoggedInPersonas(personaType?: PersonaType): Observable<BasePersona[]> {\n return this.sessionService.getSessionId().pipe(switchMap((sessionId: string) => this.listPersonas(sessionId,\n personaType)));\n }\n\n // Get a short lived session token\n getToken(): Observable<string> {\n return this.api.getToken({}).pipe(map((r: GetTokenResponse) => r.token));\n }\n\n // Login into a user. Optionally specify the partner and persona type you want to log into\n login(email: string, password: string, personaType?: PersonaType, partnerId?: string): Observable<string> {\n return this.httpApi\n .login({\n email: email,\n password: password,\n namespace: partnerId,\n type: personaType\n })\n .pipe(map((r: LoginResponseInterface) => r.sessionId || ''));\n }\n\n // Logout of the current session, returns true if successful\n logout(): Observable<boolean> {\n return this.httpApi.logout().pipe(map((r: LogoutResponseInterface) => r.success));\n }\n\n // This will redirect the browser to IAM's sso login handler.\n ssoLogin(nextUrl: string, personaType?: PersonaType, partnerId?: string): void {\n this.httpApi.ssoLogin({\n nextUrl: nextUrl,\n namespace: partnerId,\n type: personaType\n });\n }\n\n // getMultiUsers takes an array of user identifiers and calls IAM to convert them into Users\n getMultiUsers(userIdentifiers: UserIdentifierInterface[]): Observable<User[]> {\n return this.iamApi.getMultiUsers({\n userIdentifiers\n }).pipe(\n map(resp => {\n if (!!resp.users) {\n return resp.users\n }\n return [];\n }),\n map(userContainers => userContainers.map(u => u.user))\n );\n }\n\n // listSecurityLogs returns security logs for a userId passed in. This is a paged function, but the\n // handling of paged information is left to the implementor (for now).\n listSecurityLogs(userId: string, cursor?: string, pageSize?: number, actionId = ''):\n Observable<ListSecurityLogsResponse> {\n const optionalArgs: {[key: string]: ListSecurityLogsRequestFilters} = {};\n if (actionId !== '') {\n optionalArgs.filters = new ListSecurityLogsRequestFilters({actionId});\n }\n return this.iamApi.listSecurityLogs({\n userId,\n cursor,\n pageSize,\n ...optionalArgs\n })\n }\n\n // listUsers returns users for a namespace passed in. This is a paged function, but the\n // handling of paged information is left to the implementor (for now).\n // An empty namespace will return users that exist outside of a namespace.\n listUsers(namespace: string, email?: string, cursor?: string, pageSize?: number, subjectTypes?: string[],\n searchTerms?: string[], sortOptions?: UserSortOptionsInterface[]): Observable<ListUsersResponse> {\n const userFilter: UserFilterInterface = {};\n if (!!subjectTypes && subjectTypes.length > 0) {\n userFilter.subjectTypes = subjectTypes;\n }\n if (!!searchTerms && searchTerms.length > 0) {\n userFilter.searchTerms = searchTerms;\n }\n\n return this.iamApi.listUsers({\n namespace: namespace,\n email: email,\n cursor: cursor,\n pageSize: pageSize,\n userFilter: userFilter,\n sortOptions: (sortOptions || [])\n })\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetSessionForUserRequest,\n GetSessionForUserResponse,\n} from './objects/';\nimport {\n GetSessionForUserRequestInterface,\n GetSessionForUserResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class IAMSsoApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n getSessionForUser(r: GetSessionForUserRequest | GetSessionForUserRequestInterface): Observable<GetSessionForUserResponse> {\n const request = ((<GetSessionForUserRequest>r).toApiJson) ? (<GetSessionForUserRequest>r) : new GetSessionForUserRequest(r);\n return this.http.post<GetSessionForUserResponseInterface>(this.hostService.hostWithScheme() + \"/iam.v1.IAMSso/GetSessionForUser\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetSessionForUserResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { IAMApiService } from './iam.api.service';\nexport { IAMSsoApiService } from './iam-sso.api.service';\nexport { UserIAMApiService } from './user-iam.api.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["AlgorithmType","OrderByDirection","AccessScope","BooleanOperator","ForOperator","RestrictionType","SortDirection","UserSortField","e.AlgorithmType","enumStringToValue","e.BooleanOperator","e.AccessScope","e.ForOperator","e.RestrictionType","e.OrderByDirection","e.SortDirection","e.UserSortField","Environment","Injectable","EnvironmentService","HttpHeaders","map","share","HttpClient","PersonaType","switchMap","SessionService"],"mappings":"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"}