Buenas noches. Estoy usando JSJoda para calcular la diferencia entre dos fechas. En la base de datos hay una fila donde por defecto la fecha se inserta automáticamente. Necesito crear una función normal (sin objeto Req, Res) donde cada fila se eliminará después de 60 días.
const cron = require('node-cron'); const JSJoda = require('js-joda'); const {deleteRecord, getAllMessages} = require('../connection/db.js'); exports.deleteMessage = async () => { /** * Get all the messages and delete statement */ const deleteStatement = 'DELETE FROM ?? WHERE ?? = ?'; const selectStatement = 'SELECT * FROM message'; try { const messageList = await getAllMessages(selectStatement); /** * Loop over the array of messages and find the date */ for (message of messageList) { let dateTarget = message.dateAdded; /** * Convert the date to ISOString() and leave only the dates */ let messageDates = dateTarget.toISOString().split('T')[0]; let today = new Date().toISOString().split('T')[0]; let difference = JSJoda.ChronoUnit.DAYS.between(JSJoda.LocalDate.parse(messageDates), JSJoda.LocalDate.parse(today)); while (difference === 0) { // Problem is here I dont know what should I do await deleteRecord(deleteStatement, 'message', message.messageID, value); } } } catch (error) { console.log(error); } };En esta función, obtengo todos los registros y los analizo en el formato requerido por la biblioteca. La siguiente variable aparentemente muestra los días correctos, pero ahora me doy cuenta de que estoy atascado.
let difference = JSJoda.ChronoUnit.DAYS.between(JSJoda.LocalDate.parse(messageDates), JSJoda.LocalDate.parse(today)); No sé cómo debo proceder con esta función.... Dónde colocarlo, y lo más importante, cómo seleccionar el ID de messageID correcto que debe eliminarse.