From 44e886868ee375161ef7b73208ead46e796ae358 Mon Sep 17 00:00:00 2001 From: matt Date: Wed, 20 Jul 2022 20:03:21 +0100 Subject: [PATCH] Added mongo authentication --- .env.example | 5 ++++- src/server.ts | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index 7e52166..f45fa3d 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,5 @@ -MONGODB_URI=mongodb://localhost/bandmaster-main +MONGODB_HOST=localhost +MONGODB_DB=bandmaster-main +MONGO_USER= +MONGO_PASS= PAYLOAD_SECRET= \ No newline at end of file diff --git a/src/server.ts b/src/server.ts index deee6d5..c700a12 100644 --- a/src/server.ts +++ b/src/server.ts @@ -12,10 +12,26 @@ app.get('/', (_, res) => { res.redirect('/admin'); }); +const generateMongoURI = () => { + let URI = 'mongodb://'; + + const auth = + !(typeof process.env.MONGODB_USER === 'undefined') && + process.env.MONGODB_USER !== ''; + + if (auth) + URI += `${process.env.MONGODB_USER}:${process.env.MONGODB_PASS}@`; + + URI += `${process.env.MONGODB_HOST}/`; + URI += process.env.MONGODB_DB; + + return URI; +}; + // Initialize Payload payload.init({ secret: process.env.PAYLOAD_SECRET, - mongoURL: process.env.MONGODB_URI, + mongoURL: generateMongoURI(), express: app, onInit: () => { payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`);