Built motion from commit 1038d87.|0.0.141
[motion.git] / server / models / fax_message.js
index 066d36a..1b43851 100644 (file)
@@ -1 +1,65 @@
-var _0xf4c8=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x53\x54\x52\x49\x4E\x47","\x49\x4E\x54\x45\x47\x45\x52","\x52\x45\x43\x45\x49\x56\x45\x44","\x4E\x4F\x54\x20\x53\x45\x4E\x54","\x53\x45\x4E\x44\x49\x4E\x47","\x53\x45\x4E\x54","\x46\x41\x49\x4C\x45\x44","\x42\x4F\x4F\x4C\x45\x41\x4E","\x54\x45\x58\x54","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x46\x72\x6F\x6D","\x54\x6F","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0xf4c8[0]);module[_0xf4c8[1]]=function(_0xd2a2x2,_0xd2a2x3){var _0xd2a2x4=_0xd2a2x2[_0xf4c8[16]](_0xf4c8[2],{actionid:_0xd2a2x3[_0xf4c8[3]],channel:_0xd2a2x3[_0xf4c8[3]],channelstate:_0xd2a2x3[_0xf4c8[4]],channelstatedesc:_0xd2a2x3[_0xf4c8[3]],calleridnum:_0xd2a2x3[_0xf4c8[3]],calleridname:_0xd2a2x3[_0xf4c8[3]],connectedlinenum:_0xd2a2x3[_0xf4c8[3]],connectedlinename:_0xd2a2x3[_0xf4c8[3]],status:{type:_0xd2a2x3.ENUM(_0xf4c8[5],_0xf4c8[6],_0xf4c8[7],_0xf4c8[8],_0xf4c8[9]),allowNull:true},read:{type:_0xd2a2x3[_0xf4c8[10]],defaultValue:false},favorite:{type:_0xd2a2x3[_0xf4c8[10]],defaultValue:false},language:_0xd2a2x3[_0xf4c8[3]],accountcode:_0xd2a2x3[_0xf4c8[3]],context:_0xd2a2x3[_0xf4c8[3]],exten:_0xd2a2x3[_0xf4c8[3]],priority:_0xd2a2x3[_0xf4c8[4]],uniqueid:_0xd2a2x3[_0xf4c8[3]],localstationid:_0xd2a2x3[_0xf4c8[3]],remotestationid:_0xd2a2x3[_0xf4c8[3]],pagestransferred:_0xd2a2x3[_0xf4c8[4]],resolution:_0xd2a2x3[_0xf4c8[3]],transferrate:_0xd2a2x3[_0xf4c8[3]],filename:_0xd2a2x3[_0xf4c8[3]],filenamePDF:_0xd2a2x3[_0xf4c8[3]],operation:_0xd2a2x3[_0xf4c8[3]],uuid:_0xd2a2x3[_0xf4c8[3]],laststatus:_0xd2a2x3[_0xf4c8[3]],error:_0xd2a2x3[_0xf4c8[3]],body:_0xd2a2x3[_0xf4c8[11]]},{tableName:_0xf4c8[12],associate:function(_0xd2a2x5){_0xd2a2x4[_0xf4c8[13]](_0xd2a2x5.FaxRoom);_0xd2a2x4[_0xf4c8[13]](_0xd2a2x5.Contact,{as:_0xf4c8[14]});_0xd2a2x4[_0xf4c8[13]](_0xd2a2x5.Contact,{as:_0xf4c8[15]});}});return _0xd2a2x4;};
\ No newline at end of file
+'use strict';
+
+const _ = require('lodash');
+
+module.exports = function(sequelize, DataTypes) {
+
+       var FaxMessage = sequelize.define('FaxMessage', {
+               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,
+               calleridnum: DataTypes.STRING,
+               calleridname: DataTypes.STRING,
+               connectedlinenum: DataTypes.STRING,
+               connectedlinename: 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: {
+                       type: DataTypes.INTEGER,
+                       defaultValue: 0
+               },
+               resolution: DataTypes.STRING,
+               transferrate: DataTypes.STRING,
+               filename: DataTypes.STRING,
+               lastStatus: DataTypes.STRING,
+               error: DataTypes.STRING,
+               // 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, {
+                               onDelete: 'cascade'
+                       });
+                       FaxMessage.belongsTo(models.User);
+                       FaxMessage.hasMany(models.FaxAttachment);
+               }
+       });
+
+       return FaxMessage;
+};