f9991d06920deb3276c6eb26b9167b5bce6732c0
[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 _0x2384=['intersection','model','attributes','fields','hasOwnProperty','order','sort','where','filters','pick','select','field','from','u.id','ui.FaxInteractionId','user_has_fax_interactions','left_join','cm_contacts','users','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','length','find','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','value','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','end','body','compact','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.fax\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','clone','unreadMessages','contactName','t.id\x20IN\x20?','resolve','FaxAccountId','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','isEmpty','i.FaxAccountId\x20IS\x20NULL','i.FaxAccountId\x20IN\x20?','sequelize','toString','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','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','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all','rows','includeAll','include','options','create','update','params','describe','addMessage','FaxMessage','omit','ids','getMessages','findOne','nolimit','merge','format','YYYY-MM-DD\x20HH:mm:ss','setTags','Tag','findAll','color','emit','faxInteractionTags:save','removeTags','download','unix','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','existsSync','createReadStream','pipe','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','then','stack','name','send','Users','map','TagIds','split','forEach','Tags','push','catch','waiting','answered','total','UserId','closed','talking','unmanaged','FaxInteraction','fieldName','key','query','keys'];(function(_0x1ce355,_0x500411){var _0xff0402=function(_0xd6eb79){while(--_0xd6eb79){_0x1ce355['push'](_0x1ce355['shift']());}};_0xff0402(++_0x500411);}(_0x2384,0x179));var _0x4238=function(_0x3111a9,_0x3051da){_0x3111a9=_0x3111a9-0x0;var _0x267973=_0x2384[_0x3111a9];return _0x267973;};'use strict';var emlformat=require(_0x4238('0x0'));var rimraf=require(_0x4238('0x1'));var zipdir=require(_0x4238('0x2'));var jsonpatch=require(_0x4238('0x3'));var rp=require(_0x4238('0x4'));var moment=require(_0x4238('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4238('0x6'));var util=require('util');var path=require(_0x4238('0x7'));var sox=require(_0x4238('0x8'));var csv=require('to-csv');var ejs=require(_0x4238('0x9'));var fs=require('fs');var fs_extra=require(_0x4238('0xa'));var _=require(_0x4238('0xb'));var squel=require(_0x4238('0xc'));var crypto=require(_0x4238('0xd'));var jsforce=require(_0x4238('0xe'));var deskjs=require(_0x4238('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x4238('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x4238('0x11'));var as=require(_0x4238('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4238('0x13'))(_0x4238('0x14'));var utils=require('../../config/utils');var config=require(_0x4238('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x4238('0x16'))['db'];config[_0x4238('0x17')]=_[_0x4238('0x18')](config[_0x4238('0x17')],{'host':_0x4238('0x19'),'port':0x18eb});var socket=require(_0x4238('0x1a'))(new Redis(config[_0x4238('0x17')]));require(_0x4238('0x1b'))[_0x4238('0x1c')](socket);function respondWithStatusCode(_0x3d52c6,_0x525b10){_0x525b10=_0x525b10||0xcc;return function(_0x3bae0d){if(_0x3bae0d){return _0x3d52c6[_0x4238('0x1d')](_0x525b10);}return _0x3d52c6[_0x4238('0x1e')](_0x525b10)['end']();};}function respondWithResult(_0x4e5e36,_0x4a9ce5){_0x4a9ce5=_0x4a9ce5||0xc8;return function(_0x83dcba){if(_0x83dcba){return _0x4e5e36[_0x4238('0x1e')](_0x4a9ce5)[_0x4238('0x1f')](_0x83dcba);}};}function respondWithFilteredResult(_0x3d12e8,_0x138fa8){return function(_0x5f5a29){if(_0x5f5a29){var _0x14ad73=typeof _0x138fa8[_0x4238('0x20')]===_0x4238('0x21')&&typeof _0x138fa8['limit']==='undefined';var _0x5926cd=_0x5f5a29[_0x4238('0x22')];var _0x46582e=_0x14ad73?0x0:_0x138fa8['offset'];var _0x14035d=_0x14ad73?_0x5f5a29['count']:_0x138fa8[_0x4238('0x20')]+_0x138fa8[_0x4238('0x23')];var _0x3d8684;if(_0x14035d>=_0x5926cd){_0x14035d=_0x5926cd;_0x3d8684=0xc8;}else{_0x3d8684=0xce;}_0x3d12e8[_0x4238('0x1e')](_0x3d8684);return _0x3d12e8[_0x4238('0x24')](_0x4238('0x25'),_0x46582e+'-'+_0x14035d+'/'+_0x5926cd)['json'](_0x5f5a29);}return null;};}function patchUpdates(_0x28b93e){return function(_0x588cef){try{jsonpatch[_0x4238('0x26')](_0x588cef,_0x28b93e,!![]);}catch(_0x5aca95){return BPromise[_0x4238('0x27')](_0x5aca95);}return _0x588cef[_0x4238('0x28')]();};}function saveUpdates(_0x12bd42,_0x2947f5){return function(_0x1be6f3){if(_0x1be6f3){return _0x1be6f3['update'](_0x12bd42)[_0x4238('0x29')](function(_0x3a8957){return _0x3a8957;});}return null;};}function removeEntity(_0xe0e2c6,_0xe94b6c){return function(_0x849e8){if(_0x849e8){return _0x849e8['destroy']()[_0x4238('0x29')](function(){_0xe0e2c6[_0x4238('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x105a78,_0x1f3800){return function(_0xbfe2c7){if(!_0xbfe2c7){_0x105a78[_0x4238('0x1d')](0x194);}return _0xbfe2c7;};}function handleError(_0x7d3f34,_0xea4e96){_0xea4e96=_0xea4e96||0x1f4;return function(_0x582a30){logger['error'](_0x582a30[_0x4238('0x2a')]);if(_0x582a30[_0x4238('0x2b')]){delete _0x582a30[_0x4238('0x2b')];}_0x7d3f34[_0x4238('0x1e')](_0xea4e96)[_0x4238('0x2c')](_0x582a30);};}function getInteractionUsers(_0x572332,_0x5042da){return new BPromise(function(_0x15c3e7,_0x3f8e22){try{if(_0x5042da[_0x572332['id']]){_0x572332[_0x4238('0x2d')]=_[_0x4238('0x2e')](_0x5042da[_0x572332['id']],function(_0x4a561b){return{'id':_0x4a561b['id'],'fullname':_0x4a561b['fullname']};});}}catch(_0x1fd9cf){_0x3f8e22(_0x1fd9cf);}_0x15c3e7(_0x572332);});}function getInteractionTags(_0x4f91dd,_0x12addf){return new BPromise(function(_0x1bc029,_0x3376b5){try{if(_0x4f91dd['TagIds']){_0x4f91dd['Tags']=[];_0x4f91dd[_0x4238('0x2f')][_0x4238('0x30')](',')[_0x4238('0x31')](function(_0x129b31){_0x4f91dd[_0x4238('0x32')][_0x4238('0x33')](_0x12addf[_0x129b31]);});}delete _0x4f91dd[_0x4238('0x2f')];}catch(_0x4d7706){_0x3376b5(_0x4d7706);}_0x1bc029(_0x4f91dd);});}function updateFaxInteraction(_0x3ca568,_0xbd681a,_0x328be9){return new BPromise(function(_0x5113a6,_0x55626c){return getInteractionUsers(_0x3ca568,_0x328be9)[_0x4238('0x29')](function(_0x98b58b){return getInteractionTags(_0x98b58b,_0xbd681a);})['then'](function(_0x5976e8){return getStateInteraction(_0x5976e8);})[_0x4238('0x29')](function(_0x7a08e9){_0x5113a6(_0x7a08e9);})[_0x4238('0x34')](function(_0x33fb08){_0x55626c(_0x33fb08);});});}function getStateInteraction(_0x23bef4){return new BPromise(function(_0x354d93){_0x23bef4[_0x4238('0x35')]=0x0;_0x23bef4['talking']=0x0;_0x23bef4[_0x4238('0x36')]=0x0;_0x23bef4['unmanaged']=0x0;_0x23bef4[_0x4238('0x37')]=0x0;if(!_0x23bef4['closed']&&!_0x23bef4[_0x4238('0x38')]){_0x23bef4[_0x4238('0x35')]+=0x1;}if(!_0x23bef4[_0x4238('0x39')]&&_0x23bef4[_0x4238('0x38')]){_0x23bef4['talking']+=0x1;if(_0x23bef4[_0x4238('0x35')]){_0x23bef4[_0x4238('0x35')]-=0x1;}}if(_0x23bef4['closed']&&_0x23bef4[_0x4238('0x38')]){_0x23bef4[_0x4238('0x36')]+=0x1;if(_0x23bef4[_0x4238('0x3a')]){_0x23bef4[_0x4238('0x3a')]-=0x1;}}if(_0x23bef4[_0x4238('0x39')]&&!_0x23bef4[_0x4238('0x38')]){_0x23bef4[_0x4238('0x3b')]+=0x1;if(_0x23bef4[_0x4238('0x35')]){_0x23bef4[_0x4238('0x35')]-=0x1;}}_0x23bef4[_0x4238('0x37')]+=0x1;_0x354d93(_0x23bef4);});}exports['index']=function(_0x15d4dd,_0x56426a){var _0x3f4129={},_0x8fe6d4={},_0x52a6ba={'count':0x0,'rows':[]};var _0x35d290=_[_0x4238('0x2e')](db[_0x4238('0x3c')]['rawAttributes'],function(_0x3ca383){return{'name':_0x3ca383[_0x4238('0x3d')],'type':_0x3ca383['type'][_0x4238('0x3e')]};});_0x8fe6d4['model']=_[_0x4238('0x2e')](_0x35d290,_0x4238('0x2b'));_0x8fe6d4[_0x4238('0x3f')]=_[_0x4238('0x40')](_0x15d4dd[_0x4238('0x3f')]);_0x8fe6d4['filters']=_[_0x4238('0x41')](_0x8fe6d4[_0x4238('0x42')],_0x8fe6d4[_0x4238('0x3f')]);_0x3f4129[_0x4238('0x43')]=_['intersection'](_0x8fe6d4[_0x4238('0x42')],qs[_0x4238('0x44')](_0x15d4dd[_0x4238('0x3f')][_0x4238('0x44')]));_0x3f4129[_0x4238('0x43')]=_0x3f4129[_0x4238('0x43')]['length']?_0x3f4129[_0x4238('0x43')]:_0x8fe6d4[_0x4238('0x42')];if(!_0x15d4dd[_0x4238('0x3f')][_0x4238('0x45')]('nolimit')){_0x3f4129[_0x4238('0x23')]=qs[_0x4238('0x23')](_0x15d4dd[_0x4238('0x3f')][_0x4238('0x23')]);_0x3f4129[_0x4238('0x20')]=qs[_0x4238('0x20')](_0x15d4dd[_0x4238('0x3f')][_0x4238('0x20')]);}_0x3f4129[_0x4238('0x46')]=qs[_0x4238('0x47')](_0x15d4dd[_0x4238('0x3f')][_0x4238('0x47')]);_0x3f4129[_0x4238('0x48')]=qs[_0x4238('0x49')](_[_0x4238('0x4a')](_0x15d4dd[_0x4238('0x3f')],_0x8fe6d4[_0x4238('0x49')]),_0x35d290);var _0x5ef362=[];var _0x21e10e=squel[_0x4238('0x4b')]()[_0x4238('0x4c')]('id')[_0x4238('0x4c')](_0x4238('0x2b'))[_0x4238('0x4c')]('color')[_0x4238('0x4d')]('tools_tags');var _0x58b337=squel[_0x4238('0x4b')]()[_0x4238('0x4c')](_0x4238('0x4e'))[_0x4238('0x4c')]('u.fullname')[_0x4238('0x4c')](_0x4238('0x4f'))[_0x4238('0x4d')](_0x4238('0x50'),'ui')[_0x4238('0x51')]('users','u','u.id\x20=\x20ui.UserId');var _0x4246bd=squel[_0x4238('0x4b')]()[_0x4238('0x4d')]('fax_interactions','i')[_0x4238('0x51')](_0x4238('0x52'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0x4238('0x53'),'o','o.id\x20=\x20i.UserId')['left_join'](_0x4238('0x54'),'a',_0x4238('0x55'))[_0x4238('0x51')](_0x4238('0x56'),'me',_0x4238('0x57'))[_0x4238('0x51')](_0x4238('0x58'),'it',_0x4238('0x59'))['left_join']('tools_tags','t',_0x4238('0x5a'));var _0x5f0312=squel[_0x4238('0x5b')]();var _0x24b001=[];var _0x2d30b5=squel[_0x4238('0x5b')]();var _0x51abfa;if(_0x15d4dd[_0x4238('0x3f')][_0x4238('0x5c')]){_0x51abfa=as[_0x4238('0x5d')](_0x15d4dd['query']['search']);var _0x57b37d=_0x51abfa[_0x4238('0x5e')];for(var _0x5e40c9=0x0;_0x5e40c9<_0x51abfa['conditions'][_0x4238('0x5f')];_0x5e40c9++){var _0x1d4723=_0x51abfa['conditions'][_0x5e40c9];var _0x531e79='i';var _0x1cc9e9=_[_0x4238('0x60')](_0x35d290,[_0x4238('0x2b'),_0x1d4723[_0x4238('0x4c')]]);if(!_0x1cc9e9){switch(_0x1d4723[_0x4238('0x4c')]){case'unreadMessages':if(_0x1d4723['value']==0x1){_0x4246bd[_0x4238('0x61')]('`'+_0x1d4723[_0x4238('0x4c')]+_0x4238('0x62'));}else{_0x4246bd['having']('`'+_0x1d4723[_0x4238('0x4c')]+_0x4238('0x63'));}break;case _0x4238('0x64'):if(_0x1d4723[_0x4238('0x65')]===_0x4238('0x66')){if(_0x1d4723[_0x4238('0x67')][_0x4238('0x30')]('\x20')[_0x4238('0x5f')]>0x1){_0x5f0312[_0x57b37d]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x4238('0x68')](_0x1d4723[_0x4238('0x67')]),null);}else{var _0x1b2b55='%'+_0x1d4723[_0x4238('0x67')]+'%';_0x5f0312[_0x57b37d](_0x4238('0x69'),_0x1b2b55,_0x1b2b55,_0x1b2b55);}}else{_0x1cc9e9=_[_0x4238('0x60')](_0x35d290,[_0x4238('0x2b'),_0x4238('0x6a')]);_0x1d4723[_0x4238('0x4c')]='ContactId';_0x307faf=as[_0x4238('0x6b')](_0x531e79,_0x1cc9e9[_0x4238('0x6c')],_0x1d4723);_0x5f0312[_0x57b37d](_0x307faf[_0x4238('0x6d')],_0x307faf[_0x4238('0x67')][_0x4238('0x6e')],_0x307faf[_0x4238('0x67')]['end']);}break;case'Tag':var _0x2d9fb4=_0x1d4723[_0x4238('0x67')][_0x4238('0x30')](',')['map'](function(_0x49115d){return Number(_0x49115d);});_0x2d9fb4['forEach'](function(_0x25cd76){_0x2d30b5['or'](_0x4238('0x6f'),'%,'+_0x25cd76+',%');});_0x24b001=_[_0x4238('0x70')](_0x24b001,_0x2d9fb4);break;case _0x4238('0x71'):if(_0x1d4723[_0x4238('0x65')]===_0x4238('0x66')){_0x5f0312[_0x57b37d](_0x4238('0x72'),'%'+_0x1d4723[_0x4238('0x67')]+'%',null);}else{_0x1cc9e9=_[_0x4238('0x60')](_0x35d290,['name',_0x4238('0x38')]);_0x1d4723[_0x4238('0x4c')]=_0x4238('0x38');_0x307faf=as[_0x4238('0x6b')](_0x531e79,_0x1cc9e9['type'],_0x1d4723);_0x5f0312[_0x57b37d](_0x307faf['text'],_0x307faf[_0x4238('0x67')][_0x4238('0x6e')],_0x307faf[_0x4238('0x67')][_0x4238('0x73')]);}break;case _0x4238('0x74'):_0x307faf=as[_0x4238('0x6b')]('me',null,_0x1d4723);_0x5f0312[_0x57b37d](_0x307faf[_0x4238('0x6d')],_0x307faf[_0x4238('0x67')]['start'],_0x307faf[_0x4238('0x67')][_0x4238('0x73')]);break;}}else{var _0x307faf=as[_0x4238('0x6b')](_0x531e79,_0x1cc9e9[_0x4238('0x6c')],_0x1d4723);_0x5f0312[_0x57b37d](_0x307faf['text'],_0x307faf[_0x4238('0x67')][_0x4238('0x6e')],_0x307faf[_0x4238('0x67')]['end']);}}}else{var _0x4a673a=_(_0x15d4dd['query'])['keys']()[_0x4238('0x2e')](function(_0x3033a9){return _['some'](_0x35d290,[_0x4238('0x2b'),_0x3033a9])?_0x3033a9:undefined;})[_0x4238('0x75')]()['value']();if(!_['isEmpty'](_0x4a673a)){_0x4a673a[_0x4238('0x31')](function(_0x4d780e){if(_0x4d780e==='FaxAccountId'){_0x4246bd[_0x4238('0x48')]('i.FaxAccountId\x20IN\x20?',[][_0x4238('0x76')](_0x15d4dd[_0x4238('0x3f')][_0x4d780e]));}else if(_0x4d780e===_0x4238('0x77')){var _0x3e5b51=JSON[_0x4238('0x78')](_0x15d4dd[_0x4238('0x3f')][_0x4d780e])[_0x4238('0x79')];var _0x1a21a4=JSON['parse'](_0x15d4dd[_0x4238('0x3f')][_0x4d780e])[_0x4238('0x7a')];_0x4246bd[_0x4238('0x48')](_0x4238('0x7b'),_0x3e5b51,_0x1a21a4);}else{if(_0x15d4dd[_0x4238('0x3f')][_0x4d780e]==='null'){_0x4246bd[_0x4238('0x48')]('i.'+_0x4d780e+'\x20IS\x20NULL');}else{_0x4246bd[_0x4238('0x48')]('i.'+_0x4d780e+_0x4238('0x7c'),_0x15d4dd[_0x4238('0x3f')][_0x4d780e]);}}});}if(_0x15d4dd[_0x4238('0x3f')][_0x4238('0x7d')]){if(_0x15d4dd[_0x4238('0x3f')]['read']==0x1){_0x4246bd[_0x4238('0x61')](_0x4238('0x7e'));}else{_0x4246bd[_0x4238('0x61')](_0x4238('0x7f'));}}if(_0x15d4dd[_0x4238('0x3f')][_0x4238('0x80')]){_0x24b001=_[_0x4238('0x81')](_0x15d4dd[_0x4238('0x3f')][_0x4238('0x80')])?_0x15d4dd['query'][_0x4238('0x80')]:new Array(_0x15d4dd[_0x4238('0x3f')]['tag']);_0x24b001['forEach'](function(_0x30aedf){_0x2d30b5['or'](_0x4238('0x6f'),'%,'+_0x30aedf+',%');});}if(_0x15d4dd[_0x4238('0x3f')][_0x4238('0x82')]){var _0x42cd9b=_0x15d4dd['query'][_0x4238('0x82')][_0x4238('0x83')]('\x5c','\x5c\x5c')[_0x4238('0x83')](/'/g,'\x27\x27');if(qs[_0x4238('0x84')](_0x42cd9b)){_0x5f0312['or']('i.id\x20LIKE\x20?',_0x42cd9b+'%')['or'](_0x4238('0x85'),_0x42cd9b+'%');}_0x5f0312['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x42cd9b+'%');}}_0x4246bd['where'](_0x5f0312);_0x4246bd[_0x4238('0x86')](_0x4238('0x87'));var _0x4cde03={'type':db[_0x4238('0x88')][_0x4238('0x89')]['SELECT'],'raw':!![]};var _0x306ae7=_0x4246bd[_0x4238('0x8a')]();_0x306ae7['field'](_0x4238('0x87'));_0x306ae7[_0x4238('0x4c')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x4238('0x8b'));if(_0x3f4129[_0x4238('0x46')]){_0x3f4129[_0x4238('0x46')][_0x4238('0x31')](function(_0x3834d8){var _0x56f98f=_0x3834d8[0x0]===_0x4238('0x8c')?_0x3834d8[0x0]:'i.'+_0x3834d8[0x0];_0x4246bd['order'](_0x56f98f,_0x3834d8[0x1]==='DESC'?![]:!![]);});}if(!_['isEmpty'](_0x24b001)){_0x4246bd['having'](_0x2d30b5);_0x306ae7[_0x4238('0x48')](_0x4238('0x8d'),_0x24b001);}BPromise[_0x4238('0x8e')]()[_0x4238('0x29')](function(){if(!_0x51abfa){if(_0x15d4dd[_0x4238('0x3f')][_0x4238('0x8f')])return;_0x306ae7['where'](_0x4238('0x90'));_0x4246bd[_0x4238('0x48')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x15d4dd[_0x4238('0x91')][_0x4238('0x92')]!==_0x4238('0x93'))return;return _0x15d4dd[_0x4238('0x91')]['getFaxAccounts']({'attributes':['id'],'raw':!![]})[_0x4238('0x29')](function(_0x1495a9){if(_[_0x4238('0x94')](_0x1495a9)){_0x306ae7[_0x4238('0x48')](_0x4238('0x95'));_0x4246bd[_0x4238('0x48')](_0x4238('0x95'));}else{_0x306ae7['where']('i.FaxAccountId\x20IN\x20?',_[_0x4238('0x2e')](_0x1495a9,'id'));_0x4246bd[_0x4238('0x48')](_0x4238('0x96'),_[_0x4238('0x2e')](_0x1495a9,'id'));}});})[_0x4238('0x29')](function(){if(_0x15d4dd['user'][_0x4238('0x92')]===_0x4238('0x93')&&!_0x51abfa&&!_0x15d4dd['query'][_0x4238('0x8f')])return[];return db[_0x4238('0x97')][_0x4238('0x3f')](_0x306ae7[_0x4238('0x98')](),_0x4cde03);})[_0x4238('0x29')](function(_0x1ec889){_0x52a6ba[_0x4238('0x22')]=_0x1ec889[_0x4238('0x5f')];if(_0x52a6ba[_0x4238('0x22')]===0x0)return[];return db[_0x4238('0x97')]['query'](_0x21e10e[_0x4238('0x98')](),_0x4cde03)[_0x4238('0x29')](function(_0x218b19){_0x5ef362=_['keyBy'](_0x218b19,'id');_0x4cde03=_['merge'](_0x4cde03,{'model':db[_0x4238('0x3c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x15d4dd[_0x4238('0x3f')][_0x4238('0x44')]){_0x3f4129[_0x4238('0x43')][_0x4238('0x31')](function(_0x33ff22){_0x4246bd[_0x4238('0x4c')]('i.'+_0x33ff22);});}else{_0x4246bd[_0x4238('0x4c')](_0x4238('0x99'),_0x4238('0x8b'));_0x4246bd[_0x4238('0x4c')](_0x4238('0x9a'),_0x4238('0x9b'));_0x4246bd[_0x4238('0x4c')](_0x4238('0x9c'),_0x4238('0x9d'));_0x4246bd[_0x4238('0x4c')](_0x4238('0x9e'),'contactName');_0x4246bd['field']('i.*');_0x4246bd['field']('c.firstName',_0x4238('0x9f'));_0x4246bd[_0x4238('0x4c')](_0x4238('0xa0'),_0x4238('0xa1'));_0x4246bd[_0x4238('0x4c')](_0x4238('0xa2'),_0x4238('0xa3'));_0x4246bd[_0x4238('0x4c')](_0x4238('0xa4'),_0x4238('0xa5'));_0x4246bd[_0x4238('0x4c')]('c.mobile',_0x4238('0xa6'));_0x4246bd[_0x4238('0x4c')](_0x4238('0xa7'),_0x4238('0xa8'));_0x4246bd[_0x4238('0x4c')](_0x4238('0xa9'),'Owner.fullname');_0x4246bd[_0x4238('0x4c')](_0x4238('0xaa'),_0x4238('0xab'));_0x4246bd[_0x4238('0x4c')](_0x4238('0xac'),'TagIds');}if(_0x3f4129['limit'])_0x4246bd[_0x4238('0x23')](_0x3f4129[_0x4238('0x23')]);if(_0x3f4129[_0x4238('0x20')])_0x4246bd['offset'](_0x3f4129[_0x4238('0x20')]);return db[_0x4238('0x97')][_0x4238('0x3f')](_0x4246bd[_0x4238('0x98')](),_0x4cde03);})[_0x4238('0x29')](function(_0x560274){if(_0x560274['length']>0x0)_0x58b337[_0x4238('0x48')](_0x4238('0xad'),_[_0x4238('0x2e')](_0x560274,'id'));return db[_0x4238('0x97')][_0x4238('0x3f')](_0x58b337[_0x4238('0x98')](),_0x4cde03)[_0x4238('0x29')](function(_0x383df3){var _0x27c90c=_[_0x4238('0xae')](_0x383df3,_0x4238('0xaf'));var _0x48a48e=[];_0x560274[_0x4238('0x31')](function(_0x280c5a){_0x48a48e[_0x4238('0x33')](updateFaxInteraction(_0x280c5a,_0x5ef362,_0x27c90c));});return BPromise[_0x4238('0xb0')](_0x48a48e);});});})[_0x4238('0x29')](function(_0x2cb012){_0x52a6ba[_0x4238('0xb1')]=_0x2cb012;return _0x52a6ba;})[_0x4238('0x29')](respondWithFilteredResult(_0x56426a,_0x3f4129))[_0x4238('0x34')](handleError(_0x56426a,null));};exports['show']=function(_0x4ef706,_0xa71f26){var _0x325dc1={'raw':![],'where':{'id':_0x4ef706['params']['id']}},_0x1a3601={};_0x1a3601[_0x4238('0x42')]=_[_0x4238('0x40')](db[_0x4238('0x3c')]['rawAttributes']);_0x1a3601[_0x4238('0x3f')]=_[_0x4238('0x40')](_0x4ef706[_0x4238('0x3f')]);_0x1a3601[_0x4238('0x49')]=_[_0x4238('0x41')](_0x1a3601[_0x4238('0x42')],_0x1a3601[_0x4238('0x3f')]);_0x325dc1[_0x4238('0x43')]=_[_0x4238('0x41')](_0x1a3601['model'],qs[_0x4238('0x44')](_0x4ef706['query'][_0x4238('0x44')]));_0x325dc1[_0x4238('0x43')]=_0x325dc1[_0x4238('0x43')][_0x4238('0x5f')]?_0x325dc1[_0x4238('0x43')]:_0x1a3601['model'];if(_0x4ef706[_0x4238('0x3f')][_0x4238('0xb2')]){_0x325dc1[_0x4238('0xb3')]=[{'all':!![]}];}_0x325dc1=_['merge']({},_0x325dc1,_0x4ef706[_0x4238('0xb4')]);return db[_0x4238('0x3c')][_0x4238('0x60')](_0x325dc1)['then'](handleEntityNotFound(_0xa71f26,null))[_0x4238('0x29')](respondWithResult(_0xa71f26,null))['catch'](handleError(_0xa71f26,null));};exports[_0x4238('0xb5')]=function(_0x4f1b1c,_0x235c28){return db[_0x4238('0x3c')][_0x4238('0xb5')](_0x4f1b1c[_0x4238('0x74')],{})[_0x4238('0x29')](respondWithResult(_0x235c28,0xc9))[_0x4238('0x34')](handleError(_0x235c28,null));};exports[_0x4238('0xb6')]=function(_0x20ee2c,_0x2b9807){if(_0x20ee2c[_0x4238('0x74')]['id']){delete _0x20ee2c[_0x4238('0x74')]['id'];}return db[_0x4238('0x3c')][_0x4238('0x60')]({'where':{'id':_0x20ee2c[_0x4238('0xb7')]['id']}})[_0x4238('0x29')](handleEntityNotFound(_0x2b9807,null))[_0x4238('0x29')](saveUpdates(_0x20ee2c[_0x4238('0x74')],null))['then'](respondWithResult(_0x2b9807,null))[_0x4238('0x34')](handleError(_0x2b9807,null));};exports['destroy']=function(_0x52a245,_0x532307){return db[_0x4238('0x3c')]['find']({'where':{'id':_0x52a245['params']['id']}})[_0x4238('0x29')](handleEntityNotFound(_0x532307,null))['then'](removeEntity(_0x532307,null))[_0x4238('0x34')](handleError(_0x532307,null));};exports[_0x4238('0xb8')]=function(_0x531e10,_0xf95a65){return db[_0x4238('0x3c')][_0x4238('0xb8')]()[_0x4238('0x29')](respondWithResult(_0xf95a65,null))[_0x4238('0x34')](handleError(_0xf95a65,null));};exports[_0x4238('0xb9')]=function(_0x36e693,_0x204c13,_0x3cd90a){return db[_0x4238('0xba')][_0x4238('0x60')]({'where':{'id':_0x36e693[_0x4238('0xb7')]['id']}})[_0x4238('0x29')](handleEntityNotFound(_0x204c13,null))[_0x4238('0x29')](function(_0x557a53){if(_0x557a53){return _0x557a53['addMessage'](_0x36e693[_0x4238('0x74')]['ids'],_[_0x4238('0xbb')](_0x36e693['body'],[_0x4238('0xbc'),'id'])||{});}})['then'](respondWithResult(_0x204c13,null))[_0x4238('0x34')](handleError(_0x204c13,null));};exports[_0x4238('0xbd')]=function(_0x1e3c6e,_0x365049,_0x4ea48a){var _0x5e1b56={'raw':![],'where':{}};var _0x4705ed={};var _0x39a579={'count':0x0,'rows':[]};return db[_0x4238('0x3c')][_0x4238('0xbe')]({'where':{'id':_0x1e3c6e[_0x4238('0xb7')]['id']}})['then'](handleEntityNotFound(_0x365049,null))[_0x4238('0x29')](function(_0x2ee00d){if(_0x2ee00d){_0x4705ed[_0x4238('0x42')]=_[_0x4238('0x40')](db[_0x4238('0xba')]['rawAttributes']);_0x4705ed['query']=_[_0x4238('0x40')](_0x1e3c6e['query']);_0x4705ed[_0x4238('0x49')]=_[_0x4238('0x41')](_0x4705ed['model'],_0x4705ed['query']);_0x5e1b56[_0x4238('0x43')]=_[_0x4238('0x41')](_0x4705ed[_0x4238('0x42')],qs[_0x4238('0x44')](_0x1e3c6e[_0x4238('0x3f')][_0x4238('0x44')]));_0x5e1b56[_0x4238('0x43')]=_0x5e1b56[_0x4238('0x43')][_0x4238('0x5f')]?_0x5e1b56[_0x4238('0x43')]:_0x4705ed[_0x4238('0x42')];if(!_0x1e3c6e[_0x4238('0x3f')][_0x4238('0x45')](_0x4238('0xbf'))){_0x5e1b56['limit']=qs['limit'](_0x1e3c6e[_0x4238('0x3f')]['limit']);_0x5e1b56[_0x4238('0x20')]=qs[_0x4238('0x20')](_0x1e3c6e[_0x4238('0x3f')][_0x4238('0x20')]);}_0x5e1b56[_0x4238('0x46')]=qs[_0x4238('0x47')](_0x1e3c6e['query'][_0x4238('0x47')]);_0x5e1b56['where']=qs[_0x4238('0x49')](_[_0x4238('0x4a')](_0x1e3c6e[_0x4238('0x3f')],_0x4705ed[_0x4238('0x49')]));_0x5e1b56[_0x4238('0x48')][_0x4238('0xaf')]=_0x2ee00d['id'];if(_0x1e3c6e[_0x4238('0x3f')][_0x4238('0x82')]){_0x5e1b56[_0x4238('0x48')]=_[_0x4238('0xc0')](_0x5e1b56['where'],{'$or':_[_0x4238('0x2e')](_0x5e1b56[_0x4238('0x43')],function(_0x2f6dc9){var _0x1b978d={};_0x1b978d[_0x2f6dc9]={'$like':'%'+_0x1e3c6e[_0x4238('0x3f')][_0x4238('0x82')]+'%'};return _0x1b978d;})});}if(_0x1e3c6e[_0x4238('0x3f')]['$gte']){var _0x47b641=_0x1e3c6e[_0x4238('0x3f')][_0x4238('0x79')][_0x4238('0x30')](',');var _0x1a9d45={};_0x1a9d45[_0x47b641[0x0]]={'$gte':moment(_0x47b641[0x1])[_0x4238('0xc1')](_0x4238('0xc2'))};_0x5e1b56[_0x4238('0x48')]=_[_0x4238('0xc0')](_0x5e1b56[_0x4238('0x48')],_0x1a9d45);}_0x5e1b56=_[_0x4238('0xc0')]({},_0x5e1b56,_0x1e3c6e[_0x4238('0xb4')]);return db['FaxMessage'][_0x4238('0x22')]({'where':_0x5e1b56[_0x4238('0x48')]})[_0x4238('0x29')](function(_0x2a4ff0){_0x39a579[_0x4238('0x22')]=_0x2a4ff0;if(_0x1e3c6e['query']['includeAll']){_0x5e1b56[_0x4238('0xb3')]=[{'all':!![]}];}return db[_0x4238('0xba')]['findAll'](_0x5e1b56);})[_0x4238('0x29')](function(_0xa2fb3){_0x39a579['rows']=_0xa2fb3;return _0x39a579;});}})[_0x4238('0x29')](respondWithFilteredResult(_0x365049,_0x5e1b56))[_0x4238('0x34')](handleError(_0x365049,null));};exports['addTags']=function(_0x26fc15,_0xd00390,_0x45ec6d){return db[_0x4238('0x3c')]['find']({'where':{'id':_0x26fc15['params']['id']}})[_0x4238('0x29')](handleEntityNotFound(_0xd00390,null))[_0x4238('0x29')](function(_0x45c71f){if(_0x45c71f){return _0x45c71f[_0x4238('0xc3')](_0x26fc15[_0x4238('0x74')][_0x4238('0xbc')],_['omit'](_0x26fc15[_0x4238('0x74')],['ids','id'])||{})['spread'](function(){return db[_0x4238('0xc4')][_0x4238('0xc5')]({'attributes':['id','name',_0x4238('0xc6')],'where':{'id':_0x26fc15[_0x4238('0x74')][_0x4238('0xbc')]}});})[_0x4238('0x29')](function(_0x1eaae8){socket[_0x4238('0xc7')](_0x4238('0xc8'),{'id':Number(_0x26fc15[_0x4238('0xb7')]['id']),'tags':_0x1eaae8||[]});return{'id':Number(_0x26fc15[_0x4238('0xb7')]['id']),'tags':_0x1eaae8||[]};});}})[_0x4238('0x29')](respondWithResult(_0xd00390,null))[_0x4238('0x34')](handleError(_0xd00390,null));};exports[_0x4238('0xc9')]=function(_0x1e6c59,_0x223f5a,_0x26bd66){return db[_0x4238('0x3c')]['find']({'where':{'id':_0x1e6c59[_0x4238('0xb7')]['id']}})['then'](handleEntityNotFound(_0x223f5a,null))['then'](function(_0x35dce3){if(_0x35dce3){return _0x35dce3[_0x4238('0xc9')](_0x1e6c59[_0x4238('0x3f')][_0x4238('0xbc')]);}})['then'](respondWithStatusCode(_0x223f5a,null))[_0x4238('0x34')](handleError(_0x223f5a,null));};exports[_0x4238('0xca')]=function(_0x3faae7,_0x116224){var _0x4170a2=moment()[_0x4238('0xcb')]()['toString']();var _0x38a2e9=path[_0x4238('0xcc')](config[_0x4238('0xcd')],_0x4238('0xce'),_0x4238('0xcf'),_0x4238('0xd0'));var _0x2fc646=path[_0x4238('0xcc')](config[_0x4238('0xcd')],_0x4238('0xce'),'files',_0x4238('0xd1'));var _0x50bb20=path[_0x4238('0xcc')](_0x38a2e9,_0x4170a2);var _0x196dd9=util['format'](_0x4238('0xd2'),_0x3faae7[_0x4238('0xb7')]['id'],_0x4170a2);var _0x19d648=path[_0x4238('0xcc')](_0x38a2e9,_0x196dd9);var _0x793d10=[];_0x793d10[_0x4238('0x33')]({'model':db[_0x4238('0xd3')],'as':_0x4238('0xd3'),'raw':!![]});var _0xf81c1f=[{'model':db[_0x4238('0xba')],'as':_0x4238('0xd4'),'attributes':['id',_0x4238('0x74'),_0x4238('0x77')],'include':_0x793d10}];return db[_0x4238('0x3c')][_0x4238('0x60')]({'where':{'id':_0x3faae7[_0x4238('0xb7')]['id']},'include':_0xf81c1f})[_0x4238('0x29')](handleEntityNotFound(_0x116224,null))[_0x4238('0x29')](function(_0x143493){if(_0x143493&&_0x143493[_0x4238('0xd4')]){var _0x326209=_0x143493[_0x4238('0xd5')]({'plain':!![]});fs[_0x4238('0xd6')](_0x50bb20);for(var _0x36fa37=0x0;_0x36fa37<_0x326209[_0x4238('0xd4')]['length'];_0x36fa37++){var _0x1ecaf2=_0x326209['Messages'][_0x36fa37][_0x4238('0xd3')];if(_0x1ecaf2){var _0x32037f=path[_0x4238('0xcc')](_0x2fc646,_0x1ecaf2['basename']);if(fs[_0x4238('0xd7')](_0x32037f)){fs[_0x4238('0xd8')](_0x32037f)[_0x4238('0xd9')](fs['createWriteStream'](path[_0x4238('0xcc')](_0x50bb20,_0x1ecaf2['basename'])));}}}return BPromise[_0x4238('0x8e')]()['then'](function(){return new BPromise(function(_0x4ea8b4,_0x40eefb){zipdir(_0x50bb20,{'saveTo':_0x19d648},function(_0x3775ac,_0x26be7d){if(_0x3775ac)return _0x40eefb(_0x3775ac);return _0x4ea8b4(_0x26be7d);});})['then'](function(){return new BPromise(function(_0x22a49c,_0x1ae2f7){rimraf(_0x50bb20,function(_0x1bebe1){if(_0x1bebe1)_0x1ae2f7(_0x1bebe1);return _0x22a49c();});});})['then'](function(){return _0x116224['download'](_0x19d648,_0x196dd9,function(_0x4b1a14){if(_0x4b1a14){console[_0x4238('0xda')](_0x4238('0xdb'),_0x4b1a14);}else{fs[_0x4238('0xdc')](_0x19d648);}});});});}else{return _0x116224[_0x4238('0x1d')](0xc8);}})['catch'](handleError(_0x116224,null));};