From dfed1dd757c51b6442b55a754557561bca389ef2 Mon Sep 17 00:00:00 2001 From: Reto Brunner Date: Sat, 31 Dec 2022 13:53:29 +0100 Subject: [PATCH] skip migrations if the user has disabled logging --- server/command-line/storage.ts | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/server/command-line/storage.ts b/server/command-line/storage.ts index 6f1d5673..df9acea0 100644 --- a/server/command-line/storage.ts +++ b/server/command-line/storage.ts @@ -29,23 +29,40 @@ async function runMigrations(user: string) { throw new Error(`invalid user ${user}`); } - return migrateUser(user); + return migrateUser(manager, user); } for (const name of users) { - await migrateUser(name); + await migrateUser(manager, name); // if any migration fails we blow up, // chances are the rest won't complete either } } // runs sqlite migrations for a user, which must exist -async function migrateUser(user: string) { +async function migrateUser(manager: ClientManager, user: string) { log.info("handling user", user); + + if (!isUserLogEnabled(manager, user)) { + log.info("logging disabled for user", user, ". Skipping"); + return; + } + const sqlite = new SqliteMessageStorage(user); await sqlite.enable(); // enable runs migrations await sqlite.close(); log.info("user", user, "migrated successfully"); } +function isUserLogEnabled(manager: ClientManager, user: string): boolean { + const conf = manager.readUserConfig(user); + + if (!conf) { + log.error("Could not open user configuration of", user); + return false; + } + + return conf.log; +} + export default program;