/**
* handleRoomDisconnect
* ルーム切断ユースケースを呼び出してルーム状態更新を配信する
*/
import { Server } from "socket.io";
import type { DisconnectRoomPort } from "@server/domains/room/application/ports/roomUseCasePorts";
import { roomDisconnectUseCase } from "@server/domains/room/application/useCases/roomDisconnectUseCase";
import { createRoomDisconnectOutputAdapter } from "./createRoomOutputAdapter";
/** 切断ソケットのルーム離脱処理を実行して更新通知する */
export const handleRoomDisconnect = (
io: Server,
socketId: string,
roomManager: DisconnectRoomPort
) => {
const roomDisconnectOutputAdapter = createRoomDisconnectOutputAdapter(io);
roomDisconnectUseCase({
roomManager,
socketId,
output: roomDisconnectOutputAdapter,
});
};