diff --git a/src/services/storage/settingsStorage.ts b/src/services/storage/settingsStorage.ts index ddf76256..e2e95b4b 100644 --- a/src/services/storage/settingsStorage.ts +++ b/src/services/storage/settingsStorage.ts @@ -22,12 +22,14 @@ export default class SettingsStorage { } async setDbEnvIFNeeded(envName: string, envValue: string): Promise { - const setting = await this.dbs.FindOne('AdminSettings', { where: { env_name: envName } }); - if (!setting) { - await this.dbs.CreateAndSave('AdminSettings', { env_name: envName, env_value: envValue }); - } else if (setting.env_value !== envValue) { - setting.env_value = envValue; - await this.dbs.Update('AdminSettings', setting.serial_id, setting); - } + await this.dbs.Tx(async tx => { + const setting = await this.dbs.FindOne('AdminSettings', { where: { env_name: envName } }, tx); + if (!setting) { + await this.dbs.CreateAndSave('AdminSettings', { env_name: envName, env_value: envValue }, tx); + } else if (setting.env_value !== envValue) { + setting.env_value = envValue; + await this.dbs.Update('AdminSettings', setting.serial_id, setting, tx); + } + }) } } \ No newline at end of file