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 = {
|
module.exports = {
|
||||||
getActiveBookingsForMembersInDateRange,
|
getActiveBookingsForMembersInDateRange,
|
||||||
getAllBookingsForMembersInDateRange,
|
getAllBookingsForMembersInDateRange,
|
||||||
|
deleteBookingsRemovedFromORD
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
const { fetchAllBookings, bulkWriteReservationsWithChangesTracking } = require('../officeRnD/bookings');
|
const { fetchAllBookings, bulkWriteReservationsWithChangesTracking } = require('../officeRnD/bookings');
|
||||||
const { fetchResources } = require('../officeRnD/resources');
|
const { fetchResources } = require('../officeRnD/resources');
|
||||||
const { fetchRates } = require('../officeRnD/rates');
|
const { fetchRates } = require('../officeRnD/rates');
|
||||||
|
const { deleteBookingsRemovedFromORD } = require('./bookings');
|
||||||
const { officeRnDAPIErrors } = require('../../constants/constants');
|
const { officeRnDAPIErrors } = require('../../constants/constants');
|
||||||
const {
|
const {
|
||||||
getIncidentsFromChanges,
|
getIncidentsFromChanges,
|
||||||
@@ -34,8 +35,17 @@ const checkBookingChanges = () => {
|
|||||||
resourcesMap[resourceId] = resource;
|
resourcesMap[resourceId] = resource;
|
||||||
});
|
});
|
||||||
|
|
||||||
bulkWriteReservationsWithChangesTracking(reservations, resourcesMap)
|
const reservationsInORD = [];
|
||||||
.then((changes) => {
|
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)
|
bulkWriteChanges(changes)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
getIncidentsFromChanges(changes)
|
getIncidentsFromChanges(changes)
|
||||||
|
|||||||
Reference in New Issue
Block a user