From d0d36a95ec96396b81aa428c6332d3b6546c1cb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcell=20F=C3=BCl=C3=B6p?= Date: Mon, 6 Mar 2023 09:33:01 +0000 Subject: [PATCH] fix: add oidc-config setting via setup.js rather than migrations --- .../20230226135501_add_oidc_config_segging.js | 40 ------------------ backend/setup.js | 42 ++++++++++++------- 2 files changed, 27 insertions(+), 55 deletions(-) delete mode 100644 backend/migrations/20230226135501_add_oidc_config_segging.js diff --git a/backend/migrations/20230226135501_add_oidc_config_segging.js b/backend/migrations/20230226135501_add_oidc_config_segging.js deleted file mode 100644 index 7af85c7b..00000000 --- a/backend/migrations/20230226135501_add_oidc_config_segging.js +++ /dev/null @@ -1,40 +0,0 @@ -const migrate_name = 'oidc_config_setting'; -const settingModel = require('../models/setting'); -const logger = require('../logger').migrate; - -/** - * Migrate - * - * @see http://knexjs.org/#Schema - * - * @param {Promise} Promise - * @returns {Promise} - */ -exports.up = function () { - logger.info('[' + migrate_name + '] Migrating Up...'); - - return settingModel - .query() - .insert({ - id: 'oidc-config', - name: 'Open ID Connect', - description: 'Sign in to Nginx Proxy Manager with an external Identity Provider', - value: 'metadata', - meta: {}, - }); -}; - -/** - * Undo Migrate - * - * @param {Promise} Promise - * @returns {Promise} - */ -exports.down = function () { - logger.info('[' + migrate_name + '] Migrating Down...'); - - return settingModel - .query() - .delete() - .where('setting_id', 'oidc-config'); -}; \ No newline at end of file diff --git a/backend/setup.js b/backend/setup.js index fff6cfaa..f36927c9 100644 --- a/backend/setup.js +++ b/backend/setup.js @@ -131,7 +131,7 @@ const setupDefaultUser = () => { * @returns {Promise} */ const setupDefaultSettings = () => { - return settingModel + return Promise.all([settingModel .query() .select(settingModel.raw('COUNT(`id`) as `count`')) .where({id: 'default-site'}) @@ -148,25 +148,37 @@ const setupDefaultSettings = () => { meta: {}, }) .then(() => { - logger.info('Default settings added'); - }); - settingModel - .query() - .insert({ - id: 'oidc-config', - name: 'Open ID Connect', - description: 'Sign in to Nginx Proxy Manager with an external Identity Provider', - value: 'metadata', - meta: {}, - }) - .then(() => { - logger.info('Default settings added'); + logger.info('Added default-site setting'); }); } if (debug_mode) { logger.debug('Default setting setup not required'); } - }); + }), + settingModel + .query() + .select(settingModel.raw('COUNT(`id`) as `count`')) + .where({id: 'oidc-config'}) + .first() + .then((row) => { + if (!row.count) { + settingModel + .query() + .insert({ + id: 'oidc-config', + name: 'Open ID Connect', + description: 'Sign in to Nginx Proxy Manager with an external Identity Provider', + value: 'metadata', + meta: {}, + }) + .then(() => { + logger.info('Added oidc-config setting'); + }); + } + if (debug_mode) { + logger.debug('Default setting setup not required'); + } + })]); }; /**