delete reservations removed from ORD

This commit is contained in:
Bilal Catic
2019-10-07 15:16:09 +02:00
parent 639ba6b8cb
commit 8ac69f1497
2 changed files with 29 additions and 2 deletions

View File

@@ -88,7 +88,24 @@ const getAllBookingsForMembersInDateRange = (dateRange, memberIds) => {
});
};
const deleteBookingsRemovedFromORD = (reservationIds) => {
if (!Array.isArray(reservationIds)){
return 0;
}
const filter = {
reservationId: {
[Op.notIn]: reservationIds
}
};
return db.bookingReservation.destroy({
where: filter
});
};
module.exports = {
getActiveBookingsForMembersInDateRange,
getAllBookingsForMembersInDateRange,
deleteBookingsRemovedFromORD
};

View File

@@ -3,6 +3,7 @@
const { fetchAllBookings, bulkWriteReservationsWithChangesTracking } = require('../officeRnD/bookings');
const { fetchResources } = require('../officeRnD/resources');
const { fetchRates } = require('../officeRnD/rates');
const { deleteBookingsRemovedFromORD } = require('./bookings');
const { officeRnDAPIErrors } = require('../../constants/constants');
const {
getIncidentsFromChanges,
@@ -34,8 +35,17 @@ const checkBookingChanges = () => {
resourcesMap[resourceId] = resource;
});
bulkWriteReservationsWithChangesTracking(reservations, resourcesMap)
.then((changes) => {
const reservationsInORD = [];
reservations.forEach(reservation => {
const { reservationId } = reservation;
reservationsInORD.push(reservationId);
});
const asyncActions = [deleteBookingsRemovedFromORD(reservationsInORD), bulkWriteReservationsWithChangesTracking(reservations, resourcesMap)];
Promise.all(asyncActions)
.then((asyncActionResults) => {
const changes = asyncActionResults[1];
bulkWriteChanges(changes)
.then(() => {
getIncidentsFromChanges(changes)