diff --git a/apps/server/src/network/handlers/CommonHandler.ts b/apps/server/src/network/handlers/CommonHandler.ts new file mode 100644 index 0000000..ef0dc0e --- /dev/null +++ b/apps/server/src/network/handlers/CommonHandler.ts @@ -0,0 +1,23 @@ +import { Server, Socket } from "socket.io"; +import { + createEmitToAll, + createEmitToRoom, + createEmitToSocket, +} from "@server/network/adapters/socketEmitters"; + +export type CommonHandlerContext = { + emitToAll: ReturnType; + emitToRoom: ReturnType; + emitToSocket: ReturnType; +}; + +export const createCommonHandlerContext = ( + io: Server, + socket: Socket +): CommonHandlerContext => { + return { + emitToAll: createEmitToAll(io), + emitToRoom: createEmitToRoom(io), + emitToSocket: createEmitToSocket(socket), + }; +}; diff --git a/apps/server/src/network/handlers/GameHandler.ts b/apps/server/src/network/handlers/GameHandler.ts new file mode 100644 index 0000000..c6b1ef1 --- /dev/null +++ b/apps/server/src/network/handlers/GameHandler.ts @@ -0,0 +1,2 @@ +export { registerGameHandlers } from "./game/registerGameHandlers"; +export { handleGameDisconnect } from "./game/handleGameDisconnect"; diff --git a/apps/server/src/network/handlers/RoomHandler.ts b/apps/server/src/network/handlers/RoomHandler.ts new file mode 100644 index 0000000..dcd3d5e --- /dev/null +++ b/apps/server/src/network/handlers/RoomHandler.ts @@ -0,0 +1,2 @@ +export { registerRoomHandlers } from "./room/registerRoomHandlers"; +export { handleRoomDisconnect } from "./room/handleRoomDisconnect"; diff --git a/apps/server/src/network/handlers/game/handleGameDisconnect.ts b/apps/server/src/network/handlers/game/handleGameDisconnect.ts new file mode 100644 index 0000000..0e92b62 --- /dev/null +++ b/apps/server/src/network/handlers/game/handleGameDisconnect.ts @@ -0,0 +1,11 @@ +import { Server } from "socket.io"; +import { GameManager } from "@server/domains/game/GameManager"; +import { handleGameDisconnect as handleDomainGameDisconnect } from "@server/domains/game/GameHandler"; + +export const handleGameDisconnect = ( + io: Server, + gameManager: GameManager, + playerId: string +) => { + handleDomainGameDisconnect(io, gameManager, playerId); +}; diff --git a/apps/server/src/network/handlers/game/registerGameHandlers.ts b/apps/server/src/network/handlers/game/registerGameHandlers.ts new file mode 100644 index 0000000..bc7f700 --- /dev/null +++ b/apps/server/src/network/handlers/game/registerGameHandlers.ts @@ -0,0 +1,13 @@ +import { Server, Socket } from "socket.io"; +import { GameManager } from "@server/domains/game/GameManager"; +import { RoomManager } from "@server/domains/room/RoomManager"; +import { registerGameHandlers as registerDomainGameHandlers } from "@server/domains/game/GameHandler"; + +export const registerGameHandlers = ( + io: Server, + socket: Socket, + gameManager: GameManager, + roomManager: RoomManager +) => { + registerDomainGameHandlers(io, socket, gameManager, roomManager); +}; diff --git a/apps/server/src/network/handlers/room/handleRoomDisconnect.ts b/apps/server/src/network/handlers/room/handleRoomDisconnect.ts new file mode 100644 index 0000000..11b3c7d --- /dev/null +++ b/apps/server/src/network/handlers/room/handleRoomDisconnect.ts @@ -0,0 +1,11 @@ +import { Server, Socket } from "socket.io"; +import { RoomManager } from "@server/domains/room/RoomManager"; +import { handleRoomDisconnect as handleDomainRoomDisconnect } from "@server/domains/room/RoomHandler"; + +export const handleRoomDisconnect = ( + io: Server, + socket: Socket, + roomManager: RoomManager +) => { + handleDomainRoomDisconnect(io, socket, roomManager); +}; diff --git a/apps/server/src/network/handlers/room/registerRoomHandlers.ts b/apps/server/src/network/handlers/room/registerRoomHandlers.ts new file mode 100644 index 0000000..cafbe17 --- /dev/null +++ b/apps/server/src/network/handlers/room/registerRoomHandlers.ts @@ -0,0 +1,11 @@ +import { Server, Socket } from "socket.io"; +import { RoomManager } from "@server/domains/room/RoomManager"; +import { registerRoomHandlers as registerDomainRoomHandlers } from "@server/domains/room/RoomHandler"; + +export const registerRoomHandlers = ( + io: Server, + socket: Socket, + roomManager: RoomManager +) => { + registerDomainRoomHandlers(io, socket, roomManager); +};