Built motion from commit 82438f7.|0.0.115
[motion.git] / server / models / voice_recording.js
1 /* jshint indent: 2 */
2 var moment = require('moment');
3
4 module.exports = function(sequelize, DataTypes) {
5   var VoiceRecording = sequelize.define('VoiceRecording', {
6     uniqueid: {
7       type: DataTypes.STRING
8     },
9     channel: {
10       type: DataTypes.STRING,
11       set: function(channel) {
12         if (channel) {
13           this.setDataValue('channel', channel);
14           this.setDataValue('membername', channel.split(/\/|-/)[1]);
15         }
16       }
17     },
18     membername: {
19       type: DataTypes.STRING
20     },
21     calleridnum: {
22       type: DataTypes.STRING
23     },
24     calleridname: {
25       type: DataTypes.STRING
26     },
27     connectedlinenum: {
28       type: DataTypes.STRING
29     },
30     connectedlinename: {
31       type: DataTypes.STRING
32     },
33     language: {
34       type: DataTypes.STRING
35     },
36     accountcode: {
37       type: DataTypes.STRING
38     },
39     context: {
40       type: DataTypes.STRING
41     },
42     exten: {
43       type: DataTypes.STRING
44     },
45     value: {
46       type: DataTypes.STRING
47     },
48     type: {
49       type: DataTypes.STRING
50     },
51     rating: {
52       type: DataTypes.INTEGER,
53       defaultValue: 0,
54       validate: {
55         max: 5,
56         min: 0
57       }
58     },
59     queue: {
60       type: DataTypes.STRING
61     },
62     createdAt: {
63       type: DataTypes.DATE,
64       get: function() {
65         // 'this' allows you to access attributes of the instance
66         return moment(this.getDataValue('createdAt')).format("MM-DD-YYYY HH:mm").toString();
67       }
68     },
69     updatedAt: {
70       type: DataTypes.DATE,
71       get: function() {
72         // 'this' allows you to access attributes of the instance
73         return moment(this.getDataValue('updatedAt')).format("MM-DD-YYYY HH:mm").toString();
74       }
75     }
76   }, {
77     tableName: 'voice_recordings',
78     associate: function(models) {
79       // VoiceRecording.belongsTo(models.ReportCall, {
80       //   foreignKey: 'uniqueid'
81       // });
82     }
83   });
84
85   return VoiceRecording;
86 };