Profiles: Add user profile model and command

This commit is contained in:
2022-09-05 23:22:36 +02:00
parent bba51cea2e
commit 1206251ff6
4 changed files with 134 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ module.exports = (sequelize, DataTypes) => {
static associate(models) {
// define association here
User.hasMany(models.Card);
User.hasOne(models.Profile);
}
//instance methods
async getCardsWithCharactersCounted() {
@@ -26,6 +27,13 @@ module.exports = (sequelize, DataTypes) => {
});
return cards;
}
async getProfile() {
return await sequelize.models.Profile.findOne({
where: {
userId: this.id
}
});
}
}
User.init({
discordId: DataTypes.BIGINT,
@@ -35,6 +43,14 @@ module.exports = (sequelize, DataTypes) => {
nextPull: DataTypes.DATE,
nextDaily: DataTypes.DATE
}, {
hooks: {
afterCreate: async (user, options) => {
//Create new user profile
await sequelize.models.Profile.create({
userId: user.id
});
}
},
sequelize,
modelName: 'User',
});