Monitorizacion de las operaciones lanzadas a objenious
This commit is contained in:
@@ -2,6 +2,7 @@ import { ActionData, ActivationData } from "#domain/DTOs/objeniousapi.js"
|
||||
import { HttpClient } from "#shared/infrastructure/HTTPClient.js"
|
||||
import { AxiosError } from "axios"
|
||||
import { Result } from "#shared/domain/Result"
|
||||
import { ObjeniousOperation, IOperationsRepository as OperationsRepositoryPort } from "#domain/operationsRepository.port"
|
||||
|
||||
// TODO:
|
||||
// - Pasar a un archivo de DTOs
|
||||
@@ -9,38 +10,54 @@ import { Result } from "#shared/domain/Result"
|
||||
|
||||
|
||||
export class SimUseCases {
|
||||
private httpClient: HttpClient
|
||||
|
||||
private readonly httpClient: HttpClient
|
||||
private readonly operationRepository: OperationsRepositoryPort
|
||||
constructor(args: {
|
||||
|
||||
httpClient: HttpClient
|
||||
httpClient: HttpClient,
|
||||
operationRepository: OperationsRepositoryPort
|
||||
}) {
|
||||
this.httpClient = args.httpClient
|
||||
this.operationRepository = args.operationRepository
|
||||
}
|
||||
|
||||
|
||||
private async logOperation(data: ObjeniousOperation) {
|
||||
await this.operationRepository.createOperation({
|
||||
...data
|
||||
})
|
||||
}
|
||||
|
||||
public activate(activationData: ActivationData): () => Promise<Result<string, boolean>> {
|
||||
const OPERATION_URL = "/actions/activateLine"
|
||||
return async () => {
|
||||
// TODO: validacion de campos
|
||||
|
||||
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)
|
||||
|
||||
const operation: ObjeniousOperation = {
|
||||
operation: "activate",
|
||||
iccids: activationData.identifier.identifiers,
|
||||
status: "noMassID"
|
||||
}
|
||||
|
||||
this.logOperation(operation).then(e => {
|
||||
console.log("Logueada operacion", operation)
|
||||
}).catch(e => console.error(e))
|
||||
|
||||
return <Result<string, boolean>>{
|
||||
error: undefined,
|
||||
data: true
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
// muy mejorable el control de errores
|
||||
return {
|
||||
error: String(response.status),
|
||||
data: undefined
|
||||
|
||||
Reference in New Issue
Block a user