t-comm
Version:
专业、稳定、纯粹的工具库
147 lines (142 loc) • 4.55 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
var tgit_helper = require('./helper.js');
require('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;
}
tgit_helper.instance({
url: "".concat(baseUrl, "/api/v3/projects/").concat(encodeURIComponent(projectName), "/protected_branch_rules/").concat(ruleId),
method: 'PUT',
data: tslib_es6.__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;
}
tgit_helper.instance({
url: "".concat(baseUrl, "/api/v3/projects/").concat(encodeURIComponent(projectName), "/protected_branch_rules"),
method: 'POST',
data: tslib_es6.__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;
}
tgit_helper.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;
}
tgit_helper.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;
}
tgit_helper.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);
});
});
}
exports.createProtectedBranchRule = createProtectedBranchRule;
exports.getAutoProtectedBranchRules = getAutoProtectedBranchRules;
exports.getProtectedBranchRules = getProtectedBranchRules;
exports.modifyAutoProtectedBranchRules = modifyAutoProtectedBranchRules;
exports.modifyProtectedBranchRule = modifyProtectedBranchRule;