UNPKG

angles-javascript-client

Version:

This is the javascript client for the Angles Dashboard. It allows you to store your test results.

106 lines 3.86 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.BuildRequests = void 0; const BaseRequests_1 = require("./BaseRequests"); const moment_1 = __importDefault(require("moment")); class BuildRequests extends BaseRequests_1.BaseRequests { constructor(axiosInstance) { super(axiosInstance); } createBuild(request) { return this.post(`build`, request); } /** * This function allows you to retrieve the builds for a specific team and also allows you to specify * which builds and if you want to include the execution details. * * @param {string} teamId * @param {string[]=} buildIds * @param {boolean} [returnExecutionDetails=false] */ getBuilds(teamId, buildIds, returnExecutionDetails) { let requestPath = `/build?teamId=${teamId}`; if (buildIds) requestPath += `&buildIds=${buildIds.join(',')}`; if (returnExecutionDetails) requestPath += `&returnExecutionDetails=${returnExecutionDetails}`; return this.get(requestPath); } getBuildsWithFilters(teamId, filterEnvironments, filterComponents, skip, limit) { let params = { teamId, skip, limit, }; if (filterEnvironments && filterEnvironments.length > 0) { params = Object.assign({ environmentIds: filterEnvironments.join(',') }, params); } if (filterComponents && filterComponents.length > 0) { params = Object.assign({ componentIds: filterComponents.join(',') }, params); } return this.get('/build', { params, }); } getBuildsWithDateFilters(teamId, filterEnvironments, filterComponents, skip, limit, fromDate, toDate) { let params = { teamId, skip, limit, fromDate: moment_1.default(fromDate).format('YYYY-MM-DD'), toDate: moment_1.default(toDate).format('YYYY-MM-DD'), }; if (filterEnvironments && filterEnvironments.length > 0) { params = Object.assign({ environmentIds: filterEnvironments.join(',') }, params); } if (filterComponents && filterComponents.length > 0) { params = Object.assign({ componentIds: filterComponents.join(',') }, params); } return this.get('/build', { params, }); } /** * This function will remove builds by age (including executions and screenshots). * NOTE: this can not be reversed, once deleted all builds and assets will have been removed. * * @param {string} teamId - id of the team you want to remove the builds for. * @param {number} ageInDays - age in number of days you want to remove the builds for. e.g. 90 will * remove any builds over 90 days old. */ deleteBuilds(teamId, ageInDays) { return this.delete(`build`, { params: { teamId, ageInDays, } }); } getBuild(buildId) { return this.get(`build/${buildId}`); } getBuildReport(buildId) { return this.get(`build/${buildId}/report`); } deleteBuild(buildId) { return this.delete(`build/${buildId}`); } // TODO: Update build setKeep(buildId, keep) { return this.put(`build/${buildId}/keep`, { keep }); } addArtifacts(buildId, artifacts) { return this.put(`build/${buildId}/artifacts`, { artifacts, }, { headers: { 'Content-Type': 'application/json', }, }); } } exports.BuildRequests = BuildRequests; //# sourceMappingURL=BuildRequests.js.map