Took 14 minutes
This commit is contained in:
Tobias Hopp 2023-03-13 11:38:05 +01:00
parent b7fd5f87bc
commit 422b210e73
3 changed files with 14 additions and 6 deletions

View File

@ -9,14 +9,19 @@ export class ErrorHandler {
return new Promise<void>((resolve, reject) => { return new Promise<void>((resolve, reject) => {
let encrypted = Buffer.from(encrypter.encrypt(error.toJson())).toString("base64"); let encrypted = Buffer.from(encrypter.encrypt(error.toJson())).toString("base64");
axios.post('https://itender.iif.li/report/send', encrypted, {headers: {"Content-Type": "text/plain", Accept: "application/json"}} ).then(res => { axios.post('https://itender.iif.li/report/send', encrypted, {
if( res.status != 200 ) headers: {
reject(); "Content-Type": "text/plain",
Accept: "application/json"
}
}).then(res => {
if (res.status != 200)
console.error("Could not send error report");
else else
return resolve(); return resolve();
console.log("Error report was sent to iTender Manager"); console.log("Error report was sent to iTender Manager");
}).catch((e) => reject(e)); }).catch((e) => console.error);
}); });
} }
} }
@ -26,10 +31,12 @@ export class InternalError {
private readonly stack: string; private readonly stack: string;
private readonly name: string; private readonly name: string;
constructor(message: string, stack: string|undefined, name?: string) { constructor(message: string, stack: string | undefined, name?: string) {
this.message = message; this.message = message;
this.stack = stack ? stack : ""; this.stack = stack ? stack : "";
this.name = name ? name : ""; this.name = name ? name : "";
console.error(`\n-------- [INTERNAL ERROR] --------\nName: ${this.name}\nMessage: ${this.message}\nStack: ${this.stack}\n\n`)
} }
public toJson(): string { public toJson(): string {

View File

@ -307,7 +307,7 @@ router.ws('/', async (ws, req, next) => {
try { try {
let result = await exec(path.join(global.appRoot, "/../update.sh")); let result = await exec(path.join(global.appRoot, "/../update.sh"));
if (result.stderr) if (result.stderr)
await WebSocketHandler.send(new WebSocketPayload(WebSocketEvent.ERROR, "Der iTender konnte das Update nicht installieren.<br>Möglicherweise ist die Internetverbindung nicht ausreichend oder das Update enthält Fehler.<br>")); await WebSocketHandler.send(new WebSocketPayload(WebSocketEvent.ERROR, "Der iTender konnte das Update nicht installieren.<br>Möglicherweise ist die Internetverbindung nicht ausreichend oder das Update enthält Fehler.<br><br><em>" + result.stderr + "</em>"));
let error = new InternalError("Update request from user-interface failed while executing update script", result.stderr, result.code); let error = new InternalError("Update request from user-interface failed while executing update script", result.stderr, result.code);
await ErrorHandler.sendError(error); await ErrorHandler.sendError(error);
} catch (e) { } catch (e) {

View File

@ -135,6 +135,7 @@ export class WebWebSocketHandler {
modal.addContent(document.createElement("br")); modal.addContent(document.createElement("br"));
modal.addButton(ButtonType.SECONDARY, "Schließen", () => modal.close()); modal.addButton(ButtonType.SECONDARY, "Schließen", () => modal.close());
modal.open(); modal.open();
Settings.inUpdate = false;
break; break;
} }