import { EventBus } from "../../shared/domain/EventBus.port"; import { SimEvents } from "../../shared/domain/SimEvents"; /** * TODO: * - Conexion con la BDD * - Conexion con RabbitMQ * - Pasar a clase cuando existan las conexiones */ export class SimUsecases { private eventBus: EventBus constructor(args: { eventBus: EventBus } ) { this.eventBus = args.eventBus } async activation(args: { iccid: string }) { const activationEvent = { key: "sim.activation", payload: { iccid: args.iccid } } return this.eventBus.publish([activationEvent]) } async cancelation(args: { iccid: string }) { const cancelationEvent = { key: "sim.cancelation", payload: { iccid: args.iccid } } return this.eventBus.publish([cancelationEvent]) } async pause(args: { iccid: string }) { const cancelationEvent = { key: "sim.pause", payload: { iccid: args.iccid } } return this.eventBus.publish([cancelationEvent]) } async free(args: { iccid: string }) { const cancelationEvent = { key: "sim.free", payload: { iccid: args.iccid } } return this.eventBus.publish([cancelationEvent]) } }