import express from "express" import cors from 'cors'; import { SimNosRouter } from "./aplication/SimNOS.router.js" import { SimNosController } from "./aplication/SimNOS.controller.js" import { SimNosUsecases } from "./aplication/SimNOS.usecases.js" import { NosHttpClient } from "./infrastructure/NosHttpClient.js" import { env } from "#config/env/env.js" import { NosRepository } from "./infrastructure/NosRepository.js" import { OrderRepository } from "sim-shared/infrastructure/OrderRepository.js"; import { pgClient } from "#config/postgreConfig.js"; import { startRMQClient } from "#config/eventBus.config.js"; const RMQ_QUEUE = "sim.nos" const NOS_BASE_URL = env.NOS_BASE_URL const PORT = env.APP_PORT const HOSTNAME = env.APP_HOST async function startWorker() { // Instancia de dependencias const rmqClient = await startRMQClient() const nosHttpClient = new NosHttpClient( NOS_BASE_URL ) const nosRepository = new NosRepository( nosHttpClient ) const orderRepository = new OrderRepository( pgClient ) const simUsecases = new SimNosUsecases( nosHttpClient, nosRepository, orderRepository ) const simController = new SimNosController( simUsecases, rmqClient ) const simRouter = new SimNosRouter( simController, rmqClient ) // RMQ rmqClient.consume(RMQ_QUEUE, simRouter.route) .then(() => console.log("Cliente rmq creado con exito")) .catch(e => console.error("Error conectando con RABBITMQ", e)) // Express const app = express() app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.get("/select", simController.selectREST()) app.get("/selectPage", simController.selectPageREST()) app.listen(PORT, HOSTNAME, (e) => { if (e == undefined) { console.log("[o] Servidor iniciado en el puerto %d", PORT) } else { console.error("Error express ", e) } }) } startWorker() .then(e => { console.log("[o] Worker de SIM de NOS iniciado") }) .catch(e => { console.log("[x] Error iniciando worker de SIM de NOS") }) export default {}