83 lines
2.1 KiB
TypeScript
83 lines
2.1 KiB
TypeScript
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 (NOS) 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 {}
|