morning-builds-core
Version:
Core functionality for Morning Builds
45 lines • 2.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var dateFormat = require("date-fns/format");
var Statistics = /** @class */ (function () {
function Statistics(firebaseCrud) {
this.firebaseCrud = firebaseCrud;
}
Statistics.prototype.addToTimeSeries = function (_a) {
var build = _a.build, failReason = _a.failReason, failDetails = _a.failDetails, failingTests = _a.failingTests;
return this.firebaseCrud.create("statistics/timeseries/" + dateFormat(build.completedDate, 'YYYY-MM-DD') + "/" + build.planKey, {
failReason: failReason,
failDetails: failDetails || null,
resultNumber: build.resultNumber,
});
};
Statistics.prototype.addToBuildFailCount = function (_a) {
var build = _a.build, failReason = _a.failReason, failDetails = _a.failDetails, failingTests = _a.failingTests;
return this.firebaseCrud.create("statistics/buildfailcount/" + build.planKey + "/" + dateFormat(build.completedDate, 'YYYY-MM-DD'), {
failReason: failReason,
failDetails: failDetails || null,
resultNumber: build.resultNumber,
});
};
Statistics.prototype.fetchTimeseries = function (_a) {
var _b = (_a === void 0 ? {} : _a).limit, limit = _b === void 0 ? 30 : _b;
return this.firebaseCrud
.read("statistics/timeseries", { limit: limit, topOrBottom: 'bottom' })
.then(function (node) { return (Object.keys(node).map(function (date) { return ({
date: date,
builds: Object.entries(node[date])
.map(function (_a) {
var planKey = _a[0], _b = _a[1], resultNumber = _b.resultNumber, failReason = _b.failReason, failDetails = _b.failDetails;
return ({
planKey: planKey,
resultNumber: resultNumber,
failReason: failReason,
failDetails: failDetails
});
})
}); })); });
};
return Statistics;
}());
exports.Statistics = Statistics;
//# sourceMappingURL=statistics.js.map