var FaxQueue = sequelize.define('FaxQueue', {
name: {
type: DataTypes.STRING,
- unique: true,
+ unique: 'name',
allowNull: false,
validate: {
notEmpty: true,
+ is: /^[A-Za-z0-9\.\_]+$/i
}
},
description: {
},
timeout: {
type: DataTypes.INTEGER,
+ validate: {
+ min: 1
+ }
},
strategy: {
- type: DataTypes.ENUM('rrmemory', 'beepall')
- }
+ type: DataTypes.ENUM('rrmemory', 'beepall', 'roundrobin')
+ },
+ lastAgent: {
+ type: DataTypes.INTEGER,
+ defaultValue: 0
+ },
}, {
tableName: 'fax_queues',
associate: function(models) {
hooks: true,
through: models.UserHasFaxQueue
});
+
+ FaxQueue.belongsToMany(models.User, {
+ through: models.UserHasFaxQueuePermit,
+ as: 'PFaxQueues'
+ });
+
+ //SCOPES
+ FaxQueue.addScope('default', {
+ include: [{
+ model: models.User,
+ attributes: ['id', 'name', 'fullname', 'email', 'online', 'lastLoginAt', 'faxPause', 'pauseType']
+ }]
+ });
}
});
return FaxQueue;
-
};