UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

472 lines (467 loc) 13.7 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib_es6 = require('../tslib.es6-01322ba9.js'); var rainbow_helper_helper = require('./helper/helper.js'); var rainbow_helper_rainbowBaseRequest = require('./helper/rainbow-base-request.js'); require('axios'); require('./helper/rainbow-signature.js'); /** * 添加或更新配置 * * @param {object} config 配置信息 * @param {object} config.keyValue 配置对象 * @param {string} config.keyValue.key 配置的key * @param {string} config.keyValue.value 配置的value * @param {number} config.valueType 配置类型,1: NUMBER, 2: STRING, 3: TEXT, 4: JSON, 5: XML, 18: 日期, 20: yaml * @param {object} config.secretInfo 密钥信息 * @param {string} config.secretInfo.appId 项目Id * @param {string} config.secretInfo.userId 用户Id * @param {string} config.secretInfo.secretKey 密钥 * @param {string} config.secretInfo.envName 配置环境 * @param {string} config.secretInfo.groupName 配置组 * @returns {Promise<object>} 请求Promise * * @example * addOrUpdateRainbowKV({ * keyValue: { * key: 'theKey', * value: 'theValue', * }, * valueType: 2, * secretInfo: { * appId: 'xxx', * userId: 'xxx', * secretKey: 'xxx', * envName: 'prod', * groupName: 'xxx', * } * }).then(() => { * * }) */ function addOrUpdateRainbowKV(_a) { var keyValue = _a.keyValue, _b = _a.valueType, valueType = _b === void 0 ? 2 : _b, secretInfo = _a.secretInfo; return rainbow_helper_rainbowBaseRequest.baseRequestRainbow({ url: '/adminapi.Config/ChangeKeyReq', data: { is_sync: false, key_values: [tslib_es6.__assign({ value_type: valueType, config_op_type: 4, description: '' }, keyValue)] }, secretInfo: secretInfo }); } /** * 增加配置 * * @param {object} config 配置信息 * @param {object} config.keyValue 配置对象 * @param {string} config.keyValue.key 配置的key * @param {string} config.keyValue.value 配置的value * @param {number} config.valueType 配置类型,1: NUMBER, 2: STRING, 3: TEXT, 4: JSON, 5: XML, 18: 日期, 20: yaml * @param {object} config.secretInfo 密钥信息 * @param {string} config.secretInfo.appId 项目Id * @param {string} config.secretInfo.userId 用户Id * @param {string} config.secretInfo.secretKey 密钥 * @param {string} config.secretInfo.envName 配置环境 * @param {string} config.secretInfo.groupName 配置组 * @returns {Promise<object>} 请求Promise * * @example * addRainbowKV({ * keyValue: { * key: 'theKey', * value: 'theValue', * }, * valueType: 2, * secretInfo: { * appId: 'xxx', * userId: 'xxx', * secretKey: 'xxx', * envName: 'prod', * groupName: 'xxx', * } * }).then(() => { * * }) */ function addRainbowKV(_a) { var keyValue = _a.keyValue, _b = _a.valueType, valueType = _b === void 0 ? 2 : _b, secretInfo = _a.secretInfo; return rainbow_helper_rainbowBaseRequest.baseRequestRainbow({ url: '/adminapi.Config/ChangeKeyReq', data: { is_sync: false, key_values: [tslib_es6.__assign({ value_type: valueType, config_op_type: 2, description: '' }, keyValue)] }, secretInfo: secretInfo }); } /** * 修改配置 * @param {object} config 配置信息 * @param {object} config.keyValue 配置对象 * @param {string} config.keyValue.key 配置的key * @param {string} config.keyValue.value 配置的value * @param {number} config.valueType 配置类型,1: NUMBER, 2: STRING, 3: TEXT, 4: JSON, 5: XML, 18: 日期, 20: yaml * @param {object} config.secretInfo 密钥信息 * @param {string} config.secretInfo.appId 项目Id * @param {string} config.secretInfo.userId 用户Id * @param {string} config.secretInfo.secretKey 密钥 * @param {string} config.secretInfo.envName 配置环境 * @param {string} config.secretInfo.groupName 配置组 * @returns {Promise<object>} 请求Promise * * @example * updateRainbowKV({ * keyValue: { * key: 'theKey', * value: 'theValue', * }, * valueType: 2, * secretInfo: { * appId: 'xxx', * userId: 'xxx', * secretKey: 'xxx', * envName: 'prod', * groupName: 'xxx', * } * }).then(() => { * * }) */ function updateRainbowKV(_a) { var keyValue = _a.keyValue, _b = _a.valueType, valueType = _b === void 0 ? 2 : _b, secretInfo = _a.secretInfo; return rainbow_helper_rainbowBaseRequest.baseRequestRainbow({ url: '/adminapi.Config/ChangeKeyReq', data: { is_sync: false, key_values: [tslib_es6.__assign({ value_type: valueType, config_op_type: 1, description: '' }, keyValue)] }, secretInfo: secretInfo }); } /** * 创建发布任务 * * @param {object} config 配置信息 * @param {string} config.versionName 版本信息 * @param {object} config.secretInfo 密钥信息 * @param {string} config.secretInfo.appId 项目Id * @param {string} config.secretInfo.userId 用户Id * @param {string} config.secretInfo.secretKey 密钥 * @param {string} config.secretInfo.envName 配置环境 * @param {string} config.secretInfo.groupName 配置组 * @returns {Promise<object>} 请求Promise * * @example * createRainbowPublishJob({ * versionName: 'version', * secretInfo: { * appId: 'xxx', * userId: 'xxx', * secretKey: 'xxx', * envName: 'prod', * groupName: 'xxx', * } * }).then(() => { * * }) */ function createRainbowPublishJob(_a) { var versionName = _a.versionName, secretInfo = _a.secretInfo, creator = _a.creator, approvers = _a.approvers, _b = _a.type, type = _b === void 0 ? 0 : _b; return rainbow_helper_rainbowBaseRequest.baseRequestRainbow({ url: '/adminapi.Config/CreateReleaseTaskReq', data: { creator: creator, approvers: approvers, version_name: versionName, type: type }, secretInfo: secretInfo }); } /** * 发布任务 * * @param {object} config 配置信息 * @param {string} config.taskId 任务Id * @param {object} config.secretInfo 密钥信息 * @param {string} config.secretInfo.appId 项目Id * @param {string} config.secretInfo.userId 用户Id * @param {string} config.secretInfo.secretKey 密钥 * @param {string} config.secretInfo.envName 配置环境 * @param {string} config.secretInfo.groupName 配置组 * @returns {Promise<object>} 请求Promise * * @example * publishRainbowTask({ * taskId: 'taskId', * secretInfo: { * appId: 'xxx', * userId: 'xxx', * secretKey: 'xxx', * envName: 'prod', * groupName: 'xxx', * } * }).then(() => { * * }) */ function publishRainbowTask(_a) { var taskId = _a.taskId, secretInfo = _a.secretInfo; return rainbow_helper_rainbowBaseRequest.baseRequestRainbow({ url: '/adminapi.Release/ReleaseMainTaskReq', data: { task_id: taskId }, secretInfo: secretInfo }); } /** * 关闭任务 * * @param {object} config 配置信息 * @param {string} config.taskId 任务Id * @param {object} config.secretInfo 密钥信息 * @param {string} config.secretInfo.appId 项目Id * @param {string} config.secretInfo.userId 用户Id * @param {string} config.secretInfo.secretKey 密钥 * @param {string} config.secretInfo.envName 配置环境 * @param {string} config.secretInfo.groupName 配置组 * @returns {Promise<object>} 请求Promise * * @example * closeRainbowTask({ * taskId: 'taskId', * secretInfo: { * appId: 'xxx', * userId: 'xxx', * secretKey: 'xxx', * envName: 'prod', * groupName: 'xxx', * } * }).then(() => { * * }) */ function closeRainbowTask(_a) { var taskId = _a.taskId, secretInfo = _a.secretInfo; return rainbow_helper_rainbowBaseRequest.baseRequestRainbow({ url: '/adminapi.Release/CloseReleaseTaskReq', data: { task_id: taskId }, secretInfo: secretInfo }); } /** * 更新或新增值并发布 * @param {object} config 配置信息 * @param {string} config.key 配置key * @param {string} config.value 配置value * @param {number} config.valueType 配置类型,1: NUMBER, 2: STRING, 3: TEXT, 4: JSON, 5: XML, 18: 日期, 20: yaml * @param {object} config.secretInfo 密钥信息 * @param {string} config.secretInfo.appId 项目Id * @param {string} config.secretInfo.userId 用户Id * @param {string} config.secretInfo.secretKey 密钥 * @param {string} config.secretInfo.envName 配置环境 * @param {string} config.secretInfo.groupName 配置组 * @returns {Promise<object>} 请求Promise * * @example * updateRainbowKVAndPublish({ * key: 'key', * value: 'value', * valueType: 2, * secretInfo: { * appId: 'xxx', * userId: 'xxx', * secretKey: 'xxx', * envName: 'prod', * groupName: 'xxx', * } * }).then(() => { * * }) */ function updateRainbowKVAndPublish(_a) { var key = _a.key, value = _a.value, valueType = _a.valueType, secretInfo = _a.secretInfo, creator = _a.creator, approvers = _a.approvers; return tslib_es6.__awaiter(this, void 0, void 0, function () { var versionName, taskRes, taskId, err_1; return tslib_es6.__generator(this, function (_b) { switch (_b.label) { case 0: _b.trys.push([0, 6,, 7]); return [4 /*yield*/, addOrUpdateRainbowKV({ keyValue: { key: key, value: value }, valueType: valueType, secretInfo: secretInfo })]; case 1: _b.sent(); versionName = rainbow_helper_helper.getVersion(); return [4 /*yield*/, createRainbowPublishJob({ creator: creator, approvers: approvers, versionName: versionName, secretInfo: secretInfo })]; case 2: taskRes = _b.sent(); taskId = taskRes.task_id; return [4 /*yield*/, ApprovalRainbowReleaseTask({ secretInfo: secretInfo, taskId: taskId, versionName: versionName })]; case 3: _b.sent(); return [4 /*yield*/, publishRainbowTask({ taskId: taskId, secretInfo: secretInfo })]; case 4: _b.sent(); return [4 /*yield*/, closeRainbowTask({ taskId: taskId, secretInfo: secretInfo })]; case 5: _b.sent(); return [2 /*return*/, taskRes]; case 6: err_1 = _b.sent(); return [2 /*return*/, Promise.reject(err_1)]; case 7: return [2 /*return*/]; } }); }); } /** * 查询分组配置 * @param {object} config 配置信息 * @param {object} config.secretInfo 密钥信息 * @param {string} config.secretInfo.appId 项目Id * @param {string} config.secretInfo.userId 用户Id * @param {string} config.secretInfo.secretKey 密钥 * @param {string} config.secretInfo.envName 配置环境 * @param {string} config.secretInfo.groupName 配置组 * @returns {Promise<Array<object>>} 分组配置 * * @example * queryGroupInfo({ * secretInfo: { * appId: 'xxx', * userId: 'xxx', * secretKey: 'xxx', * envName: 'prod', * groupName: 'xxx', * } * }).then(() => { * * }) */ function queryGroupInfo(_a) { var secretInfo = _a.secretInfo; return new Promise(function (resolve, reject) { rainbow_helper_rainbowBaseRequest.baseRequestRainbow({ url: '/adminapi.Config/QueryGroupInfoReq', data: {}, secretInfo: secretInfo }).then(function (res) { var _a, _b; var keyValues = ((_b = (_a = res.config_infos) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.key_values) || []; resolve(keyValues); })["catch"](function (err) { reject(err); }); }); } function OneClickReleaseRainbowTask(_a) { var secretInfo = _a.secretInfo, versionName = _a.versionName, creator = _a.creator, updators = _a.updators, approvers = _a.approvers, _b = _a.type, type = _b === void 0 ? 0 : _b, _c = _a.description, description = _c === void 0 ? '' : _c; return rainbow_helper_rainbowBaseRequest.baseRequestRainbow({ url: '/adminapi.Config/OneClickReleaseTaskReq', data: { version_name: versionName, creator: creator, updators: updators, approvers: approvers, type: type, description: description }, secretInfo: secretInfo }); } function ApprovalRainbowReleaseTask(_a) { var secretInfo = _a.secretInfo, taskId = _a.taskId, versionName = _a.versionName, _b = _a.status, status = _b === void 0 ? 3 : _b, _c = _a.rejectReason, rejectReason = _c === void 0 ? '' : _c; return rainbow_helper_rainbowBaseRequest.baseRequestRainbow({ url: '/adminapi.Release/ApprovalReleaseTaskReq', data: { task_id: taskId, status: status, reject_reason: rejectReason, version_name: versionName }, secretInfo: secretInfo }); } exports.ApprovalRainbowReleaseTask = ApprovalRainbowReleaseTask; exports.OneClickReleaseRainbowTask = OneClickReleaseRainbowTask; exports.addOrUpdateRainbowKV = addOrUpdateRainbowKV; exports.addRainbowKV = addRainbowKV; exports.closeRainbowTask = closeRainbowTask; exports.createRainbowPublishJob = createRainbowPublishJob; exports.publishRainbowTask = publishRainbowTask; exports.queryGroupInfo = queryGroupInfo; exports.updateRainbowKV = updateRainbowKV; exports.updateRainbowKVAndPublish = updateRainbowKVAndPublish;