Merge branch 'include-room-change-for-booking-change-incidents' into 'master'
Include room change for booking change incidents See merge request saburly/psihologija!23
This commit was merged in pull request #23.
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
up: (queryInterface, Sequelize) => {
|
||||
return queryInterface.renameColumn('bookingChangeIncidents', 'resourceId', 'oldResourceId');
|
||||
},
|
||||
|
||||
down: (queryInterface, Sequelize) => {
|
||||
return queryInterface.renameColumn('bookingChangeIncidents', 'oldResourceId', 'resourceId');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
up: (queryInterface, Sequelize) => {
|
||||
return queryInterface.addColumn('bookingChangeIncidents', 'newResourceId', {
|
||||
type: Sequelize.TEXT,
|
||||
after: 'oldResourceId',
|
||||
});
|
||||
},
|
||||
|
||||
down: (queryInterface, Sequelize) => {
|
||||
return queryInterface.removeColumn('bookingChangeIncidents', 'newResourceId');
|
||||
}
|
||||
};
|
||||
@@ -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,
|
||||
|
||||
@@ -28,6 +28,7 @@ const chargeBookingChanges = (changes) => {
|
||||
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 +57,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 +83,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,
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user