var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { 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; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "../types/graphql.v2"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.searchNodes = exports.authorizedTargets = exports.authorizeResource = exports.listAuthorizedResources = exports.listNodeByCodeAuthorizedResources = exports.listNodeByIdAuthorizedResources = exports.listGroupAuthorizedResources = exports.listRoleAuthorizedResources = exports.listUserAuthorizedResources = exports.refreshAccessToken = exports.getAccessToken = exports.unbindEmail = exports.getUserGroups = exports.removeUserFromGroup = exports.addUserToGroup = exports.deleteGroups = exports.updateGroup = exports.createGroup = exports.groupWithUsersWithCustomData = exports.groupWithUsers = exports.group = exports.getGroups = exports.checkLoginStatus = exports.disablePolicyAssignment = exports.enablePolicyAssignment = exports.removePolicyAssignments = exports.addPolicyAssignments = exports.policyAssignments = exports.deletePolicies = exports.deletePolicy = exports.updatePolicy = exports.policy = exports.createPolicy = exports.policies = exports.deleteRoles = exports.deleteRole = exports.udf = exports.removeUdf = exports.setUdf = exports.removeUdv = exports.setUdfValueBatch = exports.setUdvBatch = exports.setUdv = exports.udfValueBatch = exports.udv = exports.addWhiteList = exports.removeWhiteList = exports.getWhiteList = exports.allow = exports.setMainDepartment = exports.getUserDepartments = exports.getUserRoles = exports.userBatchWithCustomData = exports.userBatch = exports.unbindPhone = exports.bindEmail = exports.bindPhone = exports.updateEmail = exports.updatePhone = exports.updatePassword = exports.isUserExists = exports.refreshToken = exports.removeMembers = exports.moveNode = exports.nodeById = exports.deleteNode = exports.updateNode = exports.addNode = exports.updateRole = exports.roleWithUsersWithCustomData = exports.roleWithUsers = exports.role = exports.roles = exports.deleteUsers = exports.deleteUser = exports.createUser = exports.findUserWithCustomData = exports.findUser = exports.searchUserWithCustomData = exports.searchUser = exports.updateUser = exports.updateUserpool = exports.archivedUsers = exports.usersWithCustomData = exports.users = exports.resetPasswordByFirstLoginToken = exports.resetPassword = exports.sendFirstLoginVerifyEmail = exports.sendEmail = exports.getMembersByCode = exports.getMembersById = exports.moveMembers = exports.addMember = exports.revokeRole = exports.assignRole = exports.addRole = exports.registerByPhoneCode = exports.registerByUsername = exports.loginBySubAccount = exports.loginByPhonePassword = exports.loginByPhoneCode = exports.loginByUsername = exports.loginByEmail = exports.registerByEmail = exports.checkPasswordStrength = exports.isDenied = exports.deleteOrg = exports.createOrg = exports.userWithCustomData = exports.user = exports.getUserPoolDetail = exports.orgs = exports.rootNode = exports.isRootNode = exports.org = exports.getChildrenNodes = exports.isAllowed = void 0; var graphql_v2_1 = require("../types/graphql.v2"); exports.isAllowed = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.IsActionAllowedDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.getChildrenNodes = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.ChildrenNodesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.org = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.OrgDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.isRootNode = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.IsRootNodeDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.rootNode = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RootNodeDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.orgs = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.OrgsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.getUserPoolDetail = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UserpoolDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.user = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UserDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.userWithCustomData = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UserWithCustomDataDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.createOrg = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.CreateOrgDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.deleteOrg = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DeleteOrgDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.isDenied = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.IsActionDeniedDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.checkPasswordStrength = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.CheckPasswordStrengthDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.registerByEmail = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RegisterByEmailDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.loginByEmail = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { query = graphql_v2_1.LoginByEmailDocument; token = tokenProvider.getToken(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; }); }); }; exports.loginByUsername = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { query = graphql_v2_1.LoginByUsernameDocument; token = tokenProvider.getToken(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; }); }); }; exports.loginByPhoneCode = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { query = graphql_v2_1.LoginByPhoneCodeDocument; token = tokenProvider.getToken(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; }); }); }; exports.loginByPhonePassword = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { query = graphql_v2_1.LoginByPhonePasswordDocument; token = tokenProvider.getToken(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; }); }); }; exports.loginBySubAccount = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { query = graphql_v2_1.LoginBySubAccountDocument; token = tokenProvider.getToken(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; }); }); }; exports.registerByUsername = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { query = graphql_v2_1.RegisterByUsernameDocument; token = tokenProvider.getToken(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; }); }); }; exports.registerByPhoneCode = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { query = graphql_v2_1.RegisterByPhoneCodeDocument; token = tokenProvider.getToken(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; }); }); }; exports.addRole = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.CreateRoleDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.assignRole = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AssignRoleDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.revokeRole = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RevokeRoleDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.addMember = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AddMemberDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.moveMembers = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.MoveMembersDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.getMembersById = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.NodeByIdWithMembersDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.getMembersByCode = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.NodeByCodeWithMembersDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.sendEmail = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SendEmailDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.sendFirstLoginVerifyEmail = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SendFirstLoginVerifyEmailDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [4 /*yield*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; exports.resetPassword = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.ResetPasswordDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.resetPasswordByFirstLoginToken = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.ResetPasswordByFirstLoginTokenDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.users = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UsersDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.usersWithCustomData = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UsersWithCustomDataDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.archivedUsers = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.ArchivedUsersDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.updateUserpool = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UpdateUserpoolDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.updateUser = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UpdateUserDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.searchUser = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SearchUserDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.searchUserWithCustomData = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SearchUserWithCustomDataDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.findUser = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.FindUserDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.findUserWithCustomData = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.FindUserWithCustomDataDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.createUser = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.CreateUserDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.deleteUser = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DeleteUserDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.deleteUsers = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DeleteUsersDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.roles = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RolesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.role = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RoleDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.roleWithUsers = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RoleWithUsersDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.roleWithUsersWithCustomData = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RoleWithUsersWithCustomDataDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.updateRole = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UpdateRoleDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.addNode = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AddNodeV2Document; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.updateNode = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UpdateNodeDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.deleteNode = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DeleteNodeDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.nodeById = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.NodeByIdDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.moveNode = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.MoveNodeDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.removeMembers = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RemoveMemberDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.refreshToken = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RefreshTokenDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.isUserExists = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.IsUserExistsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.updatePassword = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UpdatePasswordDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.updatePhone = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UpdatePhoneDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.updateEmail = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UpdateEmailDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.bindPhone = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.BindPhoneDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.bindEmail = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.BindEmailDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.unbindPhone = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UnbindPhoneDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.userBatch = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UserBatchDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.userBatchWithCustomData = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UserBatchWithCustomDataDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.getUserRoles = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.GetUserRolesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.getUserDepartments = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.GetUserDepartmentsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.setMainDepartment = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SetMainDepartmentDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.allow = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AllowDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.getWhiteList = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.WhitelistDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.removeWhiteList = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RemoveWhitelistDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.addWhiteList = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AddWhitelistDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.udv = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UdvDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.udfValueBatch = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UdfValueBatchDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.setUdv = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SetUdvDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.setUdvBatch = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SetUdvBatchDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.setUdfValueBatch = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SetUdfValueBatchDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.removeUdv = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RemoveUdvDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.setUdf = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SetUdfDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.removeUdf = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RemoveUdfDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.udf = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UdfDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.deleteRole = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DeleteRoleDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.deleteRoles = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DeleteRolesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.policies = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.PoliciesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.createPolicy = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.CreatePolicyDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.policy = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.PolicyDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.updatePolicy = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UpdatePolicyDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.deletePolicy = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DeletePolicyDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.deletePolicies = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DeletePoliciesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.policyAssignments = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.PolicyAssignmentsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.addPolicyAssignments = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AddPolicyAssignmentsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.removePolicyAssignments = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RemovePolicyAssignmentsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.enablePolicyAssignment = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.EnablePolicyAssignmentDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.disablePolicyAssignment = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DisbalePolicyAssignmentDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.checkLoginStatus = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.CheckLoginStatusDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.getGroups = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.GroupsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.group = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.GroupDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.groupWithUsers = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.GroupWithUsersDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.groupWithUsersWithCustomData = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.GroupWithUsersWithCustomDataDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.createGroup = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.CreateGroupDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.updateGroup = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UpdateGroupDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.deleteGroups = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.DeleteGroupsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.addUserToGroup = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AddUserToGroupDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.removeUserFromGroup = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.RemoveUserFromGroupDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.getUserGroups = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.GetUserGroupsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.unbindEmail = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.UnbindEmailDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.getAccessToken = function (garpqhlClient, variables) { return __awaiter(void 0, void 0, void 0, function () { var query; return __generator(this, function (_a) { query = graphql_v2_1.AccessTokenDocument; return [2 /*return*/, garpqhlClient.request({ query: query, variables: variables })]; }); }); }; exports.refreshAccessToken = function (garpqhlClient, variables) { return __awaiter(void 0, void 0, void 0, function () { var query; return __generator(this, function (_a) { query = graphql_v2_1.RefreshTokenDocument; return [2 /*return*/, garpqhlClient.request({ query: query, variables: variables })]; }); }); }; exports.listUserAuthorizedResources = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.ListUserAuthorizedResourcesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.listRoleAuthorizedResources = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.ListRoleAuthorizedResourcesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.listGroupAuthorizedResources = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.ListGroupAuthorizedResourcesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.listNodeByIdAuthorizedResources = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.ListNodeByIdAuthorizedResourcesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.listNodeByCodeAuthorizedResources = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.ListNodeByCodeAuthorizedResourcesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.listAuthorizedResources = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AuthorizedResourcesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.authorizeResource = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AuthorizeResourceDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.authorizedTargets = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.AuthorizedTargetsDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; exports.searchNodes = function (garpqhlClient, tokenProvider, variables) { return __awaiter(void 0, void 0, void 0, function () { var query, token; return __generator(this, function (_a) { switch (_a.label) { case 0: query = graphql_v2_1.SearchNodesDocument; return [4 /*yield*/, tokenProvider.getToken()]; case 1: token = _a.sent(); return [2 /*return*/, garpqhlClient.request({ query: query, token: token, variables: variables })]; } }); }); }; }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbGFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZ3JhcGhxbGFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFHQSxrREErVjZCO0lBRWhCLFFBQUEsU0FBUyxHQUFHLFVBQ3ZCLGFBQTRCLEVBQzVCLGFBQXNDLEVBQ3RDLFNBQW1DOzs7OztvQkFFN0IsS0FBSyxHQUFHLG9DQUF1QixDQUFDO29CQUN4QixxQkFBTSxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUE7O29CQUF0QyxLQUFLLEdBQUcsU0FBOEI7b0JBQ3JDLHFCQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUM7NEJBQ2pDLEtBQUssT0FBQTs0QkFDTCxLQUFLLE9BQUE7NEJBQ0wsU0FBUyxXQUFBO3lCQUNWLENBQUMsRUFBQTt3QkFKRixzQkFBTyxTQUlMLEVBQUM7OztTQUNKLENBQUM7SUFFVyxRQUFBLGdCQUFnQixHQUFHLFVBQzlCLGFBQTRCLEVBQzVCLGFBQXNDLEVBQ3RDLFNBQWlDOzs7OztvQkFFM0IsS0FBSyxHQUFHLGtDQUFxQixDQUFDO29CQUN0QixxQkFBTSxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUE7O29CQUF0QyxLQUFLLEdBQUcsU0FBOEI7b0JBQ3JDLHFCQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUM7NEJBQ2pDLEtBQUssT0FBQTs0QkFDTCxLQUFLLE9BQUE7NEJBQ0wsU0FBUyxXQUFBO3lCQUNWLENBQUMsRUFBQTt3QkFKRixzQkFBTyxTQUlMLEVBQUM7OztTQUNKLENBQUM7SUFFVyxRQUFBLEdBQUcsR0FBRyxVQUNqQixhQUE0QixFQUM1QixhQUFzQyxFQUN0QyxTQUF1Qjs7Ozs7b0JBRWpCLEtBQUssR0FBRyx3QkFBVyxDQUFDO29CQUNaLHFCQUFNLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBQTs7b0JBQXRDLEtBQUssR0FBRyxTQUE4Qjtv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