diff --git a/core/server/src/app.ts b/core/server/src/app.ts index 6db8da89..5c122481 100644 --- a/core/server/src/app.ts +++ b/core/server/src/app.ts @@ -43,9 +43,13 @@ app.use( ); app.use(appRouter); -const server: TServerInstance = createServer(app); +const http_srv: TServerInstance = createServer(app); -server.listen(process.env.SERVER_PORT, () => { +http_srv.listen(process.env.SERVER_PORT, () => { console.log(`Server is listening on port ${process.env.SERVER_PORT}`); - initialServices(server); + initialServices({ http_srv, helmet, cookieParser, compression }); }); + +export type Helmet = typeof helmet; +export type CookieParser = typeof cookieParser; +export type Compression = typeof compression; diff --git a/core/server/src/utils/initial-services/make-initial-services.ts b/core/server/src/utils/initial-services/make-initial-services.ts index 45408bf3..0ca2f44e 100644 --- a/core/server/src/utils/initial-services/make-initial-services.ts +++ b/core/server/src/utils/initial-services/make-initial-services.ts @@ -1,4 +1,5 @@ import { Transporter } from "nodemailer"; +import { Compression, CookieParser, Helmet } from "../../app"; import Redis from "../../config/redis"; import SocketIO, { TServerInstance } from "../../config/socket.io"; import Storage from "../../config/storage"; @@ -7,7 +8,17 @@ import { IMakeConnectDb } from "../../data-access/make-connect-db"; import { DefaultAdmin } from "../initial-data/make-default-admin"; import { DefaultSystemConfiguration } from "../initial-data/make-default-system-configuration"; -export type InitializeServices = (http_server: TServerInstance) => void; +export type InitializeServices = ({ + http_srv, + helmet, + cookieParser, + compression, +}: { + http_srv: TServerInstance; + helmet: Helmet; + cookieParser: CookieParser; + compression: Compression; +}) => void; export default function makeInitialServices({ connectDb, @@ -28,7 +39,12 @@ export default function makeInitialServices({ tfa: typeof TFA; socketIO: typeof SocketIO; }): InitializeServices { - return function initializeServices(http_server) { + return function initializeServices({ + http_srv, + helmet, + cookieParser, + compression, + }) { try { connectDb().then(() => Promise.all([createDefaultAdmin(), createDefaultSystemConfiguration()]) @@ -38,7 +54,7 @@ export default function makeInitialServices({ // new storage(); new redis(); new tfa(); - new socketIO(http_server); + new socketIO({ http_srv, helmet, cookieParser, compression }); } catch (error) { console.error(error); process.exit(7);