UNPKG

t-comm

Version:

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

147 lines (142 loc) 4.55 kB
'use strict'; 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;