track room change for booking change incidents

This commit is contained in:
Bilal Catic
2019-07-09 15:05:36 +02:00
parent edefaf7cf9
commit ad9bdfa606
3 changed files with 9 additions and 5 deletions

View File

@@ -4,7 +4,8 @@ module.exports = (sequelize, DataTypes) => {
const bookingChangeIncident = sequelize.define('bookingChangeIncident', {
reservationId: DataTypes.TEXT,
memberId: DataTypes.TEXT,
resourceId: DataTypes.TEXT,
oldResourceId: DataTypes.TEXT,
newResourceId: DataTypes.TEXT,
oldBookingStart: DataTypes.DATE,
oldBookingEnd: DataTypes.DATE,
newBookingStart: DataTypes.DATE,

View File

@@ -22,12 +22,14 @@ const bulkWriteBookingChangeIncidents = (incidents) => {
const chargeBookingChanges = (changes) => {
return new Promise((resolve, reject) => {
console.log(changes);
if (Array.isArray(changes)){
const incidents = [];
const errors = [];
changes.forEach((change) => {
const { oldReservation, newReservation } = change;
if (oldReservation && newReservation){
const oldResourceId = oldReservation.resourceId;
const oldStart = oldReservation.start ? moment.utc(oldReservation.start) : null;
const oldEnd = oldReservation.end ? moment.utc(oldReservation.end) : null;
@@ -56,14 +58,14 @@ const chargeBookingChanges = (changes) => {
// Check if member shortened the reservation
if (newReservationLength < oldReservationLength){
const differenceInLength = oldReservationLength - newReservationLength;
const chargeFee = differenceInLength*hourlyRate*BOOKING_CHANGE_PERCENTAGE_CHARGE/100;
const incident = {
reservationId,
memberId,
resourceId,
oldResourceId: oldResourceId || newReservation.resourceId,
newResourceId: newReservation.resourceId,
oldBookingStart: oldReservation.start,
oldBookingEnd: oldReservation.end,
newBookingStart: newReservation.start,
@@ -82,7 +84,8 @@ const chargeBookingChanges = (changes) => {
const incident = {
reservationId,
memberId,
resourceId,
oldResourceId: oldResourceId || newReservation.resourceId,
newResourceId: newReservation.resourceId,
oldBookingStart: oldReservation.start,
oldBookingEnd: oldReservation.end,
newBookingStart: newReservation.start,

View File

@@ -174,7 +174,7 @@ const bulkWriteReservationsWithChangesTracking = (reservations) => {
const changedKeys = instance.changed();
const previous = instance.previous();
const lookupKeys = ['start', 'end'];
const lookupKeys = ['start', 'end', 'resourceId'];
let realChange = false;
lookupKeys.forEach((key) => {