"use strict"; 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 }; } }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ManagementClient = void 0; var OrgManagementClient_1 = require("./OrgManagementClient"); var GraphqlClient_1 = require("../common/GraphqlClient"); var ManagementTokenProvider_1 = require("./ManagementTokenProvider"); var UserpoolManagementClient_1 = require("./UserpoolManagementClient"); var UsersManagementClient_1 = require("./UsersManagementClient"); var graphqlapi_1 = require("../graphqlapi"); var HttpClient_1 = require("../common/HttpClient"); var axios_1 = __importDefault(require("axios")); var RolesManagementClient_1 = require("./RolesManagementClient"); var PoliciesManagementClient_1 = require("./PoliciesManagementClient"); var UdfManagementClient_1 = require("./UdfManagementClient"); var GroupsManagementClient_1 = require("./GroupsManagementClient"); var AclManagementClient_1 = require("./AclManagementClient"); var WhitelistManagementClient_1 = require("./WhitelistManagementClient"); var StatisticsManagementClient_1 = require("./StatisticsManagementClient"); var jwt_decode_1 = __importDefault(require("jwt-decode")); var utils_1 = require("../utils"); var PublicKeyManager_1 = require("../common/PublicKeyManager"); var UserActionManagementClient_1 = require("./UserActionManagementClient"); var ApplicationsManagementClient_1 = require("./ApplicationsManagementClient"); var MFAManagementClient_1 = require("./MFAManagementClient"); var DEFAULT_OPTIONS = { timeout: 10000, onError: function (code, message) { throw { code: code, message: message }; }, host: 'https://core.authing.cn', requestFrom: 'sdk', encryptFunction: utils_1.encrypt, headers: { 'userpool-id': 'x-authing-userpool-id', 'app-id': 'x-authing-app-id', 'request-from': 'x-authing-request-from', 'sdk-version': 'x-authing-sdk-version', lang: 'x-authing-lang' } }; var ManagementClient = /** @class */ (function () { function ManagementClient(options) { this.options = Object.assign({}, DEFAULT_OPTIONS, options); if (!this.options.userPoolId && !this.options.appId) throw new Error('请提供 userPoolId 或者 appId!'); var graphqlApiEndpointV2 = this.options.host + "/graphql/v2"; if (!this.options.secret && !this.options.accessToken) { this.options.onError(1000, 'Init Management Client failed, must provide at least secret or accessToken !'); } axios_1.default.defaults.baseURL = this.options.host; this.graphqlClient = new (this.options.graphqlClient || GraphqlClient_1.GraphqlClient)(graphqlApiEndpointV2, this.options); this.tokenProvider = new ManagementTokenProvider_1.ManagementTokenProvider(this.options, this.graphqlClient); this.httpClient = new (this.options.httpClient || HttpClient_1.HttpClient)(this.options, this.tokenProvider); this.publicKeyManager = new PublicKeyManager_1.PublicKeyManager(this.options, this.httpClient); this.users = new UsersManagementClient_1.UsersManagementClient(this.options, this.graphqlClient, this.httpClient, this.tokenProvider, this.publicKeyManager); this.userpool = new UserpoolManagementClient_1.UserPoolManagementClient(this.options, this.httpClient, this.graphqlClient, this.tokenProvider); this.org = new OrgManagementClient_1.OrgManagementClient(this.options, this.graphqlClient, this.httpClient, this.tokenProvider); this.roles = new RolesManagementClient_1.RolesManagementClient(this.options, this.graphqlClient, this.tokenProvider); this.policies = new PoliciesManagementClient_1.PoliciesManagementClient(this.options, this.graphqlClient, this.tokenProvider); this.udf = new UdfManagementClient_1.UdfManagementClient(this.options, this.graphqlClient, this.tokenProvider); this.acl = new AclManagementClient_1.AclManagementClient(this.options, this.graphqlClient, this.httpClient, this.tokenProvider); this.whitelist = new WhitelistManagementClient_1.WhitelistManagementClient(this.options, this.graphqlClient, this.tokenProvider); this.groups = new GroupsManagementClient_1.GroupsManagementClient(this.options, this.graphqlClient, this.tokenProvider); this.statistics = new StatisticsManagementClient_1.StatisticsManagementClient(this.options, this.httpClient, this.tokenProvider); this.userAction = new UserActionManagementClient_1.UserActionManagementClient(this.options, this.httpClient, this.tokenProvider); this.applications = new ApplicationsManagementClient_1.ApplicationsManagementClient(this.options, this.httpClient, this.graphqlClient, this.tokenProvider); this.mfa = new MFAManagementClient_1.MFAManagementClient(this.options, this.graphqlClient, this.httpClient, this.tokenProvider); } /** * @description 发送邮件 * @param email: 邮件 * @param scene: 发送场景 * */ ManagementClient.prototype.sendEmail = function (email, scene) { return __awaiter(this, void 0, void 0, function () { var data; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, graphqlapi_1.sendEmail(this.graphqlClient, this.tokenProvider, { email: email, scene: scene })]; case 1: data = (_a.sent()).sendEmail; return [2 /*return*/, data]; } }); }); }; /** * @description 检测登录状态 * */ ManagementClient.prototype.checkLoginStatus = function (token, options) { return __awaiter(this, void 0, void 0, function () { var _a, fetchUserDetail, decoded, data, id, user; return __generator(this, function (_b) { switch (_b.label) { case 0: options = options || {}; _a = options.fetchUserDetail, fetchUserDetail = _a === void 0 ? false : _a; if (!token) return [2 /*return*/, null]; decoded = null; try { decoded = jwt_decode_1.default(token); } catch (error) { return [2 /*return*/, null]; } data = decoded.data; if (!!fetchUserDetail) return [3 /*break*/, 1]; return [2 /*return*/, data]; case 1: id = data.id; return [4 /*yield*/, this.users.detail(id)]; case 2: user = _b.sent(); return [2 /*return*/, user]; } }); }); }; /** * @name isPasswordValid * @name_zh 检测密码是否合法 * @description 检测密码是否合法 * * @param {string} password 密码 * * @example * * const envList = await managementClient.isPasswordValid('xxxxxx') * * @returns {Promise<{ * valid: boolean * message: string * }>} 返回检测结果 * @memberof ManagementClient */ ManagementClient.prototype.isPasswordValid = function (password) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.httpClient.request({ method: 'POST', url: this.options.host + "/api/v2/password/check", data: { password: password } })]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** * @description 设置语言 */ ManagementClient.prototype.setLang = function (lang) { this.options.lang = lang; }; return ManagementClient; }()); exports.ManagementClient = ManagementClient; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlbWVudENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbWFuYWdlbWVudC9NYW5hZ2VtZW50Q2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUE0RDtBQUM1RCx5REFBd0Q7QUFDeEQscUVBQW9FO0FBRXBFLHVFQUFzRTtBQUN0RSxpRUFBZ0U7QUFDaEUsNENBQTBDO0FBRTFDLG1EQUFrRDtBQUNsRCxnREFBMEI7QUFDMUIsaUVBQWdFO0FBQ2hFLHVFQUFzRTtBQUN0RSw2REFBNEQ7QUFDNUQsbUVBQWtFO0FBQ2xFLDZEQUE0RDtBQUM1RCx5RUFBd0U7QUFDeEUsMkVBQTBFO0FBQzFFLDBEQUFtQztBQUNuQyxrQ0FBbUM7QUFDbkMsK0RBQThEO0FBQzlELDJFQUEwRTtBQUMxRSwrRUFBOEU7QUFDOUUsNkRBQTREO0FBRzVELElBQU0sZUFBZSxHQUE0QjtJQUMvQyxPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxVQUFDLElBQVksRUFBRSxPQUFlO1FBQ3JDLE1BQU0sRUFBRSxJQUFJLE1BQUEsRUFBRSxPQUFPLFNBQUEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLEVBQUUseUJBQXlCO0lBQy9CLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLGVBQWUsRUFBRSxlQUFPO0lBQ3hCLE9BQU8sRUFBRTtRQUNQLGFBQWEsRUFBRSx1QkFBdUI7UUFDdEMsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixjQUFjLEVBQUUsd0JBQXdCO1FBQ3hDLGFBQWEsRUFBRSx1QkFBdUI7UUFDdEMsSUFBSSxFQUFFLGdCQUFnQjtLQUN2QjtDQUNGLENBQUM7QUFFRjtJQXdCRSwwQkFBWSxPQUFnQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGVBQWUsRUFBRSxP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