Built motion from commit e2ff5cd.|0.0.92
[motion.git] / server / models / fax_queue.js
1 'use strict';
2
3 module.exports = function(sequelize, DataTypes) {
4
5   var FaxQueue = sequelize.define('FaxQueue', {
6     name: {
7       type: DataTypes.STRING,
8       unique: true,
9       allowNull: false,
10       validate: {
11         notEmpty: true,
12         is: /^[A-Za-z0-9\.\_]+$/i
13       }
14     },
15     description: {
16       type: DataTypes.STRING,
17     },
18     timeout: {
19       type: DataTypes.INTEGER,
20       validate: {
21         min: 1
22       }
23     },
24     strategy: {
25       type: DataTypes.ENUM('rrmemory', 'beepall')
26     }
27   }, {
28     tableName: 'fax_queues',
29     associate: function(models) {
30       // hasMany relations
31       FaxQueue.belongsToMany(models.User, {
32         hooks: true,
33         through: models.UserHasFaxQueue
34       });
35
36       FaxQueue.belongsToMany(models.User, {
37         through: models.UserHasFaxQueuePermit,
38         as: 'PFaxQueues'
39       });
40     }
41   });
42
43   return FaxQueue;
44 };