UNPKG

@intuitionrobotics/bug-report

Version:
38 lines 1.75 kB
import { addItemToArray, BeLogged, LogClient_MemBuffer, LogLevel, LogLevelOrdinal, Module } from "@intuitionrobotics/ts-common"; import { XhrHttpModule } from "@intuitionrobotics/thunderstorm/frontend"; import { HttpMethod } from "@intuitionrobotics/thunderstorm"; import { Platform_Jira } from "../../shared/api.js"; import { Dialog_JiraOpened } from "../ui/Dialog_JiraOpened.js"; export const RequestKey_BugReportApi = "BugReport"; export class BugReportModule_Class extends Module { reports = []; constructor() { super("BugReportModule"); addItemToArray(this.reports, new LogClient_MemBuffer("default")); addItemToArray(this.reports, new LogClient_MemBuffer("info") .setFilter(level => LogLevelOrdinal.indexOf(level) >= LogLevelOrdinal.indexOf(LogLevel.Info))); } init() { this.reports.forEach(report => BeLogged.addClient(report)); } sendBugReport = (subject, description, platforms) => { const body = { subject, description, reports: this.reports.map(report => ({ log: report.buffers, name: report.name })), platforms }; XhrHttpModule .createRequest(HttpMethod.POST, 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 === Platform_Jira); if (jiraTicket) Dialog_JiraOpened.show(jiraTicket.issueId); }); }; } export const BugReportModule = new BugReportModule_Class(); //# sourceMappingURL=BugReportModule.js.map