Compare commits

..

No commits in common. "1f504ae0c449b848f51c37f4739df88767539585" and "e2d3881cce22d10d86893cf6b4195d84dda9724c" have entirely different histories.

7 changed files with 40 additions and 55 deletions

View File

@ -1,25 +0,0 @@
const { SlashCommandBuilder } = require('discord.js');
const { Users } = require ('../../dbObjects.js');
module.exports = {
data: new SlashCommandBuilder()
.setName('register')
.setDescription('Manually registers the user into the user database.'),
async execute(interaction) {
// interaction.user is the object representing the user who ran the command
// interaction.member is the GuildMember object, which represents the user in the specific guild
const user = await Users.findOne({ where: { discord_id: interaction.user.id } })
.catch((err) => {
console.log(err);
});
if (user) return interaction.reply(`User "${interaction.user.username}" is already registered`);
await Users.create({ discord_id: interaction.user.id, username: interaction.user.username })
.then(await interaction.reply(`${interaction.user.username} was manually registered.`))
.catch((err) => {
console.log(err);
});
},
};

View File

@ -9,7 +9,7 @@ const sequelize = new Sequelize('database', 'username', 'password', {
const db = require('./models/games.js')(sequelize, Sequelize.DataTypes); const db = require('./models/games.js')(sequelize, Sequelize.DataTypes);
require('./models/users.js')(sequelize, Sequelize.DataTypes); require('./models/users.js')(sequelize, Sequelize.DataTypes);
require('./models/beatenGames.js')(sequelize, Sequelize.DataTypes); require('models/beatenGames.js')(sequelize, Sequelize.DataTypes);
const force = process.argv.includes('--force') || process.argv.includes('-f'); const force = process.argv.includes('--force') || process.argv.includes('-f');

View File

@ -1,22 +0,0 @@
const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'sqlite',
logging: false,
storage: 'database.sqlite',
});
const Users = require('./models/users.js')(sequelize, Sequelize.DataTypes);
const Games = require('./models/games.js')(sequelize, Sequelize.DataTypes);
const BeatenGames = require('./models/beatenGames.js')(sequelize, Sequelize.DataTypes);
// Create userId foreignKey
Users.hasMany(BeatenGames);
BeatenGames.belongsTo(Users);
// Create gameId foreignKey
Games.hasMany(BeatenGames);
BeatenGames.belongsTo(Games);
module.exports = { Users, Games, BeatenGames };

View File

@ -50,9 +50,30 @@ for (const file of eventFiles) {
client.login(process.env.token); client.login(process.env.token);
client.once(Events.ClientReady, () => { const { Sequelize } = require('sequelize');
console.log(`Logged in as ${client.user.tag}!`);
const sequelize = new Sequelize('database', 'user', 'password', {
host: 'localhost',
dialect: 'sqlite',
logging: false,
storage: 'database.sqlite',
}); });
require('sequelize'); const Tags = sequelize.define('tags', {
require('./dbObjects.js'); name: {
type: Sequelize.STRING,
unique: true,
},
description: Sequelize.TEXT,
username: Sequelize.STRING,
usage_count: {
type: Sequelize.INTEGER,
defaultValue: 0,
allowNull: false,
},
});
client.once(Events.ClientReady, () => {
Tags.sync({ force: true });
console.log(`Logged in as ${client.user.tag}!`);
});

View File

@ -1,7 +1,16 @@
module.exports = (sequelize, DataTypes) => { module.exports = (sequelize, DataTypes) => {
return sequelize.define('beatenGames', { return sequelize.define('beatenGames', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
user_id: DataTypes.INTEGER,
game_id: DataTypes.STRING,
date_created: DataTypes.DATE,
date_last_modified: DataTypes.DATE,
}, { }, {
timestamps: true, timestamps: false,
}); });
}; };

View File

@ -1,7 +1,8 @@
module.exports = (sequelize, DataTypes) => { module.exports = (sequelize, DataTypes) => {
return sequelize.define('games', { return sequelize.define('games', {
igdb_id: { id: {
type: DataTypes.INTEGER, type: DataTypes.INTEGER,
primaryKey: true,
}, },
name: { name: {
type: DataTypes.STRING, type: DataTypes.STRING,

View File

@ -1,7 +1,8 @@
module.exports = (sequelize, DataTypes) => { module.exports = (sequelize, DataTypes) => {
return sequelize.define('users', { return sequelize.define('users', {
discord_id: { user_id: {
type: DataTypes.STRING, type: DataTypes.STRING,
primaryKey: true,
}, },
username: { username: {
type: DataTypes.STRING, type: DataTypes.STRING,