name: {
type: DataTypes.STRING,
primaryKey: true,
- unique: true
+ unique: true,
+ validate: {
+ notEmpty: true,
+ is: {
+ args: /^[A-Za-z0-9._\+*!\-\[\]]+$/,
+ msg: 'The name is not valid!'
+ }
+ },
},
musiconhold: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: ''
},
- context: {
- type: DataTypes.STRING,
- allowNull: true,
- defaultValue: null
+ strategy: {
+ type: DataTypes.ENUM('ringall', 'leastrecent', 'fewestcalls', 'random', 'rrmemory', 'linear', 'wrandom', 'rrordered'),
+ allowNull: false,
+ defaultValue: 'ringall'
},
- timeout: {
+ servicelevel: {
type: DataTypes.INTEGER(11),
allowNull: true,
defaultValue: 0
},
- ringinuse: {
- type: DataTypes.ENUM('yes', 'no'),
- allowNull: true,
- defaultValue: 'no'
- },
- setinterfacevar: {
- type: DataTypes.ENUM('yes', 'no'),
- allowNull: true,
- defaultValue: 'yes'
- },
- setqueuevar: {
- type: DataTypes.ENUM('yes', 'no'),
+ context: {
+ type: DataTypes.STRING,
allowNull: true,
- defaultValue: 'yes'
+ defaultValue: null
},
- setqueueentryvar: {
- type: DataTypes.ENUM('yes', 'no'),
+ penaltymemberslimit: {
+ type: DataTypes.INTEGER(11),
allowNull: true,
- defautValue: 'yes'
},
- eventwhencalled: {
- type: DataTypes.ENUM('yes', 'no', 'vars'),
+ timeout: {
+ type: DataTypes.INTEGER(11),
allowNull: true,
- defautValue: 'yes'
+ defaultValue: 15
},
- eventmemberstatus: {
- type: DataTypes.ENUM('yes', 'no'),
+ retry: {
+ type: DataTypes.INTEGER(11),
allowNull: true,
- defautValue: 'yes'
+ defaultValue: 2
},
- monitor_format: {
+ timeoutpriority: {
type: DataTypes.STRING,
allowNull: true,
- defaultValue: ''
},
- membermacro: {
- type: DataTypes.STRING,
+ weight: {
+ type: DataTypes.INTEGER(11),
allowNull: true,
+ defaultValue: 0
},
- description: {
- type: DataTypes.STRING,
+ wrapuptime: {
+ type: DataTypes.INTEGER(11),
allowNull: true,
+ defaultValue: 0
},
- membergosub: {
- type: DataTypes.STRING,
+ autofill: {
+ type: DataTypes.ENUM('yes', 'no'),
allowNull: true,
+ defaultValue: 'yes'
},
- queue_youarenext: {
- type: DataTypes.STRING,
+ autopause: {
+ type: DataTypes.ENUM('yes', 'no', 'all'),
allowNull: true,
- defaultValue: null
+ defaultValue: 'no'
},
- queue_thereare: {
- type: DataTypes.STRING,
+ autopausedelay: {
+ type: DataTypes.INTEGER(11),
allowNull: true,
- defaultValue: null
},
- queue_callswaiting: {
- type: DataTypes.STRING,
+ autopausebusy: {
+ type: DataTypes.ENUM('yes', 'no'),
allowNull: true,
- defaultValue: null
- },
- queue_quantity1: {
- type: DataTypes.STRING,
- allowNull: true
- },
- queue_quantity2: {
- type: DataTypes.STRING,
- allowNull: true
+ defaultValue: 'no'
},
- queue_holdtime: {
- type: DataTypes.STRING,
+ autopauseunavail: {
+ type: DataTypes.ENUM('yes', 'no'),
allowNull: true,
- defaultValue: null
+ defaultValue: 'no'
},
- queue_minutes: {
- type: DataTypes.STRING,
+ maxlen: {
+ type: DataTypes.INTEGER(11),
allowNull: true,
- defaultValue: null
+ defaultValue: 0
},
- queue_seconds: {
- type: DataTypes.STRING,
+ setinterfacevar: {
+ type: DataTypes.ENUM('yes', 'no'),
allowNull: true,
- defaultValue: null
+ defaultValue: 'no'
},
- queue_minute: {
- type: DataTypes.STRING,
+ setqueueentryvar: {
+ type: DataTypes.ENUM('yes', 'no'),
allowNull: true,
- defaultValue: null
+ defautValue: 'no'
},
- queue_thankyou: {
- type: DataTypes.STRING,
+ setqueuevar: {
+ type: DataTypes.ENUM('yes', 'no'),
allowNull: true,
- defaultValue: null
+ defaultValue: 'no'
},
- queue_callerannounce: {
+ membermacro: {
type: DataTypes.STRING,
allowNull: true,
},
- queue_reporthold: {
+ membergosub: {
type: DataTypes.STRING,
allowNull: true,
},
allowNull: true,
defaultValue: 0
},
- announce_to_first_user: {
- type: DataTypes.ENUM('yes', 'no'),
- allowNull: true,
- },
min_announce_frequency: {
type: DataTypes.INTEGER(11),
allowNull: true,
defaultValue: 0
},
- announce_round_seconds: {
+ periodic_announce_frequency: {
type: DataTypes.INTEGER(11),
allowNull: true,
defaultValue: 0
},
+ random_periodic_announce: {
+ type: DataTypes.ENUM('yes', 'no'),
+ allowNull: true,
+ defaultValue: 'no'
+ },
+ relative_periodic_announce: {
+ type: DataTypes.ENUM('yes', 'no'),
+ allowNull: true,
+ defaultValue: 'yes'
+ },
announce_holdtime: {
- type: DataTypes.STRING,
+ type: DataTypes.ENUM('yes', 'no', 'once'),
allowNull: true,
defaultValue: 'no'
},
allowNull: true,
defaultValue: 'no'
},
+ announce_to_first_user: {
+ type: DataTypes.ENUM('yes', 'no'),
+ allowNull: true,
+ },
announce_position_limit: {
type: DataTypes.INTEGER(11),
allowNull: true,
},
- periodic_announce: {
+ announce_round_seconds: {
+ type: DataTypes.ENUM('0', '5', '10', '15', '20', '30'),
+ allowNull: true,
+ defaultValue: '0'
+ },
+ monitor_format: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: ''
},
- periodic_announce_frequency: {
- type: DataTypes.INTEGER(11),
+ monitor_type: {
+ type: DataTypes.STRING,
allowNull: true,
- defaultValue: 0
},
- relative_periodic_announce: {
- type: DataTypes.ENUM('yes', 'no'),
+ queue_youarenext: {
+ type: DataTypes.STRING,
allowNull: true,
- defaultValue: 'yes'
+ defaultValue: null
},
- random_periodic_announce: {
- type: DataTypes.ENUM('yes', 'no'),
+ queue_thereare: {
+ type: DataTypes.STRING,
allowNull: true,
- defaultValue: 'no'
+ defaultValue: null
},
- retry: {
- type: DataTypes.INTEGER(11),
+ queue_callswaiting: {
+ type: DataTypes.STRING,
allowNull: true,
- defaultValue: 0
+ defaultValue: null
},
- wrapuptime: {
- type: DataTypes.INTEGER(11),
+ queue_holdtime: {
+ type: DataTypes.STRING,
allowNull: true,
- defaultValue: 0
+ defaultValue: null
},
- penaltymemberslimit: {
- type: DataTypes.INTEGER(11),
+ queue_minute: {
+ type: DataTypes.STRING,
allowNull: true,
+ defaultValue: null
},
- autofill: {
- type: DataTypes.ENUM('yes', 'no'),
+ queue_minutes: {
+ type: DataTypes.STRING,
allowNull: true,
+ defaultValue: null
},
- monitor_type: {
+ queue_seconds: {
type: DataTypes.STRING,
allowNull: true,
+ defaultValue: null
},
- autopause: {
- type: DataTypes.ENUM('yes', 'no', 'all'),
+ queue_thankyou: {
+ type: DataTypes.STRING,
allowNull: true,
- defaultValue: 'no'
+ defaultValue: null
},
- autopausedelay: {
- type: DataTypes.INTEGER(11),
+ queue_reporthold: {
+ type: DataTypes.STRING,
allowNull: true,
},
- autopausebusy: {
- type: DataTypes.ENUM('yes', 'no'),
- allowNull: true,
+ queue_quantity1: {
+ type: DataTypes.STRING,
+ allowNull: true
},
- autopauseunavail: {
- type: DataTypes.ENUM('yes', 'no'),
- allowNull: true,
+ queue_quantity2: {
+ type: DataTypes.STRING,
+ allowNull: true
},
- maxlen: {
- type: DataTypes.INTEGER(11),
- allowNull: true,
- defaultValue: 0
+ queue_periodic_announce: {
+ type: DataTypes.STRING,
+ allowNull: true
},
- servicelevel: {
- type: DataTypes.INTEGER(11),
- allowNull: true,
- defaultValue: 0
+ queue_less_than: {
+ type: DataTypes.STRING,
+ allowNull: true
},
- strategy: {
- type: DataTypes.ENUM('ringall', 'leastrecent', 'fewestcalls', 'random', 'rrmemory', 'linear', 'wrandom', 'rrordered'),
+ periodic_announce: {
+ type: DataTypes.STRING,
allowNull: true,
+ defaultValue: ''
},
joinempty: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: 'no'
},
- memberdelay: {
- type: DataTypes.INTEGER(11),
+ ringinuse: {
+ type: DataTypes.ENUM('yes', 'no'),
allowNull: true,
- defaultValue: 0
+ defaultValue: 'no'
},
- weight: {
+ memberdelay: {
type: DataTypes.INTEGER(11),
allowNull: true,
defaultValue: 0
type: DataTypes.STRING,
allowNull: true,
},
- timeoutpriority: {
+ description: {
type: DataTypes.STRING,
allowNull: true,
+ },
+ acw: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: 0
+ },
+ acwTimeout: {
+ type: DataTypes.INTEGER(11),
+ defaultValue: 10
}
}, {
tableName: 'voice_queues',
associate: function(models) {
VoiceQueue.belongsToMany(models.User, {
through: models.UserHasVoiceQueue,
- foreignKey: 'queue'
+ foreignKey: 'queue',
+ required: false
+ });
+ VoiceQueue.belongsToMany(models.User, {
+ through: models.UserHasVoiceQueuePermit,
+ as: 'PVoiceQueues'
});
}
});