From 5fb39b28b3c8d916be934d8e0d226db354af8b18 Mon Sep 17 00:00:00 2001 From: baz Date: Sat, 13 Jul 2024 21:00:14 +0100 Subject: [PATCH] Add changelog database --- databaseHelperFunctions.js | 2 +- dbInit.js | 1 + dbObjects.js | 15 ++++++++++++--- models/changelog.js | 15 +++++++++++++++ 4 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 models/changelog.js diff --git a/databaseHelperFunctions.js b/databaseHelperFunctions.js index 8bd95aa..cc25e03 100644 --- a/databaseHelperFunctions.js +++ b/databaseHelperFunctions.js @@ -1,4 +1,4 @@ -const { Users, Games, LoggedGames } = require ('./dbObjects.js'); +const { Users, Games, LoggedGames, Changelog } = require ('./dbObjects.js'); const fs = require('fs'); async function checkUserRegistration(user) { diff --git a/dbInit.js b/dbInit.js index 1a9ce5b..cbb5312 100644 --- a/dbInit.js +++ b/dbInit.js @@ -10,6 +10,7 @@ const sequelize = new Sequelize('database', 'username', 'password', { const db = require('./models/games.js')(sequelize, Sequelize.DataTypes); require('./models/users.js')(sequelize, Sequelize.DataTypes); require('./models/beatenGames.js')(sequelize, Sequelize.DataTypes); +require('./models/changelog.js')(sequelize, Sequelize.DataTypes); const force = process.argv.includes('--force') || process.argv.includes('-f'); diff --git a/dbObjects.js b/dbObjects.js index 87925a7..7fc9343 100644 --- a/dbObjects.js +++ b/dbObjects.js @@ -10,15 +10,24 @@ const sequelize = new Sequelize('database', 'username', 'password', { const Users = require('./models/users.js')(sequelize, Sequelize.DataTypes); const Games = require('./models/games.js')(sequelize, Sequelize.DataTypes); const LoggedGames = require('./models/beatenGames.js')(sequelize, Sequelize.DataTypes); +const Changelog = require('./models/changelog.js')(sequelize, Sequelize.DataTypes); -// Create userId foreignKey +// Create userId foreignKey in LoggedGames Users.hasMany(LoggedGames); LoggedGames.belongsTo(Users); -// Create gameId foreignKey +// Create gameId foreignKey in LoggedGames Games.hasMany(LoggedGames); LoggedGames.belongsTo(Games); +// Create userId foreignKey in Changelog +Users.hasMany(Changelog); +Changelog.belongsTo(Users); + +// Create gameId foreignKey in Changelog +Games.hasMany(Changelog); +Changelog.belongsTo(Games); + Reflect.defineProperty(Users.prototype, 'addUser', { value: async function addUser(userData) { const user = await Users.findOne({ @@ -44,4 +53,4 @@ sequelize.sync({ alter: true }) console.log(err); }); -module.exports = { sequelize, Users, Games, LoggedGames }; \ No newline at end of file +module.exports = { sequelize, Users, Games, LoggedGames, Changelog }; \ No newline at end of file diff --git a/models/changelog.js b/models/changelog.js new file mode 100644 index 0000000..1d27515 --- /dev/null +++ b/models/changelog.js @@ -0,0 +1,15 @@ +module.exports = (sequelize, DataTypes) => { + return sequelize.define('changelog', { + oldStatus: { + type: DataTypes.ENUM('planning', 'playing', 'beat'), + allowNull: true, + }, + newStatus: { + type: DataTypes.ENUM('planning', 'playing', 'beat'), + allowNull: true, + }, + }, { + timestamps: true, + }); +}; +