54 lines
1.7 KiB
TypeScript
54 lines
1.7 KiB
TypeScript
|
|
import { ObjeniousOperationsRepository } from "sim-shared/infrastructure/ObjeniousOperationRepository.js"
|
|
import { startRMQClient } from "#config/eventBus.config.js"
|
|
import { httpInstance } from "#config/httpClient.config.js"
|
|
import { pgPool } from "#config/postgreConfig.js"
|
|
import { PgClient } from "sim-shared/infrastructure/PgClient.js"
|
|
import { SimUseCases } from "./aplication/Sim.usecases.js"
|
|
import { SimController } from "./aplication/Sim.controller.js"
|
|
import { SimRouter } from "./aplication/Sim.router.js"
|
|
import { OrderRepository } from "sim-shared/infrastructure/OrderRepository.js"
|
|
import { PauseCancelTaskRepository } from "#adapters/PauseCancelTaskRepository.js"
|
|
|
|
async function startWorker() {
|
|
const rmqClient = await startRMQClient()
|
|
|
|
const httpClient = httpInstance
|
|
|
|
const pgClient = new PgClient({ pool: pgPool })
|
|
|
|
await pgClient.checkDatabaseConnection()
|
|
|
|
const operationRepository = new ObjeniousOperationsRepository(
|
|
httpClient,
|
|
pgClient,
|
|
)
|
|
const orderRepository = new OrderRepository(pgClient)
|
|
|
|
const pauseRepository = new PauseCancelTaskRepository(pgClient)
|
|
|
|
const simActivationController = new SimController(
|
|
rmqClient,
|
|
new SimUseCases({
|
|
httpClient: httpClient,
|
|
operationRepository: operationRepository,
|
|
orderRepository: orderRepository,
|
|
pauseRepository: pauseRepository
|
|
})
|
|
)
|
|
const simRouter = new SimRouter(simActivationController, rmqClient)
|
|
|
|
// de momento solo una cola por simplificar
|
|
rmqClient.consume("sim.objenious", simRouter.route)
|
|
}
|
|
|
|
startWorker()
|
|
.then(e => {
|
|
console.log("[o] Worker de SIM de Objenious[FR] iniciado")
|
|
})
|
|
.catch(e => {
|
|
console.error("[x] Error iniciando worker de SIM de Objenious[FR]", e)
|
|
})
|
|
|
|
export default {}
|