e0673f704194a6927a8341cdc02cec689e2b4acf
[motion.git] / server / models / report_member.js
1 /**
2  * DIAL Model
3  */
4
5 var moment = require('moment');
6
7 module.exports = function(sequelize, DataTypes) {
8
9   var ReportMember = sequelize.define('ReportMember', {
10     channel: DataTypes.STRING,
11     membername: DataTypes.STRING,
12     interface: DataTypes.STRING,
13     type: {
14       type: DataTypes.STRING,
15       defaultValue: 'DEFAULT PAUSE'
16     },
17     duration: DataTypes.INTEGER,
18     enterAt: DataTypes.DATE,
19     exitAt: {
20       type: DataTypes.DATE,
21       set: function(exitAt) {
22         var a = moment(exitAt);
23         var b = moment(this.getDataValue('enterAt'));
24         var duration = a.diff(b, 'seconds');
25
26         this.setDataValue('exitAt', exitAt);
27         this.setDataValue('duration', duration || null);
28       }
29     },
30     data1: DataTypes.STRING,
31     data2: DataTypes.STRING,
32     data3: DataTypes.STRING,
33     data4: DataTypes.STRING,
34     data5: DataTypes.STRING
35   }, {
36     tableName: 'report_member',
37     // indexes: [{
38     //   fields: ['membername', 'enterdate', 'exitdate']
39     // }]
40   });
41
42   return ReportMember;
43 };