import { WebSocketGateway, WebSocketServer } from '@nestjs/websockets'; import { UseGuards, Logger } from '@nestjs/common'; import { Server, Socket } from 'socket.io'; import { WebsocketGuard } from '../auth/guard/websocket.guard'; @WebSocketGateway({ cors: { origin: 'https://64spbch3-5173.asse.devtunnels.ms', credentials: true, }, }) export class AuditGateway { @WebSocketServer() server: Server; private logger = new Logger('AuditGateway'); @UseGuards(WebsocketGuard) handleConnection(client: Socket) { this.logger.log(`Klien terhubung: ${client.id}`); } handleDisconnect(client: Socket) { this.logger.log(`Klien terputus: ${client.id}`); } sendProgress(progressData: any) { this.server.emit('audit.progress', progressData); } sendComplete(completeData: any) { this.server.emit('audit.complete', completeData); } sendError(errorData: any) { this.server.emit('audit.error', errorData); } }