5c4254063abceb120b229138cd1ed026a4c052b8
[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     uniqueid: DataTypes.STRING,
9     calleridnum: DataTypes.STRING,
10     calleridname: DataTypes.STRING,
11     queue: DataTypes.STRING,
12     interface: DataTypes.STRING,
13     membername: DataTypes.STRING,
14     agentcalledAt: DataTypes.DATE,
15     agentconnectAt: {
16       type: DataTypes.DATE,
17       get: function() {
18         return moment(this.getDataValue('agentconnectAt')).format("MM-DD-YYYY HH:mm");
19       },
20     },
21     holdtime: DataTypes.INTEGER,
22     agentcomplete: {
23       type: DataTypes.BOOLEAN,
24       defaultValue: false,
25     },
26     agentcompleteAt: DataTypes.DATE,
27     talktime: DataTypes.INTEGER,
28     agentacw: {
29       type: DataTypes.BOOLEAN,
30       defaultValue: false,
31     },
32     acwtime: DataTypes.INTEGER,
33     reason: DataTypes.STRING,
34     agentringnoanswer: {
35       type: DataTypes.BOOLEAN,
36       defaultValue: false,
37     },
38     agentringnoanswerAt: DataTypes.DATE,
39     agentdump: {
40       type: DataTypes.BOOLEAN,
41       defaultValue: false,
42     },
43     agentdumpAt: DataTypes.DATE,
44     lastevent: DataTypes.STRING,
45     channel: DataTypes.STRING,
46     channelstate: DataTypes.INTEGER,
47     channelstatedesc: DataTypes.STRING,
48     connectedlinenum: DataTypes.STRING,
49     connectedlinename: DataTypes.STRING,
50     language: DataTypes.STRING,
51     accountcode: DataTypes.STRING,
52     context: DataTypes.STRING,
53     exten: DataTypes.STRING,
54     priority: DataTypes.STRING,
55     destchannel: DataTypes.STRING,
56     destchannelstate: DataTypes.INTEGER,
57     destchannelstatedesc: DataTypes.STRING,
58     destcalleridnum: DataTypes.STRING,
59     destcalleridname: DataTypes.STRING,
60     destconnectedlinenum: DataTypes.STRING,
61     destconnectedlinename: DataTypes.STRING,
62     destlanguage: DataTypes.STRING,
63     destaccountcode: DataTypes.STRING,
64     destcontext: DataTypes.STRING,
65     destexten: DataTypes.STRING,
66     destpriority: DataTypes.STRING,
67     destuniqueid: DataTypes.STRING
68   }, {
69     tableName: 'report_agent_history'
70   });
71
72   ReportAgentHistory.removeAttribute('id');
73   return ReportAgentHistory;
74 };