From 0219adee9265fa0cfe7aa4202f728a4dabc8451a Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Fri, 28 Jun 2024 12:41:20 +0100 Subject: [PATCH] Minor Changes --- code/server/src/config.ts | 2 +- code/server/src/server.ts | 71 ++++++++++++++++++--------------------- 2 files changed, 33 insertions(+), 40 deletions(-) diff --git a/code/server/src/config.ts b/code/server/src/config.ts index e6122543..9cca19a3 100644 --- a/code/server/src/config.ts +++ b/code/server/src/config.ts @@ -5,7 +5,7 @@ import { ServerOptions } from 'socket.io'; config(); const PORT = parseInt(process.env.PORT || '8080'); -const ORIGIN = 'http://localhost:5173'; +const ORIGIN = process.env.ORIGIN?.split(',') || ['http://localhost:5173']; const SERVER_OPTIONS: Partial = { cors: { diff --git a/code/server/src/server.ts b/code/server/src/server.ts index a282ca86..17080ad3 100644 --- a/code/server/src/server.ts +++ b/code/server/src/server.ts @@ -13,48 +13,41 @@ import { TestDatabases } from '@databases/TestDatabases'; import { ProductionDatabases } from '@databases/ProductionDatabases'; import { authMiddleware } from '@controllers/http/middlewares/authMiddlewares'; -/** - * Boot the server - * Used instead of directly calling the server in order to allow for args passing - * @param args - */ -function bootServer(args: string[]): void { - // validate server mode - const mode = args[0] || 'prod'; - if (args.length > 0 && mode !== 'dev' && mode !== 'prod') { - ServerLogger.logError('Invalid server mode. Use "dev" or "prod"'); - process.exit(1); - } - // setup services and databases - const databases = mode === 'dev' ? new TestDatabases() : new ProductionDatabases(); - const services = new Services(databases); - ServerLogger.logWarning('Starting server in ' + `${mode} mode...`); +// setup server mode +const args = process.argv.slice(2); +const mode = args[0] || 'prod'; +if (args.length > 0 && mode !== 'dev' && mode !== 'prod') { + ServerLogger.logError('Invalid server mode. Use "dev" or "prod"'); + process.exit(1); +} - // setup server and controllers - const app = express(); - const server = http.createServer(app); - const io = new Server(server, config.SERVER_OPTIONS); - const api = router(services, io); - app.set('trust proxy', 1); // trust first proxy for secure cookies +// setup services and databases +const databases = mode === 'dev' ? new TestDatabases() : new ProductionDatabases(); +const services = new Services(databases); +ServerLogger.logWarning('Starting server in ' + `${mode} mode...`); - // setup middlewares - app.use(cors(config.SERVER_OPTIONS.cors)); - app.use(cookieParser()); - app.use(express.json()); +// setup server and controllers +const app = express(); +const server = http.createServer(app); +const io = new Server(server, config.SERVER_OPTIONS); +const api = router(services, io); +app.set('trust proxy', 1); // trust first proxy for secure cookies - // setup routes - app.use('/', api); +// setup middlewares +app.use(cors(config.SERVER_OPTIONS.cors)); +app.use(cookieParser()); +app.use(express.json()); - // setup event handlers - io.engine.use(cookieParser()); - io.engine.use(authMiddleware); - const events = eventsInit(services); - const socketEvents = initSocketEvents(events); - io.on('connection', socketEvents); +// setup routes +app.use('/', api); - server.listen(config.PORT, () => { - ServerLogger.logSuccess(`Listening on port ${config.PORT}`); - }); -} +// setup event handlers +io.engine.use(cookieParser()); +io.engine.use(authMiddleware); +const events = eventsInit(services); +const socketEvents = initSocketEvents(events); +io.on('connection', socketEvents); -bootServer(process.argv.slice(2)); +server.listen(config.PORT, () => { + ServerLogger.logSuccess(`Listening on port ${config.PORT}`); +});