Built motion from commit 2239aeb.|0.0.113
[motion.git] / server / models / history / report_call_history.js
index 6e01e49..d1411b2 100644 (file)
@@ -1 +1,60 @@
-var _0x3d8c=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x53\x54\x52\x49\x4E\x47","\x44\x41\x54\x45","","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x49\x4E\x54\x45\x47\x45\x52","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5F\x68\x69\x73\x74\x6F\x72\x79","\x48\x69\x73\x74\x6F\x72\x79\x51\x75\x65\x75\x65\x43\x61\x6C\x6C\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x4D\x61\x6E\x79","\x48\x69\x73\x74\x6F\x72\x79\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x73","\x64\x65\x66\x69\x6E\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65"];module[_0x3d8c[0]]=function(_0x8574x1,_0x8574x2){var _0x8574x3=_0x8574x1[_0x3d8c[13]](_0x3d8c[1],{accountcode:_0x8574x2[_0x3d8c[2]],source:_0x8574x2[_0x3d8c[2]],destination:_0x8574x2[_0x3d8c[2]],destinationcontext:_0x8574x2[_0x3d8c[2]],callerid:_0x8574x2[_0x3d8c[2]],channel:_0x8574x2[_0x3d8c[2]],destinationchannel:_0x8574x2[_0x3d8c[2]],lastapplication:_0x8574x2[_0x3d8c[2]],lastdata:_0x8574x2[_0x3d8c[2]],starttime:_0x8574x2[_0x3d8c[3]],answertime:{type:_0x8574x2[_0x3d8c[3]],set:function(_0x8574x4){if(_0x8574x4!==_0x3d8c[4]){this[_0x3d8c[6]](_0x3d8c[5],_0x8574x4)}else {this[_0x3d8c[6]](_0x3d8c[5],null)}}},endtime:_0x8574x2[_0x3d8c[3]],duration:_0x8574x2[_0x3d8c[7]],billableseconds:_0x8574x2[_0x3d8c[7]],disposition:_0x8574x2[_0x3d8c[2]],amaflags:_0x8574x2[_0x3d8c[2]],uniqueid:{type:_0x8574x2[_0x3d8c[2]],primaryKey:true},userfield:_0x8574x2[_0x3d8c[2]]},{tableName:_0x3d8c[8],associate:function(_0x8574x5){_0x8574x3[_0x3d8c[11]](_0x8574x5.ReportQueueHistory,{as:_0x3d8c[9],foreignKey:_0x3d8c[10],constraints:false});_0x8574x3[_0x3d8c[11]](_0x8574x5.ReportAgentHistory,{as:_0x3d8c[12],foreignKey:_0x3d8c[10],constraints:false})}});_0x8574x3[_0x3d8c[15]](_0x3d8c[14]);return _0x8574x3}
\ No newline at end of file
+/**
+ * CDR Model
+ */
+
+module.exports = function(sequelize, DataTypes) {
+
+  var ReportCallHistory = sequelize.define('ReportCallHistory', {
+    uniqueid: {
+      type: DataTypes.STRING,
+      unique: true
+    },
+    type: {
+      type: DataTypes.ENUM,
+      values: ['inbound', 'internal', 'outbound', 'inbound-fax', 'outbound-fax', 'tigerdial']
+    },
+    tag: DataTypes.STRING,
+    accountcode: DataTypes.STRING,
+    source: DataTypes.STRING,
+    destination: DataTypes.STRING,
+    destinationcontext: DataTypes.STRING,
+    callerid: DataTypes.STRING,
+    channel: DataTypes.STRING,
+    destinationchannel: DataTypes.STRING,
+    lastapplication: DataTypes.STRING,
+    lastdata: DataTypes.STRING,
+    starttime: DataTypes.DATE,
+    answertime: {
+      type: DataTypes.DATE,
+      set: function(answertime) {
+        if (answertime !== '') {
+          this.setDataValue('answertime', answertime);
+        } else {
+          this.setDataValue('answertime', null);
+        }
+      }
+    },
+    endtime: DataTypes.DATE,
+    duration: DataTypes.INTEGER,
+    billableseconds: DataTypes.INTEGER,
+    disposition: DataTypes.STRING,
+    amaflags: DataTypes.STRING,
+    userfield: DataTypes.STRING
+  }, {
+    tableName: 'report_call_history',
+    associate: function(models) {
+      // ReportCallHistory.hasMany(models.ReportQueueHistory, {
+      //   as: 'HistoryQueueCalls',
+      //   foreignKey: 'uniqueid',
+      //   constraints: false
+      // });
+      // ReportCallHistory.hasMany(models.ReportAgentHistory, {
+      //   as: 'HistoryReportAgents',
+      //   foreignKey: 'uniqueid',
+      //   constraints: false
+      // });
+    }
+  });
+  ReportCallHistory.removeAttribute('id');
+  return ReportCallHistory;
+};