Files
eene_dashboard/backend/src/socket.ts
EENE Dashboard 22366dde72 Initial commit - EENE Dashboard
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 18:07:10 +09:00

30 lines
883 B
TypeScript

import type { Server, Socket } from 'socket.io';
export function setupSocketHandlers(io: Server): void {
io.on('connection', (socket: Socket) => {
console.log(`[Socket] Connected: ${socket.id}`);
// 특정 업무 상세 방에 참여 (우측 모니터 패널용)
socket.on('join:task', (taskId: string) => {
socket.join(`task:${taskId}`);
});
socket.on('leave:task', (taskId: string) => {
socket.leave(`task:${taskId}`);
});
socket.on('disconnect', () => {
console.log(`[Socket] Disconnected: ${socket.id}`);
});
});
}
// 업무 변경 시 해당 방에 브로드캐스트 (라우터에서 호출)
export function emitTaskUpdated(io: Server, taskId: string, data: unknown): void {
io.to(`task:${taskId}`).emit('task:updated', data);
}
export function emitTaskListRefresh(io: Server): void {
io.emit('tasks:refresh');
}