-var _0x681b=["\x65\x78\x70\x6F\x72\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x44\x41\x54\x45","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x73\x74\x61\x74\x65","\x65\x6E\x74\x65\x72\x64\x61\x74\x65","\x65\x78\x69\x74\x64\x61\x74\x65","\x64\x65\x66\x69\x6E\x65"];module[_0x681b[0]]=function(_0xbdb2x1,_0xbdb2x2){var _0xbdb2x3=_0xbdb2x1[_0x681b[11]](_0x681b[1],{stateinterface:_0xbdb2x2[_0x681b[2]],queue:_0xbdb2x2[_0x681b[2]],membername:_0xbdb2x2[_0x681b[2]],interface:_0xbdb2x2[_0x681b[2]],state:_0xbdb2x2[_0x681b[3]],statedesc:_0xbdb2x2[_0x681b[2]],enterdate:_0xbdb2x2[_0x681b[4]],exitdate:_0xbdb2x2[_0x681b[4]],reason:_0xbdb2x2[_0x681b[2]]},{tableName:_0x681b[5],indexes:[{fields:[_0x681b[6],_0x681b[7],_0x681b[8],_0x681b[9],_0x681b[10]]}]});return _0xbdb2x3;};
\ No newline at end of file
+'use strict';
+
+var moment = require('moment');
+
+module.exports = function(sequelize, DataTypes) {
+
+ var ReportMember = sequelize.define('ReportMember', {
+ channel: DataTypes.STRING,
+ membername: DataTypes.STRING,
+ interface: DataTypes.STRING,
+ type: {
+ type: DataTypes.STRING,
+ defaultValue: 'DEFAULT PAUSE'
+ },
+ duration: DataTypes.INTEGER,
+ enterAt: DataTypes.DATE,
+ exitAt: {
+ type: DataTypes.DATE,
+ set: function(exitAt) {
+ var a = moment(exitAt);
+ var b = moment(this.getDataValue('enterAt'));
+ var duration = a.diff(b, 'seconds');
+
+ this.setDataValue('exitAt', exitAt);
+ this.setDataValue('duration', duration || null);
+ }
+ },
+ data1: DataTypes.STRING,
+ data2: DataTypes.STRING,
+ data3: DataTypes.STRING,
+ data4: DataTypes.STRING,
+ data5: DataTypes.STRING,
+ role: DataTypes.STRING,
+ internal: DataTypes.INTEGER(11),
+ uniqueid: DataTypes.STRING
+ }, {
+ tableName: 'report_member'
+ });
+
+ return ReportMember;
+};