t-comm
Version:
专业、稳定、纯粹的工具库
173 lines (168 loc) • 4.67 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
var tgit_helper = require('./helper.js');
var tgit_project = require('./project.js');
require('axios');
/**
* 获取tGit上某分支生命周期
* @param {object} options 输入配置
* @param {string} options.projectName 项目名称
* @param {string} options.branchName 分支名称
* @param {string} options.privateToken 密钥
* @returns {Promise<object>} 请求Promise
* @example
*
* getBranchLifeCycle({
* projectName: 't-comm',
* branchName: 'master',
* privateToken: 'xxxxx',
* }).then((resp) => {
*
* })
*/
function getBranchLifeCycle(_a) {
var projectName = _a.projectName,
branchName = _a.branchName,
privateToken = _a.privateToken;
return new Promise(function (resolve, reject) {
if (!projectName || !branchName) {
return;
}
tgit_helper.instance({
url: "/projects/".concat(encodeURIComponent(projectName), "/tloc/branch/lifecycle"),
method: 'GET',
params: {
branch_name: branchName
},
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
/**
* 获取默认分支
* @param {object} options 输入配置
* @param {string} options.projectName 项目名称
* @param {string} options.privateToken 密钥
* @returns {Promise<string>} 请求Promise
* @example
*
* getProjectDefaultBranch({
* projectName: 't-comm',
* privateToken: 'xxxxx',
* }).then((branch) => {
* console.log('branch: ', branch)
* })
*/
function getProjectDefaultBranch(_a) {
var projectName = _a.projectName,
privateToken = _a.privateToken;
return tslib_es6.__awaiter(this, void 0, void 0, function () {
function getMainBranch() {
return detail.default_branch || '';
}
var detail, branch;
return tslib_es6.__generator(this, function (_b) {
switch (_b.label) {
case 0:
return [4 /*yield*/, tgit_project.getOneProjectDetail({
projectName: projectName,
privateToken: privateToken
})];
case 1:
detail = _b.sent();
branch = getMainBranch();
return [2 /*return*/, branch];
}
});
});
}
/**
* 获取仓库的分支列表
* @param {object} options 输入配置
* @param {string} options.projectName 项目名称
* @param {string} options.privateToken 密钥
* @param {string} options.baseUrl baseUrl
* @returns {Promise<Array<object>>} 请求Promise
* @example
*
* getBranchesByProjectName({
* projectName: 't-comm',
* privateToken: 'xxxxx',
* }).then((resp) => {
*
* })
*/
function getBranchesByProjectName(_a) {
var projectName = _a.projectName,
privateToken = _a.privateToken,
baseUrl = _a.baseUrl;
return new Promise(function (resolve, reject) {
if (!projectName) {
reject('No ProjectName');
return;
}
tgit_helper.instance({
url: "".concat(baseUrl, "/api/v3/projects/").concat(encodeURIComponent(projectName), "/repository/branches"),
method: 'GET',
params: {
per_page: 100
},
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
/**
* 获取分支详情
* @param {object} options 输入配置
* @param {string} options.projectName 项目名称
* @param {string} options.branchName 分支名称
* @param {string} options.privateToken 密钥
* @returns {Promise<object>} 请求Promise
* @example
*
* getOneBranchDetail({
* projectName: 't-comm',
* branchName: 'master',
* privateToken: 'xxxxx',
* }).then((resp) => {
*
* })
*/
function getOneBranchDetail(_a) {
var projectName = _a.projectName,
branchName = _a.branchName,
privateToken = _a.privateToken;
return new Promise(function (resolve, reject) {
if (!projectName || !branchName) {
return;
}
tgit_helper.instance({
url: "/projects/".concat(encodeURIComponent(projectName), "/repository/branches/").concat(encodeURIComponent(branchName)),
method: 'GET',
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
exports.getBranchLifeCycle = getBranchLifeCycle;
exports.getBranchesByProjectName = getBranchesByProjectName;
exports.getOneBranchDetail = getOneBranchDetail;
exports.getProjectDefaultBranch = getProjectDefaultBranch;