6 module.exports = function(sequelize, DataTypes) {
7 var MailRoom = sequelize.define('MailRoom', {
8 subject: DataTypes.STRING,
9 from: DataTypes.STRING,
10 account: DataTypes.STRING,
12 type: DataTypes.BOOLEAN,
16 type: DataTypes.INTEGER,
20 type: DataTypes.INTEGER,
24 type: DataTypes.ENUM('NEW', 'OPEN', 'CLOSED', 'UNMANAGED'),
28 type: DataTypes.ENUM('SENT', 'SENDING', 'RECEIVED', 'FAILED', 'NOTE')
34 type: DataTypes.BOOLEAN,
41 if (this.getDataValue('tags')) {
42 tags = this.getDataValue('tags').split(';');
50 this.setDataValue('tags', val && val.length ? val.join(';') + ';' : null);
54 type: DataTypes.STRING
60 type: DataTypes.INTEGER
63 tableName: 'mail_rooms',
65 associate: function(models) {
67 MailRoom.hasMany(models.MailMessage);
68 MailRoom.belongsTo(models.MailAccount);
69 MailRoom.belongsToMany(models.User, {
70 through: 'user_has_mail_rooms'
73 MailRoom.addScope('default', {
78 model: models.MailAccount
80 model: models.MailMessage,
82 model: models.MailAttachment
85 attributes: ['id', 'name', 'fullname', 'email', 'userpic']
89 attributes: ['id', 'name', 'fullname', 'email', 'userpic']