Files
sf-sim/packages/sim-consumidor-objenious/aplication/Sim.usecases.ts
2026-01-30 15:00:50 +01:00

67 lines
1.6 KiB
TypeScript

import { ActivationData } from "#domain/DTOs/objeniousapi.js"
import { HttpClient } from "#shared/infrastructure/HTTPClient.js"
import { AxiosError } from "axios"
import { error } from "node:console"
// TODO: Pasar a un archivo de DTOs
export class SimUseCases {
private httpClient: HttpClient
constructor(args: {
httpClient: HttpClient
}) {
this.httpClient = args.httpClient
}
public activate(activationData: ActivationData) {
const OPERATION_URL = "/actions/preactivateLine"
return async () => {
const req = this.httpClient.client.post(OPERATION_URL, {
...activationData
})
try {
const response = await req
console.log("[!] El status de la respuesta es", response.status)
if (response.status == 200) {
console.log("Activacion con exito", response.data.response)
return {
error: undefined,
ok: true
}
} else {
return {
error: response.status
}
}
} catch (error) {
console.error("[Sim.usecase] Error activando ", (error as AxiosError).response?.status)
return {
error: "Error general de la petiacion"
}
}
}
}
public pause(activationData: ActivationData) {
const OPERATION_URL = "/actions/pause"
return async () => {
const req = this.httpClient.client.post("/actions/pause", {
...activationData
})
try {
const e = await req
console.log("Sim pausada con exito", e.data)
} catch (error) {
console.error("Error pausa", error)
}
}
}
}