8b513039066b162e5d7546b5cd74fe9c3489dc3b
[motion2.git] / server / api / faxInteraction / faxInteraction.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xea3c=['download','unix','root','files','join','server','attachments','transcript-%d-%s.zip','Attachment','Messages','basename','existsSync','createReadStream','err','unlinkSync','html-pdf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','Users','map','fullname','TagIds','Tags','forEach','push','catch','rawAttributes','fieldName','type','key','model','query','keys','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','select','field','color','tools_tags','u.id','u.fullname','from','user_has_fax_interactions','left_join','users','fax_interactions','o.id\x20=\x20i.UserId','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','split','ContactId','buildExpression','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','text','some','compact','isEmpty','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','tag','replace','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','SELECT','clone','i.id','DESC','t.id\x20IN\x20?','resolve','FaxAccountId','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','toString','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','contactName','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','sequelize','groupBy','FaxInteractionId','all','show','params','FaxInteraction','intersection','include','options','create','body','describe','addMessage','FaxMessage','ids','omit','getMessages','findOne','filter','format','YYYY-MM-DD\x20HH:mm:ss','includeAll','findAll','addTags','spread','emit','faxInteractionTags:save','removeTags'];(function(_0x1b229a,_0x145864){var _0x13625b=function(_0xc13c8a){while(--_0xc13c8a){_0x1b229a['push'](_0x1b229a['shift']());}};_0x13625b(++_0x145864);}(_0xea3c,0x1b3));var _0xcea3=function(_0x3f2228,_0x3b27d5){_0x3f2228=_0x3f2228-0x0;var _0x285ae4=_0xea3c[_0x3f2228];return _0x285ae4;};'use strict';var pdf=require(_0xcea3('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xcea3('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcea3('0x2'));var moment=require(_0xcea3('0x3'));var BPromise=require(_0xcea3('0x4'));var Mustache=require(_0xcea3('0x5'));var util=require('util');var path=require(_0xcea3('0x6'));var sox=require(_0xcea3('0x7'));var csv=require(_0xcea3('0x8'));var ejs=require(_0xcea3('0x9'));var fs=require('fs');var _=require(_0xcea3('0xa'));var squel=require(_0xcea3('0xb'));var crypto=require(_0xcea3('0xc'));var jsforce=require(_0xcea3('0xd'));var deskjs=require(_0xcea3('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xcea3('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xcea3('0x10'));var as=require(_0xcea3('0x11'));var hardwareService=require(_0xcea3('0x12'));var logger=require(_0xcea3('0x13'))(_0xcea3('0x14'));var utils=require(_0xcea3('0x15'));var config=require(_0xcea3('0x16'));var licenseUtil=require(_0xcea3('0x17'));var db=require(_0xcea3('0x18'))['db'];config[_0xcea3('0x19')]=_[_0xcea3('0x1a')](config[_0xcea3('0x19')],{'host':_0xcea3('0x1b'),'port':0x18eb});var socket=require(_0xcea3('0x1c'))(new Redis(config[_0xcea3('0x19')]));require(_0xcea3('0x1d'))['register'](socket);function respondWithStatusCode(_0x9662bf,_0x5ac2d9){_0x5ac2d9=_0x5ac2d9||0xcc;return function(_0xe3662f){if(_0xe3662f){return _0x9662bf['sendStatus'](_0x5ac2d9);}return _0x9662bf[_0xcea3('0x1e')](_0x5ac2d9)[_0xcea3('0x1f')]();};}function respondWithResult(_0x3145df,_0x59ea5a){_0x59ea5a=_0x59ea5a||0xc8;return function(_0x2093bd){if(_0x2093bd){return _0x3145df[_0xcea3('0x1e')](_0x59ea5a)[_0xcea3('0x20')](_0x2093bd);}};}function respondWithFilteredResult(_0x35bc7b,_0x12a77f){return function(_0x28ea9a){if(_0x28ea9a){var _0x4317c4=_0x28ea9a[_0xcea3('0x21')],_0x59fdcd=_0x12a77f[_0xcea3('0x22')],_0x372058=_0x12a77f[_0xcea3('0x22')]+_0x12a77f[_0xcea3('0x23')],_0x232088;if(_0x372058>=_0x4317c4){_0x372058=_0x4317c4;_0x232088=0xc8;}else{_0x232088=0xce;}_0x35bc7b['status'](_0x232088);return _0x35bc7b['set'](_0xcea3('0x24'),_0x59fdcd+'-'+_0x372058+'/'+_0x4317c4)['json'](_0x28ea9a);}return null;};}function patchUpdates(_0x2210ca){return function(_0x32ba12){try{jsonpatch[_0xcea3('0x25')](_0x32ba12,_0x2210ca,!![]);}catch(_0x5bd7e2){return BPromise[_0xcea3('0x26')](_0x5bd7e2);}return _0x32ba12[_0xcea3('0x27')]();};}function saveUpdates(_0xa0467,_0x4fdc82){return function(_0x2b4eec){if(_0x2b4eec){return _0x2b4eec[_0xcea3('0x28')](_0xa0467)[_0xcea3('0x29')](function(_0x50c23c){return _0x50c23c;});}return null;};}function removeEntity(_0x309ccc,_0x44a34c){return function(_0xd3bda7){if(_0xd3bda7){return _0xd3bda7[_0xcea3('0x2a')]()[_0xcea3('0x29')](function(){_0x309ccc[_0xcea3('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x294c80,_0x325a2b){return function(_0xb5490a){if(!_0xb5490a){_0x294c80[_0xcea3('0x2b')](0x194);}return _0xb5490a;};}function handleError(_0x446efc,_0x6e05bb){_0x6e05bb=_0x6e05bb||0x1f4;return function(_0x490f17){logger[_0xcea3('0x2c')](_0x490f17[_0xcea3('0x2d')]);if(_0x490f17[_0xcea3('0x2e')]){delete _0x490f17['name'];}_0x446efc['status'](_0x6e05bb)['send'](_0x490f17);};}function getInteractionUsers(_0xb91c13,_0x104ec5){return new BPromise(function(_0x350c52,_0x3f4c5d){try{if(_0x104ec5[_0xb91c13['id']]){_0xb91c13[_0xcea3('0x2f')]=_[_0xcea3('0x30')](_0x104ec5[_0xb91c13['id']],function(_0x4c4b35){return{'id':_0x4c4b35['id'],'fullname':_0x4c4b35[_0xcea3('0x31')]};});}}catch(_0x4ce9cb){_0x3f4c5d(_0x4ce9cb);}_0x350c52(_0xb91c13);});}function getInteractionTags(_0x1f70f3,_0x49de8a){return new BPromise(function(_0x4dc6c8,_0x5313c3){try{if(_0x1f70f3[_0xcea3('0x32')]){_0x1f70f3[_0xcea3('0x33')]=[];_0x1f70f3[_0xcea3('0x32')]['split'](',')[_0xcea3('0x34')](function(_0xf0937f){_0x1f70f3[_0xcea3('0x33')][_0xcea3('0x35')](_0x49de8a[_0xf0937f]);});}delete _0x1f70f3[_0xcea3('0x32')];}catch(_0x16e920){_0x5313c3(_0x16e920);}_0x4dc6c8(_0x1f70f3);});}function updateFaxInteraction(_0x45dd5a,_0x36c206,_0x3cb9e4){return new BPromise(function(_0x51099b,_0x31c03f){return getInteractionUsers(_0x45dd5a,_0x3cb9e4)[_0xcea3('0x29')](function(_0x583337){return getInteractionTags(_0x583337,_0x36c206);})[_0xcea3('0x29')](function(_0x16544c){_0x51099b(_0x16544c);})[_0xcea3('0x36')](function(_0x19d264){_0x31c03f(_0x19d264);});});}exports['index']=function(_0x47e7fc,_0x533cef){var _0x183bb3={},_0x1cbbad={},_0x299116={'count':0x0,'rows':[]};var _0x585a48=_[_0xcea3('0x30')](db['FaxInteraction'][_0xcea3('0x37')],function(_0x5a8aa9){return{'name':_0x5a8aa9[_0xcea3('0x38')],'type':_0x5a8aa9[_0xcea3('0x39')][_0xcea3('0x3a')]};});_0x1cbbad[_0xcea3('0x3b')]=_['map'](_0x585a48,_0xcea3('0x2e'));_0x1cbbad[_0xcea3('0x3c')]=_[_0xcea3('0x3d')](_0x47e7fc['query']);_0x1cbbad['filters']=_['intersection'](_0x1cbbad['model'],_0x1cbbad[_0xcea3('0x3c')]);_0x183bb3[_0xcea3('0x3e')]=_['intersection'](_0x1cbbad[_0xcea3('0x3b')],qs[_0xcea3('0x3f')](_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x3f')]));_0x183bb3[_0xcea3('0x3e')]=_0x183bb3[_0xcea3('0x3e')][_0xcea3('0x40')]?_0x183bb3['attributes']:_0x1cbbad[_0xcea3('0x3b')];if(!_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x41')](_0xcea3('0x42'))){_0x183bb3[_0xcea3('0x23')]=qs[_0xcea3('0x23')](_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x23')]);_0x183bb3['offset']=qs[_0xcea3('0x22')](_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x22')]);}_0x183bb3[_0xcea3('0x43')]=qs[_0xcea3('0x44')](_0x47e7fc['query'][_0xcea3('0x44')]);_0x183bb3[_0xcea3('0x45')]=qs[_0xcea3('0x46')](_[_0xcea3('0x47')](_0x47e7fc[_0xcea3('0x3c')],_0x1cbbad[_0xcea3('0x46')]),_0x585a48);var _0x339392=[];var _0xe9bc3c=squel[_0xcea3('0x48')]()[_0xcea3('0x49')]('id')[_0xcea3('0x49')](_0xcea3('0x2e'))['field'](_0xcea3('0x4a'))['from'](_0xcea3('0x4b'));var _0x5e0d96=squel[_0xcea3('0x48')]()[_0xcea3('0x49')](_0xcea3('0x4c'))[_0xcea3('0x49')](_0xcea3('0x4d'))[_0xcea3('0x49')]('ui.FaxInteractionId')[_0xcea3('0x4e')](_0xcea3('0x4f'),'ui')[_0xcea3('0x50')](_0xcea3('0x51'),'u','u.id\x20=\x20ui.UserId');var _0x596bf1=squel[_0xcea3('0x48')]()[_0xcea3('0x4e')](_0xcea3('0x52'),'i')[_0xcea3('0x50')]('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xcea3('0x50')]('users','o',_0xcea3('0x53'))['left_join'](_0xcea3('0x54'),'a',_0xcea3('0x55'))['left_join']('fax_messages','me','me.FaxInteractionId\x20=\x20i.id')[_0xcea3('0x50')](_0xcea3('0x56'),'it','it.FaxInteractionId\x20=\x20i.id')[_0xcea3('0x50')](_0xcea3('0x4b'),'t',_0xcea3('0x57'));var _0x4239b4=squel[_0xcea3('0x58')]();var _0x7ac428=[];var _0xc79471=squel[_0xcea3('0x58')]();var _0x216c1c;if(_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x59')]){_0x216c1c=as['parseSearch'](_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x59')]);var _0x2aef7d=_0x216c1c[_0xcea3('0x5a')];for(var _0x47c2d3=0x0;_0x47c2d3<_0x216c1c['conditions']['length'];_0x47c2d3++){var _0x401c21=_0x216c1c[_0xcea3('0x5b')][_0x47c2d3];var _0x5f2848='i';var _0x529869=_[_0xcea3('0x5c')](_0x585a48,['name',_0x401c21[_0xcea3('0x49')]]);if(!_0x529869){switch(_0x401c21[_0xcea3('0x49')]){case _0xcea3('0x5d'):if(_0x401c21[_0xcea3('0x5e')]==0x1){_0x596bf1[_0xcea3('0x5f')]('`'+_0x401c21[_0xcea3('0x49')]+_0xcea3('0x60'));}else{_0x596bf1[_0xcea3('0x5f')]('`'+_0x401c21[_0xcea3('0x49')]+_0xcea3('0x61'));}break;case _0xcea3('0x62'):if(_0x401c21[_0xcea3('0x63')]===_0xcea3('0x64')){if(_0x401c21[_0xcea3('0x5e')][_0xcea3('0x65')]('\x20')['length']>0x1){_0x4239b4[_0x2aef7d]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x401c21[_0xcea3('0x5e')]),null);}else{var _0x5dfb47='%'+_0x401c21[_0xcea3('0x5e')]+'%';_0x4239b4[_0x2aef7d]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x5dfb47,_0x5dfb47,_0x5dfb47);}}else{_0x529869=_['find'](_0x585a48,[_0xcea3('0x2e'),_0xcea3('0x66')]);_0x401c21['field']=_0xcea3('0x66');_0x5be889=as[_0xcea3('0x67')](_0x5f2848,_0x529869[_0xcea3('0x39')],_0x401c21);_0x4239b4[_0x2aef7d](_0x5be889['text'],_0x5be889[_0xcea3('0x5e')][_0xcea3('0x68')],_0x5be889[_0xcea3('0x5e')][_0xcea3('0x1f')]);}break;case _0xcea3('0x69'):var _0x52b2e9=_0x401c21[_0xcea3('0x5e')]['split'](',')[_0xcea3('0x30')](function(_0x6506a){return Number(_0x6506a);});_0x52b2e9[_0xcea3('0x34')](function(_0x18cbd9){_0xc79471['or'](_0xcea3('0x6a'),'%,'+_0x18cbd9+',%');});_0x7ac428=_[_0xcea3('0x6b')](_0x7ac428,_0x52b2e9);break;case _0xcea3('0x6c'):if(_0x401c21['operator']===_0xcea3('0x64')){_0x4239b4[_0x2aef7d]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x401c21[_0xcea3('0x5e')]+'%',null);}else{_0x529869=_['find'](_0x585a48,[_0xcea3('0x2e'),_0xcea3('0x6d')]);_0x401c21[_0xcea3('0x49')]='UserId';_0x5be889=as['buildExpression'](_0x5f2848,_0x529869['type'],_0x401c21);_0x4239b4[_0x2aef7d](_0x5be889[_0xcea3('0x6e')],_0x5be889[_0xcea3('0x5e')]['start'],_0x5be889[_0xcea3('0x5e')][_0xcea3('0x1f')]);}break;case'body':_0x5be889=as[_0xcea3('0x67')]('me',null,_0x401c21);_0x4239b4[_0x2aef7d](_0x5be889['text'],_0x5be889['value'][_0xcea3('0x68')],_0x5be889['value'][_0xcea3('0x1f')]);break;}}else{var _0x5be889=as['buildExpression'](_0x5f2848,_0x529869['type'],_0x401c21);_0x4239b4[_0x2aef7d](_0x5be889[_0xcea3('0x6e')],_0x5be889[_0xcea3('0x5e')][_0xcea3('0x68')],_0x5be889['value']['end']);}}}else{var _0x3ac0ec=_(_0x47e7fc[_0xcea3('0x3c')])['keys']()[_0xcea3('0x30')](function(_0x1a3ff3){return _[_0xcea3('0x6f')](_0x585a48,[_0xcea3('0x2e'),_0x1a3ff3])?_0x1a3ff3:undefined;})[_0xcea3('0x70')]()['value']();if(!_[_0xcea3('0x71')](_0x3ac0ec)){_0x3ac0ec[_0xcea3('0x34')](function(_0x309282){if(_0x309282==='FaxAccountId'){_0x596bf1[_0xcea3('0x45')](_0xcea3('0x72'),[][_0xcea3('0x73')](_0x47e7fc[_0xcea3('0x3c')][_0x309282]));}else if(_0x309282===_0xcea3('0x74')){var _0x54f22d=JSON[_0xcea3('0x75')](_0x47e7fc[_0xcea3('0x3c')][_0x309282])[_0xcea3('0x76')];var _0x15dc07=JSON[_0xcea3('0x75')](_0x47e7fc[_0xcea3('0x3c')][_0x309282])[_0xcea3('0x77')];_0x596bf1['where'](_0xcea3('0x78'),_0x54f22d,_0x15dc07);}else{if(_0x47e7fc[_0xcea3('0x3c')][_0x309282]===_0xcea3('0x79')){_0x596bf1['where']('i.'+_0x309282+_0xcea3('0x7a'));}else{_0x596bf1[_0xcea3('0x45')]('i.'+_0x309282+'\x20=\x20?',_0x47e7fc[_0xcea3('0x3c')][_0x309282]);}}});}if(_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x7b')]){if(_0x47e7fc[_0xcea3('0x3c')]['read']==0x1){_0x596bf1[_0xcea3('0x5f')]('`unreadMessages`\x20=\x200');}else{_0x596bf1[_0xcea3('0x5f')]('`unreadMessages`\x20>\x200');}}if(_0x47e7fc['query']['tag']){_0x7ac428=_['isArray'](_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x7c')])?_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x7c')]:new Array(_0x47e7fc[_0xcea3('0x3c')]['tag']);_0x7ac428[_0xcea3('0x34')](function(_0x56d963){_0xc79471['or'](_0xcea3('0x6a'),'%,'+_0x56d963+',%');});}if(_0x47e7fc[_0xcea3('0x3c')]['filter']){var _0x5a8a5a=_0x47e7fc[_0xcea3('0x3c')]['filter'][_0xcea3('0x7d')]('\x5c','\x5c\x5c')[_0xcea3('0x7d')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x5a8a5a)){_0x4239b4['or'](_0xcea3('0x7e'),_0x5a8a5a+'%')['or']('i.fax\x20LIKE\x20?',_0x5a8a5a+'%');}_0x4239b4['or'](_0xcea3('0x7f'),_0x5a8a5a+'%');}}_0x596bf1[_0xcea3('0x45')](_0x4239b4);_0x596bf1[_0xcea3('0x80')]('i.id');var _0x2cd9a6={'type':db[_0xcea3('0x81')][_0xcea3('0x82')][_0xcea3('0x83')],'raw':!![]};var _0x229d98=_0x596bf1[_0xcea3('0x84')]();_0x229d98[_0xcea3('0x49')](_0xcea3('0x85'));_0x229d98['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xcea3('0x5d'));if(_0x183bb3[_0xcea3('0x43')]){_0x183bb3[_0xcea3('0x43')][_0xcea3('0x34')](function(_0x10dcb8){var _0x4987c8=_0x10dcb8[0x0]==='contactName'?_0x10dcb8[0x0]:'i.'+_0x10dcb8[0x0];_0x596bf1[_0xcea3('0x43')](_0x4987c8,_0x10dcb8[0x1]===_0xcea3('0x86')?![]:!![]);});}if(!_['isEmpty'](_0x7ac428)){_0x596bf1[_0xcea3('0x5f')](_0xc79471);_0x229d98[_0xcea3('0x45')](_0xcea3('0x87'),_0x7ac428);}BPromise[_0xcea3('0x88')]()[_0xcea3('0x29')](function(){if(!_0x216c1c){if(_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x89')])return;_0x229d98[_0xcea3('0x45')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');_0x596bf1[_0xcea3('0x45')](_0xcea3('0x8a'));return;}if(_0x47e7fc[_0xcea3('0x8b')][_0xcea3('0x8c')]!==_0xcea3('0x8d'))return;return _0x47e7fc[_0xcea3('0x8b')][_0xcea3('0x8e')]({'attributes':['id'],'raw':!![]})['then'](function(_0x1f4cca){if(_[_0xcea3('0x71')](_0x1f4cca)){_0x229d98[_0xcea3('0x45')](_0xcea3('0x8f'));_0x596bf1['where'](_0xcea3('0x8f'));}else{_0x229d98[_0xcea3('0x45')](_0xcea3('0x72'),_[_0xcea3('0x30')](_0x1f4cca,'id'));_0x596bf1['where'](_0xcea3('0x72'),_[_0xcea3('0x30')](_0x1f4cca,'id'));}});})[_0xcea3('0x29')](function(){if(_0x47e7fc[_0xcea3('0x8b')][_0xcea3('0x8c')]===_0xcea3('0x8d')&&!_0x216c1c&&!_0x47e7fc[_0xcea3('0x3c')][_0xcea3('0x89')])return[];return db['sequelize']['query'](_0x229d98[_0xcea3('0x90')](),_0x2cd9a6);})['then'](function(_0x806087){_0x299116['count']=_0x806087[_0xcea3('0x40')];if(_0x299116[_0xcea3('0x21')]===0x0)return[];return db['sequelize'][_0xcea3('0x3c')](_0xe9bc3c['toString'](),_0x2cd9a6)[_0xcea3('0x29')](function(_0x40a158){_0x339392=_['keyBy'](_0x40a158,'id');_0x2cd9a6=_[_0xcea3('0x91')](_0x2cd9a6,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x47e7fc[_0xcea3('0x3c')]['fields']){_0x183bb3[_0xcea3('0x3e')][_0xcea3('0x34')](function(_0x3af984){_0x596bf1['field']('i.'+_0x3af984);});}else{_0x596bf1[_0xcea3('0x49')](_0xcea3('0x92'),'unreadMessages');_0x596bf1['field']('a.key','Account.key');_0x596bf1[_0xcea3('0x49')](_0xcea3('0x93'),_0xcea3('0x94'));_0x596bf1[_0xcea3('0x49')](_0xcea3('0x95'),_0xcea3('0x96'));_0x596bf1[_0xcea3('0x49')](_0xcea3('0x97'));_0x596bf1[_0xcea3('0x49')](_0xcea3('0x98'),_0xcea3('0x99'));_0x596bf1[_0xcea3('0x49')](_0xcea3('0x9a'),_0xcea3('0x9b'));_0x596bf1[_0xcea3('0x49')](_0xcea3('0x9c'),'Contact.email');_0x596bf1[_0xcea3('0x49')]('c.phone',_0xcea3('0x9d'));_0x596bf1[_0xcea3('0x49')]('c.mobile',_0xcea3('0x9e'));_0x596bf1[_0xcea3('0x49')](_0xcea3('0x9f'),_0xcea3('0xa0'));_0x596bf1['field'](_0xcea3('0xa1'),_0xcea3('0xa2'));_0x596bf1[_0xcea3('0x49')](_0xcea3('0xa3'),'Owner.internal');_0x596bf1[_0xcea3('0x49')](_0xcea3('0xa4'),_0xcea3('0x32'));}if(_0x183bb3[_0xcea3('0x23')])_0x596bf1[_0xcea3('0x23')](_0x183bb3[_0xcea3('0x23')]);if(_0x183bb3[_0xcea3('0x22')])_0x596bf1[_0xcea3('0x22')](_0x183bb3['offset']);return db['sequelize'][_0xcea3('0x3c')](_0x596bf1[_0xcea3('0x90')](),_0x2cd9a6);})[_0xcea3('0x29')](function(_0xe3b12c){_0x5e0d96[_0xcea3('0x45')](_0xcea3('0xa5'),_[_0xcea3('0x30')](_0xe3b12c,'id'));return db[_0xcea3('0xa6')]['query'](_0x5e0d96[_0xcea3('0x90')](),_0x2cd9a6)[_0xcea3('0x29')](function(_0x1b1361){var _0x50f18d=_[_0xcea3('0xa7')](_0x1b1361,_0xcea3('0xa8'));var _0xb6dc68=[];_0xe3b12c[_0xcea3('0x34')](function(_0x20f0fd){_0xb6dc68[_0xcea3('0x35')](updateFaxInteraction(_0x20f0fd,_0x339392,_0x50f18d));});return BPromise[_0xcea3('0xa9')](_0xb6dc68);});});})[_0xcea3('0x29')](function(_0x4402da){_0x299116['rows']=_0x4402da;return _0x299116;})[_0xcea3('0x29')](respondWithFilteredResult(_0x533cef,_0x183bb3))['catch'](handleError(_0x533cef,null));};exports[_0xcea3('0xaa')]=function(_0x9b5ad0,_0x15cd43){var _0x5acd02={'raw':![],'where':{'id':_0x9b5ad0[_0xcea3('0xab')]['id']}},_0x4bd66a={};_0x4bd66a['model']=_['keys'](db[_0xcea3('0xac')][_0xcea3('0x37')]);_0x4bd66a[_0xcea3('0x3c')]=_[_0xcea3('0x3d')](_0x9b5ad0[_0xcea3('0x3c')]);_0x4bd66a['filters']=_[_0xcea3('0xad')](_0x4bd66a['model'],_0x4bd66a[_0xcea3('0x3c')]);_0x5acd02[_0xcea3('0x3e')]=_['intersection'](_0x4bd66a[_0xcea3('0x3b')],qs['fields'](_0x9b5ad0['query'][_0xcea3('0x3f')]));_0x5acd02[_0xcea3('0x3e')]=_0x5acd02[_0xcea3('0x3e')]['length']?_0x5acd02[_0xcea3('0x3e')]:_0x4bd66a[_0xcea3('0x3b')];if(_0x9b5ad0[_0xcea3('0x3c')]['includeAll']){_0x5acd02[_0xcea3('0xae')]=[{'all':!![]}];}_0x5acd02=_[_0xcea3('0x91')]({},_0x5acd02,_0x9b5ad0[_0xcea3('0xaf')]);return db[_0xcea3('0xac')]['find'](_0x5acd02)[_0xcea3('0x29')](handleEntityNotFound(_0x15cd43,null))['then'](respondWithResult(_0x15cd43,null))[_0xcea3('0x36')](handleError(_0x15cd43,null));};exports[_0xcea3('0xb0')]=function(_0x471fa8,_0x5a7570){return db[_0xcea3('0xac')][_0xcea3('0xb0')](_0x471fa8[_0xcea3('0xb1')],{})[_0xcea3('0x29')](respondWithResult(_0x5a7570,0xc9))[_0xcea3('0x36')](handleError(_0x5a7570,null));};exports[_0xcea3('0x28')]=function(_0x177d4b,_0x48464d){if(_0x177d4b['body']['id']){delete _0x177d4b['body']['id'];}return db[_0xcea3('0xac')][_0xcea3('0x5c')]({'where':{'id':_0x177d4b['params']['id']}})['then'](handleEntityNotFound(_0x48464d,null))[_0xcea3('0x29')](saveUpdates(_0x177d4b['body'],null))[_0xcea3('0x29')](respondWithResult(_0x48464d,null))[_0xcea3('0x36')](handleError(_0x48464d,null));};exports['destroy']=function(_0x463a9d,_0x185d6f){return db[_0xcea3('0xac')]['find']({'where':{'id':_0x463a9d['params']['id']}})[_0xcea3('0x29')](handleEntityNotFound(_0x185d6f,null))[_0xcea3('0x29')](removeEntity(_0x185d6f,null))[_0xcea3('0x36')](handleError(_0x185d6f,null));};exports[_0xcea3('0xb2')]=function(_0x5f908,_0x44f0b8){return db[_0xcea3('0xac')][_0xcea3('0xb2')]()[_0xcea3('0x29')](respondWithResult(_0x44f0b8,null))['catch'](handleError(_0x44f0b8,null));};exports[_0xcea3('0xb3')]=function(_0x290a38,_0x4d2373,_0x5ab1da){return db[_0xcea3('0xb4')][_0xcea3('0x5c')]({'where':{'id':_0x290a38[_0xcea3('0xab')]['id']}})[_0xcea3('0x29')](handleEntityNotFound(_0x4d2373,null))[_0xcea3('0x29')](function(_0x19d28f){if(_0x19d28f){return _0x19d28f[_0xcea3('0xb3')](_0x290a38[_0xcea3('0xb1')][_0xcea3('0xb5')],_[_0xcea3('0xb6')](_0x290a38['body'],[_0xcea3('0xb5'),'id'])||{});}})[_0xcea3('0x29')](respondWithResult(_0x4d2373,null))[_0xcea3('0x36')](handleError(_0x4d2373,null));};exports[_0xcea3('0xb7')]=function(_0x1fbe43,_0x2a1c42,_0xef5a0d){var _0x4b1164={'raw':![],'where':{}};var _0x38a5bd={};var _0x59d9b3={'count':0x0,'rows':[]};return db[_0xcea3('0xac')][_0xcea3('0xb8')]({'where':{'id':_0x1fbe43[_0xcea3('0xab')]['id']}})[_0xcea3('0x29')](handleEntityNotFound(_0x2a1c42,null))[_0xcea3('0x29')](function(_0x21d489){if(_0x21d489){_0x38a5bd[_0xcea3('0x3b')]=_[_0xcea3('0x3d')](db[_0xcea3('0xb4')][_0xcea3('0x37')]);_0x38a5bd[_0xcea3('0x3c')]=_[_0xcea3('0x3d')](_0x1fbe43[_0xcea3('0x3c')]);_0x38a5bd[_0xcea3('0x46')]=_[_0xcea3('0xad')](_0x38a5bd[_0xcea3('0x3b')],_0x38a5bd[_0xcea3('0x3c')]);_0x4b1164['attributes']=_[_0xcea3('0xad')](_0x38a5bd[_0xcea3('0x3b')],qs[_0xcea3('0x3f')](_0x1fbe43[_0xcea3('0x3c')][_0xcea3('0x3f')]));_0x4b1164['attributes']=_0x4b1164[_0xcea3('0x3e')][_0xcea3('0x40')]?_0x4b1164[_0xcea3('0x3e')]:_0x38a5bd[_0xcea3('0x3b')];if(!_0x1fbe43['query'][_0xcea3('0x41')](_0xcea3('0x42'))){_0x4b1164[_0xcea3('0x23')]=qs[_0xcea3('0x23')](_0x1fbe43[_0xcea3('0x3c')][_0xcea3('0x23')]);_0x4b1164[_0xcea3('0x22')]=qs[_0xcea3('0x22')](_0x1fbe43['query']['offset']);}_0x4b1164[_0xcea3('0x43')]=qs[_0xcea3('0x44')](_0x1fbe43[_0xcea3('0x3c')][_0xcea3('0x44')]);_0x4b1164[_0xcea3('0x45')]=qs[_0xcea3('0x46')](_[_0xcea3('0x47')](_0x1fbe43[_0xcea3('0x3c')],_0x38a5bd[_0xcea3('0x46')]));_0x4b1164[_0xcea3('0x45')][_0xcea3('0xa8')]=_0x21d489['id'];if(_0x1fbe43[_0xcea3('0x3c')][_0xcea3('0xb9')]){_0x4b1164[_0xcea3('0x45')]=_[_0xcea3('0x91')](_0x4b1164['where'],{'$or':_[_0xcea3('0x30')](_0x4b1164['attributes'],function(_0x9992e){var _0x424216={};_0x424216[_0x9992e]={'$like':'%'+_0x1fbe43[_0xcea3('0x3c')]['filter']+'%'};return _0x424216;})});}if(_0x1fbe43[_0xcea3('0x3c')]['$gte']){var _0x3f6092=_0x1fbe43['query'][_0xcea3('0x76')]['split'](',');var _0x35fbb8={};_0x35fbb8[_0x3f6092[0x0]]={'$gte':moment(_0x3f6092[0x1])[_0xcea3('0xba')](_0xcea3('0xbb'))};_0x4b1164[_0xcea3('0x45')]=_[_0xcea3('0x91')](_0x4b1164[_0xcea3('0x45')],_0x35fbb8);}_0x4b1164=_[_0xcea3('0x91')]({},_0x4b1164,_0x1fbe43['options']);return db['FaxMessage']['count']({'where':_0x4b1164[_0xcea3('0x45')]})[_0xcea3('0x29')](function(_0x92f42d){_0x59d9b3['count']=_0x92f42d;if(_0x1fbe43[_0xcea3('0x3c')][_0xcea3('0xbc')]){_0x4b1164['include']=[{'all':!![]}];}return db[_0xcea3('0xb4')][_0xcea3('0xbd')](_0x4b1164);})['then'](function(_0x5dac39){_0x59d9b3['rows']=_0x5dac39;return _0x59d9b3;});}})[_0xcea3('0x29')](respondWithFilteredResult(_0x2a1c42,_0x4b1164))['catch'](handleError(_0x2a1c42,null));};exports[_0xcea3('0xbe')]=function(_0x5c83b6,_0x252ac3,_0xbc275b){return db[_0xcea3('0xac')][_0xcea3('0x5c')]({'where':{'id':_0x5c83b6[_0xcea3('0xab')]['id']}})['then'](handleEntityNotFound(_0x252ac3,null))[_0xcea3('0x29')](function(_0x52d30b){if(_0x52d30b){return _0x52d30b['setTags'](_0x5c83b6[_0xcea3('0xb1')][_0xcea3('0xb5')],_[_0xcea3('0xb6')](_0x5c83b6['body'],[_0xcea3('0xb5'),'id'])||{})[_0xcea3('0xbf')](function(){return db['Tag']['findAll']({'attributes':['id',_0xcea3('0x2e'),_0xcea3('0x4a')],'where':{'id':_0x5c83b6[_0xcea3('0xb1')][_0xcea3('0xb5')]}});})[_0xcea3('0x29')](function(_0x2eaff6){socket[_0xcea3('0xc0')](_0xcea3('0xc1'),{'id':Number(_0x5c83b6[_0xcea3('0xab')]['id']),'tags':_0x2eaff6||[]});return{'id':Number(_0x5c83b6['params']['id']),'tags':_0x2eaff6||[]};});}})['then'](respondWithResult(_0x252ac3,null))[_0xcea3('0x36')](handleError(_0x252ac3,null));};exports[_0xcea3('0xc2')]=function(_0xaed023,_0x220685,_0x41cc5a){return db[_0xcea3('0xac')][_0xcea3('0x5c')]({'where':{'id':_0xaed023[_0xcea3('0xab')]['id']}})[_0xcea3('0x29')](handleEntityNotFound(_0x220685,null))['then'](function(_0x184e33){if(_0x184e33){return _0x184e33[_0xcea3('0xc2')](_0xaed023['query'][_0xcea3('0xb5')]);}})['then'](respondWithStatusCode(_0x220685,null))[_0xcea3('0x36')](handleError(_0x220685,null));};exports[_0xcea3('0xc3')]=function(_0xf6bd74,_0x17d200){var _0x31d027=moment()[_0xcea3('0xc4')]()[_0xcea3('0x90')]();var _0x4a7703=path['join'](config[_0xcea3('0xc5')],'server',_0xcea3('0xc6'),'tmp');var _0x4d5999=path[_0xcea3('0xc7')](config[_0xcea3('0xc5')],_0xcea3('0xc8'),_0xcea3('0xc6'),_0xcea3('0xc9'));var _0x47ead7=path['join'](_0x4a7703,_0x31d027);var _0x539523=util['format'](_0xcea3('0xca'),_0xf6bd74[_0xcea3('0xab')]['id'],_0x31d027);var _0x2439ee=path[_0xcea3('0xc7')](_0x4a7703,_0x539523);var _0x39fcf4=[];_0x39fcf4[_0xcea3('0x35')]({'model':db['Attachment'],'as':_0xcea3('0xcb'),'raw':!![]});var _0x598fcd=[{'model':db[_0xcea3('0xb4')],'as':_0xcea3('0xcc'),'attributes':['id',_0xcea3('0xb1'),_0xcea3('0x74')],'include':_0x39fcf4}];return db[_0xcea3('0xac')][_0xcea3('0x5c')]({'where':{'id':_0xf6bd74[_0xcea3('0xab')]['id']},'include':_0x598fcd})[_0xcea3('0x29')](handleEntityNotFound(_0x17d200,null))[_0xcea3('0x29')](function(_0xb5100c){if(_0xb5100c&&_0xb5100c[_0xcea3('0xcc')]){var _0x378492=_0xb5100c['get']({'plain':!![]});fs['mkdirSync'](_0x47ead7);for(var _0x3f2b6e=0x0;_0x3f2b6e<_0x378492[_0xcea3('0xcc')][_0xcea3('0x40')];_0x3f2b6e++){var _0x44f7e3=_0x378492[_0xcea3('0xcc')][_0x3f2b6e][_0xcea3('0xcb')];if(_0x44f7e3){var _0x4ca074=path[_0xcea3('0xc7')](_0x4d5999,_0x44f7e3[_0xcea3('0xcd')]);if(fs[_0xcea3('0xce')](_0x4ca074)){fs[_0xcea3('0xcf')](_0x4ca074)['pipe'](fs['createWriteStream'](path['join'](_0x47ead7,_0x44f7e3[_0xcea3('0xcd')])));}}}return BPromise[_0xcea3('0x88')]()['then'](function(){return new BPromise(function(_0x529189,_0x3619f2){zipdir(_0x47ead7,{'saveTo':_0x2439ee},function(_0x3a2882,_0x151c5a){if(_0x3a2882)return _0x3619f2(_0x3a2882);return _0x529189(_0x151c5a);});})[_0xcea3('0x29')](function(){return new BPromise(function(_0x48af5c,_0x580e26){rimraf(_0x47ead7,function(_0x50262d){if(_0x50262d)_0x580e26(_0x50262d);return _0x48af5c();});});})[_0xcea3('0x29')](function(){return _0x17d200[_0xcea3('0xc3')](_0x2439ee,_0x539523,function(_0x1b4c98){if(_0x1b4c98){console['log'](_0xcea3('0xd0'),_0x1b4c98);}else{fs[_0xcea3('0xd1')](_0x2439ee);}});});});}else{return _0x17d200['sendStatus'](0xc8);}})[_0xcea3('0x36')](handleError(_0x17d200,null));};