39 lines
960 B
TypeScript
39 lines
960 B
TypeScript
|
|
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);
|
||
|
|
}
|
||
|
|
}
|