'use strict'; const db = require('../../models/index'); const bulkWriteChanges = ((changes) => { const changeLogsForDB = []; changes.forEach((change) => { const { oldReservation, newReservation } = change; const { reservationId, memberId, officeId, resourceId, start, end, canceled } = newReservation; const logEntry = { reservationId: oldReservation.reservationId || reservationId, memberId: oldReservation.memberId || memberId, officeId: oldReservation.officeId || officeId, oldResourceId: oldReservation.resourceId || resourceId, newResourceId: resourceId, oldStart: oldReservation.start || start, newStart: start, oldEnd: oldReservation.end || end, newEnd: end, canceled, }; if (!oldReservation.start && !oldReservation.end && !oldReservation.resourceId){ // new reservation logEntry.oldResourceId = null; logEntry.oldStart = null; logEntry.oldEnd = null; } if (newReservation.canceled){ logEntry.newResourceId = null; logEntry.newStart = null; logEntry.newEnd = null; } changeLogsForDB.push(logEntry); }); return db.bookingReservationChangeLog.bulkCreate(changeLogsForDB); // console.log(changeLogsForDB); // return new Promise((resolve) => resolve()); }); module.exports = { bulkWriteChanges, };