0063f40c15f64ef0e624bad37cd53c22275dea67
[motion.git] / server / models / report_mail.js
1 'use strict';
2
3 const moment = require('moment');
4
5 module.exports = function(sequelize, DataTypes) {
6   var ReportMail = sequelize.define('ReportMail', {
7     uniqueid: DataTypes.STRING,
8     timeslot: DataTypes.INTEGER,
9     subject: DataTypes.STRING,
10     accountid: DataTypes.STRING,
11     accountname: DataTypes.STRING,
12     accountaddress: DataTypes.STRING,
13     application: DataTypes.STRING,
14     memberid: DataTypes.INTEGER,
15     membername: DataTypes.STRING,
16     queue: DataTypes.INTEGER,
17     queuename: DataTypes.STRING,
18     roomid: DataTypes.INTEGER,
19     messageid: DataTypes.INTEGER,
20     reason: {
21       type: DataTypes.STRING,
22       defaultValue: 'called'
23     },
24     connectid: {
25       type: DataTypes.STRING,
26       unique: true,
27       set: function(connectid) {
28         this.setDataValue('connectid', connectid);
29         this.setDataValue('reason', 'connect');
30         this.setDataValue('connectedAt', moment().format("YYYY-MM-DD HH:mm:ss"));
31       }
32     },
33     calledAt: DataTypes.DATE,
34     rejectedAt: {
35       type: DataTypes.DATE,
36       set: function(rejectedAt) {
37         this.setDataValue('rejectedAt', rejectedAt);
38         this.setDataValue('reason', 'rejected');
39       }
40     },
41     connectedAt: DataTypes.DATE,
42     from: DataTypes.STRING
43   }, {
44     tableName: 'report_mail'
45   });
46
47   return ReportMail;
48 };