t-comm
Version:
专业、稳定、纯粹的工具库
370 lines (369 loc) • 11.4 kB
TypeScript
import type { RainbowKeyValueType } from '../rainbow-to-cos/helper/value-type';
import type { ISecretInfo, ModifyConfigParam } from './types';
/**
* 添加或更新配置
*
* @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(() => {
*
* })
*/
export declare function addOrUpdateRainbowKV({ keyValue, valueType, secretInfo, }: ModifyConfigParam): Promise<object>;
/**
* 增加配置
*
* @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(() => {
*
* })
*/
export declare function addRainbowKV({ keyValue, valueType, secretInfo, }: ModifyConfigParam): Promise<object>;
/**
* 修改配置
* @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(() => {
*
* })
*/
export declare function updateRainbowKV({ keyValue, valueType, secretInfo, }: ModifyConfigParam): Promise<object>;
/**
* 创建发布任务
*
* @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(() => {
*
* })
*/
export declare function createRainbowPublishJob({ versionName, secretInfo, creator, approvers, type, }: {
versionName: string;
secretInfo: ISecretInfo;
creator: string;
approvers: string;
type?: number;
}): Promise<object>;
/**
* 发布任务
*
* @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(() => {
*
* })
*/
export declare function publishRainbowTask({ taskId, secretInfo, }: {
taskId: string;
secretInfo: ISecretInfo;
}): Promise<object>;
/**
* 关闭任务
*
* @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(() => {
*
* })
*/
export declare function closeRainbowTask({ taskId, secretInfo, }: {
taskId: string;
secretInfo: ISecretInfo;
}): Promise<object>;
/**
* 更新或新增值并发布
* @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(() => {
*
* })
*/
export declare function updateRainbowKVAndPublish({ key, value, valueType, secretInfo, creator, approvers, }: {
key: string;
value: string;
valueType: RainbowKeyValueType;
secretInfo: ISecretInfo;
creator: string;
approvers: string;
}): Promise<any>;
/**
* 处理彩虹配置发布任务
* @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 配置组
* @param {string} config.versionName 版本名称
* @returns {Promise<object>} 请求Promise
*
* @example
* processRainbowReleaseTask({
* taskId: 'taskId',
* secretInfo: {
* appId: 'xxx',
* userId: 'xxx',
* secretKey: 'xxx',
* envName: 'prod',
* groupName: 'xxx',
* },
* versionName: 'version'
* }).then(() => {
*
* })
*/
export declare function processRainbowReleaseTask({ taskId, secretInfo, versionName, }: {
taskId: string;
secretInfo: ISecretInfo;
versionName: string;
}): Promise<{
success: boolean;
taskId: string;
}>;
/**
* 查询分组配置
* @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(() => {
*
* })
*/
export declare function queryGroupInfo({ secretInfo }: {
secretInfo: ISecretInfo;
}): Promise<Array<{
key: string;
value: string;
value_type: RainbowKeyValueType;
}>>;
export declare function OneClickReleaseRainbowTask({ secretInfo, versionName, creator, updators, approvers, type, description, }: {
secretInfo: ISecretInfo;
versionName: string;
creator: string;
updators: string;
approvers: string;
type?: number;
description?: string;
}): Promise<object>;
export declare function ApprovalRainbowReleaseTask({ secretInfo, taskId, versionName, status, rejectReason, }: {
secretInfo: ISecretInfo;
taskId: string | number;
versionName: string;
status?: number;
rejectReason?: string;
}): Promise<object>;
/**
* 更新彩虹配置并创建发布任务
* @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 配置组
* @param {string} config.creator 创建者
* @param {string} config.approvers 审批者
* @returns {Promise<{taskRes: any, versionName: string}>} 发布任务结果和版本名称
*
* @example
* updateRainbowConfigAndCreateTask({
* key: 'configKey',
* value: 'configValue',
* valueType: 2,
* secretInfo: {
* appId: 'xxx',
* userId: 'xxx',
* secretKey: 'xxx',
* envName: 'prod',
* groupName: 'xxx',
* },
* creator: 'creatorName',
* approvers: 'approverName'
* }).then(({ taskRes, versionName }) => {
* console.log('任务创建成功:', taskRes);
* console.log('版本名称:', versionName);
* })
*/
export declare function updateRainbowConfigAndCreateTask({ key, value, valueType, secretInfo, creator, approvers, }: {
key: string;
value: string;
valueType: RainbowKeyValueType;
secretInfo: ISecretInfo;
creator: string;
approvers: string;
}): Promise<{
taskRes: any;
versionName: string;
}>;