5 module.exports = function(sequelize, DataTypes) {
7 var MailAccount = sequelize.define('MailAccount', {
8 description: DataTypes.STRING,
10 type: DataTypes.STRING
13 type: DataTypes.STRING,
16 set: function(address) {
18 this.setDataValue('address', address.toLowerCase());
23 type: DataTypes.BOOLEAN,
27 type: DataTypes.INTEGER,
31 type: DataTypes.STRING
34 tableName: 'mail_accounts',
35 associate: function(models) {
37 MailAccount.belongsTo(models.List);
38 MailAccount.belongsTo(models.Template);
39 MailAccount.hasMany(models.MailRoom);
40 MailAccount.hasMany(models.MailDisposition);
41 MailAccount.hasMany(models.MailApplication);
42 MailAccount.hasOne(models.MailServerIn, {
46 MailAccount.hasOne(models.MailServerOut, {
52 MailAccount.addScope('default', {
54 model: models.MailServerIn,
55 attributes: ['id', 'host', 'port', 'username', 'password', 'ssl', 'delete', 'filter', 'state', 'mailbox', 'connTimeout', 'authTimeout', 'keepalive', 'source']
57 model: models.MailServerOut,
58 attributes: ['id', 'host', 'port', 'username', 'password', 'ssl', 'service', 'state', 'source']
60 model: models.MailApplication,
70 model: models.MailQueue