t-comm
Version:
专业、稳定、纯粹的工具库
166 lines (161 loc) • 4.13 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
var tgit_helper = require('./helper.js');
require('axios');
/**
* 获取仓库详情
* @param {object} options 输入配置
* @param {string} options.projectName 项目名称
* @param {string} options.privateToken 密钥
* @returns {Promise<object>} 请求Promise
* @example
* getOneProjectDetail({
* projectName: 't-comm',
* privateToken: 'xxxxx',
* }).then((resp) => {
*
* })
*/
function getOneProjectDetail(_a) {
var projectName = _a.projectName,
privateToken = _a.privateToken,
baseUrl = _a.baseUrl;
var url = "/api/v3/projects/".concat(encodeURIComponent(projectName));
if (baseUrl) {
url = "".concat(baseUrl).concat(url);
}
return new Promise(function (resolve, reject) {
tgit_helper.instance({
url: url,
method: 'GET',
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
/**
* 通过搜索获取一个项目信息
* @param {object} options 输入配置
* @param {string} options.search 搜索内容
* @param {string} options.page 起始页码
* @param {string} options.privateToken 密钥
* @returns {Promise<Array<object>>} 请求Promise
* @example
*
* getOneProjectBySearch({
* search: 't-comm',
* page: 1,
* privateToken: 'xxxxx',
* }).then((resp) => {
*
* })
*/
function getOneProjectBySearch(_a) {
var search = _a.search,
privateToken = _a.privateToken,
_b = _a.page,
page = _b === void 0 ? 1 : _b;
return new Promise(function (resolve, reject) {
tgit_helper.instance({
url: '/projects',
method: 'GET',
params: {
per_page: 100,
search: search,
page: page
},
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
/**
* 获取某个token名下所有项目
* @param {string} privateToken 密钥
* @param {string} search 搜索内容
* @returns {Array<object>} 项目列表
* @example
*
* const projects = await getAllProjects('xxxxx');
*
* console.log(projects)
*/
function getAllProjects(privateToken, search) {
if (search === void 0) {
search = '';
}
return tslib_es6.__awaiter(this, void 0, void 0, function () {
var res, page, temp;
return tslib_es6.__generator(this, function (_a) {
switch (_a.label) {
case 0:
res = [];
page = 1;
_a.label = 1;
case 1:
return [4 /*yield*/, getOneProjectBySearch({
page: page,
search: search,
privateToken: privateToken
})];
case 2:
temp = _a.sent();
res = res.concat(temp);
page += 1;
if (!(temp === null || temp === void 0 ? void 0 : temp.length)) {
return [3 /*break*/, 3];
}
return [3 /*break*/, 1];
case 3:
return [2 /*return*/, res];
}
});
});
}
/**
* 删除一个项目
* @param {object} options 输入配置
* @param {string} options.id 项目id
* @param {string} options.privateToken 密钥
* @returns {Promise<Array<object>>} 请求Promise
* @example
*
* deleteTGitProject({
* id: '123'
* privateToken: 'xxxxx',
* }).then((resp) => {
*
* })
*/
function deleteTGitProject(_a) {
var id = _a.id,
privateToken = _a.privateToken;
return new Promise(function (resolve, reject) {
tgit_helper.instance({
url: "/projects/".concat(encodeURIComponent(id)),
method: 'DELETE',
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
exports.deleteTGitProject = deleteTGitProject;
exports.getAllProjects = getAllProjects;
exports.getOneProjectBySearch = getOneProjectBySearch;
exports.getOneProjectDetail = getOneProjectDetail;