@intuitionrobotics/bug-report
Version:
42 lines • 2.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BugReportModule = exports.BugReportModule_Class = exports.RequestKey_BugReportApi = void 0;
const ts_common_1 = require("@intuitionrobotics/ts-common");
const frontend_1 = require("@intuitionrobotics/thunderstorm/frontend");
const thunderstorm_1 = require("@intuitionrobotics/thunderstorm");
const api_1 = require("../../shared/api");
const Dialog_JiraOpened_1 = require("../ui/Dialog_JiraOpened");
exports.RequestKey_BugReportApi = "BugReport";
class BugReportModule_Class extends ts_common_1.Module {
constructor() {
super("BugReportModule");
this.reports = [];
this.sendBugReport = (subject, description, platforms) => {
const body = {
subject,
description,
reports: this.reports.map(report => ({ log: report.buffers, name: report.name })),
platforms
};
frontend_1.XhrHttpModule
.createRequest(thunderstorm_1.HttpMethod.POST, exports.RequestKey_BugReportApi)
.setJsonBody(body)
.setRelativeUrl("/v1/bug-reports/report")
.setOnError(() => this.logWarning(`Error updating the report`))
.execute((response) => {
const jiraTicket = response.find(ticket => ticket.platform === api_1.Platform_Jira);
if (jiraTicket)
Dialog_JiraOpened_1.Dialog_JiraOpened.show(jiraTicket.issueId);
});
};
(0, ts_common_1.addItemToArray)(this.reports, new ts_common_1.LogClient_MemBuffer("default"));
(0, ts_common_1.addItemToArray)(this.reports, new ts_common_1.LogClient_MemBuffer("info")
.setFilter(level => ts_common_1.LogLevelOrdinal.indexOf(level) >= ts_common_1.LogLevelOrdinal.indexOf(ts_common_1.LogLevel.Info)));
}
init() {
this.reports.forEach(report => ts_common_1.BeLogged.addClient(report));
}
}
exports.BugReportModule_Class = BugReportModule_Class;
exports.BugReportModule = new BugReportModule_Class();
//# sourceMappingURL=BugReportModule.js.map