Make lock charges calculation functional for happy path

This commit is contained in:
Senad Uka
2019-06-03 18:04:42 +02:00
parent d850aef0b8
commit 8e4eb0cf1f
22 changed files with 820 additions and 61 deletions

View File

@@ -0,0 +1,33 @@
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('doorLockEvents', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
memberName: Sequelize.TEXT,
memberNumber: Sequelize.INTEGER,
memberId: Sequelize.TEXT,
event: {
type: Sequelize.ENUM,
values: ['locked', 'unlocked']
},
timestamp: Sequelize.DATE,
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('doorLockEvents');
}
};

View File

@@ -0,0 +1,30 @@
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('bookingReservations', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
reservationId: Sequelize.TEXT,
memberId: Sequelize.TEXT,
resource: Sequelize.TEXT,
start: Sequelize.DATE,
end: Sequelize.DATE,
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('bookingReservations');
}
};

View File

@@ -0,0 +1,40 @@
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('doorLockIncidents', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
reservationId: Sequelize.TEXT,
memberId: Sequelize.TEXT,
resource: Sequelize.TEXT,
bookingStart: Sequelize.DATE,
bookingEnd: Sequelize.DATE,
doorLockEventTimestamp: Sequelize.DATE,
doorLockEventType: {
type: Sequelize.ENUM,
values: ['locked', 'unlocked']
},
chargeType: {
type: Sequelize.ENUM,
values: ['unlocked', 'unscheduled']
},
chargeFee: Sequelize.FLOAT,
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('doorLockIncidents');
}
};