t-comm
Version:
专业、稳定、纯粹的工具库
166 lines (163 loc) • 4.43 kB
JavaScript
import { b as __awaiter, c as __generator } from '../tslib.es6-096fffdd.js';
import { instance } from './helper.js';
import { getOneProjectDetail } from './project.js';
import '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;
}
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 __awaiter(this, void 0, void 0, function () {
function getMainBranch() {
return detail.default_branch || '';
}
var detail, branch;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
return [4 /*yield*/, 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;
}
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;
}
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);
});
});
}
export { getBranchLifeCycle, getBranchesByProjectName, getOneBranchDetail, getProjectDefaultBranch };