Skip to content

Commit

Permalink
using express middleware for socket
Browse files Browse the repository at this point in the history
  • Loading branch information
huytran17 committed May 25, 2024
1 parent c1f8957 commit e62e07f
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
10 changes: 7 additions & 3 deletions core/server/src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
22 changes: 19 additions & 3 deletions core/server/src/utils/initial-services/make-initial-services.ts
Original file line number Diff line number Diff line change
@@ -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";
Expand All @@ -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,
Expand All @@ -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()])
Expand All @@ -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);
Expand Down

0 comments on commit e62e07f

Please sign in to comment.