From 6e8251f2c6501b5ab626f3ebeacebcc9b7c50f38 Mon Sep 17 00:00:00 2001 From: Alvar San Martin Date: Fri, 6 Feb 2026 14:45:43 +0100 Subject: [PATCH] =?UTF-8?q?Cron=20y=20errata=20de=20status=20El=20paquete?= =?UTF-8?q?=20node-cron=20por=20alg=C3=BAn=20motivo=20no=20funciona=20bien?= =?UTF-8?q?=20con=20el=20monorepo=20de=20yarn=20por=20algun=20motivo,=20he?= =?UTF-8?q?=20pasado=20a=20setInterval?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/sim-api/Activate.bru | 4 +- docs/sim-api/Preactivate.bru | 2 +- docs/sim-objenious/Cambio oferta.bru | 42 +++++++++++++++++++ .../aplication/Sim.usecases.ts | 38 +++++++++++------ .../domain/operationsRepository.port.ts | 2 +- .../infrastructure/OperationRepository.ts | 5 +-- packages/sim-objenious-cron/index.ts | 25 +++++++---- .../tasks/check_objenious_request.ts | 9 ++-- 8 files changed, 93 insertions(+), 34 deletions(-) create mode 100644 docs/sim-objenious/Cambio oferta.bru diff --git a/docs/sim-api/Activate.bru b/docs/sim-api/Activate.bru index 9664fb7..55487be 100644 --- a/docs/sim-api/Activate.bru +++ b/docs/sim-api/Activate.bru @@ -11,8 +11,8 @@ post { } body:form-urlencoded { - iccid: 8933201125065160422 - offer: SAVEFAMILY2 + iccid: 8933201125065160380 + offer: SAVEFAMILY1 } settings { diff --git a/docs/sim-api/Preactivate.bru b/docs/sim-api/Preactivate.bru index fb89875..c9053de 100644 --- a/docs/sim-api/Preactivate.bru +++ b/docs/sim-api/Preactivate.bru @@ -15,7 +15,7 @@ params:query { } body:form-urlencoded { - iccid: 8933201124059176320 + iccid: 8933201125065160380 } settings { diff --git a/docs/sim-objenious/Cambio oferta.bru b/docs/sim-objenious/Cambio oferta.bru new file mode 100644 index 0000000..4651fb6 --- /dev/null +++ b/docs/sim-objenious/Cambio oferta.bru @@ -0,0 +1,42 @@ +meta { + name: Cambio oferta + type: http + seq: 18 +} + +post { + url: {{baseUrl}}actions/changeServices + body: json + auth: bearer +} + +auth:bearer { + token: {{ws-access-token-partenaire}} +} + +body:json { + { + "dueDate": "2026-02-06T15:05:15.458Z", + "customerAccountCode": "9.49411.10", + "offer": { + "code": "SAVEFAMILY1", + "services": [] + }, + "identifier": { + "identifiers": [ + "8933201125065160380" + ], + "identifierType": "ICCID" + }, + "services": [] + } +} + +body:form-urlencoded { + dueDate: 2026-01-28T13:51:15.458Z +} + +settings { + encodeUrl: true + timeout: 0 +} diff --git a/packages/sim-consumidor-objenious/aplication/Sim.usecases.ts b/packages/sim-consumidor-objenious/aplication/Sim.usecases.ts index 0a4abf1..ebd4b86 100644 --- a/packages/sim-consumidor-objenious/aplication/Sim.usecases.ts +++ b/packages/sim-consumidor-objenious/aplication/Sim.usecases.ts @@ -35,7 +35,6 @@ export class SimUseCases { 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) @@ -47,9 +46,7 @@ export class SimUseCases { request_id: response.data.requestId } - this.logOperation(operation).then(e => { - console.log("Logueada operacion", operation) - }).catch(e => console.error(e)) + this.logOperation(operation).then().catch(e => console.error(e)) return >{ error: undefined, @@ -74,24 +71,39 @@ export class SimUseCases { } } - public preActivate(pauseData: ActionData): () => Promise> { + public preActivate(preActivateData: ActionData): () => Promise> { const OPERATION_URL = "/actions/preactivateLine" return async () => { const req = this.httpClient.client.post(OPERATION_URL, { - ...pauseData + ...preActivateData }) try { - const e = await req - console.log("Sim preactivada con exito", e.data) - return >{ - error: undefined, - data: true + const resp = await req + if (resp.status == 200) { + console.log("Sim preactivada con exito", resp.data) + const operation: ObjeniousOperation = { + operation: "activate", + iccids: preActivateData.identifier.identifiers, + status: "noMassID", + request_id: resp.data.requestId + } + + this.logOperation(operation).then().catch(e => console.error(e)) + return >{ + error: undefined, + data: true + } + } else { + return >{ + error: String(resp.status), + data: true + } } } catch (error) { - console.error("Error preactivacion", pauseData) + console.error("Error preactivacion", preActivateData) return >{ - error: "Error preactivando la sim" + pauseData.identifier, + error: "Error preactivando la sim" + preActivateData.identifier, data: true } } diff --git a/packages/sim-consumidor-objenious/domain/operationsRepository.port.ts b/packages/sim-consumidor-objenious/domain/operationsRepository.port.ts index 9370e9f..4df2da2 100644 --- a/packages/sim-consumidor-objenious/domain/operationsRepository.port.ts +++ b/packages/sim-consumidor-objenious/domain/operationsRepository.port.ts @@ -20,7 +20,7 @@ export type ObjeniousOperation = { end_date?: Date | null; error?: string | null; status: StatusEnum; - objenioius_status: string; + objenious_status?: string; last_change_date?: string; } diff --git a/packages/sim-consumidor-objenious/infrastructure/OperationRepository.ts b/packages/sim-consumidor-objenious/infrastructure/OperationRepository.ts index 0d0eaea..7687ee3 100644 --- a/packages/sim-consumidor-objenious/infrastructure/OperationRepository.ts +++ b/packages/sim-consumidor-objenious/infrastructure/OperationRepository.ts @@ -41,7 +41,6 @@ export class OperationsRepository implements IOperationsRepository { await client.query('BEGIN'); // 1. Actualizar objenious_operation (la operacion base) const updateParams = [operation_id, new_status, error, new_request_id, new_mass_action_id, new_objenious_status] - console.log("updateParams", updateParams) const updateOpQuery = ` UPDATE objenious_operation SET @@ -50,20 +49,18 @@ export class OperationsRepository implements IOperationsRepository { request_id = COALESCE($4, request_id), mass_action_id = COALESCE($5, mass_action_id), last_change_date = now(), - end_date = CASE WHEN $2::status_enum IN ('finished', 'error') THEN now() ELSE end_date END, + end_date = CASE WHEN $2 IN ('finished') THEN now() ELSE end_date END, objenious_status = $6 WHERE id = $1`; const operation = await client.query( updateOpQuery, updateParams) - console.log("Operacion base acualizada") // 2. Nuevo registro en objenious_operation_change (indica un cambio de estado) const insertChangeQuery = ` INSERT INTO objenious_operation_change (operation_id, new_status, previous_status, error, new_request_id, new_mass_action_id, new_objenious_status, previous_objenious_status) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)`; await client.query(insertChangeQuery, [operation_id, new_status, previous_status, error, new_request_id, new_mass_action_id, new_objenious_status, previous_objenious_status]); - console.log("Nuevo registro de actualizacion") await client.query('COMMIT'); return >{ diff --git a/packages/sim-objenious-cron/index.ts b/packages/sim-objenious-cron/index.ts index 0e1209d..78364d7 100644 --- a/packages/sim-objenious-cron/index.ts +++ b/packages/sim-objenious-cron/index.ts @@ -22,16 +22,23 @@ async function startCron() { operationRepository, httpClient ) + + const interval = setInterval(async () => { + console.log("Updating...") + await objTask.getPendingOperations() + console.log("Update finished") + }, 60 * 1000) /* - const task = cron.createTask("* * * * *", objTask.getPendingOperations - , { - ...commonSettings, - name: "Test" - }) - */ - await objTask.getPendingOperations() - console.log("Lanzando task") - //task.start() + const task = cron.createTask("* * * * *", async () => { + } + , { + ...commonSettings, + name: "Test" + }) +*/ + + //await objTask.getPendingOperations() + } startCron().then(e => console.log).catch(e => console.error) diff --git a/packages/sim-objenious-cron/tasks/check_objenious_request.ts b/packages/sim-objenious-cron/tasks/check_objenious_request.ts index ed66845..59f3ed1 100644 --- a/packages/sim-objenious-cron/tasks/check_objenious_request.ts +++ b/packages/sim-objenious-cron/tasks/check_objenious_request.ts @@ -98,19 +98,20 @@ export class CheckObjeniousRequests { // 2. Se comprueba si ha habido un cambio de estado const { id, status, info } = data - if (status != originalAction.objenioius_status) { + if (status != originalAction.objenious_status) { + console.log(status, "!=", originalAction.objenious_status) console.log("Actualizando", originalAction, status) const uorStatus = this.mapStatus(status) const updateData: ObjeniousOperationChange = { operation_id: originalAction.id!, new_objenious_status: status, - previous_objenious_status: originalAction.objenioius_status, + previous_objenious_status: originalAction.objenious_status, new_status: uorStatus, previous_status: originalAction.status } originalAction.status = uorStatus; - originalAction.objenioius_status = status; + originalAction.objenious_status = status; originalAction.last_change_date = new Date().toISOString() if (info != undefined) { @@ -137,7 +138,7 @@ export class CheckObjeniousRequests { const equivalentMap = new Map([ ["terminé", "finished"] ]) - const res = equivalentMap.get(objStatus) + const res = equivalentMap.get(sanitizedStatus) if (res == undefined) return "running" return res }