hospital-log/backend/api/src/modules/audit/audit.gateway.ts

39 lines
960 B
TypeScript
Raw Normal View History

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);
}
}