UNPKG

t-comm

Version:

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

290 lines (287 loc) 9.79 kB
import { b as __awaiter, c as __generator, _ as __assign } from '../tslib.es6-48fa7a9b.js'; import { getDevopsAccessToken } from './token.js'; function getDevopsTemplateList(_a) { var projectId = _a.projectId, host = _a.host, secretInfo = _a.secretInfo; return __awaiter(this, void 0, void 0, function () { var axios, accessToken, appCode, appSecret, devopsUid, resp; return __generator(this, function (_b) { switch (_b.label) { case 0: axios = require('axios'); return [4 /*yield*/, getDevopsAccessToken({ secretInfo: secretInfo, host: host })]; case 1: accessToken = _b.sent(); appCode = secretInfo.appCode, appSecret = secretInfo.appSecret, devopsUid = secretInfo.devopsUid; return [4 /*yield*/, axios({ url: "".concat(host, "/prod/v4/apigw-app/projects/").concat(projectId, "/templates"), method: 'GET', headers: { 'X-DEVOPS-UID': devopsUid, 'Content-Type': 'application/json', 'X-Bkapi-Authorization': JSON.stringify({ bk_app_code: appCode, bk_app_secret: appSecret, access_token: accessToken }) }, params: { page: 1, pageSize: 90 } })["catch"](function (err) { console.log('[getDevopsTemplateList ] err: ', err); })]; case 2: resp = _b.sent(); return [2 /*return*/, resp.data.data || {}]; } }); }); } function getDevopsTemplateLatestVersion(_a) { var projectId = _a.projectId, templateId = _a.templateId, host = _a.host, secretInfo = _a.secretInfo; return __awaiter(this, void 0, void 0, function () { var templateList, template; return __generator(this, function (_b) { switch (_b.label) { case 0: return [4 /*yield*/, getDevopsTemplateList({ projectId: projectId, secretInfo: secretInfo, host: host })]; case 1: templateList = _b.sent(); template = templateList.models.find(function (item) { return item.templateId === templateId; }); return [2 /*return*/, template === null || template === void 0 ? void 0 : template.version]; } }); }); } function getHeaderAndBaseUrl(_a) { var projectId = _a.projectId, templateId = _a.templateId, secretInfo = _a.secretInfo, host = _a.host; return __awaiter(this, void 0, void 0, function () { var appCode, appSecret, devopsUid, accessToken, url; return __generator(this, function (_b) { switch (_b.label) { case 0: appCode = secretInfo.appCode, appSecret = secretInfo.appSecret, devopsUid = secretInfo.devopsUid; return [4 /*yield*/, getDevopsAccessToken({ secretInfo: secretInfo, host: host })]; case 1: accessToken = _b.sent(); url = "".concat(host, "/prod/v4/apigw-app/projects/").concat(projectId, "/templates/templateInstances?templateId=").concat(templateId); return [2 /*return*/, { headers: { 'X-DEVOPS-UID': devopsUid, 'Content-Type': 'application/json', 'X-Bkapi-Authorization': JSON.stringify({ bk_app_code: appCode, bk_app_secret: appSecret, access_token: accessToken }) }, baseUrl: url }]; } }); }); } function getDevopsTemplateInstances(_a) { var projectId = _a.projectId, templateId = _a.templateId, host = _a.host, secretInfo = _a.secretInfo, _b = _a.page, page = _b === void 0 ? 1 : _b, _c = _a.pageSize, pageSize = _c === void 0 ? 100 : _c; return __awaiter(this, void 0, void 0, function () { var axios, _d, headers, baseUrl, url, resp; return __generator(this, function (_e) { switch (_e.label) { case 0: axios = require('axios'); return [4 /*yield*/, getHeaderAndBaseUrl({ projectId: projectId, templateId: templateId, secretInfo: secretInfo, host: host })]; case 1: _d = _e.sent(), headers = _d.headers, baseUrl = _d.baseUrl; url = "".concat(baseUrl, "&page=").concat(page, "&pageSize=").concat(pageSize); return [4 /*yield*/, axios({ headers: headers, url: url, method: 'GET' })["catch"](function (err) { console.log('[getDevopsTemplateInstances] err: ', err); })]; case 2: resp = _e.sent(); return [2 /*return*/, resp.data]; } }); }); } function getAllDevopsTemplateInstances(reqParam) { return __awaiter(this, void 0, void 0, function () { var list; return __generator(this, function (_a) { switch (_a.label) { case 0: list = []; return [4 /*yield*/, innerGetInstances(list, reqParam)]; case 1: _a.sent(); return [2 /*return*/, list]; } }); }); } function innerGetInstances(allData, reqParam) { if (allData === void 0) { allData = []; } return __awaiter(this, void 0, void 0, function () { var resp, _a, page, _b, instances; return __generator(this, function (_c) { switch (_c.label) { case 0: return [4 /*yield*/, getDevopsTemplateInstances(reqParam)]; case 1: resp = _c.sent(); _a = resp.data || {}, page = _a.page, _b = _a.instances, instances = _b === void 0 ? [] : _b; allData.push.apply(allData, instances); if (!instances.length) return [2 /*return*/]; return [4 /*yield*/, innerGetInstances(allData, __assign(__assign({}, reqParam), { page: page + 1 }))]; case 2: _c.sent(); return [2 /*return*/]; } }); }); } function createDevopsTemplateInstances(_a) { var projectId = _a.projectId, templateId = _a.templateId, host = _a.host, pipelineName = _a.pipelineName, pipelineParam = _a.pipelineParam, secretInfo = _a.secretInfo, _b = _a.useTemplateSettings, useTemplateSettings = _b === void 0 ? true : _b; return __awaiter(this, void 0, void 0, function () { var axios, version, _c, headers, baseUrl, url, resp; return __generator(this, function (_d) { switch (_d.label) { case 0: axios = require('axios'); return [4 /*yield*/, getDevopsTemplateLatestVersion({ templateId: templateId, projectId: projectId, secretInfo: secretInfo, host: host })]; case 1: version = _d.sent(); console.log('[createDevopsTemplateInstances] version: ', version); return [4 /*yield*/, getHeaderAndBaseUrl({ projectId: projectId, templateId: templateId, secretInfo: secretInfo, host: host })]; case 2: _c = _d.sent(), headers = _c.headers, baseUrl = _c.baseUrl; url = "".concat(baseUrl, "&version=").concat(version, "&useTemplateSettings=").concat(useTemplateSettings); return [4 /*yield*/, axios({ headers: headers, url: url, method: 'post', data: [{ pipelineName: pipelineName, param: pipelineParam }] })["catch"](function (err) { console.log('[createDevopsTemplateInstances] err: ', err); })]; case 3: resp = _d.sent(); return [2 /*return*/, resp.data]; } }); }); } function updateDevopsTemplateInstances(_a) { var projectId = _a.projectId, templateId = _a.templateId, pipelineId = _a.pipelineId, host = _a.host, pipelineName = _a.pipelineName, pipelineParam = _a.pipelineParam, _b = _a.useTemplateSettings, useTemplateSettings = _b === void 0 ? true : _b, secretInfo = _a.secretInfo; return __awaiter(this, void 0, void 0, function () { var axios, version, _c, headers, baseUrl, url, resp; return __generator(this, function (_d) { switch (_d.label) { case 0: axios = require('axios'); return [4 /*yield*/, getDevopsTemplateLatestVersion({ templateId: templateId, projectId: projectId, secretInfo: secretInfo, host: host })]; case 1: version = _d.sent(); console.log('[updateDevopsTemplateInstances] version: ', version); return [4 /*yield*/, getHeaderAndBaseUrl({ projectId: projectId, templateId: templateId, secretInfo: secretInfo, host: host })]; case 2: _c = _d.sent(), headers = _c.headers, baseUrl = _c.baseUrl; url = "".concat(baseUrl, "&version=").concat(version, "&useTemplateSettings=").concat(useTemplateSettings); return [4 /*yield*/, axios({ headers: headers, url: url, method: 'PUT', data: [{ pipelineName: pipelineName, pipelineId: pipelineId, param: pipelineParam }] })["catch"](function (err) { console.log('[updateDevopsTemplateInstances] err: ', err); })]; case 3: resp = _d.sent(); return [2 /*return*/, resp.data]; } }); }); } export { createDevopsTemplateInstances, getAllDevopsTemplateInstances, getDevopsTemplateInstances, updateDevopsTemplateInstances };