3 const _ = require('lodash');
5 module.exports = function(sequelize, DataTypes) {
7 var FaxMessage = sequelize.define('FaxMessage', {
8 from: DataTypes.STRING,
11 type: DataTypes.ENUM('SENT', 'SENDING', 'RECEIVED', 'FAILED', 'NOTE'),
12 defaultValue: 'SENDING'
14 // actionid: DataTypes.STRING,
15 channel: DataTypes.STRING,
16 channelstate: DataTypes.INTEGER,
17 channelstatedesc: DataTypes.STRING,
18 calleridnum: DataTypes.STRING,
19 calleridname: DataTypes.STRING,
20 connectedlinenum: DataTypes.STRING,
21 connectedlinename: DataTypes.STRING,
22 accountcode: DataTypes.STRING,
23 context: DataTypes.STRING,
24 exten: DataTypes.STRING,
25 priority: DataTypes.INTEGER,
26 uniqueid: DataTypes.STRING,
27 linkedid: DataTypes.STRING,
28 localstationid: DataTypes.STRING,
29 remotestationid: DataTypes.STRING,
31 type: DataTypes.INTEGER,
34 resolution: DataTypes.STRING,
35 transferrate: DataTypes.STRING,
36 filename: DataTypes.STRING,
37 lastStatus: DataTypes.STRING,
38 error: DataTypes.STRING,
39 // body: DataTypes.TEXT,
43 if (this.getDataValue('text')) {
44 return _.toString(this.getDataValue('text'));
49 type: DataTypes.INTEGER,
53 tableName: 'fax_messages',
55 associate: function(models) {
56 FaxMessage.belongsTo(models.FaxRoom, {
59 FaxMessage.belongsTo(models.User);
60 FaxMessage.hasMany(models.FaxAttachment);