From 35813c8e43f5d470f5ffce7c92a7fb10da7323c0 Mon Sep 17 00:00:00 2001 From: Alvar San Martin Date: Fri, 16 Jan 2026 13:40:29 +0100 Subject: [PATCH] =?UTF-8?q?Ajuste=20para=20enrutar=20por=20compa=C3=B1ia?= =?UTF-8?q?=20y=20actividad?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/sim-api/Activate.bru | 11 ++++++++++- docs/sim-api/Health.bru | 16 ++++++++++++++++ docs/sim-api/environments/local.bru | 2 +- packages/shared/domain/SimEvents.ts | 9 +++++++++ .../shared/infrastructure/RabbitMQConsumer.ts | 9 --------- .../sim-consumidor-nos/config/eventBusConfig.ts | 4 ++-- .../aplication/Sim.controller.ts | 17 +++++++++++------ .../aplication/Sim.usecases.ts | 7 ++++--- 8 files changed, 53 insertions(+), 22 deletions(-) create mode 100644 docs/sim-api/Health.bru delete mode 100644 packages/shared/infrastructure/RabbitMQConsumer.ts diff --git a/docs/sim-api/Activate.bru b/docs/sim-api/Activate.bru index 13a3f8c..5cefd5c 100644 --- a/docs/sim-api/Activate.bru +++ b/docs/sim-api/Activate.bru @@ -6,10 +6,19 @@ meta { post { url: {{baseurl}}/sim/activate - body: none + body: formUrlEncoded auth: inherit } +params:query { + : +} + +body:form-urlencoded { + iccid: 1234 + : +} + settings { encodeUrl: true timeout: 0 diff --git a/docs/sim-api/Health.bru b/docs/sim-api/Health.bru new file mode 100644 index 0000000..5c7748b --- /dev/null +++ b/docs/sim-api/Health.bru @@ -0,0 +1,16 @@ +meta { + name: Health + type: http + seq: 5 +} + +get { + url: {{baseurl}}/health + body: none + auth: inherit +} + +settings { + encodeUrl: true + timeout: 0 +} diff --git a/docs/sim-api/environments/local.bru b/docs/sim-api/environments/local.bru index 84c2813..79faa0b 100644 --- a/docs/sim-api/environments/local.bru +++ b/docs/sim-api/environments/local.bru @@ -1,3 +1,3 @@ vars { - baseurl: http://locahost + baseurl: http://localhost:3000 } diff --git a/packages/shared/domain/SimEvents.ts b/packages/shared/domain/SimEvents.ts index e42cdb0..aea6668 100644 --- a/packages/shared/domain/SimEvents.ts +++ b/packages/shared/domain/SimEvents.ts @@ -1,6 +1,15 @@ import { DomainEvent } from "./DomainEvent"; export namespace SimEvents { + export type general = DomainEvent & { + key: string, + payload: { + iccid: string + }, + options: { + } + } + export type activation = DomainEvent & { key: "sim.activation", payload: { diff --git a/packages/shared/infrastructure/RabbitMQConsumer.ts b/packages/shared/infrastructure/RabbitMQConsumer.ts deleted file mode 100644 index b2066e1..0000000 --- a/packages/shared/infrastructure/RabbitMQConsumer.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { RabbitMQEventBus } from "./RabbitMQEventBus"; - -export class RabbitMQConsumer { - constructor( - connection: RabbitMQEventBus - ) { - - } -} diff --git a/packages/sim-consumidor-nos/config/eventBusConfig.ts b/packages/sim-consumidor-nos/config/eventBusConfig.ts index c9a08fc..c6eb638 100644 --- a/packages/sim-consumidor-nos/config/eventBusConfig.ts +++ b/packages/sim-consumidor-nos/config/eventBusConfig.ts @@ -26,10 +26,10 @@ export async function startRMQClient() { // Bindings especificos, deberia meterlos en la clase try { - rabbitmqEventBus.channel?.assertQueue("sim.nos") + await rabbitmqEventBus.channel?.assertQueue("sim.nos") } catch { console.log("[i] Cola de sims de nos creada") - rabbitmqEventBus.channel?.bindQueue("sim.nos", "sim.exchange", "sim.nos.*") + await rabbitmqEventBus.channel?.bindQueue("sim.nos", "sim.exchange", "sim.nos.*") } return rabbitmqEventBus diff --git a/packages/sim-entrada-eventos/aplication/Sim.controller.ts b/packages/sim-entrada-eventos/aplication/Sim.controller.ts index 6fe5629..769a317 100644 --- a/packages/sim-entrada-eventos/aplication/Sim.controller.ts +++ b/packages/sim-entrada-eventos/aplication/Sim.controller.ts @@ -8,6 +8,8 @@ export class SimController { simUseCases: SimUsecases }) { this.simUseCases = args.simUseCases + + this.activation = this.activation.bind(this) } async activation(req: Request, res: Response) { @@ -16,22 +18,23 @@ export class SimController { if (valido == false) return; // Si no es valido ya se ha enviado el error const { iccid } = req.body + const compañia = "nos" // esto deberia ser un servcio try { - await this.simUseCases.activation({ iccid }) + await this.simUseCases.activation({ iccid, compañia }) } catch (err) { console.error("Error activando la sim ", req.body) res.status(500).json({ errors: { msg: "Error general de activation" } - }) + }).send() } res.status(200).json({ iccid: iccid, operation: "activation" - }) + }).send() } async cancelation(req: Request, res: Response) { @@ -148,9 +151,11 @@ export class SimController { valid = false } - res.json({ - errors: errors - }) + if (valid == false) { + res.json({ + errors: errors + }) + } return valid; } diff --git a/packages/sim-entrada-eventos/aplication/Sim.usecases.ts b/packages/sim-entrada-eventos/aplication/Sim.usecases.ts index c3976e3..8ab957d 100644 --- a/packages/sim-entrada-eventos/aplication/Sim.usecases.ts +++ b/packages/sim-entrada-eventos/aplication/Sim.usecases.ts @@ -34,14 +34,15 @@ export class SimUsecases { return this.eventBus.publish([activationEvent]) } - async activation(args: { iccid: string }) { - const activationEvent = { - key: "sim.activation", + async activation(args: { iccid: string, compañia: string }) { + const activationEvent = { + key: "sim.nos.activate", payload: { iccid: args.iccid } } + console.log("publicando", activationEvent) return this.eventBus.publish([activationEvent]) }