detect and save unscheduled and unlocked incidents

This commit is contained in:
Bilal Catic
2019-06-14 08:05:24 +02:00
parent 07061d3d19
commit 596336c41b
19 changed files with 929 additions and 78 deletions

View File

@@ -4,6 +4,7 @@ module.exports = (sequelize, DataTypes) => {
const bookingReservation = sequelize.define('bookingReservation', {
reservationId: DataTypes.TEXT,
memberId: DataTypes.TEXT,
officeId: DataTypes.TEXT,
resourceId: DataTypes.TEXT,
start: DataTypes.DATE,
end: DataTypes.DATE,

View File

@@ -0,0 +1,29 @@
'use strict';
const { unlockedIncidentLevelsPrices } = require('../constants/constants');
module.exports = (sequelize, DataTypes) => {
const unlockedIncident = sequelize.define('unlockedIncident', {
reservationId: DataTypes.TEXT,
memberId: DataTypes.TEXT,
resourceId: DataTypes.TEXT,
bookingStart: DataTypes.DATE,
bookingEnd: DataTypes.DATE,
incidentLevel: {
type: DataTypes.ENUM,
values: [
unlockedIncidentLevelsPrices.UNLOCKED_0.title,
unlockedIncidentLevelsPrices.UNLOCKED_1.title,
unlockedIncidentLevelsPrices.UNLOCKED_2.title,
unlockedIncidentLevelsPrices.UNLOCKED_3.title,
unlockedIncidentLevelsPrices.UNLOCKED_4.title,
unlockedIncidentLevelsPrices.UNLOCKED_5.title,
]
},
incidentLevelPrice: DataTypes.FLOAT,
}, {});
unlockedIncident.associate = function(models) {
// associations can be defined here
};
return unlockedIncident;
};

View File

@@ -1,9 +1,9 @@
'use strict';
const { doorLockEvents, doorChargeTypes } = require('../constants/constants');
const { doorLockEvents } = require('../constants/constants');
module.exports = (sequelize, DataTypes) => {
const doorLockIncident = sequelize.define('doorLockIncident', {
const unscheduledIncident = sequelize.define('unscheduledIncident', {
reservationId: DataTypes.TEXT,
memberId: DataTypes.TEXT,
resourceId: DataTypes.TEXT,
@@ -14,14 +14,12 @@ module.exports = (sequelize, DataTypes) => {
type: DataTypes.ENUM,
values: [doorLockEvents.USER_LOCKED, doorLockEvents.USER_UNLOCKED]
},
chargeType: {
type: DataTypes.ENUM,
values: [doorChargeTypes.LEFT_UNLOCKED, doorChargeTypes.UNSCHEDULED_USE]
},
chargeFee: DataTypes.FLOAT,
chargePrice: DataTypes.FLOAT,
timeIntervalsToCharge: DataTypes.INTEGER,
totalChargeFee: DataTypes.FLOAT,
}, {});
doorLockIncident.associate = function(models) {
unscheduledIncident.associate = function(models) {
// associations can be defined here
};
return doorLockIncident;
return unscheduledIncident;
};