Files
sf-sim/packages/sim-consumidor-alai/index.ts

79 lines
2.1 KiB
TypeScript
Raw Normal View History

2026-04-23 13:18:50 +02:00
import express from "express"
import cors from 'cors';
import { env } from "#config/env/env.js"
import { startRMQClient } from "#config/eventBus.config.js";
2026-04-30 17:41:49 +02:00
import { SimAlaiRouter } from "#aplication/SimAlai.router.js";
import { SimAlaiController } from "#aplication/SimAlai.controller.js";
import { SimAlaiUsecases } from "#aplication/SimAlai.usecases.js";
import { alaiHttp } from "#config/httpClient.config.js";
import { AlaiRepository } from "#infrastructure/AlaiRepository.js";
import { OrderRepository } from "sim-shared/infrastructure/OrderRepository.js";
import { pgClient } from "#config/postgreConfig.js";
2026-04-23 13:18:50 +02:00
const RMQ_QUEUE = "sim.alai"
2026-04-30 17:41:49 +02:00
const PORT = env.ALAI_PORT
const HOSTNAME = env.ALAI_HOST
2026-04-23 13:18:50 +02:00
async function startWorker() {
// Instancia de dependencias
const rmqClient = await startRMQClient()
2026-04-30 17:41:49 +02:00
const orderRepository = new OrderRepository(pgClient)
const alaiRepository = new AlaiRepository(alaiHttp)
const alaiUsecases = new SimAlaiUsecases(
alaiHttp,
alaiRepository,
orderRepository
)
const alaiController = new SimAlaiController(
alaiUsecases,
rmqClient
)
const simRouter = new SimAlaiRouter(
alaiController,
2026-04-23 13:18:50 +02:00
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 }));
2026-04-30 17:41:49 +02:00
// WIP
app.get("/select", alaiController.selectREST())
2026-05-04 15:12:53 +02:00
app.get("/health",
(req, res) => res.json({
ok: "alai"
}))
2026-05-04 13:39:54 +02:00
//app.get("/selectPage", alaiController.selectPageREST())
2026-04-23 13:18:50 +02:00
app.listen(PORT, HOSTNAME, (e) => {
if (e == undefined) {
2026-05-04 13:39:54 +02:00
console.log("[o] Servidor (Alai) iniciado en el puerto %d", PORT)
2026-04-23 13:18:50 +02:00
} else {
console.error("Error express ", e)
}
})
}
startWorker()
.then(e => {
2026-05-04 13:39:54 +02:00
console.log("[o] Worker de SIM de Alai iniciado")
2026-04-23 13:18:50 +02:00
})
.catch(e => {
2026-05-04 15:12:53 +02:00
console.log("[x] Error iniciando worker de SIM de Alai", e)
2026-04-23 13:18:50 +02:00
})
export default {}