5 var _ = require('lodash');
7 module.exports = function(sequelize, DataTypes) {
9 var FaxMessage = sequelize.define('FaxMessage', {
10 from: DataTypes.STRING,
13 type: DataTypes.ENUM('SENT', 'SENDING', 'RECEIVED', 'FAILED', 'NOTE'),
14 defaultValue: 'SENDING'
16 // actionid: DataTypes.STRING,
17 channel: DataTypes.STRING,
18 channelstate: DataTypes.INTEGER,
19 channelstatedesc: DataTypes.STRING,
20 calleridnum: DataTypes.STRING,
21 calleridname: DataTypes.STRING,
22 connectedlinenum: DataTypes.STRING,
23 connectedlinename: DataTypes.STRING,
24 accountcode: DataTypes.STRING,
25 context: DataTypes.STRING,
26 exten: DataTypes.STRING,
27 priority: DataTypes.INTEGER,
28 uniqueid: DataTypes.STRING,
29 linkedid: DataTypes.STRING,
30 localstationid: DataTypes.STRING,
31 remotestationid: DataTypes.STRING,
33 type: DataTypes.INTEGER,
36 resolution: DataTypes.STRING,
37 transferrate: DataTypes.STRING,
38 filename: DataTypes.STRING,
39 lastStatus: DataTypes.STRING,
40 error: DataTypes.STRING,
41 // body: DataTypes.TEXT,
45 if (this.getDataValue('text')) {
46 return _.toString(this.getDataValue('text'));
51 type: DataTypes.INTEGER,
55 tableName: 'fax_messages',
57 associate: function(models) {
58 FaxMessage.belongsTo(models.FaxRoom, {
61 FaxMessage.belongsTo(models.User);
62 FaxMessage.hasMany(models.FaxAttachment);