Files
sf-sim/packages/sim-entrada-eventos/aplication/Sim.usecases.ts

64 lines
1.3 KiB
TypeScript

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 = <SimEvents.activation>{
key: "sim.activation",
payload: {
iccid: args.iccid
}
}
return this.eventBus.publish([activationEvent])
}
async cancelation(args: { iccid: string }) {
const cancelationEvent = <SimEvents.cancelation>{
key: "sim.cancelation",
payload: {
iccid: args.iccid
}
}
return this.eventBus.publish([cancelationEvent])
}
async pause(args: { iccid: string }) {
const cancelationEvent = <SimEvents.pause>{
key: "sim.pause",
payload: {
iccid: args.iccid
}
}
return this.eventBus.publish([cancelationEvent])
}
async free(args: { iccid: string }) {
const cancelationEvent = <SimEvents.free>{
key: "sim.free",
payload: {
iccid: args.iccid
}
}
return this.eventBus.publish([cancelationEvent])
}
}