@axinom/mosaic-user-auth 0.26.0-rc.13 → 0.26.0-rc.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/common/enums.ts","../../../../node_modules/tslib/tslib.es6.js","../../lib-user-auth-utils/dist/common/enums.js","../../lib-user-auth-utils/dist/common/constants.js","../../lib-user-auth-utils/dist/common/types.js","../../lib-user-auth-utils/dist/index.js","../src/common/ensure-error.ts","../../../../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../../../../node_modules/graphql/jsutils/inspect.mjs","../../../../node_modules/graphql/jsutils/invariant.mjs","../../../../node_modules/graphql/jsutils/defineInspect.mjs","../../../../node_modules/graphql/language/ast.mjs","../../../../node_modules/graphql/language/visitor.mjs","../../../../node_modules/graphql/language/blockString.mjs","../../../../node_modules/graphql/language/printer.mjs","../src/common/stringify-gql-query.ts","../src/generated/user-service-management-graphql.types.ts","../src/util/endUserApplication.ts","../src/common/user-auth-error.ts","../src/generated/ax-auth-management-graphql.types.ts","../src/util/userAuth.ts","../src/generated/user-service-end-user-graphql.types.ts","../src/util/userProfile.ts","../src/UserServiceClient/UserServiceClient.ts","../src/UserServiceProvider/UserServiceProvider.tsx"],"sourcesContent":["export enum TokenRenewalMethod {\n /**\n * The token is continuously renewed just before expiry.\n * A `TokenChangedCallback` can be registered using `addTokenChangedHandler` method to get notified when the token changes.\n */\n PRE_EMPTIVE,\n\n /**\n * The token is renewed only if needed upon calling `getToken` method.\n */\n ON_DEMAND,\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthenticateEndUserApplicationResponseCode = exports.DecryptNativeCookieResponseCode = exports.IdpProtocol = exports.CheckOtpResponseCode = exports.CompleteUserSignUpResponseCode = exports.UserSignUpResponseCode = exports.ResetPasswordResponseCode = exports.SignInResponseCode = exports.IdpConfigurationResponseCode = exports.SignOutResponseCode = exports.TokenResponseCode = exports.UserAuthErrorCode = void 0;\n/**\n * This is the Error Type that the REST middleware will respond when there's an error\n * from the User Service that does not belong to Token/SignOut or IDPConfiguration responses.\n */\nvar UserAuthErrorCode;\n(function (UserAuthErrorCode) {\n UserAuthErrorCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n UserAuthErrorCode[\"IDP_CONFIGURATION_ERROR\"] = \"IDP_CONFIGURATION_ERROR\";\n UserAuthErrorCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n UserAuthErrorCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_USER\"] = \"INVALID_USER\";\n UserAuthErrorCode[\"INVALID_APPLICATION\"] = \"INVALID_APPLICATION\";\n UserAuthErrorCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n UserAuthErrorCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(UserAuthErrorCode || (exports.UserAuthErrorCode = UserAuthErrorCode = {}));\n/**\n * Token response code from User Service Auth API\n */\nvar TokenResponseCode;\n(function (TokenResponseCode) {\n TokenResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n TokenResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n TokenResponseCode[\"USER_NOT_FOUND\"] = \"USER_NOT_FOUND\";\n TokenResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n TokenResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n TokenResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n TokenResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(TokenResponseCode || (exports.TokenResponseCode = TokenResponseCode = {}));\n/**\n * Sign out response code from User Service Auth API\n */\nvar SignOutResponseCode;\n(function (SignOutResponseCode) {\n SignOutResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignOutResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n SignOutResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(SignOutResponseCode || (exports.SignOutResponseCode = SignOutResponseCode = {}));\n/**\n * IDP Configuration response code from User Service Auth API\n */\nvar IdpConfigurationResponseCode;\n(function (IdpConfigurationResponseCode) {\n IdpConfigurationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n IdpConfigurationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"NO_ACTIVE_IDPS\"] = \"NO_ACTIVE_IDPS\";\n IdpConfigurationResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n IdpConfigurationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(IdpConfigurationResponseCode || (exports.IdpConfigurationResponseCode = IdpConfigurationResponseCode = {}));\n/**\n * Sign In With Credentials Response Code from User Service Auth API\n */\nvar SignInResponseCode;\n(function (SignInResponseCode) {\n SignInResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignInResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n SignInResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n SignInResponseCode[\"INVALID_CREDENTIALS\"] = \"INVALID_CREDENTIALS\";\n SignInResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n SignInResponseCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n SignInResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n})(SignInResponseCode || (exports.SignInResponseCode = SignInResponseCode = {}));\n/**\n * Sign In With Credentials Password Reset/Complete Password Reset Code from User Service Auth API\n */\nvar ResetPasswordResponseCode;\n(function (ResetPasswordResponseCode) {\n ResetPasswordResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n ResetPasswordResponseCode[\"ERROR\"] = \"ERROR\";\n ResetPasswordResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(ResetPasswordResponseCode || (exports.ResetPasswordResponseCode = ResetPasswordResponseCode = {}));\n/**\n * Sign Up With Credential Response Code from User Service Auth API\n */\nvar UserSignUpResponseCode;\n(function (UserSignUpResponseCode) {\n UserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n UserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n UserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(UserSignUpResponseCode || (exports.UserSignUpResponseCode = UserSignUpResponseCode = {}));\n/**\n * Verify Sign Up With Credential Response Code from User Service Auth API\n */\nvar CompleteUserSignUpResponseCode;\n(function (CompleteUserSignUpResponseCode) {\n CompleteUserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CompleteUserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n CompleteUserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CompleteUserSignUpResponseCode || (exports.CompleteUserSignUpResponseCode = CompleteUserSignUpResponseCode = {}));\n/**\n * OTP Check Response Code from User Service Auth API\n * This response type is used for both Sign Up OTP check and Reset Password OTP check.\n */\nvar CheckOtpResponseCode;\n(function (CheckOtpResponseCode) {\n CheckOtpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CheckOtpResponseCode[\"ERROR\"] = \"ERROR\";\n CheckOtpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CheckOtpResponseCode || (exports.CheckOtpResponseCode = CheckOtpResponseCode = {}));\n/**\n * IDP Protocol categories\n */\nvar IdpProtocol;\n(function (IdpProtocol) {\n IdpProtocol[\"OIDC\"] = \"OIDC\";\n IdpProtocol[\"OAUTH2\"] = \"OAUTH2\";\n IdpProtocol[\"DELEGATED\"] = \"DELEGATED\";\n})(IdpProtocol || (exports.IdpProtocol = IdpProtocol = {}));\n/**\n * Response codes specific to Native Cookie Decryption.\n */\nvar DecryptNativeCookieResponseCode;\n(function (DecryptNativeCookieResponseCode) {\n DecryptNativeCookieResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DecryptNativeCookieResponseCode[\"COOKIE_DECRYPTION_FAILED\"] = \"COOKIE_DECRYPTION_FAILED\";\n})(DecryptNativeCookieResponseCode || (exports.DecryptNativeCookieResponseCode = DecryptNativeCookieResponseCode = {}));\n/**\n * Response codes specific to End User Application Token Generation\n */\nvar AuthenticateEndUserApplicationResponseCode;\n(function (AuthenticateEndUserApplicationResponseCode) {\n AuthenticateEndUserApplicationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_FOUND\"] = \"APPLICATION_NOT_FOUND\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_ENABLED\"] = \"APPLICATION_NOT_ENABLED\";\n AuthenticateEndUserApplicationResponseCode[\"END_USER_APP_TOKEN_GENERATION_ERROR\"] = \"END_USER_APP_TOKEN_GENERATION_ERROR\";\n})(AuthenticateEndUserApplicationResponseCode || (exports.AuthenticateEndUserApplicationResponseCode = AuthenticateEndUserApplicationResponseCode = {}));\n//# sourceMappingURL=enums.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.managedIdProviderDefaults = void 0;\nconst enums_1 = require(\"./enums\");\nexports.managedIdProviderDefaults = {\n AX_GOOGLE: {\n discoveryDocumentUrl: 'https://accounts.google.com/.well-known/openid-configuration',\n providerIconUrl: 'https://developers.google.com/identity/images/g-logo.png',\n additionalParams: {\n access_type: 'offline',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n ],\n protocol: enums_1.IdpProtocol.OIDC,\n },\n AX_FACEBOOK: {\n authorizationEndpointUrl: 'https://www.facebook.com/dialog/oauth',\n tokenEndpointUrl: 'https://graph.facebook.com/oauth/access_token',\n userInfoEndpointUrl: 'https://graph.facebook.com/me',\n scopes: [{ name: 'email', default: true }],\n protocol: enums_1.IdpProtocol.OAUTH2,\n },\n AX_APPLE: {\n discoveryDocumentUrl: 'https://appleid.apple.com/.well-known/openid-configuration',\n additionalParams: {\n response_mode: 'form_post',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'name', default: true },\n ],\n protocol: enums_1.IdpProtocol.OIDC,\n },\n AX_AUTH: {\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n { name: 'offline_access', default: true },\n ],\n protocol: enums_1.IdpProtocol.OIDC,\n },\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./common/constants\"), exports);\n__exportStar(require(\"./common/enums\"), exports);\n__exportStar(require(\"./common/types\"), exports);\n//# sourceMappingURL=index.js.map","/**\n * Ensures that an error is an actual instance of an error.\n *\n * - If it's null or undefined - a new Error with a dedicated message is\n * returned.\n * - If it's an instance of an error - passed error is returned as is.\n * - If it's not an instance of an error - a new Error with a dedicated message\n * is returned, containing the original stringified error.\n *\n * Unlike type assertion, you must use the newly returned value.\n *\n * This is a modified copy of ensureError() in @axinom/mosaic-service-common to avoid\n * dependencies.\n */\nexport const ensureError = (error: unknown): Error => {\n if (error === null || error === undefined) {\n return new Error('Unexpected null or undefined value received.');\n }\n if (error instanceof Error) {\n return error;\n }\n return new Error(\n `An error that is not an instance of an Error has been thrown: ${String(\n error,\n )}`,\n );\n};\n","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nimport { print as gqlPrint } from 'graphql/language/printer';\n\n/**\n * Takes a GQL DocumentNode and a set of variables\n * and compiles the body for a GQL request, stringifies and returns.\n *\n * @param gqlDocument\n * @param variables\n * @returns\n */\nexport const stringifyGqlQuery = <TResult, TVariables>(\n gqlDocument: DocumentNode<TResult, TVariables>,\n variables?: Record<string, unknown>,\n): string => {\n const gqlQuery = {\n query: gqlPrint(gqlDocument),\n variables,\n };\n return JSON.stringify(gqlQuery);\n};\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n Cursor: any;\n Datetime: any;\n IdpAdditionalParamsObject: any;\n JSON: { [key: string]: any };\n UUID: any;\n};\n\nexport type Application = {\n __typename?: 'Application';\n accessTokenEnrichmentWebhook?: Maybe<Scalars['String']>;\n accessTokenEnrichmentWebhookSecretIsSet: Scalars['Boolean'];\n accessTokenLifetime: Scalars['Int'];\n allowedOrigins?: Maybe<Array<Maybe<Scalars['String']>>>;\n allowedProxyUrls?: Maybe<Array<Maybe<Scalars['String']>>>;\n applicationKey?: Maybe<Scalars['String']>;\n applicationPlatform: ApplicationPlatform;\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n enabled: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n /** Reads and enables pagination through a set of `ApplicationIdpConnection`. */\n idpConnections: ApplicationIdpConnectionsConnection;\n kid?: Maybe<Scalars['String']>;\n name: Scalars['String'];\n nextRotationDate?: Maybe<Scalars['Datetime']>;\n refreshTokenLifetime: Scalars['Int'];\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n\nexport type ApplicationIdpConnectionsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ApplicationIdpConnectionCondition>;\n filter?: Maybe<ApplicationIdpConnectionFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n/**\n * A condition to be used against `Application` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type ApplicationCondition = {\n /** Checks for equality with the object’s `accessTokenEnrichmentWebhook` field. */\n accessTokenEnrichmentWebhook?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `accessTokenEnrichmentWebhookSecretIsSet` field. */\n accessTokenEnrichmentWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `accessTokenLifetime` field. */\n accessTokenLifetime?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `allowedOrigins` field. */\n allowedOrigins?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Checks for equality with the object’s `allowedProxyUrls` field. */\n allowedProxyUrls?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Checks for equality with the object’s `applicationKey` field. */\n applicationKey?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `applicationPlatform` field. */\n applicationPlatform?: Maybe<ApplicationPlatform>;\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enabled` field. */\n enabled?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `refreshTokenLifetime` field. */\n refreshTokenLifetime?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `Application` object types. All fields are combined with a logical ‘and.’ */\nexport type ApplicationFilter = {\n /** Filter by the object’s `accessTokenEnrichmentWebhook` field. */\n accessTokenEnrichmentWebhook?: Maybe<StringFilter>;\n /** Filter by the object’s `accessTokenEnrichmentWebhookSecretIsSet` field. */\n accessTokenEnrichmentWebhookSecretIsSet?: Maybe<BooleanFilter>;\n /** Filter by the object’s `accessTokenLifetime` field. */\n accessTokenLifetime?: Maybe<IntFilter>;\n /** Filter by the object’s `allowedOrigins` field. */\n allowedOrigins?: Maybe<StringListFilter>;\n /** Filter by the object’s `allowedProxyUrls` field. */\n allowedProxyUrls?: Maybe<StringListFilter>;\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<ApplicationFilter>>;\n /** Filter by the object’s `applicationKey` field. */\n applicationKey?: Maybe<StringFilter>;\n /** Filter by the object’s `applicationPlatform` field. */\n applicationPlatform?: Maybe<ApplicationPlatformFilter>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `enabled` field. */\n enabled?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpConnections` relation. */\n idpConnections?: Maybe<ApplicationToManyApplicationIdpConnectionFilter>;\n /** Some related `idpConnections` exist. */\n idpConnectionsExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<ApplicationFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<ApplicationFilter>>;\n /** Filter by the object’s `refreshTokenLifetime` field. */\n refreshTokenLifetime?: Maybe<IntFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\nexport type ApplicationIdpConnection = {\n __typename?: 'ApplicationIdpConnection';\n /** Reads a single `Application` that is related to this `ApplicationIdpConnection`. */\n application?: Maybe<Application>;\n applicationId: Scalars['UUID'];\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n /** Reads a single `IdpConnection` that is related to this `ApplicationIdpConnection`. */\n idpConnection?: Maybe<IdpConnection>;\n idpConnectionId: Scalars['UUID'];\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n/**\n * A condition to be used against `ApplicationIdpConnection` object types. All\n * fields are tested for equality and combined with a logical ‘and.’\n */\nexport type ApplicationIdpConnectionCondition = {\n /** Checks for equality with the object’s `applicationId` field. */\n applicationId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `idpConnectionId` field. */\n idpConnectionId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `ApplicationIdpConnection` object types. All fields are combined with a logical ‘and.’ */\nexport type ApplicationIdpConnectionFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<ApplicationIdpConnectionFilter>>;\n /** Filter by the object’s `application` relation. */\n application?: Maybe<ApplicationFilter>;\n /** Filter by the object’s `applicationId` field. */\n applicationId?: Maybe<UuidFilter>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpConnection` relation. */\n idpConnection?: Maybe<IdpConnectionFilter>;\n /** Filter by the object’s `idpConnectionId` field. */\n idpConnectionId?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<ApplicationIdpConnectionFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<ApplicationIdpConnectionFilter>>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\n/** An input for mutations affecting `ApplicationIdpConnection` */\nexport type ApplicationIdpConnectionInput = {\n applicationId: Scalars['UUID'];\n idpConnectionId: Scalars['UUID'];\n};\n\n/** A connection to a list of `ApplicationIdpConnection` values. */\nexport type ApplicationIdpConnectionsConnection = {\n __typename?: 'ApplicationIdpConnectionsConnection';\n /** A list of edges which contains the `ApplicationIdpConnection` and cursor to aid in pagination. */\n edges: Array<ApplicationIdpConnectionsEdge>;\n /** A list of `ApplicationIdpConnection` objects. */\n nodes: Array<ApplicationIdpConnection>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `ApplicationIdpConnection` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `ApplicationIdpConnection` edge in the connection. */\nexport type ApplicationIdpConnectionsEdge = {\n __typename?: 'ApplicationIdpConnectionsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `ApplicationIdpConnection` at the end of the edge. */\n node: ApplicationIdpConnection;\n};\n\n/** Methods to use when ordering `ApplicationIdpConnection`. */\nexport enum ApplicationIdpConnectionsOrderBy {\n APPLICATION_ID_ASC = 'APPLICATION_ID_ASC',\n APPLICATION_ID_DESC = 'APPLICATION_ID_DESC',\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n IDP_CONNECTION_ID_ASC = 'IDP_CONNECTION_ID_ASC',\n IDP_CONNECTION_ID_DESC = 'IDP_CONNECTION_ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** An input for mutations affecting `Application` */\nexport type ApplicationInput = {\n accessTokenEnrichmentWebhook?: Maybe<Scalars['String']>;\n accessTokenEnrichmentWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n accessTokenLifetime?: Maybe<Scalars['Int']>;\n allowedOrigins?: Maybe<Array<Maybe<Scalars['String']>>>;\n allowedProxyUrls?: Maybe<Array<Maybe<Scalars['String']>>>;\n applicationKey?: Maybe<Scalars['String']>;\n applicationPlatform: ApplicationPlatform;\n name: Scalars['String'];\n refreshTokenLifetime?: Maybe<Scalars['Int']>;\n};\n\n/** Represents an update to a `Application`. Fields that are set will be updated. */\nexport type ApplicationPatch = {\n accessTokenEnrichmentWebhook?: Maybe<Scalars['String']>;\n accessTokenEnrichmentWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n accessTokenLifetime?: Maybe<Scalars['Int']>;\n allowedOrigins?: Maybe<Array<Maybe<Scalars['String']>>>;\n allowedProxyUrls?: Maybe<Array<Maybe<Scalars['String']>>>;\n applicationKey?: Maybe<Scalars['String']>;\n applicationPlatform?: Maybe<ApplicationPlatform>;\n enabled?: Maybe<Scalars['Boolean']>;\n name?: Maybe<Scalars['String']>;\n refreshTokenLifetime?: Maybe<Scalars['Int']>;\n};\n\nexport enum ApplicationPlatform {\n /** Native */\n NATIVE = 'NATIVE',\n /** Web */\n WEB = 'WEB'\n}\n\n/** A filter to be used against ApplicationPlatform fields. All fields are combined with a logical ‘and.’ */\nexport type ApplicationPlatformFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<ApplicationPlatform>;\n /** Equal to the specified value. */\n equalTo?: Maybe<ApplicationPlatform>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<ApplicationPlatform>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<ApplicationPlatform>;\n /** Included in the specified list. */\n in?: Maybe<Array<ApplicationPlatform>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<ApplicationPlatform>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<ApplicationPlatform>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<ApplicationPlatform>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<ApplicationPlatform>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<ApplicationPlatform>>;\n};\n\n/** A connection to a list of `Application` values. */\nexport type ApplicationsConnection = {\n __typename?: 'ApplicationsConnection';\n /** A list of edges which contains the `Application` and cursor to aid in pagination. */\n edges: Array<ApplicationsEdge>;\n /** A list of `Application` objects. */\n nodes: Array<Application>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `Application` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `Application` edge in the connection. */\nexport type ApplicationsEdge = {\n __typename?: 'ApplicationsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `Application` at the end of the edge. */\n node: Application;\n};\n\n/** Methods to use when ordering `Application`. */\nexport enum ApplicationsOrderBy {\n ACCESS_TOKEN_ENRICHMENT_WEBHOOK_ASC = 'ACCESS_TOKEN_ENRICHMENT_WEBHOOK_ASC',\n ACCESS_TOKEN_ENRICHMENT_WEBHOOK_DESC = 'ACCESS_TOKEN_ENRICHMENT_WEBHOOK_DESC',\n ACCESS_TOKEN_ENRICHMENT_WEBHOOK_SECRET_IS_SET_ASC = 'ACCESS_TOKEN_ENRICHMENT_WEBHOOK_SECRET_IS_SET_ASC',\n ACCESS_TOKEN_ENRICHMENT_WEBHOOK_SECRET_IS_SET_DESC = 'ACCESS_TOKEN_ENRICHMENT_WEBHOOK_SECRET_IS_SET_DESC',\n ACCESS_TOKEN_LIFETIME_ASC = 'ACCESS_TOKEN_LIFETIME_ASC',\n ACCESS_TOKEN_LIFETIME_DESC = 'ACCESS_TOKEN_LIFETIME_DESC',\n ALLOWED_ORIGINS_ASC = 'ALLOWED_ORIGINS_ASC',\n ALLOWED_ORIGINS_DESC = 'ALLOWED_ORIGINS_DESC',\n ALLOWED_PROXY_URLS_ASC = 'ALLOWED_PROXY_URLS_ASC',\n ALLOWED_PROXY_URLS_DESC = 'ALLOWED_PROXY_URLS_DESC',\n APPLICATION_KEY_ASC = 'APPLICATION_KEY_ASC',\n APPLICATION_KEY_DESC = 'APPLICATION_KEY_DESC',\n APPLICATION_PLATFORM_ASC = 'APPLICATION_PLATFORM_ASC',\n APPLICATION_PLATFORM_DESC = 'APPLICATION_PLATFORM_DESC',\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n ENABLED_ASC = 'ENABLED_ASC',\n ENABLED_DESC = 'ENABLED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n REFRESH_TOKEN_LIFETIME_ASC = 'REFRESH_TOKEN_LIFETIME_ASC',\n REFRESH_TOKEN_LIFETIME_DESC = 'REFRESH_TOKEN_LIFETIME_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** A filter to be used against many `ApplicationIdpConnection` object types. All fields are combined with a logical ‘and.’ */\nexport type ApplicationToManyApplicationIdpConnectionFilter = {\n /** Every related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<ApplicationIdpConnectionFilter>;\n /** No related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<ApplicationIdpConnectionFilter>;\n /** Some related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<ApplicationIdpConnectionFilter>;\n};\n\nexport type AuthenticateEndUserApplicationInput = {\n applicationId: Scalars['UUID'];\n applicationKey: Scalars['String'];\n environmentId: Scalars['UUID'];\n tenantId: Scalars['UUID'];\n};\n\nexport type AuthenticateEndUserApplicationPayload = {\n __typename?: 'AuthenticateEndUserApplicationPayload';\n accessToken: Scalars['String'];\n expiresInSeconds: Scalars['Int'];\n tokenType: Scalars['String'];\n};\n\n/** A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ */\nexport type BooleanFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Boolean']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Boolean']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Boolean']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Boolean']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Boolean']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Boolean']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Boolean']>>;\n};\n\nexport type ClearAccessTokenEnrichmentWebhookSecretInput = {\n applicationId: Scalars['String'];\n};\n\nexport type ClearAccessTokenEnrichmentWebhookSecretPayload = {\n __typename?: 'ClearAccessTokenEnrichmentWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\nexport type ClearUserCreatedWebhookSecretInput = {\n serviceConfigurationId: Scalars['String'];\n};\n\nexport type ClearUserCreatedWebhookSecretPayload = {\n __typename?: 'ClearUserCreatedWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\nexport type ClearUserInfoWebhookSecretInput = {\n idpConnectionId: Scalars['String'];\n};\n\nexport type ClearUserInfoWebhookSecretPayload = {\n __typename?: 'ClearUserInfoWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\n/** All input for the create `ApplicationIdpConnection` mutation. */\nexport type CreateApplicationIdpConnectionInput = {\n /** The `ApplicationIdpConnection` to be created by this mutation. */\n applicationIdpConnection: ApplicationIdpConnectionInput;\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n};\n\n/** The output of our create `ApplicationIdpConnection` mutation. */\nexport type CreateApplicationIdpConnectionPayload = {\n __typename?: 'CreateApplicationIdpConnectionPayload';\n /** Reads a single `Application` that is related to this `ApplicationIdpConnection`. */\n application?: Maybe<Application>;\n /** The `ApplicationIdpConnection` that was created by this mutation. */\n applicationIdpConnection?: Maybe<ApplicationIdpConnection>;\n /** An edge for our `ApplicationIdpConnection`. May be used by Relay 1. */\n applicationIdpConnectionEdge?: Maybe<ApplicationIdpConnectionsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Reads a single `IdpConnection` that is related to this `ApplicationIdpConnection`. */\n idpConnection?: Maybe<IdpConnection>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `ApplicationIdpConnection` mutation. */\nexport type CreateApplicationIdpConnectionPayloadApplicationIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n/** All input for the create `Application` mutation. */\nexport type CreateApplicationInput = {\n /** The `Application` to be created by this mutation. */\n application: ApplicationInput;\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n};\n\n/** The output of our create `Application` mutation. */\nexport type CreateApplicationPayload = {\n __typename?: 'CreateApplicationPayload';\n /** The `Application` that was created by this mutation. */\n application?: Maybe<Application>;\n /** An edge for our `Application`. May be used by Relay 1. */\n applicationEdge?: Maybe<ApplicationsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `Application` mutation. */\nexport type CreateApplicationPayloadApplicationEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationsOrderBy>>;\n};\n\n/** All input for the create `IdpConnection` mutation. */\nexport type CreateIdpConnectionInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpConnection` to be created by this mutation. */\n idpConnection: IdpConnectionInput;\n};\n\n/** The output of our create `IdpConnection` mutation. */\nexport type CreateIdpConnectionPayload = {\n __typename?: 'CreateIdpConnectionPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpConnection` that was created by this mutation. */\n idpConnection?: Maybe<IdpConnection>;\n /** An edge for our `IdpConnection`. May be used by Relay 1. */\n idpConnectionEdge?: Maybe<IdpConnectionsEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `IdpConnection` mutation. */\nexport type CreateIdpConnectionPayloadIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<IdpConnectionsOrderBy>>;\n};\n\n/** All input for the create `UserProfile` mutation. */\nexport type CreateUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `UserProfile` to be created by this mutation. */\n userProfile: UserProfileInput;\n};\n\n/** The output of our create `UserProfile` mutation. */\nexport type CreateUserProfilePayload = {\n __typename?: 'CreateUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** Reads a single `User` that is related to this `UserProfile`. */\n user?: Maybe<User>;\n /** The `UserProfile` that was created by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our create `UserProfile` mutation. */\nexport type CreateUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n\n\n/** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */\nexport type DatetimeFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Datetime']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Datetime']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Datetime']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Datetime']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Datetime']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Datetime']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Datetime']>>;\n};\n\nexport type DecryptWithKeyAesInput = {\n /** The encrypted value as a Base 64 encoded string. */\n encryptedValue: Scalars['String'];\n /** Encryption Key that was used for the encryption. */\n key: Scalars['String'];\n};\n\nexport type DecryptWithKeyAesPayload = {\n __typename?: 'DecryptWithKeyAesPayload';\n /** The decrypted string. */\n decryptedValue: Scalars['String'];\n};\n\n/** All input for the `deleteApplicationIdpConnection` mutation. */\nexport type DeleteApplicationIdpConnectionInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `ApplicationIdpConnection` mutation. */\nexport type DeleteApplicationIdpConnectionPayload = {\n __typename?: 'DeleteApplicationIdpConnectionPayload';\n /** Reads a single `Application` that is related to this `ApplicationIdpConnection`. */\n application?: Maybe<Application>;\n /** The `ApplicationIdpConnection` that was deleted by this mutation. */\n applicationIdpConnection?: Maybe<ApplicationIdpConnection>;\n /** An edge for our `ApplicationIdpConnection`. May be used by Relay 1. */\n applicationIdpConnectionEdge?: Maybe<ApplicationIdpConnectionsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Reads a single `IdpConnection` that is related to this `ApplicationIdpConnection`. */\n idpConnection?: Maybe<IdpConnection>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `ApplicationIdpConnection` mutation. */\nexport type DeleteApplicationIdpConnectionPayloadApplicationIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n/** All input for the `deleteApplication` mutation. */\nexport type DeleteApplicationInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `Application` mutation. */\nexport type DeleteApplicationPayload = {\n __typename?: 'DeleteApplicationPayload';\n /** The `Application` that was deleted by this mutation. */\n application?: Maybe<Application>;\n /** An edge for our `Application`. May be used by Relay 1. */\n applicationEdge?: Maybe<ApplicationsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `Application` mutation. */\nexport type DeleteApplicationPayloadApplicationEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationsOrderBy>>;\n};\n\n/** All input for the `deleteIdpConnection` mutation. */\nexport type DeleteIdpConnectionInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `IdpConnection` mutation. */\nexport type DeleteIdpConnectionPayload = {\n __typename?: 'DeleteIdpConnectionPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpConnection` that was deleted by this mutation. */\n idpConnection?: Maybe<IdpConnection>;\n /** An edge for our `IdpConnection`. May be used by Relay 1. */\n idpConnectionEdge?: Maybe<IdpConnectionsEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `IdpConnection` mutation. */\nexport type DeleteIdpConnectionPayloadIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<IdpConnectionsOrderBy>>;\n};\n\n/** All input for the `deleteUserIdpDatum` mutation. */\nexport type DeleteUserIdpDatumInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n idpConnectionId: Scalars['UUID'];\n userId: Scalars['UUID'];\n};\n\n/** The output of our delete `UserIdpDatum` mutation. */\nexport type DeleteUserIdpDatumPayload = {\n __typename?: 'DeleteUserIdpDatumPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Reads a single `IdpConnection` that is related to this `UserIdpDatum`. */\n idpConnection?: Maybe<IdpConnection>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** Reads a single `User` that is related to this `UserIdpDatum`. */\n user?: Maybe<User>;\n /** The `UserIdpDatum` that was deleted by this mutation. */\n userIdpDatum?: Maybe<UserIdpDatum>;\n /** An edge for our `UserIdpDatum`. May be used by Relay 1. */\n userIdpDatumEdge?: Maybe<UserIdpDataEdge>;\n};\n\n\n/** The output of our delete `UserIdpDatum` mutation. */\nexport type DeleteUserIdpDatumPayloadUserIdpDatumEdgeArgs = {\n orderBy?: Maybe<Array<UserIdpDataOrderBy>>;\n};\n\n/** All input for the `deleteUser` mutation. */\nexport type DeleteUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `User` mutation. */\nexport type DeleteUserPayload = {\n __typename?: 'DeleteUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `User` that was deleted by this mutation. */\n user?: Maybe<User>;\n /** An edge for our `User`. May be used by Relay 1. */\n userEdge?: Maybe<UsersEdge>;\n};\n\n\n/** The output of our delete `User` mutation. */\nexport type DeleteUserPayloadUserEdgeArgs = {\n orderBy?: Maybe<Array<UsersOrderBy>>;\n};\n\n/** All input for the `deleteUserProfile` mutation. */\nexport type DeleteUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `UserProfile` mutation. */\nexport type DeleteUserProfilePayload = {\n __typename?: 'DeleteUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** Reads a single `User` that is related to this `UserProfile`. */\n user?: Maybe<User>;\n /** The `UserProfile` that was deleted by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our delete `UserProfile` mutation. */\nexport type DeleteUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\nexport type DevGenerateEndUserAccessTokenInput = {\n /**\n * Application ID to be used in the generated token.\n * This must be the ID of an actual Application defined in the service (it need not be enabled).\n */\n applicationId: Scalars['String'];\n /**\n * Extensions to be used in the generated token.\n *\n * Defaults to an empty JSON object i.e. {}.\n */\n extensions?: Maybe<Scalars['JSON']>;\n /**\n * Determines if the email will be set as null in the generated token (useful to simulate a token with email set as null).\n * When set to false a random email will be generated derived from the name.\n *\n * Defaults to false\n */\n isNullEmail?: Maybe<Scalars['Boolean']>;\n /**\n * Name to be used in the generated token.\n *\n * If not specified, a random name will be used.\n */\n name?: Maybe<Scalars['String']>;\n /**\n * Profile ID to be used in the generated token.\n *\n * If not specified, a random Profile ID will be used.\n */\n profileId?: Maybe<Scalars['String']>;\n /**\n * Token Expiration time in seconds.\n *\n * If not specified, this will default to 30 days.\n */\n tokenExpirationInSeconds?: Maybe<Scalars['Int']>;\n /**\n * User ID to be used in the generated token (set as the 'sub' property).\n *\n * If not specified, a random User ID will be used.\n */\n userId?: Maybe<Scalars['String']>;\n};\n\nexport type DevGenerateEndUserAccessTokenPayload = {\n __typename?: 'DevGenerateEndUserAccessTokenPayload';\n /** Development-time End-User Access Token. */\n accessToken: Scalars['String'];\n expiresInSeconds: Scalars['Int'];\n tokenType: Scalars['String'];\n};\n\nexport type EncryptWithKeyAesInput = {\n /** Encryption Key to be used for the encryption. */\n key: Scalars['String'];\n /** Value to encrypt. */\n valueToEncrypt: Scalars['String'];\n};\n\nexport type EncryptWithKeyAesPayload = {\n __typename?: 'EncryptWithKeyAesPayload';\n /** The encrypted value as a Base 64 encoded string. */\n encryptedValue: Scalars['String'];\n};\n\nexport type EndUserAccessTokenPayload = {\n __typename?: 'EndUserAccessTokenPayload';\n applicationId: Scalars['UUID'];\n email?: Maybe<Scalars['String']>;\n environmentId: Scalars['UUID'];\n extensions?: Maybe<Scalars['JSON']>;\n name: Scalars['String'];\n profileId: Scalars['String'];\n sessionId: Scalars['String'];\n sub: Scalars['String'];\n subjectType: Scalars['String'];\n tenantId: Scalars['UUID'];\n};\n\n/** Exposes all error codes and messages for errors that a service requests can throw. In some cases, messages that are actually thrown can be different, since they can include more details or a single code can used for different errors of the same type. */\nexport enum ErrorCodesEnum {\n /** Access Token has expired. */\n ACCESS_TOKEN_EXPIRED = 'ACCESS_TOKEN_EXPIRED',\n /** Error while generating the Access Token. */\n ACCESS_TOKEN_GENERATION_ERROR = 'ACCESS_TOKEN_GENERATION_ERROR',\n /** Access Token is invalid */\n ACCESS_TOKEN_INVALID = 'ACCESS_TOKEN_INVALID',\n /** Access Token is not provided */\n ACCESS_TOKEN_REQUIRED = 'ACCESS_TOKEN_REQUIRED',\n /** Access token verification failed */\n ACCESS_TOKEN_VERIFICATION_FAILED = 'ACCESS_TOKEN_VERIFICATION_FAILED',\n /** Application \"%s\" does not exist. */\n APPLICATION_DOES_NOT_EXIST = 'APPLICATION_DOES_NOT_EXIST',\n /** Application error. */\n APPLICATION_ERROR = 'APPLICATION_ERROR',\n /** Application [%s] is not enabled for use. */\n APPLICATION_NOT_ENABLED = 'APPLICATION_NOT_ENABLED',\n /** Application [%s] does not exist or you have provided an invalid Application Key. */\n APPLICATION_NOT_FOUND = 'APPLICATION_NOT_FOUND',\n /** Could not find an Application with the provided ID. Please check the value and try again. Hint: the Application must be enabled. */\n APPLICATION_NOT_FOUND_OR_NOT_ENABLED = 'APPLICATION_NOT_FOUND_OR_NOT_ENABLED',\n /** No active signing key found for application \"%s\". */\n APPLICATION_SIGNING_KEY_NOT_FOUND = 'APPLICATION_SIGNING_KEY_NOT_FOUND',\n /** The assertion check for the identifier %s failed. */\n ASSERTION_FAILED = 'ASSERTION_FAILED',\n /** Auth config is invalid. */\n AUTH_CONFIG_INVALID = 'AUTH_CONFIG_INVALID',\n /** Authenticated End User not found. */\n AUTHENTICATED_END_USER_NOT_FOUND = 'AUTHENTICATED_END_USER_NOT_FOUND',\n /** Authenticated Management Subject not found. */\n AUTHENTICATED_MANAGEMENT_SUBJECT_NOT_FOUND = 'AUTHENTICATED_MANAGEMENT_SUBJECT_NOT_FOUND',\n /** A Permission Definition or an EndUserAuthorizationConfig was not found to be passed into Postgraphile build options. This is a development time issue. */\n AUTHORIZATION_OPTIONS_MISCONFIGURED = 'AUTHORIZATION_OPTIONS_MISCONFIGURED',\n /** Bad request */\n BAD_REQUEST = 'BAD_REQUEST',\n /** Default User Profile cannot be deleted. */\n CANNOT_DELETE_DEFAULT_PROFILE = 'CANNOT_DELETE_DEFAULT_PROFILE',\n /** A database operation has failed because of a lock timeout. */\n DATABASE_LOCK_TIMEOUT_ERROR = 'DATABASE_LOCK_TIMEOUT_ERROR',\n /** An authorization database error has occurred. The user might not have enough permissions. */\n DATABASE_PERMISSIONS_CHECK_FAILED = 'DATABASE_PERMISSIONS_CHECK_FAILED',\n /** An expected and handled database constraint error has occurred. The actual message will have more information. */\n DATABASE_VALIDATION_FAILED = 'DATABASE_VALIDATION_FAILED',\n /** Error while decrypting. */\n DECRYPTION_ERROR = 'DECRYPTION_ERROR',\n /** No default profile found for user. Contact Axinom Support. */\n DEFAULT_PROFILE_NOT_FOUND = 'DEFAULT_PROFILE_NOT_FOUND',\n /** Application must have an IDP connection of type AX_DELEGATED_AUTH assigned to generate a Delegated Access Token. */\n DELEGATED_AUTH_NOT_ASSIGNED_TO_APPLICATION = 'DELEGATED_AUTH_NOT_ASSIGNED_TO_APPLICATION',\n /** An IDP connection of type AX_DELEGATED_AUTH must be configured and enabled to generate a Delegated Access Token. */\n DELEGATED_AUTH_NOT_CONFIGURED = 'DELEGATED_AUTH_NOT_CONFIGURED',\n /** An IDP Connection for provider 'Delegated Authentication' already exists. An environment can only have at most one IDP Connection with this provider. */\n DELEGATED_AUTH_PROVIDER_EXISTS = 'DELEGATED_AUTH_PROVIDER_EXISTS',\n /** Email(s) already used by another User account. Contact Axinom support to add this email to your account. */\n EMAIL_IN_USE = 'EMAIL_IN_USE',\n /** Error while encrypting */\n ENCRYPTION_ERROR = 'ENCRYPTION_ERROR',\n /** Error while generating End-User Application Access Token. */\n END_USER_ACCESS_TOKEN_GENERATION_ERROR = 'END_USER_ACCESS_TOKEN_GENERATION_ERROR',\n /** Error occurred while generating token for End User Application. */\n END_USER_APP_TOKEN_GENERATION_ERROR = 'END_USER_APP_TOKEN_GENERATION_ERROR',\n /** This is a wrapper error for the original unhandled error of unsupported type. */\n ERROR_WRAPPER = 'ERROR_WRAPPER',\n /** A GraphQL validation error has occurred. Please make sure that the GraphQL request is made with correct syntax or parameters. */\n GRAPHQL_VALIDATION_FAILED = 'GRAPHQL_VALIDATION_FAILED',\n /** The Hosting service is not accessible. Please contact Axinom support. */\n HOSTING_SERVICE_NOT_ACCESSIBLE = 'HOSTING_SERVICE_NOT_ACCESSIBLE',\n /** The Identity service is not accessible. Please contact Axinom support. */\n IDENTITY_SERVICE_NOT_ACCESSIBLE = 'IDENTITY_SERVICE_NOT_ACCESSIBLE',\n /** IDP Connection [%s] does not exist. */\n IDP_CONNECTION_DOES_NOT_EXIST = 'IDP_CONNECTION_DOES_NOT_EXIST',\n /** IDP Connection error. */\n IDP_CONNECTION_ERROR = 'IDP_CONNECTION_ERROR',\n /** The protocol is required when creating a custom provider for the first time. */\n IDP_PROTOCOL_MISSING = 'IDP_PROTOCOL_MISSING',\n /** Error occurred while generating token for Impersonated End User. */\n IMPERSONATED_END_USER_ACCESS_TOKEN_GENERATION_ERROR = 'IMPERSONATED_END_USER_ACCESS_TOKEN_GENERATION_ERROR',\n /** An unhandled and unexpected error has occurred. Please contact the service support. */\n INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR',\n /** Error accessing database. */\n INTERNAL_SERVER_OR_DB_ACCESS_ERROR = 'INTERNAL_SERVER_OR_DB_ACCESS_ERROR',\n /** Invalid constructor arguments for \"%s\". */\n INVALID_CONSTRUCTOR_ARGS = 'INVALID_CONSTRUCTOR_ARGS',\n /** Custom provider name cannot begin with 'Ax'. */\n INVALID_CUSTOM_PROVIDER_NAME = 'INVALID_CUSTOM_PROVIDER_NAME',\n /** Invalid email format. Please provide a valid email address. */\n INVALID_EMAIL_FORMAT = 'INVALID_EMAIL_FORMAT',\n /** Invalid URL format in [%s]. */\n INVALID_URL_FORMAT = 'INVALID_URL_FORMAT',\n /** User store category of the referenced user store ID must be 'END_USER'. */\n INVALID_USER_STORE_CATEGORY = 'INVALID_USER_STORE_CATEGORY',\n /** Error occurred while trying to fetch signing keys from the JWKS endpoint for the Tenant/Environment/Application. */\n JWKS_ERROR = 'JWKS_ERROR',\n /** Passed JWT is not a Mosaic End-User Token. Cannot be verified. */\n JWT_IS_NOT_MOSAIC_TOKEN = 'JWT_IS_NOT_MOSAIC_TOKEN',\n /** Malformed access token received */\n MALFORMED_TOKEN = 'MALFORMED_TOKEN',\n /** Could not find a matching signing key using JWKS. */\n MATCHING_SIGNING_KEY_NOT_FOUND = 'MATCHING_SIGNING_KEY_NOT_FOUND',\n /** The token is not an Authenticated End-User */\n NOT_AUTHENTICATED_END_USER = 'NOT_AUTHENTICATED_END_USER',\n /** The object is not a AuthenticatedManagementSubject */\n NOT_AUTHENTICATED_MANAGEMENT_SUBJECT = 'NOT_AUTHENTICATED_MANAGEMENT_SUBJECT',\n /** The object is not a AuthenticatedRequest */\n NOT_AUTHENTICATED_REQUEST = 'NOT_AUTHENTICATED_REQUEST',\n /** The token is not an End-User Application */\n NOT_END_USER_APPLICATION = 'NOT_END_USER_APPLICATION',\n /** The object is not an EndUserAuthenticationContext */\n NOT_END_USER_AUTHENTICATION_CONTEXT = 'NOT_END_USER_AUTHENTICATION_CONTEXT',\n /** The object is not a GenericAuthenticatedSubject */\n NOT_GENERIC_AUTHENTICATED_SUBJECT = 'NOT_GENERIC_AUTHENTICATED_SUBJECT',\n /** The object is not a ManagementAuthenticationContext */\n NOT_MANAGEMENT_AUTHENTICATION_CONTEXT = 'NOT_MANAGEMENT_AUTHENTICATION_CONTEXT',\n /** The %s is missing required properties: %s. */\n OBJECT_IS_MISSING_PROPERTIES = 'OBJECT_IS_MISSING_PROPERTIES',\n /** The provider name is already in use. Please use a different name or use the existing provider. */\n PROVIDER_NAME_IN_USE = 'PROVIDER_NAME_IN_USE',\n /** The Reference User Store ID does not exist in the AxAuth Service. */\n REFERENCE_USER_STORE_ID_NOT_FOUND = 'REFERENCE_USER_STORE_ID_NOT_FOUND',\n /** Service Configuration does not exist for the environment. */\n SERVICE_CONFIG_ERROR = 'SERVICE_CONFIG_ERROR',\n /** Could not find a matching signing key to verify the access token. The signing key used to create the token may have been revoked or the Tenant/Environment/Application configuration is erroneous. */\n SIGNING_KEY_NOT_FOUND = 'SIGNING_KEY_NOT_FOUND',\n /** An application startup error has occurred. The actual message will have more information. */\n STARTUP_ERROR = 'STARTUP_ERROR',\n /** User is authenticated, but subject information was not found. Please contact Axinom Support. */\n SUBJECT_INFORMATION_NOT_FOUND = 'SUBJECT_INFORMATION_NOT_FOUND',\n /** User is authenticated, but subject information was not found. Please contact Axinom Support. */\n SUBJECT_NOT_FOUND = 'SUBJECT_NOT_FOUND',\n /** User Token enrichment content cannot exceed 10240 characters. */\n TOKEN_ENRICHMENT_EXCEEDS_LIMIT = 'TOKEN_ENRICHMENT_EXCEEDS_LIMIT',\n /** Retrieving user information from Access Token Enrichment Webhook failed. */\n TOKEN_ENRICHMENT_WEBHOOK_FAILURE = 'TOKEN_ENRICHMENT_WEBHOOK_FAILURE',\n /** Token validity duration cannot exceed %s. */\n TOKEN_VALIDITY_DURATION_EXCEEDED = 'TOKEN_VALIDITY_DURATION_EXCEEDED',\n /** Unable to get the %s secret. Please contact Axinom Support. */\n UNABLE_TO_GET_SECRET = 'UNABLE_TO_GET_SECRET',\n /** Unable to set the %s secret. Please contact Axinom Support. */\n UNABLE_TO_SET_SECRET = 'UNABLE_TO_SET_SECRET',\n /** The subject has no permissions. */\n UNAUTHORIZED = 'UNAUTHORIZED',\n /** Unexpected null or undefined value received. */\n UNEXPECTED_NULL_UNDEFINED = 'UNEXPECTED_NULL_UNDEFINED',\n /** An unhandled error occurred while making requests through Axios. */\n UNHANDLED_AXIOS_ERROR = 'UNHANDLED_AXIOS_ERROR',\n /** An unhandled database-related error has occurred. Please contact the service support. */\n UNHANDLED_DATABASE_ERROR = 'UNHANDLED_DATABASE_ERROR',\n /** An unhandled error has occurred. Please contact the service support. */\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n /** Attempt to create or update an element failed, as it would have resulted in a duplicate element. */\n UNIQUE_CONSTRAINT_ERROR = 'UNIQUE_CONSTRAINT_ERROR',\n /** An error occurred while generating long lived token. %s. */\n UNKNOWN_ERROR_GENERATING_LONG_LIVED_TOKEN = 'UNKNOWN_ERROR_GENERATING_LONG_LIVED_TOKEN',\n /** Unsupported token type received to generateEndUserLongLivedToken. %s */\n UNSUPPORTED_TOKEN_RECEIVED = 'UNSUPPORTED_TOKEN_RECEIVED',\n /** No payload was found in User Info Retrieval webhook response. */\n USER_INFO_WEBHOOK_RESPONSE_PAYLOAD_NOT_FOUND = 'USER_INFO_WEBHOOK_RESPONSE_PAYLOAD_NOT_FOUND',\n /** User is not authorized to access the operation. */\n USER_NOT_AUTHORIZED = 'USER_NOT_AUTHORIZED',\n /** User does not exist or you have provided an invalid user ID. */\n USER_NOT_FOUND = 'USER_NOT_FOUND',\n /** The User service is not accessible. Please contact Axinom support. */\n USER_SERVICE_NOT_ACCESSIBLE = 'USER_SERVICE_NOT_ACCESSIBLE',\n /** User Store can only be set when creating an IDP Connection for the \"AxAuth\" provider. */\n USER_STORE_SHOULD_BE_EMPTY = 'USER_STORE_SHOULD_BE_EMPTY',\n /** A User Store is required when creating an IDP Connection for the \"AxAuth\" provider. */\n USER_STORE_SHOULD_NOT_BE_EMPTY = 'USER_STORE_SHOULD_NOT_BE_EMPTY',\n /** Could not decode the user token when trying to create a long-lived end-user token. */\n USER_TOKEN_DECODE_FAILED = 'USER_TOKEN_DECODE_FAILED',\n /** User token is expired. */\n USER_TOKEN_EXPIRED = 'USER_TOKEN_EXPIRED',\n /** The %s is not an object. */\n VALUE_IS_NOT_OBJECT = 'VALUE_IS_NOT_OBJECT',\n /** Unable to make a request to the webhook URL \"%s\". Please make sure that the endpoint is reachable. */\n WEBHOOK_ENDPOINT_NOT_REACHABLE = 'WEBHOOK_ENDPOINT_NOT_REACHABLE',\n /** A webhook request has failed. A more concrete error message will be returned with this code. */\n WEBHOOK_REQUEST_FAILURE = 'WEBHOOK_REQUEST_FAILURE',\n /** The webhook for the URL \"%s\" responded with error(s). Please check the details for more information. */\n WEBHOOK_RESPONDED_WITH_ERRORS = 'WEBHOOK_RESPONDED_WITH_ERRORS',\n /** The request to get the %s secret succeeded, but the secret was not found. Please contact Axinom Support. */\n WEBHOOK_SECRET_NOT_FOUND = 'WEBHOOK_SECRET_NOT_FOUND',\n /** The %s secret is not set. Please call an appropriate mutation to generate it. */\n WEBHOOK_SECRET_NOT_SET = 'WEBHOOK_SECRET_NOT_SET',\n /** Websocket not found in ExtendedGraphQLContext. This is a development time issue. A reference to the websocket must be included in Postgraphile build options. */\n WEBSOCKET_NOT_FOUND = 'WEBSOCKET_NOT_FOUND'\n}\n\nexport type GenerateAccessTokenEnrichmentWebhookSecretInput = {\n applicationId: Scalars['String'];\n};\n\nexport type GenerateAccessTokenEnrichmentWebhookSecretPayload = {\n __typename?: 'GenerateAccessTokenEnrichmentWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\nexport type GenerateApplicationKeyInput = {\n applicationId: Scalars['UUID'];\n};\n\nexport type GenerateApplicationKeyPayload = {\n __typename?: 'GenerateApplicationKeyPayload';\n applicationKey: Scalars['String'];\n};\n\nexport type GenerateDelegatedAccessTokenInput = {\n /** Application ID the Delegated Token that must be generated against. */\n applicationId: Scalars['UUID'];\n /**\n * Email address of the end-user on the external system\n * the token is generated for. This is an optional value.\n * When the email is not provided, the user will be identified only by\n * the subjectId.\n */\n email?: Maybe<Scalars['String']>;\n /**\n * Name of the end-user.\n * If a name is not given, the local-part of the email address (portion before the @ sign) is taken as the name.\n * If no email is given either, the name will have the UUID of the User.\n */\n name?: Maybe<Scalars['String']>;\n /**\n * Subject ID of the end-user given by the Authentication Provider.\n * This is a unique value to identify the user as determined by the external system.\n */\n subjectId: Scalars['String'];\n /**\n * A unique identifier which represents the user's profile on the external system.\n *\n * Based on the value of this identifier, either a new User Profile\n * will be created, or an existing User Profile will be associated with the token.\n *\n * If no value is provided, a default user profile will be created and associated\n * with the token (the same profile will be used in subsequent invocations).\n */\n uniqueProfileIdentifier?: Maybe<Scalars['String']>;\n};\n\nexport type GenerateDelegatedAccessTokenPayload = {\n __typename?: 'GenerateDelegatedAccessTokenPayload';\n accessToken: Scalars['String'];\n expiresInSeconds: Scalars['Int'];\n payload: EndUserAccessTokenPayload;\n tokenType: Scalars['String'];\n};\n\nexport type GenerateEndUserLongLivedTokenInput = {\n /** User access token to extend the validity period for. */\n userToken: Scalars['String'];\n /** Validity duration from time of invocation. Defaults to 30 days if unspecified. */\n validityDurationInSeconds?: Maybe<Scalars['Int']>;\n};\n\nexport type GenerateEndUserLongLivedTokenPayload = {\n __typename?: 'GenerateEndUserLongLivedTokenPayload';\n /** User Token expiration timeout in seconds */\n expiresInSeconds: Scalars['Int'];\n /** User Token type to use when making client requests */\n tokenType: Scalars['String'];\n /** Long lived user token */\n userToken: Scalars['String'];\n};\n\nexport type GenerateImpersonatedEndUserAccessTokenInput = {\n /** Application ID to be used in the generated token. */\n applicationId: Scalars['String'];\n /**\n * Profile ID to be used in the generated token.\n * If not specified, the user's default Profile ID will be used.\n */\n profileId?: Maybe<Scalars['String']>;\n /**\n * Token Expiration time in seconds.\n * If not specified, the default end-user token lifetime of the Application will be used.\n */\n tokenExpirationInSeconds?: Maybe<Scalars['Int']>;\n /** User ID to be used in the generated token (set as the 'sub' property). */\n userId: Scalars['String'];\n};\n\nexport type GenerateImpersonatedEndUserAccessTokenPayload = {\n __typename?: 'GenerateImpersonatedEndUserAccessTokenPayload';\n /** Impersonated End-User Access Token. */\n accessToken: Scalars['String'];\n expiresInSeconds: Scalars['Int'];\n tokenType: Scalars['String'];\n};\n\nexport type GenerateUserCreatedWebhookSecretInput = {\n serviceConfigurationId: Scalars['String'];\n};\n\nexport type GenerateUserCreatedWebhookSecretPayload = {\n __typename?: 'GenerateUserCreatedWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\nexport type GenerateUserInfoWebhookSecretInput = {\n idpConnectionId: Scalars['String'];\n};\n\nexport type GenerateUserInfoWebhookSecretPayload = {\n __typename?: 'GenerateUserInfoWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\n\n/** A filter to be used against IdpAdditionalParamsObject fields. All fields are combined with a logical ‘and.’ */\nexport type IdpAdditionalParamsObjectFilter = {\n /** Contained by the specified JSON. */\n containedBy?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Contains the specified JSON. */\n contains?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Contains all of the specified keys. */\n containsAllKeys?: Maybe<Array<Scalars['String']>>;\n /** Contains any of the specified keys. */\n containsAnyKeys?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified key. */\n containsKey?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['IdpAdditionalParamsObject']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['IdpAdditionalParamsObject']>>;\n};\n\nexport type IdpConnection = {\n __typename?: 'IdpConnection';\n additionalParams?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n allManagedScopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Reads and enables pagination through a set of `ApplicationIdpConnection`. */\n applicationIdpConnections: ApplicationIdpConnectionsConnection;\n authorizationEndpointUrl?: Maybe<Scalars['String']>;\n clientId?: Maybe<Scalars['String']>;\n clientSecret?: Maybe<Scalars['String']>;\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n discoveryDocumentUrl?: Maybe<Scalars['String']>;\n enabled: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n extraScopes?: Maybe<Array<Scalars['String']>>;\n id: Scalars['UUID'];\n protocol: IdpProtocol;\n providerIconUrl?: Maybe<Scalars['String']>;\n providerId: Scalars['String'];\n providerName?: Maybe<Scalars['String']>;\n referenceUserStoreId?: Maybe<Scalars['String']>;\n scopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n sortOrder?: Maybe<Scalars['Int']>;\n tenantId: Scalars['UUID'];\n title: Scalars['String'];\n tokenEndpointUrl?: Maybe<Scalars['String']>;\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n /** Reads and enables pagination through a set of `UserIdpDatum`. */\n userIdpData: UserIdpDataConnection;\n userInfoEndpointUrl?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhook?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhookSecretIsSet: Scalars['Boolean'];\n};\n\n\nexport type IdpConnectionApplicationIdpConnectionsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ApplicationIdpConnectionCondition>;\n filter?: Maybe<ApplicationIdpConnectionFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n\nexport type IdpConnectionUserIdpDataArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserIdpDatumCondition>;\n filter?: Maybe<UserIdpDatumFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserIdpDataOrderBy>>;\n};\n\n/**\n * A condition to be used against `IdpConnection` object types. All fields are\n * tested for equality and combined with a logical ‘and.’\n */\nexport type IdpConnectionCondition = {\n /** Checks for equality with the object’s `additionalParams` field. */\n additionalParams?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Checks for equality with the object’s `authorizationEndpointUrl` field. */\n authorizationEndpointUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `clientId` field. */\n clientId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `clientSecret` field. */\n clientSecret?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `discoveryDocumentUrl` field. */\n discoveryDocumentUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enabled` field. */\n enabled?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `protocol` field. */\n protocol?: Maybe<IdpProtocol>;\n /** Checks for equality with the object’s `providerIconUrl` field. */\n providerIconUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `providerId` field. */\n providerId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `referenceUserStoreId` field. */\n referenceUserStoreId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `scopes` field. */\n scopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Checks for equality with the object’s `sortOrder` field. */\n sortOrder?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `title` field. */\n title?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tokenEndpointUrl` field. */\n tokenEndpointUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userInfoEndpointUrl` field. */\n userInfoEndpointUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userInfoRetrievalWebhook` field. */\n userInfoRetrievalWebhook?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userInfoRetrievalWebhookSecretIsSet` field. */\n userInfoRetrievalWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** A filter to be used against `IdpConnection` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpConnectionFilter = {\n /** Filter by the object’s `additionalParams` field. */\n additionalParams?: Maybe<IdpAdditionalParamsObjectFilter>;\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<IdpConnectionFilter>>;\n /** Filter by the object’s `applicationIdpConnections` relation. */\n applicationIdpConnections?: Maybe<IdpConnectionToManyApplicationIdpConnectionFilter>;\n /** Some related `applicationIdpConnections` exist. */\n applicationIdpConnectionsExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `authorizationEndpointUrl` field. */\n authorizationEndpointUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `clientId` field. */\n clientId?: Maybe<StringFilter>;\n /** Filter by the object’s `clientSecret` field. */\n clientSecret?: Maybe<StringFilter>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `discoveryDocumentUrl` field. */\n discoveryDocumentUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `enabled` field. */\n enabled?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<IdpConnectionFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<IdpConnectionFilter>>;\n /** Filter by the object’s `protocol` field. */\n protocol?: Maybe<IdpProtocolFilter>;\n /** Filter by the object’s `providerIconUrl` field. */\n providerIconUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `providerId` field. */\n providerId?: Maybe<StringFilter>;\n /** Filter by the object’s `providerName` field. */\n providerName?: Maybe<StringFilter>;\n /** Filter by the object’s `referenceUserStoreId` field. */\n referenceUserStoreId?: Maybe<StringFilter>;\n /** Filter by the object’s `scopes` field. */\n scopes?: Maybe<StringListFilter>;\n /** Filter by the object’s `sortOrder` field. */\n sortOrder?: Maybe<IntFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `title` field. */\n title?: Maybe<StringFilter>;\n /** Filter by the object’s `tokenEndpointUrl` field. */\n tokenEndpointUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n /** Filter by the object’s `userIdpData` relation. */\n userIdpData?: Maybe<IdpConnectionToManyUserIdpDatumFilter>;\n /** Some related `userIdpData` exist. */\n userIdpDataExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `userInfoEndpointUrl` field. */\n userInfoEndpointUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `userInfoRetrievalWebhook` field. */\n userInfoRetrievalWebhook?: Maybe<StringFilter>;\n /** Filter by the object’s `userInfoRetrievalWebhookSecretIsSet` field. */\n userInfoRetrievalWebhookSecretIsSet?: Maybe<BooleanFilter>;\n};\n\n/** An input for mutations affecting `IdpConnection` */\nexport type IdpConnectionInput = {\n additionalParams?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n authorizationEndpointUrl?: Maybe<Scalars['String']>;\n clientId?: Maybe<Scalars['String']>;\n clientSecret?: Maybe<Scalars['String']>;\n discoveryDocumentUrl?: Maybe<Scalars['String']>;\n protocol?: Maybe<IdpProtocol>;\n providerIconUrl?: Maybe<Scalars['String']>;\n providerId: Scalars['String'];\n referenceUserStoreId?: Maybe<Scalars['String']>;\n scopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n sortOrder?: Maybe<Scalars['Int']>;\n title: Scalars['String'];\n tokenEndpointUrl?: Maybe<Scalars['String']>;\n userInfoEndpointUrl?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhook?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** Represents an update to a `IdpConnection`. Fields that are set will be updated. */\nexport type IdpConnectionPatch = {\n additionalParams?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n authorizationEndpointUrl?: Maybe<Scalars['String']>;\n clientId?: Maybe<Scalars['String']>;\n clientSecret?: Maybe<Scalars['String']>;\n discoveryDocumentUrl?: Maybe<Scalars['String']>;\n enabled?: Maybe<Scalars['Boolean']>;\n providerIconUrl?: Maybe<Scalars['String']>;\n scopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n sortOrder?: Maybe<Scalars['Int']>;\n title?: Maybe<Scalars['String']>;\n tokenEndpointUrl?: Maybe<Scalars['String']>;\n userInfoEndpointUrl?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhook?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** A connection to a list of `IdpConnection` values. */\nexport type IdpConnectionsConnection = {\n __typename?: 'IdpConnectionsConnection';\n /** A list of edges which contains the `IdpConnection` and cursor to aid in pagination. */\n edges: Array<IdpConnectionsEdge>;\n /** A list of `IdpConnection` objects. */\n nodes: Array<IdpConnection>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `IdpConnection` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `IdpConnection` edge in the connection. */\nexport type IdpConnectionsEdge = {\n __typename?: 'IdpConnectionsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `IdpConnection` at the end of the edge. */\n node: IdpConnection;\n};\n\n/** Methods to use when ordering `IdpConnection`. */\nexport enum IdpConnectionsOrderBy {\n ADDITIONAL_PARAMS_ASC = 'ADDITIONAL_PARAMS_ASC',\n ADDITIONAL_PARAMS_DESC = 'ADDITIONAL_PARAMS_DESC',\n AUTHORIZATION_ENDPOINT_URL_ASC = 'AUTHORIZATION_ENDPOINT_URL_ASC',\n AUTHORIZATION_ENDPOINT_URL_DESC = 'AUTHORIZATION_ENDPOINT_URL_DESC',\n CLIENT_ID_ASC = 'CLIENT_ID_ASC',\n CLIENT_ID_DESC = 'CLIENT_ID_DESC',\n CLIENT_SECRET_ASC = 'CLIENT_SECRET_ASC',\n CLIENT_SECRET_DESC = 'CLIENT_SECRET_DESC',\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n DISCOVERY_DOCUMENT_URL_ASC = 'DISCOVERY_DOCUMENT_URL_ASC',\n DISCOVERY_DOCUMENT_URL_DESC = 'DISCOVERY_DOCUMENT_URL_DESC',\n ENABLED_ASC = 'ENABLED_ASC',\n ENABLED_DESC = 'ENABLED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROTOCOL_ASC = 'PROTOCOL_ASC',\n PROTOCOL_DESC = 'PROTOCOL_DESC',\n PROVIDER_ICON_URL_ASC = 'PROVIDER_ICON_URL_ASC',\n PROVIDER_ICON_URL_DESC = 'PROVIDER_ICON_URL_DESC',\n PROVIDER_ID_ASC = 'PROVIDER_ID_ASC',\n PROVIDER_ID_DESC = 'PROVIDER_ID_DESC',\n PROVIDER_NAME_ASC = 'PROVIDER_NAME_ASC',\n PROVIDER_NAME_DESC = 'PROVIDER_NAME_DESC',\n REFERENCE_USER_STORE_ID_ASC = 'REFERENCE_USER_STORE_ID_ASC',\n REFERENCE_USER_STORE_ID_DESC = 'REFERENCE_USER_STORE_ID_DESC',\n SCOPES_ASC = 'SCOPES_ASC',\n SCOPES_DESC = 'SCOPES_DESC',\n SORT_ORDER_ASC = 'SORT_ORDER_ASC',\n SORT_ORDER_DESC = 'SORT_ORDER_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n TITLE_ASC = 'TITLE_ASC',\n TITLE_DESC = 'TITLE_DESC',\n TOKEN_ENDPOINT_URL_ASC = 'TOKEN_ENDPOINT_URL_ASC',\n TOKEN_ENDPOINT_URL_DESC = 'TOKEN_ENDPOINT_URL_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC',\n USER_INFO_ENDPOINT_URL_ASC = 'USER_INFO_ENDPOINT_URL_ASC',\n USER_INFO_ENDPOINT_URL_DESC = 'USER_INFO_ENDPOINT_URL_DESC',\n USER_INFO_RETRIEVAL_WEBHOOK_ASC = 'USER_INFO_RETRIEVAL_WEBHOOK_ASC',\n USER_INFO_RETRIEVAL_WEBHOOK_DESC = 'USER_INFO_RETRIEVAL_WEBHOOK_DESC',\n USER_INFO_RETRIEVAL_WEBHOOK_SECRET_IS_SET_ASC = 'USER_INFO_RETRIEVAL_WEBHOOK_SECRET_IS_SET_ASC',\n USER_INFO_RETRIEVAL_WEBHOOK_SECRET_IS_SET_DESC = 'USER_INFO_RETRIEVAL_WEBHOOK_SECRET_IS_SET_DESC'\n}\n\n/** A filter to be used against many `ApplicationIdpConnection` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpConnectionToManyApplicationIdpConnectionFilter = {\n /** Every related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<ApplicationIdpConnectionFilter>;\n /** No related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<ApplicationIdpConnectionFilter>;\n /** Some related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<ApplicationIdpConnectionFilter>;\n};\n\n/** A filter to be used against many `UserIdpDatum` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpConnectionToManyUserIdpDatumFilter = {\n /** Every related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<UserIdpDatumFilter>;\n /** No related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<UserIdpDatumFilter>;\n /** Some related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<UserIdpDatumFilter>;\n};\n\nexport enum IdpProtocol {\n /** Delegated */\n DELEGATED = 'DELEGATED',\n /** OAuth 2.0 */\n OAUTH2 = 'OAUTH2',\n /** OIDC */\n OIDC = 'OIDC'\n}\n\n/** A filter to be used against IdpProtocol fields. All fields are combined with a logical ‘and.’ */\nexport type IdpProtocolFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<IdpProtocol>;\n /** Equal to the specified value. */\n equalTo?: Maybe<IdpProtocol>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<IdpProtocol>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<IdpProtocol>;\n /** Included in the specified list. */\n in?: Maybe<Array<IdpProtocol>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<IdpProtocol>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<IdpProtocol>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<IdpProtocol>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<IdpProtocol>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<IdpProtocol>>;\n};\n\nexport type IdProvider = {\n __typename?: 'IdProvider';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n id: Scalars['String'];\n name: Scalars['String'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n/**\n * A condition to be used against `IdProvider` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type IdProviderCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `IdProvider` object types. All fields are combined with a logical ‘and.’ */\nexport type IdProviderFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<IdProviderFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<StringFilter>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<IdProviderFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<IdProviderFilter>>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\n/** A connection to a list of `IdProvider` values. */\nexport type IdProvidersConnection = {\n __typename?: 'IdProvidersConnection';\n /** A list of edges which contains the `IdProvider` and cursor to aid in pagination. */\n edges: Array<IdProvidersEdge>;\n /** A list of `IdProvider` objects. */\n nodes: Array<IdProvider>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `IdProvider` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `IdProvider` edge in the connection. */\nexport type IdProvidersEdge = {\n __typename?: 'IdProvidersEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `IdProvider` at the end of the edge. */\n node: IdProvider;\n};\n\n/** Methods to use when ordering `IdProvider`. */\nexport enum IdProvidersOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** A filter to be used against Int fields. All fields are combined with a logical ‘and.’ */\nexport type IntFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Int']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Int']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Int']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Int']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Int']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Int']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Int']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Int']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Int']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Int']>>;\n};\n\n\n/** A filter to be used against JSON fields. All fields are combined with a logical ‘and.’ */\nexport type JsonFilter = {\n /** Contained by the specified JSON. */\n containedBy?: Maybe<Scalars['JSON']>;\n /** Contains the specified JSON. */\n contains?: Maybe<Scalars['JSON']>;\n /** Contains all of the specified keys. */\n containsAllKeys?: Maybe<Array<Scalars['String']>>;\n /** Contains any of the specified keys. */\n containsAnyKeys?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified key. */\n containsKey?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['JSON']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['JSON']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['JSON']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['JSON']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['JSON']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['JSON']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['JSON']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['JSON']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['JSON']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['JSON']>>;\n};\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type Mutation = {\n __typename?: 'Mutation';\n /** Adds a custom mutation to authenticate an end-user application token for a given tenant/environment/application combination */\n authenticateEndUserApplication: AuthenticateEndUserApplicationPayload;\n clearAccessTokenEnrichmentWebhookSecret: ClearAccessTokenEnrichmentWebhookSecretPayload;\n clearUserCreatedWebhookSecret: ClearUserCreatedWebhookSecretPayload;\n clearUserInfoWebhookSecret: ClearUserInfoWebhookSecretPayload;\n /** Creates a single `Application`. */\n createApplication?: Maybe<CreateApplicationPayload>;\n /** Creates a single `ApplicationIdpConnection`. */\n createApplicationIdpConnection?: Maybe<CreateApplicationIdpConnectionPayload>;\n /** Creates a single `IdpConnection`. */\n createIdpConnection?: Maybe<CreateIdpConnectionPayload>;\n /** Creates a single `UserProfile`. */\n createUserProfile?: Maybe<CreateUserProfilePayload>;\n /**\n * Custom mutation to to decrypt any value encrypted with AES256-CBC algorithm.\n * This can be used for decrypting the cookie object passed to native apps using deep linking.\n */\n decryptWithKeyAes: DecryptWithKeyAesPayload;\n /** Deletes a single `Application` using a unique key. */\n deleteApplication?: Maybe<DeleteApplicationPayload>;\n /** Deletes a single `ApplicationIdpConnection` using a unique key. */\n deleteApplicationIdpConnection?: Maybe<DeleteApplicationIdpConnectionPayload>;\n /** Deletes a single `IdpConnection` using a unique key. */\n deleteIdpConnection?: Maybe<DeleteIdpConnectionPayload>;\n /** Deletes a single `User` using a unique key. */\n deleteUser?: Maybe<DeleteUserPayload>;\n /** Deletes a single `UserIdpDatum` using a unique key. */\n deleteUserIdpDatum?: Maybe<DeleteUserIdpDatumPayload>;\n /** Deletes a single `UserProfile` using a unique key. */\n deleteUserProfile?: Maybe<DeleteUserProfilePayload>;\n /**\n * Generate a development-time End-User access-token.\n *\n * NOTE: The access-token will be generated against non-existent user & profile data. If the access-token is\n * used to query/mutate the user-service, the request will most likely result in no-data or an exception.\n */\n devGenerateEndUserAccessToken?: Maybe<DevGenerateEndUserAccessTokenPayload>;\n /**\n * Custom mutation to to encrypt any value with AES256-CBC algorithm.\n * This can be used for encrypting the cookie object passed to native apps using deep linking.\n */\n encryptWithKeyAes: EncryptWithKeyAesPayload;\n generateAccessTokenEnrichmentWebhookSecret: GenerateAccessTokenEnrichmentWebhookSecretPayload;\n /** Adds a custom mutation to generate an Application Key for a given Application ID. */\n generateApplicationKey: GenerateApplicationKeyPayload;\n /** Adds a custom mutation to generated a delegated end-user access token for a given tenant/environment/application/email combination */\n generateDelegatedAccessToken: GenerateDelegatedAccessTokenPayload;\n /** Generate a long lived access token for a user access token */\n generateEndUserLongLivedToken: GenerateEndUserLongLivedTokenPayload;\n /** Adds a custom mutation to generated impersonated end user token for a given application/user/profile combination */\n generateImpersonatedEndUserToken: GenerateImpersonatedEndUserAccessTokenPayload;\n generateUserCreatedWebhookSecret: GenerateUserCreatedWebhookSecretPayload;\n generateUserInfoWebhookSecret: GenerateUserInfoWebhookSecretPayload;\n /** Adds a custom mutation to revoke and rotate the user token signing key */\n revokeAndRotateUserTokenSigningKey: RevokeAndRotateUserTokenSigningKeyPayload;\n /** Updates a single `Application` using a unique key and a patch. */\n updateApplication?: Maybe<UpdateApplicationPayload>;\n /** Updates a single `IdpConnection` using a unique key and a patch. */\n updateIdpConnection?: Maybe<UpdateIdpConnectionPayload>;\n /** Updates a single `ServiceConfiguration` using a unique key and a patch. */\n updateServiceConfiguration?: Maybe<UpdateServiceConfigurationPayload>;\n /** Updates a single `User` using a unique key and a patch. */\n updateUser?: Maybe<UpdateUserPayload>;\n /** Updates a single `UserProfile` using a unique key and a patch. */\n updateUserProfile?: Maybe<UpdateUserProfilePayload>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationAuthenticateEndUserApplicationArgs = {\n input: AuthenticateEndUserApplicationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearAccessTokenEnrichmentWebhookSecretArgs = {\n input: ClearAccessTokenEnrichmentWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearUserCreatedWebhookSecretArgs = {\n input: ClearUserCreatedWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearUserInfoWebhookSecretArgs = {\n input: ClearUserInfoWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateApplicationArgs = {\n input: CreateApplicationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateApplicationIdpConnectionArgs = {\n input: CreateApplicationIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateIdpConnectionArgs = {\n input: CreateIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateUserProfileArgs = {\n input: CreateUserProfileInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDecryptWithKeyAesArgs = {\n input: DecryptWithKeyAesInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteApplicationArgs = {\n input: DeleteApplicationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteApplicationIdpConnectionArgs = {\n input: DeleteApplicationIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteIdpConnectionArgs = {\n input: DeleteIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteUserArgs = {\n input: DeleteUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteUserIdpDatumArgs = {\n input: DeleteUserIdpDatumInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteUserProfileArgs = {\n input: DeleteUserProfileInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDevGenerateEndUserAccessTokenArgs = {\n input: DevGenerateEndUserAccessTokenInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationEncryptWithKeyAesArgs = {\n input: EncryptWithKeyAesInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateAccessTokenEnrichmentWebhookSecretArgs = {\n input: GenerateAccessTokenEnrichmentWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateApplicationKeyArgs = {\n input: GenerateApplicationKeyInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateDelegatedAccessTokenArgs = {\n input: GenerateDelegatedAccessTokenInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateEndUserLongLivedTokenArgs = {\n input: GenerateEndUserLongLivedTokenInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateImpersonatedEndUserTokenArgs = {\n input: GenerateImpersonatedEndUserAccessTokenInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateUserCreatedWebhookSecretArgs = {\n input: GenerateUserCreatedWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateUserInfoWebhookSecretArgs = {\n input: GenerateUserInfoWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationRevokeAndRotateUserTokenSigningKeyArgs = {\n applicationId: Scalars['UUID'];\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateApplicationArgs = {\n input: UpdateApplicationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateIdpConnectionArgs = {\n input: UpdateIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateServiceConfigurationArgs = {\n input: UpdateServiceConfigurationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateUserArgs = {\n input: UpdateUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateUserProfileArgs = {\n input: UpdateUserProfileInput;\n};\n\n/** Information about pagination in a connection. */\nexport type PageInfo = {\n __typename?: 'PageInfo';\n /** When paginating forwards, the cursor to continue. */\n endCursor?: Maybe<Scalars['Cursor']>;\n /** When paginating forwards, are there more items? */\n hasNextPage: Scalars['Boolean'];\n /** When paginating backwards, are there more items? */\n hasPreviousPage: Scalars['Boolean'];\n /** When paginating backwards, the cursor to continue. */\n startCursor?: Maybe<Scalars['Cursor']>;\n};\n\n/** The root query type which gives access points into the data universe. */\nexport type Query = {\n __typename?: 'Query';\n application?: Maybe<Application>;\n applicationIdpConnection?: Maybe<ApplicationIdpConnection>;\n /** Reads and enables pagination through a set of `ApplicationIdpConnection`. */\n applicationIdpConnections?: Maybe<ApplicationIdpConnectionsConnection>;\n /** Reads and enables pagination through a set of `Application`. */\n applications?: Maybe<ApplicationsConnection>;\n idpConnection?: Maybe<IdpConnection>;\n /** Reads and enables pagination through a set of `IdpConnection`. */\n idpConnections?: Maybe<IdpConnectionsConnection>;\n /** Reads and enables pagination through a set of `IdProvider`. */\n idProviders?: Maybe<IdProvidersConnection>;\n /**\n * Exposes the root query type nested one level down. This is helpful for Relay 1\n * which can only query top level fields if they are in a particular form.\n */\n query: Query;\n serviceConfiguration?: Maybe<ServiceConfiguration>;\n /** Reads and enables pagination through a set of `ServiceConfiguration`. */\n serviceConfigurations?: Maybe<ServiceConfigurationsConnection>;\n user?: Maybe<User>;\n /** Reads and enables pagination through a set of `UserIdpDatum`. */\n userIdpData?: Maybe<UserIdpDataConnection>;\n userIdpDatum?: Maybe<UserIdpDatum>;\n userProfile?: Maybe<UserProfile>;\n /** Reads and enables pagination through a set of `UserProfile`. */\n userProfiles?: Maybe<UserProfilesConnection>;\n /** Reads and enables pagination through a set of `User`. */\n users?: Maybe<UsersConnection>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryApplicationArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryApplicationIdpConnectionArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryApplicationIdpConnectionsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ApplicationIdpConnectionCondition>;\n filter?: Maybe<ApplicationIdpConnectionFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryApplicationsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ApplicationCondition>;\n filter?: Maybe<ApplicationFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ApplicationsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpConnectionArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpConnectionsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdpConnectionCondition>;\n filter?: Maybe<IdpConnectionFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdpConnectionsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdProvidersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdProviderCondition>;\n filter?: Maybe<IdProviderFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdProvidersOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryServiceConfigurationArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryServiceConfigurationsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ServiceConfigurationCondition>;\n filter?: Maybe<ServiceConfigurationFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ServiceConfigurationsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserIdpDataArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserIdpDatumCondition>;\n filter?: Maybe<UserIdpDatumFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserIdpDataOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserIdpDatumArgs = {\n idpConnectionId: Scalars['UUID'];\n userId: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserProfileArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserProfilesArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserProfileCondition>;\n filter?: Maybe<UserProfileFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUsersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserCondition>;\n filter?: Maybe<UserFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UsersOrderBy>>;\n};\n\nexport type RevokeAndRotateUserTokenSigningKeyPayload = {\n __typename?: 'RevokeAndRotateUserTokenSigningKeyPayload';\n tokenSigningKey: RevokedUserTokenSigningKey;\n};\n\nexport type RevokedUserTokenSigningKey = {\n __typename?: 'RevokedUserTokenSigningKey';\n applicationId?: Maybe<Scalars['UUID']>;\n environmentId?: Maybe<Scalars['UUID']>;\n kid: Scalars['String'];\n nextRotationAt: Scalars['Datetime'];\n tenantId?: Maybe<Scalars['UUID']>;\n};\n\nexport type ServiceConfiguration = {\n __typename?: 'ServiceConfiguration';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n signingKeyRotationInterval: Scalars['Int'];\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n userCreatedWebhookSecretIsSet: Scalars['Boolean'];\n userCreatedWebhookUrl?: Maybe<Scalars['String']>;\n webhookTimeout: Scalars['Int'];\n};\n\n/**\n * A condition to be used against `ServiceConfiguration` object types. All fields\n * are tested for equality and combined with a logical ‘and.’\n */\nexport type ServiceConfigurationCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `signingKeyRotationInterval` field. */\n signingKeyRotationInterval?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userCreatedWebhookSecretIsSet` field. */\n userCreatedWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `userCreatedWebhookUrl` field. */\n userCreatedWebhookUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `webhookTimeout` field. */\n webhookTimeout?: Maybe<Scalars['Int']>;\n};\n\n/** A filter to be used against `ServiceConfiguration` object types. All fields are combined with a logical ‘and.’ */\nexport type ServiceConfigurationFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<ServiceConfigurationFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<ServiceConfigurationFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<ServiceConfigurationFilter>>;\n /** Filter by the object’s `signingKeyRotationInterval` field. */\n signingKeyRotationInterval?: Maybe<IntFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n /** Filter by the object’s `userCreatedWebhookSecretIsSet` field. */\n userCreatedWebhookSecretIsSet?: Maybe<BooleanFilter>;\n /** Filter by the object’s `userCreatedWebhookUrl` field. */\n userCreatedWebhookUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `webhookTimeout` field. */\n webhookTimeout?: Maybe<IntFilter>;\n};\n\n/** Represents an update to a `ServiceConfiguration`. Fields that are set will be updated. */\nexport type ServiceConfigurationPatch = {\n signingKeyRotationInterval?: Maybe<Scalars['Int']>;\n userCreatedWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n userCreatedWebhookUrl?: Maybe<Scalars['String']>;\n webhookTimeout?: Maybe<Scalars['Int']>;\n};\n\n/** A connection to a list of `ServiceConfiguration` values. */\nexport type ServiceConfigurationsConnection = {\n __typename?: 'ServiceConfigurationsConnection';\n /** A list of edges which contains the `ServiceConfiguration` and cursor to aid in pagination. */\n edges: Array<ServiceConfigurationsEdge>;\n /** A list of `ServiceConfiguration` objects. */\n nodes: Array<ServiceConfiguration>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `ServiceConfiguration` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `ServiceConfiguration` edge in the connection. */\nexport type ServiceConfigurationsEdge = {\n __typename?: 'ServiceConfigurationsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `ServiceConfiguration` at the end of the edge. */\n node: ServiceConfiguration;\n};\n\n/** Methods to use when ordering `ServiceConfiguration`. */\nexport enum ServiceConfigurationsOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n SIGNING_KEY_ROTATION_INTERVAL_ASC = 'SIGNING_KEY_ROTATION_INTERVAL_ASC',\n SIGNING_KEY_ROTATION_INTERVAL_DESC = 'SIGNING_KEY_ROTATION_INTERVAL_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC',\n USER_CREATED_WEBHOOK_SECRET_IS_SET_ASC = 'USER_CREATED_WEBHOOK_SECRET_IS_SET_ASC',\n USER_CREATED_WEBHOOK_SECRET_IS_SET_DESC = 'USER_CREATED_WEBHOOK_SECRET_IS_SET_DESC',\n USER_CREATED_WEBHOOK_URL_ASC = 'USER_CREATED_WEBHOOK_URL_ASC',\n USER_CREATED_WEBHOOK_URL_DESC = 'USER_CREATED_WEBHOOK_URL_DESC',\n WEBHOOK_TIMEOUT_ASC = 'WEBHOOK_TIMEOUT_ASC',\n WEBHOOK_TIMEOUT_DESC = 'WEBHOOK_TIMEOUT_DESC'\n}\n\n/** A filter to be used against String fields. All fields are combined with a logical ‘and.’ */\nexport type StringFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */\n distinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-sensitive). */\n endsWith?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-insensitive). */\n endsWithInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['String']>;\n /** Equal to the specified value (case-insensitive). */\n equalToInsensitive?: Maybe<Scalars['String']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['String']>;\n /** Greater than the specified value (case-insensitive). */\n greaterThanInsensitive?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value (case-insensitive). */\n greaterThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified string (case-sensitive). */\n includes?: Maybe<Scalars['String']>;\n /** Contains the specified string (case-insensitive). */\n includesInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list (case-insensitive). */\n inInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['String']>;\n /** Less than the specified value (case-insensitive). */\n lessThanInsensitive?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value (case-insensitive). */\n lessThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n like?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n likeInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */\n notDistinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-sensitive). */\n notEndsWith?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-insensitive). */\n notEndsWithInsensitive?: Maybe<Scalars['String']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['String']>;\n /** Not equal to the specified value (case-insensitive). */\n notEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['String']>>;\n /** Does not contain the specified string (case-sensitive). */\n notIncludes?: Maybe<Scalars['String']>;\n /** Does not contain the specified string (case-insensitive). */\n notIncludesInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list (case-insensitive). */\n notInInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLike?: Maybe<Scalars['String']>;\n /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLikeInsensitive?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-sensitive). */\n notStartsWith?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-insensitive). */\n notStartsWithInsensitive?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-sensitive). */\n startsWith?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-insensitive). */\n startsWithInsensitive?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against String List fields. All fields are combined with a logical ‘and.’ */\nexport type StringListFilter = {\n /** Any array item is equal to the specified value. */\n anyEqualTo?: Maybe<Scalars['String']>;\n /** Any array item is greater than the specified value. */\n anyGreaterThan?: Maybe<Scalars['String']>;\n /** Any array item is greater than or equal to the specified value. */\n anyGreaterThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Any array item is less than the specified value. */\n anyLessThan?: Maybe<Scalars['String']>;\n /** Any array item is less than or equal to the specified value. */\n anyLessThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Any array item is not equal to the specified value. */\n anyNotEqualTo?: Maybe<Scalars['String']>;\n /** Contained by the specified list of values. */\n containedBy?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Contains the specified list of values. */\n contains?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Overlaps the specified list of values. */\n overlaps?: Maybe<Array<Maybe<Scalars['String']>>>;\n};\n\n/** All input for the `updateApplication` mutation. */\nexport type UpdateApplicationInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `Application` being updated. */\n patch: ApplicationPatch;\n};\n\n/** The output of our update `Application` mutation. */\nexport type UpdateApplicationPayload = {\n __typename?: 'UpdateApplicationPayload';\n /** The `Application` that was updated by this mutation. */\n application?: Maybe<Application>;\n /** An edge for our `Application`. May be used by Relay 1. */\n applicationEdge?: Maybe<ApplicationsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our update `Application` mutation. */\nexport type UpdateApplicationPayloadApplicationEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationsOrderBy>>;\n};\n\n/** All input for the `updateIdpConnection` mutation. */\nexport type UpdateIdpConnectionInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `IdpConnection` being updated. */\n patch: IdpConnectionPatch;\n};\n\n/** The output of our update `IdpConnection` mutation. */\nexport type UpdateIdpConnectionPayload = {\n __typename?: 'UpdateIdpConnectionPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpConnection` that was updated by this mutation. */\n idpConnection?: Maybe<IdpConnection>;\n /** An edge for our `IdpConnection`. May be used by Relay 1. */\n idpConnectionEdge?: Maybe<IdpConnectionsEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our update `IdpConnection` mutation. */\nexport type UpdateIdpConnectionPayloadIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<IdpConnectionsOrderBy>>;\n};\n\n/** All input for the `updateServiceConfiguration` mutation. */\nexport type UpdateServiceConfigurationInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `ServiceConfiguration` being updated. */\n patch: ServiceConfigurationPatch;\n};\n\n/** The output of our update `ServiceConfiguration` mutation. */\nexport type UpdateServiceConfigurationPayload = {\n __typename?: 'UpdateServiceConfigurationPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `ServiceConfiguration` that was updated by this mutation. */\n serviceConfiguration?: Maybe<ServiceConfiguration>;\n /** An edge for our `ServiceConfiguration`. May be used by Relay 1. */\n serviceConfigurationEdge?: Maybe<ServiceConfigurationsEdge>;\n};\n\n\n/** The output of our update `ServiceConfiguration` mutation. */\nexport type UpdateServiceConfigurationPayloadServiceConfigurationEdgeArgs = {\n orderBy?: Maybe<Array<ServiceConfigurationsOrderBy>>;\n};\n\n/** All input for the `updateUser` mutation. */\nexport type UpdateUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `User` being updated. */\n patch: UserPatch;\n};\n\n/** The output of our update `User` mutation. */\nexport type UpdateUserPayload = {\n __typename?: 'UpdateUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `User` that was updated by this mutation. */\n user?: Maybe<User>;\n /** An edge for our `User`. May be used by Relay 1. */\n userEdge?: Maybe<UsersEdge>;\n};\n\n\n/** The output of our update `User` mutation. */\nexport type UpdateUserPayloadUserEdgeArgs = {\n orderBy?: Maybe<Array<UsersOrderBy>>;\n};\n\n/** All input for the `updateUserProfile` mutation. */\nexport type UpdateUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `UserProfile` being updated. */\n patch: UserProfilePatch;\n};\n\n/** The output of our update `UserProfile` mutation. */\nexport type UpdateUserProfilePayload = {\n __typename?: 'UpdateUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** Reads a single `User` that is related to this `UserProfile`. */\n user?: Maybe<User>;\n /** The `UserProfile` that was updated by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our update `UserProfile` mutation. */\nexport type UpdateUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\nexport type User = {\n __typename?: 'User';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n email?: Maybe<Scalars['String']>;\n enabled: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n lastActiveAt: Scalars['Datetime'];\n loginCount: Scalars['Int'];\n name?: Maybe<Scalars['String']>;\n phone?: Maybe<Scalars['String']>;\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n /** Reads and enables pagination through a set of `UserIdpDatum`. */\n userIdpData: UserIdpDataConnection;\n /** Reads and enables pagination through a set of `UserProfile`. */\n userProfiles: UserProfilesConnection;\n};\n\n\nexport type UserUserIdpDataArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserIdpDatumCondition>;\n filter?: Maybe<UserIdpDatumFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserIdpDataOrderBy>>;\n};\n\n\nexport type UserUserProfilesArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserProfileCondition>;\n filter?: Maybe<UserProfileFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n/** A condition to be used against `User` object types. All fields are tested for equality and combined with a logical ‘and.’ */\nexport type UserCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `email` field. */\n email?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enabled` field. */\n enabled?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `lastActiveAt` field. */\n lastActiveAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `loginCount` field. */\n loginCount?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `phone` field. */\n phone?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `User` object types. All fields are combined with a logical ‘and.’ */\nexport type UserFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `email` field. */\n email?: Maybe<StringFilter>;\n /** Filter by the object’s `enabled` field. */\n enabled?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `lastActiveAt` field. */\n lastActiveAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `loginCount` field. */\n loginCount?: Maybe<IntFilter>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<UserFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserFilter>>;\n /** Filter by the object’s `phone` field. */\n phone?: Maybe<StringFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n /** Filter by the object’s `userIdpData` relation. */\n userIdpData?: Maybe<UserToManyUserIdpDatumFilter>;\n /** Some related `userIdpData` exist. */\n userIdpDataExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `userProfiles` relation. */\n userProfiles?: Maybe<UserToManyUserProfileFilter>;\n /** Some related `userProfiles` exist. */\n userProfilesExist?: Maybe<Scalars['Boolean']>;\n};\n\n/** A connection to a list of `UserIdpDatum` values. */\nexport type UserIdpDataConnection = {\n __typename?: 'UserIdpDataConnection';\n /** A list of edges which contains the `UserIdpDatum` and cursor to aid in pagination. */\n edges: Array<UserIdpDataEdge>;\n /** A list of `UserIdpDatum` objects. */\n nodes: Array<UserIdpDatum>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `UserIdpDatum` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `UserIdpDatum` edge in the connection. */\nexport type UserIdpDataEdge = {\n __typename?: 'UserIdpDataEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `UserIdpDatum` at the end of the edge. */\n node: UserIdpDatum;\n};\n\n/** Methods to use when ordering `UserIdpDatum`. */\nexport enum UserIdpDataOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n IDP_CONNECTION_ID_ASC = 'IDP_CONNECTION_ID_ASC',\n IDP_CONNECTION_ID_DESC = 'IDP_CONNECTION_ID_DESC',\n IDP_SUBJECT_ID_ASC = 'IDP_SUBJECT_ID_ASC',\n IDP_SUBJECT_ID_DESC = 'IDP_SUBJECT_ID_DESC',\n INITIAL_IDP_REFRESH_TOKEN_ASC = 'INITIAL_IDP_REFRESH_TOKEN_ASC',\n INITIAL_IDP_REFRESH_TOKEN_DESC = 'INITIAL_IDP_REFRESH_TOKEN_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROVIDER_ID_ASC = 'PROVIDER_ID_ASC',\n PROVIDER_ID_DESC = 'PROVIDER_ID_DESC',\n RAW_PAYLOAD_ASC = 'RAW_PAYLOAD_ASC',\n RAW_PAYLOAD_DESC = 'RAW_PAYLOAD_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n USER_ID_ASC = 'USER_ID_ASC',\n USER_ID_DESC = 'USER_ID_DESC'\n}\n\nexport type UserIdpDatum = {\n __typename?: 'UserIdpDatum';\n createdDate: Scalars['Datetime'];\n /** Reads a single `IdpConnection` that is related to this `UserIdpDatum`. */\n idpConnection?: Maybe<IdpConnection>;\n idpConnectionId: Scalars['UUID'];\n idpSubjectId: Scalars['String'];\n initialIdpRefreshToken?: Maybe<Scalars['String']>;\n providerId: Scalars['String'];\n rawPayload: Scalars['JSON'];\n updatedDate: Scalars['Datetime'];\n /** Reads a single `User` that is related to this `UserIdpDatum`. */\n user?: Maybe<User>;\n userId: Scalars['UUID'];\n};\n\n/**\n * A condition to be used against `UserIdpDatum` object types. All fields are\n * tested for equality and combined with a logical ‘and.’\n */\nexport type UserIdpDatumCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `idpConnectionId` field. */\n idpConnectionId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `idpSubjectId` field. */\n idpSubjectId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `initialIdpRefreshToken` field. */\n initialIdpRefreshToken?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `providerId` field. */\n providerId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `rawPayload` field. */\n rawPayload?: Maybe<Scalars['JSON']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `userId` field. */\n userId?: Maybe<Scalars['UUID']>;\n};\n\n/** A filter to be used against `UserIdpDatum` object types. All fields are combined with a logical ‘and.’ */\nexport type UserIdpDatumFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserIdpDatumFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `idpConnection` relation. */\n idpConnection?: Maybe<IdpConnectionFilter>;\n /** Filter by the object’s `idpConnectionId` field. */\n idpConnectionId?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpSubjectId` field. */\n idpSubjectId?: Maybe<StringFilter>;\n /** Filter by the object’s `initialIdpRefreshToken` field. */\n initialIdpRefreshToken?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<UserIdpDatumFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserIdpDatumFilter>>;\n /** Filter by the object’s `providerId` field. */\n providerId?: Maybe<StringFilter>;\n /** Filter by the object’s `rawPayload` field. */\n rawPayload?: Maybe<JsonFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `user` relation. */\n user?: Maybe<UserFilter>;\n /** Filter by the object’s `userId` field. */\n userId?: Maybe<UuidFilter>;\n};\n\n/** Represents an update to a `User`. Fields that are set will be updated. */\nexport type UserPatch = {\n email?: Maybe<Scalars['String']>;\n enabled?: Maybe<Scalars['Boolean']>;\n lastActiveAt?: Maybe<Scalars['Datetime']>;\n loginCount?: Maybe<Scalars['Int']>;\n name?: Maybe<Scalars['String']>;\n phone?: Maybe<Scalars['String']>;\n};\n\nexport type UserProfile = {\n __typename?: 'UserProfile';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n defaultProfile: Scalars['Boolean'];\n displayName: Scalars['String'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n profilePictureUrl?: Maybe<Scalars['String']>;\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n /** Reads a single `User` that is related to this `UserProfile`. */\n user?: Maybe<User>;\n userId: Scalars['UUID'];\n};\n\n/**\n * A condition to be used against `UserProfile` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type UserProfileCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `defaultProfile` field. */\n defaultProfile?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `displayName` field. */\n displayName?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userId` field. */\n userId?: Maybe<Scalars['UUID']>;\n};\n\n/** A filter to be used against `UserProfile` object types. All fields are combined with a logical ‘and.’ */\nexport type UserProfileFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserProfileFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `defaultProfile` field. */\n defaultProfile?: Maybe<BooleanFilter>;\n /** Filter by the object’s `displayName` field. */\n displayName?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<UserProfileFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserProfileFilter>>;\n /** Filter by the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n /** Filter by the object’s `user` relation. */\n user?: Maybe<UserFilter>;\n /** Filter by the object’s `userId` field. */\n userId?: Maybe<UuidFilter>;\n};\n\n/** An input for mutations affecting `UserProfile` */\nexport type UserProfileInput = {\n defaultProfile?: Maybe<Scalars['Boolean']>;\n displayName: Scalars['String'];\n profilePictureUrl?: Maybe<Scalars['String']>;\n userId: Scalars['UUID'];\n};\n\n/** Represents an update to a `UserProfile`. Fields that are set will be updated. */\nexport type UserProfilePatch = {\n displayName?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n};\n\n/** A connection to a list of `UserProfile` values. */\nexport type UserProfilesConnection = {\n __typename?: 'UserProfilesConnection';\n /** A list of edges which contains the `UserProfile` and cursor to aid in pagination. */\n edges: Array<UserProfilesEdge>;\n /** A list of `UserProfile` objects. */\n nodes: Array<UserProfile>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `UserProfile` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `UserProfile` edge in the connection. */\nexport type UserProfilesEdge = {\n __typename?: 'UserProfilesEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `UserProfile` at the end of the edge. */\n node: UserProfile;\n};\n\n/** Methods to use when ordering `UserProfile`. */\nexport enum UserProfilesOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n DEFAULT_PROFILE_ASC = 'DEFAULT_PROFILE_ASC',\n DEFAULT_PROFILE_DESC = 'DEFAULT_PROFILE_DESC',\n DISPLAY_NAME_ASC = 'DISPLAY_NAME_ASC',\n DISPLAY_NAME_DESC = 'DISPLAY_NAME_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROFILE_PICTURE_URL_ASC = 'PROFILE_PICTURE_URL_ASC',\n PROFILE_PICTURE_URL_DESC = 'PROFILE_PICTURE_URL_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC',\n USER_ID_ASC = 'USER_ID_ASC',\n USER_ID_DESC = 'USER_ID_DESC'\n}\n\n/** A connection to a list of `User` values. */\nexport type UsersConnection = {\n __typename?: 'UsersConnection';\n /** A list of edges which contains the `User` and cursor to aid in pagination. */\n edges: Array<UsersEdge>;\n /** A list of `User` objects. */\n nodes: Array<User>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `User` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `User` edge in the connection. */\nexport type UsersEdge = {\n __typename?: 'UsersEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `User` at the end of the edge. */\n node: User;\n};\n\n/** Methods to use when ordering `User`. */\nexport enum UsersOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n EMAIL_ASC = 'EMAIL_ASC',\n EMAIL_DESC = 'EMAIL_DESC',\n ENABLED_ASC = 'ENABLED_ASC',\n ENABLED_DESC = 'ENABLED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n LAST_ACTIVE_AT_ASC = 'LAST_ACTIVE_AT_ASC',\n LAST_ACTIVE_AT_DESC = 'LAST_ACTIVE_AT_DESC',\n LOGIN_COUNT_ASC = 'LOGIN_COUNT_ASC',\n LOGIN_COUNT_DESC = 'LOGIN_COUNT_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n PHONE_ASC = 'PHONE_ASC',\n PHONE_DESC = 'PHONE_DESC',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** A filter to be used against many `UserIdpDatum` object types. All fields are combined with a logical ‘and.’ */\nexport type UserToManyUserIdpDatumFilter = {\n /** Every related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<UserIdpDatumFilter>;\n /** No related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<UserIdpDatumFilter>;\n /** Some related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<UserIdpDatumFilter>;\n};\n\n/** A filter to be used against many `UserProfile` object types. All fields are combined with a logical ‘and.’ */\nexport type UserToManyUserProfileFilter = {\n /** Every related `UserProfile` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<UserProfileFilter>;\n /** No related `UserProfile` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<UserProfileFilter>;\n /** Some related `UserProfile` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<UserProfileFilter>;\n};\n\n\n/** A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ */\nexport type UuidFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['UUID']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['UUID']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['UUID']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['UUID']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['UUID']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['UUID']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['UUID']>>;\n};\n\nexport type AuthenticateEndUserApplicationMutationVariables = Exact<{\n input: AuthenticateEndUserApplicationInput;\n}>;\n\n\nexport type AuthenticateEndUserApplicationMutation = (\n { __typename?: 'Mutation' }\n & { authenticateEndUserApplication: (\n { __typename?: 'AuthenticateEndUserApplicationPayload' }\n & Pick<AuthenticateEndUserApplicationPayload, 'accessToken' | 'expiresInSeconds' | 'tokenType'>\n ) }\n);\n\nexport type DecryptNativeCookieMutationVariables = Exact<{\n input: DecryptWithKeyAesInput;\n}>;\n\n\nexport type DecryptNativeCookieMutation = (\n { __typename?: 'Mutation' }\n & { decryptWithKeyAes: (\n { __typename?: 'DecryptWithKeyAesPayload' }\n & Pick<DecryptWithKeyAesPayload, 'decryptedValue'>\n ) }\n);\n\n\nexport const AuthenticateEndUserApplicationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"AuthenticateEndUserApplication\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AuthenticateEndUserApplicationInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authenticateEndUserApplication\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"expiresInSeconds\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tokenType\"}}]}}]}}]} as unknown as DocumentNode<AuthenticateEndUserApplicationMutation, AuthenticateEndUserApplicationMutationVariables>;\nexport const DecryptNativeCookieDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DecryptNativeCookie\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DecryptWithKeyAesInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decryptWithKeyAes\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decryptedValue\"}}]}}]}}]} as unknown as DocumentNode<DecryptNativeCookieMutation, DecryptNativeCookieMutationVariables>;","import { AuthenticateEndUserApplicationResponseCode } from '@axinom/mosaic-user-auth-utils';\nimport { AuthenticateEndUserApplicationResponse } from 'common/types';\nimport { stringifyGqlQuery } from '../common/stringify-gql-query';\nimport {\n AuthenticateEndUserApplicationDocument,\n AuthenticateEndUserApplicationInput,\n AuthenticateEndUserApplicationMutationVariables,\n} from '../generated/user-service-management-graphql.types';\n\n/**\n * Authenticate an End-User Application and receive a token.\n *\n * @param authenticateEndUserApplicationInput An object containing the required info for End-User Application authentication.\n * @param userServiceManagementBaseUrl Base URL of AX_AUTH management GQL schema.\n * @returns AuthenticateEndUserApplicationResponse\n */\nexport const authenticateEndUserApplication = async (\n authenticateEndUserApplicationInput: AuthenticateEndUserApplicationInput,\n userServiceManagementBaseUrl: string,\n): Promise<AuthenticateEndUserApplicationResponse> => {\n const variables: AuthenticateEndUserApplicationMutationVariables = {\n input: {\n ...authenticateEndUserApplicationInput,\n },\n };\n\n const authenticateEndUserApplicationResponse = await (\n await fetch(`${userServiceManagementBaseUrl}/graphql-management`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(\n AuthenticateEndUserApplicationDocument,\n variables,\n ),\n })\n ).json();\n\n if (authenticateEndUserApplicationResponse.errors !== undefined) {\n return {\n code: authenticateEndUserApplicationResponse.errors[0]\n .code as AuthenticateEndUserApplicationResponseCode,\n message: authenticateEndUserApplicationResponse.errors[0].message,\n };\n }\n\n return {\n code: AuthenticateEndUserApplicationResponseCode.SUCCESS,\n endUserApplicationToken: {\n accessToken:\n authenticateEndUserApplicationResponse.data\n .authenticateEndUserApplication.accessToken,\n expiresInSeconds:\n authenticateEndUserApplicationResponse.data\n .authenticateEndUserApplication.expiresInSeconds,\n tokenType:\n authenticateEndUserApplicationResponse.data\n .authenticateEndUserApplication.tokenType,\n },\n };\n};\n","/**\n * Class mimicking the minimal structure of a MosaicError.\n * This class is defined here to avoid the @axinom/service-common dependency.\n */\nexport class UserAuthError extends Error {\n code: string;\n\n constructor(message: string | undefined, code: string) {\n super(message);\n this.code = code;\n }\n}\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n Cursor: any;\n Datetime: any;\n JSON: { [key: string]: any };\n UUID: any;\n};\n\n/** A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ */\nexport type BooleanFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Boolean']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Boolean']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Boolean']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Boolean']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Boolean']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Boolean']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Boolean']>>;\n};\n\nexport type CheckEndUserPasswordResetOtpInput = {\n resetOtp: Scalars['String'];\n};\n\nexport type CheckEndUserPasswordResetOtpPayload = {\n __typename?: 'CheckEndUserPasswordResetOtpPayload';\n isOtpValid: Scalars['Boolean'];\n};\n\nexport type CheckEndUserSignUpOtpInput = {\n signUpOtp: Scalars['String'];\n};\n\nexport type CheckEndUserSignUpOtpPayload = {\n __typename?: 'CheckEndUserSignUpOtpPayload';\n isOtpValid: Scalars['Boolean'];\n};\n\nexport type ClearResetPasswordWebhookSecretInput = {\n userStoreId: Scalars['String'];\n};\n\nexport type ClearResetPasswordWebhookSecretPayload = {\n __typename?: 'ClearResetPasswordWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\nexport type ClearUserSignUpWebhookSecretInput = {\n userStoreId: Scalars['String'];\n};\n\nexport type ClearUserSignUpWebhookSecretPayload = {\n __typename?: 'ClearUserSignUpWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\nexport type CompleteEndUserPasswordResetInput = {\n newPassword: Scalars['String'];\n resetOtp: Scalars['String'];\n};\n\nexport type CompleteEndUserPasswordResetPayload = {\n __typename?: 'CompleteEndUserPasswordResetPayload';\n idpUserId: Scalars['UUID'];\n};\n\nexport type CompleteEndUserSignUpInput = {\n /**\n * The password for the user must be provided either at this point or\n * in InitiateEndUserSignUp mutation.\n * If the end-user app will enforce the user to provide it in the\n * InitiateEndUserSignUp mutation the password must not be provided here.\n * If not, giving a password at this point is mandatory.\n * If it's given at InitiateEndUserSignUp step, then the used cannot override it here.\n */\n password?: Maybe<Scalars['String']>;\n signUpOtp: Scalars['String'];\n};\n\nexport type CompleteEndUserSignUpPayload = {\n __typename?: 'CompleteEndUserSignUpPayload';\n idpUserId: Scalars['UUID'];\n};\n\n/** All input for the create `IdpUser` mutation. */\nexport type CreateIdpUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUser` to be created by this mutation. */\n idpUser: IdpUserInput;\n};\n\n/** The output of our create `IdpUser` mutation. */\nexport type CreateIdpUserPayload = {\n __typename?: 'CreateIdpUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUser` that was created by this mutation. */\n idpUser?: Maybe<IdpUser>;\n /** An edge for our `IdpUser`. May be used by Relay 1. */\n idpUserEdge?: Maybe<IdpUsersEdge>;\n /** Reads a single `IdpUserStore` that is related to this `IdpUser`. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `IdpUser` mutation. */\nexport type CreateIdpUserPayloadIdpUserEdgeArgs = {\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n/** All input for the create `IdpUserStore` mutation. */\nexport type CreateIdpUserStoreInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUserStore` to be created by this mutation. */\n idpUserStore: IdpUserStoreInput;\n};\n\n/** The output of our create `IdpUserStore` mutation. */\nexport type CreateIdpUserStorePayload = {\n __typename?: 'CreateIdpUserStorePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUserStore` that was created by this mutation. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** An edge for our `IdpUserStore`. May be used by Relay 1. */\n idpUserStoreEdge?: Maybe<IdpUserStoresEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `IdpUserStore` mutation. */\nexport type CreateIdpUserStorePayloadIdpUserStoreEdgeArgs = {\n orderBy?: Maybe<Array<IdpUserStoresOrderBy>>;\n};\n\n\n\n/** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */\nexport type DatetimeFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Datetime']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Datetime']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Datetime']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Datetime']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Datetime']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Datetime']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Datetime']>>;\n};\n\nexport type DeleteIdpUserByEmailInput = {\n email: Scalars['String'];\n userStoreId: Scalars['String'];\n};\n\nexport type DeleteIdpUserByEmailPayload = {\n __typename?: 'DeleteIdpUserByEmailPayload';\n idpUser?: Maybe<IdpUser>;\n};\n\n/** All input for the `deleteIdpUser` mutation. */\nexport type DeleteIdpUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `IdpUser` mutation. */\nexport type DeleteIdpUserPayload = {\n __typename?: 'DeleteIdpUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUser` that was deleted by this mutation. */\n idpUser?: Maybe<IdpUser>;\n /** An edge for our `IdpUser`. May be used by Relay 1. */\n idpUserEdge?: Maybe<IdpUsersEdge>;\n /** Reads a single `IdpUserStore` that is related to this `IdpUser`. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `IdpUser` mutation. */\nexport type DeleteIdpUserPayloadIdpUserEdgeArgs = {\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n/** All input for the `deleteIdpUserStore` mutation. */\nexport type DeleteIdpUserStoreInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `IdpUserStore` mutation. */\nexport type DeleteIdpUserStorePayload = {\n __typename?: 'DeleteIdpUserStorePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUserStore` that was deleted by this mutation. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** An edge for our `IdpUserStore`. May be used by Relay 1. */\n idpUserStoreEdge?: Maybe<IdpUserStoresEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `IdpUserStore` mutation. */\nexport type DeleteIdpUserStorePayloadIdpUserStoreEdgeArgs = {\n orderBy?: Maybe<Array<IdpUserStoresOrderBy>>;\n};\n\nexport type EnvironmentClientMapping = {\n __typename?: 'EnvironmentClientMapping';\n clientId: Scalars['String'];\n environmentId: Scalars['UUID'];\n /** Reads a single `IdpUserStore` that is related to this `EnvironmentClientMapping`. */\n idpUserStore?: Maybe<IdpUserStore>;\n idpUserStoreId: Scalars['UUID'];\n tenantId: Scalars['UUID'];\n};\n\n/**\n * A condition to be used against `EnvironmentClientMapping` object types. All\n * fields are tested for equality and combined with a logical ‘and.’\n */\nexport type EnvironmentClientMappingCondition = {\n /** Checks for equality with the object’s `clientId` field. */\n clientId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n};\n\n/** A filter to be used against `EnvironmentClientMapping` object types. All fields are combined with a logical ‘and.’ */\nexport type EnvironmentClientMappingFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<EnvironmentClientMappingFilter>>;\n /** Filter by the object’s `clientId` field. */\n clientId?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpUserStore` relation. */\n idpUserStore?: Maybe<IdpUserStoreFilter>;\n /** Filter by the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<EnvironmentClientMappingFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<EnvironmentClientMappingFilter>>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n};\n\n/** A connection to a list of `EnvironmentClientMapping` values. */\nexport type EnvironmentClientMappingsConnection = {\n __typename?: 'EnvironmentClientMappingsConnection';\n /** A list of edges which contains the `EnvironmentClientMapping` and cursor to aid in pagination. */\n edges: Array<EnvironmentClientMappingsEdge>;\n /** A list of `EnvironmentClientMapping` objects. */\n nodes: Array<EnvironmentClientMapping>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `EnvironmentClientMapping` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `EnvironmentClientMapping` edge in the connection. */\nexport type EnvironmentClientMappingsEdge = {\n __typename?: 'EnvironmentClientMappingsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `EnvironmentClientMapping` at the end of the edge. */\n node: EnvironmentClientMapping;\n};\n\n/** Methods to use when ordering `EnvironmentClientMapping`. */\nexport enum EnvironmentClientMappingsOrderBy {\n CLIENT_ID_ASC = 'CLIENT_ID_ASC',\n CLIENT_ID_DESC = 'CLIENT_ID_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n IDP_USER_STORE_ID_ASC = 'IDP_USER_STORE_ID_ASC',\n IDP_USER_STORE_ID_DESC = 'IDP_USER_STORE_ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC'\n}\n\nexport type GenerateOAuthClientSecretInput = {\n clientId: Scalars['String'];\n};\n\nexport type GenerateOAuthClientSecretPayload = {\n __typename?: 'GenerateOAuthClientSecretPayload';\n newClientSecret: Scalars['String'];\n};\n\nexport type GenerateResetPasswordWebhookSecretInput = {\n userStoreId: Scalars['String'];\n};\n\nexport type GenerateResetPasswordWebhookSecretPayload = {\n __typename?: 'GenerateResetPasswordWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\nexport type GenerateUserSignUpWebhookSecretInput = {\n userStoreId: Scalars['String'];\n};\n\nexport type GenerateUserSignUpWebhookSecretPayload = {\n __typename?: 'GenerateUserSignUpWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\nexport type IdpUser = {\n __typename?: 'IdpUser';\n createdAt: Scalars['Datetime'];\n createdBy: Scalars['String'];\n email: Scalars['String'];\n emailVerified: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n firstName?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** Reads a single `IdpUserStore` that is related to this `IdpUser`. */\n idpUserStore?: Maybe<IdpUserStore>;\n idpUserStoreId: Scalars['UUID'];\n lastName?: Maybe<Scalars['String']>;\n passwordHash: Scalars['String'];\n phoneNumber?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n status: UserStatus;\n tenantId: Scalars['UUID'];\n updatedAt: Scalars['Datetime'];\n updatedBy: Scalars['String'];\n};\n\n/** A condition to be used against `IdpUser` object types. All fields are tested for equality and combined with a logical ‘and.’ */\nexport type IdpUserCondition = {\n /** Checks for equality with the object’s `createdAt` field. */\n createdAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdBy` field. */\n createdBy?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `email` field. */\n email?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `emailVerified` field. */\n emailVerified?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `firstName` field. */\n firstName?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `lastName` field. */\n lastName?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `passwordHash` field. */\n passwordHash?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `phoneNumber` field. */\n phoneNumber?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `status` field. */\n status?: Maybe<UserStatus>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedAt` field. */\n updatedAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedBy` field. */\n updatedBy?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `IdpUser` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpUserFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<IdpUserFilter>>;\n /** Filter by the object’s `createdAt` field. */\n createdAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdBy` field. */\n createdBy?: Maybe<StringFilter>;\n /** Filter by the object’s `email` field. */\n email?: Maybe<StringFilter>;\n /** Filter by the object’s `emailVerified` field. */\n emailVerified?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `firstName` field. */\n firstName?: Maybe<StringFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpUserStore` relation. */\n idpUserStore?: Maybe<IdpUserStoreFilter>;\n /** Filter by the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<UuidFilter>;\n /** Filter by the object’s `lastName` field. */\n lastName?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<IdpUserFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<IdpUserFilter>>;\n /** Filter by the object’s `passwordHash` field. */\n passwordHash?: Maybe<StringFilter>;\n /** Filter by the object’s `phoneNumber` field. */\n phoneNumber?: Maybe<StringFilter>;\n /** Filter by the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `status` field. */\n status?: Maybe<UserStatusFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedAt` field. */\n updatedAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedBy` field. */\n updatedBy?: Maybe<StringFilter>;\n};\n\n/** An input for mutations affecting `IdpUser` */\nexport type IdpUserInput = {\n email: Scalars['String'];\n emailVerified?: Maybe<Scalars['Boolean']>;\n firstName?: Maybe<Scalars['String']>;\n idpUserStoreId: Scalars['UUID'];\n lastName?: Maybe<Scalars['String']>;\n passwordHash: Scalars['String'];\n phoneNumber?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n status?: Maybe<UserStatus>;\n};\n\n/** Represents an update to a `IdpUser`. Fields that are set will be updated. */\nexport type IdpUserPatch = {\n emailVerified?: Maybe<Scalars['Boolean']>;\n firstName?: Maybe<Scalars['String']>;\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n lastName?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n status?: Maybe<UserStatus>;\n};\n\n/** A connection to a list of `IdpUser` values. */\nexport type IdpUsersConnection = {\n __typename?: 'IdpUsersConnection';\n /** A list of edges which contains the `IdpUser` and cursor to aid in pagination. */\n edges: Array<IdpUsersEdge>;\n /** A list of `IdpUser` objects. */\n nodes: Array<IdpUser>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `IdpUser` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `IdpUser` edge in the connection. */\nexport type IdpUsersEdge = {\n __typename?: 'IdpUsersEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `IdpUser` at the end of the edge. */\n node: IdpUser;\n};\n\n/** Methods to use when ordering `IdpUser`. */\nexport enum IdpUsersOrderBy {\n CREATED_AT_ASC = 'CREATED_AT_ASC',\n CREATED_AT_DESC = 'CREATED_AT_DESC',\n CREATED_BY_ASC = 'CREATED_BY_ASC',\n CREATED_BY_DESC = 'CREATED_BY_DESC',\n EMAIL_ASC = 'EMAIL_ASC',\n EMAIL_DESC = 'EMAIL_DESC',\n EMAIL_VERIFIED_ASC = 'EMAIL_VERIFIED_ASC',\n EMAIL_VERIFIED_DESC = 'EMAIL_VERIFIED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n FIRST_NAME_ASC = 'FIRST_NAME_ASC',\n FIRST_NAME_DESC = 'FIRST_NAME_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n IDP_USER_STORE_ID_ASC = 'IDP_USER_STORE_ID_ASC',\n IDP_USER_STORE_ID_DESC = 'IDP_USER_STORE_ID_DESC',\n LAST_NAME_ASC = 'LAST_NAME_ASC',\n LAST_NAME_DESC = 'LAST_NAME_DESC',\n NATURAL = 'NATURAL',\n PASSWORD_HASH_ASC = 'PASSWORD_HASH_ASC',\n PASSWORD_HASH_DESC = 'PASSWORD_HASH_DESC',\n PHONE_NUMBER_ASC = 'PHONE_NUMBER_ASC',\n PHONE_NUMBER_DESC = 'PHONE_NUMBER_DESC',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROFILE_PICTURE_URL_ASC = 'PROFILE_PICTURE_URL_ASC',\n PROFILE_PICTURE_URL_DESC = 'PROFILE_PICTURE_URL_DESC',\n STATUS_ASC = 'STATUS_ASC',\n STATUS_DESC = 'STATUS_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_AT_ASC = 'UPDATED_AT_ASC',\n UPDATED_AT_DESC = 'UPDATED_AT_DESC',\n UPDATED_BY_ASC = 'UPDATED_BY_ASC',\n UPDATED_BY_DESC = 'UPDATED_BY_DESC'\n}\n\nexport type IdpUserStore = {\n __typename?: 'IdpUserStore';\n category: UserStoreCategory;\n createdAt: Scalars['Datetime'];\n createdBy: Scalars['String'];\n enforceStrictPasswordPolicy: Scalars['Boolean'];\n /** Reads and enables pagination through a set of `EnvironmentClientMapping`. */\n environmentClientMappings: EnvironmentClientMappingsConnection;\n environmentId: Scalars['UUID'];\n forgotPasswordWebhook?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** Reads and enables pagination through a set of `IdpUser`. */\n idpUsers: IdpUsersConnection;\n name: Scalars['String'];\n resetPasswordWebhookSecretIsSet: Scalars['Boolean'];\n tenantId: Scalars['UUID'];\n updatedAt: Scalars['Datetime'];\n updatedBy: Scalars['String'];\n userSignUpWebhook?: Maybe<Scalars['String']>;\n userSignUpWebhookSecretIsSet: Scalars['Boolean'];\n};\n\n\nexport type IdpUserStoreEnvironmentClientMappingsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<EnvironmentClientMappingCondition>;\n filter?: Maybe<EnvironmentClientMappingFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<EnvironmentClientMappingsOrderBy>>;\n};\n\n\nexport type IdpUserStoreIdpUsersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdpUserCondition>;\n filter?: Maybe<IdpUserFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n/**\n * A condition to be used against `IdpUserStore` object types. All fields are\n * tested for equality and combined with a logical ‘and.’\n */\nexport type IdpUserStoreCondition = {\n /** Checks for equality with the object’s `category` field. */\n category?: Maybe<UserStoreCategory>;\n /** Checks for equality with the object’s `createdAt` field. */\n createdAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdBy` field. */\n createdBy?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enforceStrictPasswordPolicy` field. */\n enforceStrictPasswordPolicy?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `forgotPasswordWebhook` field. */\n forgotPasswordWebhook?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `resetPasswordWebhookSecretIsSet` field. */\n resetPasswordWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedAt` field. */\n updatedAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedBy` field. */\n updatedBy?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userSignUpWebhook` field. */\n userSignUpWebhook?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userSignUpWebhookSecretIsSet` field. */\n userSignUpWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** A filter to be used against `IdpUserStore` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpUserStoreFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<IdpUserStoreFilter>>;\n /** Filter by the object’s `category` field. */\n category?: Maybe<UserStoreCategoryFilter>;\n /** Filter by the object’s `createdAt` field. */\n createdAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdBy` field. */\n createdBy?: Maybe<StringFilter>;\n /** Filter by the object’s `enforceStrictPasswordPolicy` field. */\n enforceStrictPasswordPolicy?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentClientMappings` relation. */\n environmentClientMappings?: Maybe<IdpUserStoreToManyEnvironmentClientMappingFilter>;\n /** Some related `environmentClientMappings` exist. */\n environmentClientMappingsExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `forgotPasswordWebhook` field. */\n forgotPasswordWebhook?: Maybe<StringFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpUsers` relation. */\n idpUsers?: Maybe<IdpUserStoreToManyIdpUserFilter>;\n /** Some related `idpUsers` exist. */\n idpUsersExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<IdpUserStoreFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<IdpUserStoreFilter>>;\n /** Filter by the object’s `resetPasswordWebhookSecretIsSet` field. */\n resetPasswordWebhookSecretIsSet?: Maybe<BooleanFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedAt` field. */\n updatedAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedBy` field. */\n updatedBy?: Maybe<StringFilter>;\n /** Filter by the object’s `userSignUpWebhook` field. */\n userSignUpWebhook?: Maybe<StringFilter>;\n /** Filter by the object’s `userSignUpWebhookSecretIsSet` field. */\n userSignUpWebhookSecretIsSet?: Maybe<BooleanFilter>;\n};\n\n/** An input for mutations affecting `IdpUserStore` */\nexport type IdpUserStoreInput = {\n category?: Maybe<UserStoreCategory>;\n enforceStrictPasswordPolicy?: Maybe<Scalars['Boolean']>;\n forgotPasswordWebhook?: Maybe<Scalars['String']>;\n name: Scalars['String'];\n resetPasswordWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n userSignUpWebhook?: Maybe<Scalars['String']>;\n userSignUpWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** Represents an update to a `IdpUserStore`. Fields that are set will be updated. */\nexport type IdpUserStorePatch = {\n category?: Maybe<UserStoreCategory>;\n enforceStrictPasswordPolicy?: Maybe<Scalars['Boolean']>;\n forgotPasswordWebhook?: Maybe<Scalars['String']>;\n name?: Maybe<Scalars['String']>;\n resetPasswordWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n userSignUpWebhook?: Maybe<Scalars['String']>;\n userSignUpWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** A connection to a list of `IdpUserStore` values. */\nexport type IdpUserStoresConnection = {\n __typename?: 'IdpUserStoresConnection';\n /** A list of edges which contains the `IdpUserStore` and cursor to aid in pagination. */\n edges: Array<IdpUserStoresEdge>;\n /** A list of `IdpUserStore` objects. */\n nodes: Array<IdpUserStore>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `IdpUserStore` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `IdpUserStore` edge in the connection. */\nexport type IdpUserStoresEdge = {\n __typename?: 'IdpUserStoresEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `IdpUserStore` at the end of the edge. */\n node: IdpUserStore;\n};\n\n/** Methods to use when ordering `IdpUserStore`. */\nexport enum IdpUserStoresOrderBy {\n CATEGORY_ASC = 'CATEGORY_ASC',\n CATEGORY_DESC = 'CATEGORY_DESC',\n CREATED_AT_ASC = 'CREATED_AT_ASC',\n CREATED_AT_DESC = 'CREATED_AT_DESC',\n CREATED_BY_ASC = 'CREATED_BY_ASC',\n CREATED_BY_DESC = 'CREATED_BY_DESC',\n ENFORCE_STRICT_PASSWORD_POLICY_ASC = 'ENFORCE_STRICT_PASSWORD_POLICY_ASC',\n ENFORCE_STRICT_PASSWORD_POLICY_DESC = 'ENFORCE_STRICT_PASSWORD_POLICY_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n FORGOT_PASSWORD_WEBHOOK_ASC = 'FORGOT_PASSWORD_WEBHOOK_ASC',\n FORGOT_PASSWORD_WEBHOOK_DESC = 'FORGOT_PASSWORD_WEBHOOK_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n RESET_PASSWORD_WEBHOOK_SECRET_IS_SET_ASC = 'RESET_PASSWORD_WEBHOOK_SECRET_IS_SET_ASC',\n RESET_PASSWORD_WEBHOOK_SECRET_IS_SET_DESC = 'RESET_PASSWORD_WEBHOOK_SECRET_IS_SET_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_AT_ASC = 'UPDATED_AT_ASC',\n UPDATED_AT_DESC = 'UPDATED_AT_DESC',\n UPDATED_BY_ASC = 'UPDATED_BY_ASC',\n UPDATED_BY_DESC = 'UPDATED_BY_DESC',\n USER_SIGN_UP_WEBHOOK_ASC = 'USER_SIGN_UP_WEBHOOK_ASC',\n USER_SIGN_UP_WEBHOOK_DESC = 'USER_SIGN_UP_WEBHOOK_DESC',\n USER_SIGN_UP_WEBHOOK_SECRET_IS_SET_ASC = 'USER_SIGN_UP_WEBHOOK_SECRET_IS_SET_ASC',\n USER_SIGN_UP_WEBHOOK_SECRET_IS_SET_DESC = 'USER_SIGN_UP_WEBHOOK_SECRET_IS_SET_DESC'\n}\n\n/** A filter to be used against many `EnvironmentClientMapping` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpUserStoreToManyEnvironmentClientMappingFilter = {\n /** Every related `EnvironmentClientMapping` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<EnvironmentClientMappingFilter>;\n /** No related `EnvironmentClientMapping` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<EnvironmentClientMappingFilter>;\n /** Some related `EnvironmentClientMapping` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<EnvironmentClientMappingFilter>;\n};\n\n/** A filter to be used against many `IdpUser` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpUserStoreToManyIdpUserFilter = {\n /** Every related `IdpUser` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<IdpUserFilter>;\n /** No related `IdpUser` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<IdpUserFilter>;\n /** Some related `IdpUser` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<IdpUserFilter>;\n};\n\nexport type InitiateEndUserPasswordResetInput = {\n customData?: Maybe<Scalars['JSON']>;\n email: Scalars['String'];\n oAuthClientId: Scalars['String'];\n};\n\nexport type InitiateEndUserPasswordResetPayload = {\n __typename?: 'InitiateEndUserPasswordResetPayload';\n idpUserId: Scalars['UUID'];\n};\n\nexport type InitiateEndUserSignUpInput = {\n customData?: Maybe<Scalars['JSON']>;\n email: Scalars['String'];\n firstName?: Maybe<Scalars['String']>;\n lastName?: Maybe<Scalars['String']>;\n oAuthClientId: Scalars['String'];\n /**\n * The password for the user must be provided either at this point or\n * in CompleteEndUserSignUp mutation.\n * If the end-user app will enforce the user to provide it in the\n * CompleteEndUserSignUp mutation the password does not have to be provided here.\n * If not, giving a password at this point is mandatory.\n */\n password?: Maybe<Scalars['String']>;\n};\n\nexport type InitiateEndUserSignUpPayload = {\n __typename?: 'InitiateEndUserSignUpPayload';\n idpUserId: Scalars['UUID'];\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type Mutation = {\n __typename?: 'Mutation';\n /** Check End-User Password Reset Otp */\n checkEndUserPasswordResetOtp: CheckEndUserPasswordResetOtpPayload;\n /** Check End-User Sign Up Otp */\n checkEndUserSignUpOtp: CheckEndUserSignUpOtpPayload;\n clearResetPasswordWebhookSecret: ClearResetPasswordWebhookSecretPayload;\n clearUserSignUpWebhookSecret: ClearUserSignUpWebhookSecretPayload;\n /** Complete End-User Reset Password Flow */\n completeEndUserPasswordReset: CompleteEndUserPasswordResetPayload;\n /** Start Sign Up as an End-User */\n completeEndUserSignUp: CompleteEndUserSignUpPayload;\n /** Creates a single `IdpUser`. */\n createIdpUser?: Maybe<CreateIdpUserPayload>;\n /** Creates a single `IdpUserStore`. */\n createIdpUserStore?: Maybe<CreateIdpUserStorePayload>;\n /** Deletes a single `IdpUser` using a unique key. */\n deleteIdpUser?: Maybe<DeleteIdpUserPayload>;\n /** Delete User By Email */\n deleteIdpUserByEmail: DeleteIdpUserByEmailPayload;\n /** Deletes a single `IdpUserStore` using a unique key. */\n deleteIdpUserStore?: Maybe<DeleteIdpUserStorePayload>;\n /** Generate the client secret of an OAuth client */\n generateOAuthClientSecret: GenerateOAuthClientSecretPayload;\n generateResetPasswordWebhookSecret: GenerateResetPasswordWebhookSecretPayload;\n generateUserSignUpWebhookSecret: GenerateUserSignUpWebhookSecretPayload;\n /** Start End-User Reset Password Flow */\n initiateEndUserPasswordReset: InitiateEndUserPasswordResetPayload;\n /** Initiate Sign Up as an End-User */\n initiateEndUserSignUp: InitiateEndUserSignUpPayload;\n /** Reset the password of an IDP user */\n resetIdpUserPassword: ResetIdpUserPasswordPayload;\n /** Updates a single `IdpUser` using a unique key and a patch. */\n updateIdpUser?: Maybe<UpdateIdpUserPayload>;\n /** Updates a single `IdpUserStore` using a unique key and a patch. */\n updateIdpUserStore?: Maybe<UpdateIdpUserStorePayload>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCheckEndUserPasswordResetOtpArgs = {\n input?: Maybe<CheckEndUserPasswordResetOtpInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCheckEndUserSignUpOtpArgs = {\n input?: Maybe<CheckEndUserSignUpOtpInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearResetPasswordWebhookSecretArgs = {\n input: ClearResetPasswordWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearUserSignUpWebhookSecretArgs = {\n input: ClearUserSignUpWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCompleteEndUserPasswordResetArgs = {\n input?: Maybe<CompleteEndUserPasswordResetInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCompleteEndUserSignUpArgs = {\n input?: Maybe<CompleteEndUserSignUpInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateIdpUserArgs = {\n input: CreateIdpUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateIdpUserStoreArgs = {\n input: CreateIdpUserStoreInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteIdpUserArgs = {\n input: DeleteIdpUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteIdpUserByEmailArgs = {\n input?: Maybe<DeleteIdpUserByEmailInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteIdpUserStoreArgs = {\n input: DeleteIdpUserStoreInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateOAuthClientSecretArgs = {\n input?: Maybe<GenerateOAuthClientSecretInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateResetPasswordWebhookSecretArgs = {\n input: GenerateResetPasswordWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateUserSignUpWebhookSecretArgs = {\n input: GenerateUserSignUpWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationInitiateEndUserPasswordResetArgs = {\n input?: Maybe<InitiateEndUserPasswordResetInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationInitiateEndUserSignUpArgs = {\n input?: Maybe<InitiateEndUserSignUpInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationResetIdpUserPasswordArgs = {\n input?: Maybe<ResetIdpUserPasswordInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateIdpUserArgs = {\n input: UpdateIdpUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateIdpUserStoreArgs = {\n input: UpdateIdpUserStoreInput;\n};\n\nexport type OAuthClient = {\n __typename?: 'OAuthClient';\n allowUserSignUp?: Maybe<Scalars['Boolean']>;\n createdAt?: Maybe<Scalars['Datetime']>;\n createdBy?: Maybe<Scalars['String']>;\n environmentId?: Maybe<Scalars['UUID']>;\n id?: Maybe<Scalars['String']>;\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n name?: Maybe<Scalars['String']>;\n tenantId?: Maybe<Scalars['UUID']>;\n updatedAt?: Maybe<Scalars['Datetime']>;\n updatedBy?: Maybe<Scalars['String']>;\n};\n\n/**\n * A condition to be used against `OAuthClient` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type OAuthClientCondition = {\n /** Checks for equality with the object’s `allowUserSignUp` field. */\n allowUserSignUp?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `createdAt` field. */\n createdAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdBy` field. */\n createdBy?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedAt` field. */\n updatedAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedBy` field. */\n updatedBy?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `OAuthClient` object types. All fields are combined with a logical ‘and.’ */\nexport type OAuthClientFilter = {\n /** Filter by the object’s `allowUserSignUp` field. */\n allowUserSignUp?: Maybe<BooleanFilter>;\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<OAuthClientFilter>>;\n /** Filter by the object’s `createdAt` field. */\n createdAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdBy` field. */\n createdBy?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<StringFilter>;\n /** Filter by the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<UuidFilter>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<OAuthClientFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<OAuthClientFilter>>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedAt` field. */\n updatedAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedBy` field. */\n updatedBy?: Maybe<StringFilter>;\n};\n\n/** A connection to a list of `OAuthClient` values. */\nexport type OAuthClientsConnection = {\n __typename?: 'OAuthClientsConnection';\n /** A list of edges which contains the `OAuthClient` and cursor to aid in pagination. */\n edges: Array<OAuthClientsEdge>;\n /** A list of `OAuthClient` objects. */\n nodes: Array<OAuthClient>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `OAuthClient` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `OAuthClient` edge in the connection. */\nexport type OAuthClientsEdge = {\n __typename?: 'OAuthClientsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `OAuthClient` at the end of the edge. */\n node: OAuthClient;\n};\n\n/** Methods to use when ordering `OAuthClient`. */\nexport enum OAuthClientsOrderBy {\n ALLOW_USER_SIGN_UP_ASC = 'ALLOW_USER_SIGN_UP_ASC',\n ALLOW_USER_SIGN_UP_DESC = 'ALLOW_USER_SIGN_UP_DESC',\n CREATED_AT_ASC = 'CREATED_AT_ASC',\n CREATED_AT_DESC = 'CREATED_AT_DESC',\n CREATED_BY_ASC = 'CREATED_BY_ASC',\n CREATED_BY_DESC = 'CREATED_BY_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n IDP_USER_STORE_ID_ASC = 'IDP_USER_STORE_ID_ASC',\n IDP_USER_STORE_ID_DESC = 'IDP_USER_STORE_ID_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_AT_ASC = 'UPDATED_AT_ASC',\n UPDATED_AT_DESC = 'UPDATED_AT_DESC',\n UPDATED_BY_ASC = 'UPDATED_BY_ASC',\n UPDATED_BY_DESC = 'UPDATED_BY_DESC'\n}\n\n/** Information about pagination in a connection. */\nexport type PageInfo = {\n __typename?: 'PageInfo';\n /** When paginating forwards, the cursor to continue. */\n endCursor?: Maybe<Scalars['Cursor']>;\n /** When paginating forwards, are there more items? */\n hasNextPage: Scalars['Boolean'];\n /** When paginating backwards, are there more items? */\n hasPreviousPage: Scalars['Boolean'];\n /** When paginating backwards, the cursor to continue. */\n startCursor?: Maybe<Scalars['Cursor']>;\n};\n\n/** The root query type which gives access points into the data universe. */\nexport type Query = {\n __typename?: 'Query';\n environmentClientMapping?: Maybe<EnvironmentClientMapping>;\n environmentClientMappingByClientId?: Maybe<EnvironmentClientMapping>;\n /** Reads and enables pagination through a set of `EnvironmentClientMapping`. */\n environmentClientMappings?: Maybe<EnvironmentClientMappingsConnection>;\n idpUser?: Maybe<IdpUser>;\n /** Reads and enables pagination through a set of `IdpUser`. */\n idpUsers?: Maybe<IdpUsersConnection>;\n idpUserStore?: Maybe<IdpUserStore>;\n idpUserStoreByName?: Maybe<IdpUserStore>;\n /** Reads and enables pagination through a set of `IdpUserStore`. */\n idpUserStores?: Maybe<IdpUserStoresConnection>;\n /** Reads and enables pagination through a set of `OAuthClient`. */\n oAuthClients?: Maybe<OAuthClientsConnection>;\n /**\n * Exposes the root query type nested one level down. This is helpful for Relay 1\n * which can only query top level fields if they are in a particular form.\n */\n query: Query;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryEnvironmentClientMappingArgs = {\n clientId: Scalars['String'];\n environmentId: Scalars['UUID'];\n idpUserStoreId: Scalars['UUID'];\n tenantId: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryEnvironmentClientMappingByClientIdArgs = {\n clientId: Scalars['String'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryEnvironmentClientMappingsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<EnvironmentClientMappingCondition>;\n filter?: Maybe<EnvironmentClientMappingFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<EnvironmentClientMappingsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUserArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUsersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdpUserCondition>;\n filter?: Maybe<IdpUserFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUserStoreArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUserStoreByNameArgs = {\n environmentId: Scalars['UUID'];\n name: Scalars['String'];\n tenantId: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUserStoresArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdpUserStoreCondition>;\n filter?: Maybe<IdpUserStoreFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdpUserStoresOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryOAuthClientsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<OAuthClientCondition>;\n filter?: Maybe<OAuthClientFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<OAuthClientsOrderBy>>;\n};\n\nexport type ResetIdpUserPasswordInput = {\n id: Scalars['UUID'];\n};\n\nexport type ResetIdpUserPasswordPayload = {\n __typename?: 'ResetIdpUserPasswordPayload';\n idpUser?: Maybe<IdpUser>;\n newPassword: Scalars['String'];\n};\n\n/** A filter to be used against String fields. All fields are combined with a logical ‘and.’ */\nexport type StringFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */\n distinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-sensitive). */\n endsWith?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-insensitive). */\n endsWithInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['String']>;\n /** Equal to the specified value (case-insensitive). */\n equalToInsensitive?: Maybe<Scalars['String']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['String']>;\n /** Greater than the specified value (case-insensitive). */\n greaterThanInsensitive?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value (case-insensitive). */\n greaterThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified string (case-sensitive). */\n includes?: Maybe<Scalars['String']>;\n /** Contains the specified string (case-insensitive). */\n includesInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list (case-insensitive). */\n inInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['String']>;\n /** Less than the specified value (case-insensitive). */\n lessThanInsensitive?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value (case-insensitive). */\n lessThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n like?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n likeInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */\n notDistinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-sensitive). */\n notEndsWith?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-insensitive). */\n notEndsWithInsensitive?: Maybe<Scalars['String']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['String']>;\n /** Not equal to the specified value (case-insensitive). */\n notEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['String']>>;\n /** Does not contain the specified string (case-sensitive). */\n notIncludes?: Maybe<Scalars['String']>;\n /** Does not contain the specified string (case-insensitive). */\n notIncludesInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list (case-insensitive). */\n notInInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLike?: Maybe<Scalars['String']>;\n /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLikeInsensitive?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-sensitive). */\n notStartsWith?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-insensitive). */\n notStartsWithInsensitive?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-sensitive). */\n startsWith?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-insensitive). */\n startsWithInsensitive?: Maybe<Scalars['String']>;\n};\n\n/** All input for the `updateIdpUser` mutation. */\nexport type UpdateIdpUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `IdpUser` being updated. */\n patch: IdpUserPatch;\n};\n\n/** The output of our update `IdpUser` mutation. */\nexport type UpdateIdpUserPayload = {\n __typename?: 'UpdateIdpUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUser` that was updated by this mutation. */\n idpUser?: Maybe<IdpUser>;\n /** An edge for our `IdpUser`. May be used by Relay 1. */\n idpUserEdge?: Maybe<IdpUsersEdge>;\n /** Reads a single `IdpUserStore` that is related to this `IdpUser`. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our update `IdpUser` mutation. */\nexport type UpdateIdpUserPayloadIdpUserEdgeArgs = {\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n/** All input for the `updateIdpUserStore` mutation. */\nexport type UpdateIdpUserStoreInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `IdpUserStore` being updated. */\n patch: IdpUserStorePatch;\n};\n\n/** The output of our update `IdpUserStore` mutation. */\nexport type UpdateIdpUserStorePayload = {\n __typename?: 'UpdateIdpUserStorePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUserStore` that was updated by this mutation. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** An edge for our `IdpUserStore`. May be used by Relay 1. */\n idpUserStoreEdge?: Maybe<IdpUserStoresEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our update `IdpUserStore` mutation. */\nexport type UpdateIdpUserStorePayloadIdpUserStoreEdgeArgs = {\n orderBy?: Maybe<Array<IdpUserStoresOrderBy>>;\n};\n\nexport enum UserStatus {\n /** Active */\n ACTIVE = 'ACTIVE',\n /** Blocked */\n BLOCKED = 'BLOCKED'\n}\n\n/** A filter to be used against UserStatus fields. All fields are combined with a logical ‘and.’ */\nexport type UserStatusFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<UserStatus>;\n /** Equal to the specified value. */\n equalTo?: Maybe<UserStatus>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<UserStatus>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<UserStatus>;\n /** Included in the specified list. */\n in?: Maybe<Array<UserStatus>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<UserStatus>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<UserStatus>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<UserStatus>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<UserStatus>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<UserStatus>>;\n};\n\nexport enum UserStoreCategory {\n /** End User */\n END_USER = 'END_USER',\n /** Management */\n MANAGEMENT = 'MANAGEMENT'\n}\n\n/** A filter to be used against UserStoreCategory fields. All fields are combined with a logical ‘and.’ */\nexport type UserStoreCategoryFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<UserStoreCategory>;\n /** Equal to the specified value. */\n equalTo?: Maybe<UserStoreCategory>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<UserStoreCategory>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<UserStoreCategory>;\n /** Included in the specified list. */\n in?: Maybe<Array<UserStoreCategory>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<UserStoreCategory>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<UserStoreCategory>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<UserStoreCategory>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<UserStoreCategory>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<UserStoreCategory>>;\n};\n\n\n/** A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ */\nexport type UuidFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['UUID']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['UUID']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['UUID']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['UUID']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['UUID']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['UUID']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['UUID']>>;\n};\n\nexport type InitiateEndUserSignUpMutationVariables = Exact<{\n input: InitiateEndUserSignUpInput;\n}>;\n\n\nexport type InitiateEndUserSignUpMutation = (\n { __typename?: 'Mutation' }\n & { initiateEndUserSignUp: (\n { __typename?: 'InitiateEndUserSignUpPayload' }\n & Pick<InitiateEndUserSignUpPayload, 'idpUserId'>\n ) }\n);\n\nexport type CheckEndUserSignUpOtpMutationVariables = Exact<{\n input: CheckEndUserSignUpOtpInput;\n}>;\n\n\nexport type CheckEndUserSignUpOtpMutation = (\n { __typename?: 'Mutation' }\n & { checkEndUserSignUpOtp: (\n { __typename?: 'CheckEndUserSignUpOtpPayload' }\n & Pick<CheckEndUserSignUpOtpPayload, 'isOtpValid'>\n ) }\n);\n\nexport type CompleteEndUserSignUpMutationVariables = Exact<{\n input: CompleteEndUserSignUpInput;\n}>;\n\n\nexport type CompleteEndUserSignUpMutation = (\n { __typename?: 'Mutation' }\n & { completeEndUserSignUp: (\n { __typename?: 'CompleteEndUserSignUpPayload' }\n & Pick<CompleteEndUserSignUpPayload, 'idpUserId'>\n ) }\n);\n\nexport type InitiateEndUserPasswordResetMutationVariables = Exact<{\n input: InitiateEndUserPasswordResetInput;\n}>;\n\n\nexport type InitiateEndUserPasswordResetMutation = (\n { __typename?: 'Mutation' }\n & { initiateEndUserPasswordReset: (\n { __typename?: 'InitiateEndUserPasswordResetPayload' }\n & Pick<InitiateEndUserPasswordResetPayload, 'idpUserId'>\n ) }\n);\n\nexport type CheckPasswordResetOtpMutationVariables = Exact<{\n input: CheckEndUserPasswordResetOtpInput;\n}>;\n\n\nexport type CheckPasswordResetOtpMutation = (\n { __typename?: 'Mutation' }\n & { checkEndUserPasswordResetOtp: (\n { __typename?: 'CheckEndUserPasswordResetOtpPayload' }\n & Pick<CheckEndUserPasswordResetOtpPayload, 'isOtpValid'>\n ) }\n);\n\nexport type CompleteEndUserPasswordResetMutationVariables = Exact<{\n input: CompleteEndUserPasswordResetInput;\n}>;\n\n\nexport type CompleteEndUserPasswordResetMutation = (\n { __typename?: 'Mutation' }\n & { completeEndUserPasswordReset: (\n { __typename?: 'CompleteEndUserPasswordResetPayload' }\n & Pick<CompleteEndUserPasswordResetPayload, 'idpUserId'>\n ) }\n);\n\n\nexport const InitiateEndUserSignUpDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"InitiateEndUserSignUp\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"InitiateEndUserSignUpInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"initiateEndUserSignUp\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"idpUserId\"}}]}}]}}]} as unknown as DocumentNode<InitiateEndUserSignUpMutation, InitiateEndUserSignUpMutationVariables>;\nexport const CheckEndUserSignUpOtpDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckEndUserSignUpOtp\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckEndUserSignUpOtpInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkEndUserSignUpOtp\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOtpValid\"}}]}}]}}]} as unknown as DocumentNode<CheckEndUserSignUpOtpMutation, CheckEndUserSignUpOtpMutationVariables>;\nexport const CompleteEndUserSignUpDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CompleteEndUserSignUp\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CompleteEndUserSignUpInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"completeEndUserSignUp\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"idpUserId\"}}]}}]}}]} as unknown as DocumentNode<CompleteEndUserSignUpMutation, CompleteEndUserSignUpMutationVariables>;\nexport const InitiateEndUserPasswordResetDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"InitiateEndUserPasswordReset\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"InitiateEndUserPasswordResetInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"initiateEndUserPasswordReset\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"idpUserId\"}}]}}]}}]} as unknown as DocumentNode<InitiateEndUserPasswordResetMutation, InitiateEndUserPasswordResetMutationVariables>;\nexport const CheckPasswordResetOtpDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckPasswordResetOtp\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckEndUserPasswordResetOtpInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkEndUserPasswordResetOtp\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOtpValid\"}}]}}]}}]} as unknown as DocumentNode<CheckPasswordResetOtpMutation, CheckPasswordResetOtpMutationVariables>;\nexport const CompleteEndUserPasswordResetDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CompleteEndUserPasswordReset\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CompleteEndUserPasswordResetInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"completeEndUserPasswordReset\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"idpUserId\"}}]}}]}}]} as unknown as DocumentNode<CompleteEndUserPasswordResetMutation, CompleteEndUserPasswordResetMutationVariables>;","import {\n CheckOtpResponseCode,\n CheckPasswordResetOtpResponse,\n CheckUserSignUpOtpResponse,\n CompletePasswordResetResponse,\n CompleteUserSignUpResponse,\n CompleteUserSignUpResponseCode,\n DecryptNativeCookieResponse,\n DecryptNativeCookieResponseCode,\n IdpConfiguration,\n IdpConfigurationResponse,\n IdpConfigurationResponseCode,\n InitiatePasswordResetResponse,\n ResetPasswordResponseCode,\n SignInResponse,\n SignOutResponse,\n SignOutResponseCode,\n TokenResponse,\n TokenResponseCode,\n UserSignUpResponse,\n UserSignUpResponseCode,\n WellKnownEndpointResponse,\n} from '@axinom/mosaic-user-auth-utils';\nimport { ensureError } from '../common/ensure-error';\nimport { stringifyGqlQuery } from '../common/stringify-gql-query';\nimport { SignInRequest, UserAuthConfig, UserToken } from '../common/types';\nimport { UserAuthError } from '../common/user-auth-error';\nimport {\n CheckEndUserPasswordResetOtpInput,\n CheckEndUserSignUpOtpDocument,\n CheckEndUserSignUpOtpInput,\n CheckEndUserSignUpOtpMutationVariables,\n CheckPasswordResetOtpDocument,\n CheckPasswordResetOtpMutationVariables,\n CompleteEndUserPasswordResetDocument,\n CompleteEndUserPasswordResetInput,\n CompleteEndUserPasswordResetMutationVariables,\n CompleteEndUserSignUpDocument,\n CompleteEndUserSignUpInput,\n CompleteEndUserSignUpMutationVariables,\n InitiateEndUserPasswordResetDocument,\n InitiateEndUserPasswordResetMutationVariables,\n InitiateEndUserSignUpDocument,\n InitiateEndUserSignUpInput,\n InitiateEndUserSignUpMutationVariables,\n} from '../generated/ax-auth-management-graphql.types';\nimport {\n DecryptNativeCookieDocument,\n DecryptNativeCookieMutationVariables,\n} from '../generated/user-service-management-graphql.types';\n\n// A valid user token is cached in order to reduce unnecessary calls to the User Auth API\n// It is nullified just before the expiry so that the next call to `getUserToken` will retrieve a new token\nlet currentUserToken: UserToken | null = null;\n\nasync function invokeUserAuthMethod<T>(\n method: 'get-user-auth-idp-config' | 'token' | 'sign-out' | '.well-known',\n userAuthConfig: UserAuthConfig,\n isRootLevel = false,\n): Promise<T> {\n const endpointUrl = new URL(\n `${userAuthConfig.tenantId}/${userAuthConfig.environmentId}/${userAuthConfig.applicationId}/${method}`,\n userAuthConfig.userAuthBaseUrl,\n );\n\n const rootEndpointUrl = new URL(`${method}`, userAuthConfig.userAuthBaseUrl);\n\n return (\n await fetch(isRootLevel ? rootEndpointUrl.href : endpointUrl.href, {\n cache: 'no-cache',\n credentials: isRootLevel ? 'omit' : 'include',\n redirect: 'follow',\n referrerPolicy: 'origin',\n })\n ).json() as Promise<T>;\n}\n\n/**\n * Get the well-known endpoints exposed by ax-user-service.\n *\n * @param userAuthConfig an object containing user authentication info.\n * @returns `WellKnownEndpointResponse`\n */\nexport const getWellKnownEndpoints = async (\n userAuthConfig: UserAuthConfig,\n): Promise<WellKnownEndpointResponse> => {\n const userServiceEndpoints =\n await invokeUserAuthMethod<WellKnownEndpointResponse>(\n '.well-known',\n userAuthConfig,\n true,\n );\n return userServiceEndpoints;\n};\n\n/**\n * Perform a user sign in process according to the SignInWithCredentials flow.\n *\n * @param userAuthConfig An object containing user authentication info.\n * @param axAuthConnectionId The IDP Connection ID for AX_AUTH as configured for the application.\n * @param signInRequest Sign info (email, password).\n * @returns\n */\nexport const performSignInWithCredentials = async (\n userAuthConfig: UserAuthConfig,\n axAuthConnectionId: string,\n signInRequest: SignInRequest,\n): Promise<SignInResponse> => {\n const signInURL = new URL(\n `${userAuthConfig.tenantId}/${userAuthConfig.environmentId}/${userAuthConfig.applicationId}/sign-in-with-credentials`,\n userAuthConfig.userAuthBaseUrl,\n );\n\n const signInResponse = await (\n await fetch(signInURL.href, {\n method: 'POST',\n cache: 'no-cache',\n credentials: 'include',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n ...signInRequest,\n connectionId: axAuthConnectionId,\n }),\n })\n ).json();\n\n return signInResponse;\n};\n\n/**\n * Start the user sign-up flow, using the AxAuth-Service as a user-store.\n *\n * @param userSignUpRequest User Sign up info. (email, password)\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const initiateUserSignUp = async (\n userSignUpRequest: InitiateEndUserSignUpInput,\n axAuthManagementEndpoint: string,\n): Promise<UserSignUpResponse> => {\n const variables: InitiateEndUserSignUpMutationVariables = {\n input: userSignUpRequest,\n };\n\n const userSignUpResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(InitiateEndUserSignUpDocument, variables),\n })\n ).json();\n\n if (userSignUpResponse.errors !== undefined) {\n return {\n code: UserSignUpResponseCode.ERROR,\n message: userSignUpResponse.errors[0].message,\n };\n }\n\n return {\n code: UserSignUpResponseCode.SUCCESS,\n };\n};\n\n/**\n * Check if a provided OTP code for User Sign Up is still valid.\n *\n * @param checkUserSignUpOtpRequest An object containing the required the sign up OTP code.\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const checkUserSignUpOtp = async (\n checkUserSignUpOtpRequest: CheckEndUserSignUpOtpInput,\n axAuthManagementEndpoint: string,\n): Promise<CheckUserSignUpOtpResponse> => {\n const variables: CheckEndUserSignUpOtpMutationVariables = {\n input: checkUserSignUpOtpRequest,\n };\n\n const checkSignUpOtpResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CheckEndUserSignUpOtpDocument, variables),\n })\n ).json();\n\n if (checkSignUpOtpResponse.errors !== undefined) {\n return {\n code: CheckOtpResponseCode.ERROR,\n message: checkSignUpOtpResponse.errors[0].message,\n };\n }\n\n return {\n code: CheckOtpResponseCode.SUCCESS,\n isOtpValid: checkSignUpOtpResponse.data.checkEndUserSignUpOtp.isOtpValid,\n };\n};\n\n/**\n * Verify the OTP and complete the sign-up flow\n *\n * @param completeUserSignUpRequest An object containing the required info for user sign up verification. (otp/new password)\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const completeUserSignUp = async (\n completeUserSignUpRequest: CompleteEndUserSignUpInput,\n axAuthManagementEndpoint: string,\n): Promise<CompleteUserSignUpResponse> => {\n const variables: CompleteEndUserSignUpMutationVariables = {\n input: completeUserSignUpRequest,\n };\n\n const completeUserSignUpResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CompleteEndUserSignUpDocument, variables),\n })\n ).json();\n\n if (completeUserSignUpResponse.errors !== undefined) {\n return {\n code: CompleteUserSignUpResponseCode.ERROR,\n message: completeUserSignUpResponse.errors[0].message,\n };\n }\n\n return {\n code: CompleteUserSignUpResponseCode.SUCCESS,\n };\n};\n\n/**\n * Start the process of resetting the password for a registered user.\n *\n * @param email User Email\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @param customData An optional arbitrary JSON object. When used, this customData will be submitted to the Forgot Password Webhook via the HTTP POST request body, and can be used to transfer some needed context to the Webhook.\n * @returns\n */\nexport const initiatePasswordReset = async (\n email: string,\n axAuthClientId: string,\n axAuthManagementEndpoint: string,\n customData?: Record<string, unknown>,\n): Promise<InitiatePasswordResetResponse> => {\n const variables: InitiateEndUserPasswordResetMutationVariables = {\n input: {\n oAuthClientId: axAuthClientId,\n email: email,\n customData: customData,\n },\n };\n\n const initiateResetPasswordResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(InitiateEndUserPasswordResetDocument, variables),\n })\n ).json();\n\n if (initiateResetPasswordResponse.errors !== undefined) {\n return {\n code: ResetPasswordResponseCode.ERROR,\n message: initiateResetPasswordResponse.errors[0].message,\n };\n }\n\n return {\n code: ResetPasswordResponseCode.SUCCESS,\n };\n};\n\n/**\n * Check if a provided OTP code for User Sign Up is valid.\n *\n * @param checkPasswordResetOtpRequest An object containing the reset OTP code.\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const checkPasswordResetOtp = async (\n checkPasswordResetOtpRequest: CheckEndUserPasswordResetOtpInput,\n axAuthManagementEndpoint: string,\n): Promise<CheckPasswordResetOtpResponse> => {\n const variables: CheckPasswordResetOtpMutationVariables = {\n input: checkPasswordResetOtpRequest,\n };\n\n const checkPasswordResetOtpResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CheckPasswordResetOtpDocument, variables),\n })\n ).json();\n\n if (checkPasswordResetOtpResponse.errors !== undefined) {\n return {\n code: CheckOtpResponseCode.ERROR,\n message: checkPasswordResetOtpResponse.errors[0].message,\n };\n }\n\n return {\n code: CheckOtpResponseCode.SUCCESS,\n isOtpValid:\n checkPasswordResetOtpResponse.data.checkEndUserPasswordResetOtp\n .isOtpValid,\n };\n};\n\n/**\n * Complete the process of resetting the password for a registered user.\n *\n * @param completePasswordResetRequest An object containing the required info for password reset completion. (otp/new password)\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const completePasswordReset = async (\n completePasswordResetRequest: CompleteEndUserPasswordResetInput,\n axAuthManagementEndpoint: string,\n): Promise<CompletePasswordResetResponse> => {\n const variables: CompleteEndUserPasswordResetMutationVariables = {\n input: completePasswordResetRequest,\n };\n\n const completePasswordResetResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CompleteEndUserPasswordResetDocument, variables),\n })\n ).json();\n\n if (completePasswordResetResponse.errors !== undefined) {\n return {\n code: ResetPasswordResponseCode.ERROR,\n message: completePasswordResetResponse.errors[0].message,\n };\n }\n\n return {\n code: ResetPasswordResponseCode.SUCCESS,\n };\n};\n\nexport const getIdpConfigurations = async (\n userAuthConfig: UserAuthConfig,\n): Promise<IdpConfiguration[]> => {\n const configResponse = await invokeUserAuthMethod<IdpConfigurationResponse>(\n 'get-user-auth-idp-config',\n userAuthConfig,\n );\n\n if (configResponse.code === IdpConfigurationResponseCode.SUCCESS) {\n return (\n configResponse.availableIdentityProviders?.map((idp) => {\n return {\n idpConnectionId: idp.idpConnectionId,\n providerId: idp.providerId,\n clientId: idp.clientId,\n providerIconUrl: idp.providerIconUrl,\n title: idp.title,\n sortOrder: idp.sortOrder,\n };\n }) ?? []\n );\n } else {\n return [];\n }\n};\n\n/**\n * Get the Authentication URL for a given IDP for web based applications.\n *\n * @param userAuthConfig The UserAuthConfig object.\n * @param idpConnectionId IDP Connection ID that should be authenticated with.\n * @param returnUrl The return URL which the User Service will redirect after completing the authentication flow.\n * @returns a URL object\n */\nexport const getAuthUrl = (\n userAuthConfig: UserAuthConfig,\n idpConnectionId: string,\n returnUrl: string,\n): URL => {\n const authUrl = new URL('oauth', userAuthConfig.userAuthBaseUrl);\n authUrl.searchParams.set('tenantId', userAuthConfig.tenantId);\n authUrl.searchParams.set('environmentId', userAuthConfig.environmentId);\n authUrl.searchParams.set('applicationId', userAuthConfig.applicationId);\n authUrl.searchParams.set('idpConnectionId', idpConnectionId);\n authUrl.searchParams.set('originUrl', returnUrl);\n authUrl.searchParams.set('userAuthProxyUrl', userAuthConfig.userAuthBaseUrl);\n return authUrl;\n};\n\n/**\n * TODO: Move this to the react-native-lib.\n * react-native does not support URL.searchParams.set() method.\n * We need to explicitly install react-native-url-polyfill package.\n * Best if we do that in react-native specific user-auth-lib. *\n */\nexport const getNativeAuthUrl = (\n userAuthConfig: UserAuthConfig,\n idpConnectionId: string,\n returnUrl: string,\n encryptionKey: string,\n): URL => {\n const authUrl = new URL(\n `oauth?tenantId=${userAuthConfig.tenantId}&environmentId=${userAuthConfig.environmentId}&applicationId=${userAuthConfig.applicationId}&idpConnectionId=${idpConnectionId}&originUrl=${returnUrl}&userAuthProxyUrl=${userAuthConfig.userAuthBaseUrl}&encryptionKey=${encryptionKey}`,\n userAuthConfig.userAuthBaseUrl,\n );\n return authUrl;\n};\n/**\n * Returns a new user token by invoking the User Auth API\n */\nexport const fetchUserToken = async (\n userAuthConfig: UserAuthConfig,\n): Promise<UserToken> => {\n try {\n const tokenResponse = await invokeUserAuthMethod<TokenResponse>(\n 'token',\n userAuthConfig,\n );\n if (tokenResponse.code !== TokenResponseCode.SUCCESS) {\n throw new UserAuthError(tokenResponse.message, tokenResponse.code);\n } else {\n return {\n tenantId: tokenResponse.tenantId ?? '',\n environmentId: tokenResponse.environmentId ?? '',\n applicationId: tokenResponse.applicationId ?? '',\n userId: tokenResponse.user?.id ?? '',\n profileId: tokenResponse.user?.profileId ?? '',\n email: tokenResponse.user?.email ?? null,\n name: tokenResponse.user?.name ?? null,\n extensions: tokenResponse.extensions,\n accessToken: tokenResponse.user?.token.accessToken ?? '',\n expiresInSeconds: tokenResponse.user?.token.expiresInSeconds ?? 0,\n expiresAt: tokenResponse.user?.token.expiresAt,\n };\n }\n } catch (e) {\n const error = ensureError(e);\n throw new UserAuthError(\n error.message,\n (error as UserAuthError).code ?? TokenResponseCode.INTERNAL_SERVER_ERROR,\n );\n }\n};\n\n/**\n * Returns a user token. The method will ensure to avoid unnecessary API calls by caching valid user tokens.\n */\nexport const getUserToken = async (\n userAuthConfig: UserAuthConfig,\n): Promise<UserToken> => {\n if (\n currentUserToken?.expiresAt === undefined ||\n currentUserToken.expiresAt <= new Date(Date.now())\n ) {\n currentUserToken = null;\n }\n\n if (currentUserToken !== null) {\n // A valid user token is already available\n return Promise.resolve(currentUserToken);\n }\n\n currentUserToken = await fetchUserToken(userAuthConfig);\n\n return currentUserToken;\n};\n\nexport const logoutUser = async (\n userAuthConfig: UserAuthConfig,\n): Promise<boolean> => {\n const logoutResponse = await invokeUserAuthMethod<SignOutResponse>(\n 'sign-out',\n userAuthConfig,\n );\n currentUserToken = null;\n\n return logoutResponse.code === SignOutResponseCode.SUCCESS;\n};\n\n/**\n * Decrypts an encrypted User Token Cookie\n *\n * @param encryptedCookie\n * @param key\n * @param userServiceManagementEndpoint\n * @returns\n */\nexport const decryptNativeCookie = async (\n encryptedCookie: string,\n key: string,\n userServiceManagementEndpoint: string,\n): Promise<DecryptNativeCookieResponse> => {\n const variables: DecryptNativeCookieMutationVariables = {\n input: {\n encryptedValue: encryptedCookie,\n key,\n },\n };\n\n const decryptNativeCookieResponse = await (\n await fetch(`${userServiceManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(DecryptNativeCookieDocument, variables),\n })\n ).json();\n\n if (decryptNativeCookieResponse.errors !== undefined) {\n return {\n code: DecryptNativeCookieResponseCode.COOKIE_DECRYPTION_FAILED,\n message: decryptNativeCookieResponse.errors[0].message,\n };\n }\n\n return {\n code: DecryptNativeCookieResponseCode.SUCCESS,\n decryptedCookie:\n decryptNativeCookieResponse.data.decryptWithKeyAes.decryptedValue,\n };\n};\n\nexport const resetCurrentUerToken = (): void => {\n currentUserToken = null;\n};\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n Cursor: any;\n Datetime: any;\n UUID: any;\n};\n\n/** A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ */\nexport type BooleanFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Boolean']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Boolean']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Boolean']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Boolean']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Boolean']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Boolean']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Boolean']>>;\n};\n\n/** All input for the create `UserProfile` mutation. */\nexport type CreateUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `UserProfile` to be created by this mutation. */\n userProfile: UserProfileInput;\n};\n\n/** The output of our create `UserProfile` mutation. */\nexport type CreateUserProfilePayload = {\n __typename?: 'CreateUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `UserProfile` that was created by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our create `UserProfile` mutation. */\nexport type CreateUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n\n\n/** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */\nexport type DatetimeFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Datetime']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Datetime']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Datetime']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Datetime']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Datetime']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Datetime']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Datetime']>>;\n};\n\n/** All input for the `deleteUserProfile` mutation. */\nexport type DeleteUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `UserProfile` mutation. */\nexport type DeleteUserProfilePayload = {\n __typename?: 'DeleteUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `UserProfile` that was deleted by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our delete `UserProfile` mutation. */\nexport type DeleteUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n/** Exposes all error codes and messages for errors that a service requests can throw. In some cases, messages that are actually thrown can be different, since they can include more details or a single code can used for different errors of the same type. */\nexport enum ErrorCodesEnum {\n /** Access Token has expired. */\n ACCESS_TOKEN_EXPIRED = 'ACCESS_TOKEN_EXPIRED',\n /** Error while generating the Access Token. */\n ACCESS_TOKEN_GENERATION_ERROR = 'ACCESS_TOKEN_GENERATION_ERROR',\n /** Access Token is invalid */\n ACCESS_TOKEN_INVALID = 'ACCESS_TOKEN_INVALID',\n /** Access Token is not provided */\n ACCESS_TOKEN_REQUIRED = 'ACCESS_TOKEN_REQUIRED',\n /** Access token verification failed */\n ACCESS_TOKEN_VERIFICATION_FAILED = 'ACCESS_TOKEN_VERIFICATION_FAILED',\n /** Application \"%s\" does not exist. */\n APPLICATION_DOES_NOT_EXIST = 'APPLICATION_DOES_NOT_EXIST',\n /** No active signing key found for application \"%s\". */\n APPLICATION_SIGNING_KEY_NOT_FOUND = 'APPLICATION_SIGNING_KEY_NOT_FOUND',\n /** The assertion check for the identifier %s failed. */\n ASSERTION_FAILED = 'ASSERTION_FAILED',\n /** Auth config is invalid. */\n AUTH_CONFIG_INVALID = 'AUTH_CONFIG_INVALID',\n /** Authenticated End User not found. */\n AUTHENTICATED_END_USER_NOT_FOUND = 'AUTHENTICATED_END_USER_NOT_FOUND',\n /** Authenticated Management Subject not found. */\n AUTHENTICATED_MANAGEMENT_SUBJECT_NOT_FOUND = 'AUTHENTICATED_MANAGEMENT_SUBJECT_NOT_FOUND',\n /** A Permission Definition or an EndUserAuthorizationConfig was not found to be passed into Postgraphile build options. This is a development time issue. */\n AUTHORIZATION_OPTIONS_MISCONFIGURED = 'AUTHORIZATION_OPTIONS_MISCONFIGURED',\n /** Bad request */\n BAD_REQUEST = 'BAD_REQUEST',\n /** User must be signed in to query the Active Profile. */\n CANNOT_QUERY_PROFILE = 'CANNOT_QUERY_PROFILE',\n /** Cannot set an Active Profile without signing in. */\n CANNOT_SET_ACTIVE_PROFILE = 'CANNOT_SET_ACTIVE_PROFILE',\n /** Could not find the Client ID connected to the user. */\n CLIENT_ID_NOT_FOUND = 'CLIENT_ID_NOT_FOUND',\n /** A database operation has failed because of a lock timeout. */\n DATABASE_LOCK_TIMEOUT_ERROR = 'DATABASE_LOCK_TIMEOUT_ERROR',\n /** An authorization database error has occurred. The user might not have enough permissions. */\n DATABASE_PERMISSIONS_CHECK_FAILED = 'DATABASE_PERMISSIONS_CHECK_FAILED',\n /** An expected and handled database constraint error has occurred. The actual message will have more information. */\n DATABASE_VALIDATION_FAILED = 'DATABASE_VALIDATION_FAILED',\n /** Error while generating End-User Application Access Token. */\n END_USER_ACCESS_TOKEN_GENERATION_ERROR = 'END_USER_ACCESS_TOKEN_GENERATION_ERROR',\n /** This is a wrapper error for the original unhandled error of unsupported type. */\n ERROR_WRAPPER = 'ERROR_WRAPPER',\n /** A GraphQL validation error has occurred. Please make sure that the GraphQL request is made with correct syntax or parameters. */\n GRAPHQL_VALIDATION_FAILED = 'GRAPHQL_VALIDATION_FAILED',\n /** The Hosting service is not accessible. Please contact Axinom support. */\n HOSTING_SERVICE_NOT_ACCESSIBLE = 'HOSTING_SERVICE_NOT_ACCESSIBLE',\n /** The Identity service is not accessible. Please contact Axinom support. */\n IDENTITY_SERVICE_NOT_ACCESSIBLE = 'IDENTITY_SERVICE_NOT_ACCESSIBLE',\n /** An unhandled and unexpected error has occurred. Please contact the service support. */\n INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR',\n /** Error accessing database. */\n INTERNAL_SERVER_OR_DB_ACCESS_ERROR = 'INTERNAL_SERVER_OR_DB_ACCESS_ERROR',\n /** Invalid constructor arguments for \"%s\". */\n INVALID_CONSTRUCTOR_ARGS = 'INVALID_CONSTRUCTOR_ARGS',\n /** Error occurred while trying to fetch signing keys from the JWKS endpoint for the Tenant/Environment/Application. */\n JWKS_ERROR = 'JWKS_ERROR',\n /** Passed JWT is not a Mosaic End-User Token. Cannot be verified. */\n JWT_IS_NOT_MOSAIC_TOKEN = 'JWT_IS_NOT_MOSAIC_TOKEN',\n /** Malformed access token received */\n MALFORMED_TOKEN = 'MALFORMED_TOKEN',\n /** Could not find a matching signing key using JWKS. */\n MATCHING_SIGNING_KEY_NOT_FOUND = 'MATCHING_SIGNING_KEY_NOT_FOUND',\n /** The token is not an Authenticated End-User */\n NOT_AUTHENTICATED_END_USER = 'NOT_AUTHENTICATED_END_USER',\n /** The object is not a AuthenticatedManagementSubject */\n NOT_AUTHENTICATED_MANAGEMENT_SUBJECT = 'NOT_AUTHENTICATED_MANAGEMENT_SUBJECT',\n /** The object is not a AuthenticatedRequest */\n NOT_AUTHENTICATED_REQUEST = 'NOT_AUTHENTICATED_REQUEST',\n /** The token is not an End-User Application */\n NOT_END_USER_APPLICATION = 'NOT_END_USER_APPLICATION',\n /** The object is not an EndUserAuthenticationContext */\n NOT_END_USER_AUTHENTICATION_CONTEXT = 'NOT_END_USER_AUTHENTICATION_CONTEXT',\n /** The object is not a GenericAuthenticatedSubject */\n NOT_GENERIC_AUTHENTICATED_SUBJECT = 'NOT_GENERIC_AUTHENTICATED_SUBJECT',\n /** The object is not a ManagementAuthenticationContext */\n NOT_MANAGEMENT_AUTHENTICATION_CONTEXT = 'NOT_MANAGEMENT_AUTHENTICATION_CONTEXT',\n /** The %s is missing required properties: %s. */\n OBJECT_IS_MISSING_PROPERTIES = 'OBJECT_IS_MISSING_PROPERTIES',\n /** Service Configuration does not exist for the environment. */\n SERVICE_CONFIG_ERROR = 'SERVICE_CONFIG_ERROR',\n /** Session ID not found. Cannot set an Active Profile. */\n SESSION_ID_NOT_FOUND = 'SESSION_ID_NOT_FOUND',\n /** Could not find a matching signing key to verify the access token. The signing key used to create the token may have been revoked or the Tenant/Environment/Application configuration is erroneous. */\n SIGNING_KEY_NOT_FOUND = 'SIGNING_KEY_NOT_FOUND',\n /** An application startup error has occurred. The actual message will have more information. */\n STARTUP_ERROR = 'STARTUP_ERROR',\n /** User is authenticated, but subject information was not found. Please contact Axinom Support. */\n SUBJECT_INFORMATION_NOT_FOUND = 'SUBJECT_INFORMATION_NOT_FOUND',\n /** User is authenticated, but subject information was not found. Please contact Axinom Support. */\n SUBJECT_NOT_FOUND = 'SUBJECT_NOT_FOUND',\n /** Token validity duration cannot exceed %s. */\n TOKEN_VALIDITY_DURATION_EXCEEDED = 'TOKEN_VALIDITY_DURATION_EXCEEDED',\n /** Unable to get the %s secret. Please contact Axinom Support. */\n UNABLE_TO_GET_SECRET = 'UNABLE_TO_GET_SECRET',\n /** Unable to set the %s secret. Please contact Axinom Support. */\n UNABLE_TO_SET_SECRET = 'UNABLE_TO_SET_SECRET',\n /** The subject has no permissions. */\n UNAUTHORIZED = 'UNAUTHORIZED',\n /** Unexpected null or undefined value received. */\n UNEXPECTED_NULL_UNDEFINED = 'UNEXPECTED_NULL_UNDEFINED',\n /** An unhandled error occurred while making requests through Axios. */\n UNHANDLED_AXIOS_ERROR = 'UNHANDLED_AXIOS_ERROR',\n /** An unhandled database-related error has occurred. Please contact the service support. */\n UNHANDLED_DATABASE_ERROR = 'UNHANDLED_DATABASE_ERROR',\n /** An unhandled error has occurred. Please contact the service support. */\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n /** Attempt to create or update an element failed, as it would have resulted in a duplicate element. */\n UNIQUE_CONSTRAINT_ERROR = 'UNIQUE_CONSTRAINT_ERROR',\n /** An error occurred while generating long lived token. %s. */\n UNKNOWN_ERROR_GENERATING_LONG_LIVED_TOKEN = 'UNKNOWN_ERROR_GENERATING_LONG_LIVED_TOKEN',\n /** Unsupported token type received to generateEndUserLongLivedToken. %s */\n UNSUPPORTED_TOKEN_RECEIVED = 'UNSUPPORTED_TOKEN_RECEIVED',\n /** Cannot delete the user account without signing in. */\n USER_ACCOUNT_DELETE_NOT_ALLOWED = 'USER_ACCOUNT_DELETE_NOT_ALLOWED',\n /** No payload was found in User Info Retrieval webhook response. */\n USER_INFO_WEBHOOK_RESPONSE_PAYLOAD_NOT_FOUND = 'USER_INFO_WEBHOOK_RESPONSE_PAYLOAD_NOT_FOUND',\n /** User is not authorized to access the operation. */\n USER_NOT_AUTHORIZED = 'USER_NOT_AUTHORIZED',\n /** The User service is not accessible. Please contact Axinom support. */\n USER_SERVICE_NOT_ACCESSIBLE = 'USER_SERVICE_NOT_ACCESSIBLE',\n /** Could not decode the user token when trying to create a long-lived end-user token. */\n USER_TOKEN_DECODE_FAILED = 'USER_TOKEN_DECODE_FAILED',\n /** User token is expired. */\n USER_TOKEN_EXPIRED = 'USER_TOKEN_EXPIRED',\n /** The %s is not an object. */\n VALUE_IS_NOT_OBJECT = 'VALUE_IS_NOT_OBJECT',\n /** Unable to make a request to the webhook URL \"%s\". Please make sure that the endpoint is reachable. */\n WEBHOOK_ENDPOINT_NOT_REACHABLE = 'WEBHOOK_ENDPOINT_NOT_REACHABLE',\n /** A webhook request has failed. A more concrete error message will be returned with this code. */\n WEBHOOK_REQUEST_FAILURE = 'WEBHOOK_REQUEST_FAILURE',\n /** The webhook for the URL \"%s\" responded with error(s). Please check the details for more information. */\n WEBHOOK_RESPONDED_WITH_ERRORS = 'WEBHOOK_RESPONDED_WITH_ERRORS',\n /** The request to get the %s secret succeeded, but the secret was not found. Please contact Axinom Support. */\n WEBHOOK_SECRET_NOT_FOUND = 'WEBHOOK_SECRET_NOT_FOUND',\n /** The %s secret is not set. Please call an appropriate mutation to generate it. */\n WEBHOOK_SECRET_NOT_SET = 'WEBHOOK_SECRET_NOT_SET',\n /** Websocket not found in ExtendedGraphQLContext. This is a development time issue. A reference to the websocket must be included in Postgraphile build options. */\n WEBSOCKET_NOT_FOUND = 'WEBSOCKET_NOT_FOUND'\n}\n\n/** A filter to be used against Int fields. All fields are combined with a logical ‘and.’ */\nexport type IntFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Int']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Int']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Int']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Int']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Int']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Int']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Int']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Int']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Int']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Int']>>;\n};\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type Mutation = {\n __typename?: 'Mutation';\n /** Creates a single `UserProfile`. */\n createUserProfile?: Maybe<CreateUserProfilePayload>;\n /** Deletes a single `UserProfile` using a unique key. */\n deleteUserProfile?: Maybe<DeleteUserProfilePayload>;\n /** Adds a custom mutation to set the Active Profile for a signed in User. */\n setActiveProfile?: Maybe<UserProfile>;\n /** Updates a single `UserProfile` using a unique key and a patch. */\n updateUserProfile?: Maybe<UpdateUserProfilePayload>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateUserProfileArgs = {\n input: CreateUserProfileInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteUserProfileArgs = {\n input: DeleteUserProfileInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationSetActiveProfileArgs = {\n profileId: Scalars['UUID'];\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateUserProfileArgs = {\n input: UpdateUserProfileInput;\n};\n\n/** Information about pagination in a connection. */\nexport type PageInfo = {\n __typename?: 'PageInfo';\n /** When paginating forwards, the cursor to continue. */\n endCursor?: Maybe<Scalars['Cursor']>;\n /** When paginating forwards, are there more items? */\n hasNextPage: Scalars['Boolean'];\n /** When paginating backwards, are there more items? */\n hasPreviousPage: Scalars['Boolean'];\n /** When paginating backwards, the cursor to continue. */\n startCursor?: Maybe<Scalars['Cursor']>;\n};\n\n/** The root query type which gives access points into the data universe. */\nexport type Query = {\n __typename?: 'Query';\n /**\n * Exposes the root query type nested one level down. This is helpful for Relay 1\n * which can only query top level fields if they are in a particular form.\n */\n query: Query;\n user?: Maybe<User>;\n userProfile?: Maybe<UserProfile>;\n /** Reads and enables pagination through a set of `UserProfile`. */\n userProfiles?: Maybe<UserProfilesConnection>;\n /** Reads and enables pagination through a set of `User`. */\n users?: Maybe<UsersConnection>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserProfileArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserProfilesArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserProfileCondition>;\n filter?: Maybe<UserProfileFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUsersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserCondition>;\n filter?: Maybe<UserFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UsersOrderBy>>;\n};\n\n/** A filter to be used against String fields. All fields are combined with a logical ‘and.’ */\nexport type StringFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */\n distinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-sensitive). */\n endsWith?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-insensitive). */\n endsWithInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['String']>;\n /** Equal to the specified value (case-insensitive). */\n equalToInsensitive?: Maybe<Scalars['String']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['String']>;\n /** Greater than the specified value (case-insensitive). */\n greaterThanInsensitive?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value (case-insensitive). */\n greaterThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified string (case-sensitive). */\n includes?: Maybe<Scalars['String']>;\n /** Contains the specified string (case-insensitive). */\n includesInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list (case-insensitive). */\n inInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['String']>;\n /** Less than the specified value (case-insensitive). */\n lessThanInsensitive?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value (case-insensitive). */\n lessThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n like?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n likeInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */\n notDistinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-sensitive). */\n notEndsWith?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-insensitive). */\n notEndsWithInsensitive?: Maybe<Scalars['String']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['String']>;\n /** Not equal to the specified value (case-insensitive). */\n notEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['String']>>;\n /** Does not contain the specified string (case-sensitive). */\n notIncludes?: Maybe<Scalars['String']>;\n /** Does not contain the specified string (case-insensitive). */\n notIncludesInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list (case-insensitive). */\n notInInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLike?: Maybe<Scalars['String']>;\n /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLikeInsensitive?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-sensitive). */\n notStartsWith?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-insensitive). */\n notStartsWithInsensitive?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-sensitive). */\n startsWith?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-insensitive). */\n startsWithInsensitive?: Maybe<Scalars['String']>;\n};\n\n/** All input for the `updateUserProfile` mutation. */\nexport type UpdateUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `UserProfile` being updated. */\n patch: UserProfilePatch;\n};\n\n/** The output of our update `UserProfile` mutation. */\nexport type UpdateUserProfilePayload = {\n __typename?: 'UpdateUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `UserProfile` that was updated by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our update `UserProfile` mutation. */\nexport type UpdateUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\nexport type User = {\n __typename?: 'User';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n email?: Maybe<Scalars['String']>;\n enabled: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n lastActiveAt: Scalars['Datetime'];\n loginCount: Scalars['Int'];\n name?: Maybe<Scalars['String']>;\n phone?: Maybe<Scalars['String']>;\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n/** A condition to be used against `User` object types. All fields are tested for equality and combined with a logical ‘and.’ */\nexport type UserCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `email` field. */\n email?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enabled` field. */\n enabled?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `lastActiveAt` field. */\n lastActiveAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `loginCount` field. */\n loginCount?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `phone` field. */\n phone?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `User` object types. All fields are combined with a logical ‘and.’ */\nexport type UserFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `email` field. */\n email?: Maybe<StringFilter>;\n /** Filter by the object’s `enabled` field. */\n enabled?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `lastActiveAt` field. */\n lastActiveAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `loginCount` field. */\n loginCount?: Maybe<IntFilter>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<UserFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserFilter>>;\n /** Filter by the object’s `phone` field. */\n phone?: Maybe<StringFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\nexport type UserProfile = {\n __typename?: 'UserProfile';\n activeProfile?: Maybe<Scalars['String']>;\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n defaultProfile: Scalars['Boolean'];\n displayName: Scalars['String'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n profilePictureUrl?: Maybe<Scalars['String']>;\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n/**\n * A condition to be used against `UserProfile` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type UserProfileCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `defaultProfile` field. */\n defaultProfile?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `displayName` field. */\n displayName?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `UserProfile` object types. All fields are combined with a logical ‘and.’ */\nexport type UserProfileFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserProfileFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `defaultProfile` field. */\n defaultProfile?: Maybe<BooleanFilter>;\n /** Filter by the object’s `displayName` field. */\n displayName?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<UserProfileFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserProfileFilter>>;\n /** Filter by the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\n/** An input for mutations affecting `UserProfile` */\nexport type UserProfileInput = {\n displayName: Scalars['String'];\n profilePictureUrl?: Maybe<Scalars['String']>;\n};\n\n/** Represents an update to a `UserProfile`. Fields that are set will be updated. */\nexport type UserProfilePatch = {\n displayName?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n};\n\n/** A connection to a list of `UserProfile` values. */\nexport type UserProfilesConnection = {\n __typename?: 'UserProfilesConnection';\n /** A list of edges which contains the `UserProfile` and cursor to aid in pagination. */\n edges: Array<UserProfilesEdge>;\n /** A list of `UserProfile` objects. */\n nodes: Array<UserProfile>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `UserProfile` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `UserProfile` edge in the connection. */\nexport type UserProfilesEdge = {\n __typename?: 'UserProfilesEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `UserProfile` at the end of the edge. */\n node: UserProfile;\n};\n\n/** Methods to use when ordering `UserProfile`. */\nexport enum UserProfilesOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n DEFAULT_PROFILE_ASC = 'DEFAULT_PROFILE_ASC',\n DEFAULT_PROFILE_DESC = 'DEFAULT_PROFILE_DESC',\n DISPLAY_NAME_ASC = 'DISPLAY_NAME_ASC',\n DISPLAY_NAME_DESC = 'DISPLAY_NAME_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROFILE_PICTURE_URL_ASC = 'PROFILE_PICTURE_URL_ASC',\n PROFILE_PICTURE_URL_DESC = 'PROFILE_PICTURE_URL_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** A connection to a list of `User` values. */\nexport type UsersConnection = {\n __typename?: 'UsersConnection';\n /** A list of edges which contains the `User` and cursor to aid in pagination. */\n edges: Array<UsersEdge>;\n /** A list of `User` objects. */\n nodes: Array<User>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `User` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `User` edge in the connection. */\nexport type UsersEdge = {\n __typename?: 'UsersEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `User` at the end of the edge. */\n node: User;\n};\n\n/** Methods to use when ordering `User`. */\nexport enum UsersOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n EMAIL_ASC = 'EMAIL_ASC',\n EMAIL_DESC = 'EMAIL_DESC',\n ENABLED_ASC = 'ENABLED_ASC',\n ENABLED_DESC = 'ENABLED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n LAST_ACTIVE_AT_ASC = 'LAST_ACTIVE_AT_ASC',\n LAST_ACTIVE_AT_DESC = 'LAST_ACTIVE_AT_DESC',\n LOGIN_COUNT_ASC = 'LOGIN_COUNT_ASC',\n LOGIN_COUNT_DESC = 'LOGIN_COUNT_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n PHONE_ASC = 'PHONE_ASC',\n PHONE_DESC = 'PHONE_DESC',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n\n/** A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ */\nexport type UuidFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['UUID']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['UUID']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['UUID']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['UUID']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['UUID']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['UUID']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['UUID']>>;\n};\n\nexport type SetActiveProfileMutationVariables = Exact<{\n profileId: Scalars['UUID'];\n}>;\n\n\nexport type SetActiveProfileMutation = (\n { __typename?: 'Mutation' }\n & { setActiveProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n);\n\nexport type GetUserProfileQueryVariables = Exact<{\n profileId: Scalars['UUID'];\n}>;\n\n\nexport type GetUserProfileQuery = (\n { __typename?: 'Query' }\n & { userProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n);\n\nexport type GetUserProfilesQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetUserProfilesQuery = (\n { __typename?: 'Query' }\n & { userProfiles?: Maybe<(\n { __typename?: 'UserProfilesConnection' }\n & { nodes: Array<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n )> }\n);\n\nexport type CreateUserProfileMutationVariables = Exact<{\n input: CreateUserProfileInput;\n}>;\n\n\nexport type CreateUserProfileMutation = (\n { __typename?: 'Mutation' }\n & { createUserProfile?: Maybe<(\n { __typename?: 'CreateUserProfilePayload' }\n & { userProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n )> }\n);\n\nexport type UpdateUserProfileMutationVariables = Exact<{\n input: UpdateUserProfileInput;\n}>;\n\n\nexport type UpdateUserProfileMutation = (\n { __typename?: 'Mutation' }\n & { updateUserProfile?: Maybe<(\n { __typename?: 'UpdateUserProfilePayload' }\n & { userProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n )> }\n);\n\nexport type DeleteUserProfileMutationVariables = Exact<{\n input: DeleteUserProfileInput;\n}>;\n\n\nexport type DeleteUserProfileMutation = (\n { __typename?: 'Mutation' }\n & { deleteUserProfile?: Maybe<(\n { __typename?: 'DeleteUserProfilePayload' }\n & { userProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n )> }\n);\n\n\nexport const SetActiveProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"SetActiveProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UUID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"setActiveProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]} as unknown as DocumentNode<SetActiveProfileMutation, SetActiveProfileMutationVariables>;\nexport const GetUserProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetUserProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UUID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]} as unknown as DocumentNode<GetUserProfileQuery, GetUserProfileQueryVariables>;\nexport const GetUserProfilesDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetUserProfiles\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfiles\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]}}]} as unknown as DocumentNode<GetUserProfilesQuery, GetUserProfilesQueryVariables>;\nexport const CreateUserProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateUserProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateUserProfileInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createUserProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfile\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]}}]} as unknown as DocumentNode<CreateUserProfileMutation, CreateUserProfileMutationVariables>;\nexport const UpdateUserProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserProfileInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateUserProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfile\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]}}]} as unknown as DocumentNode<UpdateUserProfileMutation, UpdateUserProfileMutationVariables>;\nexport const DeleteUserProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteUserProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteUserProfileInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteUserProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfile\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]}}]} as unknown as DocumentNode<DeleteUserProfileMutation, DeleteUserProfileMutationVariables>;","import { stringifyGqlQuery } from '../common/stringify-gql-query';\nimport {\n UserProfileActivateResponse,\n UserProfileCreateResponse,\n UserProfileDeleteResponse,\n UserProfileResponse,\n UserProfilesResponse,\n UserProfileUpdateInput,\n UserProfileUpdateResponse,\n} from '../common/types';\nimport {\n CreateUserProfileDocument,\n CreateUserProfileMutationVariables,\n DeleteUserProfileDocument,\n DeleteUserProfileMutationVariables,\n GetUserProfileDocument,\n GetUserProfileQueryVariables,\n GetUserProfilesDocument,\n SetActiveProfileDocument,\n SetActiveProfileMutationVariables,\n UpdateUserProfileDocument,\n UpdateUserProfileMutationVariables,\n} from '../generated/user-service-end-user-graphql.types';\n\nexport const setActiveProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n profileId: string,\n): Promise<UserProfileActivateResponse> => {\n const variables: SetActiveProfileMutationVariables = {\n profileId,\n };\n\n const activeUserProfile = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(SetActiveProfileDocument, variables),\n })\n ).json();\n\n if (activeUserProfile.errors === undefined) {\n return {\n code: 'SUCCESS',\n };\n } else {\n return {\n code: 'ERROR',\n message: activeUserProfile.errors[0].message,\n };\n }\n};\n\nexport const getUserProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n profileId: string,\n): Promise<UserProfileResponse> => {\n const variables: GetUserProfileQueryVariables = {\n profileId,\n };\n\n const userProfileResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(GetUserProfileDocument, variables),\n })\n ).json();\n\n if (userProfileResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n userProfile: userProfileResponse.data.userProfile,\n };\n } else {\n return {\n code: 'ERROR',\n message: userProfileResponse.errors[0].message,\n };\n }\n};\n\nexport const getUserProfiles = async (\n userServiceBaseUrl: string,\n accessToken: string,\n): Promise<UserProfilesResponse> => {\n const userProfilesResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(GetUserProfilesDocument),\n })\n ).json();\n\n if (userProfilesResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n userProfiles: userProfilesResponse.data.userProfiles.nodes,\n };\n } else {\n return {\n code: 'ERROR',\n message: userProfilesResponse.errors[0].message,\n };\n }\n};\n\nexport const createUserProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n displayName: string,\n profilePictureUrl: string,\n): Promise<UserProfileCreateResponse> => {\n const variables: CreateUserProfileMutationVariables = {\n input: {\n userProfile: {\n displayName: displayName,\n profilePictureUrl: profilePictureUrl === '' ? null : profilePictureUrl,\n },\n },\n };\n\n const createUserProfileResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CreateUserProfileDocument, variables),\n })\n ).json();\n\n if (createUserProfileResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n createdUserProfile:\n createUserProfileResponse.data.createUserProfile.userProfile,\n };\n } else {\n return {\n code: 'ERROR',\n message: createUserProfileResponse.errors[0].message,\n };\n }\n};\n\n/**\n * Updates a user profile\n * @param userProfileToUpdate User Profile object with required updates. This should be based on the current user profile object, with the required changes done on top of it.\n * @returns\n */\nexport const updateUserProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n userProfileToUpdate: UserProfileUpdateInput,\n): Promise<UserProfileUpdateResponse> => {\n const variables: UpdateUserProfileMutationVariables = {\n input: {\n id: userProfileToUpdate.id,\n patch: {\n displayName: userProfileToUpdate.displayName,\n profilePictureUrl:\n userProfileToUpdate.profilePictureUrl === ''\n ? null\n : userProfileToUpdate.profilePictureUrl,\n },\n },\n };\n\n const updateUserProfileResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(UpdateUserProfileDocument, variables),\n })\n ).json();\n\n if (updateUserProfileResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n updatedUserProfile:\n updateUserProfileResponse.data.updateUserProfile.userProfile,\n };\n } else {\n return {\n code: 'ERROR',\n message: updateUserProfileResponse.errors[0].message,\n };\n }\n};\n\nexport const deleteUserProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n userProfileId: string,\n): Promise<UserProfileDeleteResponse> => {\n const variables: DeleteUserProfileMutationVariables = {\n input: {\n id: userProfileId,\n },\n };\n\n const deleteUserProfileResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(DeleteUserProfileDocument, variables),\n })\n ).json();\n\n if (deleteUserProfileResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n deletedUserProfile:\n deleteUserProfileResponse.data.deleteUserProfile.userProfile,\n };\n } else {\n return {\n code: 'ERROR',\n message: deleteUserProfileResponse.errors[0].message,\n };\n }\n};\n","import {\n CheckOtpResponseCode,\n CheckPasswordResetOtpResponse,\n CheckUserSignUpOtpResponse,\n CompletePasswordResetResponse,\n CompleteUserSignUpResponse,\n CompleteUserSignUpResponseCode,\n DecryptNativeCookieResponse,\n IdpConfiguration,\n InitiatePasswordResetResponse,\n ResetPasswordResponseCode,\n SignInResponse,\n SignInResponseCode,\n TokenResponseCode,\n UserSignUpResponse,\n UserSignUpResponseCode,\n} from '@axinom/mosaic-user-auth-utils';\nimport {\n CheckEndUserPasswordResetOtpInput,\n CheckEndUserSignUpOtpInput,\n CompleteEndUserPasswordResetInput,\n CompleteEndUserSignUpInput,\n InitiateEndUserSignUpInput,\n} from 'generated/ax-auth-management-graphql.types';\nimport { AuthenticateEndUserApplicationInput } from 'generated/user-service-management-graphql.types';\nimport { ensureError } from '../common/ensure-error';\nimport { TokenRenewalMethod } from '../common/enums';\nimport {\n AuthenticateEndUserApplicationResponse,\n SignInRequest,\n SignInWithCredentialsEndpointResponse,\n TokenChangedCallback,\n TokenResponse,\n UserAuthConfig,\n UserProfileActivateResponse,\n UserProfileCreateResponse,\n UserProfileDeleteResponse,\n UserProfileResponse,\n UserProfileUpdateInput,\n UserProfileUpdateResponse,\n UserProfilesResponse,\n UserServiceConfig,\n} from '../common/types';\nimport { UserAuthError } from '../common/user-auth-error';\nimport * as endUserApplicationUtil from '../util/endUserApplication';\nimport * as userAuthUtil from '../util/userAuth';\nimport {\n decryptNativeCookie,\n getAuthUrl,\n getNativeAuthUrl,\n} from '../util/userAuth';\nimport * as userProfileUtil from '../util/userProfile';\n\n/**\n * This is the duration in seconds which we will either nullify the token (when using ON_DEMAND renewal method) or\n * fetch a new token from the API (when using the PRE_EMPTIVE renewal method)\n *\n * The token will be changed on (actualExpirationTimeInSeconds - inAdvanceTokenRenewalDurationInSeconds)\n */\nconst inAdvanceTokenRenewalDurationInSeconds = 30;\n\nexport interface IUserServiceClient {\n isDirectSignInConfigured(): Promise<boolean>;\n\n signInWithCredentials(signInRequest: SignInRequest): Promise<SignInResponse>;\n\n initiateUserSignUp(\n userSignUpRequest: Omit<InitiateEndUserSignUpInput, 'oAuthClientId'>,\n ): Promise<UserSignUpResponse>;\n\n checkUserSignUpOTP(\n checkUserSignUpOtpRequest: CheckEndUserSignUpOtpInput,\n ): Promise<CheckUserSignUpOtpResponse>;\n\n completeUserSignUp(\n completeUserSignUpRequest: CompleteEndUserSignUpInput,\n ): Promise<CompleteUserSignUpResponse>;\n\n initiateResetPassword(\n email: string,\n customData?: Record<string, unknown>,\n ): Promise<InitiatePasswordResetResponse>;\n\n checkResetPasswordOTP(\n checkPasswordResetOtpRequest: CheckEndUserPasswordResetOtpInput,\n ): Promise<CheckPasswordResetOtpResponse>;\n\n completeResetPassword(\n completePasswordResetRequest: CompleteEndUserPasswordResetInput,\n ): Promise<CompletePasswordResetResponse>;\n\n getToken(): Promise<TokenResponse>;\n\n addTokenChangedHandler(callback: TokenChangedCallback): void;\n\n removeTokenChangedHandler(callback: TokenChangedCallback): void;\n\n getIdpConfigurations(): Promise<IdpConfiguration[]>;\n\n logoutUser(): Promise<boolean>;\n\n setActiveProfile(\n endUserAccessToken: string,\n profileId: string,\n ): Promise<UserProfileActivateResponse>;\n\n getUserProfile(\n endUserAccessToken: string,\n profileId: string,\n ): Promise<UserProfileResponse>;\n\n getUserProfiles(endUserAccessToken: string): Promise<UserProfilesResponse>;\n\n createUserProfile(\n endUserAccessToken: string,\n displayName: string,\n profilePictureUrl?: string,\n ): Promise<UserProfileCreateResponse>;\n\n updateUserProfile(\n endUserAccessToken: string,\n userProfileToUpdate: UserProfileUpdateInput,\n ): Promise<UserProfileUpdateResponse>;\n\n deleteUserProfile(\n endUserAccessToken: string,\n userProfileId: string,\n ): Promise<UserProfileDeleteResponse>;\n\n authenticateEndUserApplication(\n authenticateEndUserApplicationRequest: AuthenticateEndUserApplicationInput,\n ): Promise<AuthenticateEndUserApplicationResponse>;\n\n decryptNativeCookie(\n encryptedCookie: string,\n key: string,\n ): Promise<DecryptNativeCookieResponse>;\n\n getAuthUrl(idpConnectionId: string, redirectUrl: string): URL;\n\n getNativeAuthUrl(\n idpConnectionId: string,\n redirectUri: string,\n encryptionKey: string,\n ): URL;\n}\n\nexport class UserServiceClient implements IUserServiceClient {\n private _tokenChangedHandlers: TokenChangedCallback[] = [];\n private _tokenResponse: TokenResponse | null = null;\n private _signInWithCredentialsEndpointResponse:\n | SignInWithCredentialsEndpointResponse\n | undefined = undefined;\n private _axAuthIdpConfig: IdpConfiguration | null | undefined = undefined;\n\n /**\n * Creates a user service client. For performance reasons there should only be a single client instance created by an application\n * @param userAuthConfig Configuration values for the user service auth API\n * @param userServiceConfig Configuration values for the user service API\n * @param tokenRenewalMethod Token renewal method to use\n */\n constructor(\n private userAuthConfig: UserAuthConfig,\n private userServiceConfig: UserServiceConfig,\n private tokenRenewalMethod: TokenRenewalMethod = TokenRenewalMethod.ON_DEMAND,\n ) {}\n\n private get tokenResponse(): TokenResponse | null {\n return this._tokenResponse;\n }\n\n private set tokenResponse(value: TokenResponse | null) {\n this._tokenResponse = value;\n if (value !== null) {\n // In case the token is just nulled (e.g. by the setTimeout that clears the token once it's about to expire)\n // we won't emit the token changed event. So the user will not be considered logged out\n this.emitTokenChanged(value);\n }\n }\n\n private emitTokenChanged = (token: TokenResponse | null): void => {\n this._tokenChangedHandlers.forEach((handler) => handler(token));\n };\n\n private getAxAuthIdpConfig = async (): Promise<IdpConfiguration | null> => {\n // If _axAuthIdpConfig is not fetched previously, retrieve it.\n if (this._axAuthIdpConfig === undefined) {\n const idpConfigurations = await userAuthUtil.getIdpConfigurations(\n this.userAuthConfig,\n );\n\n const axAuthConfig = idpConfigurations.find(\n (idpConfig) => idpConfig.providerId === 'AX_AUTH',\n );\n\n if (axAuthConfig !== undefined) {\n this._axAuthIdpConfig = axAuthConfig;\n } else {\n this._axAuthIdpConfig = null;\n }\n }\n return this._axAuthIdpConfig;\n };\n\n private getSignInWithCredentialsEndpoints =\n async (): Promise<SignInWithCredentialsEndpointResponse> => {\n // If _signInWithCredentialsEndpointResponse is not fetched previously, retrieve it by calling the well-known endpoint of ax-user-service.\n if (this._signInWithCredentialsEndpointResponse === undefined) {\n const endpoints = await userAuthUtil.getWellKnownEndpoints(\n this.userAuthConfig,\n );\n this._signInWithCredentialsEndpointResponse = {\n code: 'SUCCESS',\n managementEndpoint: endpoints.axAuthManagementGQL,\n authEndpoint: endpoints.axAuthEndpoint,\n };\n }\n return this._signInWithCredentialsEndpointResponse;\n };\n\n /**\n * Returns a new token by invoking the User API\n */\n private fetchToken = async (): Promise<TokenResponse> => {\n try {\n const userToken = await userAuthUtil.fetchUserToken(this.userAuthConfig);\n const userProfileResponse = await userProfileUtil.getUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n userToken.accessToken,\n userToken.profileId,\n );\n return {\n code: TokenResponseCode.SUCCESS,\n userToken,\n userProfile: userProfileResponse.userProfile,\n nextTokenRenewalAt: new Date(\n Date.now() +\n (userToken.expiresInSeconds -\n inAdvanceTokenRenewalDurationInSeconds) *\n 1000,\n ),\n };\n } catch (error) {\n return {\n code: (error as UserAuthError).code as TokenResponseCode,\n message: (error as UserAuthError).message,\n };\n }\n };\n\n // This is set to true when the token is being pre-emptively refreshed in `recursivelyRefreshToken` method.\n // It avoids `setTimeout` from being called multiple times.\n private _recursiveRefreshActive = false;\n\n /**\n * Renews the token pre-emptively by recursively refreshing the cached token just before it's expiry\n */\n private recursivelyRefreshToken = async (): Promise<void> => {\n if (\n this.tokenResponse?.userToken !== undefined &&\n this._recursiveRefreshActive === false\n ) {\n this._recursiveRefreshActive = true;\n setTimeout(async () => {\n this._recursiveRefreshActive = false;\n this.tokenResponse = await this.fetchToken();\n await this.recursivelyRefreshToken();\n }, (this.tokenResponse.userToken.expiresInSeconds - inAdvanceTokenRenewalDurationInSeconds) * 1000);\n }\n };\n\n /**\n * A utility function which can be used to determine if there exists an `AxAuth` IDP configured for the Mosaic application.\n * Based on the outcome of this function, an end-user application can conditionally offer the option to Sign-In directly\n * via email & password.\n *\n * @see {@link signInWithCredentials}\n *\n * @returns a boolean indicating if the Mosaic application has an AxAuth IDP provider configured and it is enabled.\n */\n isDirectSignInConfigured = async (): Promise<boolean> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n return axAuthIdpConfig !== null;\n };\n\n /**\n * Starts a SignInWithCredentials flow using the AX_AUTH IDP configured for the application.\n *\n * @param signInRequest\n * @returns `SignInResponse`\n */\n signInWithCredentials = async (\n signInRequest: SignInRequest,\n ): Promise<SignInResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n if (axAuthIdpConfig !== null) {\n const result = await userAuthUtil.performSignInWithCredentials(\n this.userAuthConfig,\n axAuthIdpConfig.idpConnectionId,\n signInRequest,\n );\n return result;\n } else {\n return {\n code: SignInResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured for sign in with credentials.',\n };\n }\n };\n\n /**\n * Registers a new user in the AX_AUTH IDP configured for the application.\n *\n * @param userSignUpRequest\n * @returns `UserSignUpResponse`\n */\n initiateUserSignUp = async (\n userSignUpRequest: Omit<InitiateEndUserSignUpInput, 'oAuthClientId'>,\n ): Promise<UserSignUpResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (\n axAuthIdpConfig !== null &&\n axAuthIdpConfig.clientId !== null &&\n signInWithCredentialsEndpoints.managementEndpoint !== undefined\n ) {\n const signUpRequest: InitiateEndUserSignUpInput = {\n ...userSignUpRequest,\n oAuthClientId: axAuthIdpConfig.clientId,\n };\n const result = await userAuthUtil.initiateUserSignUp(\n signUpRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: UserSignUpResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured for user sign-up.',\n };\n }\n };\n\n /**\n * Checks if a given User Sign-Up OTP Code is valid\n *\n * @param checkUserSignUpOtpRequest\n * @returns `CheckUserSignUpOtpResponse`\n */\n checkUserSignUpOTP = async (\n checkUserSignUpOtpRequest: CheckEndUserSignUpOtpInput,\n ): Promise<CheckUserSignUpOtpResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (\n axAuthIdpConfig !== null &&\n axAuthIdpConfig.clientId !== null &&\n signInWithCredentialsEndpoints.managementEndpoint !== undefined\n ) {\n const result = await userAuthUtil.checkUserSignUpOtp(\n checkUserSignUpOtpRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: CheckOtpResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured for user sign-up.',\n };\n }\n };\n\n /**\n * Completes a user sign up process using the AX_AUTH IDP.\n * The user needs to input the OTP along with a password (if not provided earlier) to finish the process.\n *\n * @param originUrl\n * @param completeUserSignUpRequest\n * @returns\n */\n completeUserSignUp = async (\n completeUserSignUpRequest: CompleteEndUserSignUpInput,\n ): Promise<CompleteUserSignUpResponse> => {\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (signInWithCredentialsEndpoints.managementEndpoint !== undefined) {\n const result = await userAuthUtil.completeUserSignUp(\n completeUserSignUpRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: CompleteUserSignUpResponseCode.SERVICE_CONFIGURATION_ERROR,\n message:\n 'No IDP has been configured to handle user sign-up verification.',\n };\n }\n };\n\n /**\n * Starts the process of resetting a password for a user registered using the AX_AUTH IDP.\n * This will initiate the call to the webhook configured in AX_AUTH to send the generated OTP\n * to the user.\n *\n * @param email\n * @param customData An optional arbitrary JSON object. When used, this customData will be submitted to the Forgot Password Webhook via the HTTP POST request body, and can be used to transfer some needed context to the Webhook.\n * @returns `InitiatePasswordResetResponse`\n */\n initiateResetPassword = async (\n email: string,\n customData?: Record<string, unknown>,\n ): Promise<InitiatePasswordResetResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (\n axAuthIdpConfig !== null &&\n axAuthIdpConfig.clientId !== null &&\n signInWithCredentialsEndpoints.managementEndpoint !== undefined\n ) {\n const result = await userAuthUtil.initiatePasswordReset(\n email,\n axAuthIdpConfig.clientId,\n signInWithCredentialsEndpoints.managementEndpoint,\n customData,\n );\n return result;\n } else {\n return {\n code: ResetPasswordResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured to handle password reset.',\n };\n }\n };\n\n /**\n * Checks if a given Reset Password OTP Code is valid\n *\n * @param checkPasswordResetOtpRequest\n * @returns `CheckPasswordResetOtpResponse`\n */\n checkResetPasswordOTP = async (\n checkPasswordResetOtpRequest: CheckEndUserPasswordResetOtpInput,\n ): Promise<CheckPasswordResetOtpResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (\n axAuthIdpConfig !== null &&\n axAuthIdpConfig.clientId !== null &&\n signInWithCredentialsEndpoints.managementEndpoint !== undefined\n ) {\n const result = await userAuthUtil.checkPasswordResetOtp(\n checkPasswordResetOtpRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: CheckOtpResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured for user sign-up.',\n };\n }\n };\n\n /**\n * Completes the password reset flow for a user registered using the AX_AUTH IDP.\n * The user needs to input the OTP along with a new password to finish the process.\n *\n * @param completePasswordResetRequest\n * @returns\n */\n completeResetPassword = async (\n completePasswordResetRequest: CompleteEndUserPasswordResetInput,\n ): Promise<CompletePasswordResetResponse> => {\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (signInWithCredentialsEndpoints.managementEndpoint !== undefined) {\n const result = await userAuthUtil.completePasswordReset(\n completePasswordResetRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: ResetPasswordResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured to handle password reset.',\n };\n }\n };\n\n /**\n * Returns a token. The method will ensure to avoid unnecessary API calls by caching valid tokens.\n *\n * It is not recommended to remember the token for later use.\n * When in need of a token, please call this method to get a new token.\n */\n getToken = async (): Promise<TokenResponse> => {\n // Set token response to null if the token has expired.\n if (\n this.tokenResponse !== null &&\n (this.tokenResponse.userToken?.expiresAt === undefined ||\n this.tokenResponse.userToken.expiresAt <= new Date(Date.now()))\n ) {\n this.tokenResponse = null;\n }\n if (this.tokenResponse !== null && this.tokenResponse.code === 'SUCCESS') {\n // We already have a valid token\n return Promise.resolve(this.tokenResponse);\n }\n\n this.tokenResponse = await this.fetchToken();\n\n if (this.tokenResponse.userToken !== undefined) {\n if (this.tokenRenewalMethod === TokenRenewalMethod.PRE_EMPTIVE) {\n // Renew the token pre-emptively\n await this.recursivelyRefreshToken();\n }\n }\n return this.tokenResponse;\n };\n\n /**\n * Adds an event handler that will be invoked whenever a new token response is loaded from the backend\n *\n */\n addTokenChangedHandler = (callback: TokenChangedCallback): void => {\n this._tokenChangedHandlers.push(callback);\n };\n\n /**\n * Removes an event handler for the TokenChanged event\n */\n removeTokenChangedHandler = (callback: TokenChangedCallback): void => {\n this._tokenChangedHandlers = this._tokenChangedHandlers.filter(\n (c) => c !== callback,\n );\n };\n\n /**\n * Returns an array of IDP Configurations that are configured for the application\n * This list will exclude connections for provider id AX_AUTH as it is used for a user sign-up and SignInWithCredentials flows.\n *\n */\n getIdpConfigurations = async (): Promise<IdpConfiguration[]> => {\n // Extract the IDP Configuration for AX_AUTH and remove it from the ID Providers list.\n const idpConfigurations = (\n await userAuthUtil.getIdpConfigurations(this.userAuthConfig)\n ).filter((idpConfig) => idpConfig.providerId !== 'AX_AUTH');\n return idpConfigurations;\n };\n\n /**\n * Logs out the user\n */\n logoutUser = async (): Promise<boolean> => {\n this.tokenResponse = null;\n\n // We want the user to be considered logged out, so we emit the TokenChanged here using 'null'\n this.emitTokenChanged(null);\n\n return userAuthUtil.logoutUser(this.userAuthConfig);\n };\n\n /**\n * Sets a given Profile ID as the active profile\n */\n setActiveProfile = async (\n endUserAccessToken: string,\n profileId: string,\n ): Promise<UserProfileActivateResponse> => {\n try {\n const result = await userProfileUtil.setActiveProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n profileId,\n );\n\n // current token is invalid now since the active profile has changed\n // we clear the current token response here so that the next call will retrieve a new token\n this.tokenResponse = null;\n\n return result;\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Returns a user profile\n */\n getUserProfile = async (\n endUserAccessToken: string,\n profileId: string,\n ): Promise<UserProfileResponse> => {\n try {\n return userProfileUtil.getUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n profileId,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Returns an array of all user profiles\n */\n getUserProfiles = async (\n endUserAccessToken: string,\n ): Promise<UserProfilesResponse> => {\n try {\n return userProfileUtil.getUserProfiles(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Creates a new user profile\n */\n createUserProfile = async (\n endUserAccessToken: string,\n displayName: string,\n profilePictureUrl: string,\n ): Promise<UserProfileCreateResponse> => {\n try {\n return userProfileUtil.createUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n displayName,\n profilePictureUrl,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Updates a user profile\n * @param userProfileToUpdate User Profile object with required updates. This should be based on the current user profile object, with the required changes done on top of it.\n */\n updateUserProfile = async (\n endUserAccessToken: string,\n userProfileToUpdate: UserProfileUpdateInput,\n ): Promise<UserProfileUpdateResponse> => {\n try {\n return userProfileUtil.updateUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n userProfileToUpdate,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Deletes a user profile\n */\n deleteUserProfile = async (\n endUserAccessToken: string,\n userProfileId: string,\n ): Promise<UserProfileDeleteResponse> => {\n try {\n return userProfileUtil.deleteUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n userProfileId,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message };\n }\n };\n\n /**\n * Authenticate an end-user application and receive an Application Token\n * @param authenticateEndUserApplicationRequest an object containing the tenantId/environmentId/applicationId/applicationKey info.\n * @returns AuthenticateEndUserApplicationResponse\n */\n authenticateEndUserApplication = async (\n authenticateEndUserApplicationRequest: AuthenticateEndUserApplicationInput,\n ): Promise<AuthenticateEndUserApplicationResponse> => {\n return endUserApplicationUtil.authenticateEndUserApplication(\n authenticateEndUserApplicationRequest,\n this.userServiceConfig.userServiceBaseUrl,\n );\n };\n\n /**\n * Decrypt an User Token Cookie used in Native Apps.\n * @param encryptedCookie\n * @param key\n * @returns\n */\n decryptNativeCookie = async (\n encryptedCookie: string,\n key: string,\n ): Promise<DecryptNativeCookieResponse> => {\n return decryptNativeCookie(\n encryptedCookie,\n key,\n `${this.userServiceConfig.userServiceBaseUrl}/graphql-management`,\n );\n };\n\n /**\n * Returns the authentication URL for web based applications.\n *\n * @param idpConnectionId The ID of the User Service IDP Connection used for authentication.\n * @param returnUrl Redirect URL which the IDP will redirect to after the authentication flow is finished.\n * @returns a URL object with the Authentication URL\n */\n getAuthUrl = (idpConnectionId: string, returnUrl: string): URL => {\n return getAuthUrl(this.userAuthConfig, idpConnectionId, returnUrl);\n };\n\n /**\n * Returns the authentication URL for native applications.\n *\n * @param idpConnectionId The ID of the User Service IDP Connection used for authentication.\n * @param returnUrl Redirect URL which the IDP will redirect to after the authentication flow is finished.\n * @param encryptionKey A hex string with the length of 32 bytes that is used as the encryption key to encrypt the authorization Cookie.\n * @returns a URL object with the Authentication URL\n */\n getNativeAuthUrl = (\n idpConnectionId: string,\n returnUrl: string,\n encryptionKey: string,\n ): URL => {\n const authUrl = getNativeAuthUrl(\n this.userAuthConfig,\n idpConnectionId,\n returnUrl,\n encryptionKey,\n );\n return authUrl;\n };\n}\n","import * as React from 'react';\nimport { createContext, useContext } from 'react';\nimport { TokenRenewalMethod } from '../common/enums';\nimport { UserAuthConfig, UserServiceConfig } from '../common/types';\nimport {\n IUserServiceClient,\n UserServiceClient,\n} from '../UserServiceClient/UserServiceClient';\n\nexport const UserServiceContext = createContext<IUserServiceClient | null>(\n null,\n);\n\nexport interface UserServiceProviderProps {\n /**\n * Configuration values for the user service auth API\n */\n userAuthConfig: UserAuthConfig;\n\n /**\n * Configuration values for the user service API\n */\n userServiceConfig: UserServiceConfig;\n\n /**\n * Token renewal method to use. Tokens can be renewed pre-emptively or on demand. Default token renewal method is on demand.\n */\n tokenRenewalMethod?: TokenRenewalMethod;\n}\n\n/**\n * Provides the User Service Client that can be retrieved using the `useUserService` hook\n */\nexport const UserServiceProvider: React.FC<\n React.PropsWithChildren<UserServiceProviderProps>\n> = ({\n children,\n userAuthConfig,\n userServiceConfig,\n tokenRenewalMethod = TokenRenewalMethod.ON_DEMAND,\n}) => {\n const client = new UserServiceClient(\n userAuthConfig,\n userServiceConfig,\n tokenRenewalMethod,\n );\n\n return (\n <UserServiceContext.Provider value={client}>\n {children}\n </UserServiceContext.Provider>\n );\n};\n\n/**\n * Retrieves the User Service Client\n */\nexport const useUserService = (): IUserServiceClient => {\n const context = useContext(UserServiceContext);\n\n if (!context) {\n throw new Error(\n 'to use `useUserService` your component must be located within an <UserServiceProvider/>',\n );\n }\n\n return context;\n};\n"],"names":["enums_1","this","require$$0","require$$1","require$$2","nodejsCustomInspectSymbol","gqlPrint","ErrorCodesEnum","UserProfilesOrderBy","UsersOrderBy","AuthenticateEndUserApplicationResponseCode","UserSignUpResponseCode","CheckOtpResponseCode","CompleteUserSignUpResponseCode","ResetPasswordResponseCode","IdpConfigurationResponseCode","TokenResponseCode","SignOutResponseCode","DecryptNativeCookieResponseCode","userAuthUtil.getIdpConfigurations","userAuthUtil.getWellKnownEndpoints","userAuthUtil.fetchUserToken","userProfileUtil.getUserProfile","userAuthUtil.performSignInWithCredentials","SignInResponseCode","userAuthUtil.initiateUserSignUp","userAuthUtil.checkUserSignUpOtp","userAuthUtil.completeUserSignUp","userAuthUtil.initiatePasswordReset","userAuthUtil.checkPasswordResetOtp","userAuthUtil.completePasswordReset","userAuthUtil.logoutUser","userProfileUtil.setActiveProfile","userProfileUtil.getUserProfiles","userProfileUtil.createUserProfile","userProfileUtil.updateUserProfile","userProfileUtil.deleteUserProfile","endUserApplicationUtil.authenticateEndUserApplication"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/common/enums.ts","../../../../node_modules/tslib/tslib.es6.js","../../lib-user-auth-utils/dist/common/enums.js","../../lib-user-auth-utils/dist/common/constants.js","../../lib-user-auth-utils/dist/common/types.js","../../lib-user-auth-utils/dist/index.js","../src/common/ensure-error.ts","../../../../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../../../../node_modules/graphql/jsutils/inspect.mjs","../../../../node_modules/graphql/jsutils/invariant.mjs","../../../../node_modules/graphql/jsutils/defineInspect.mjs","../../../../node_modules/graphql/language/ast.mjs","../../../../node_modules/graphql/language/visitor.mjs","../../../../node_modules/graphql/language/blockString.mjs","../../../../node_modules/graphql/language/printer.mjs","../src/common/stringify-gql-query.ts","../src/generated/user-service-management-graphql.types.ts","../src/util/endUserApplication.ts","../src/common/user-auth-error.ts","../src/generated/ax-auth-management-graphql.types.ts","../src/util/userAuth.ts","../src/generated/user-service-end-user-graphql.types.ts","../src/util/userProfile.ts","../src/UserServiceClient/UserServiceClient.ts","../src/UserServiceProvider/UserServiceProvider.tsx"],"sourcesContent":["export enum TokenRenewalMethod {\n /**\n * The token is continuously renewed just before expiry.\n * A `TokenChangedCallback` can be registered using `addTokenChangedHandler` method to get notified when the token changes.\n */\n PRE_EMPTIVE,\n\n /**\n * The token is renewed only if needed upon calling `getToken` method.\n */\n ON_DEMAND,\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthenticateEndUserApplicationResponseCode = exports.DecryptNativeCookieResponseCode = exports.IdpProtocol = exports.CheckOtpResponseCode = exports.CompleteUserSignUpResponseCode = exports.UserSignUpResponseCode = exports.ResetPasswordResponseCode = exports.SignInResponseCode = exports.IdpConfigurationResponseCode = exports.SignOutResponseCode = exports.TokenResponseCode = exports.UserAuthErrorCode = void 0;\n/**\n * This is the Error Type that the REST middleware will respond when there's an error\n * from the User Service that does not belong to Token/SignOut or IDPConfiguration responses.\n */\nvar UserAuthErrorCode;\n(function (UserAuthErrorCode) {\n UserAuthErrorCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n UserAuthErrorCode[\"IDP_CONFIGURATION_ERROR\"] = \"IDP_CONFIGURATION_ERROR\";\n UserAuthErrorCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n UserAuthErrorCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_USER\"] = \"INVALID_USER\";\n UserAuthErrorCode[\"INVALID_APPLICATION\"] = \"INVALID_APPLICATION\";\n UserAuthErrorCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n UserAuthErrorCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(UserAuthErrorCode || (exports.UserAuthErrorCode = UserAuthErrorCode = {}));\n/**\n * Token response code from User Service Auth API\n */\nvar TokenResponseCode;\n(function (TokenResponseCode) {\n TokenResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n TokenResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n TokenResponseCode[\"USER_NOT_FOUND\"] = \"USER_NOT_FOUND\";\n TokenResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n TokenResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n TokenResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n TokenResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(TokenResponseCode || (exports.TokenResponseCode = TokenResponseCode = {}));\n/**\n * Sign out response code from User Service Auth API\n */\nvar SignOutResponseCode;\n(function (SignOutResponseCode) {\n SignOutResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignOutResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n SignOutResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(SignOutResponseCode || (exports.SignOutResponseCode = SignOutResponseCode = {}));\n/**\n * IDP Configuration response code from User Service Auth API\n */\nvar IdpConfigurationResponseCode;\n(function (IdpConfigurationResponseCode) {\n IdpConfigurationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n IdpConfigurationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"NO_ACTIVE_IDPS\"] = \"NO_ACTIVE_IDPS\";\n IdpConfigurationResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n IdpConfigurationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(IdpConfigurationResponseCode || (exports.IdpConfigurationResponseCode = IdpConfigurationResponseCode = {}));\n/**\n * Sign In With Credentials Response Code from User Service Auth API\n */\nvar SignInResponseCode;\n(function (SignInResponseCode) {\n SignInResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignInResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n SignInResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n SignInResponseCode[\"INVALID_CREDENTIALS\"] = \"INVALID_CREDENTIALS\";\n SignInResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n SignInResponseCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n SignInResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n})(SignInResponseCode || (exports.SignInResponseCode = SignInResponseCode = {}));\n/**\n * Sign In With Credentials Password Reset/Complete Password Reset Code from User Service Auth API\n */\nvar ResetPasswordResponseCode;\n(function (ResetPasswordResponseCode) {\n ResetPasswordResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n ResetPasswordResponseCode[\"ERROR\"] = \"ERROR\";\n ResetPasswordResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(ResetPasswordResponseCode || (exports.ResetPasswordResponseCode = ResetPasswordResponseCode = {}));\n/**\n * Sign Up With Credential Response Code from User Service Auth API\n */\nvar UserSignUpResponseCode;\n(function (UserSignUpResponseCode) {\n UserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n UserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n UserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(UserSignUpResponseCode || (exports.UserSignUpResponseCode = UserSignUpResponseCode = {}));\n/**\n * Verify Sign Up With Credential Response Code from User Service Auth API\n */\nvar CompleteUserSignUpResponseCode;\n(function (CompleteUserSignUpResponseCode) {\n CompleteUserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CompleteUserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n CompleteUserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CompleteUserSignUpResponseCode || (exports.CompleteUserSignUpResponseCode = CompleteUserSignUpResponseCode = {}));\n/**\n * OTP Check Response Code from User Service Auth API\n * This response type is used for both Sign Up OTP check and Reset Password OTP check.\n */\nvar CheckOtpResponseCode;\n(function (CheckOtpResponseCode) {\n CheckOtpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CheckOtpResponseCode[\"ERROR\"] = \"ERROR\";\n CheckOtpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CheckOtpResponseCode || (exports.CheckOtpResponseCode = CheckOtpResponseCode = {}));\n/**\n * IDP Protocol categories\n */\nvar IdpProtocol;\n(function (IdpProtocol) {\n IdpProtocol[\"OIDC\"] = \"OIDC\";\n IdpProtocol[\"OAUTH2\"] = \"OAUTH2\";\n IdpProtocol[\"DELEGATED\"] = \"DELEGATED\";\n})(IdpProtocol || (exports.IdpProtocol = IdpProtocol = {}));\n/**\n * Response codes specific to Native Cookie Decryption.\n */\nvar DecryptNativeCookieResponseCode;\n(function (DecryptNativeCookieResponseCode) {\n DecryptNativeCookieResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DecryptNativeCookieResponseCode[\"COOKIE_DECRYPTION_FAILED\"] = \"COOKIE_DECRYPTION_FAILED\";\n})(DecryptNativeCookieResponseCode || (exports.DecryptNativeCookieResponseCode = DecryptNativeCookieResponseCode = {}));\n/**\n * Response codes specific to End User Application Token Generation\n */\nvar AuthenticateEndUserApplicationResponseCode;\n(function (AuthenticateEndUserApplicationResponseCode) {\n AuthenticateEndUserApplicationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_FOUND\"] = \"APPLICATION_NOT_FOUND\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_ENABLED\"] = \"APPLICATION_NOT_ENABLED\";\n AuthenticateEndUserApplicationResponseCode[\"END_USER_APP_TOKEN_GENERATION_ERROR\"] = \"END_USER_APP_TOKEN_GENERATION_ERROR\";\n})(AuthenticateEndUserApplicationResponseCode || (exports.AuthenticateEndUserApplicationResponseCode = AuthenticateEndUserApplicationResponseCode = {}));\n//# sourceMappingURL=enums.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.managedIdProviderDefaults = void 0;\nconst enums_1 = require(\"./enums\");\nexports.managedIdProviderDefaults = {\n AX_GOOGLE: {\n discoveryDocumentUrl: 'https://accounts.google.com/.well-known/openid-configuration',\n providerIconUrl: 'https://developers.google.com/identity/images/g-logo.png',\n additionalParams: {\n access_type: 'offline',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n ],\n protocol: enums_1.IdpProtocol.OIDC,\n },\n AX_FACEBOOK: {\n authorizationEndpointUrl: 'https://www.facebook.com/dialog/oauth',\n tokenEndpointUrl: 'https://graph.facebook.com/oauth/access_token',\n userInfoEndpointUrl: 'https://graph.facebook.com/me',\n scopes: [{ name: 'email', default: true }],\n protocol: enums_1.IdpProtocol.OAUTH2,\n },\n AX_APPLE: {\n discoveryDocumentUrl: 'https://appleid.apple.com/.well-known/openid-configuration',\n additionalParams: {\n response_mode: 'form_post',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'name', default: true },\n ],\n protocol: enums_1.IdpProtocol.OIDC,\n },\n AX_AUTH: {\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n { name: 'offline_access', default: true },\n ],\n protocol: enums_1.IdpProtocol.OIDC,\n },\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./common/constants\"), exports);\n__exportStar(require(\"./common/enums\"), exports);\n__exportStar(require(\"./common/types\"), exports);\n//# sourceMappingURL=index.js.map","/**\n * Ensures that an error is an actual instance of an error.\n *\n * - If it's null or undefined - a new Error with a dedicated message is\n * returned.\n * - If it's an instance of an error - passed error is returned as is.\n * - If it's not an instance of an error - a new Error with a dedicated message\n * is returned, containing the original stringified error.\n *\n * Unlike type assertion, you must use the newly returned value.\n *\n * This is a modified copy of ensureError() in @axinom/mosaic-service-common to avoid\n * dependencies.\n */\nexport const ensureError = (error: unknown): Error => {\n if (error === null || error === undefined) {\n return new Error('Unexpected null or undefined value received.');\n }\n if (error instanceof Error) {\n return error;\n }\n return new Error(\n `An error that is not an instance of an Error has been thrown: ${String(\n error,\n )}`,\n );\n};\n","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nimport { print as gqlPrint } from 'graphql/language/printer';\n\n/**\n * Takes a GQL DocumentNode and a set of variables\n * and compiles the body for a GQL request, stringifies and returns.\n *\n * @param gqlDocument\n * @param variables\n * @returns\n */\nexport const stringifyGqlQuery = <TResult, TVariables>(\n gqlDocument: DocumentNode<TResult, TVariables>,\n variables?: Record<string, unknown>,\n): string => {\n const gqlQuery = {\n query: gqlPrint(gqlDocument),\n variables,\n };\n return JSON.stringify(gqlQuery);\n};\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n Cursor: any;\n Datetime: any;\n IdpAdditionalParamsObject: any;\n JSON: { [key: string]: any };\n UUID: any;\n};\n\nexport type Application = {\n __typename?: 'Application';\n accessTokenEnrichmentWebhook?: Maybe<Scalars['String']>;\n accessTokenEnrichmentWebhookSecretIsSet: Scalars['Boolean'];\n accessTokenLifetime: Scalars['Int'];\n allowedOrigins?: Maybe<Array<Maybe<Scalars['String']>>>;\n allowedProxyUrls?: Maybe<Array<Maybe<Scalars['String']>>>;\n applicationKey?: Maybe<Scalars['String']>;\n applicationPlatform: ApplicationPlatform;\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n enabled: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n /** Reads and enables pagination through a set of `ApplicationIdpConnection`. */\n idpConnections: ApplicationIdpConnectionsConnection;\n kid?: Maybe<Scalars['String']>;\n name: Scalars['String'];\n nextRotationDate?: Maybe<Scalars['Datetime']>;\n refreshTokenLifetime: Scalars['Int'];\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n\nexport type ApplicationIdpConnectionsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ApplicationIdpConnectionCondition>;\n filter?: Maybe<ApplicationIdpConnectionFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n/**\n * A condition to be used against `Application` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type ApplicationCondition = {\n /** Checks for equality with the object’s `accessTokenEnrichmentWebhook` field. */\n accessTokenEnrichmentWebhook?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `accessTokenEnrichmentWebhookSecretIsSet` field. */\n accessTokenEnrichmentWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `accessTokenLifetime` field. */\n accessTokenLifetime?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `allowedOrigins` field. */\n allowedOrigins?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Checks for equality with the object’s `allowedProxyUrls` field. */\n allowedProxyUrls?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Checks for equality with the object’s `applicationKey` field. */\n applicationKey?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `applicationPlatform` field. */\n applicationPlatform?: Maybe<ApplicationPlatform>;\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enabled` field. */\n enabled?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `refreshTokenLifetime` field. */\n refreshTokenLifetime?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `Application` object types. All fields are combined with a logical ‘and.’ */\nexport type ApplicationFilter = {\n /** Filter by the object’s `accessTokenEnrichmentWebhook` field. */\n accessTokenEnrichmentWebhook?: Maybe<StringFilter>;\n /** Filter by the object’s `accessTokenEnrichmentWebhookSecretIsSet` field. */\n accessTokenEnrichmentWebhookSecretIsSet?: Maybe<BooleanFilter>;\n /** Filter by the object’s `accessTokenLifetime` field. */\n accessTokenLifetime?: Maybe<IntFilter>;\n /** Filter by the object’s `allowedOrigins` field. */\n allowedOrigins?: Maybe<StringListFilter>;\n /** Filter by the object’s `allowedProxyUrls` field. */\n allowedProxyUrls?: Maybe<StringListFilter>;\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<ApplicationFilter>>;\n /** Filter by the object’s `applicationKey` field. */\n applicationKey?: Maybe<StringFilter>;\n /** Filter by the object’s `applicationPlatform` field. */\n applicationPlatform?: Maybe<ApplicationPlatformFilter>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `enabled` field. */\n enabled?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpConnections` relation. */\n idpConnections?: Maybe<ApplicationToManyApplicationIdpConnectionFilter>;\n /** Some related `idpConnections` exist. */\n idpConnectionsExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<ApplicationFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<ApplicationFilter>>;\n /** Filter by the object’s `refreshTokenLifetime` field. */\n refreshTokenLifetime?: Maybe<IntFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\nexport type ApplicationIdpConnection = {\n __typename?: 'ApplicationIdpConnection';\n /** Reads a single `Application` that is related to this `ApplicationIdpConnection`. */\n application?: Maybe<Application>;\n applicationId: Scalars['UUID'];\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n /** Reads a single `IdpConnection` that is related to this `ApplicationIdpConnection`. */\n idpConnection?: Maybe<IdpConnection>;\n idpConnectionId: Scalars['UUID'];\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n/**\n * A condition to be used against `ApplicationIdpConnection` object types. All\n * fields are tested for equality and combined with a logical ‘and.’\n */\nexport type ApplicationIdpConnectionCondition = {\n /** Checks for equality with the object’s `applicationId` field. */\n applicationId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `idpConnectionId` field. */\n idpConnectionId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `ApplicationIdpConnection` object types. All fields are combined with a logical ‘and.’ */\nexport type ApplicationIdpConnectionFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<ApplicationIdpConnectionFilter>>;\n /** Filter by the object’s `application` relation. */\n application?: Maybe<ApplicationFilter>;\n /** Filter by the object’s `applicationId` field. */\n applicationId?: Maybe<UuidFilter>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpConnection` relation. */\n idpConnection?: Maybe<IdpConnectionFilter>;\n /** Filter by the object’s `idpConnectionId` field. */\n idpConnectionId?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<ApplicationIdpConnectionFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<ApplicationIdpConnectionFilter>>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\n/** An input for mutations affecting `ApplicationIdpConnection` */\nexport type ApplicationIdpConnectionInput = {\n applicationId: Scalars['UUID'];\n idpConnectionId: Scalars['UUID'];\n};\n\n/** A connection to a list of `ApplicationIdpConnection` values. */\nexport type ApplicationIdpConnectionsConnection = {\n __typename?: 'ApplicationIdpConnectionsConnection';\n /** A list of edges which contains the `ApplicationIdpConnection` and cursor to aid in pagination. */\n edges: Array<ApplicationIdpConnectionsEdge>;\n /** A list of `ApplicationIdpConnection` objects. */\n nodes: Array<ApplicationIdpConnection>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `ApplicationIdpConnection` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `ApplicationIdpConnection` edge in the connection. */\nexport type ApplicationIdpConnectionsEdge = {\n __typename?: 'ApplicationIdpConnectionsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `ApplicationIdpConnection` at the end of the edge. */\n node: ApplicationIdpConnection;\n};\n\n/** Methods to use when ordering `ApplicationIdpConnection`. */\nexport enum ApplicationIdpConnectionsOrderBy {\n APPLICATION_ID_ASC = 'APPLICATION_ID_ASC',\n APPLICATION_ID_DESC = 'APPLICATION_ID_DESC',\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n IDP_CONNECTION_ID_ASC = 'IDP_CONNECTION_ID_ASC',\n IDP_CONNECTION_ID_DESC = 'IDP_CONNECTION_ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** An input for mutations affecting `Application` */\nexport type ApplicationInput = {\n accessTokenEnrichmentWebhook?: Maybe<Scalars['String']>;\n accessTokenEnrichmentWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n accessTokenLifetime?: Maybe<Scalars['Int']>;\n allowedOrigins?: Maybe<Array<Maybe<Scalars['String']>>>;\n allowedProxyUrls?: Maybe<Array<Maybe<Scalars['String']>>>;\n applicationKey?: Maybe<Scalars['String']>;\n applicationPlatform: ApplicationPlatform;\n name: Scalars['String'];\n refreshTokenLifetime?: Maybe<Scalars['Int']>;\n};\n\n/** Represents an update to a `Application`. Fields that are set will be updated. */\nexport type ApplicationPatch = {\n accessTokenEnrichmentWebhook?: Maybe<Scalars['String']>;\n accessTokenEnrichmentWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n accessTokenLifetime?: Maybe<Scalars['Int']>;\n allowedOrigins?: Maybe<Array<Maybe<Scalars['String']>>>;\n allowedProxyUrls?: Maybe<Array<Maybe<Scalars['String']>>>;\n applicationKey?: Maybe<Scalars['String']>;\n applicationPlatform?: Maybe<ApplicationPlatform>;\n enabled?: Maybe<Scalars['Boolean']>;\n name?: Maybe<Scalars['String']>;\n refreshTokenLifetime?: Maybe<Scalars['Int']>;\n};\n\nexport enum ApplicationPlatform {\n /** Native */\n NATIVE = 'NATIVE',\n /** Web */\n WEB = 'WEB'\n}\n\n/** A filter to be used against ApplicationPlatform fields. All fields are combined with a logical ‘and.’ */\nexport type ApplicationPlatformFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<ApplicationPlatform>;\n /** Equal to the specified value. */\n equalTo?: Maybe<ApplicationPlatform>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<ApplicationPlatform>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<ApplicationPlatform>;\n /** Included in the specified list. */\n in?: Maybe<Array<ApplicationPlatform>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<ApplicationPlatform>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<ApplicationPlatform>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<ApplicationPlatform>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<ApplicationPlatform>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<ApplicationPlatform>>;\n};\n\n/** A connection to a list of `Application` values. */\nexport type ApplicationsConnection = {\n __typename?: 'ApplicationsConnection';\n /** A list of edges which contains the `Application` and cursor to aid in pagination. */\n edges: Array<ApplicationsEdge>;\n /** A list of `Application` objects. */\n nodes: Array<Application>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `Application` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `Application` edge in the connection. */\nexport type ApplicationsEdge = {\n __typename?: 'ApplicationsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `Application` at the end of the edge. */\n node: Application;\n};\n\n/** Methods to use when ordering `Application`. */\nexport enum ApplicationsOrderBy {\n ACCESS_TOKEN_ENRICHMENT_WEBHOOK_ASC = 'ACCESS_TOKEN_ENRICHMENT_WEBHOOK_ASC',\n ACCESS_TOKEN_ENRICHMENT_WEBHOOK_DESC = 'ACCESS_TOKEN_ENRICHMENT_WEBHOOK_DESC',\n ACCESS_TOKEN_ENRICHMENT_WEBHOOK_SECRET_IS_SET_ASC = 'ACCESS_TOKEN_ENRICHMENT_WEBHOOK_SECRET_IS_SET_ASC',\n ACCESS_TOKEN_ENRICHMENT_WEBHOOK_SECRET_IS_SET_DESC = 'ACCESS_TOKEN_ENRICHMENT_WEBHOOK_SECRET_IS_SET_DESC',\n ACCESS_TOKEN_LIFETIME_ASC = 'ACCESS_TOKEN_LIFETIME_ASC',\n ACCESS_TOKEN_LIFETIME_DESC = 'ACCESS_TOKEN_LIFETIME_DESC',\n ALLOWED_ORIGINS_ASC = 'ALLOWED_ORIGINS_ASC',\n ALLOWED_ORIGINS_DESC = 'ALLOWED_ORIGINS_DESC',\n ALLOWED_PROXY_URLS_ASC = 'ALLOWED_PROXY_URLS_ASC',\n ALLOWED_PROXY_URLS_DESC = 'ALLOWED_PROXY_URLS_DESC',\n APPLICATION_KEY_ASC = 'APPLICATION_KEY_ASC',\n APPLICATION_KEY_DESC = 'APPLICATION_KEY_DESC',\n APPLICATION_PLATFORM_ASC = 'APPLICATION_PLATFORM_ASC',\n APPLICATION_PLATFORM_DESC = 'APPLICATION_PLATFORM_DESC',\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n ENABLED_ASC = 'ENABLED_ASC',\n ENABLED_DESC = 'ENABLED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n REFRESH_TOKEN_LIFETIME_ASC = 'REFRESH_TOKEN_LIFETIME_ASC',\n REFRESH_TOKEN_LIFETIME_DESC = 'REFRESH_TOKEN_LIFETIME_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** A filter to be used against many `ApplicationIdpConnection` object types. All fields are combined with a logical ‘and.’ */\nexport type ApplicationToManyApplicationIdpConnectionFilter = {\n /** Every related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<ApplicationIdpConnectionFilter>;\n /** No related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<ApplicationIdpConnectionFilter>;\n /** Some related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<ApplicationIdpConnectionFilter>;\n};\n\nexport type AuthenticateEndUserApplicationInput = {\n applicationId: Scalars['UUID'];\n applicationKey: Scalars['String'];\n environmentId: Scalars['UUID'];\n tenantId: Scalars['UUID'];\n};\n\nexport type AuthenticateEndUserApplicationPayload = {\n __typename?: 'AuthenticateEndUserApplicationPayload';\n accessToken: Scalars['String'];\n expiresInSeconds: Scalars['Int'];\n tokenType: Scalars['String'];\n};\n\n/** A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ */\nexport type BooleanFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Boolean']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Boolean']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Boolean']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Boolean']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Boolean']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Boolean']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Boolean']>>;\n};\n\nexport type ClearAccessTokenEnrichmentWebhookSecretInput = {\n applicationId: Scalars['String'];\n};\n\nexport type ClearAccessTokenEnrichmentWebhookSecretPayload = {\n __typename?: 'ClearAccessTokenEnrichmentWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\nexport type ClearUserCreatedWebhookSecretInput = {\n serviceConfigurationId: Scalars['String'];\n};\n\nexport type ClearUserCreatedWebhookSecretPayload = {\n __typename?: 'ClearUserCreatedWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\nexport type ClearUserInfoWebhookSecretInput = {\n idpConnectionId: Scalars['String'];\n};\n\nexport type ClearUserInfoWebhookSecretPayload = {\n __typename?: 'ClearUserInfoWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\n/** All input for the create `ApplicationIdpConnection` mutation. */\nexport type CreateApplicationIdpConnectionInput = {\n /** The `ApplicationIdpConnection` to be created by this mutation. */\n applicationIdpConnection: ApplicationIdpConnectionInput;\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n};\n\n/** The output of our create `ApplicationIdpConnection` mutation. */\nexport type CreateApplicationIdpConnectionPayload = {\n __typename?: 'CreateApplicationIdpConnectionPayload';\n /** Reads a single `Application` that is related to this `ApplicationIdpConnection`. */\n application?: Maybe<Application>;\n /** The `ApplicationIdpConnection` that was created by this mutation. */\n applicationIdpConnection?: Maybe<ApplicationIdpConnection>;\n /** An edge for our `ApplicationIdpConnection`. May be used by Relay 1. */\n applicationIdpConnectionEdge?: Maybe<ApplicationIdpConnectionsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Reads a single `IdpConnection` that is related to this `ApplicationIdpConnection`. */\n idpConnection?: Maybe<IdpConnection>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `ApplicationIdpConnection` mutation. */\nexport type CreateApplicationIdpConnectionPayloadApplicationIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n/** All input for the create `Application` mutation. */\nexport type CreateApplicationInput = {\n /** The `Application` to be created by this mutation. */\n application: ApplicationInput;\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n};\n\n/** The output of our create `Application` mutation. */\nexport type CreateApplicationPayload = {\n __typename?: 'CreateApplicationPayload';\n /** The `Application` that was created by this mutation. */\n application?: Maybe<Application>;\n /** An edge for our `Application`. May be used by Relay 1. */\n applicationEdge?: Maybe<ApplicationsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `Application` mutation. */\nexport type CreateApplicationPayloadApplicationEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationsOrderBy>>;\n};\n\n/** All input for the create `IdpConnection` mutation. */\nexport type CreateIdpConnectionInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpConnection` to be created by this mutation. */\n idpConnection: IdpConnectionInput;\n};\n\n/** The output of our create `IdpConnection` mutation. */\nexport type CreateIdpConnectionPayload = {\n __typename?: 'CreateIdpConnectionPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpConnection` that was created by this mutation. */\n idpConnection?: Maybe<IdpConnection>;\n /** An edge for our `IdpConnection`. May be used by Relay 1. */\n idpConnectionEdge?: Maybe<IdpConnectionsEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `IdpConnection` mutation. */\nexport type CreateIdpConnectionPayloadIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<IdpConnectionsOrderBy>>;\n};\n\n/** All input for the create `UserProfile` mutation. */\nexport type CreateUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `UserProfile` to be created by this mutation. */\n userProfile: UserProfileInput;\n};\n\n/** The output of our create `UserProfile` mutation. */\nexport type CreateUserProfilePayload = {\n __typename?: 'CreateUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** Reads a single `User` that is related to this `UserProfile`. */\n user?: Maybe<User>;\n /** The `UserProfile` that was created by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our create `UserProfile` mutation. */\nexport type CreateUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n\n\n/** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */\nexport type DatetimeFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Datetime']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Datetime']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Datetime']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Datetime']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Datetime']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Datetime']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Datetime']>>;\n};\n\nexport type DecryptWithKeyAesInput = {\n /** The encrypted value as a Base 64 encoded string. */\n encryptedValue: Scalars['String'];\n /** Encryption Key that was used for the encryption. */\n key: Scalars['String'];\n};\n\nexport type DecryptWithKeyAesPayload = {\n __typename?: 'DecryptWithKeyAesPayload';\n /** The decrypted string. */\n decryptedValue: Scalars['String'];\n};\n\n/** All input for the `deleteApplicationIdpConnection` mutation. */\nexport type DeleteApplicationIdpConnectionInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `ApplicationIdpConnection` mutation. */\nexport type DeleteApplicationIdpConnectionPayload = {\n __typename?: 'DeleteApplicationIdpConnectionPayload';\n /** Reads a single `Application` that is related to this `ApplicationIdpConnection`. */\n application?: Maybe<Application>;\n /** The `ApplicationIdpConnection` that was deleted by this mutation. */\n applicationIdpConnection?: Maybe<ApplicationIdpConnection>;\n /** An edge for our `ApplicationIdpConnection`. May be used by Relay 1. */\n applicationIdpConnectionEdge?: Maybe<ApplicationIdpConnectionsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Reads a single `IdpConnection` that is related to this `ApplicationIdpConnection`. */\n idpConnection?: Maybe<IdpConnection>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `ApplicationIdpConnection` mutation. */\nexport type DeleteApplicationIdpConnectionPayloadApplicationIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n/** All input for the `deleteApplication` mutation. */\nexport type DeleteApplicationInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `Application` mutation. */\nexport type DeleteApplicationPayload = {\n __typename?: 'DeleteApplicationPayload';\n /** The `Application` that was deleted by this mutation. */\n application?: Maybe<Application>;\n /** An edge for our `Application`. May be used by Relay 1. */\n applicationEdge?: Maybe<ApplicationsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `Application` mutation. */\nexport type DeleteApplicationPayloadApplicationEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationsOrderBy>>;\n};\n\n/** All input for the `deleteIdpConnection` mutation. */\nexport type DeleteIdpConnectionInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `IdpConnection` mutation. */\nexport type DeleteIdpConnectionPayload = {\n __typename?: 'DeleteIdpConnectionPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpConnection` that was deleted by this mutation. */\n idpConnection?: Maybe<IdpConnection>;\n /** An edge for our `IdpConnection`. May be used by Relay 1. */\n idpConnectionEdge?: Maybe<IdpConnectionsEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `IdpConnection` mutation. */\nexport type DeleteIdpConnectionPayloadIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<IdpConnectionsOrderBy>>;\n};\n\n/** All input for the `deleteUserIdpDatum` mutation. */\nexport type DeleteUserIdpDatumInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n idpConnectionId: Scalars['UUID'];\n userId: Scalars['UUID'];\n};\n\n/** The output of our delete `UserIdpDatum` mutation. */\nexport type DeleteUserIdpDatumPayload = {\n __typename?: 'DeleteUserIdpDatumPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Reads a single `IdpConnection` that is related to this `UserIdpDatum`. */\n idpConnection?: Maybe<IdpConnection>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** Reads a single `User` that is related to this `UserIdpDatum`. */\n user?: Maybe<User>;\n /** The `UserIdpDatum` that was deleted by this mutation. */\n userIdpDatum?: Maybe<UserIdpDatum>;\n /** An edge for our `UserIdpDatum`. May be used by Relay 1. */\n userIdpDatumEdge?: Maybe<UserIdpDataEdge>;\n};\n\n\n/** The output of our delete `UserIdpDatum` mutation. */\nexport type DeleteUserIdpDatumPayloadUserIdpDatumEdgeArgs = {\n orderBy?: Maybe<Array<UserIdpDataOrderBy>>;\n};\n\n/** All input for the `deleteUser` mutation. */\nexport type DeleteUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `User` mutation. */\nexport type DeleteUserPayload = {\n __typename?: 'DeleteUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `User` that was deleted by this mutation. */\n user?: Maybe<User>;\n /** An edge for our `User`. May be used by Relay 1. */\n userEdge?: Maybe<UsersEdge>;\n};\n\n\n/** The output of our delete `User` mutation. */\nexport type DeleteUserPayloadUserEdgeArgs = {\n orderBy?: Maybe<Array<UsersOrderBy>>;\n};\n\n/** All input for the `deleteUserProfile` mutation. */\nexport type DeleteUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `UserProfile` mutation. */\nexport type DeleteUserProfilePayload = {\n __typename?: 'DeleteUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** Reads a single `User` that is related to this `UserProfile`. */\n user?: Maybe<User>;\n /** The `UserProfile` that was deleted by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our delete `UserProfile` mutation. */\nexport type DeleteUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\nexport type DevGenerateEndUserAccessTokenInput = {\n /**\n * Application ID to be used in the generated token.\n * This must be the ID of an actual Application defined in the service (it need not be enabled).\n */\n applicationId: Scalars['String'];\n /**\n * Extensions to be used in the generated token.\n *\n * Defaults to an empty JSON object i.e. {}.\n */\n extensions?: Maybe<Scalars['JSON']>;\n /**\n * Determines if the email will be set as null in the generated token (useful to simulate a token with email set as null).\n * When set to false a random email will be generated derived from the name.\n *\n * Defaults to false\n */\n isNullEmail?: Maybe<Scalars['Boolean']>;\n /**\n * Name to be used in the generated token.\n *\n * If not specified, a random name will be used.\n */\n name?: Maybe<Scalars['String']>;\n /**\n * Profile ID to be used in the generated token.\n *\n * If not specified, a random Profile ID will be used.\n */\n profileId?: Maybe<Scalars['String']>;\n /**\n * Token Expiration time in seconds.\n *\n * If not specified, this will default to 30 days.\n */\n tokenExpirationInSeconds?: Maybe<Scalars['Int']>;\n /**\n * User ID to be used in the generated token (set as the 'sub' property).\n *\n * If not specified, a random User ID will be used.\n */\n userId?: Maybe<Scalars['String']>;\n};\n\nexport type DevGenerateEndUserAccessTokenPayload = {\n __typename?: 'DevGenerateEndUserAccessTokenPayload';\n /** Development-time End-User Access Token. */\n accessToken: Scalars['String'];\n expiresInSeconds: Scalars['Int'];\n tokenType: Scalars['String'];\n};\n\nexport type EncryptWithKeyAesInput = {\n /** Encryption Key to be used for the encryption. */\n key: Scalars['String'];\n /** Value to encrypt. */\n valueToEncrypt: Scalars['String'];\n};\n\nexport type EncryptWithKeyAesPayload = {\n __typename?: 'EncryptWithKeyAesPayload';\n /** The encrypted value as a Base 64 encoded string. */\n encryptedValue: Scalars['String'];\n};\n\nexport type EndUserAccessTokenPayload = {\n __typename?: 'EndUserAccessTokenPayload';\n applicationId: Scalars['UUID'];\n email?: Maybe<Scalars['String']>;\n environmentId: Scalars['UUID'];\n extensions?: Maybe<Scalars['JSON']>;\n name: Scalars['String'];\n profileId: Scalars['String'];\n sessionId: Scalars['String'];\n sub: Scalars['String'];\n subjectType: Scalars['String'];\n tenantId: Scalars['UUID'];\n};\n\n/** Exposes all error codes and messages for errors that a service requests can throw. In some cases, messages that are actually thrown can be different, since they can include more details or a single code can used for different errors of the same type. */\nexport enum ErrorCodesEnum {\n /** Access Token has expired. */\n ACCESS_TOKEN_EXPIRED = 'ACCESS_TOKEN_EXPIRED',\n /** Error while generating the Access Token. */\n ACCESS_TOKEN_GENERATION_ERROR = 'ACCESS_TOKEN_GENERATION_ERROR',\n /** Access Token is invalid */\n ACCESS_TOKEN_INVALID = 'ACCESS_TOKEN_INVALID',\n /** Access Token is not provided */\n ACCESS_TOKEN_REQUIRED = 'ACCESS_TOKEN_REQUIRED',\n /** Access token verification failed */\n ACCESS_TOKEN_VERIFICATION_FAILED = 'ACCESS_TOKEN_VERIFICATION_FAILED',\n /** Application \"%s\" does not exist. */\n APPLICATION_DOES_NOT_EXIST = 'APPLICATION_DOES_NOT_EXIST',\n /** Application error. */\n APPLICATION_ERROR = 'APPLICATION_ERROR',\n /** Application [%s] is not enabled for use. */\n APPLICATION_NOT_ENABLED = 'APPLICATION_NOT_ENABLED',\n /** Application [%s] does not exist or you have provided an invalid Application Key. */\n APPLICATION_NOT_FOUND = 'APPLICATION_NOT_FOUND',\n /** Could not find an Application with the provided ID. Please check the value and try again. Hint: the Application must be enabled. */\n APPLICATION_NOT_FOUND_OR_NOT_ENABLED = 'APPLICATION_NOT_FOUND_OR_NOT_ENABLED',\n /** No active signing key found for application \"%s\". */\n APPLICATION_SIGNING_KEY_NOT_FOUND = 'APPLICATION_SIGNING_KEY_NOT_FOUND',\n /** The assertion check for the identifier %s failed. */\n ASSERTION_FAILED = 'ASSERTION_FAILED',\n /** Auth config is invalid. */\n AUTH_CONFIG_INVALID = 'AUTH_CONFIG_INVALID',\n /** Authenticated End User not found. */\n AUTHENTICATED_END_USER_NOT_FOUND = 'AUTHENTICATED_END_USER_NOT_FOUND',\n /** Authenticated Management Subject not found. */\n AUTHENTICATED_MANAGEMENT_SUBJECT_NOT_FOUND = 'AUTHENTICATED_MANAGEMENT_SUBJECT_NOT_FOUND',\n /** A Permission Definition or an EndUserAuthorizationConfig was not found to be passed into Postgraphile build options. This is a development time issue. */\n AUTHORIZATION_OPTIONS_MISCONFIGURED = 'AUTHORIZATION_OPTIONS_MISCONFIGURED',\n /** Bad request */\n BAD_REQUEST = 'BAD_REQUEST',\n /** Default User Profile cannot be deleted. */\n CANNOT_DELETE_DEFAULT_PROFILE = 'CANNOT_DELETE_DEFAULT_PROFILE',\n /** A database operation has failed because of a lock timeout. */\n DATABASE_LOCK_TIMEOUT_ERROR = 'DATABASE_LOCK_TIMEOUT_ERROR',\n /** An authorization database error has occurred. The user might not have enough permissions. */\n DATABASE_PERMISSIONS_CHECK_FAILED = 'DATABASE_PERMISSIONS_CHECK_FAILED',\n /** An expected and handled database constraint error has occurred. The actual message will have more information. */\n DATABASE_VALIDATION_FAILED = 'DATABASE_VALIDATION_FAILED',\n /** Error while decrypting. */\n DECRYPTION_ERROR = 'DECRYPTION_ERROR',\n /** No default profile found for user. Contact Axinom Support. */\n DEFAULT_PROFILE_NOT_FOUND = 'DEFAULT_PROFILE_NOT_FOUND',\n /** Application must have an IDP connection of type AX_DELEGATED_AUTH assigned to generate a Delegated Access Token. */\n DELEGATED_AUTH_NOT_ASSIGNED_TO_APPLICATION = 'DELEGATED_AUTH_NOT_ASSIGNED_TO_APPLICATION',\n /** An IDP connection of type AX_DELEGATED_AUTH must be configured and enabled to generate a Delegated Access Token. */\n DELEGATED_AUTH_NOT_CONFIGURED = 'DELEGATED_AUTH_NOT_CONFIGURED',\n /** An IDP Connection for provider 'Delegated Authentication' already exists. An environment can only have at most one IDP Connection with this provider. */\n DELEGATED_AUTH_PROVIDER_EXISTS = 'DELEGATED_AUTH_PROVIDER_EXISTS',\n /** Email(s) already used by another User account. Contact Axinom support to add this email to your account. */\n EMAIL_IN_USE = 'EMAIL_IN_USE',\n /** Error while encrypting */\n ENCRYPTION_ERROR = 'ENCRYPTION_ERROR',\n /** Error while generating End-User Application Access Token. */\n END_USER_ACCESS_TOKEN_GENERATION_ERROR = 'END_USER_ACCESS_TOKEN_GENERATION_ERROR',\n /** Error occurred while generating token for End User Application. */\n END_USER_APP_TOKEN_GENERATION_ERROR = 'END_USER_APP_TOKEN_GENERATION_ERROR',\n /** This is a wrapper error for the original unhandled error of unsupported type. */\n ERROR_WRAPPER = 'ERROR_WRAPPER',\n /** A GraphQL validation error has occurred. Please make sure that the GraphQL request is made with correct syntax or parameters. */\n GRAPHQL_VALIDATION_FAILED = 'GRAPHQL_VALIDATION_FAILED',\n /** The Hosting service is not accessible. Please contact Axinom support. */\n HOSTING_SERVICE_NOT_ACCESSIBLE = 'HOSTING_SERVICE_NOT_ACCESSIBLE',\n /** The Identity service is not accessible. Please contact Axinom support. */\n IDENTITY_SERVICE_NOT_ACCESSIBLE = 'IDENTITY_SERVICE_NOT_ACCESSIBLE',\n /** IDP Connection [%s] does not exist. */\n IDP_CONNECTION_DOES_NOT_EXIST = 'IDP_CONNECTION_DOES_NOT_EXIST',\n /** IDP Connection error. */\n IDP_CONNECTION_ERROR = 'IDP_CONNECTION_ERROR',\n /** The protocol is required when creating a custom provider for the first time. */\n IDP_PROTOCOL_MISSING = 'IDP_PROTOCOL_MISSING',\n /** Error occurred while generating token for Impersonated End User. */\n IMPERSONATED_END_USER_ACCESS_TOKEN_GENERATION_ERROR = 'IMPERSONATED_END_USER_ACCESS_TOKEN_GENERATION_ERROR',\n /** An unhandled and unexpected error has occurred. Please contact the service support. */\n INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR',\n /** Error accessing database. */\n INTERNAL_SERVER_OR_DB_ACCESS_ERROR = 'INTERNAL_SERVER_OR_DB_ACCESS_ERROR',\n /** Invalid constructor arguments for \"%s\". */\n INVALID_CONSTRUCTOR_ARGS = 'INVALID_CONSTRUCTOR_ARGS',\n /** Custom provider name cannot begin with 'Ax'. */\n INVALID_CUSTOM_PROVIDER_NAME = 'INVALID_CUSTOM_PROVIDER_NAME',\n /** Invalid email format. Please provide a valid email address. */\n INVALID_EMAIL_FORMAT = 'INVALID_EMAIL_FORMAT',\n /** Invalid URL format in [%s]. */\n INVALID_URL_FORMAT = 'INVALID_URL_FORMAT',\n /** User store category of the referenced user store ID must be 'END_USER'. */\n INVALID_USER_STORE_CATEGORY = 'INVALID_USER_STORE_CATEGORY',\n /** Error occurred while trying to fetch signing keys from the JWKS endpoint for the Tenant/Environment/Application. */\n JWKS_ERROR = 'JWKS_ERROR',\n /** Passed JWT is not a Mosaic End-User Token. Cannot be verified. */\n JWT_IS_NOT_MOSAIC_TOKEN = 'JWT_IS_NOT_MOSAIC_TOKEN',\n /** Malformed access token received */\n MALFORMED_TOKEN = 'MALFORMED_TOKEN',\n /** Could not find a matching signing key using JWKS. */\n MATCHING_SIGNING_KEY_NOT_FOUND = 'MATCHING_SIGNING_KEY_NOT_FOUND',\n /** The token is not an Authenticated End-User */\n NOT_AUTHENTICATED_END_USER = 'NOT_AUTHENTICATED_END_USER',\n /** The object is not a AuthenticatedManagementSubject */\n NOT_AUTHENTICATED_MANAGEMENT_SUBJECT = 'NOT_AUTHENTICATED_MANAGEMENT_SUBJECT',\n /** The object is not a AuthenticatedRequest */\n NOT_AUTHENTICATED_REQUEST = 'NOT_AUTHENTICATED_REQUEST',\n /** The token is not an End-User Application */\n NOT_END_USER_APPLICATION = 'NOT_END_USER_APPLICATION',\n /** The object is not an EndUserAuthenticationContext */\n NOT_END_USER_AUTHENTICATION_CONTEXT = 'NOT_END_USER_AUTHENTICATION_CONTEXT',\n /** The object is not a GenericAuthenticatedSubject */\n NOT_GENERIC_AUTHENTICATED_SUBJECT = 'NOT_GENERIC_AUTHENTICATED_SUBJECT',\n /** The object is not a ManagementAuthenticationContext */\n NOT_MANAGEMENT_AUTHENTICATION_CONTEXT = 'NOT_MANAGEMENT_AUTHENTICATION_CONTEXT',\n /** The %s is missing required properties: %s. */\n OBJECT_IS_MISSING_PROPERTIES = 'OBJECT_IS_MISSING_PROPERTIES',\n /** The provider name is already in use. Please use a different name or use the existing provider. */\n PROVIDER_NAME_IN_USE = 'PROVIDER_NAME_IN_USE',\n /** The Reference User Store ID does not exist in the AxAuth Service. */\n REFERENCE_USER_STORE_ID_NOT_FOUND = 'REFERENCE_USER_STORE_ID_NOT_FOUND',\n /** Service Configuration does not exist for the environment. */\n SERVICE_CONFIG_ERROR = 'SERVICE_CONFIG_ERROR',\n /** Could not find a matching signing key to verify the access token. The signing key used to create the token may have been revoked or the Tenant/Environment/Application configuration is erroneous. */\n SIGNING_KEY_NOT_FOUND = 'SIGNING_KEY_NOT_FOUND',\n /** An application startup error has occurred. The actual message will have more information. */\n STARTUP_ERROR = 'STARTUP_ERROR',\n /** User is authenticated, but subject information was not found. Please contact Axinom Support. */\n SUBJECT_INFORMATION_NOT_FOUND = 'SUBJECT_INFORMATION_NOT_FOUND',\n /** User is authenticated, but subject information was not found. Please contact Axinom Support. */\n SUBJECT_NOT_FOUND = 'SUBJECT_NOT_FOUND',\n /** User Token enrichment content cannot exceed 10240 characters. */\n TOKEN_ENRICHMENT_EXCEEDS_LIMIT = 'TOKEN_ENRICHMENT_EXCEEDS_LIMIT',\n /** Retrieving user information from Access Token Enrichment Webhook failed. */\n TOKEN_ENRICHMENT_WEBHOOK_FAILURE = 'TOKEN_ENRICHMENT_WEBHOOK_FAILURE',\n /** Token validity duration cannot exceed %s. */\n TOKEN_VALIDITY_DURATION_EXCEEDED = 'TOKEN_VALIDITY_DURATION_EXCEEDED',\n /** Unable to get the %s secret. Please contact Axinom Support. */\n UNABLE_TO_GET_SECRET = 'UNABLE_TO_GET_SECRET',\n /** Unable to set the %s secret. Please contact Axinom Support. */\n UNABLE_TO_SET_SECRET = 'UNABLE_TO_SET_SECRET',\n /** The subject has no permissions. */\n UNAUTHORIZED = 'UNAUTHORIZED',\n /** Unexpected null or undefined value received. */\n UNEXPECTED_NULL_UNDEFINED = 'UNEXPECTED_NULL_UNDEFINED',\n /** An unhandled error occurred while making requests through Axios. */\n UNHANDLED_AXIOS_ERROR = 'UNHANDLED_AXIOS_ERROR',\n /** An unhandled database-related error has occurred. Please contact the service support. */\n UNHANDLED_DATABASE_ERROR = 'UNHANDLED_DATABASE_ERROR',\n /** An unhandled error has occurred. Please contact the service support. */\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n /** Attempt to create or update an element failed, as it would have resulted in a duplicate element. */\n UNIQUE_CONSTRAINT_ERROR = 'UNIQUE_CONSTRAINT_ERROR',\n /** An error occurred while generating long lived token. %s. */\n UNKNOWN_ERROR_GENERATING_LONG_LIVED_TOKEN = 'UNKNOWN_ERROR_GENERATING_LONG_LIVED_TOKEN',\n /** Unsupported token type received to generateEndUserLongLivedToken. %s */\n UNSUPPORTED_TOKEN_RECEIVED = 'UNSUPPORTED_TOKEN_RECEIVED',\n /** No payload was found in User Info Retrieval webhook response. */\n USER_INFO_WEBHOOK_RESPONSE_PAYLOAD_NOT_FOUND = 'USER_INFO_WEBHOOK_RESPONSE_PAYLOAD_NOT_FOUND',\n /** User is not authorized to access the operation. */\n USER_NOT_AUTHORIZED = 'USER_NOT_AUTHORIZED',\n /** User does not exist or you have provided an invalid user ID. */\n USER_NOT_FOUND = 'USER_NOT_FOUND',\n /** The User service is not accessible. Please contact Axinom support. */\n USER_SERVICE_NOT_ACCESSIBLE = 'USER_SERVICE_NOT_ACCESSIBLE',\n /** User Store can only be set when creating an IDP Connection for the \"AxAuth\" provider. */\n USER_STORE_SHOULD_BE_EMPTY = 'USER_STORE_SHOULD_BE_EMPTY',\n /** A User Store is required when creating an IDP Connection for the \"AxAuth\" provider. */\n USER_STORE_SHOULD_NOT_BE_EMPTY = 'USER_STORE_SHOULD_NOT_BE_EMPTY',\n /** Could not decode the user token when trying to create a long-lived end-user token. */\n USER_TOKEN_DECODE_FAILED = 'USER_TOKEN_DECODE_FAILED',\n /** User token is expired. */\n USER_TOKEN_EXPIRED = 'USER_TOKEN_EXPIRED',\n /** The %s is not an object. */\n VALUE_IS_NOT_OBJECT = 'VALUE_IS_NOT_OBJECT',\n /** Unable to make a request to the webhook URL \"%s\". Please make sure that the endpoint is reachable. */\n WEBHOOK_ENDPOINT_NOT_REACHABLE = 'WEBHOOK_ENDPOINT_NOT_REACHABLE',\n /** A webhook request has failed. A more concrete error message will be returned with this code. */\n WEBHOOK_REQUEST_FAILURE = 'WEBHOOK_REQUEST_FAILURE',\n /** The webhook for the URL \"%s\" responded with error(s). Please check the details for more information. */\n WEBHOOK_RESPONDED_WITH_ERRORS = 'WEBHOOK_RESPONDED_WITH_ERRORS',\n /** The request to get the %s secret succeeded, but the secret was not found. Please contact Axinom Support. */\n WEBHOOK_SECRET_NOT_FOUND = 'WEBHOOK_SECRET_NOT_FOUND',\n /** The %s secret is not set. Please call an appropriate mutation to generate it. */\n WEBHOOK_SECRET_NOT_SET = 'WEBHOOK_SECRET_NOT_SET',\n /** Websocket not found in ExtendedGraphQLContext. This is a development time issue. A reference to the websocket must be included in Postgraphile build options. */\n WEBSOCKET_NOT_FOUND = 'WEBSOCKET_NOT_FOUND'\n}\n\nexport type GenerateAccessTokenEnrichmentWebhookSecretInput = {\n applicationId: Scalars['String'];\n};\n\nexport type GenerateAccessTokenEnrichmentWebhookSecretPayload = {\n __typename?: 'GenerateAccessTokenEnrichmentWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\nexport type GenerateApplicationKeyInput = {\n applicationId: Scalars['UUID'];\n};\n\nexport type GenerateApplicationKeyPayload = {\n __typename?: 'GenerateApplicationKeyPayload';\n applicationKey: Scalars['String'];\n};\n\nexport type GenerateDelegatedAccessTokenInput = {\n /** Application ID the Delegated Token that must be generated against. */\n applicationId: Scalars['UUID'];\n /**\n * Email address of the end-user on the external system\n * the token is generated for. This is an optional value.\n * When the email is not provided, the user will be identified only by\n * the subjectId.\n */\n email?: Maybe<Scalars['String']>;\n /**\n * Name of the end-user.\n * If a name is not given, the local-part of the email address (portion before the @ sign) is taken as the name.\n * If no email is given either, the name will have the UUID of the User.\n */\n name?: Maybe<Scalars['String']>;\n /**\n * Subject ID of the end-user given by the Authentication Provider.\n * This is a unique value to identify the user as determined by the external system.\n */\n subjectId: Scalars['String'];\n /**\n * A unique identifier which represents the user's profile on the external system.\n *\n * Based on the value of this identifier, either a new User Profile\n * will be created, or an existing User Profile will be associated with the token.\n *\n * If no value is provided, a default user profile will be created and associated\n * with the token (the same profile will be used in subsequent invocations).\n */\n uniqueProfileIdentifier?: Maybe<Scalars['String']>;\n};\n\nexport type GenerateDelegatedAccessTokenPayload = {\n __typename?: 'GenerateDelegatedAccessTokenPayload';\n accessToken: Scalars['String'];\n expiresInSeconds: Scalars['Int'];\n payload: EndUserAccessTokenPayload;\n tokenType: Scalars['String'];\n};\n\nexport type GenerateEndUserLongLivedTokenInput = {\n /** User access token to extend the validity period for. */\n userToken: Scalars['String'];\n /** Validity duration from time of invocation. Defaults to 30 days if unspecified. */\n validityDurationInSeconds?: Maybe<Scalars['Int']>;\n};\n\nexport type GenerateEndUserLongLivedTokenPayload = {\n __typename?: 'GenerateEndUserLongLivedTokenPayload';\n /** User Token expiration timeout in seconds */\n expiresInSeconds: Scalars['Int'];\n /** User Token type to use when making client requests */\n tokenType: Scalars['String'];\n /** Long lived user token */\n userToken: Scalars['String'];\n};\n\nexport type GenerateImpersonatedEndUserAccessTokenInput = {\n /** Application ID to be used in the generated token. */\n applicationId: Scalars['String'];\n /**\n * Profile ID to be used in the generated token.\n * If not specified, the user's default Profile ID will be used.\n */\n profileId?: Maybe<Scalars['String']>;\n /**\n * Token Expiration time in seconds.\n * If not specified, the default end-user token lifetime of the Application will be used.\n */\n tokenExpirationInSeconds?: Maybe<Scalars['Int']>;\n /** User ID to be used in the generated token (set as the 'sub' property). */\n userId: Scalars['String'];\n};\n\nexport type GenerateImpersonatedEndUserAccessTokenPayload = {\n __typename?: 'GenerateImpersonatedEndUserAccessTokenPayload';\n /** Impersonated End-User Access Token. */\n accessToken: Scalars['String'];\n expiresInSeconds: Scalars['Int'];\n tokenType: Scalars['String'];\n};\n\nexport type GenerateUserCreatedWebhookSecretInput = {\n serviceConfigurationId: Scalars['String'];\n};\n\nexport type GenerateUserCreatedWebhookSecretPayload = {\n __typename?: 'GenerateUserCreatedWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\nexport type GenerateUserInfoWebhookSecretInput = {\n idpConnectionId: Scalars['String'];\n};\n\nexport type GenerateUserInfoWebhookSecretPayload = {\n __typename?: 'GenerateUserInfoWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\n\n/** A filter to be used against IdpAdditionalParamsObject fields. All fields are combined with a logical ‘and.’ */\nexport type IdpAdditionalParamsObjectFilter = {\n /** Contained by the specified JSON. */\n containedBy?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Contains the specified JSON. */\n contains?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Contains all of the specified keys. */\n containsAllKeys?: Maybe<Array<Scalars['String']>>;\n /** Contains any of the specified keys. */\n containsAnyKeys?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified key. */\n containsKey?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['IdpAdditionalParamsObject']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['IdpAdditionalParamsObject']>>;\n};\n\nexport type IdpConnection = {\n __typename?: 'IdpConnection';\n additionalParams?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n allManagedScopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Reads and enables pagination through a set of `ApplicationIdpConnection`. */\n applicationIdpConnections: ApplicationIdpConnectionsConnection;\n authorizationEndpointUrl?: Maybe<Scalars['String']>;\n clientId?: Maybe<Scalars['String']>;\n clientSecret?: Maybe<Scalars['String']>;\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n discoveryDocumentUrl?: Maybe<Scalars['String']>;\n enabled: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n extraScopes?: Maybe<Array<Scalars['String']>>;\n id: Scalars['UUID'];\n protocol: IdpProtocol;\n providerIconUrl?: Maybe<Scalars['String']>;\n providerId: Scalars['String'];\n providerName?: Maybe<Scalars['String']>;\n referenceUserStoreId?: Maybe<Scalars['String']>;\n scopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n sortOrder?: Maybe<Scalars['Int']>;\n tenantId: Scalars['UUID'];\n title: Scalars['String'];\n tokenEndpointUrl?: Maybe<Scalars['String']>;\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n /** Reads and enables pagination through a set of `UserIdpDatum`. */\n userIdpData: UserIdpDataConnection;\n userInfoEndpointUrl?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhook?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhookSecretIsSet: Scalars['Boolean'];\n};\n\n\nexport type IdpConnectionApplicationIdpConnectionsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ApplicationIdpConnectionCondition>;\n filter?: Maybe<ApplicationIdpConnectionFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n\nexport type IdpConnectionUserIdpDataArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserIdpDatumCondition>;\n filter?: Maybe<UserIdpDatumFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserIdpDataOrderBy>>;\n};\n\n/**\n * A condition to be used against `IdpConnection` object types. All fields are\n * tested for equality and combined with a logical ‘and.’\n */\nexport type IdpConnectionCondition = {\n /** Checks for equality with the object’s `additionalParams` field. */\n additionalParams?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n /** Checks for equality with the object’s `authorizationEndpointUrl` field. */\n authorizationEndpointUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `clientId` field. */\n clientId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `clientSecret` field. */\n clientSecret?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `discoveryDocumentUrl` field. */\n discoveryDocumentUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enabled` field. */\n enabled?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `protocol` field. */\n protocol?: Maybe<IdpProtocol>;\n /** Checks for equality with the object’s `providerIconUrl` field. */\n providerIconUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `providerId` field. */\n providerId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `referenceUserStoreId` field. */\n referenceUserStoreId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `scopes` field. */\n scopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Checks for equality with the object’s `sortOrder` field. */\n sortOrder?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `title` field. */\n title?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tokenEndpointUrl` field. */\n tokenEndpointUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userInfoEndpointUrl` field. */\n userInfoEndpointUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userInfoRetrievalWebhook` field. */\n userInfoRetrievalWebhook?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userInfoRetrievalWebhookSecretIsSet` field. */\n userInfoRetrievalWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** A filter to be used against `IdpConnection` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpConnectionFilter = {\n /** Filter by the object’s `additionalParams` field. */\n additionalParams?: Maybe<IdpAdditionalParamsObjectFilter>;\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<IdpConnectionFilter>>;\n /** Filter by the object’s `applicationIdpConnections` relation. */\n applicationIdpConnections?: Maybe<IdpConnectionToManyApplicationIdpConnectionFilter>;\n /** Some related `applicationIdpConnections` exist. */\n applicationIdpConnectionsExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `authorizationEndpointUrl` field. */\n authorizationEndpointUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `clientId` field. */\n clientId?: Maybe<StringFilter>;\n /** Filter by the object’s `clientSecret` field. */\n clientSecret?: Maybe<StringFilter>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `discoveryDocumentUrl` field. */\n discoveryDocumentUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `enabled` field. */\n enabled?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<IdpConnectionFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<IdpConnectionFilter>>;\n /** Filter by the object’s `protocol` field. */\n protocol?: Maybe<IdpProtocolFilter>;\n /** Filter by the object’s `providerIconUrl` field. */\n providerIconUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `providerId` field. */\n providerId?: Maybe<StringFilter>;\n /** Filter by the object’s `providerName` field. */\n providerName?: Maybe<StringFilter>;\n /** Filter by the object’s `referenceUserStoreId` field. */\n referenceUserStoreId?: Maybe<StringFilter>;\n /** Filter by the object’s `scopes` field. */\n scopes?: Maybe<StringListFilter>;\n /** Filter by the object’s `sortOrder` field. */\n sortOrder?: Maybe<IntFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `title` field. */\n title?: Maybe<StringFilter>;\n /** Filter by the object’s `tokenEndpointUrl` field. */\n tokenEndpointUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n /** Filter by the object’s `userIdpData` relation. */\n userIdpData?: Maybe<IdpConnectionToManyUserIdpDatumFilter>;\n /** Some related `userIdpData` exist. */\n userIdpDataExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `userInfoEndpointUrl` field. */\n userInfoEndpointUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `userInfoRetrievalWebhook` field. */\n userInfoRetrievalWebhook?: Maybe<StringFilter>;\n /** Filter by the object’s `userInfoRetrievalWebhookSecretIsSet` field. */\n userInfoRetrievalWebhookSecretIsSet?: Maybe<BooleanFilter>;\n};\n\n/** An input for mutations affecting `IdpConnection` */\nexport type IdpConnectionInput = {\n additionalParams?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n authorizationEndpointUrl?: Maybe<Scalars['String']>;\n clientId?: Maybe<Scalars['String']>;\n clientSecret?: Maybe<Scalars['String']>;\n discoveryDocumentUrl?: Maybe<Scalars['String']>;\n protocol?: Maybe<IdpProtocol>;\n providerIconUrl?: Maybe<Scalars['String']>;\n providerId: Scalars['String'];\n referenceUserStoreId?: Maybe<Scalars['String']>;\n scopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n sortOrder?: Maybe<Scalars['Int']>;\n title: Scalars['String'];\n tokenEndpointUrl?: Maybe<Scalars['String']>;\n userInfoEndpointUrl?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhook?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** Represents an update to a `IdpConnection`. Fields that are set will be updated. */\nexport type IdpConnectionPatch = {\n additionalParams?: Maybe<Scalars['IdpAdditionalParamsObject']>;\n authorizationEndpointUrl?: Maybe<Scalars['String']>;\n clientId?: Maybe<Scalars['String']>;\n clientSecret?: Maybe<Scalars['String']>;\n discoveryDocumentUrl?: Maybe<Scalars['String']>;\n enabled?: Maybe<Scalars['Boolean']>;\n providerIconUrl?: Maybe<Scalars['String']>;\n scopes?: Maybe<Array<Maybe<Scalars['String']>>>;\n sortOrder?: Maybe<Scalars['Int']>;\n title?: Maybe<Scalars['String']>;\n tokenEndpointUrl?: Maybe<Scalars['String']>;\n userInfoEndpointUrl?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhook?: Maybe<Scalars['String']>;\n userInfoRetrievalWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** A connection to a list of `IdpConnection` values. */\nexport type IdpConnectionsConnection = {\n __typename?: 'IdpConnectionsConnection';\n /** A list of edges which contains the `IdpConnection` and cursor to aid in pagination. */\n edges: Array<IdpConnectionsEdge>;\n /** A list of `IdpConnection` objects. */\n nodes: Array<IdpConnection>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `IdpConnection` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `IdpConnection` edge in the connection. */\nexport type IdpConnectionsEdge = {\n __typename?: 'IdpConnectionsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `IdpConnection` at the end of the edge. */\n node: IdpConnection;\n};\n\n/** Methods to use when ordering `IdpConnection`. */\nexport enum IdpConnectionsOrderBy {\n ADDITIONAL_PARAMS_ASC = 'ADDITIONAL_PARAMS_ASC',\n ADDITIONAL_PARAMS_DESC = 'ADDITIONAL_PARAMS_DESC',\n AUTHORIZATION_ENDPOINT_URL_ASC = 'AUTHORIZATION_ENDPOINT_URL_ASC',\n AUTHORIZATION_ENDPOINT_URL_DESC = 'AUTHORIZATION_ENDPOINT_URL_DESC',\n CLIENT_ID_ASC = 'CLIENT_ID_ASC',\n CLIENT_ID_DESC = 'CLIENT_ID_DESC',\n CLIENT_SECRET_ASC = 'CLIENT_SECRET_ASC',\n CLIENT_SECRET_DESC = 'CLIENT_SECRET_DESC',\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n DISCOVERY_DOCUMENT_URL_ASC = 'DISCOVERY_DOCUMENT_URL_ASC',\n DISCOVERY_DOCUMENT_URL_DESC = 'DISCOVERY_DOCUMENT_URL_DESC',\n ENABLED_ASC = 'ENABLED_ASC',\n ENABLED_DESC = 'ENABLED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROTOCOL_ASC = 'PROTOCOL_ASC',\n PROTOCOL_DESC = 'PROTOCOL_DESC',\n PROVIDER_ICON_URL_ASC = 'PROVIDER_ICON_URL_ASC',\n PROVIDER_ICON_URL_DESC = 'PROVIDER_ICON_URL_DESC',\n PROVIDER_ID_ASC = 'PROVIDER_ID_ASC',\n PROVIDER_ID_DESC = 'PROVIDER_ID_DESC',\n PROVIDER_NAME_ASC = 'PROVIDER_NAME_ASC',\n PROVIDER_NAME_DESC = 'PROVIDER_NAME_DESC',\n REFERENCE_USER_STORE_ID_ASC = 'REFERENCE_USER_STORE_ID_ASC',\n REFERENCE_USER_STORE_ID_DESC = 'REFERENCE_USER_STORE_ID_DESC',\n SCOPES_ASC = 'SCOPES_ASC',\n SCOPES_DESC = 'SCOPES_DESC',\n SORT_ORDER_ASC = 'SORT_ORDER_ASC',\n SORT_ORDER_DESC = 'SORT_ORDER_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n TITLE_ASC = 'TITLE_ASC',\n TITLE_DESC = 'TITLE_DESC',\n TOKEN_ENDPOINT_URL_ASC = 'TOKEN_ENDPOINT_URL_ASC',\n TOKEN_ENDPOINT_URL_DESC = 'TOKEN_ENDPOINT_URL_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC',\n USER_INFO_ENDPOINT_URL_ASC = 'USER_INFO_ENDPOINT_URL_ASC',\n USER_INFO_ENDPOINT_URL_DESC = 'USER_INFO_ENDPOINT_URL_DESC',\n USER_INFO_RETRIEVAL_WEBHOOK_ASC = 'USER_INFO_RETRIEVAL_WEBHOOK_ASC',\n USER_INFO_RETRIEVAL_WEBHOOK_DESC = 'USER_INFO_RETRIEVAL_WEBHOOK_DESC',\n USER_INFO_RETRIEVAL_WEBHOOK_SECRET_IS_SET_ASC = 'USER_INFO_RETRIEVAL_WEBHOOK_SECRET_IS_SET_ASC',\n USER_INFO_RETRIEVAL_WEBHOOK_SECRET_IS_SET_DESC = 'USER_INFO_RETRIEVAL_WEBHOOK_SECRET_IS_SET_DESC'\n}\n\n/** A filter to be used against many `ApplicationIdpConnection` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpConnectionToManyApplicationIdpConnectionFilter = {\n /** Every related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<ApplicationIdpConnectionFilter>;\n /** No related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<ApplicationIdpConnectionFilter>;\n /** Some related `ApplicationIdpConnection` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<ApplicationIdpConnectionFilter>;\n};\n\n/** A filter to be used against many `UserIdpDatum` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpConnectionToManyUserIdpDatumFilter = {\n /** Every related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<UserIdpDatumFilter>;\n /** No related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<UserIdpDatumFilter>;\n /** Some related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<UserIdpDatumFilter>;\n};\n\nexport enum IdpProtocol {\n /** Delegated */\n DELEGATED = 'DELEGATED',\n /** OAuth 2.0 */\n OAUTH2 = 'OAUTH2',\n /** OIDC */\n OIDC = 'OIDC'\n}\n\n/** A filter to be used against IdpProtocol fields. All fields are combined with a logical ‘and.’ */\nexport type IdpProtocolFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<IdpProtocol>;\n /** Equal to the specified value. */\n equalTo?: Maybe<IdpProtocol>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<IdpProtocol>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<IdpProtocol>;\n /** Included in the specified list. */\n in?: Maybe<Array<IdpProtocol>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<IdpProtocol>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<IdpProtocol>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<IdpProtocol>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<IdpProtocol>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<IdpProtocol>>;\n};\n\nexport type IdProvider = {\n __typename?: 'IdProvider';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n id: Scalars['String'];\n name: Scalars['String'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n/**\n * A condition to be used against `IdProvider` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type IdProviderCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `IdProvider` object types. All fields are combined with a logical ‘and.’ */\nexport type IdProviderFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<IdProviderFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<StringFilter>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<IdProviderFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<IdProviderFilter>>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\n/** A connection to a list of `IdProvider` values. */\nexport type IdProvidersConnection = {\n __typename?: 'IdProvidersConnection';\n /** A list of edges which contains the `IdProvider` and cursor to aid in pagination. */\n edges: Array<IdProvidersEdge>;\n /** A list of `IdProvider` objects. */\n nodes: Array<IdProvider>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `IdProvider` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `IdProvider` edge in the connection. */\nexport type IdProvidersEdge = {\n __typename?: 'IdProvidersEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `IdProvider` at the end of the edge. */\n node: IdProvider;\n};\n\n/** Methods to use when ordering `IdProvider`. */\nexport enum IdProvidersOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** A filter to be used against Int fields. All fields are combined with a logical ‘and.’ */\nexport type IntFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Int']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Int']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Int']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Int']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Int']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Int']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Int']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Int']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Int']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Int']>>;\n};\n\n\n/** A filter to be used against JSON fields. All fields are combined with a logical ‘and.’ */\nexport type JsonFilter = {\n /** Contained by the specified JSON. */\n containedBy?: Maybe<Scalars['JSON']>;\n /** Contains the specified JSON. */\n contains?: Maybe<Scalars['JSON']>;\n /** Contains all of the specified keys. */\n containsAllKeys?: Maybe<Array<Scalars['String']>>;\n /** Contains any of the specified keys. */\n containsAnyKeys?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified key. */\n containsKey?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['JSON']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['JSON']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['JSON']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['JSON']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['JSON']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['JSON']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['JSON']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['JSON']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['JSON']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['JSON']>>;\n};\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type Mutation = {\n __typename?: 'Mutation';\n /** Adds a custom mutation to authenticate an end-user application token for a given tenant/environment/application combination */\n authenticateEndUserApplication: AuthenticateEndUserApplicationPayload;\n clearAccessTokenEnrichmentWebhookSecret: ClearAccessTokenEnrichmentWebhookSecretPayload;\n clearUserCreatedWebhookSecret: ClearUserCreatedWebhookSecretPayload;\n clearUserInfoWebhookSecret: ClearUserInfoWebhookSecretPayload;\n /** Creates a single `Application`. */\n createApplication?: Maybe<CreateApplicationPayload>;\n /** Creates a single `ApplicationIdpConnection`. */\n createApplicationIdpConnection?: Maybe<CreateApplicationIdpConnectionPayload>;\n /** Creates a single `IdpConnection`. */\n createIdpConnection?: Maybe<CreateIdpConnectionPayload>;\n /** Creates a single `UserProfile`. */\n createUserProfile?: Maybe<CreateUserProfilePayload>;\n /**\n * Custom mutation to to decrypt any value encrypted with AES256-CBC algorithm.\n * This can be used for decrypting the cookie object passed to native apps using deep linking.\n */\n decryptWithKeyAes: DecryptWithKeyAesPayload;\n /** Deletes a single `Application` using a unique key. */\n deleteApplication?: Maybe<DeleteApplicationPayload>;\n /** Deletes a single `ApplicationIdpConnection` using a unique key. */\n deleteApplicationIdpConnection?: Maybe<DeleteApplicationIdpConnectionPayload>;\n /** Deletes a single `IdpConnection` using a unique key. */\n deleteIdpConnection?: Maybe<DeleteIdpConnectionPayload>;\n /** Deletes a single `User` using a unique key. */\n deleteUser?: Maybe<DeleteUserPayload>;\n /** Deletes a single `UserIdpDatum` using a unique key. */\n deleteUserIdpDatum?: Maybe<DeleteUserIdpDatumPayload>;\n /** Deletes a single `UserProfile` using a unique key. */\n deleteUserProfile?: Maybe<DeleteUserProfilePayload>;\n /**\n * Generate a development-time End-User access-token.\n *\n * NOTE: The access-token will be generated against non-existent user & profile data. If the access-token is\n * used to query/mutate the user-service, the request will most likely result in no-data or an exception.\n */\n devGenerateEndUserAccessToken?: Maybe<DevGenerateEndUserAccessTokenPayload>;\n /**\n * Custom mutation to to encrypt any value with AES256-CBC algorithm.\n * This can be used for encrypting the cookie object passed to native apps using deep linking.\n */\n encryptWithKeyAes: EncryptWithKeyAesPayload;\n generateAccessTokenEnrichmentWebhookSecret: GenerateAccessTokenEnrichmentWebhookSecretPayload;\n /** Adds a custom mutation to generate an Application Key for a given Application ID. */\n generateApplicationKey: GenerateApplicationKeyPayload;\n /** Adds a custom mutation to generated a delegated end-user access token for a given tenant/environment/application/email combination */\n generateDelegatedAccessToken: GenerateDelegatedAccessTokenPayload;\n /** Generate a long lived access token for a user access token */\n generateEndUserLongLivedToken: GenerateEndUserLongLivedTokenPayload;\n /** Adds a custom mutation to generated impersonated end user token for a given application/user/profile combination */\n generateImpersonatedEndUserToken: GenerateImpersonatedEndUserAccessTokenPayload;\n generateUserCreatedWebhookSecret: GenerateUserCreatedWebhookSecretPayload;\n generateUserInfoWebhookSecret: GenerateUserInfoWebhookSecretPayload;\n /** Adds a custom mutation to revoke and rotate the user token signing key */\n revokeAndRotateUserTokenSigningKey: RevokeAndRotateUserTokenSigningKeyPayload;\n /** Updates a single `Application` using a unique key and a patch. */\n updateApplication?: Maybe<UpdateApplicationPayload>;\n /** Updates a single `IdpConnection` using a unique key and a patch. */\n updateIdpConnection?: Maybe<UpdateIdpConnectionPayload>;\n /** Updates a single `ServiceConfiguration` using a unique key and a patch. */\n updateServiceConfiguration?: Maybe<UpdateServiceConfigurationPayload>;\n /** Updates a single `User` using a unique key and a patch. */\n updateUser?: Maybe<UpdateUserPayload>;\n /** Updates a single `UserProfile` using a unique key and a patch. */\n updateUserProfile?: Maybe<UpdateUserProfilePayload>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationAuthenticateEndUserApplicationArgs = {\n input: AuthenticateEndUserApplicationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearAccessTokenEnrichmentWebhookSecretArgs = {\n input: ClearAccessTokenEnrichmentWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearUserCreatedWebhookSecretArgs = {\n input: ClearUserCreatedWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearUserInfoWebhookSecretArgs = {\n input: ClearUserInfoWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateApplicationArgs = {\n input: CreateApplicationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateApplicationIdpConnectionArgs = {\n input: CreateApplicationIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateIdpConnectionArgs = {\n input: CreateIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateUserProfileArgs = {\n input: CreateUserProfileInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDecryptWithKeyAesArgs = {\n input: DecryptWithKeyAesInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteApplicationArgs = {\n input: DeleteApplicationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteApplicationIdpConnectionArgs = {\n input: DeleteApplicationIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteIdpConnectionArgs = {\n input: DeleteIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteUserArgs = {\n input: DeleteUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteUserIdpDatumArgs = {\n input: DeleteUserIdpDatumInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteUserProfileArgs = {\n input: DeleteUserProfileInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDevGenerateEndUserAccessTokenArgs = {\n input: DevGenerateEndUserAccessTokenInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationEncryptWithKeyAesArgs = {\n input: EncryptWithKeyAesInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateAccessTokenEnrichmentWebhookSecretArgs = {\n input: GenerateAccessTokenEnrichmentWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateApplicationKeyArgs = {\n input: GenerateApplicationKeyInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateDelegatedAccessTokenArgs = {\n input: GenerateDelegatedAccessTokenInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateEndUserLongLivedTokenArgs = {\n input: GenerateEndUserLongLivedTokenInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateImpersonatedEndUserTokenArgs = {\n input: GenerateImpersonatedEndUserAccessTokenInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateUserCreatedWebhookSecretArgs = {\n input: GenerateUserCreatedWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateUserInfoWebhookSecretArgs = {\n input: GenerateUserInfoWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationRevokeAndRotateUserTokenSigningKeyArgs = {\n applicationId: Scalars['UUID'];\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateApplicationArgs = {\n input: UpdateApplicationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateIdpConnectionArgs = {\n input: UpdateIdpConnectionInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateServiceConfigurationArgs = {\n input: UpdateServiceConfigurationInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateUserArgs = {\n input: UpdateUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateUserProfileArgs = {\n input: UpdateUserProfileInput;\n};\n\n/** Information about pagination in a connection. */\nexport type PageInfo = {\n __typename?: 'PageInfo';\n /** When paginating forwards, the cursor to continue. */\n endCursor?: Maybe<Scalars['Cursor']>;\n /** When paginating forwards, are there more items? */\n hasNextPage: Scalars['Boolean'];\n /** When paginating backwards, are there more items? */\n hasPreviousPage: Scalars['Boolean'];\n /** When paginating backwards, the cursor to continue. */\n startCursor?: Maybe<Scalars['Cursor']>;\n};\n\n/** The root query type which gives access points into the data universe. */\nexport type Query = {\n __typename?: 'Query';\n application?: Maybe<Application>;\n applicationIdpConnection?: Maybe<ApplicationIdpConnection>;\n /** Reads and enables pagination through a set of `ApplicationIdpConnection`. */\n applicationIdpConnections?: Maybe<ApplicationIdpConnectionsConnection>;\n /** Reads and enables pagination through a set of `Application`. */\n applications?: Maybe<ApplicationsConnection>;\n idpConnection?: Maybe<IdpConnection>;\n /** Reads and enables pagination through a set of `IdpConnection`. */\n idpConnections?: Maybe<IdpConnectionsConnection>;\n /** Reads and enables pagination through a set of `IdProvider`. */\n idProviders?: Maybe<IdProvidersConnection>;\n /**\n * Exposes the root query type nested one level down. This is helpful for Relay 1\n * which can only query top level fields if they are in a particular form.\n */\n query: Query;\n serviceConfiguration?: Maybe<ServiceConfiguration>;\n /** Reads and enables pagination through a set of `ServiceConfiguration`. */\n serviceConfigurations?: Maybe<ServiceConfigurationsConnection>;\n user?: Maybe<User>;\n /** Reads and enables pagination through a set of `UserIdpDatum`. */\n userIdpData?: Maybe<UserIdpDataConnection>;\n userIdpDatum?: Maybe<UserIdpDatum>;\n userProfile?: Maybe<UserProfile>;\n /** Reads and enables pagination through a set of `UserProfile`. */\n userProfiles?: Maybe<UserProfilesConnection>;\n /** Reads and enables pagination through a set of `User`. */\n users?: Maybe<UsersConnection>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryApplicationArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryApplicationIdpConnectionArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryApplicationIdpConnectionsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ApplicationIdpConnectionCondition>;\n filter?: Maybe<ApplicationIdpConnectionFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ApplicationIdpConnectionsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryApplicationsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ApplicationCondition>;\n filter?: Maybe<ApplicationFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ApplicationsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpConnectionArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpConnectionsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdpConnectionCondition>;\n filter?: Maybe<IdpConnectionFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdpConnectionsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdProvidersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdProviderCondition>;\n filter?: Maybe<IdProviderFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdProvidersOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryServiceConfigurationArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryServiceConfigurationsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<ServiceConfigurationCondition>;\n filter?: Maybe<ServiceConfigurationFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<ServiceConfigurationsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserIdpDataArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserIdpDatumCondition>;\n filter?: Maybe<UserIdpDatumFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserIdpDataOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserIdpDatumArgs = {\n idpConnectionId: Scalars['UUID'];\n userId: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserProfileArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserProfilesArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserProfileCondition>;\n filter?: Maybe<UserProfileFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUsersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserCondition>;\n filter?: Maybe<UserFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UsersOrderBy>>;\n};\n\nexport type RevokeAndRotateUserTokenSigningKeyPayload = {\n __typename?: 'RevokeAndRotateUserTokenSigningKeyPayload';\n tokenSigningKey: RevokedUserTokenSigningKey;\n};\n\nexport type RevokedUserTokenSigningKey = {\n __typename?: 'RevokedUserTokenSigningKey';\n applicationId?: Maybe<Scalars['UUID']>;\n environmentId?: Maybe<Scalars['UUID']>;\n kid: Scalars['String'];\n nextRotationAt: Scalars['Datetime'];\n tenantId?: Maybe<Scalars['UUID']>;\n};\n\nexport type ServiceConfiguration = {\n __typename?: 'ServiceConfiguration';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n signingKeyRotationInterval: Scalars['Int'];\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n userCreatedWebhookSecretIsSet: Scalars['Boolean'];\n userCreatedWebhookUrl?: Maybe<Scalars['String']>;\n webhookTimeout: Scalars['Int'];\n};\n\n/**\n * A condition to be used against `ServiceConfiguration` object types. All fields\n * are tested for equality and combined with a logical ‘and.’\n */\nexport type ServiceConfigurationCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `signingKeyRotationInterval` field. */\n signingKeyRotationInterval?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userCreatedWebhookSecretIsSet` field. */\n userCreatedWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `userCreatedWebhookUrl` field. */\n userCreatedWebhookUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `webhookTimeout` field. */\n webhookTimeout?: Maybe<Scalars['Int']>;\n};\n\n/** A filter to be used against `ServiceConfiguration` object types. All fields are combined with a logical ‘and.’ */\nexport type ServiceConfigurationFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<ServiceConfigurationFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<ServiceConfigurationFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<ServiceConfigurationFilter>>;\n /** Filter by the object’s `signingKeyRotationInterval` field. */\n signingKeyRotationInterval?: Maybe<IntFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n /** Filter by the object’s `userCreatedWebhookSecretIsSet` field. */\n userCreatedWebhookSecretIsSet?: Maybe<BooleanFilter>;\n /** Filter by the object’s `userCreatedWebhookUrl` field. */\n userCreatedWebhookUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `webhookTimeout` field. */\n webhookTimeout?: Maybe<IntFilter>;\n};\n\n/** Represents an update to a `ServiceConfiguration`. Fields that are set will be updated. */\nexport type ServiceConfigurationPatch = {\n signingKeyRotationInterval?: Maybe<Scalars['Int']>;\n userCreatedWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n userCreatedWebhookUrl?: Maybe<Scalars['String']>;\n webhookTimeout?: Maybe<Scalars['Int']>;\n};\n\n/** A connection to a list of `ServiceConfiguration` values. */\nexport type ServiceConfigurationsConnection = {\n __typename?: 'ServiceConfigurationsConnection';\n /** A list of edges which contains the `ServiceConfiguration` and cursor to aid in pagination. */\n edges: Array<ServiceConfigurationsEdge>;\n /** A list of `ServiceConfiguration` objects. */\n nodes: Array<ServiceConfiguration>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `ServiceConfiguration` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `ServiceConfiguration` edge in the connection. */\nexport type ServiceConfigurationsEdge = {\n __typename?: 'ServiceConfigurationsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `ServiceConfiguration` at the end of the edge. */\n node: ServiceConfiguration;\n};\n\n/** Methods to use when ordering `ServiceConfiguration`. */\nexport enum ServiceConfigurationsOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n SIGNING_KEY_ROTATION_INTERVAL_ASC = 'SIGNING_KEY_ROTATION_INTERVAL_ASC',\n SIGNING_KEY_ROTATION_INTERVAL_DESC = 'SIGNING_KEY_ROTATION_INTERVAL_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC',\n USER_CREATED_WEBHOOK_SECRET_IS_SET_ASC = 'USER_CREATED_WEBHOOK_SECRET_IS_SET_ASC',\n USER_CREATED_WEBHOOK_SECRET_IS_SET_DESC = 'USER_CREATED_WEBHOOK_SECRET_IS_SET_DESC',\n USER_CREATED_WEBHOOK_URL_ASC = 'USER_CREATED_WEBHOOK_URL_ASC',\n USER_CREATED_WEBHOOK_URL_DESC = 'USER_CREATED_WEBHOOK_URL_DESC',\n WEBHOOK_TIMEOUT_ASC = 'WEBHOOK_TIMEOUT_ASC',\n WEBHOOK_TIMEOUT_DESC = 'WEBHOOK_TIMEOUT_DESC'\n}\n\n/** A filter to be used against String fields. All fields are combined with a logical ‘and.’ */\nexport type StringFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */\n distinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-sensitive). */\n endsWith?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-insensitive). */\n endsWithInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['String']>;\n /** Equal to the specified value (case-insensitive). */\n equalToInsensitive?: Maybe<Scalars['String']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['String']>;\n /** Greater than the specified value (case-insensitive). */\n greaterThanInsensitive?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value (case-insensitive). */\n greaterThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified string (case-sensitive). */\n includes?: Maybe<Scalars['String']>;\n /** Contains the specified string (case-insensitive). */\n includesInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list (case-insensitive). */\n inInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['String']>;\n /** Less than the specified value (case-insensitive). */\n lessThanInsensitive?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value (case-insensitive). */\n lessThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n like?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n likeInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */\n notDistinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-sensitive). */\n notEndsWith?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-insensitive). */\n notEndsWithInsensitive?: Maybe<Scalars['String']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['String']>;\n /** Not equal to the specified value (case-insensitive). */\n notEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['String']>>;\n /** Does not contain the specified string (case-sensitive). */\n notIncludes?: Maybe<Scalars['String']>;\n /** Does not contain the specified string (case-insensitive). */\n notIncludesInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list (case-insensitive). */\n notInInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLike?: Maybe<Scalars['String']>;\n /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLikeInsensitive?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-sensitive). */\n notStartsWith?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-insensitive). */\n notStartsWithInsensitive?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-sensitive). */\n startsWith?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-insensitive). */\n startsWithInsensitive?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against String List fields. All fields are combined with a logical ‘and.’ */\nexport type StringListFilter = {\n /** Any array item is equal to the specified value. */\n anyEqualTo?: Maybe<Scalars['String']>;\n /** Any array item is greater than the specified value. */\n anyGreaterThan?: Maybe<Scalars['String']>;\n /** Any array item is greater than or equal to the specified value. */\n anyGreaterThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Any array item is less than the specified value. */\n anyLessThan?: Maybe<Scalars['String']>;\n /** Any array item is less than or equal to the specified value. */\n anyLessThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Any array item is not equal to the specified value. */\n anyNotEqualTo?: Maybe<Scalars['String']>;\n /** Contained by the specified list of values. */\n containedBy?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Contains the specified list of values. */\n contains?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Array<Maybe<Scalars['String']>>>;\n /** Overlaps the specified list of values. */\n overlaps?: Maybe<Array<Maybe<Scalars['String']>>>;\n};\n\n/** All input for the `updateApplication` mutation. */\nexport type UpdateApplicationInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `Application` being updated. */\n patch: ApplicationPatch;\n};\n\n/** The output of our update `Application` mutation. */\nexport type UpdateApplicationPayload = {\n __typename?: 'UpdateApplicationPayload';\n /** The `Application` that was updated by this mutation. */\n application?: Maybe<Application>;\n /** An edge for our `Application`. May be used by Relay 1. */\n applicationEdge?: Maybe<ApplicationsEdge>;\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our update `Application` mutation. */\nexport type UpdateApplicationPayloadApplicationEdgeArgs = {\n orderBy?: Maybe<Array<ApplicationsOrderBy>>;\n};\n\n/** All input for the `updateIdpConnection` mutation. */\nexport type UpdateIdpConnectionInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `IdpConnection` being updated. */\n patch: IdpConnectionPatch;\n};\n\n/** The output of our update `IdpConnection` mutation. */\nexport type UpdateIdpConnectionPayload = {\n __typename?: 'UpdateIdpConnectionPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpConnection` that was updated by this mutation. */\n idpConnection?: Maybe<IdpConnection>;\n /** An edge for our `IdpConnection`. May be used by Relay 1. */\n idpConnectionEdge?: Maybe<IdpConnectionsEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our update `IdpConnection` mutation. */\nexport type UpdateIdpConnectionPayloadIdpConnectionEdgeArgs = {\n orderBy?: Maybe<Array<IdpConnectionsOrderBy>>;\n};\n\n/** All input for the `updateServiceConfiguration` mutation. */\nexport type UpdateServiceConfigurationInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `ServiceConfiguration` being updated. */\n patch: ServiceConfigurationPatch;\n};\n\n/** The output of our update `ServiceConfiguration` mutation. */\nexport type UpdateServiceConfigurationPayload = {\n __typename?: 'UpdateServiceConfigurationPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `ServiceConfiguration` that was updated by this mutation. */\n serviceConfiguration?: Maybe<ServiceConfiguration>;\n /** An edge for our `ServiceConfiguration`. May be used by Relay 1. */\n serviceConfigurationEdge?: Maybe<ServiceConfigurationsEdge>;\n};\n\n\n/** The output of our update `ServiceConfiguration` mutation. */\nexport type UpdateServiceConfigurationPayloadServiceConfigurationEdgeArgs = {\n orderBy?: Maybe<Array<ServiceConfigurationsOrderBy>>;\n};\n\n/** All input for the `updateUser` mutation. */\nexport type UpdateUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `User` being updated. */\n patch: UserPatch;\n};\n\n/** The output of our update `User` mutation. */\nexport type UpdateUserPayload = {\n __typename?: 'UpdateUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `User` that was updated by this mutation. */\n user?: Maybe<User>;\n /** An edge for our `User`. May be used by Relay 1. */\n userEdge?: Maybe<UsersEdge>;\n};\n\n\n/** The output of our update `User` mutation. */\nexport type UpdateUserPayloadUserEdgeArgs = {\n orderBy?: Maybe<Array<UsersOrderBy>>;\n};\n\n/** All input for the `updateUserProfile` mutation. */\nexport type UpdateUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `UserProfile` being updated. */\n patch: UserProfilePatch;\n};\n\n/** The output of our update `UserProfile` mutation. */\nexport type UpdateUserProfilePayload = {\n __typename?: 'UpdateUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** Reads a single `User` that is related to this `UserProfile`. */\n user?: Maybe<User>;\n /** The `UserProfile` that was updated by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our update `UserProfile` mutation. */\nexport type UpdateUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\nexport type User = {\n __typename?: 'User';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n email?: Maybe<Scalars['String']>;\n enabled: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n lastActiveAt: Scalars['Datetime'];\n loginCount: Scalars['Int'];\n name?: Maybe<Scalars['String']>;\n phone?: Maybe<Scalars['String']>;\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n /** Reads and enables pagination through a set of `UserIdpDatum`. */\n userIdpData: UserIdpDataConnection;\n /** Reads and enables pagination through a set of `UserProfile`. */\n userProfiles: UserProfilesConnection;\n};\n\n\nexport type UserUserIdpDataArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserIdpDatumCondition>;\n filter?: Maybe<UserIdpDatumFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserIdpDataOrderBy>>;\n};\n\n\nexport type UserUserProfilesArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserProfileCondition>;\n filter?: Maybe<UserProfileFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n/** A condition to be used against `User` object types. All fields are tested for equality and combined with a logical ‘and.’ */\nexport type UserCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `email` field. */\n email?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enabled` field. */\n enabled?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `lastActiveAt` field. */\n lastActiveAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `loginCount` field. */\n loginCount?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `phone` field. */\n phone?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `User` object types. All fields are combined with a logical ‘and.’ */\nexport type UserFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `email` field. */\n email?: Maybe<StringFilter>;\n /** Filter by the object’s `enabled` field. */\n enabled?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `lastActiveAt` field. */\n lastActiveAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `loginCount` field. */\n loginCount?: Maybe<IntFilter>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<UserFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserFilter>>;\n /** Filter by the object’s `phone` field. */\n phone?: Maybe<StringFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n /** Filter by the object’s `userIdpData` relation. */\n userIdpData?: Maybe<UserToManyUserIdpDatumFilter>;\n /** Some related `userIdpData` exist. */\n userIdpDataExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `userProfiles` relation. */\n userProfiles?: Maybe<UserToManyUserProfileFilter>;\n /** Some related `userProfiles` exist. */\n userProfilesExist?: Maybe<Scalars['Boolean']>;\n};\n\n/** A connection to a list of `UserIdpDatum` values. */\nexport type UserIdpDataConnection = {\n __typename?: 'UserIdpDataConnection';\n /** A list of edges which contains the `UserIdpDatum` and cursor to aid in pagination. */\n edges: Array<UserIdpDataEdge>;\n /** A list of `UserIdpDatum` objects. */\n nodes: Array<UserIdpDatum>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `UserIdpDatum` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `UserIdpDatum` edge in the connection. */\nexport type UserIdpDataEdge = {\n __typename?: 'UserIdpDataEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `UserIdpDatum` at the end of the edge. */\n node: UserIdpDatum;\n};\n\n/** Methods to use when ordering `UserIdpDatum`. */\nexport enum UserIdpDataOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n IDP_CONNECTION_ID_ASC = 'IDP_CONNECTION_ID_ASC',\n IDP_CONNECTION_ID_DESC = 'IDP_CONNECTION_ID_DESC',\n IDP_SUBJECT_ID_ASC = 'IDP_SUBJECT_ID_ASC',\n IDP_SUBJECT_ID_DESC = 'IDP_SUBJECT_ID_DESC',\n INITIAL_IDP_REFRESH_TOKEN_ASC = 'INITIAL_IDP_REFRESH_TOKEN_ASC',\n INITIAL_IDP_REFRESH_TOKEN_DESC = 'INITIAL_IDP_REFRESH_TOKEN_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROVIDER_ID_ASC = 'PROVIDER_ID_ASC',\n PROVIDER_ID_DESC = 'PROVIDER_ID_DESC',\n RAW_PAYLOAD_ASC = 'RAW_PAYLOAD_ASC',\n RAW_PAYLOAD_DESC = 'RAW_PAYLOAD_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n USER_ID_ASC = 'USER_ID_ASC',\n USER_ID_DESC = 'USER_ID_DESC'\n}\n\nexport type UserIdpDatum = {\n __typename?: 'UserIdpDatum';\n createdDate: Scalars['Datetime'];\n /** Reads a single `IdpConnection` that is related to this `UserIdpDatum`. */\n idpConnection?: Maybe<IdpConnection>;\n idpConnectionId: Scalars['UUID'];\n idpSubjectId: Scalars['String'];\n initialIdpRefreshToken?: Maybe<Scalars['String']>;\n providerId: Scalars['String'];\n rawPayload: Scalars['JSON'];\n updatedDate: Scalars['Datetime'];\n /** Reads a single `User` that is related to this `UserIdpDatum`. */\n user?: Maybe<User>;\n userId: Scalars['UUID'];\n};\n\n/**\n * A condition to be used against `UserIdpDatum` object types. All fields are\n * tested for equality and combined with a logical ‘and.’\n */\nexport type UserIdpDatumCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `idpConnectionId` field. */\n idpConnectionId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `idpSubjectId` field. */\n idpSubjectId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `initialIdpRefreshToken` field. */\n initialIdpRefreshToken?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `providerId` field. */\n providerId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `rawPayload` field. */\n rawPayload?: Maybe<Scalars['JSON']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `userId` field. */\n userId?: Maybe<Scalars['UUID']>;\n};\n\n/** A filter to be used against `UserIdpDatum` object types. All fields are combined with a logical ‘and.’ */\nexport type UserIdpDatumFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserIdpDatumFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `idpConnection` relation. */\n idpConnection?: Maybe<IdpConnectionFilter>;\n /** Filter by the object’s `idpConnectionId` field. */\n idpConnectionId?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpSubjectId` field. */\n idpSubjectId?: Maybe<StringFilter>;\n /** Filter by the object’s `initialIdpRefreshToken` field. */\n initialIdpRefreshToken?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<UserIdpDatumFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserIdpDatumFilter>>;\n /** Filter by the object’s `providerId` field. */\n providerId?: Maybe<StringFilter>;\n /** Filter by the object’s `rawPayload` field. */\n rawPayload?: Maybe<JsonFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `user` relation. */\n user?: Maybe<UserFilter>;\n /** Filter by the object’s `userId` field. */\n userId?: Maybe<UuidFilter>;\n};\n\n/** Represents an update to a `User`. Fields that are set will be updated. */\nexport type UserPatch = {\n email?: Maybe<Scalars['String']>;\n enabled?: Maybe<Scalars['Boolean']>;\n lastActiveAt?: Maybe<Scalars['Datetime']>;\n loginCount?: Maybe<Scalars['Int']>;\n name?: Maybe<Scalars['String']>;\n phone?: Maybe<Scalars['String']>;\n};\n\nexport type UserProfile = {\n __typename?: 'UserProfile';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n defaultProfile: Scalars['Boolean'];\n displayName: Scalars['String'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n profilePictureUrl?: Maybe<Scalars['String']>;\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n /** Reads a single `User` that is related to this `UserProfile`. */\n user?: Maybe<User>;\n userId: Scalars['UUID'];\n};\n\n/**\n * A condition to be used against `UserProfile` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type UserProfileCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `defaultProfile` field. */\n defaultProfile?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `displayName` field. */\n displayName?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userId` field. */\n userId?: Maybe<Scalars['UUID']>;\n};\n\n/** A filter to be used against `UserProfile` object types. All fields are combined with a logical ‘and.’ */\nexport type UserProfileFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserProfileFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `defaultProfile` field. */\n defaultProfile?: Maybe<BooleanFilter>;\n /** Filter by the object’s `displayName` field. */\n displayName?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<UserProfileFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserProfileFilter>>;\n /** Filter by the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n /** Filter by the object’s `user` relation. */\n user?: Maybe<UserFilter>;\n /** Filter by the object’s `userId` field. */\n userId?: Maybe<UuidFilter>;\n};\n\n/** An input for mutations affecting `UserProfile` */\nexport type UserProfileInput = {\n defaultProfile?: Maybe<Scalars['Boolean']>;\n displayName: Scalars['String'];\n profilePictureUrl?: Maybe<Scalars['String']>;\n userId: Scalars['UUID'];\n};\n\n/** Represents an update to a `UserProfile`. Fields that are set will be updated. */\nexport type UserProfilePatch = {\n displayName?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n};\n\n/** A connection to a list of `UserProfile` values. */\nexport type UserProfilesConnection = {\n __typename?: 'UserProfilesConnection';\n /** A list of edges which contains the `UserProfile` and cursor to aid in pagination. */\n edges: Array<UserProfilesEdge>;\n /** A list of `UserProfile` objects. */\n nodes: Array<UserProfile>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `UserProfile` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `UserProfile` edge in the connection. */\nexport type UserProfilesEdge = {\n __typename?: 'UserProfilesEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `UserProfile` at the end of the edge. */\n node: UserProfile;\n};\n\n/** Methods to use when ordering `UserProfile`. */\nexport enum UserProfilesOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n DEFAULT_PROFILE_ASC = 'DEFAULT_PROFILE_ASC',\n DEFAULT_PROFILE_DESC = 'DEFAULT_PROFILE_DESC',\n DISPLAY_NAME_ASC = 'DISPLAY_NAME_ASC',\n DISPLAY_NAME_DESC = 'DISPLAY_NAME_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROFILE_PICTURE_URL_ASC = 'PROFILE_PICTURE_URL_ASC',\n PROFILE_PICTURE_URL_DESC = 'PROFILE_PICTURE_URL_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC',\n USER_ID_ASC = 'USER_ID_ASC',\n USER_ID_DESC = 'USER_ID_DESC'\n}\n\n/** A connection to a list of `User` values. */\nexport type UsersConnection = {\n __typename?: 'UsersConnection';\n /** A list of edges which contains the `User` and cursor to aid in pagination. */\n edges: Array<UsersEdge>;\n /** A list of `User` objects. */\n nodes: Array<User>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `User` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `User` edge in the connection. */\nexport type UsersEdge = {\n __typename?: 'UsersEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `User` at the end of the edge. */\n node: User;\n};\n\n/** Methods to use when ordering `User`. */\nexport enum UsersOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n EMAIL_ASC = 'EMAIL_ASC',\n EMAIL_DESC = 'EMAIL_DESC',\n ENABLED_ASC = 'ENABLED_ASC',\n ENABLED_DESC = 'ENABLED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n LAST_ACTIVE_AT_ASC = 'LAST_ACTIVE_AT_ASC',\n LAST_ACTIVE_AT_DESC = 'LAST_ACTIVE_AT_DESC',\n LOGIN_COUNT_ASC = 'LOGIN_COUNT_ASC',\n LOGIN_COUNT_DESC = 'LOGIN_COUNT_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n PHONE_ASC = 'PHONE_ASC',\n PHONE_DESC = 'PHONE_DESC',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** A filter to be used against many `UserIdpDatum` object types. All fields are combined with a logical ‘and.’ */\nexport type UserToManyUserIdpDatumFilter = {\n /** Every related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<UserIdpDatumFilter>;\n /** No related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<UserIdpDatumFilter>;\n /** Some related `UserIdpDatum` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<UserIdpDatumFilter>;\n};\n\n/** A filter to be used against many `UserProfile` object types. All fields are combined with a logical ‘and.’ */\nexport type UserToManyUserProfileFilter = {\n /** Every related `UserProfile` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<UserProfileFilter>;\n /** No related `UserProfile` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<UserProfileFilter>;\n /** Some related `UserProfile` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<UserProfileFilter>;\n};\n\n\n/** A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ */\nexport type UuidFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['UUID']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['UUID']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['UUID']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['UUID']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['UUID']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['UUID']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['UUID']>>;\n};\n\nexport type AuthenticateEndUserApplicationMutationVariables = Exact<{\n input: AuthenticateEndUserApplicationInput;\n}>;\n\n\nexport type AuthenticateEndUserApplicationMutation = (\n { __typename?: 'Mutation' }\n & { authenticateEndUserApplication: (\n { __typename?: 'AuthenticateEndUserApplicationPayload' }\n & Pick<AuthenticateEndUserApplicationPayload, 'accessToken' | 'expiresInSeconds' | 'tokenType'>\n ) }\n);\n\nexport type DecryptNativeCookieMutationVariables = Exact<{\n input: DecryptWithKeyAesInput;\n}>;\n\n\nexport type DecryptNativeCookieMutation = (\n { __typename?: 'Mutation' }\n & { decryptWithKeyAes: (\n { __typename?: 'DecryptWithKeyAesPayload' }\n & Pick<DecryptWithKeyAesPayload, 'decryptedValue'>\n ) }\n);\n\n\nexport const AuthenticateEndUserApplicationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"AuthenticateEndUserApplication\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AuthenticateEndUserApplicationInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authenticateEndUserApplication\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"expiresInSeconds\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tokenType\"}}]}}]}}]} as unknown as DocumentNode<AuthenticateEndUserApplicationMutation, AuthenticateEndUserApplicationMutationVariables>;\nexport const DecryptNativeCookieDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DecryptNativeCookie\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DecryptWithKeyAesInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decryptWithKeyAes\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"decryptedValue\"}}]}}]}}]} as unknown as DocumentNode<DecryptNativeCookieMutation, DecryptNativeCookieMutationVariables>;","import { AuthenticateEndUserApplicationResponseCode } from '@axinom/mosaic-user-auth-utils';\nimport { stringifyGqlQuery } from '../common/stringify-gql-query';\nimport { AuthenticateEndUserApplicationResponse } from '../common/types';\nimport {\n AuthenticateEndUserApplicationDocument,\n AuthenticateEndUserApplicationInput,\n AuthenticateEndUserApplicationMutationVariables,\n} from '../generated/user-service-management-graphql.types';\n\n/**\n * Authenticate an End-User Application and receive a token.\n *\n * @param authenticateEndUserApplicationInput An object containing the required info for End-User Application authentication.\n * @param userServiceManagementBaseUrl Base URL of AX_AUTH management GQL schema.\n * @returns AuthenticateEndUserApplicationResponse\n */\nexport const authenticateEndUserApplication = async (\n authenticateEndUserApplicationInput: AuthenticateEndUserApplicationInput,\n userServiceManagementBaseUrl: string,\n): Promise<AuthenticateEndUserApplicationResponse> => {\n const variables: AuthenticateEndUserApplicationMutationVariables = {\n input: {\n ...authenticateEndUserApplicationInput,\n },\n };\n\n const authenticateEndUserApplicationResponse = await (\n await fetch(`${userServiceManagementBaseUrl}/graphql-management`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(\n AuthenticateEndUserApplicationDocument,\n variables,\n ),\n })\n ).json();\n\n if (authenticateEndUserApplicationResponse.errors !== undefined) {\n return {\n code: authenticateEndUserApplicationResponse.errors[0]\n .code as AuthenticateEndUserApplicationResponseCode,\n message: authenticateEndUserApplicationResponse.errors[0].message,\n };\n }\n\n return {\n code: AuthenticateEndUserApplicationResponseCode.SUCCESS,\n endUserApplicationToken: {\n accessToken:\n authenticateEndUserApplicationResponse.data\n .authenticateEndUserApplication.accessToken,\n expiresInSeconds:\n authenticateEndUserApplicationResponse.data\n .authenticateEndUserApplication.expiresInSeconds,\n tokenType:\n authenticateEndUserApplicationResponse.data\n .authenticateEndUserApplication.tokenType,\n },\n };\n};\n","/**\n * Class mimicking the minimal structure of a MosaicError.\n * This class is defined here to avoid the @axinom/service-common dependency.\n */\nexport class UserAuthError extends Error {\n code: string;\n\n constructor(message: string | undefined, code: string) {\n super(message);\n this.code = code;\n }\n}\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n Cursor: any;\n Datetime: any;\n JSON: { [key: string]: any };\n UUID: any;\n};\n\n/** A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ */\nexport type BooleanFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Boolean']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Boolean']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Boolean']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Boolean']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Boolean']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Boolean']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Boolean']>>;\n};\n\nexport type CheckEndUserPasswordResetOtpInput = {\n resetOtp: Scalars['String'];\n};\n\nexport type CheckEndUserPasswordResetOtpPayload = {\n __typename?: 'CheckEndUserPasswordResetOtpPayload';\n isOtpValid: Scalars['Boolean'];\n};\n\nexport type CheckEndUserSignUpOtpInput = {\n signUpOtp: Scalars['String'];\n};\n\nexport type CheckEndUserSignUpOtpPayload = {\n __typename?: 'CheckEndUserSignUpOtpPayload';\n isOtpValid: Scalars['Boolean'];\n};\n\nexport type ClearResetPasswordWebhookSecretInput = {\n userStoreId: Scalars['String'];\n};\n\nexport type ClearResetPasswordWebhookSecretPayload = {\n __typename?: 'ClearResetPasswordWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\nexport type ClearUserSignUpWebhookSecretInput = {\n userStoreId: Scalars['String'];\n};\n\nexport type ClearUserSignUpWebhookSecretPayload = {\n __typename?: 'ClearUserSignUpWebhookSecretPayload';\n deletedSecret: Scalars['String'];\n};\n\nexport type CompleteEndUserPasswordResetInput = {\n newPassword: Scalars['String'];\n resetOtp: Scalars['String'];\n};\n\nexport type CompleteEndUserPasswordResetPayload = {\n __typename?: 'CompleteEndUserPasswordResetPayload';\n idpUserId: Scalars['UUID'];\n};\n\nexport type CompleteEndUserSignUpInput = {\n /**\n * The password for the user must be provided either at this point or\n * in InitiateEndUserSignUp mutation.\n * If the end-user app will enforce the user to provide it in the\n * InitiateEndUserSignUp mutation the password must not be provided here.\n * If not, giving a password at this point is mandatory.\n * If it's given at InitiateEndUserSignUp step, then the used cannot override it here.\n */\n password?: Maybe<Scalars['String']>;\n signUpOtp: Scalars['String'];\n};\n\nexport type CompleteEndUserSignUpPayload = {\n __typename?: 'CompleteEndUserSignUpPayload';\n idpUserId: Scalars['UUID'];\n};\n\n/** All input for the create `IdpUser` mutation. */\nexport type CreateIdpUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUser` to be created by this mutation. */\n idpUser: IdpUserInput;\n};\n\n/** The output of our create `IdpUser` mutation. */\nexport type CreateIdpUserPayload = {\n __typename?: 'CreateIdpUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUser` that was created by this mutation. */\n idpUser?: Maybe<IdpUser>;\n /** An edge for our `IdpUser`. May be used by Relay 1. */\n idpUserEdge?: Maybe<IdpUsersEdge>;\n /** Reads a single `IdpUserStore` that is related to this `IdpUser`. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `IdpUser` mutation. */\nexport type CreateIdpUserPayloadIdpUserEdgeArgs = {\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n/** All input for the create `IdpUserStore` mutation. */\nexport type CreateIdpUserStoreInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUserStore` to be created by this mutation. */\n idpUserStore: IdpUserStoreInput;\n};\n\n/** The output of our create `IdpUserStore` mutation. */\nexport type CreateIdpUserStorePayload = {\n __typename?: 'CreateIdpUserStorePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUserStore` that was created by this mutation. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** An edge for our `IdpUserStore`. May be used by Relay 1. */\n idpUserStoreEdge?: Maybe<IdpUserStoresEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our create `IdpUserStore` mutation. */\nexport type CreateIdpUserStorePayloadIdpUserStoreEdgeArgs = {\n orderBy?: Maybe<Array<IdpUserStoresOrderBy>>;\n};\n\n\n\n/** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */\nexport type DatetimeFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Datetime']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Datetime']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Datetime']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Datetime']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Datetime']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Datetime']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Datetime']>>;\n};\n\nexport type DeleteIdpUserByEmailInput = {\n email: Scalars['String'];\n userStoreId: Scalars['String'];\n};\n\nexport type DeleteIdpUserByEmailPayload = {\n __typename?: 'DeleteIdpUserByEmailPayload';\n idpUser?: Maybe<IdpUser>;\n};\n\n/** All input for the `deleteIdpUser` mutation. */\nexport type DeleteIdpUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `IdpUser` mutation. */\nexport type DeleteIdpUserPayload = {\n __typename?: 'DeleteIdpUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUser` that was deleted by this mutation. */\n idpUser?: Maybe<IdpUser>;\n /** An edge for our `IdpUser`. May be used by Relay 1. */\n idpUserEdge?: Maybe<IdpUsersEdge>;\n /** Reads a single `IdpUserStore` that is related to this `IdpUser`. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `IdpUser` mutation. */\nexport type DeleteIdpUserPayloadIdpUserEdgeArgs = {\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n/** All input for the `deleteIdpUserStore` mutation. */\nexport type DeleteIdpUserStoreInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `IdpUserStore` mutation. */\nexport type DeleteIdpUserStorePayload = {\n __typename?: 'DeleteIdpUserStorePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUserStore` that was deleted by this mutation. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** An edge for our `IdpUserStore`. May be used by Relay 1. */\n idpUserStoreEdge?: Maybe<IdpUserStoresEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our delete `IdpUserStore` mutation. */\nexport type DeleteIdpUserStorePayloadIdpUserStoreEdgeArgs = {\n orderBy?: Maybe<Array<IdpUserStoresOrderBy>>;\n};\n\nexport type EnvironmentClientMapping = {\n __typename?: 'EnvironmentClientMapping';\n clientId: Scalars['String'];\n environmentId: Scalars['UUID'];\n /** Reads a single `IdpUserStore` that is related to this `EnvironmentClientMapping`. */\n idpUserStore?: Maybe<IdpUserStore>;\n idpUserStoreId: Scalars['UUID'];\n tenantId: Scalars['UUID'];\n};\n\n/**\n * A condition to be used against `EnvironmentClientMapping` object types. All\n * fields are tested for equality and combined with a logical ‘and.’\n */\nexport type EnvironmentClientMappingCondition = {\n /** Checks for equality with the object’s `clientId` field. */\n clientId?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n};\n\n/** A filter to be used against `EnvironmentClientMapping` object types. All fields are combined with a logical ‘and.’ */\nexport type EnvironmentClientMappingFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<EnvironmentClientMappingFilter>>;\n /** Filter by the object’s `clientId` field. */\n clientId?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpUserStore` relation. */\n idpUserStore?: Maybe<IdpUserStoreFilter>;\n /** Filter by the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<EnvironmentClientMappingFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<EnvironmentClientMappingFilter>>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n};\n\n/** A connection to a list of `EnvironmentClientMapping` values. */\nexport type EnvironmentClientMappingsConnection = {\n __typename?: 'EnvironmentClientMappingsConnection';\n /** A list of edges which contains the `EnvironmentClientMapping` and cursor to aid in pagination. */\n edges: Array<EnvironmentClientMappingsEdge>;\n /** A list of `EnvironmentClientMapping` objects. */\n nodes: Array<EnvironmentClientMapping>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `EnvironmentClientMapping` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `EnvironmentClientMapping` edge in the connection. */\nexport type EnvironmentClientMappingsEdge = {\n __typename?: 'EnvironmentClientMappingsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `EnvironmentClientMapping` at the end of the edge. */\n node: EnvironmentClientMapping;\n};\n\n/** Methods to use when ordering `EnvironmentClientMapping`. */\nexport enum EnvironmentClientMappingsOrderBy {\n CLIENT_ID_ASC = 'CLIENT_ID_ASC',\n CLIENT_ID_DESC = 'CLIENT_ID_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n IDP_USER_STORE_ID_ASC = 'IDP_USER_STORE_ID_ASC',\n IDP_USER_STORE_ID_DESC = 'IDP_USER_STORE_ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC'\n}\n\nexport type GenerateOAuthClientSecretInput = {\n clientId: Scalars['String'];\n};\n\nexport type GenerateOAuthClientSecretPayload = {\n __typename?: 'GenerateOAuthClientSecretPayload';\n newClientSecret: Scalars['String'];\n};\n\nexport type GenerateResetPasswordWebhookSecretInput = {\n userStoreId: Scalars['String'];\n};\n\nexport type GenerateResetPasswordWebhookSecretPayload = {\n __typename?: 'GenerateResetPasswordWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\nexport type GenerateUserSignUpWebhookSecretInput = {\n userStoreId: Scalars['String'];\n};\n\nexport type GenerateUserSignUpWebhookSecretPayload = {\n __typename?: 'GenerateUserSignUpWebhookSecretPayload';\n secret: Scalars['String'];\n};\n\nexport type IdpUser = {\n __typename?: 'IdpUser';\n createdAt: Scalars['Datetime'];\n createdBy: Scalars['String'];\n email: Scalars['String'];\n emailVerified: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n firstName?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** Reads a single `IdpUserStore` that is related to this `IdpUser`. */\n idpUserStore?: Maybe<IdpUserStore>;\n idpUserStoreId: Scalars['UUID'];\n lastName?: Maybe<Scalars['String']>;\n passwordHash: Scalars['String'];\n phoneNumber?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n status: UserStatus;\n tenantId: Scalars['UUID'];\n updatedAt: Scalars['Datetime'];\n updatedBy: Scalars['String'];\n};\n\n/** A condition to be used against `IdpUser` object types. All fields are tested for equality and combined with a logical ‘and.’ */\nexport type IdpUserCondition = {\n /** Checks for equality with the object’s `createdAt` field. */\n createdAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdBy` field. */\n createdBy?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `email` field. */\n email?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `emailVerified` field. */\n emailVerified?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `firstName` field. */\n firstName?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `lastName` field. */\n lastName?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `passwordHash` field. */\n passwordHash?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `phoneNumber` field. */\n phoneNumber?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `status` field. */\n status?: Maybe<UserStatus>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedAt` field. */\n updatedAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedBy` field. */\n updatedBy?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `IdpUser` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpUserFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<IdpUserFilter>>;\n /** Filter by the object’s `createdAt` field. */\n createdAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdBy` field. */\n createdBy?: Maybe<StringFilter>;\n /** Filter by the object’s `email` field. */\n email?: Maybe<StringFilter>;\n /** Filter by the object’s `emailVerified` field. */\n emailVerified?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `firstName` field. */\n firstName?: Maybe<StringFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpUserStore` relation. */\n idpUserStore?: Maybe<IdpUserStoreFilter>;\n /** Filter by the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<UuidFilter>;\n /** Filter by the object’s `lastName` field. */\n lastName?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<IdpUserFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<IdpUserFilter>>;\n /** Filter by the object’s `passwordHash` field. */\n passwordHash?: Maybe<StringFilter>;\n /** Filter by the object’s `phoneNumber` field. */\n phoneNumber?: Maybe<StringFilter>;\n /** Filter by the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `status` field. */\n status?: Maybe<UserStatusFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedAt` field. */\n updatedAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedBy` field. */\n updatedBy?: Maybe<StringFilter>;\n};\n\n/** An input for mutations affecting `IdpUser` */\nexport type IdpUserInput = {\n email: Scalars['String'];\n emailVerified?: Maybe<Scalars['Boolean']>;\n firstName?: Maybe<Scalars['String']>;\n idpUserStoreId: Scalars['UUID'];\n lastName?: Maybe<Scalars['String']>;\n passwordHash: Scalars['String'];\n phoneNumber?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n status?: Maybe<UserStatus>;\n};\n\n/** Represents an update to a `IdpUser`. Fields that are set will be updated. */\nexport type IdpUserPatch = {\n emailVerified?: Maybe<Scalars['Boolean']>;\n firstName?: Maybe<Scalars['String']>;\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n lastName?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n status?: Maybe<UserStatus>;\n};\n\n/** A connection to a list of `IdpUser` values. */\nexport type IdpUsersConnection = {\n __typename?: 'IdpUsersConnection';\n /** A list of edges which contains the `IdpUser` and cursor to aid in pagination. */\n edges: Array<IdpUsersEdge>;\n /** A list of `IdpUser` objects. */\n nodes: Array<IdpUser>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `IdpUser` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `IdpUser` edge in the connection. */\nexport type IdpUsersEdge = {\n __typename?: 'IdpUsersEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `IdpUser` at the end of the edge. */\n node: IdpUser;\n};\n\n/** Methods to use when ordering `IdpUser`. */\nexport enum IdpUsersOrderBy {\n CREATED_AT_ASC = 'CREATED_AT_ASC',\n CREATED_AT_DESC = 'CREATED_AT_DESC',\n CREATED_BY_ASC = 'CREATED_BY_ASC',\n CREATED_BY_DESC = 'CREATED_BY_DESC',\n EMAIL_ASC = 'EMAIL_ASC',\n EMAIL_DESC = 'EMAIL_DESC',\n EMAIL_VERIFIED_ASC = 'EMAIL_VERIFIED_ASC',\n EMAIL_VERIFIED_DESC = 'EMAIL_VERIFIED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n FIRST_NAME_ASC = 'FIRST_NAME_ASC',\n FIRST_NAME_DESC = 'FIRST_NAME_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n IDP_USER_STORE_ID_ASC = 'IDP_USER_STORE_ID_ASC',\n IDP_USER_STORE_ID_DESC = 'IDP_USER_STORE_ID_DESC',\n LAST_NAME_ASC = 'LAST_NAME_ASC',\n LAST_NAME_DESC = 'LAST_NAME_DESC',\n NATURAL = 'NATURAL',\n PASSWORD_HASH_ASC = 'PASSWORD_HASH_ASC',\n PASSWORD_HASH_DESC = 'PASSWORD_HASH_DESC',\n PHONE_NUMBER_ASC = 'PHONE_NUMBER_ASC',\n PHONE_NUMBER_DESC = 'PHONE_NUMBER_DESC',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROFILE_PICTURE_URL_ASC = 'PROFILE_PICTURE_URL_ASC',\n PROFILE_PICTURE_URL_DESC = 'PROFILE_PICTURE_URL_DESC',\n STATUS_ASC = 'STATUS_ASC',\n STATUS_DESC = 'STATUS_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_AT_ASC = 'UPDATED_AT_ASC',\n UPDATED_AT_DESC = 'UPDATED_AT_DESC',\n UPDATED_BY_ASC = 'UPDATED_BY_ASC',\n UPDATED_BY_DESC = 'UPDATED_BY_DESC'\n}\n\nexport type IdpUserStore = {\n __typename?: 'IdpUserStore';\n category: UserStoreCategory;\n createdAt: Scalars['Datetime'];\n createdBy: Scalars['String'];\n enforceStrictPasswordPolicy: Scalars['Boolean'];\n /** Reads and enables pagination through a set of `EnvironmentClientMapping`. */\n environmentClientMappings: EnvironmentClientMappingsConnection;\n environmentId: Scalars['UUID'];\n forgotPasswordWebhook?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** Reads and enables pagination through a set of `IdpUser`. */\n idpUsers: IdpUsersConnection;\n name: Scalars['String'];\n resetPasswordWebhookSecretIsSet: Scalars['Boolean'];\n tenantId: Scalars['UUID'];\n updatedAt: Scalars['Datetime'];\n updatedBy: Scalars['String'];\n userSignUpWebhook?: Maybe<Scalars['String']>;\n userSignUpWebhookSecretIsSet: Scalars['Boolean'];\n};\n\n\nexport type IdpUserStoreEnvironmentClientMappingsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<EnvironmentClientMappingCondition>;\n filter?: Maybe<EnvironmentClientMappingFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<EnvironmentClientMappingsOrderBy>>;\n};\n\n\nexport type IdpUserStoreIdpUsersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdpUserCondition>;\n filter?: Maybe<IdpUserFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n/**\n * A condition to be used against `IdpUserStore` object types. All fields are\n * tested for equality and combined with a logical ‘and.’\n */\nexport type IdpUserStoreCondition = {\n /** Checks for equality with the object’s `category` field. */\n category?: Maybe<UserStoreCategory>;\n /** Checks for equality with the object’s `createdAt` field. */\n createdAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdBy` field. */\n createdBy?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enforceStrictPasswordPolicy` field. */\n enforceStrictPasswordPolicy?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `forgotPasswordWebhook` field. */\n forgotPasswordWebhook?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `resetPasswordWebhookSecretIsSet` field. */\n resetPasswordWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedAt` field. */\n updatedAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedBy` field. */\n updatedBy?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userSignUpWebhook` field. */\n userSignUpWebhook?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `userSignUpWebhookSecretIsSet` field. */\n userSignUpWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** A filter to be used against `IdpUserStore` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpUserStoreFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<IdpUserStoreFilter>>;\n /** Filter by the object’s `category` field. */\n category?: Maybe<UserStoreCategoryFilter>;\n /** Filter by the object’s `createdAt` field. */\n createdAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdBy` field. */\n createdBy?: Maybe<StringFilter>;\n /** Filter by the object’s `enforceStrictPasswordPolicy` field. */\n enforceStrictPasswordPolicy?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentClientMappings` relation. */\n environmentClientMappings?: Maybe<IdpUserStoreToManyEnvironmentClientMappingFilter>;\n /** Some related `environmentClientMappings` exist. */\n environmentClientMappingsExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `forgotPasswordWebhook` field. */\n forgotPasswordWebhook?: Maybe<StringFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `idpUsers` relation. */\n idpUsers?: Maybe<IdpUserStoreToManyIdpUserFilter>;\n /** Some related `idpUsers` exist. */\n idpUsersExist?: Maybe<Scalars['Boolean']>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<IdpUserStoreFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<IdpUserStoreFilter>>;\n /** Filter by the object’s `resetPasswordWebhookSecretIsSet` field. */\n resetPasswordWebhookSecretIsSet?: Maybe<BooleanFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedAt` field. */\n updatedAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedBy` field. */\n updatedBy?: Maybe<StringFilter>;\n /** Filter by the object’s `userSignUpWebhook` field. */\n userSignUpWebhook?: Maybe<StringFilter>;\n /** Filter by the object’s `userSignUpWebhookSecretIsSet` field. */\n userSignUpWebhookSecretIsSet?: Maybe<BooleanFilter>;\n};\n\n/** An input for mutations affecting `IdpUserStore` */\nexport type IdpUserStoreInput = {\n category?: Maybe<UserStoreCategory>;\n enforceStrictPasswordPolicy?: Maybe<Scalars['Boolean']>;\n forgotPasswordWebhook?: Maybe<Scalars['String']>;\n name: Scalars['String'];\n resetPasswordWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n userSignUpWebhook?: Maybe<Scalars['String']>;\n userSignUpWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** Represents an update to a `IdpUserStore`. Fields that are set will be updated. */\nexport type IdpUserStorePatch = {\n category?: Maybe<UserStoreCategory>;\n enforceStrictPasswordPolicy?: Maybe<Scalars['Boolean']>;\n forgotPasswordWebhook?: Maybe<Scalars['String']>;\n name?: Maybe<Scalars['String']>;\n resetPasswordWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n userSignUpWebhook?: Maybe<Scalars['String']>;\n userSignUpWebhookSecretIsSet?: Maybe<Scalars['Boolean']>;\n};\n\n/** A connection to a list of `IdpUserStore` values. */\nexport type IdpUserStoresConnection = {\n __typename?: 'IdpUserStoresConnection';\n /** A list of edges which contains the `IdpUserStore` and cursor to aid in pagination. */\n edges: Array<IdpUserStoresEdge>;\n /** A list of `IdpUserStore` objects. */\n nodes: Array<IdpUserStore>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `IdpUserStore` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `IdpUserStore` edge in the connection. */\nexport type IdpUserStoresEdge = {\n __typename?: 'IdpUserStoresEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `IdpUserStore` at the end of the edge. */\n node: IdpUserStore;\n};\n\n/** Methods to use when ordering `IdpUserStore`. */\nexport enum IdpUserStoresOrderBy {\n CATEGORY_ASC = 'CATEGORY_ASC',\n CATEGORY_DESC = 'CATEGORY_DESC',\n CREATED_AT_ASC = 'CREATED_AT_ASC',\n CREATED_AT_DESC = 'CREATED_AT_DESC',\n CREATED_BY_ASC = 'CREATED_BY_ASC',\n CREATED_BY_DESC = 'CREATED_BY_DESC',\n ENFORCE_STRICT_PASSWORD_POLICY_ASC = 'ENFORCE_STRICT_PASSWORD_POLICY_ASC',\n ENFORCE_STRICT_PASSWORD_POLICY_DESC = 'ENFORCE_STRICT_PASSWORD_POLICY_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n FORGOT_PASSWORD_WEBHOOK_ASC = 'FORGOT_PASSWORD_WEBHOOK_ASC',\n FORGOT_PASSWORD_WEBHOOK_DESC = 'FORGOT_PASSWORD_WEBHOOK_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n RESET_PASSWORD_WEBHOOK_SECRET_IS_SET_ASC = 'RESET_PASSWORD_WEBHOOK_SECRET_IS_SET_ASC',\n RESET_PASSWORD_WEBHOOK_SECRET_IS_SET_DESC = 'RESET_PASSWORD_WEBHOOK_SECRET_IS_SET_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_AT_ASC = 'UPDATED_AT_ASC',\n UPDATED_AT_DESC = 'UPDATED_AT_DESC',\n UPDATED_BY_ASC = 'UPDATED_BY_ASC',\n UPDATED_BY_DESC = 'UPDATED_BY_DESC',\n USER_SIGN_UP_WEBHOOK_ASC = 'USER_SIGN_UP_WEBHOOK_ASC',\n USER_SIGN_UP_WEBHOOK_DESC = 'USER_SIGN_UP_WEBHOOK_DESC',\n USER_SIGN_UP_WEBHOOK_SECRET_IS_SET_ASC = 'USER_SIGN_UP_WEBHOOK_SECRET_IS_SET_ASC',\n USER_SIGN_UP_WEBHOOK_SECRET_IS_SET_DESC = 'USER_SIGN_UP_WEBHOOK_SECRET_IS_SET_DESC'\n}\n\n/** A filter to be used against many `EnvironmentClientMapping` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpUserStoreToManyEnvironmentClientMappingFilter = {\n /** Every related `EnvironmentClientMapping` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<EnvironmentClientMappingFilter>;\n /** No related `EnvironmentClientMapping` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<EnvironmentClientMappingFilter>;\n /** Some related `EnvironmentClientMapping` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<EnvironmentClientMappingFilter>;\n};\n\n/** A filter to be used against many `IdpUser` object types. All fields are combined with a logical ‘and.’ */\nexport type IdpUserStoreToManyIdpUserFilter = {\n /** Every related `IdpUser` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n every?: Maybe<IdpUserFilter>;\n /** No related `IdpUser` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n none?: Maybe<IdpUserFilter>;\n /** Some related `IdpUser` matches the filter criteria. All fields are combined with a logical ‘and.’ */\n some?: Maybe<IdpUserFilter>;\n};\n\nexport type InitiateEndUserPasswordResetInput = {\n customData?: Maybe<Scalars['JSON']>;\n email: Scalars['String'];\n oAuthClientId: Scalars['String'];\n};\n\nexport type InitiateEndUserPasswordResetPayload = {\n __typename?: 'InitiateEndUserPasswordResetPayload';\n idpUserId: Scalars['UUID'];\n};\n\nexport type InitiateEndUserSignUpInput = {\n customData?: Maybe<Scalars['JSON']>;\n email: Scalars['String'];\n firstName?: Maybe<Scalars['String']>;\n lastName?: Maybe<Scalars['String']>;\n oAuthClientId: Scalars['String'];\n /**\n * The password for the user must be provided either at this point or\n * in CompleteEndUserSignUp mutation.\n * If the end-user app will enforce the user to provide it in the\n * CompleteEndUserSignUp mutation the password does not have to be provided here.\n * If not, giving a password at this point is mandatory.\n */\n password?: Maybe<Scalars['String']>;\n};\n\nexport type InitiateEndUserSignUpPayload = {\n __typename?: 'InitiateEndUserSignUpPayload';\n idpUserId: Scalars['UUID'];\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type Mutation = {\n __typename?: 'Mutation';\n /** Check End-User Password Reset Otp */\n checkEndUserPasswordResetOtp: CheckEndUserPasswordResetOtpPayload;\n /** Check End-User Sign Up Otp */\n checkEndUserSignUpOtp: CheckEndUserSignUpOtpPayload;\n clearResetPasswordWebhookSecret: ClearResetPasswordWebhookSecretPayload;\n clearUserSignUpWebhookSecret: ClearUserSignUpWebhookSecretPayload;\n /** Complete End-User Reset Password Flow */\n completeEndUserPasswordReset: CompleteEndUserPasswordResetPayload;\n /** Start Sign Up as an End-User */\n completeEndUserSignUp: CompleteEndUserSignUpPayload;\n /** Creates a single `IdpUser`. */\n createIdpUser?: Maybe<CreateIdpUserPayload>;\n /** Creates a single `IdpUserStore`. */\n createIdpUserStore?: Maybe<CreateIdpUserStorePayload>;\n /** Deletes a single `IdpUser` using a unique key. */\n deleteIdpUser?: Maybe<DeleteIdpUserPayload>;\n /** Delete User By Email */\n deleteIdpUserByEmail: DeleteIdpUserByEmailPayload;\n /** Deletes a single `IdpUserStore` using a unique key. */\n deleteIdpUserStore?: Maybe<DeleteIdpUserStorePayload>;\n /** Generate the client secret of an OAuth client */\n generateOAuthClientSecret: GenerateOAuthClientSecretPayload;\n generateResetPasswordWebhookSecret: GenerateResetPasswordWebhookSecretPayload;\n generateUserSignUpWebhookSecret: GenerateUserSignUpWebhookSecretPayload;\n /** Start End-User Reset Password Flow */\n initiateEndUserPasswordReset: InitiateEndUserPasswordResetPayload;\n /** Initiate Sign Up as an End-User */\n initiateEndUserSignUp: InitiateEndUserSignUpPayload;\n /** Reset the password of an IDP user */\n resetIdpUserPassword: ResetIdpUserPasswordPayload;\n /** Updates a single `IdpUser` using a unique key and a patch. */\n updateIdpUser?: Maybe<UpdateIdpUserPayload>;\n /** Updates a single `IdpUserStore` using a unique key and a patch. */\n updateIdpUserStore?: Maybe<UpdateIdpUserStorePayload>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCheckEndUserPasswordResetOtpArgs = {\n input?: Maybe<CheckEndUserPasswordResetOtpInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCheckEndUserSignUpOtpArgs = {\n input?: Maybe<CheckEndUserSignUpOtpInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearResetPasswordWebhookSecretArgs = {\n input: ClearResetPasswordWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationClearUserSignUpWebhookSecretArgs = {\n input: ClearUserSignUpWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCompleteEndUserPasswordResetArgs = {\n input?: Maybe<CompleteEndUserPasswordResetInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCompleteEndUserSignUpArgs = {\n input?: Maybe<CompleteEndUserSignUpInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateIdpUserArgs = {\n input: CreateIdpUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateIdpUserStoreArgs = {\n input: CreateIdpUserStoreInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteIdpUserArgs = {\n input: DeleteIdpUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteIdpUserByEmailArgs = {\n input?: Maybe<DeleteIdpUserByEmailInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteIdpUserStoreArgs = {\n input: DeleteIdpUserStoreInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateOAuthClientSecretArgs = {\n input?: Maybe<GenerateOAuthClientSecretInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateResetPasswordWebhookSecretArgs = {\n input: GenerateResetPasswordWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationGenerateUserSignUpWebhookSecretArgs = {\n input: GenerateUserSignUpWebhookSecretInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationInitiateEndUserPasswordResetArgs = {\n input?: Maybe<InitiateEndUserPasswordResetInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationInitiateEndUserSignUpArgs = {\n input?: Maybe<InitiateEndUserSignUpInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationResetIdpUserPasswordArgs = {\n input?: Maybe<ResetIdpUserPasswordInput>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateIdpUserArgs = {\n input: UpdateIdpUserInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateIdpUserStoreArgs = {\n input: UpdateIdpUserStoreInput;\n};\n\nexport type OAuthClient = {\n __typename?: 'OAuthClient';\n allowUserSignUp?: Maybe<Scalars['Boolean']>;\n createdAt?: Maybe<Scalars['Datetime']>;\n createdBy?: Maybe<Scalars['String']>;\n environmentId?: Maybe<Scalars['UUID']>;\n id?: Maybe<Scalars['String']>;\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n name?: Maybe<Scalars['String']>;\n tenantId?: Maybe<Scalars['UUID']>;\n updatedAt?: Maybe<Scalars['Datetime']>;\n updatedBy?: Maybe<Scalars['String']>;\n};\n\n/**\n * A condition to be used against `OAuthClient` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type OAuthClientCondition = {\n /** Checks for equality with the object’s `allowUserSignUp` field. */\n allowUserSignUp?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `createdAt` field. */\n createdAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdBy` field. */\n createdBy?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedAt` field. */\n updatedAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedBy` field. */\n updatedBy?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `OAuthClient` object types. All fields are combined with a logical ‘and.’ */\nexport type OAuthClientFilter = {\n /** Filter by the object’s `allowUserSignUp` field. */\n allowUserSignUp?: Maybe<BooleanFilter>;\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<OAuthClientFilter>>;\n /** Filter by the object’s `createdAt` field. */\n createdAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdBy` field. */\n createdBy?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<StringFilter>;\n /** Filter by the object’s `idpUserStoreId` field. */\n idpUserStoreId?: Maybe<UuidFilter>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<OAuthClientFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<OAuthClientFilter>>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedAt` field. */\n updatedAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedBy` field. */\n updatedBy?: Maybe<StringFilter>;\n};\n\n/** A connection to a list of `OAuthClient` values. */\nexport type OAuthClientsConnection = {\n __typename?: 'OAuthClientsConnection';\n /** A list of edges which contains the `OAuthClient` and cursor to aid in pagination. */\n edges: Array<OAuthClientsEdge>;\n /** A list of `OAuthClient` objects. */\n nodes: Array<OAuthClient>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `OAuthClient` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `OAuthClient` edge in the connection. */\nexport type OAuthClientsEdge = {\n __typename?: 'OAuthClientsEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `OAuthClient` at the end of the edge. */\n node: OAuthClient;\n};\n\n/** Methods to use when ordering `OAuthClient`. */\nexport enum OAuthClientsOrderBy {\n ALLOW_USER_SIGN_UP_ASC = 'ALLOW_USER_SIGN_UP_ASC',\n ALLOW_USER_SIGN_UP_DESC = 'ALLOW_USER_SIGN_UP_DESC',\n CREATED_AT_ASC = 'CREATED_AT_ASC',\n CREATED_AT_DESC = 'CREATED_AT_DESC',\n CREATED_BY_ASC = 'CREATED_BY_ASC',\n CREATED_BY_DESC = 'CREATED_BY_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n IDP_USER_STORE_ID_ASC = 'IDP_USER_STORE_ID_ASC',\n IDP_USER_STORE_ID_DESC = 'IDP_USER_STORE_ID_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_AT_ASC = 'UPDATED_AT_ASC',\n UPDATED_AT_DESC = 'UPDATED_AT_DESC',\n UPDATED_BY_ASC = 'UPDATED_BY_ASC',\n UPDATED_BY_DESC = 'UPDATED_BY_DESC'\n}\n\n/** Information about pagination in a connection. */\nexport type PageInfo = {\n __typename?: 'PageInfo';\n /** When paginating forwards, the cursor to continue. */\n endCursor?: Maybe<Scalars['Cursor']>;\n /** When paginating forwards, are there more items? */\n hasNextPage: Scalars['Boolean'];\n /** When paginating backwards, are there more items? */\n hasPreviousPage: Scalars['Boolean'];\n /** When paginating backwards, the cursor to continue. */\n startCursor?: Maybe<Scalars['Cursor']>;\n};\n\n/** The root query type which gives access points into the data universe. */\nexport type Query = {\n __typename?: 'Query';\n environmentClientMapping?: Maybe<EnvironmentClientMapping>;\n environmentClientMappingByClientId?: Maybe<EnvironmentClientMapping>;\n /** Reads and enables pagination through a set of `EnvironmentClientMapping`. */\n environmentClientMappings?: Maybe<EnvironmentClientMappingsConnection>;\n idpUser?: Maybe<IdpUser>;\n /** Reads and enables pagination through a set of `IdpUser`. */\n idpUsers?: Maybe<IdpUsersConnection>;\n idpUserStore?: Maybe<IdpUserStore>;\n idpUserStoreByName?: Maybe<IdpUserStore>;\n /** Reads and enables pagination through a set of `IdpUserStore`. */\n idpUserStores?: Maybe<IdpUserStoresConnection>;\n /** Reads and enables pagination through a set of `OAuthClient`. */\n oAuthClients?: Maybe<OAuthClientsConnection>;\n /**\n * Exposes the root query type nested one level down. This is helpful for Relay 1\n * which can only query top level fields if they are in a particular form.\n */\n query: Query;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryEnvironmentClientMappingArgs = {\n clientId: Scalars['String'];\n environmentId: Scalars['UUID'];\n idpUserStoreId: Scalars['UUID'];\n tenantId: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryEnvironmentClientMappingByClientIdArgs = {\n clientId: Scalars['String'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryEnvironmentClientMappingsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<EnvironmentClientMappingCondition>;\n filter?: Maybe<EnvironmentClientMappingFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<EnvironmentClientMappingsOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUserArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUsersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdpUserCondition>;\n filter?: Maybe<IdpUserFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUserStoreArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUserStoreByNameArgs = {\n environmentId: Scalars['UUID'];\n name: Scalars['String'];\n tenantId: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryIdpUserStoresArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<IdpUserStoreCondition>;\n filter?: Maybe<IdpUserStoreFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<IdpUserStoresOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryOAuthClientsArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<OAuthClientCondition>;\n filter?: Maybe<OAuthClientFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<OAuthClientsOrderBy>>;\n};\n\nexport type ResetIdpUserPasswordInput = {\n id: Scalars['UUID'];\n};\n\nexport type ResetIdpUserPasswordPayload = {\n __typename?: 'ResetIdpUserPasswordPayload';\n idpUser?: Maybe<IdpUser>;\n newPassword: Scalars['String'];\n};\n\n/** A filter to be used against String fields. All fields are combined with a logical ‘and.’ */\nexport type StringFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */\n distinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-sensitive). */\n endsWith?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-insensitive). */\n endsWithInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['String']>;\n /** Equal to the specified value (case-insensitive). */\n equalToInsensitive?: Maybe<Scalars['String']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['String']>;\n /** Greater than the specified value (case-insensitive). */\n greaterThanInsensitive?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value (case-insensitive). */\n greaterThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified string (case-sensitive). */\n includes?: Maybe<Scalars['String']>;\n /** Contains the specified string (case-insensitive). */\n includesInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list (case-insensitive). */\n inInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['String']>;\n /** Less than the specified value (case-insensitive). */\n lessThanInsensitive?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value (case-insensitive). */\n lessThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n like?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n likeInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */\n notDistinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-sensitive). */\n notEndsWith?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-insensitive). */\n notEndsWithInsensitive?: Maybe<Scalars['String']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['String']>;\n /** Not equal to the specified value (case-insensitive). */\n notEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['String']>>;\n /** Does not contain the specified string (case-sensitive). */\n notIncludes?: Maybe<Scalars['String']>;\n /** Does not contain the specified string (case-insensitive). */\n notIncludesInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list (case-insensitive). */\n notInInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLike?: Maybe<Scalars['String']>;\n /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLikeInsensitive?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-sensitive). */\n notStartsWith?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-insensitive). */\n notStartsWithInsensitive?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-sensitive). */\n startsWith?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-insensitive). */\n startsWithInsensitive?: Maybe<Scalars['String']>;\n};\n\n/** All input for the `updateIdpUser` mutation. */\nexport type UpdateIdpUserInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `IdpUser` being updated. */\n patch: IdpUserPatch;\n};\n\n/** The output of our update `IdpUser` mutation. */\nexport type UpdateIdpUserPayload = {\n __typename?: 'UpdateIdpUserPayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUser` that was updated by this mutation. */\n idpUser?: Maybe<IdpUser>;\n /** An edge for our `IdpUser`. May be used by Relay 1. */\n idpUserEdge?: Maybe<IdpUsersEdge>;\n /** Reads a single `IdpUserStore` that is related to this `IdpUser`. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our update `IdpUser` mutation. */\nexport type UpdateIdpUserPayloadIdpUserEdgeArgs = {\n orderBy?: Maybe<Array<IdpUsersOrderBy>>;\n};\n\n/** All input for the `updateIdpUserStore` mutation. */\nexport type UpdateIdpUserStoreInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `IdpUserStore` being updated. */\n patch: IdpUserStorePatch;\n};\n\n/** The output of our update `IdpUserStore` mutation. */\nexport type UpdateIdpUserStorePayload = {\n __typename?: 'UpdateIdpUserStorePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `IdpUserStore` that was updated by this mutation. */\n idpUserStore?: Maybe<IdpUserStore>;\n /** An edge for our `IdpUserStore`. May be used by Relay 1. */\n idpUserStoreEdge?: Maybe<IdpUserStoresEdge>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n};\n\n\n/** The output of our update `IdpUserStore` mutation. */\nexport type UpdateIdpUserStorePayloadIdpUserStoreEdgeArgs = {\n orderBy?: Maybe<Array<IdpUserStoresOrderBy>>;\n};\n\nexport enum UserStatus {\n /** Active */\n ACTIVE = 'ACTIVE',\n /** Blocked */\n BLOCKED = 'BLOCKED'\n}\n\n/** A filter to be used against UserStatus fields. All fields are combined with a logical ‘and.’ */\nexport type UserStatusFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<UserStatus>;\n /** Equal to the specified value. */\n equalTo?: Maybe<UserStatus>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<UserStatus>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<UserStatus>;\n /** Included in the specified list. */\n in?: Maybe<Array<UserStatus>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<UserStatus>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<UserStatus>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<UserStatus>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<UserStatus>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<UserStatus>>;\n};\n\nexport enum UserStoreCategory {\n /** End User */\n END_USER = 'END_USER',\n /** Management */\n MANAGEMENT = 'MANAGEMENT'\n}\n\n/** A filter to be used against UserStoreCategory fields. All fields are combined with a logical ‘and.’ */\nexport type UserStoreCategoryFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<UserStoreCategory>;\n /** Equal to the specified value. */\n equalTo?: Maybe<UserStoreCategory>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<UserStoreCategory>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<UserStoreCategory>;\n /** Included in the specified list. */\n in?: Maybe<Array<UserStoreCategory>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<UserStoreCategory>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<UserStoreCategory>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<UserStoreCategory>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<UserStoreCategory>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<UserStoreCategory>>;\n};\n\n\n/** A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ */\nexport type UuidFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['UUID']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['UUID']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['UUID']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['UUID']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['UUID']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['UUID']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['UUID']>>;\n};\n\nexport type InitiateEndUserSignUpMutationVariables = Exact<{\n input: InitiateEndUserSignUpInput;\n}>;\n\n\nexport type InitiateEndUserSignUpMutation = (\n { __typename?: 'Mutation' }\n & { initiateEndUserSignUp: (\n { __typename?: 'InitiateEndUserSignUpPayload' }\n & Pick<InitiateEndUserSignUpPayload, 'idpUserId'>\n ) }\n);\n\nexport type CheckEndUserSignUpOtpMutationVariables = Exact<{\n input: CheckEndUserSignUpOtpInput;\n}>;\n\n\nexport type CheckEndUserSignUpOtpMutation = (\n { __typename?: 'Mutation' }\n & { checkEndUserSignUpOtp: (\n { __typename?: 'CheckEndUserSignUpOtpPayload' }\n & Pick<CheckEndUserSignUpOtpPayload, 'isOtpValid'>\n ) }\n);\n\nexport type CompleteEndUserSignUpMutationVariables = Exact<{\n input: CompleteEndUserSignUpInput;\n}>;\n\n\nexport type CompleteEndUserSignUpMutation = (\n { __typename?: 'Mutation' }\n & { completeEndUserSignUp: (\n { __typename?: 'CompleteEndUserSignUpPayload' }\n & Pick<CompleteEndUserSignUpPayload, 'idpUserId'>\n ) }\n);\n\nexport type InitiateEndUserPasswordResetMutationVariables = Exact<{\n input: InitiateEndUserPasswordResetInput;\n}>;\n\n\nexport type InitiateEndUserPasswordResetMutation = (\n { __typename?: 'Mutation' }\n & { initiateEndUserPasswordReset: (\n { __typename?: 'InitiateEndUserPasswordResetPayload' }\n & Pick<InitiateEndUserPasswordResetPayload, 'idpUserId'>\n ) }\n);\n\nexport type CheckPasswordResetOtpMutationVariables = Exact<{\n input: CheckEndUserPasswordResetOtpInput;\n}>;\n\n\nexport type CheckPasswordResetOtpMutation = (\n { __typename?: 'Mutation' }\n & { checkEndUserPasswordResetOtp: (\n { __typename?: 'CheckEndUserPasswordResetOtpPayload' }\n & Pick<CheckEndUserPasswordResetOtpPayload, 'isOtpValid'>\n ) }\n);\n\nexport type CompleteEndUserPasswordResetMutationVariables = Exact<{\n input: CompleteEndUserPasswordResetInput;\n}>;\n\n\nexport type CompleteEndUserPasswordResetMutation = (\n { __typename?: 'Mutation' }\n & { completeEndUserPasswordReset: (\n { __typename?: 'CompleteEndUserPasswordResetPayload' }\n & Pick<CompleteEndUserPasswordResetPayload, 'idpUserId'>\n ) }\n);\n\n\nexport const InitiateEndUserSignUpDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"InitiateEndUserSignUp\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"InitiateEndUserSignUpInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"initiateEndUserSignUp\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"idpUserId\"}}]}}]}}]} as unknown as DocumentNode<InitiateEndUserSignUpMutation, InitiateEndUserSignUpMutationVariables>;\nexport const CheckEndUserSignUpOtpDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckEndUserSignUpOtp\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckEndUserSignUpOtpInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkEndUserSignUpOtp\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOtpValid\"}}]}}]}}]} as unknown as DocumentNode<CheckEndUserSignUpOtpMutation, CheckEndUserSignUpOtpMutationVariables>;\nexport const CompleteEndUserSignUpDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CompleteEndUserSignUp\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CompleteEndUserSignUpInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"completeEndUserSignUp\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"idpUserId\"}}]}}]}}]} as unknown as DocumentNode<CompleteEndUserSignUpMutation, CompleteEndUserSignUpMutationVariables>;\nexport const InitiateEndUserPasswordResetDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"InitiateEndUserPasswordReset\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"InitiateEndUserPasswordResetInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"initiateEndUserPasswordReset\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"idpUserId\"}}]}}]}}]} as unknown as DocumentNode<InitiateEndUserPasswordResetMutation, InitiateEndUserPasswordResetMutationVariables>;\nexport const CheckPasswordResetOtpDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckPasswordResetOtp\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckEndUserPasswordResetOtpInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkEndUserPasswordResetOtp\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOtpValid\"}}]}}]}}]} as unknown as DocumentNode<CheckPasswordResetOtpMutation, CheckPasswordResetOtpMutationVariables>;\nexport const CompleteEndUserPasswordResetDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CompleteEndUserPasswordReset\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CompleteEndUserPasswordResetInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"completeEndUserPasswordReset\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"idpUserId\"}}]}}]}}]} as unknown as DocumentNode<CompleteEndUserPasswordResetMutation, CompleteEndUserPasswordResetMutationVariables>;","import {\n CheckOtpResponseCode,\n CheckPasswordResetOtpResponse,\n CheckUserSignUpOtpResponse,\n CompletePasswordResetResponse,\n CompleteUserSignUpResponse,\n CompleteUserSignUpResponseCode,\n DecryptNativeCookieResponse,\n DecryptNativeCookieResponseCode,\n IdpConfiguration,\n IdpConfigurationResponse,\n IdpConfigurationResponseCode,\n InitiatePasswordResetResponse,\n ResetPasswordResponseCode,\n SignInResponse,\n SignOutResponse,\n SignOutResponseCode,\n TokenResponse,\n TokenResponseCode,\n UserSignUpResponse,\n UserSignUpResponseCode,\n WellKnownEndpointResponse,\n} from '@axinom/mosaic-user-auth-utils';\nimport { ensureError } from '../common/ensure-error';\nimport { stringifyGqlQuery } from '../common/stringify-gql-query';\nimport { SignInRequest, UserAuthConfig, UserToken } from '../common/types';\nimport { UserAuthError } from '../common/user-auth-error';\nimport {\n CheckEndUserPasswordResetOtpInput,\n CheckEndUserSignUpOtpDocument,\n CheckEndUserSignUpOtpInput,\n CheckEndUserSignUpOtpMutationVariables,\n CheckPasswordResetOtpDocument,\n CheckPasswordResetOtpMutationVariables,\n CompleteEndUserPasswordResetDocument,\n CompleteEndUserPasswordResetInput,\n CompleteEndUserPasswordResetMutationVariables,\n CompleteEndUserSignUpDocument,\n CompleteEndUserSignUpInput,\n CompleteEndUserSignUpMutationVariables,\n InitiateEndUserPasswordResetDocument,\n InitiateEndUserPasswordResetMutationVariables,\n InitiateEndUserSignUpDocument,\n InitiateEndUserSignUpInput,\n InitiateEndUserSignUpMutationVariables,\n} from '../generated/ax-auth-management-graphql.types';\nimport {\n DecryptNativeCookieDocument,\n DecryptNativeCookieMutationVariables,\n} from '../generated/user-service-management-graphql.types';\n\n// A valid user token is cached in order to reduce unnecessary calls to the User Auth API\n// It is nullified just before the expiry so that the next call to `getUserToken` will retrieve a new token\nlet currentUserToken: UserToken | null = null;\n\nasync function invokeUserAuthMethod<T>(\n method: 'get-user-auth-idp-config' | 'token' | 'sign-out' | '.well-known',\n userAuthConfig: UserAuthConfig,\n isRootLevel = false,\n): Promise<T> {\n const endpointUrl = new URL(\n `${userAuthConfig.tenantId}/${userAuthConfig.environmentId}/${userAuthConfig.applicationId}/${method}`,\n userAuthConfig.userAuthBaseUrl,\n );\n\n const rootEndpointUrl = new URL(`${method}`, userAuthConfig.userAuthBaseUrl);\n\n return (\n await fetch(isRootLevel ? rootEndpointUrl.href : endpointUrl.href, {\n cache: 'no-cache',\n credentials: isRootLevel ? 'omit' : 'include',\n redirect: 'follow',\n referrerPolicy: 'origin',\n })\n ).json() as Promise<T>;\n}\n\n/**\n * Get the well-known endpoints exposed by ax-user-service.\n *\n * @param userAuthConfig an object containing user authentication info.\n * @returns `WellKnownEndpointResponse`\n */\nexport const getWellKnownEndpoints = async (\n userAuthConfig: UserAuthConfig,\n): Promise<WellKnownEndpointResponse> => {\n const userServiceEndpoints =\n await invokeUserAuthMethod<WellKnownEndpointResponse>(\n '.well-known',\n userAuthConfig,\n true,\n );\n return userServiceEndpoints;\n};\n\n/**\n * Perform a user sign in process according to the SignInWithCredentials flow.\n *\n * @param userAuthConfig An object containing user authentication info.\n * @param axAuthConnectionId The IDP Connection ID for AX_AUTH as configured for the application.\n * @param signInRequest Sign info (email, password).\n * @returns\n */\nexport const performSignInWithCredentials = async (\n userAuthConfig: UserAuthConfig,\n axAuthConnectionId: string,\n signInRequest: SignInRequest,\n): Promise<SignInResponse> => {\n const signInURL = new URL(\n `${userAuthConfig.tenantId}/${userAuthConfig.environmentId}/${userAuthConfig.applicationId}/sign-in-with-credentials`,\n userAuthConfig.userAuthBaseUrl,\n );\n\n const signInResponse = await (\n await fetch(signInURL.href, {\n method: 'POST',\n cache: 'no-cache',\n credentials: 'include',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n ...signInRequest,\n connectionId: axAuthConnectionId,\n }),\n })\n ).json();\n\n return signInResponse;\n};\n\n/**\n * Start the user sign-up flow, using the AxAuth-Service as a user-store.\n *\n * @param userSignUpRequest User Sign up info. (email, password)\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const initiateUserSignUp = async (\n userSignUpRequest: InitiateEndUserSignUpInput,\n axAuthManagementEndpoint: string,\n): Promise<UserSignUpResponse> => {\n const variables: InitiateEndUserSignUpMutationVariables = {\n input: userSignUpRequest,\n };\n\n const userSignUpResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(InitiateEndUserSignUpDocument, variables),\n })\n ).json();\n\n if (userSignUpResponse.errors !== undefined) {\n return {\n code: UserSignUpResponseCode.ERROR,\n message: userSignUpResponse.errors[0].message,\n };\n }\n\n return {\n code: UserSignUpResponseCode.SUCCESS,\n };\n};\n\n/**\n * Check if a provided OTP code for User Sign Up is still valid.\n *\n * @param checkUserSignUpOtpRequest An object containing the required the sign up OTP code.\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const checkUserSignUpOtp = async (\n checkUserSignUpOtpRequest: CheckEndUserSignUpOtpInput,\n axAuthManagementEndpoint: string,\n): Promise<CheckUserSignUpOtpResponse> => {\n const variables: CheckEndUserSignUpOtpMutationVariables = {\n input: checkUserSignUpOtpRequest,\n };\n\n const checkSignUpOtpResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CheckEndUserSignUpOtpDocument, variables),\n })\n ).json();\n\n if (checkSignUpOtpResponse.errors !== undefined) {\n return {\n code: CheckOtpResponseCode.ERROR,\n message: checkSignUpOtpResponse.errors[0].message,\n };\n }\n\n return {\n code: CheckOtpResponseCode.SUCCESS,\n isOtpValid: checkSignUpOtpResponse.data.checkEndUserSignUpOtp.isOtpValid,\n };\n};\n\n/**\n * Verify the OTP and complete the sign-up flow\n *\n * @param completeUserSignUpRequest An object containing the required info for user sign up verification. (otp/new password)\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const completeUserSignUp = async (\n completeUserSignUpRequest: CompleteEndUserSignUpInput,\n axAuthManagementEndpoint: string,\n): Promise<CompleteUserSignUpResponse> => {\n const variables: CompleteEndUserSignUpMutationVariables = {\n input: completeUserSignUpRequest,\n };\n\n const completeUserSignUpResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CompleteEndUserSignUpDocument, variables),\n })\n ).json();\n\n if (completeUserSignUpResponse.errors !== undefined) {\n return {\n code: CompleteUserSignUpResponseCode.ERROR,\n message: completeUserSignUpResponse.errors[0].message,\n };\n }\n\n return {\n code: CompleteUserSignUpResponseCode.SUCCESS,\n };\n};\n\n/**\n * Start the process of resetting the password for a registered user.\n *\n * @param email User Email\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @param customData An optional arbitrary JSON object. When used, this customData will be submitted to the Forgot Password Webhook via the HTTP POST request body, and can be used to transfer some needed context to the Webhook.\n * @returns\n */\nexport const initiatePasswordReset = async (\n email: string,\n axAuthClientId: string,\n axAuthManagementEndpoint: string,\n customData?: Record<string, unknown>,\n): Promise<InitiatePasswordResetResponse> => {\n const variables: InitiateEndUserPasswordResetMutationVariables = {\n input: {\n oAuthClientId: axAuthClientId,\n email: email,\n customData: customData,\n },\n };\n\n const initiateResetPasswordResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(InitiateEndUserPasswordResetDocument, variables),\n })\n ).json();\n\n if (initiateResetPasswordResponse.errors !== undefined) {\n return {\n code: ResetPasswordResponseCode.ERROR,\n message: initiateResetPasswordResponse.errors[0].message,\n };\n }\n\n return {\n code: ResetPasswordResponseCode.SUCCESS,\n };\n};\n\n/**\n * Check if a provided OTP code for User Sign Up is valid.\n *\n * @param checkPasswordResetOtpRequest An object containing the reset OTP code.\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const checkPasswordResetOtp = async (\n checkPasswordResetOtpRequest: CheckEndUserPasswordResetOtpInput,\n axAuthManagementEndpoint: string,\n): Promise<CheckPasswordResetOtpResponse> => {\n const variables: CheckPasswordResetOtpMutationVariables = {\n input: checkPasswordResetOtpRequest,\n };\n\n const checkPasswordResetOtpResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CheckPasswordResetOtpDocument, variables),\n })\n ).json();\n\n if (checkPasswordResetOtpResponse.errors !== undefined) {\n return {\n code: CheckOtpResponseCode.ERROR,\n message: checkPasswordResetOtpResponse.errors[0].message,\n };\n }\n\n return {\n code: CheckOtpResponseCode.SUCCESS,\n isOtpValid:\n checkPasswordResetOtpResponse.data.checkEndUserPasswordResetOtp\n .isOtpValid,\n };\n};\n\n/**\n * Complete the process of resetting the password for a registered user.\n *\n * @param completePasswordResetRequest An object containing the required info for password reset completion. (otp/new password)\n * @param axAuthClientId The Client ID of AX_AUTH IDP connection configured for the application.\n * @param axAuthManagementEndpoint Endpoint of AX_AUTH management GQL schema.\n * @returns\n */\nexport const completePasswordReset = async (\n completePasswordResetRequest: CompleteEndUserPasswordResetInput,\n axAuthManagementEndpoint: string,\n): Promise<CompletePasswordResetResponse> => {\n const variables: CompleteEndUserPasswordResetMutationVariables = {\n input: completePasswordResetRequest,\n };\n\n const completePasswordResetResponse = await (\n await fetch(`${axAuthManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CompleteEndUserPasswordResetDocument, variables),\n })\n ).json();\n\n if (completePasswordResetResponse.errors !== undefined) {\n return {\n code: ResetPasswordResponseCode.ERROR,\n message: completePasswordResetResponse.errors[0].message,\n };\n }\n\n return {\n code: ResetPasswordResponseCode.SUCCESS,\n };\n};\n\nexport const getIdpConfigurations = async (\n userAuthConfig: UserAuthConfig,\n): Promise<IdpConfiguration[]> => {\n const configResponse = await invokeUserAuthMethod<IdpConfigurationResponse>(\n 'get-user-auth-idp-config',\n userAuthConfig,\n );\n\n if (configResponse.code === IdpConfigurationResponseCode.SUCCESS) {\n return (\n configResponse.availableIdentityProviders?.map((idp) => {\n return {\n idpConnectionId: idp.idpConnectionId,\n providerId: idp.providerId,\n clientId: idp.clientId,\n providerIconUrl: idp.providerIconUrl,\n title: idp.title,\n sortOrder: idp.sortOrder,\n };\n }) ?? []\n );\n } else {\n return [];\n }\n};\n\n/**\n * Get the Authentication URL for a given IDP for web based applications.\n *\n * @param userAuthConfig The UserAuthConfig object.\n * @param idpConnectionId IDP Connection ID that should be authenticated with.\n * @param returnUrl The return URL which the User Service will redirect after completing the authentication flow.\n * @returns a URL object\n */\nexport const getAuthUrl = (\n userAuthConfig: UserAuthConfig,\n idpConnectionId: string,\n returnUrl: string,\n): URL => {\n const authUrl = new URL('oauth', userAuthConfig.userAuthBaseUrl);\n authUrl.searchParams.set('tenantId', userAuthConfig.tenantId);\n authUrl.searchParams.set('environmentId', userAuthConfig.environmentId);\n authUrl.searchParams.set('applicationId', userAuthConfig.applicationId);\n authUrl.searchParams.set('idpConnectionId', idpConnectionId);\n authUrl.searchParams.set('originUrl', returnUrl);\n authUrl.searchParams.set('userAuthProxyUrl', userAuthConfig.userAuthBaseUrl);\n return authUrl;\n};\n\n/**\n * TODO: Move this to the react-native-lib.\n * react-native does not support URL.searchParams.set() method.\n * We need to explicitly install react-native-url-polyfill package.\n * Best if we do that in react-native specific user-auth-lib. *\n */\nexport const getNativeAuthUrl = (\n userAuthConfig: UserAuthConfig,\n idpConnectionId: string,\n returnUrl: string,\n encryptionKey: string,\n): URL => {\n const authUrl = new URL(\n `oauth?tenantId=${userAuthConfig.tenantId}&environmentId=${userAuthConfig.environmentId}&applicationId=${userAuthConfig.applicationId}&idpConnectionId=${idpConnectionId}&originUrl=${returnUrl}&userAuthProxyUrl=${userAuthConfig.userAuthBaseUrl}&encryptionKey=${encryptionKey}`,\n userAuthConfig.userAuthBaseUrl,\n );\n return authUrl;\n};\n/**\n * Returns a new user token by invoking the User Auth API\n */\nexport const fetchUserToken = async (\n userAuthConfig: UserAuthConfig,\n): Promise<UserToken> => {\n try {\n const tokenResponse = await invokeUserAuthMethod<TokenResponse>(\n 'token',\n userAuthConfig,\n );\n if (tokenResponse.code !== TokenResponseCode.SUCCESS) {\n throw new UserAuthError(tokenResponse.message, tokenResponse.code);\n } else {\n return {\n tenantId: tokenResponse.tenantId ?? '',\n environmentId: tokenResponse.environmentId ?? '',\n applicationId: tokenResponse.applicationId ?? '',\n userId: tokenResponse.user?.id ?? '',\n profileId: tokenResponse.user?.profileId ?? '',\n email: tokenResponse.user?.email ?? null,\n name: tokenResponse.user?.name ?? null,\n extensions: tokenResponse.extensions,\n accessToken: tokenResponse.user?.token.accessToken ?? '',\n expiresInSeconds: tokenResponse.user?.token.expiresInSeconds ?? 0,\n expiresAt: tokenResponse.user?.token.expiresAt,\n };\n }\n } catch (e) {\n const error = ensureError(e);\n throw new UserAuthError(\n error.message,\n (error as UserAuthError).code ?? TokenResponseCode.INTERNAL_SERVER_ERROR,\n );\n }\n};\n\n/**\n * Returns a user token. The method will ensure to avoid unnecessary API calls by caching valid user tokens.\n */\nexport const getUserToken = async (\n userAuthConfig: UserAuthConfig,\n): Promise<UserToken> => {\n if (\n currentUserToken?.expiresAt === undefined ||\n currentUserToken.expiresAt <= new Date(Date.now())\n ) {\n currentUserToken = null;\n }\n\n if (currentUserToken !== null) {\n // A valid user token is already available\n return Promise.resolve(currentUserToken);\n }\n\n currentUserToken = await fetchUserToken(userAuthConfig);\n\n return currentUserToken;\n};\n\nexport const logoutUser = async (\n userAuthConfig: UserAuthConfig,\n): Promise<boolean> => {\n const logoutResponse = await invokeUserAuthMethod<SignOutResponse>(\n 'sign-out',\n userAuthConfig,\n );\n currentUserToken = null;\n\n return logoutResponse.code === SignOutResponseCode.SUCCESS;\n};\n\n/**\n * Decrypts an encrypted User Token Cookie\n *\n * @param encryptedCookie\n * @param key\n * @param userServiceManagementEndpoint\n * @returns\n */\nexport const decryptNativeCookie = async (\n encryptedCookie: string,\n key: string,\n userServiceManagementEndpoint: string,\n): Promise<DecryptNativeCookieResponse> => {\n const variables: DecryptNativeCookieMutationVariables = {\n input: {\n encryptedValue: encryptedCookie,\n key,\n },\n };\n\n const decryptNativeCookieResponse = await (\n await fetch(`${userServiceManagementEndpoint}`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(DecryptNativeCookieDocument, variables),\n })\n ).json();\n\n if (decryptNativeCookieResponse.errors !== undefined) {\n return {\n code: DecryptNativeCookieResponseCode.COOKIE_DECRYPTION_FAILED,\n message: decryptNativeCookieResponse.errors[0].message,\n };\n }\n\n return {\n code: DecryptNativeCookieResponseCode.SUCCESS,\n decryptedCookie:\n decryptNativeCookieResponse.data.decryptWithKeyAes.decryptedValue,\n };\n};\n\nexport const resetCurrentUerToken = (): void => {\n currentUserToken = null;\n};\n","import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n Cursor: any;\n Datetime: any;\n UUID: any;\n};\n\n/** A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ */\nexport type BooleanFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Boolean']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Boolean']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Boolean']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Boolean']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Boolean']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Boolean']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Boolean']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Boolean']>>;\n};\n\n/** All input for the create `UserProfile` mutation. */\nexport type CreateUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** The `UserProfile` to be created by this mutation. */\n userProfile: UserProfileInput;\n};\n\n/** The output of our create `UserProfile` mutation. */\nexport type CreateUserProfilePayload = {\n __typename?: 'CreateUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `UserProfile` that was created by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our create `UserProfile` mutation. */\nexport type CreateUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n\n\n/** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */\nexport type DatetimeFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Datetime']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Datetime']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Datetime']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Datetime']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Datetime']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Datetime']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Datetime']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Datetime']>>;\n};\n\n/** All input for the `deleteUserProfile` mutation. */\nexport type DeleteUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n};\n\n/** The output of our delete `UserProfile` mutation. */\nexport type DeleteUserProfilePayload = {\n __typename?: 'DeleteUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `UserProfile` that was deleted by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our delete `UserProfile` mutation. */\nexport type DeleteUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n/** Exposes all error codes and messages for errors that a service requests can throw. In some cases, messages that are actually thrown can be different, since they can include more details or a single code can used for different errors of the same type. */\nexport enum ErrorCodesEnum {\n /** Access Token has expired. */\n ACCESS_TOKEN_EXPIRED = 'ACCESS_TOKEN_EXPIRED',\n /** Error while generating the Access Token. */\n ACCESS_TOKEN_GENERATION_ERROR = 'ACCESS_TOKEN_GENERATION_ERROR',\n /** Access Token is invalid */\n ACCESS_TOKEN_INVALID = 'ACCESS_TOKEN_INVALID',\n /** Access Token is not provided */\n ACCESS_TOKEN_REQUIRED = 'ACCESS_TOKEN_REQUIRED',\n /** Access token verification failed */\n ACCESS_TOKEN_VERIFICATION_FAILED = 'ACCESS_TOKEN_VERIFICATION_FAILED',\n /** Application \"%s\" does not exist. */\n APPLICATION_DOES_NOT_EXIST = 'APPLICATION_DOES_NOT_EXIST',\n /** No active signing key found for application \"%s\". */\n APPLICATION_SIGNING_KEY_NOT_FOUND = 'APPLICATION_SIGNING_KEY_NOT_FOUND',\n /** The assertion check for the identifier %s failed. */\n ASSERTION_FAILED = 'ASSERTION_FAILED',\n /** Auth config is invalid. */\n AUTH_CONFIG_INVALID = 'AUTH_CONFIG_INVALID',\n /** Authenticated End User not found. */\n AUTHENTICATED_END_USER_NOT_FOUND = 'AUTHENTICATED_END_USER_NOT_FOUND',\n /** Authenticated Management Subject not found. */\n AUTHENTICATED_MANAGEMENT_SUBJECT_NOT_FOUND = 'AUTHENTICATED_MANAGEMENT_SUBJECT_NOT_FOUND',\n /** A Permission Definition or an EndUserAuthorizationConfig was not found to be passed into Postgraphile build options. This is a development time issue. */\n AUTHORIZATION_OPTIONS_MISCONFIGURED = 'AUTHORIZATION_OPTIONS_MISCONFIGURED',\n /** Bad request */\n BAD_REQUEST = 'BAD_REQUEST',\n /** User must be signed in to query the Active Profile. */\n CANNOT_QUERY_PROFILE = 'CANNOT_QUERY_PROFILE',\n /** Cannot set an Active Profile without signing in. */\n CANNOT_SET_ACTIVE_PROFILE = 'CANNOT_SET_ACTIVE_PROFILE',\n /** Could not find the Client ID connected to the user. */\n CLIENT_ID_NOT_FOUND = 'CLIENT_ID_NOT_FOUND',\n /** A database operation has failed because of a lock timeout. */\n DATABASE_LOCK_TIMEOUT_ERROR = 'DATABASE_LOCK_TIMEOUT_ERROR',\n /** An authorization database error has occurred. The user might not have enough permissions. */\n DATABASE_PERMISSIONS_CHECK_FAILED = 'DATABASE_PERMISSIONS_CHECK_FAILED',\n /** An expected and handled database constraint error has occurred. The actual message will have more information. */\n DATABASE_VALIDATION_FAILED = 'DATABASE_VALIDATION_FAILED',\n /** Error while generating End-User Application Access Token. */\n END_USER_ACCESS_TOKEN_GENERATION_ERROR = 'END_USER_ACCESS_TOKEN_GENERATION_ERROR',\n /** This is a wrapper error for the original unhandled error of unsupported type. */\n ERROR_WRAPPER = 'ERROR_WRAPPER',\n /** A GraphQL validation error has occurred. Please make sure that the GraphQL request is made with correct syntax or parameters. */\n GRAPHQL_VALIDATION_FAILED = 'GRAPHQL_VALIDATION_FAILED',\n /** The Hosting service is not accessible. Please contact Axinom support. */\n HOSTING_SERVICE_NOT_ACCESSIBLE = 'HOSTING_SERVICE_NOT_ACCESSIBLE',\n /** The Identity service is not accessible. Please contact Axinom support. */\n IDENTITY_SERVICE_NOT_ACCESSIBLE = 'IDENTITY_SERVICE_NOT_ACCESSIBLE',\n /** An unhandled and unexpected error has occurred. Please contact the service support. */\n INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR',\n /** Error accessing database. */\n INTERNAL_SERVER_OR_DB_ACCESS_ERROR = 'INTERNAL_SERVER_OR_DB_ACCESS_ERROR',\n /** Invalid constructor arguments for \"%s\". */\n INVALID_CONSTRUCTOR_ARGS = 'INVALID_CONSTRUCTOR_ARGS',\n /** Error occurred while trying to fetch signing keys from the JWKS endpoint for the Tenant/Environment/Application. */\n JWKS_ERROR = 'JWKS_ERROR',\n /** Passed JWT is not a Mosaic End-User Token. Cannot be verified. */\n JWT_IS_NOT_MOSAIC_TOKEN = 'JWT_IS_NOT_MOSAIC_TOKEN',\n /** Malformed access token received */\n MALFORMED_TOKEN = 'MALFORMED_TOKEN',\n /** Could not find a matching signing key using JWKS. */\n MATCHING_SIGNING_KEY_NOT_FOUND = 'MATCHING_SIGNING_KEY_NOT_FOUND',\n /** The token is not an Authenticated End-User */\n NOT_AUTHENTICATED_END_USER = 'NOT_AUTHENTICATED_END_USER',\n /** The object is not a AuthenticatedManagementSubject */\n NOT_AUTHENTICATED_MANAGEMENT_SUBJECT = 'NOT_AUTHENTICATED_MANAGEMENT_SUBJECT',\n /** The object is not a AuthenticatedRequest */\n NOT_AUTHENTICATED_REQUEST = 'NOT_AUTHENTICATED_REQUEST',\n /** The token is not an End-User Application */\n NOT_END_USER_APPLICATION = 'NOT_END_USER_APPLICATION',\n /** The object is not an EndUserAuthenticationContext */\n NOT_END_USER_AUTHENTICATION_CONTEXT = 'NOT_END_USER_AUTHENTICATION_CONTEXT',\n /** The object is not a GenericAuthenticatedSubject */\n NOT_GENERIC_AUTHENTICATED_SUBJECT = 'NOT_GENERIC_AUTHENTICATED_SUBJECT',\n /** The object is not a ManagementAuthenticationContext */\n NOT_MANAGEMENT_AUTHENTICATION_CONTEXT = 'NOT_MANAGEMENT_AUTHENTICATION_CONTEXT',\n /** The %s is missing required properties: %s. */\n OBJECT_IS_MISSING_PROPERTIES = 'OBJECT_IS_MISSING_PROPERTIES',\n /** Service Configuration does not exist for the environment. */\n SERVICE_CONFIG_ERROR = 'SERVICE_CONFIG_ERROR',\n /** Session ID not found. Cannot set an Active Profile. */\n SESSION_ID_NOT_FOUND = 'SESSION_ID_NOT_FOUND',\n /** Could not find a matching signing key to verify the access token. The signing key used to create the token may have been revoked or the Tenant/Environment/Application configuration is erroneous. */\n SIGNING_KEY_NOT_FOUND = 'SIGNING_KEY_NOT_FOUND',\n /** An application startup error has occurred. The actual message will have more information. */\n STARTUP_ERROR = 'STARTUP_ERROR',\n /** User is authenticated, but subject information was not found. Please contact Axinom Support. */\n SUBJECT_INFORMATION_NOT_FOUND = 'SUBJECT_INFORMATION_NOT_FOUND',\n /** User is authenticated, but subject information was not found. Please contact Axinom Support. */\n SUBJECT_NOT_FOUND = 'SUBJECT_NOT_FOUND',\n /** Token validity duration cannot exceed %s. */\n TOKEN_VALIDITY_DURATION_EXCEEDED = 'TOKEN_VALIDITY_DURATION_EXCEEDED',\n /** Unable to get the %s secret. Please contact Axinom Support. */\n UNABLE_TO_GET_SECRET = 'UNABLE_TO_GET_SECRET',\n /** Unable to set the %s secret. Please contact Axinom Support. */\n UNABLE_TO_SET_SECRET = 'UNABLE_TO_SET_SECRET',\n /** The subject has no permissions. */\n UNAUTHORIZED = 'UNAUTHORIZED',\n /** Unexpected null or undefined value received. */\n UNEXPECTED_NULL_UNDEFINED = 'UNEXPECTED_NULL_UNDEFINED',\n /** An unhandled error occurred while making requests through Axios. */\n UNHANDLED_AXIOS_ERROR = 'UNHANDLED_AXIOS_ERROR',\n /** An unhandled database-related error has occurred. Please contact the service support. */\n UNHANDLED_DATABASE_ERROR = 'UNHANDLED_DATABASE_ERROR',\n /** An unhandled error has occurred. Please contact the service support. */\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n /** Attempt to create or update an element failed, as it would have resulted in a duplicate element. */\n UNIQUE_CONSTRAINT_ERROR = 'UNIQUE_CONSTRAINT_ERROR',\n /** An error occurred while generating long lived token. %s. */\n UNKNOWN_ERROR_GENERATING_LONG_LIVED_TOKEN = 'UNKNOWN_ERROR_GENERATING_LONG_LIVED_TOKEN',\n /** Unsupported token type received to generateEndUserLongLivedToken. %s */\n UNSUPPORTED_TOKEN_RECEIVED = 'UNSUPPORTED_TOKEN_RECEIVED',\n /** Cannot delete the user account without signing in. */\n USER_ACCOUNT_DELETE_NOT_ALLOWED = 'USER_ACCOUNT_DELETE_NOT_ALLOWED',\n /** No payload was found in User Info Retrieval webhook response. */\n USER_INFO_WEBHOOK_RESPONSE_PAYLOAD_NOT_FOUND = 'USER_INFO_WEBHOOK_RESPONSE_PAYLOAD_NOT_FOUND',\n /** User is not authorized to access the operation. */\n USER_NOT_AUTHORIZED = 'USER_NOT_AUTHORIZED',\n /** The User service is not accessible. Please contact Axinom support. */\n USER_SERVICE_NOT_ACCESSIBLE = 'USER_SERVICE_NOT_ACCESSIBLE',\n /** Could not decode the user token when trying to create a long-lived end-user token. */\n USER_TOKEN_DECODE_FAILED = 'USER_TOKEN_DECODE_FAILED',\n /** User token is expired. */\n USER_TOKEN_EXPIRED = 'USER_TOKEN_EXPIRED',\n /** The %s is not an object. */\n VALUE_IS_NOT_OBJECT = 'VALUE_IS_NOT_OBJECT',\n /** Unable to make a request to the webhook URL \"%s\". Please make sure that the endpoint is reachable. */\n WEBHOOK_ENDPOINT_NOT_REACHABLE = 'WEBHOOK_ENDPOINT_NOT_REACHABLE',\n /** A webhook request has failed. A more concrete error message will be returned with this code. */\n WEBHOOK_REQUEST_FAILURE = 'WEBHOOK_REQUEST_FAILURE',\n /** The webhook for the URL \"%s\" responded with error(s). Please check the details for more information. */\n WEBHOOK_RESPONDED_WITH_ERRORS = 'WEBHOOK_RESPONDED_WITH_ERRORS',\n /** The request to get the %s secret succeeded, but the secret was not found. Please contact Axinom Support. */\n WEBHOOK_SECRET_NOT_FOUND = 'WEBHOOK_SECRET_NOT_FOUND',\n /** The %s secret is not set. Please call an appropriate mutation to generate it. */\n WEBHOOK_SECRET_NOT_SET = 'WEBHOOK_SECRET_NOT_SET',\n /** Websocket not found in ExtendedGraphQLContext. This is a development time issue. A reference to the websocket must be included in Postgraphile build options. */\n WEBSOCKET_NOT_FOUND = 'WEBSOCKET_NOT_FOUND'\n}\n\n/** A filter to be used against Int fields. All fields are combined with a logical ‘and.’ */\nexport type IntFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['Int']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['Int']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['Int']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['Int']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['Int']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['Int']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['Int']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['Int']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['Int']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['Int']>>;\n};\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type Mutation = {\n __typename?: 'Mutation';\n /** Creates a single `UserProfile`. */\n createUserProfile?: Maybe<CreateUserProfilePayload>;\n /** Deletes a single `UserProfile` using a unique key. */\n deleteUserProfile?: Maybe<DeleteUserProfilePayload>;\n /** Adds a custom mutation to set the Active Profile for a signed in User. */\n setActiveProfile?: Maybe<UserProfile>;\n /** Updates a single `UserProfile` using a unique key and a patch. */\n updateUserProfile?: Maybe<UpdateUserProfilePayload>;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationCreateUserProfileArgs = {\n input: CreateUserProfileInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationDeleteUserProfileArgs = {\n input: DeleteUserProfileInput;\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationSetActiveProfileArgs = {\n profileId: Scalars['UUID'];\n};\n\n\n/** The root mutation type which contains root level fields which mutate data. */\nexport type MutationUpdateUserProfileArgs = {\n input: UpdateUserProfileInput;\n};\n\n/** Information about pagination in a connection. */\nexport type PageInfo = {\n __typename?: 'PageInfo';\n /** When paginating forwards, the cursor to continue. */\n endCursor?: Maybe<Scalars['Cursor']>;\n /** When paginating forwards, are there more items? */\n hasNextPage: Scalars['Boolean'];\n /** When paginating backwards, are there more items? */\n hasPreviousPage: Scalars['Boolean'];\n /** When paginating backwards, the cursor to continue. */\n startCursor?: Maybe<Scalars['Cursor']>;\n};\n\n/** The root query type which gives access points into the data universe. */\nexport type Query = {\n __typename?: 'Query';\n /**\n * Exposes the root query type nested one level down. This is helpful for Relay 1\n * which can only query top level fields if they are in a particular form.\n */\n query: Query;\n user?: Maybe<User>;\n userProfile?: Maybe<UserProfile>;\n /** Reads and enables pagination through a set of `UserProfile`. */\n userProfiles?: Maybe<UserProfilesConnection>;\n /** Reads and enables pagination through a set of `User`. */\n users?: Maybe<UsersConnection>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserProfileArgs = {\n id: Scalars['UUID'];\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUserProfilesArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserProfileCondition>;\n filter?: Maybe<UserProfileFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\n\n/** The root query type which gives access points into the data universe. */\nexport type QueryUsersArgs = {\n after?: Maybe<Scalars['Cursor']>;\n before?: Maybe<Scalars['Cursor']>;\n condition?: Maybe<UserCondition>;\n filter?: Maybe<UserFilter>;\n first?: Maybe<Scalars['Int']>;\n last?: Maybe<Scalars['Int']>;\n offset?: Maybe<Scalars['Int']>;\n orderBy?: Maybe<Array<UsersOrderBy>>;\n};\n\n/** A filter to be used against String fields. All fields are combined with a logical ‘and.’ */\nexport type StringFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['String']>;\n /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */\n distinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-sensitive). */\n endsWith?: Maybe<Scalars['String']>;\n /** Ends with the specified string (case-insensitive). */\n endsWithInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['String']>;\n /** Equal to the specified value (case-insensitive). */\n equalToInsensitive?: Maybe<Scalars['String']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['String']>;\n /** Greater than the specified value (case-insensitive). */\n greaterThanInsensitive?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Greater than or equal to the specified value (case-insensitive). */\n greaterThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['String']>>;\n /** Contains the specified string (case-sensitive). */\n includes?: Maybe<Scalars['String']>;\n /** Contains the specified string (case-insensitive). */\n includesInsensitive?: Maybe<Scalars['String']>;\n /** Included in the specified list (case-insensitive). */\n inInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['String']>;\n /** Less than the specified value (case-insensitive). */\n lessThanInsensitive?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['String']>;\n /** Less than or equal to the specified value (case-insensitive). */\n lessThanOrEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n like?: Maybe<Scalars['String']>;\n /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n likeInsensitive?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['String']>;\n /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */\n notDistinctFromInsensitive?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-sensitive). */\n notEndsWith?: Maybe<Scalars['String']>;\n /** Does not end with the specified string (case-insensitive). */\n notEndsWithInsensitive?: Maybe<Scalars['String']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['String']>;\n /** Not equal to the specified value (case-insensitive). */\n notEqualToInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['String']>>;\n /** Does not contain the specified string (case-sensitive). */\n notIncludes?: Maybe<Scalars['String']>;\n /** Does not contain the specified string (case-insensitive). */\n notIncludesInsensitive?: Maybe<Scalars['String']>;\n /** Not included in the specified list (case-insensitive). */\n notInInsensitive?: Maybe<Array<Scalars['String']>>;\n /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLike?: Maybe<Scalars['String']>;\n /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */\n notLikeInsensitive?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-sensitive). */\n notStartsWith?: Maybe<Scalars['String']>;\n /** Does not start with the specified string (case-insensitive). */\n notStartsWithInsensitive?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-sensitive). */\n startsWith?: Maybe<Scalars['String']>;\n /** Starts with the specified string (case-insensitive). */\n startsWithInsensitive?: Maybe<Scalars['String']>;\n};\n\n/** All input for the `updateUserProfile` mutation. */\nexport type UpdateUserProfileInput = {\n /**\n * An arbitrary string value with no semantic meaning. Will be included in the\n * payload verbatim. May be used to track mutations by the client.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n id: Scalars['UUID'];\n /** An object where the defined keys will be set on the `UserProfile` being updated. */\n patch: UserProfilePatch;\n};\n\n/** The output of our update `UserProfile` mutation. */\nexport type UpdateUserProfilePayload = {\n __typename?: 'UpdateUserProfilePayload';\n /**\n * The exact same `clientMutationId` that was provided in the mutation input,\n * unchanged and unused. May be used by a client to track mutations.\n */\n clientMutationId?: Maybe<Scalars['String']>;\n /** Our root query field type. Allows us to run any query from our mutation payload. */\n query?: Maybe<Query>;\n /** The `UserProfile` that was updated by this mutation. */\n userProfile?: Maybe<UserProfile>;\n /** An edge for our `UserProfile`. May be used by Relay 1. */\n userProfileEdge?: Maybe<UserProfilesEdge>;\n};\n\n\n/** The output of our update `UserProfile` mutation. */\nexport type UpdateUserProfilePayloadUserProfileEdgeArgs = {\n orderBy?: Maybe<Array<UserProfilesOrderBy>>;\n};\n\nexport type User = {\n __typename?: 'User';\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n email?: Maybe<Scalars['String']>;\n enabled: Scalars['Boolean'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n lastActiveAt: Scalars['Datetime'];\n loginCount: Scalars['Int'];\n name?: Maybe<Scalars['String']>;\n phone?: Maybe<Scalars['String']>;\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n/** A condition to be used against `User` object types. All fields are tested for equality and combined with a logical ‘and.’ */\nexport type UserCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `email` field. */\n email?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `enabled` field. */\n enabled?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `lastActiveAt` field. */\n lastActiveAt?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `loginCount` field. */\n loginCount?: Maybe<Scalars['Int']>;\n /** Checks for equality with the object’s `name` field. */\n name?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `phone` field. */\n phone?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `User` object types. All fields are combined with a logical ‘and.’ */\nexport type UserFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `email` field. */\n email?: Maybe<StringFilter>;\n /** Filter by the object’s `enabled` field. */\n enabled?: Maybe<BooleanFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Filter by the object’s `lastActiveAt` field. */\n lastActiveAt?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `loginCount` field. */\n loginCount?: Maybe<IntFilter>;\n /** Filter by the object’s `name` field. */\n name?: Maybe<StringFilter>;\n /** Negates the expression. */\n not?: Maybe<UserFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserFilter>>;\n /** Filter by the object’s `phone` field. */\n phone?: Maybe<StringFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\nexport type UserProfile = {\n __typename?: 'UserProfile';\n activeProfile?: Maybe<Scalars['String']>;\n createdDate: Scalars['Datetime'];\n createdUser: Scalars['String'];\n defaultProfile: Scalars['Boolean'];\n displayName: Scalars['String'];\n environmentId: Scalars['UUID'];\n id: Scalars['UUID'];\n profilePictureUrl?: Maybe<Scalars['String']>;\n tenantId: Scalars['UUID'];\n updatedDate: Scalars['Datetime'];\n updatedUser: Scalars['String'];\n};\n\n/**\n * A condition to be used against `UserProfile` object types. All fields are tested\n * for equality and combined with a logical ‘and.’\n */\nexport type UserProfileCondition = {\n /** Checks for equality with the object’s `createdDate` field. */\n createdDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `createdUser` field. */\n createdUser?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `defaultProfile` field. */\n defaultProfile?: Maybe<Scalars['Boolean']>;\n /** Checks for equality with the object’s `displayName` field. */\n displayName?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `environmentId` field. */\n environmentId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `id` field. */\n id?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<Scalars['String']>;\n /** Checks for equality with the object’s `tenantId` field. */\n tenantId?: Maybe<Scalars['UUID']>;\n /** Checks for equality with the object’s `updatedDate` field. */\n updatedDate?: Maybe<Scalars['Datetime']>;\n /** Checks for equality with the object’s `updatedUser` field. */\n updatedUser?: Maybe<Scalars['String']>;\n};\n\n/** A filter to be used against `UserProfile` object types. All fields are combined with a logical ‘and.’ */\nexport type UserProfileFilter = {\n /** Checks for all expressions in this list. */\n and?: Maybe<Array<UserProfileFilter>>;\n /** Filter by the object’s `createdDate` field. */\n createdDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `createdUser` field. */\n createdUser?: Maybe<StringFilter>;\n /** Filter by the object’s `defaultProfile` field. */\n defaultProfile?: Maybe<BooleanFilter>;\n /** Filter by the object’s `displayName` field. */\n displayName?: Maybe<StringFilter>;\n /** Filter by the object’s `environmentId` field. */\n environmentId?: Maybe<UuidFilter>;\n /** Filter by the object’s `id` field. */\n id?: Maybe<UuidFilter>;\n /** Negates the expression. */\n not?: Maybe<UserProfileFilter>;\n /** Checks for any expressions in this list. */\n or?: Maybe<Array<UserProfileFilter>>;\n /** Filter by the object’s `profilePictureUrl` field. */\n profilePictureUrl?: Maybe<StringFilter>;\n /** Filter by the object’s `tenantId` field. */\n tenantId?: Maybe<UuidFilter>;\n /** Filter by the object’s `updatedDate` field. */\n updatedDate?: Maybe<DatetimeFilter>;\n /** Filter by the object’s `updatedUser` field. */\n updatedUser?: Maybe<StringFilter>;\n};\n\n/** An input for mutations affecting `UserProfile` */\nexport type UserProfileInput = {\n displayName: Scalars['String'];\n profilePictureUrl?: Maybe<Scalars['String']>;\n};\n\n/** Represents an update to a `UserProfile`. Fields that are set will be updated. */\nexport type UserProfilePatch = {\n displayName?: Maybe<Scalars['String']>;\n profilePictureUrl?: Maybe<Scalars['String']>;\n};\n\n/** A connection to a list of `UserProfile` values. */\nexport type UserProfilesConnection = {\n __typename?: 'UserProfilesConnection';\n /** A list of edges which contains the `UserProfile` and cursor to aid in pagination. */\n edges: Array<UserProfilesEdge>;\n /** A list of `UserProfile` objects. */\n nodes: Array<UserProfile>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `UserProfile` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `UserProfile` edge in the connection. */\nexport type UserProfilesEdge = {\n __typename?: 'UserProfilesEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `UserProfile` at the end of the edge. */\n node: UserProfile;\n};\n\n/** Methods to use when ordering `UserProfile`. */\nexport enum UserProfilesOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n DEFAULT_PROFILE_ASC = 'DEFAULT_PROFILE_ASC',\n DEFAULT_PROFILE_DESC = 'DEFAULT_PROFILE_DESC',\n DISPLAY_NAME_ASC = 'DISPLAY_NAME_ASC',\n DISPLAY_NAME_DESC = 'DISPLAY_NAME_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n NATURAL = 'NATURAL',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n PROFILE_PICTURE_URL_ASC = 'PROFILE_PICTURE_URL_ASC',\n PROFILE_PICTURE_URL_DESC = 'PROFILE_PICTURE_URL_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n/** A connection to a list of `User` values. */\nexport type UsersConnection = {\n __typename?: 'UsersConnection';\n /** A list of edges which contains the `User` and cursor to aid in pagination. */\n edges: Array<UsersEdge>;\n /** A list of `User` objects. */\n nodes: Array<User>;\n /** Information to aid in pagination. */\n pageInfo: PageInfo;\n /** The count of *all* `User` you could get from the connection. */\n totalCount: Scalars['Int'];\n};\n\n/** A `User` edge in the connection. */\nexport type UsersEdge = {\n __typename?: 'UsersEdge';\n /** A cursor for use in pagination. */\n cursor?: Maybe<Scalars['Cursor']>;\n /** The `User` at the end of the edge. */\n node: User;\n};\n\n/** Methods to use when ordering `User`. */\nexport enum UsersOrderBy {\n CREATED_DATE_ASC = 'CREATED_DATE_ASC',\n CREATED_DATE_DESC = 'CREATED_DATE_DESC',\n CREATED_USER_ASC = 'CREATED_USER_ASC',\n CREATED_USER_DESC = 'CREATED_USER_DESC',\n EMAIL_ASC = 'EMAIL_ASC',\n EMAIL_DESC = 'EMAIL_DESC',\n ENABLED_ASC = 'ENABLED_ASC',\n ENABLED_DESC = 'ENABLED_DESC',\n ENVIRONMENT_ID_ASC = 'ENVIRONMENT_ID_ASC',\n ENVIRONMENT_ID_DESC = 'ENVIRONMENT_ID_DESC',\n ID_ASC = 'ID_ASC',\n ID_DESC = 'ID_DESC',\n LAST_ACTIVE_AT_ASC = 'LAST_ACTIVE_AT_ASC',\n LAST_ACTIVE_AT_DESC = 'LAST_ACTIVE_AT_DESC',\n LOGIN_COUNT_ASC = 'LOGIN_COUNT_ASC',\n LOGIN_COUNT_DESC = 'LOGIN_COUNT_DESC',\n NAME_ASC = 'NAME_ASC',\n NAME_DESC = 'NAME_DESC',\n NATURAL = 'NATURAL',\n PHONE_ASC = 'PHONE_ASC',\n PHONE_DESC = 'PHONE_DESC',\n PRIMARY_KEY_ASC = 'PRIMARY_KEY_ASC',\n PRIMARY_KEY_DESC = 'PRIMARY_KEY_DESC',\n TENANT_ID_ASC = 'TENANT_ID_ASC',\n TENANT_ID_DESC = 'TENANT_ID_DESC',\n UPDATED_DATE_ASC = 'UPDATED_DATE_ASC',\n UPDATED_DATE_DESC = 'UPDATED_DATE_DESC',\n UPDATED_USER_ASC = 'UPDATED_USER_ASC',\n UPDATED_USER_DESC = 'UPDATED_USER_DESC'\n}\n\n\n/** A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ */\nexport type UuidFilter = {\n /** Not equal to the specified value, treating null like an ordinary value. */\n distinctFrom?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value. */\n equalTo?: Maybe<Scalars['UUID']>;\n /** Greater than the specified value. */\n greaterThan?: Maybe<Scalars['UUID']>;\n /** Greater than or equal to the specified value. */\n greaterThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Included in the specified list. */\n in?: Maybe<Array<Scalars['UUID']>>;\n /** Is null (if `true` is specified) or is not null (if `false` is specified). */\n isNull?: Maybe<Scalars['Boolean']>;\n /** Less than the specified value. */\n lessThan?: Maybe<Scalars['UUID']>;\n /** Less than or equal to the specified value. */\n lessThanOrEqualTo?: Maybe<Scalars['UUID']>;\n /** Equal to the specified value, treating null like an ordinary value. */\n notDistinctFrom?: Maybe<Scalars['UUID']>;\n /** Not equal to the specified value. */\n notEqualTo?: Maybe<Scalars['UUID']>;\n /** Not included in the specified list. */\n notIn?: Maybe<Array<Scalars['UUID']>>;\n};\n\nexport type SetActiveProfileMutationVariables = Exact<{\n profileId: Scalars['UUID'];\n}>;\n\n\nexport type SetActiveProfileMutation = (\n { __typename?: 'Mutation' }\n & { setActiveProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n);\n\nexport type GetUserProfileQueryVariables = Exact<{\n profileId: Scalars['UUID'];\n}>;\n\n\nexport type GetUserProfileQuery = (\n { __typename?: 'Query' }\n & { userProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n);\n\nexport type GetUserProfilesQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetUserProfilesQuery = (\n { __typename?: 'Query' }\n & { userProfiles?: Maybe<(\n { __typename?: 'UserProfilesConnection' }\n & { nodes: Array<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n )> }\n);\n\nexport type CreateUserProfileMutationVariables = Exact<{\n input: CreateUserProfileInput;\n}>;\n\n\nexport type CreateUserProfileMutation = (\n { __typename?: 'Mutation' }\n & { createUserProfile?: Maybe<(\n { __typename?: 'CreateUserProfilePayload' }\n & { userProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n )> }\n);\n\nexport type UpdateUserProfileMutationVariables = Exact<{\n input: UpdateUserProfileInput;\n}>;\n\n\nexport type UpdateUserProfileMutation = (\n { __typename?: 'Mutation' }\n & { updateUserProfile?: Maybe<(\n { __typename?: 'UpdateUserProfilePayload' }\n & { userProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n )> }\n);\n\nexport type DeleteUserProfileMutationVariables = Exact<{\n input: DeleteUserProfileInput;\n}>;\n\n\nexport type DeleteUserProfileMutation = (\n { __typename?: 'Mutation' }\n & { deleteUserProfile?: Maybe<(\n { __typename?: 'DeleteUserProfilePayload' }\n & { userProfile?: Maybe<(\n { __typename?: 'UserProfile' }\n & Pick<UserProfile, 'id' | 'displayName' | 'defaultProfile' | 'profilePictureUrl'>\n )> }\n )> }\n);\n\n\nexport const SetActiveProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"SetActiveProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UUID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"setActiveProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]} as unknown as DocumentNode<SetActiveProfileMutation, SetActiveProfileMutationVariables>;\nexport const GetUserProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetUserProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UUID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"profileId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]} as unknown as DocumentNode<GetUserProfileQuery, GetUserProfileQueryVariables>;\nexport const GetUserProfilesDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetUserProfiles\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfiles\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]}}]} as unknown as DocumentNode<GetUserProfilesQuery, GetUserProfilesQueryVariables>;\nexport const CreateUserProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateUserProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateUserProfileInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createUserProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfile\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]}}]} as unknown as DocumentNode<CreateUserProfileMutation, CreateUserProfileMutationVariables>;\nexport const UpdateUserProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserProfileInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateUserProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfile\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]}}]} as unknown as DocumentNode<UpdateUserProfileMutation, UpdateUserProfileMutationVariables>;\nexport const DeleteUserProfileDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteUserProfile\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteUserProfileInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteUserProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userProfile\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultProfile\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePictureUrl\"}}]}}]}}]}}]} as unknown as DocumentNode<DeleteUserProfileMutation, DeleteUserProfileMutationVariables>;","import { stringifyGqlQuery } from '../common/stringify-gql-query';\nimport {\n UserProfileActivateResponse,\n UserProfileCreateResponse,\n UserProfileDeleteResponse,\n UserProfileResponse,\n UserProfilesResponse,\n UserProfileUpdateInput,\n UserProfileUpdateResponse,\n} from '../common/types';\nimport {\n CreateUserProfileDocument,\n CreateUserProfileMutationVariables,\n DeleteUserProfileDocument,\n DeleteUserProfileMutationVariables,\n GetUserProfileDocument,\n GetUserProfileQueryVariables,\n GetUserProfilesDocument,\n SetActiveProfileDocument,\n SetActiveProfileMutationVariables,\n UpdateUserProfileDocument,\n UpdateUserProfileMutationVariables,\n} from '../generated/user-service-end-user-graphql.types';\n\nexport const setActiveProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n profileId: string,\n): Promise<UserProfileActivateResponse> => {\n const variables: SetActiveProfileMutationVariables = {\n profileId,\n };\n\n const activeUserProfile = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(SetActiveProfileDocument, variables),\n })\n ).json();\n\n if (activeUserProfile.errors === undefined) {\n return {\n code: 'SUCCESS',\n };\n } else {\n return {\n code: 'ERROR',\n message: activeUserProfile.errors[0].message,\n };\n }\n};\n\nexport const getUserProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n profileId: string,\n): Promise<UserProfileResponse> => {\n const variables: GetUserProfileQueryVariables = {\n profileId,\n };\n\n const userProfileResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(GetUserProfileDocument, variables),\n })\n ).json();\n\n if (userProfileResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n userProfile: userProfileResponse.data.userProfile,\n };\n } else {\n return {\n code: 'ERROR',\n message: userProfileResponse.errors[0].message,\n };\n }\n};\n\nexport const getUserProfiles = async (\n userServiceBaseUrl: string,\n accessToken: string,\n): Promise<UserProfilesResponse> => {\n const userProfilesResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(GetUserProfilesDocument),\n })\n ).json();\n\n if (userProfilesResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n userProfiles: userProfilesResponse.data.userProfiles.nodes,\n };\n } else {\n return {\n code: 'ERROR',\n message: userProfilesResponse.errors[0].message,\n };\n }\n};\n\nexport const createUserProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n displayName: string,\n profilePictureUrl: string,\n): Promise<UserProfileCreateResponse> => {\n const variables: CreateUserProfileMutationVariables = {\n input: {\n userProfile: {\n displayName: displayName,\n profilePictureUrl: profilePictureUrl === '' ? null : profilePictureUrl,\n },\n },\n };\n\n const createUserProfileResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(CreateUserProfileDocument, variables),\n })\n ).json();\n\n if (createUserProfileResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n createdUserProfile:\n createUserProfileResponse.data.createUserProfile.userProfile,\n };\n } else {\n return {\n code: 'ERROR',\n message: createUserProfileResponse.errors[0].message,\n };\n }\n};\n\n/**\n * Updates a user profile\n * @param userProfileToUpdate User Profile object with required updates. This should be based on the current user profile object, with the required changes done on top of it.\n * @returns\n */\nexport const updateUserProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n userProfileToUpdate: UserProfileUpdateInput,\n): Promise<UserProfileUpdateResponse> => {\n const variables: UpdateUserProfileMutationVariables = {\n input: {\n id: userProfileToUpdate.id,\n patch: {\n displayName: userProfileToUpdate.displayName,\n profilePictureUrl:\n userProfileToUpdate.profilePictureUrl === ''\n ? null\n : userProfileToUpdate.profilePictureUrl,\n },\n },\n };\n\n const updateUserProfileResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(UpdateUserProfileDocument, variables),\n })\n ).json();\n\n if (updateUserProfileResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n updatedUserProfile:\n updateUserProfileResponse.data.updateUserProfile.userProfile,\n };\n } else {\n return {\n code: 'ERROR',\n message: updateUserProfileResponse.errors[0].message,\n };\n }\n};\n\nexport const deleteUserProfile = async (\n userServiceBaseUrl: string,\n accessToken: string,\n userProfileId: string,\n): Promise<UserProfileDeleteResponse> => {\n const variables: DeleteUserProfileMutationVariables = {\n input: {\n id: userProfileId,\n },\n };\n\n const deleteUserProfileResponse = await (\n await fetch(`${userServiceBaseUrl}/graphql`, {\n method: 'POST',\n cache: 'no-cache',\n redirect: 'follow',\n referrerPolicy: 'origin',\n headers: {\n authorization: `Bearer ${accessToken}`,\n 'content-type': 'application/json',\n },\n body: stringifyGqlQuery(DeleteUserProfileDocument, variables),\n })\n ).json();\n\n if (deleteUserProfileResponse.errors === undefined) {\n return {\n code: 'SUCCESS',\n deletedUserProfile:\n deleteUserProfileResponse.data.deleteUserProfile.userProfile,\n };\n } else {\n return {\n code: 'ERROR',\n message: deleteUserProfileResponse.errors[0].message,\n };\n }\n};\n","import {\n CheckOtpResponseCode,\n CheckPasswordResetOtpResponse,\n CheckUserSignUpOtpResponse,\n CompletePasswordResetResponse,\n CompleteUserSignUpResponse,\n CompleteUserSignUpResponseCode,\n DecryptNativeCookieResponse,\n IdpConfiguration,\n InitiatePasswordResetResponse,\n ResetPasswordResponseCode,\n SignInResponse,\n SignInResponseCode,\n TokenResponseCode,\n UserSignUpResponse,\n UserSignUpResponseCode,\n} from '@axinom/mosaic-user-auth-utils';\nimport {\n CheckEndUserPasswordResetOtpInput,\n CheckEndUserSignUpOtpInput,\n CompleteEndUserPasswordResetInput,\n CompleteEndUserSignUpInput,\n InitiateEndUserSignUpInput,\n} from 'generated/ax-auth-management-graphql.types';\nimport { AuthenticateEndUserApplicationInput } from 'generated/user-service-management-graphql.types';\nimport { ensureError } from '../common/ensure-error';\nimport { TokenRenewalMethod } from '../common/enums';\nimport {\n AuthenticateEndUserApplicationResponse,\n SignInRequest,\n SignInWithCredentialsEndpointResponse,\n TokenChangedCallback,\n TokenResponse,\n UserAuthConfig,\n UserProfileActivateResponse,\n UserProfileCreateResponse,\n UserProfileDeleteResponse,\n UserProfileResponse,\n UserProfileUpdateInput,\n UserProfileUpdateResponse,\n UserProfilesResponse,\n UserServiceConfig,\n} from '../common/types';\nimport { UserAuthError } from '../common/user-auth-error';\nimport * as endUserApplicationUtil from '../util/endUserApplication';\nimport * as userAuthUtil from '../util/userAuth';\nimport {\n decryptNativeCookie,\n getAuthUrl,\n getNativeAuthUrl,\n} from '../util/userAuth';\nimport * as userProfileUtil from '../util/userProfile';\n\n/**\n * This is the duration in seconds which we will either nullify the token (when using ON_DEMAND renewal method) or\n * fetch a new token from the API (when using the PRE_EMPTIVE renewal method)\n *\n * The token will be changed on (actualExpirationTimeInSeconds - inAdvanceTokenRenewalDurationInSeconds)\n */\nconst inAdvanceTokenRenewalDurationInSeconds = 30;\n\nexport interface IUserServiceClient {\n isDirectSignInConfigured(): Promise<boolean>;\n\n signInWithCredentials(signInRequest: SignInRequest): Promise<SignInResponse>;\n\n initiateUserSignUp(\n userSignUpRequest: Omit<InitiateEndUserSignUpInput, 'oAuthClientId'>,\n ): Promise<UserSignUpResponse>;\n\n checkUserSignUpOTP(\n checkUserSignUpOtpRequest: CheckEndUserSignUpOtpInput,\n ): Promise<CheckUserSignUpOtpResponse>;\n\n completeUserSignUp(\n completeUserSignUpRequest: CompleteEndUserSignUpInput,\n ): Promise<CompleteUserSignUpResponse>;\n\n initiateResetPassword(\n email: string,\n customData?: Record<string, unknown>,\n ): Promise<InitiatePasswordResetResponse>;\n\n checkResetPasswordOTP(\n checkPasswordResetOtpRequest: CheckEndUserPasswordResetOtpInput,\n ): Promise<CheckPasswordResetOtpResponse>;\n\n completeResetPassword(\n completePasswordResetRequest: CompleteEndUserPasswordResetInput,\n ): Promise<CompletePasswordResetResponse>;\n\n getToken(): Promise<TokenResponse>;\n\n addTokenChangedHandler(callback: TokenChangedCallback): void;\n\n removeTokenChangedHandler(callback: TokenChangedCallback): void;\n\n getIdpConfigurations(): Promise<IdpConfiguration[]>;\n\n logoutUser(): Promise<boolean>;\n\n setActiveProfile(\n endUserAccessToken: string,\n profileId: string,\n ): Promise<UserProfileActivateResponse>;\n\n getUserProfile(\n endUserAccessToken: string,\n profileId: string,\n ): Promise<UserProfileResponse>;\n\n getUserProfiles(endUserAccessToken: string): Promise<UserProfilesResponse>;\n\n createUserProfile(\n endUserAccessToken: string,\n displayName: string,\n profilePictureUrl?: string,\n ): Promise<UserProfileCreateResponse>;\n\n updateUserProfile(\n endUserAccessToken: string,\n userProfileToUpdate: UserProfileUpdateInput,\n ): Promise<UserProfileUpdateResponse>;\n\n deleteUserProfile(\n endUserAccessToken: string,\n userProfileId: string,\n ): Promise<UserProfileDeleteResponse>;\n\n authenticateEndUserApplication(\n authenticateEndUserApplicationRequest: AuthenticateEndUserApplicationInput,\n ): Promise<AuthenticateEndUserApplicationResponse>;\n\n decryptNativeCookie(\n encryptedCookie: string,\n key: string,\n ): Promise<DecryptNativeCookieResponse>;\n\n getAuthUrl(idpConnectionId: string, redirectUrl: string): URL;\n\n getNativeAuthUrl(\n idpConnectionId: string,\n redirectUri: string,\n encryptionKey: string,\n ): URL;\n}\n\nexport class UserServiceClient implements IUserServiceClient {\n private _tokenChangedHandlers: TokenChangedCallback[] = [];\n private _tokenResponse: TokenResponse | null = null;\n private _signInWithCredentialsEndpointResponse:\n | SignInWithCredentialsEndpointResponse\n | undefined = undefined;\n private _axAuthIdpConfig: IdpConfiguration | null | undefined = undefined;\n\n /**\n * Creates a user service client. For performance reasons there should only be a single client instance created by an application\n * @param userAuthConfig Configuration values for the user service auth API\n * @param userServiceConfig Configuration values for the user service API\n * @param tokenRenewalMethod Token renewal method to use\n */\n constructor(\n private userAuthConfig: UserAuthConfig,\n private userServiceConfig: UserServiceConfig,\n private tokenRenewalMethod: TokenRenewalMethod = TokenRenewalMethod.ON_DEMAND,\n ) {}\n\n private get tokenResponse(): TokenResponse | null {\n return this._tokenResponse;\n }\n\n private set tokenResponse(value: TokenResponse | null) {\n this._tokenResponse = value;\n if (value !== null) {\n // In case the token is just nulled (e.g. by the setTimeout that clears the token once it's about to expire)\n // we won't emit the token changed event. So the user will not be considered logged out\n this.emitTokenChanged(value);\n }\n }\n\n private emitTokenChanged = (token: TokenResponse | null): void => {\n this._tokenChangedHandlers.forEach((handler) => handler(token));\n };\n\n private getAxAuthIdpConfig = async (): Promise<IdpConfiguration | null> => {\n // If _axAuthIdpConfig is not fetched previously, retrieve it.\n if (this._axAuthIdpConfig === undefined) {\n const idpConfigurations = await userAuthUtil.getIdpConfigurations(\n this.userAuthConfig,\n );\n\n const axAuthConfig = idpConfigurations.find(\n (idpConfig) => idpConfig.providerId === 'AX_AUTH',\n );\n\n if (axAuthConfig !== undefined) {\n this._axAuthIdpConfig = axAuthConfig;\n } else {\n this._axAuthIdpConfig = null;\n }\n }\n return this._axAuthIdpConfig;\n };\n\n private getSignInWithCredentialsEndpoints =\n async (): Promise<SignInWithCredentialsEndpointResponse> => {\n // If _signInWithCredentialsEndpointResponse is not fetched previously, retrieve it by calling the well-known endpoint of ax-user-service.\n if (this._signInWithCredentialsEndpointResponse === undefined) {\n const endpoints = await userAuthUtil.getWellKnownEndpoints(\n this.userAuthConfig,\n );\n this._signInWithCredentialsEndpointResponse = {\n code: 'SUCCESS',\n managementEndpoint: endpoints.axAuthManagementGQL,\n authEndpoint: endpoints.axAuthEndpoint,\n };\n }\n return this._signInWithCredentialsEndpointResponse;\n };\n\n /**\n * Returns a new token by invoking the User API\n */\n private fetchToken = async (): Promise<TokenResponse> => {\n try {\n const userToken = await userAuthUtil.fetchUserToken(this.userAuthConfig);\n const userProfileResponse = await userProfileUtil.getUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n userToken.accessToken,\n userToken.profileId,\n );\n return {\n code: TokenResponseCode.SUCCESS,\n userToken,\n userProfile: userProfileResponse.userProfile,\n nextTokenRenewalAt: new Date(\n Date.now() +\n (userToken.expiresInSeconds -\n inAdvanceTokenRenewalDurationInSeconds) *\n 1000,\n ),\n };\n } catch (error) {\n return {\n code: (error as UserAuthError).code as TokenResponseCode,\n message: (error as UserAuthError).message,\n };\n }\n };\n\n // This is set to true when the token is being pre-emptively refreshed in `recursivelyRefreshToken` method.\n // It avoids `setTimeout` from being called multiple times.\n private _recursiveRefreshActive = false;\n\n /**\n * Renews the token pre-emptively by recursively refreshing the cached token just before it's expiry\n */\n private recursivelyRefreshToken = async (): Promise<void> => {\n if (\n this.tokenResponse?.userToken !== undefined &&\n this._recursiveRefreshActive === false\n ) {\n this._recursiveRefreshActive = true;\n setTimeout(async () => {\n this._recursiveRefreshActive = false;\n this.tokenResponse = await this.fetchToken();\n await this.recursivelyRefreshToken();\n }, (this.tokenResponse.userToken.expiresInSeconds - inAdvanceTokenRenewalDurationInSeconds) * 1000);\n }\n };\n\n /**\n * A utility function which can be used to determine if there exists an `AxAuth` IDP configured for the Mosaic application.\n * Based on the outcome of this function, an end-user application can conditionally offer the option to Sign-In directly\n * via email & password.\n *\n * @see {@link signInWithCredentials}\n *\n * @returns a boolean indicating if the Mosaic application has an AxAuth IDP provider configured and it is enabled.\n */\n isDirectSignInConfigured = async (): Promise<boolean> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n return axAuthIdpConfig !== null;\n };\n\n /**\n * Starts a SignInWithCredentials flow using the AX_AUTH IDP configured for the application.\n *\n * @param signInRequest\n * @returns `SignInResponse`\n */\n signInWithCredentials = async (\n signInRequest: SignInRequest,\n ): Promise<SignInResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n if (axAuthIdpConfig !== null) {\n const result = await userAuthUtil.performSignInWithCredentials(\n this.userAuthConfig,\n axAuthIdpConfig.idpConnectionId,\n signInRequest,\n );\n return result;\n } else {\n return {\n code: SignInResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured for sign in with credentials.',\n };\n }\n };\n\n /**\n * Registers a new user in the AX_AUTH IDP configured for the application.\n *\n * @param userSignUpRequest\n * @returns `UserSignUpResponse`\n */\n initiateUserSignUp = async (\n userSignUpRequest: Omit<InitiateEndUserSignUpInput, 'oAuthClientId'>,\n ): Promise<UserSignUpResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (\n axAuthIdpConfig !== null &&\n axAuthIdpConfig.clientId !== null &&\n signInWithCredentialsEndpoints.managementEndpoint !== undefined\n ) {\n const signUpRequest: InitiateEndUserSignUpInput = {\n ...userSignUpRequest,\n oAuthClientId: axAuthIdpConfig.clientId,\n };\n const result = await userAuthUtil.initiateUserSignUp(\n signUpRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: UserSignUpResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured for user sign-up.',\n };\n }\n };\n\n /**\n * Checks if a given User Sign-Up OTP Code is valid\n *\n * @param checkUserSignUpOtpRequest\n * @returns `CheckUserSignUpOtpResponse`\n */\n checkUserSignUpOTP = async (\n checkUserSignUpOtpRequest: CheckEndUserSignUpOtpInput,\n ): Promise<CheckUserSignUpOtpResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (\n axAuthIdpConfig !== null &&\n axAuthIdpConfig.clientId !== null &&\n signInWithCredentialsEndpoints.managementEndpoint !== undefined\n ) {\n const result = await userAuthUtil.checkUserSignUpOtp(\n checkUserSignUpOtpRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: CheckOtpResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured for user sign-up.',\n };\n }\n };\n\n /**\n * Completes a user sign up process using the AX_AUTH IDP.\n * The user needs to input the OTP along with a password (if not provided earlier) to finish the process.\n *\n * @param originUrl\n * @param completeUserSignUpRequest\n * @returns\n */\n completeUserSignUp = async (\n completeUserSignUpRequest: CompleteEndUserSignUpInput,\n ): Promise<CompleteUserSignUpResponse> => {\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (signInWithCredentialsEndpoints.managementEndpoint !== undefined) {\n const result = await userAuthUtil.completeUserSignUp(\n completeUserSignUpRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: CompleteUserSignUpResponseCode.SERVICE_CONFIGURATION_ERROR,\n message:\n 'No IDP has been configured to handle user sign-up verification.',\n };\n }\n };\n\n /**\n * Starts the process of resetting a password for a user registered using the AX_AUTH IDP.\n * This will initiate the call to the webhook configured in AX_AUTH to send the generated OTP\n * to the user.\n *\n * @param email\n * @param customData An optional arbitrary JSON object. When used, this customData will be submitted to the Forgot Password Webhook via the HTTP POST request body, and can be used to transfer some needed context to the Webhook.\n * @returns `InitiatePasswordResetResponse`\n */\n initiateResetPassword = async (\n email: string,\n customData?: Record<string, unknown>,\n ): Promise<InitiatePasswordResetResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (\n axAuthIdpConfig !== null &&\n axAuthIdpConfig.clientId !== null &&\n signInWithCredentialsEndpoints.managementEndpoint !== undefined\n ) {\n const result = await userAuthUtil.initiatePasswordReset(\n email,\n axAuthIdpConfig.clientId,\n signInWithCredentialsEndpoints.managementEndpoint,\n customData,\n );\n return result;\n } else {\n return {\n code: ResetPasswordResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured to handle password reset.',\n };\n }\n };\n\n /**\n * Checks if a given Reset Password OTP Code is valid\n *\n * @param checkPasswordResetOtpRequest\n * @returns `CheckPasswordResetOtpResponse`\n */\n checkResetPasswordOTP = async (\n checkPasswordResetOtpRequest: CheckEndUserPasswordResetOtpInput,\n ): Promise<CheckPasswordResetOtpResponse> => {\n const axAuthIdpConfig = await this.getAxAuthIdpConfig();\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (\n axAuthIdpConfig !== null &&\n axAuthIdpConfig.clientId !== null &&\n signInWithCredentialsEndpoints.managementEndpoint !== undefined\n ) {\n const result = await userAuthUtil.checkPasswordResetOtp(\n checkPasswordResetOtpRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: CheckOtpResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured for user sign-up.',\n };\n }\n };\n\n /**\n * Completes the password reset flow for a user registered using the AX_AUTH IDP.\n * The user needs to input the OTP along with a new password to finish the process.\n *\n * @param completePasswordResetRequest\n * @returns\n */\n completeResetPassword = async (\n completePasswordResetRequest: CompleteEndUserPasswordResetInput,\n ): Promise<CompletePasswordResetResponse> => {\n const signInWithCredentialsEndpoints =\n await this.getSignInWithCredentialsEndpoints();\n if (signInWithCredentialsEndpoints.managementEndpoint !== undefined) {\n const result = await userAuthUtil.completePasswordReset(\n completePasswordResetRequest,\n signInWithCredentialsEndpoints.managementEndpoint,\n );\n return result;\n } else {\n return {\n code: ResetPasswordResponseCode.SERVICE_CONFIGURATION_ERROR,\n message: 'No IDP has been configured to handle password reset.',\n };\n }\n };\n\n /**\n * Returns a token. The method will ensure to avoid unnecessary API calls by caching valid tokens.\n *\n * It is not recommended to remember the token for later use.\n * When in need of a token, please call this method to get a new token.\n */\n getToken = async (): Promise<TokenResponse> => {\n // Set token response to null if the token has expired.\n if (\n this.tokenResponse !== null &&\n (this.tokenResponse.userToken?.expiresAt === undefined ||\n this.tokenResponse.userToken.expiresAt <= new Date(Date.now()))\n ) {\n this.tokenResponse = null;\n }\n if (this.tokenResponse !== null && this.tokenResponse.code === 'SUCCESS') {\n // We already have a valid token\n return Promise.resolve(this.tokenResponse);\n }\n\n this.tokenResponse = await this.fetchToken();\n\n if (this.tokenResponse.userToken !== undefined) {\n if (this.tokenRenewalMethod === TokenRenewalMethod.PRE_EMPTIVE) {\n // Renew the token pre-emptively\n await this.recursivelyRefreshToken();\n }\n }\n return this.tokenResponse;\n };\n\n /**\n * Adds an event handler that will be invoked whenever a new token response is loaded from the backend\n *\n */\n addTokenChangedHandler = (callback: TokenChangedCallback): void => {\n this._tokenChangedHandlers.push(callback);\n };\n\n /**\n * Removes an event handler for the TokenChanged event\n */\n removeTokenChangedHandler = (callback: TokenChangedCallback): void => {\n this._tokenChangedHandlers = this._tokenChangedHandlers.filter(\n (c) => c !== callback,\n );\n };\n\n /**\n * Returns an array of IDP Configurations that are configured for the application\n * This list will exclude connections for provider id AX_AUTH as it is used for a user sign-up and SignInWithCredentials flows.\n *\n */\n getIdpConfigurations = async (): Promise<IdpConfiguration[]> => {\n // Extract the IDP Configuration for AX_AUTH and remove it from the ID Providers list.\n const idpConfigurations = (\n await userAuthUtil.getIdpConfigurations(this.userAuthConfig)\n ).filter((idpConfig) => idpConfig.providerId !== 'AX_AUTH');\n return idpConfigurations;\n };\n\n /**\n * Logs out the user\n */\n logoutUser = async (): Promise<boolean> => {\n this.tokenResponse = null;\n\n // We want the user to be considered logged out, so we emit the TokenChanged here using 'null'\n this.emitTokenChanged(null);\n\n return userAuthUtil.logoutUser(this.userAuthConfig);\n };\n\n /**\n * Sets a given Profile ID as the active profile\n */\n setActiveProfile = async (\n endUserAccessToken: string,\n profileId: string,\n ): Promise<UserProfileActivateResponse> => {\n try {\n const result = await userProfileUtil.setActiveProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n profileId,\n );\n\n // current token is invalid now since the active profile has changed\n // we clear the current token response here so that the next call will retrieve a new token\n this.tokenResponse = null;\n\n return result;\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Returns a user profile\n */\n getUserProfile = async (\n endUserAccessToken: string,\n profileId: string,\n ): Promise<UserProfileResponse> => {\n try {\n return userProfileUtil.getUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n profileId,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Returns an array of all user profiles\n */\n getUserProfiles = async (\n endUserAccessToken: string,\n ): Promise<UserProfilesResponse> => {\n try {\n return userProfileUtil.getUserProfiles(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Creates a new user profile\n */\n createUserProfile = async (\n endUserAccessToken: string,\n displayName: string,\n profilePictureUrl: string,\n ): Promise<UserProfileCreateResponse> => {\n try {\n return userProfileUtil.createUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n displayName,\n profilePictureUrl,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Updates a user profile\n * @param userProfileToUpdate User Profile object with required updates. This should be based on the current user profile object, with the required changes done on top of it.\n */\n updateUserProfile = async (\n endUserAccessToken: string,\n userProfileToUpdate: UserProfileUpdateInput,\n ): Promise<UserProfileUpdateResponse> => {\n try {\n return userProfileUtil.updateUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n userProfileToUpdate,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message, details: { error } };\n }\n };\n\n /**\n * Deletes a user profile\n */\n deleteUserProfile = async (\n endUserAccessToken: string,\n userProfileId: string,\n ): Promise<UserProfileDeleteResponse> => {\n try {\n return userProfileUtil.deleteUserProfile(\n this.userServiceConfig.userServiceBaseUrl,\n endUserAccessToken,\n userProfileId,\n );\n } catch (e) {\n const error = ensureError(e);\n return { code: 'ERROR', message: error.message };\n }\n };\n\n /**\n * Authenticate an end-user application and receive an Application Token\n * @param authenticateEndUserApplicationRequest an object containing the tenantId/environmentId/applicationId/applicationKey info.\n * @returns AuthenticateEndUserApplicationResponse\n */\n authenticateEndUserApplication = async (\n authenticateEndUserApplicationRequest: AuthenticateEndUserApplicationInput,\n ): Promise<AuthenticateEndUserApplicationResponse> => {\n return endUserApplicationUtil.authenticateEndUserApplication(\n authenticateEndUserApplicationRequest,\n this.userServiceConfig.userServiceBaseUrl,\n );\n };\n\n /**\n * Decrypt an User Token Cookie used in Native Apps.\n * @param encryptedCookie\n * @param key\n * @returns\n */\n decryptNativeCookie = async (\n encryptedCookie: string,\n key: string,\n ): Promise<DecryptNativeCookieResponse> => {\n return decryptNativeCookie(\n encryptedCookie,\n key,\n `${this.userServiceConfig.userServiceBaseUrl}/graphql-management`,\n );\n };\n\n /**\n * Returns the authentication URL for web based applications.\n *\n * @param idpConnectionId The ID of the User Service IDP Connection used for authentication.\n * @param returnUrl Redirect URL which the IDP will redirect to after the authentication flow is finished.\n * @returns a URL object with the Authentication URL\n */\n getAuthUrl = (idpConnectionId: string, returnUrl: string): URL => {\n return getAuthUrl(this.userAuthConfig, idpConnectionId, returnUrl);\n };\n\n /**\n * Returns the authentication URL for native applications.\n *\n * @param idpConnectionId The ID of the User Service IDP Connection used for authentication.\n * @param returnUrl Redirect URL which the IDP will redirect to after the authentication flow is finished.\n * @param encryptionKey A hex string with the length of 32 bytes that is used as the encryption key to encrypt the authorization Cookie.\n * @returns a URL object with the Authentication URL\n */\n getNativeAuthUrl = (\n idpConnectionId: string,\n returnUrl: string,\n encryptionKey: string,\n ): URL => {\n const authUrl = getNativeAuthUrl(\n this.userAuthConfig,\n idpConnectionId,\n returnUrl,\n encryptionKey,\n );\n return authUrl;\n };\n}\n","import * as React from 'react';\nimport { createContext, useContext } from 'react';\nimport { TokenRenewalMethod } from '../common/enums';\nimport { UserAuthConfig, UserServiceConfig } from '../common/types';\nimport {\n IUserServiceClient,\n UserServiceClient,\n} from '../UserServiceClient/UserServiceClient';\n\nexport const UserServiceContext = createContext<IUserServiceClient | null>(\n null,\n);\n\nexport interface UserServiceProviderProps {\n /**\n * Configuration values for the user service auth API\n */\n userAuthConfig: UserAuthConfig;\n\n /**\n * Configuration values for the user service API\n */\n userServiceConfig: UserServiceConfig;\n\n /**\n * Token renewal method to use. Tokens can be renewed pre-emptively or on demand. Default token renewal method is on demand.\n */\n tokenRenewalMethod?: TokenRenewalMethod;\n}\n\n/**\n * Provides the User Service Client that can be retrieved using the `useUserService` hook\n */\nexport const UserServiceProvider: React.FC<\n React.PropsWithChildren<UserServiceProviderProps>\n> = ({\n children,\n userAuthConfig,\n userServiceConfig,\n tokenRenewalMethod = TokenRenewalMethod.ON_DEMAND,\n}) => {\n const client = new UserServiceClient(\n userAuthConfig,\n userServiceConfig,\n tokenRenewalMethod,\n );\n\n return (\n <UserServiceContext.Provider value={client}>\n {children}\n </UserServiceContext.Provider>\n );\n};\n\n/**\n * Retrieves the User Service Client\n */\nexport const useUserService = (): IUserServiceClient => {\n const context = useContext(UserServiceContext);\n\n if (!context) {\n throw new Error(\n 'to use `useUserService` your component must be located within an <UserServiceProvider/>',\n );\n }\n\n return context;\n};\n"],"names":["enums_1","this","require$$0","require$$1","require$$2","nodejsCustomInspectSymbol","gqlPrint","ErrorCodesEnum","UserProfilesOrderBy","UsersOrderBy","AuthenticateEndUserApplicationResponseCode","UserSignUpResponseCode","CheckOtpResponseCode","CompleteUserSignUpResponseCode","ResetPasswordResponseCode","IdpConfigurationResponseCode","TokenResponseCode","SignOutResponseCode","DecryptNativeCookieResponseCode","userAuthUtil.getIdpConfigurations","userAuthUtil.getWellKnownEndpoints","userAuthUtil.fetchUserToken","userProfileUtil.getUserProfile","userAuthUtil.performSignInWithCredentials","SignInResponseCode","userAuthUtil.initiateUserSignUp","userAuthUtil.checkUserSignUpOtp","userAuthUtil.completeUserSignUp","userAuthUtil.initiatePasswordReset","userAuthUtil.checkPasswordResetOtp","userAuthUtil.completePasswordReset","userAuthUtil.logoutUser","userProfileUtil.setActiveProfile","userProfileUtil.getUserProfiles","userProfileUtil.createUserProfile","userProfileUtil.updateUserProfile","userProfileUtil.deleteUserProfile","endUserApplicationUtil.authenticateEndUserApplication"],"mappings":"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"}