t-comm
Version:
专业、稳定、纯粹的工具库
139 lines (136 loc) • 4.22 kB
JavaScript
import { _ as __assign } from '../tslib.es6-096fffdd.js';
import { instance } from './helper.mjs';
import 'axios';
function modifyProtectedBranchRule(_a) {
var projectName = _a.projectName,
privateToken = _a.privateToken,
baseUrl = _a.baseUrl,
ruleId = _a.ruleId,
form = _a.form;
return new Promise(function (resolve, reject) {
if (!projectName) {
reject('No ProjectName');
return;
}
if (!ruleId) {
reject('No RuleId');
return;
}
instance({
url: "".concat(baseUrl, "/api/v3/projects/").concat(encodeURIComponent(projectName), "/protected_branch_rules/").concat(ruleId),
method: 'PUT',
data: __assign({}, form),
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
function createProtectedBranchRule(_a) {
var projectName = _a.projectName,
privateToken = _a.privateToken,
baseUrl = _a.baseUrl,
form = _a.form;
return new Promise(function (resolve, reject) {
if (!projectName) {
reject('No ProjectName');
return;
}
instance({
url: "".concat(baseUrl, "/api/v3/projects/").concat(encodeURIComponent(projectName), "/protected_branch_rules"),
method: 'POST',
data: __assign({}, form),
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
// 获取项目的自动保护分支规则
function getAutoProtectedBranchRules(_a) {
var projectName = _a.projectName,
baseUrl = _a.baseUrl,
privateToken = _a.privateToken;
return new Promise(function (resolve, reject) {
if (!projectName) {
reject('No ProjectName');
return;
}
instance({
url: "".concat(baseUrl, "/api/v3/projects/").concat(encodeURIComponent(projectName), "/config/auto_protected_branch_rules"),
method: 'GET',
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
// 修改项目的自动保护分支规则。可以通过正则表达式,让分支在创建之后自动匹配到对应的保护分支规则组
// 语法为 `规则组名` REGEXP "正则表达式" 。多个用换行符分隔。
// `branch_rule_1` REGEXP "branch_01.*"
// `branch_rule_dev` REGEXP "dev.*"
function modifyAutoProtectedBranchRules(_a) {
var projectName = _a.projectName,
baseUrl = _a.baseUrl,
privateToken = _a.privateToken,
rules = _a.rules,
_b = _a.shouldUpdateExistingBranches,
shouldUpdateExistingBranches = _b === void 0 ? true : _b;
return new Promise(function (resolve, reject) {
if (!projectName) {
reject('No ProjectName');
return;
}
instance({
url: "".concat(baseUrl, "/api/v3/projects/").concat(encodeURIComponent(projectName), "/config/auto_protected_branch_rules"),
method: 'PUT',
headers: {
'PRIVATE-TOKEN': privateToken
},
data: {
auto_protected_branch_rules: rules,
should_update_existing_branches: shouldUpdateExistingBranches
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
// 返回项目下的规则组列表,按规则组的更新时间倒序
function getProtectedBranchRules(_a) {
var projectName = _a.projectName,
baseUrl = _a.baseUrl,
privateToken = _a.privateToken;
return new Promise(function (resolve, reject) {
if (!projectName) {
reject('No ProjectName');
return;
}
instance({
url: "".concat(baseUrl, "/api/v3/projects/").concat(encodeURIComponent(projectName), "/protected_branch_rules"),
method: 'GET',
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
export { createProtectedBranchRule, getAutoProtectedBranchRules, getProtectedBranchRules, modifyAutoProtectedBranchRules, modifyProtectedBranchRule };