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
JavaScript
;
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