Built motion from commit 1038d87.|0.0.141
[motion.git] / server / models / fax_message.js
index 78700ac..1b43851 100644 (file)
@@ -1,13 +1,17 @@
-/**
- * Chat Website Model
- */
+'use strict';
 
-var crypto = require('crypto');
+const _ = require('lodash');
 
 module.exports = function(sequelize, DataTypes) {
 
        var FaxMessage = sequelize.define('FaxMessage', {
-               actionid: DataTypes.STRING,
+               from: DataTypes.STRING,
+               to: DataTypes.STRING,
+               status: {
+                       type: DataTypes.ENUM('SENT', 'SENDING', 'RECEIVED', 'FAILED', 'NOTE'),
+                       defaultValue: 'SENDING'
+               },
+               // actionid: DataTypes.STRING,
                channel: DataTypes.STRING,
                channelstate: DataTypes.INTEGER,
                channelstatedesc: DataTypes.STRING,
@@ -15,47 +19,45 @@ module.exports = function(sequelize, DataTypes) {
                calleridname: DataTypes.STRING,
                connectedlinenum: DataTypes.STRING,
                connectedlinename: DataTypes.STRING,
-               status: {
-                       type: DataTypes.ENUM('RECEIVED', 'NOT SENT', 'SENDING', 'SENT',
-                               'FAILED'),
-                       allowNull: true
-               },
-               read: {
-                       type: DataTypes.BOOLEAN,
-                       defaultValue: false
-               },
-               favorite: {
-                       type: DataTypes.BOOLEAN,
-                       defaultValue: false
-               },
-               language: DataTypes.STRING,
                accountcode: DataTypes.STRING,
                context: DataTypes.STRING,
                exten: DataTypes.STRING,
                priority: DataTypes.INTEGER,
                uniqueid: DataTypes.STRING,
+               linkedid: DataTypes.STRING,
                localstationid: DataTypes.STRING,
                remotestationid: DataTypes.STRING,
-               pagestransferred: DataTypes.INTEGER,
+               pagestransferred: {
+                       type: DataTypes.INTEGER,
+                       defaultValue: 0
+               },
                resolution: DataTypes.STRING,
                transferrate: DataTypes.STRING,
                filename: DataTypes.STRING,
-               filenamePDF: DataTypes.STRING,
-               operation: DataTypes.STRING,
-               uuid: DataTypes.STRING,
-               laststatus: DataTypes.STRING,
+               lastStatus: DataTypes.STRING,
                error: DataTypes.STRING,
-               body: DataTypes.TEXT
+               // body: DataTypes.TEXT,
+               text: {
+                       type: DataTypes.BLOB,
+                       get: function() {
+                               if (this.getDataValue('text')) {
+                                       return _.toString(this.getDataValue('text'));
+                               }
+                       }
+               },
+               retry: {
+                       type: DataTypes.INTEGER,
+                       defaultValue: 0
+               }
        }, {
                tableName: 'fax_messages',
+               paranoid: true,
                associate: function(models) {
-                       FaxMessage.belongsTo(models.FaxRoom);
-                       FaxMessage.belongsTo(models.Contact, {
-                               as: 'From'
-                       });
-                       FaxMessage.belongsTo(models.Contact, {
-                               as: 'To'
+                       FaxMessage.belongsTo(models.FaxRoom, {
+                               onDelete: 'cascade'
                        });
+                       FaxMessage.belongsTo(models.User);
+                       FaxMessage.hasMany(models.FaxAttachment);
                }
        });