Built motion from commit a0baffd.|1.0.1
[motion.git] / server / models / history / report_agent_history.js
1 /**
2  * Agent Log Model
3  */
4 var moment = require('moment');
5
6 module.exports = function(sequelize, DataTypes) {
7   var ReportAgentHistory = sequelize.define('ReportAgentHistory', {
8     sourceid: DataTypes.INTEGER,
9     uniqueid: DataTypes.STRING,
10     calleridnum: DataTypes.STRING,
11     calleridname: DataTypes.STRING,
12     queue: DataTypes.STRING,
13     interface: DataTypes.STRING,
14     membername: DataTypes.STRING,
15     agentcalledAt: DataTypes.DATE,
16     agentconnectAt: {
17       type: DataTypes.DATE,
18       get: function() {
19         return moment(this.getDataValue('agentconnectAt')).format("MM-DD-YYYY HH:mm");
20       },
21     },
22     holdtime: DataTypes.INTEGER,
23     agentcomplete: {
24       type: DataTypes.BOOLEAN,
25       defaultValue: false,
26     },
27     agentcompleteAt: DataTypes.DATE,
28     talktime: DataTypes.INTEGER,
29     agentacw: {
30       type: DataTypes.BOOLEAN,
31       defaultValue: false,
32     },
33     acwtime: DataTypes.INTEGER,
34     reason: DataTypes.STRING,
35     agentringnoanswer: {
36       type: DataTypes.BOOLEAN,
37       defaultValue: false,
38     },
39     agentringnoanswerAt: DataTypes.DATE,
40     agentdump: {
41       type: DataTypes.BOOLEAN,
42       defaultValue: false,
43     },
44     agentdumpAt: DataTypes.DATE,
45     lastevent: DataTypes.STRING,
46     channel: DataTypes.STRING,
47     channelstate: DataTypes.INTEGER,
48     channelstatedesc: DataTypes.STRING,
49     connectedlinenum: DataTypes.STRING,
50     connectedlinename: DataTypes.STRING,
51     language: DataTypes.STRING,
52     accountcode: DataTypes.STRING,
53     context: DataTypes.STRING,
54     exten: DataTypes.STRING,
55     priority: DataTypes.STRING,
56     destchannel: DataTypes.STRING,
57     destchannelstate: DataTypes.INTEGER,
58     destchannelstatedesc: DataTypes.STRING,
59     destcalleridnum: DataTypes.STRING,
60     destcalleridname: DataTypes.STRING,
61     destconnectedlinenum: DataTypes.STRING,
62     destconnectedlinename: DataTypes.STRING,
63     destlanguage: DataTypes.STRING,
64     destaccountcode: DataTypes.STRING,
65     destcontext: DataTypes.STRING,
66     destexten: DataTypes.STRING,
67     destpriority: DataTypes.STRING,
68     destuniqueid: DataTypes.STRING,
69     answeredelsewheredestinationuniqueid: DataTypes.STRING,
70     answeredelsewheremembername: DataTypes.STRING
71   }, {
72     tableName: 'report_agent_history',
73     indexes: [{
74       name: 'sourceid',
75       fields: ['sourceid']
76     }]
77   });
78
79   ReportAgentHistory.removeAttribute('id');
80   return ReportAgentHistory;
81 };