t-comm
Version:
专业、稳定、纯粹的工具库
472 lines (467 loc) • 13.7 kB
JavaScript
'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;