From 2eb9edee696918ee83c9a57af186b4e6417ab566 Mon Sep 17 00:00:00 2001 From: Stephan <57194608+stephan418@users.noreply.github.com> Date: Mon, 16 May 2022 15:38:22 +0200 Subject: [PATCH] Only create default admin when in development mode --- src/app.ts | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/app.ts b/src/app.ts index 39dcc0f..83da103 100644 --- a/src/app.ts +++ b/src/app.ts @@ -19,21 +19,26 @@ require("dotenv").config(); // Load dotenv config const app = express(); -if (process.env.NODE_ENV === "development") { - logger.info("Using development mode"); -} - async function main() { - // Dev - await prisma.admin.upsert({ - where: { id: 1 }, - create: { - name: "admin", - password: await argon2.hash("test", { type: argon2.argon2id }), - permission_level: "ELEVATED", - }, - update: {}, - }); + if (process.env.NODE_ENV === "development") { + logger.info("Using development mode"); + logger.warning( + "This mode should not be used in any production-near environment as it is significantly less secure than the production mode" + ); + + // TODO: How should you login to the prod server by default? Maybe random password? + await prisma.admin.upsert({ + where: { id: 1 }, + create: { + name: "admin", + password: await argon2.hash("test", { type: argon2.argon2id }), + permission_level: "ELEVATED", + }, + update: {}, + }); + } else { + logger.info("Using production mode"); + } // Todo: Everything