-var _0xe2a1=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x53\x54\x52\x49\x4E\x47","\x42\x4F\x4F\x4C\x45\x41\x4E","\x49\x4E\x54\x45\x47\x45\x52","\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x68\x61\x73\x4D\x61\x6E\x79","\x63\x61\x73\x63\x61\x64\x65","\x68\x61\x73\x4F\x6E\x65","\x64\x65\x66\x61\x75\x6C\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x69\x64","\x68\x6F\x73\x74","\x70\x6F\x72\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x73\x73\x6C","\x64\x65\x6C\x65\x74\x65","\x66\x69\x6C\x74\x65\x72","\x73\x74\x61\x74\x65","\x6D\x61\x69\x6C\x62\x6F\x78","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x73\x65\x72\x76\x69\x63\x65","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x55\x73\x65\x72","\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x61\x64\x64\x53\x63\x6F\x70\x65","\x64\x65\x66\x69\x6E\x65"];module[_0xe2a1[0]]=function(_0x285ex1,_0x285ex2){var _0x285ex3=_0x285ex1[_0xe2a1[31]](_0xe2a1[1],{description:_0x285ex2[_0xe2a1[2]],name:{type:_0x285ex2[_0xe2a1[2]]},address:{type:_0x285ex2[_0xe2a1[2]],unique:true},fidelity:{type:_0x285ex2[_0xe2a1[3]],defaultValue:false},timeout:{type:_0x285ex2[_0xe2a1[4]],defaultValue:0}},{tableName:_0xe2a1[5],associate:function(_0x285ex4){_0x285ex3[_0xe2a1[6]](_0x285ex4.MailRoom);_0x285ex3[_0xe2a1[6]](_0x285ex4.MailTemplate);_0x285ex3[_0xe2a1[6]](_0x285ex4.MailApplication);_0x285ex3[_0xe2a1[8]](_0x285ex4.MailServerIn,{onDelete:_0xe2a1[7],hooks:true});_0x285ex3[_0xe2a1[8]](_0x285ex4.MailServerOut,{onDelete:_0xe2a1[7],hooks:true});_0x285ex3[_0xe2a1[30]](_0xe2a1[9],{include:[{model:_0x285ex4[_0xe2a1[10]],attributes:[_0xe2a1[11],_0xe2a1[12],_0xe2a1[13],_0xe2a1[14],_0xe2a1[15],_0xe2a1[16],_0xe2a1[17],_0xe2a1[18],_0xe2a1[19],_0xe2a1[20]]},{model:_0x285ex4[_0xe2a1[21]],attributes:[_0xe2a1[11],_0xe2a1[12],_0xe2a1[13],_0xe2a1[14],_0xe2a1[15],_0xe2a1[16],_0xe2a1[22],_0xe2a1[19]]},{model:_0x285ex4[_0xe2a1[23]],include:[{model:_0x285ex4[_0xe2a1[24]],attributes:[_0xe2a1[11],_0xe2a1[25],_0xe2a1[26],_0xe2a1[27],_0xe2a1[28]]},{model:_0x285ex4[_0xe2a1[29]]}]}]})}});return _0x285ex3}
\ No newline at end of file
+/**
+ * Chat Website Model
+ */
+
+module.exports = function(sequelize, DataTypes) {
+
+ var MailAccount = sequelize.define('MailAccount', {
+ description: DataTypes.STRING,
+ name: {
+ type: DataTypes.STRING
+ },
+ address: {
+ type: DataTypes.STRING,
+ unique: true,
+ isEmail: true,
+ set: function(address) {
+ if (address) {
+ this.setDataValue('address', address.toLowerCase());
+ }
+ },
+ },
+ fidelity: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: false
+ },
+ timeout: {
+ type: DataTypes.INTEGER,
+ defaultValue: 0
+ },
+ whiteLabel: {
+ type: DataTypes.STRING
+ }
+ }, {
+ tableName: 'mail_accounts',
+ associate: function(models) {
+ // RELATIONS
+ MailAccount.belongsTo(models.List);
+ MailAccount.belongsTo(models.Template);
+ MailAccount.hasMany(models.MailRoom);
+ MailAccount.hasMany(models.MailDisposition);
+ MailAccount.hasMany(models.MailApplication);
+ MailAccount.hasOne(models.MailServerIn, {
+ onDelete: 'cascade',
+ hooks: true
+ });
+ MailAccount.hasOne(models.MailServerOut, {
+ onDelete: 'cascade',
+ hooks: true
+ });
+
+ // SCOPES
+ MailAccount.addScope('default', {
+ include: [{
+ model: models.MailServerIn,
+ attributes: ['id', 'host', 'port', 'username', 'password', 'ssl', 'delete', 'filter', 'state', 'mailbox', 'connTimeout', 'authTimeout', 'keepalive', 'source']
+ }, {
+ model: models.MailServerOut,
+ attributes: ['id', 'host', 'port', 'username', 'password', 'ssl', 'service', 'state', 'source']
+ }, {
+ model: models.MailApplication,
+ include: [{
+ model: models.User,
+ attributes: ['id',
+ 'name',
+ 'email',
+ 'internal',
+ 'fullname'
+ ]
+ }, {
+ model: models.MailQueue
+ }]
+ }]
+ });
+ }
+ });
+
+ return MailAccount;
+};