UNPKG

t-comm

Version:

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

166 lines (161 loc) 4.13 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'); /** * 获取仓库详情 * @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;