delete reservations removed from ORD
This commit is contained in:
@@ -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
|
||||
};
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user