import { WebSocketGateway, WebSocketServer } from "@nestjs/websockets";
import { Server, WebSocket } from "ws";
import { CloudEventDto } from "@ocm-engine/dtos";

@WebSocketGateway()
export class EventsGateway {
  @WebSocketServer()
  server: Server;

  sentEvent<T>(dto: CloudEventDto<T>) {
    this.server.clients.forEach((client) => {
      if (client.readyState === WebSocket.OPEN) {
        client.send(JSON.stringify(dto));
      }
    });
  }
}