import { RabbitMQEventBus, RMQConnectionParams } from "sim-shared/infrastructure/RabbitMQEventBus.js" import { env } from "./env" const rmqUser = env.RABBITMQ_USER const rmqPass = env.RABBITMQ_PASSWORD const rmqHost = env.RABBITMQ_HOST const rmqPort = Number(env.RABBITMQ_PORT) const rmqSecure = false const rmqVhost = env.RABBITMQ_VHOST export const rmqConnOptions = { username: rmqUser, password: rmqPass, vhost: rmqVhost, hostname: rmqHost, port: rmqPort, secure: rmqSecure, } export const rabbitmqEventBus = new RabbitMQEventBus({ connectionParams: rmqConnOptions }) export async function startRMQClient() { await rabbitmqEventBus.connect().catch(async e => { console.error("Error en la conexion RMQ") await rabbitmqEventBus.connect() }) // Bindings especificos, deberia meterlos en la clase try { await rabbitmqEventBus.channel?.assertQueue("sim.nos") } catch { console.log("[i] Cola de sims de nos creada") await rabbitmqEventBus.channel?.bindQueue("sim.nos", "sim.exchange", "sim.nos.*") } return rabbitmqEventBus }