All models using classes and sequelize migrations

This commit is contained in:
canove
2020-07-17 14:29:10 -03:00
parent a41f7e63ac
commit 9687a1ce13
22 changed files with 578 additions and 191 deletions

View File

@@ -1,22 +1,27 @@
const Sequelize = require("sequelize");
const sequelize = require("../database");
const Message = sequelize.define("message", {
id: {
type: Sequelize.STRING(50),
allowNull: false,
primaryKey: true,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE(6),
},
userId: { type: Sequelize.INTEGER, defaultValue: 0 },
ack: { type: Sequelize.INTEGER, defaultValue: 0 },
messageBody: { type: Sequelize.TEXT, allowNull: false },
read: { type: Sequelize.BOOLEAN, defaultValue: false },
mediaUrl: { type: Sequelize.STRING(250) },
mediaType: { type: Sequelize.STRING(250) },
});
class Message extends Sequelize.Model {
static init(sequelize) {
super.init(
{
ack: { type: Sequelize.INTEGER, defaultValue: 0 },
read: { type: Sequelize.BOOLEAN, defaultValue: false },
body: { type: Sequelize.TEXT },
mediaUrl: { type: Sequelize.STRING },
mediaType: { type: Sequelize.STRING },
},
{
sequelize,
}
);
return this;
}
static associate(models) {
this.belongsTo(models.Ticket, { foreignKey: "ticketId" });
this.belongsTo(models.User, { foreignKey: "userId" });
}
}
module.exports = Message;