UNPKG

t-comm

Version:

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

143 lines (140 loc) 4.74 kB
import { instance, resolveBaseUrl, T_GIT_BASE_URL } from './helper.mjs'; import 'axios'; function modifyProtectedBranchRule(_ref) { var projectName = _ref.projectName, privateToken = _ref.privateToken, _ref$baseUrl = _ref.baseUrl, baseUrl = _ref$baseUrl === void 0 ? T_GIT_BASE_URL : _ref$baseUrl, ruleId = _ref.ruleId, form = _ref.form; return new Promise(function (resolve, reject) { if (!projectName) { reject('No ProjectName'); return; } if (!ruleId) { reject('No RuleId'); return; } instance({ url: resolveBaseUrl(baseUrl, "/api/v3/projects/".concat(encodeURIComponent(projectName), "/protected_branch_rules/").concat(ruleId)), method: 'PUT', data: Object.assign({}, form), headers: { 'PRIVATE-TOKEN': privateToken } }).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); }); } function createProtectedBranchRule(_ref2) { var projectName = _ref2.projectName, privateToken = _ref2.privateToken, _ref2$baseUrl = _ref2.baseUrl, baseUrl = _ref2$baseUrl === void 0 ? T_GIT_BASE_URL : _ref2$baseUrl, form = _ref2.form; return new Promise(function (resolve, reject) { if (!projectName) { reject('No ProjectName'); return; } instance({ url: resolveBaseUrl(baseUrl, "/api/v3/projects/".concat(encodeURIComponent(projectName), "/protected_branch_rules")), method: 'POST', data: Object.assign({}, form), headers: { 'PRIVATE-TOKEN': privateToken } }).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); }); } // 获取项目的自动保护分支规则 function getAutoProtectedBranchRules(_ref3) { var projectName = _ref3.projectName, _ref3$baseUrl = _ref3.baseUrl, baseUrl = _ref3$baseUrl === void 0 ? T_GIT_BASE_URL : _ref3$baseUrl, privateToken = _ref3.privateToken; return new Promise(function (resolve, reject) { if (!projectName) { reject('No ProjectName'); return; } instance({ url: resolveBaseUrl(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(_ref4) { var projectName = _ref4.projectName, _ref4$baseUrl = _ref4.baseUrl, baseUrl = _ref4$baseUrl === void 0 ? T_GIT_BASE_URL : _ref4$baseUrl, privateToken = _ref4.privateToken, rules = _ref4.rules, _ref4$shouldUpdateExi = _ref4.shouldUpdateExistingBranches, shouldUpdateExistingBranches = _ref4$shouldUpdateExi === void 0 ? true : _ref4$shouldUpdateExi; return new Promise(function (resolve, reject) { if (!projectName) { reject('No ProjectName'); return; } instance({ url: resolveBaseUrl(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(_ref5) { var projectName = _ref5.projectName, _ref5$baseUrl = _ref5.baseUrl, baseUrl = _ref5$baseUrl === void 0 ? T_GIT_BASE_URL : _ref5$baseUrl, privateToken = _ref5.privateToken; return new Promise(function (resolve, reject) { if (!projectName) { reject('No ProjectName'); return; } instance({ url: resolveBaseUrl(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 };