91c8b17d6ba05505cc7b53ffb8bb3fba04da6e4a
[motion.git] / server / models / history / report_queue_history.js
1 /**
2  * QueueLog Model
3  */
4
5 module.exports = function(sequelize, DataTypes) {
6
7   var ReportQueueHistory = sequelize.define('ReportQueueHistory', {
8     sourceid: DataTypes.INTEGER,
9     uniqueid: DataTypes.STRING,
10     calleridnum: DataTypes.STRING,
11     calleridname: DataTypes.STRING,
12     queue: DataTypes.STRING,
13     queuecallerjoinAt: DataTypes.DATE,
14     queuecallerleaveAt: DataTypes.DATE,
15     position: DataTypes.INTEGER,
16     count: DataTypes.INTEGER,
17     queuecallerabandon: {
18       type: DataTypes.BOOLEAN,
19       defaultValue: false
20     },
21     queuecallerabandonAt: DataTypes.DATE,
22     queuecallercomplete: {
23       type: DataTypes.BOOLEAN,
24       defaultValue: false
25     },
26     queuecallercompleteAt: DataTypes.DATE,
27     queuecallerexit: {
28       type: DataTypes.BOOLEAN,
29       defaultValue: false
30     },
31     queuecallerexitAt: DataTypes.DATE,
32     queuecallerexitreason: DataTypes.STRING,
33     originalposition: DataTypes.INTEGER,
34     channel: DataTypes.STRING,
35     channelstate: DataTypes.INTEGER,
36     channelstatedesc: DataTypes.STRING,
37     connectedlinenum: DataTypes.STRING,
38     connectedlinename: DataTypes.STRING,
39     language: DataTypes.STRING,
40     accountcode: DataTypes.STRING,
41     context: DataTypes.STRING,
42     exten: DataTypes.STRING,
43     priority: DataTypes.STRING,
44     holdtime: DataTypes.INTEGER,
45     assigned: {
46       type: DataTypes.BOOLEAN,
47       defaultValue: false
48     },
49     lastAssignedTo: DataTypes.STRING
50   }, {
51     tableName: 'report_queue_history',
52     indexes: [{
53       fields: ['uniqueid']
54     }, {
55       name: 'sourceid',
56       fields: ['sourceid']
57     }]
58   });
59
60   ReportQueueHistory.removeAttribute('id');
61   return ReportQueueHistory;
62 };