From d81b3acb94d97211d9215b548280519767dd41e7 Mon Sep 17 00:00:00 2001 From: dswbx Date: Wed, 11 Dec 2024 18:25:31 +0100 Subject: [PATCH] mm: disable console as it might error trying to fetch config --- app/src/core/utils/test.ts | 11 ++++++++ app/src/data/entities/query/Repository.ts | 5 +++- app/src/modules/ModuleManager.ts | 31 +++++++++++++---------- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/app/src/core/utils/test.ts b/app/src/core/utils/test.ts index 3753944..cf33e1a 100644 --- a/app/src/core/utils/test.ts +++ b/app/src/core/utils/test.ts @@ -5,10 +5,21 @@ const _oldConsoles = { error: console.error }; +export async function withDisabledConsole( + fn: () => Promise, + severities: ConsoleSeverity[] = ["log"] +): Promise { + const enable = disableConsoleLog(severities); + const result = await fn(); + enable(); + return result; +} + export function disableConsoleLog(severities: ConsoleSeverity[] = ["log"]) { severities.forEach((severity) => { console[severity] = () => null; }); + return enableConsoleLog; } export function enableConsoleLog() { diff --git a/app/src/data/entities/query/Repository.ts b/app/src/data/entities/query/Repository.ts index 8156869..f5b576c 100644 --- a/app/src/data/entities/query/Repository.ts +++ b/app/src/data/entities/query/Repository.ts @@ -201,7 +201,10 @@ export class Repository implements EmitsEve } }; } catch (e) { - console.error("many error", e, compiled); + if (e instanceof Error) { + console.error("[ERROR] Repository.performQuery", e.message); + } + throw e; } } diff --git a/app/src/modules/ModuleManager.ts b/app/src/modules/ModuleManager.ts index 5196c1f..db7b285 100644 --- a/app/src/modules/ModuleManager.ts +++ b/app/src/modules/ModuleManager.ts @@ -10,7 +10,8 @@ import { mark, objectEach, stripMark, - transformObject + transformObject, + withDisabledConsole } from "core/utils"; import { type Connection, @@ -231,19 +232,23 @@ export class ModuleManager { private async fetch(): Promise { this.logger.context("fetch").log("fetching"); - const startTime = performance.now(); - const { data: result } = await this.repo().findOne( - { type: "config" }, - { - sort: { by: "version", dir: "desc" } - } - ); - if (!result) { - throw BkndError.with("no config"); - } + // disabling console log, because the table might not exist yet + return await withDisabledConsole(async () => { + const startTime = performance.now(); + const { data: result } = await this.repo().findOne( + { type: "config" }, + { + sort: { by: "version", dir: "desc" } + } + ); - this.logger.log("took", performance.now() - startTime, "ms", result.version).clear(); - return result as ConfigTable; + if (!result) { + throw BkndError.with("no config"); + } + + this.logger.log("took", performance.now() - startTime, "ms", result.version).clear(); + return result as ConfigTable; + }, ["log", "error", "warn"]); } async save() {