diff --git a/models/bookingReservation.js b/models/bookingReservation.js index 3a10d3e..9ced517 100644 --- a/models/bookingReservation.js +++ b/models/bookingReservation.js @@ -4,9 +4,12 @@ module.exports = (sequelize, DataTypes) => { const bookingReservation = sequelize.define('bookingReservation', { reservationId: DataTypes.TEXT, memberId: DataTypes.TEXT, - resource: DataTypes.TEXT, + resourceId: DataTypes.TEXT, start: DataTypes.DATE, end: DataTypes.DATE, + timezone: DataTypes.TEXT, + canceled: DataTypes.BOOLEAN, + }, {}); bookingReservation.associate = function(models) { // associations can be defined here diff --git a/models/doorLockEvent.js b/models/doorLockEvent.js index e0a06e1..5a4a8d8 100644 --- a/models/doorLockEvent.js +++ b/models/doorLockEvent.js @@ -1,15 +1,16 @@ 'use strict'; -const { USER_LOCKED_DOOR, USER_UNLOCKED_DOOR } = require('../constants/constants'); +const { doorLockEvents } = require('../constants/constants'); module.exports = (sequelize, DataTypes) => { const doorLockEvent = sequelize.define('doorLockEvent', { memberName: DataTypes.TEXT, memberNumber: DataTypes.INTEGER, memberId: DataTypes.TEXT, + resourceId: DataTypes.TEXT, event: { type: DataTypes.ENUM, - values: [USER_LOCKED_DOOR, USER_UNLOCKED_DOOR] + values: [doorLockEvents.USER_LOCKED, doorLockEvents.USER_UNLOCKED] }, timestamp: DataTypes.DATE, }, {}); diff --git a/models/doorLockIncident.js b/models/doorLockIncident.js new file mode 100644 index 0000000..4a6e3bb --- /dev/null +++ b/models/doorLockIncident.js @@ -0,0 +1,27 @@ +'use strict'; + +const { doorLockEvents, doorChargeTypes } = require('../constants/constants'); + +module.exports = (sequelize, DataTypes) => { + const doorLockIncident = sequelize.define('doorLockIncident', { + reservationId: DataTypes.TEXT, + memberId: DataTypes.TEXT, + resourceId: DataTypes.TEXT, + bookingStart: DataTypes.DATE, + bookingEnd: DataTypes.DATE, + doorLockEventTimestamp: DataTypes.DATE, + doorLockEventType: { + type: DataTypes.ENUM, + values: [doorLockEvents.USER_LOCKED, doorLockEvents.USER_UNLOCKED] + }, + chargeType: { + type: DataTypes.ENUM, + values: [doorChargeTypes.LEFT_UNLOCKED, doorChargeTypes.UNSCHEDULED_USE] + }, + chargeFee: DataTypes.FLOAT, + }, {}); + doorLockIncident.associate = function(models) { + // associations can be defined here + }; + return doorLockIncident; +}; diff --git a/models/officeResourceMapping.js b/models/officeResourceMapping.js new file mode 100644 index 0000000..7005307 --- /dev/null +++ b/models/officeResourceMapping.js @@ -0,0 +1,14 @@ +'use strict'; + +module.exports = (sequelize, DataTypes) => { + const officeResourceMapping = sequelize.define('officeResourceMapping', { + officeSlug: DataTypes.TEXT, + officeId: DataTypes.TEXT, + resourceSlug: DataTypes.TEXT, + resourceId: DataTypes.TEXT, + }, {}); + officeResourceMapping.associate = function(models) { + // associations can be defined here + }; + return officeResourceMapping; +};