From cbf0165893964bbbf4f7c80e08448c9c8c04b2a8 Mon Sep 17 00:00:00 2001 From: csrapr <26280794+csrapr@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:43:20 +0000 Subject: [PATCH] Feat: make compute schema middleware for 'db' changing --- lib/compute-schema.js | 12 ++++++++++++ lib/routes.js | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 lib/compute-schema.js diff --git a/lib/compute-schema.js b/lib/compute-schema.js new file mode 100644 index 00000000..e072c3b9 --- /dev/null +++ b/lib/compute-schema.js @@ -0,0 +1,12 @@ +const { asyncLocalStorage } = require('./async-storage') + +const computeSchema = (req, res, next) => { + const store = new Map() + store.set('schema', 'public') + store.set('defaultSchema', 'ERROR_SCHEMA') + asyncLocalStorage.run(store, () => { + next() + }) +} + +module.exports = computeSchema diff --git a/lib/routes.js b/lib/routes.js index 49095f15..9b062a22 100644 --- a/lib/routes.js +++ b/lib/routes.js @@ -8,6 +8,8 @@ const nocache = require('nocache') const authorize = require('./middlewares/authorize') const errorHandler = require('./middlewares/errorHandler') const filterOldRequests = require('./middlewares/filterOldRequests') +const computeSchema = require('./compute-schema') +const dbErrorCodes = require('./db-error-codes') const logger = require('./logger') const options = require('./options') const findOperatorId = require('./middlewares/operatorId') @@ -56,6 +58,7 @@ app.use('/', pairingRoutes) app.use(findOperatorId) app.use(populateDeviceId) +app.use(computeSchema) if (!devMode) app.use(authorize) app.use(configRequiredRoutes, populateSettings) app.use(filterOldRequests)