00181af0b9f27c8923cce2d7f50db8d9f7945f3e
[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 _0xadc9=['isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','i.FaxAccountId\x20IS\x20NULL','sequelize','count','toString','keyBy','a.key','a.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.phone','c.mobile','Contact.mobile','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','FaxInteractionId','all','rows','show','includeAll','merge','options','find','create','params','destroy','describe','FaxMessage','addMessage','ids','omit','getMessages','findOne','nolimit','YYYY-MM-DD\x20HH:mm:ss','include','findAll','setTags','spread','color','emit','faxInteractionTags:save','removeTags','download','unix','join','root','server','files','attachments','format','transcript-%d-%s.zip','Attachment','Messages','createdAt','basename','existsSync','createReadStream','pipe','createWriteStream','log','err','unlinkSync','sendStatus','html-pdf','eml-format','rimraf','zip-dir','request-promise','mustache','util','path','sox','to-csv','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./faxInteraction.socket','status','json','limit','set','Content-Range','reject','save','update','then','end','stack','name','Users','map','fullname','Tags','split','forEach','push','TagIds','catch','FaxInteraction','rawAttributes','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','offset','order','sort','where','pick','select','field','from','tools_tags','u.id','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','left_join','u.id\x20=\x20ui.UserId','fax_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','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','sqlOperator','conditions','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','body','start','some','isEmpty','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace'];(function(_0x1cafd7,_0x34e7e1){var _0x96f4d4=function(_0x4f9538){while(--_0x4f9538){_0x1cafd7['push'](_0x1cafd7['shift']());}};_0x96f4d4(++_0x34e7e1);}(_0xadc9,0x12a));var _0x9adc=function(_0x46e9f0,_0x41091a){_0x46e9f0=_0x46e9f0-0x0;var _0x115380=_0xadc9[_0x46e9f0];return _0x115380;};'use strict';var pdf=require(_0x9adc('0x0'));var emlformat=require(_0x9adc('0x1'));var rimraf=require(_0x9adc('0x2'));var zipdir=require(_0x9adc('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9adc('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x9adc('0x5'));var util=require(_0x9adc('0x6'));var path=require(_0x9adc('0x7'));var sox=require(_0x9adc('0x8'));var csv=require(_0x9adc('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x9adc('0xa'));var squel=require('squel');var crypto=require(_0x9adc('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x9adc('0x9'));var querystring=require(_0x9adc('0xc'));var Papa=require(_0x9adc('0xd'));var Redis=require(_0x9adc('0xe'));var authService=require(_0x9adc('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x9adc('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9adc('0x11'))('api');var utils=require(_0x9adc('0x12'));var config=require(_0x9adc('0x13'));var db=require(_0x9adc('0x14'))['db'];config[_0x9adc('0x15')]=_['defaults'](config[_0x9adc('0x15')],{'host':_0x9adc('0x16'),'port':0x18eb});var socket=require(_0x9adc('0x17'))(new Redis(config['redis']));require(_0x9adc('0x18'))['register'](socket);function respondWithStatusCode(_0x3072f8,_0x2a7225){_0x2a7225=_0x2a7225||0xcc;return function(_0x1264a7){if(_0x1264a7){return _0x3072f8['sendStatus'](_0x2a7225);}return _0x3072f8[_0x9adc('0x19')](_0x2a7225)['end']();};}function respondWithResult(_0x18b96c,_0xadf8c2){_0xadf8c2=_0xadf8c2||0xc8;return function(_0x556ff6){if(_0x556ff6){return _0x18b96c[_0x9adc('0x19')](_0xadf8c2)[_0x9adc('0x1a')](_0x556ff6);}};}function respondWithFilteredResult(_0x1e1056,_0xc21bca){return function(_0x41726e){if(_0x41726e){var _0x4e8747=_0x41726e['count'],_0x1ead12=_0xc21bca['offset'],_0x8ba066=_0xc21bca['offset']+_0xc21bca[_0x9adc('0x1b')],_0x50440a;if(_0x8ba066>=_0x4e8747){_0x8ba066=_0x4e8747;_0x50440a=0xc8;}else{_0x50440a=0xce;}_0x1e1056[_0x9adc('0x19')](_0x50440a);return _0x1e1056[_0x9adc('0x1c')](_0x9adc('0x1d'),_0x1ead12+'-'+_0x8ba066+'/'+_0x4e8747)['json'](_0x41726e);}return null;};}function patchUpdates(_0x31b5ae){return function(_0x35752a){try{jsonpatch['apply'](_0x35752a,_0x31b5ae,!![]);}catch(_0x1da797){return BPromise[_0x9adc('0x1e')](_0x1da797);}return _0x35752a[_0x9adc('0x1f')]();};}function saveUpdates(_0x49a04e,_0x406c0d){return function(_0x1f21bc){if(_0x1f21bc){return _0x1f21bc[_0x9adc('0x20')](_0x49a04e)[_0x9adc('0x21')](function(_0x164fff){return _0x164fff;});}return null;};}function removeEntity(_0x489217,_0x281aea){return function(_0x1912d3){if(_0x1912d3){return _0x1912d3['destroy']()[_0x9adc('0x21')](function(){_0x489217[_0x9adc('0x19')](0xcc)[_0x9adc('0x22')]();});}};}function handleEntityNotFound(_0x61885b,_0x69ba17){return function(_0x2831ee){if(!_0x2831ee){_0x61885b['sendStatus'](0x194);}return _0x2831ee;};}function handleError(_0x1e6779,_0xe9bb88){_0xe9bb88=_0xe9bb88||0x1f4;return function(_0x244a1d){logger['error'](_0x244a1d[_0x9adc('0x23')]);if(_0x244a1d[_0x9adc('0x24')]){delete _0x244a1d[_0x9adc('0x24')];}_0x1e6779[_0x9adc('0x19')](_0xe9bb88)['send'](_0x244a1d);};}function getInteractionUsers(_0xeb5f13,_0x470744){return new BPromise(function(_0x3e72cf,_0x43b5f2){try{if(_0x470744[_0xeb5f13['id']]){_0xeb5f13[_0x9adc('0x25')]=_[_0x9adc('0x26')](_0x470744[_0xeb5f13['id']],function(_0x13c512){return{'id':_0x13c512['id'],'fullname':_0x13c512[_0x9adc('0x27')]};});}}catch(_0x22db36){_0x43b5f2(_0x22db36);}_0x3e72cf(_0xeb5f13);});}function getInteractionTags(_0x1ceb4f,_0x57789e){return new BPromise(function(_0x43d2d6,_0x479352){try{if(_0x1ceb4f['TagIds']){_0x1ceb4f[_0x9adc('0x28')]=[];_0x1ceb4f['TagIds'][_0x9adc('0x29')](',')[_0x9adc('0x2a')](function(_0x286258){_0x1ceb4f[_0x9adc('0x28')][_0x9adc('0x2b')](_0x57789e[_0x286258]);});}delete _0x1ceb4f[_0x9adc('0x2c')];}catch(_0x1ad660){_0x479352(_0x1ad660);}_0x43d2d6(_0x1ceb4f);});}function updateFaxInteraction(_0x4095c5,_0x91df8f,_0x5ccd90){return new BPromise(function(_0x34d0f3,_0x28fa8d){return getInteractionUsers(_0x4095c5,_0x5ccd90)[_0x9adc('0x21')](function(_0x1efbaf){return getInteractionTags(_0x1efbaf,_0x91df8f);})['then'](function(_0x398d18){_0x34d0f3(_0x398d18);})[_0x9adc('0x2d')](function(_0x5dd079){_0x28fa8d(_0x5dd079);});});}exports['index']=function(_0x39894d,_0x27d906){var _0x52a7ac={},_0x39cd96={},_0x20c568={'count':0x0,'rows':[]};var _0x3f41bb=_[_0x9adc('0x26')](db[_0x9adc('0x2e')][_0x9adc('0x2f')],function(_0x12d67f){return{'name':_0x12d67f['fieldName'],'type':_0x12d67f['type'][_0x9adc('0x30')]};});_0x39cd96[_0x9adc('0x31')]=_[_0x9adc('0x26')](_0x3f41bb,_0x9adc('0x24'));_0x39cd96[_0x9adc('0x32')]=_[_0x9adc('0x33')](_0x39894d[_0x9adc('0x32')]);_0x39cd96[_0x9adc('0x34')]=_[_0x9adc('0x35')](_0x39cd96[_0x9adc('0x31')],_0x39cd96['query']);_0x52a7ac[_0x9adc('0x36')]=_[_0x9adc('0x35')](_0x39cd96[_0x9adc('0x31')],qs[_0x9adc('0x37')](_0x39894d[_0x9adc('0x32')][_0x9adc('0x37')]));_0x52a7ac['attributes']=_0x52a7ac[_0x9adc('0x36')][_0x9adc('0x38')]?_0x52a7ac['attributes']:_0x39cd96[_0x9adc('0x31')];if(!_0x39894d[_0x9adc('0x32')][_0x9adc('0x39')]('nolimit')){_0x52a7ac[_0x9adc('0x1b')]=qs[_0x9adc('0x1b')](_0x39894d[_0x9adc('0x32')]['limit']);_0x52a7ac[_0x9adc('0x3a')]=qs[_0x9adc('0x3a')](_0x39894d[_0x9adc('0x32')][_0x9adc('0x3a')]);}_0x52a7ac[_0x9adc('0x3b')]=qs[_0x9adc('0x3c')](_0x39894d[_0x9adc('0x32')]['sort']);_0x52a7ac[_0x9adc('0x3d')]=qs[_0x9adc('0x34')](_[_0x9adc('0x3e')](_0x39894d[_0x9adc('0x32')],_0x39cd96[_0x9adc('0x34')]));var _0x41c892=[];var _0x5ed810=squel[_0x9adc('0x3f')]()['field']('id')[_0x9adc('0x40')](_0x9adc('0x24'))['field']('color')[_0x9adc('0x41')](_0x9adc('0x42'));var _0x12af87=squel[_0x9adc('0x3f')]()[_0x9adc('0x40')](_0x9adc('0x43'))[_0x9adc('0x40')](_0x9adc('0x44'))[_0x9adc('0x40')](_0x9adc('0x45'))[_0x9adc('0x41')](_0x9adc('0x46'),'ui')[_0x9adc('0x47')]('users','u',_0x9adc('0x48'));var _0x116428=squel[_0x9adc('0x3f')]()[_0x9adc('0x41')](_0x9adc('0x49'),'i')[_0x9adc('0x47')](_0x9adc('0x4a'),'c',_0x9adc('0x4b'))['left_join'](_0x9adc('0x4c'),'o',_0x9adc('0x4d'))[_0x9adc('0x47')]('fax_accounts','a',_0x9adc('0x4e'))['left_join'](_0x9adc('0x4f'),'me',_0x9adc('0x50'))[_0x9adc('0x47')](_0x9adc('0x51'),'it',_0x9adc('0x52'))[_0x9adc('0x47')](_0x9adc('0x42'),'t',_0x9adc('0x53'));var _0xc0d9a=squel['expr']();var _0x14f7f5=[];var _0x49de8b=squel[_0x9adc('0x54')]();var _0x3f7f6e;if(_0x39894d[_0x9adc('0x32')][_0x9adc('0x55')]){_0x3f7f6e=as['parseSearch'](_0x39894d[_0x9adc('0x32')][_0x9adc('0x55')]);var _0x35824a=_0x3f7f6e[_0x9adc('0x56')];for(var _0x4f7fde=0x0;_0x4f7fde<_0x3f7f6e[_0x9adc('0x57')][_0x9adc('0x38')];_0x4f7fde++){var _0x5580f6=_0x3f7f6e[_0x9adc('0x57')][_0x4f7fde];var _0x44375b='i';var _0x38229b=_['find'](_0x3f41bb,[_0x9adc('0x24'),_0x5580f6[_0x9adc('0x40')]]);if(!_0x38229b){switch(_0x5580f6[_0x9adc('0x40')]){case _0x9adc('0x58'):if(_0x5580f6[_0x9adc('0x59')]==0x1){_0x116428[_0x9adc('0x5a')]('`'+_0x5580f6[_0x9adc('0x40')]+_0x9adc('0x5b'));}else{_0x116428[_0x9adc('0x5a')]('`'+_0x5580f6[_0x9adc('0x40')]+_0x9adc('0x5c'));}break;case _0x9adc('0x5d'):if(_0x5580f6[_0x9adc('0x5e')]===_0x9adc('0x5f')){if(_0x5580f6['value'][_0x9adc('0x29')]('\x20')['length']>0x1){_0xc0d9a[_0x35824a](_0x9adc('0x60'),qs[_0x9adc('0x61')](_0x5580f6['value']),null);}else{var _0x2646d9='%'+_0x5580f6[_0x9adc('0x59')]+'%';_0xc0d9a[_0x35824a](_0x9adc('0x62'),_0x2646d9,_0x2646d9,_0x2646d9);}}else{_0x38229b=_['find'](_0x3f41bb,['name','ContactId']);_0x5580f6['field']=_0x9adc('0x63');_0x46100f=as[_0x9adc('0x64')](_0x44375b,_0x38229b[_0x9adc('0x65')],_0x5580f6);_0xc0d9a[_0x35824a](_0x46100f[_0x9adc('0x66')],_0x46100f[_0x9adc('0x59')]['start'],_0x46100f[_0x9adc('0x59')][_0x9adc('0x22')]);}break;case _0x9adc('0x67'):var _0x3f7bdc=_0x5580f6[_0x9adc('0x59')]['split'](',')[_0x9adc('0x26')](function(_0x2e5aee){return Number(_0x2e5aee);});_0x3f7bdc['forEach'](function(_0x1d4957){_0x49de8b['or'](_0x9adc('0x68'),'%,'+_0x1d4957+',%');});_0x14f7f5=_[_0x9adc('0x69')](_0x14f7f5,_0x3f7bdc);break;case _0x9adc('0x6a'):if(_0x5580f6[_0x9adc('0x5e')]==='$substring'){_0xc0d9a[_0x35824a]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x5580f6[_0x9adc('0x59')]+'%',null);}else{_0x38229b=_['find'](_0x3f41bb,['name','UserId']);_0x5580f6['field']='UserId';_0x46100f=as[_0x9adc('0x64')](_0x44375b,_0x38229b[_0x9adc('0x65')],_0x5580f6);_0xc0d9a[_0x35824a](_0x46100f[_0x9adc('0x66')],_0x46100f[_0x9adc('0x59')]['start'],_0x46100f[_0x9adc('0x59')][_0x9adc('0x22')]);}break;case _0x9adc('0x6b'):_0x46100f=as['buildExpression']('me',null,_0x5580f6);_0xc0d9a[_0x35824a](_0x46100f[_0x9adc('0x66')],_0x46100f[_0x9adc('0x59')]['start'],_0x46100f[_0x9adc('0x59')]['end']);break;}}else{var _0x46100f=as['buildExpression'](_0x44375b,_0x38229b[_0x9adc('0x65')],_0x5580f6);_0xc0d9a[_0x35824a](_0x46100f[_0x9adc('0x66')],_0x46100f[_0x9adc('0x59')][_0x9adc('0x6c')],_0x46100f[_0x9adc('0x59')]['end']);}}}else{var _0x241cde=_(_0x39894d[_0x9adc('0x32')])[_0x9adc('0x33')]()[_0x9adc('0x26')](function(_0x5a563c){return _[_0x9adc('0x6d')](_0x3f41bb,[_0x9adc('0x24'),_0x5a563c])?_0x5a563c:undefined;})['compact']()[_0x9adc('0x59')]();if(!_[_0x9adc('0x6e')](_0x241cde)){_0x241cde[_0x9adc('0x2a')](function(_0x47fd75){if(_0x47fd75===_0x9adc('0x6f')){_0x116428[_0x9adc('0x3d')](_0x9adc('0x70'),[][_0x9adc('0x71')](_0x39894d['query'][_0x47fd75]));}else if(_0x47fd75==='createdAt'){var _0x2c0845=JSON[_0x9adc('0x72')](_0x39894d[_0x9adc('0x32')][_0x47fd75])[_0x9adc('0x73')];var _0x2aa754=JSON[_0x9adc('0x72')](_0x39894d[_0x9adc('0x32')][_0x47fd75])['$lte'];_0x116428['where'](_0x9adc('0x74'),_0x2c0845,_0x2aa754);}else{if(_0x39894d[_0x9adc('0x32')][_0x47fd75]===_0x9adc('0x75')){_0x116428[_0x9adc('0x3d')]('i.'+_0x47fd75+_0x9adc('0x76'));}else{_0x116428[_0x9adc('0x3d')]('i.'+_0x47fd75+'\x20=\x20?',_0x39894d[_0x9adc('0x32')][_0x47fd75]);}}});}if(_0x39894d[_0x9adc('0x32')][_0x9adc('0x77')]){if(_0x39894d[_0x9adc('0x32')][_0x9adc('0x77')]==0x1){_0x116428[_0x9adc('0x5a')](_0x9adc('0x78'));}else{_0x116428[_0x9adc('0x5a')](_0x9adc('0x79'));}}if(_0x39894d[_0x9adc('0x32')][_0x9adc('0x7a')]){_0x14f7f5=_[_0x9adc('0x7b')](_0x39894d[_0x9adc('0x32')]['tag'])?_0x39894d[_0x9adc('0x32')][_0x9adc('0x7a')]:new Array(_0x39894d[_0x9adc('0x32')][_0x9adc('0x7a')]);_0x14f7f5['forEach'](function(_0x278736){_0x49de8b['or'](_0x9adc('0x68'),'%,'+_0x278736+',%');});}if(_0x39894d[_0x9adc('0x32')][_0x9adc('0x7c')]){var _0x9c206=_0x39894d[_0x9adc('0x32')][_0x9adc('0x7c')]['replace']('\x5c','\x5c\x5c')[_0x9adc('0x7d')]('\x27\x27','\x27\x27\x27\x27');if(qs[_0x9adc('0x7e')](_0x9c206)){_0xc0d9a['or'](_0x9adc('0x7f'),_0x9c206+'%')['or'](_0x9adc('0x80'),_0x9c206+'%');}_0xc0d9a['or'](_0x9adc('0x81'),_0x9c206+'%');}}_0x116428[_0x9adc('0x3d')](_0xc0d9a);_0x116428[_0x9adc('0x82')](_0x9adc('0x83'));var _0x97aa21={'type':db[_0x9adc('0x84')][_0x9adc('0x85')][_0x9adc('0x86')],'raw':!![]};var _0x17b59b=_0x116428[_0x9adc('0x87')]();_0x17b59b[_0x9adc('0x40')](_0x9adc('0x83'));_0x17b59b[_0x9adc('0x40')](_0x9adc('0x88'),'unreadMessages');if(_0x52a7ac[_0x9adc('0x3b')]){_0x52a7ac[_0x9adc('0x3b')][_0x9adc('0x2a')](function(_0x7f8da4){_0x116428[_0x9adc('0x3b')]('i.'+_0x7f8da4[0x0],_0x7f8da4[0x1]===_0x9adc('0x89')?![]:!![]);});}if(!_['isEmpty'](_0x14f7f5)){_0x116428[_0x9adc('0x5a')](_0x49de8b);_0x17b59b[_0x9adc('0x3d')]('t.id\x20IN\x20?',_0x14f7f5);}BPromise[_0x9adc('0x8a')]()[_0x9adc('0x21')](function(){if(!_0x3f7f6e){if(_0x39894d[_0x9adc('0x32')][_0x9adc('0x6f')]||_0x39894d[_0x9adc('0x32')]['journey'])return;_0x17b59b['where'](_0x9adc('0x8b'));_0x116428[_0x9adc('0x3d')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}return _0x39894d[_0x9adc('0x8c')]['getFaxAccounts']({'attributes':['id'],'raw':!![]})[_0x9adc('0x21')](function(_0x140d26){if(_[_0x9adc('0x6e')](_0x140d26)){_0x17b59b[_0x9adc('0x3d')](_0x9adc('0x8d'));_0x116428[_0x9adc('0x3d')](_0x9adc('0x8d'));}else{_0x17b59b[_0x9adc('0x3d')](_0x9adc('0x70'),_[_0x9adc('0x26')](_0x140d26,'id'));_0x116428[_0x9adc('0x3d')](_0x9adc('0x70'),_['map'](_0x140d26,'id'));}});})[_0x9adc('0x21')](function(){db[_0x9adc('0x8e')][_0x9adc('0x32')](_0x17b59b['toString'](),_0x97aa21)['then'](function(_0x1981f0){_0x20c568[_0x9adc('0x8f')]=_0x1981f0[_0x9adc('0x38')];if(_0x20c568[_0x9adc('0x8f')]===0x0)return[];return db[_0x9adc('0x8e')][_0x9adc('0x32')](_0x5ed810[_0x9adc('0x90')](),_0x97aa21)['then'](function(_0x2f3520){_0x41c892=_[_0x9adc('0x91')](_0x2f3520,'id');_0x97aa21=_['merge'](_0x97aa21,{'model':db[_0x9adc('0x2e')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x39894d[_0x9adc('0x32')]['fields']){_0x52a7ac[_0x9adc('0x36')][_0x9adc('0x2a')](function(_0x29a192){_0x116428[_0x9adc('0x40')]('i.'+_0x29a192);});}else{_0x116428['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x9adc('0x58'));_0x116428[_0x9adc('0x40')](_0x9adc('0x92'),'Account.key');_0x116428['field'](_0x9adc('0x93'),'Account.mandatoryDisposition');_0x116428['field'](_0x9adc('0x94'));_0x116428[_0x9adc('0x40')](_0x9adc('0x95'),_0x9adc('0x96'));_0x116428['field'](_0x9adc('0x97'),_0x9adc('0x98'));_0x116428[_0x9adc('0x40')]('c.email','Contact.email');_0x116428['field']('c.phone',_0x9adc('0x99'));_0x116428['field'](_0x9adc('0x9a'),_0x9adc('0x9b'));_0x116428['field']('c.fax',_0x9adc('0x9c'));_0x116428[_0x9adc('0x40')](_0x9adc('0x9d'),_0x9adc('0x9e'));_0x116428[_0x9adc('0x40')](_0x9adc('0x9f'),_0x9adc('0xa0'));_0x116428[_0x9adc('0x40')](_0x9adc('0xa1'),_0x9adc('0x2c'));}_0x116428['limit'](_0x52a7ac[_0x9adc('0x1b')]);_0x116428[_0x9adc('0x3a')](_0x52a7ac['offset']);return db[_0x9adc('0x8e')][_0x9adc('0x32')](_0x116428[_0x9adc('0x90')](),_0x97aa21);})[_0x9adc('0x21')](function(_0x35d6bc){_0x12af87[_0x9adc('0x3d')](_0x9adc('0xa2'),_[_0x9adc('0x26')](_0x35d6bc,'id'));return db[_0x9adc('0x8e')][_0x9adc('0x32')](_0x12af87[_0x9adc('0x90')](),_0x97aa21)[_0x9adc('0x21')](function(_0xc2f6a1){var _0x564f4c=_['groupBy'](_0xc2f6a1,_0x9adc('0xa3'));var _0x211c24=[];_0x35d6bc[_0x9adc('0x2a')](function(_0x338bd7){_0x211c24[_0x9adc('0x2b')](updateFaxInteraction(_0x338bd7,_0x41c892,_0x564f4c));});return BPromise[_0x9adc('0xa4')](_0x211c24);});});})[_0x9adc('0x21')](function(_0x1da4d4){_0x20c568[_0x9adc('0xa5')]=_0x1da4d4;return _0x20c568;})[_0x9adc('0x21')](respondWithFilteredResult(_0x27d906,_0x52a7ac));})[_0x9adc('0x2d')](handleError(_0x27d906,null));};exports[_0x9adc('0xa6')]=function(_0x11b488,_0x5c1531){var _0x148da8={'raw':![],'where':{'id':_0x11b488['params']['id']}},_0x4ac6b1={};_0x4ac6b1['model']=_[_0x9adc('0x33')](db['FaxInteraction'][_0x9adc('0x2f')]);_0x4ac6b1[_0x9adc('0x32')]=_['keys'](_0x11b488[_0x9adc('0x32')]);_0x4ac6b1[_0x9adc('0x34')]=_['intersection'](_0x4ac6b1['model'],_0x4ac6b1[_0x9adc('0x32')]);_0x148da8['attributes']=_[_0x9adc('0x35')](_0x4ac6b1[_0x9adc('0x31')],qs[_0x9adc('0x37')](_0x11b488[_0x9adc('0x32')][_0x9adc('0x37')]));_0x148da8[_0x9adc('0x36')]=_0x148da8[_0x9adc('0x36')][_0x9adc('0x38')]?_0x148da8[_0x9adc('0x36')]:_0x4ac6b1[_0x9adc('0x31')];if(_0x11b488[_0x9adc('0x32')][_0x9adc('0xa7')]){_0x148da8['include']=[{'all':!![]}];}_0x148da8=_[_0x9adc('0xa8')]({},_0x148da8,_0x11b488[_0x9adc('0xa9')]);return db['FaxInteraction'][_0x9adc('0xaa')](_0x148da8)[_0x9adc('0x21')](handleEntityNotFound(_0x5c1531,null))[_0x9adc('0x21')](respondWithResult(_0x5c1531,null))[_0x9adc('0x2d')](handleError(_0x5c1531,null));};exports[_0x9adc('0xab')]=function(_0x40fa15,_0x338e03){return db['FaxInteraction'][_0x9adc('0xab')](_0x40fa15['body'],{})[_0x9adc('0x21')](respondWithResult(_0x338e03,0xc9))[_0x9adc('0x2d')](handleError(_0x338e03,null));};exports[_0x9adc('0x20')]=function(_0x4f01e3,_0x5d4186){if(_0x4f01e3['body']['id']){delete _0x4f01e3[_0x9adc('0x6b')]['id'];}return db[_0x9adc('0x2e')][_0x9adc('0xaa')]({'where':{'id':_0x4f01e3[_0x9adc('0xac')]['id']}})[_0x9adc('0x21')](handleEntityNotFound(_0x5d4186,null))[_0x9adc('0x21')](saveUpdates(_0x4f01e3['body'],null))[_0x9adc('0x21')](respondWithResult(_0x5d4186,null))['catch'](handleError(_0x5d4186,null));};exports[_0x9adc('0xad')]=function(_0x475b02,_0x35b511){return db[_0x9adc('0x2e')]['find']({'where':{'id':_0x475b02[_0x9adc('0xac')]['id']}})['then'](handleEntityNotFound(_0x35b511,null))[_0x9adc('0x21')](removeEntity(_0x35b511,null))[_0x9adc('0x2d')](handleError(_0x35b511,null));};exports['describe']=function(_0x339adc,_0x35db4a){return db[_0x9adc('0x2e')][_0x9adc('0xae')]()['then'](respondWithResult(_0x35db4a,null))[_0x9adc('0x2d')](handleError(_0x35db4a,null));};exports['addMessage']=function(_0x2cbcf2,_0x1fbfc2,_0xe63f8a){return db[_0x9adc('0xaf')][_0x9adc('0xaa')]({'where':{'id':_0x2cbcf2[_0x9adc('0xac')]['id']}})['then'](handleEntityNotFound(_0x1fbfc2,null))[_0x9adc('0x21')](function(_0x4dd088){if(_0x4dd088){return _0x4dd088[_0x9adc('0xb0')](_0x2cbcf2['body'][_0x9adc('0xb1')],_[_0x9adc('0xb2')](_0x2cbcf2[_0x9adc('0x6b')],[_0x9adc('0xb1'),'id'])||{});}})[_0x9adc('0x21')](respondWithResult(_0x1fbfc2,null))[_0x9adc('0x2d')](handleError(_0x1fbfc2,null));};exports[_0x9adc('0xb3')]=function(_0x5f57ec,_0x2e6372,_0x3cd521){var _0x20e511={'raw':![],'where':{}};var _0x32fc82={};var _0xc6a2bc={'count':0x0,'rows':[]};return db[_0x9adc('0x2e')][_0x9adc('0xb4')]({'where':{'id':_0x5f57ec['params']['id']}})[_0x9adc('0x21')](handleEntityNotFound(_0x2e6372,null))[_0x9adc('0x21')](function(_0x1a3a3d){if(_0x1a3a3d){_0x32fc82['model']=_[_0x9adc('0x33')](db['FaxMessage']['rawAttributes']);_0x32fc82[_0x9adc('0x32')]=_['keys'](_0x5f57ec[_0x9adc('0x32')]);_0x32fc82[_0x9adc('0x34')]=_[_0x9adc('0x35')](_0x32fc82[_0x9adc('0x31')],_0x32fc82[_0x9adc('0x32')]);_0x20e511[_0x9adc('0x36')]=_[_0x9adc('0x35')](_0x32fc82[_0x9adc('0x31')],qs[_0x9adc('0x37')](_0x5f57ec[_0x9adc('0x32')][_0x9adc('0x37')]));_0x20e511['attributes']=_0x20e511[_0x9adc('0x36')][_0x9adc('0x38')]?_0x20e511[_0x9adc('0x36')]:_0x32fc82[_0x9adc('0x31')];if(!_0x5f57ec[_0x9adc('0x32')][_0x9adc('0x39')](_0x9adc('0xb5'))){_0x20e511[_0x9adc('0x1b')]=qs[_0x9adc('0x1b')](_0x5f57ec[_0x9adc('0x32')][_0x9adc('0x1b')]);_0x20e511[_0x9adc('0x3a')]=qs[_0x9adc('0x3a')](_0x5f57ec['query']['offset']);}_0x20e511[_0x9adc('0x3b')]=qs[_0x9adc('0x3c')](_0x5f57ec[_0x9adc('0x32')][_0x9adc('0x3c')]);_0x20e511[_0x9adc('0x3d')]=qs['filters'](_['pick'](_0x5f57ec[_0x9adc('0x32')],_0x32fc82[_0x9adc('0x34')]));_0x20e511[_0x9adc('0x3d')][_0x9adc('0xa3')]=_0x1a3a3d['id'];if(_0x5f57ec[_0x9adc('0x32')]['filter']){_0x20e511[_0x9adc('0x3d')]=_['merge'](_0x20e511['where'],{'$or':_[_0x9adc('0x26')](_0x20e511[_0x9adc('0x36')],function(_0x4fe018){var _0x50d8ef={};_0x50d8ef[_0x4fe018]={'$like':'%'+_0x5f57ec[_0x9adc('0x32')][_0x9adc('0x7c')]+'%'};return _0x50d8ef;})});}if(_0x5f57ec[_0x9adc('0x32')][_0x9adc('0x73')]){var _0x5312b0=_0x5f57ec[_0x9adc('0x32')]['$gte'][_0x9adc('0x29')](',');var _0x5a3ea2={};_0x5a3ea2[_0x5312b0[0x0]]={'$gte':moment(_0x5312b0[0x1])['format'](_0x9adc('0xb6'))};_0x20e511[_0x9adc('0x3d')]=_[_0x9adc('0xa8')](_0x20e511['where'],_0x5a3ea2);}_0x20e511=_[_0x9adc('0xa8')]({},_0x20e511,_0x5f57ec[_0x9adc('0xa9')]);return db[_0x9adc('0xaf')][_0x9adc('0x8f')]({'where':_0x20e511[_0x9adc('0x3d')]})['then'](function(_0x26b5eb){_0xc6a2bc[_0x9adc('0x8f')]=_0x26b5eb;if(_0x5f57ec[_0x9adc('0x32')][_0x9adc('0xa7')]){_0x20e511[_0x9adc('0xb7')]=[{'all':!![]}];}return db[_0x9adc('0xaf')][_0x9adc('0xb8')](_0x20e511);})[_0x9adc('0x21')](function(_0x5db283){_0xc6a2bc[_0x9adc('0xa5')]=_0x5db283;return _0xc6a2bc;});}})['then'](respondWithFilteredResult(_0x2e6372,_0x20e511))['catch'](handleError(_0x2e6372,null));};exports['addTags']=function(_0x4680f6,_0x492762,_0x4a463e){return db[_0x9adc('0x2e')][_0x9adc('0xaa')]({'where':{'id':_0x4680f6[_0x9adc('0xac')]['id']}})[_0x9adc('0x21')](handleEntityNotFound(_0x492762,null))[_0x9adc('0x21')](function(_0x21e007){if(_0x21e007){return _0x21e007[_0x9adc('0xb9')](_0x4680f6[_0x9adc('0x6b')][_0x9adc('0xb1')],_[_0x9adc('0xb2')](_0x4680f6['body'],[_0x9adc('0xb1'),'id'])||{})[_0x9adc('0xba')](function(){return db['Tag']['findAll']({'attributes':['id',_0x9adc('0x24'),_0x9adc('0xbb')],'where':{'id':_0x4680f6[_0x9adc('0x6b')]['ids']}});})[_0x9adc('0x21')](function(_0x349865){socket[_0x9adc('0xbc')](_0x9adc('0xbd'),{'id':Number(_0x4680f6['params']['id']),'tags':_0x349865||[]});return{'id':Number(_0x4680f6[_0x9adc('0xac')]['id']),'tags':_0x349865||[]};});}})['then'](respondWithResult(_0x492762,null))[_0x9adc('0x2d')](handleError(_0x492762,null));};exports[_0x9adc('0xbe')]=function(_0x14735a,_0x396231,_0x3f9b42){return db[_0x9adc('0x2e')][_0x9adc('0xaa')]({'where':{'id':_0x14735a['params']['id']}})[_0x9adc('0x21')](handleEntityNotFound(_0x396231,null))[_0x9adc('0x21')](function(_0x3dceea){if(_0x3dceea){return _0x3dceea[_0x9adc('0xbe')](_0x14735a[_0x9adc('0x32')][_0x9adc('0xb1')]);}})['then'](respondWithStatusCode(_0x396231,null))['catch'](handleError(_0x396231,null));};exports[_0x9adc('0xbf')]=function(_0xd753bd,_0x2fee9b){var _0x1d52c0=moment()[_0x9adc('0xc0')]()[_0x9adc('0x90')]();var _0x366bef=path[_0x9adc('0xc1')](config[_0x9adc('0xc2')],_0x9adc('0xc3'),_0x9adc('0xc4'),'tmp');var _0xf1a168=path[_0x9adc('0xc1')](config[_0x9adc('0xc2')],_0x9adc('0xc3'),_0x9adc('0xc4'),_0x9adc('0xc5'));var _0x5be0b6=path[_0x9adc('0xc1')](_0x366bef,_0x1d52c0);var _0x51b379=util[_0x9adc('0xc6')](_0x9adc('0xc7'),_0xd753bd[_0x9adc('0xac')]['id'],_0x1d52c0);var _0x52e7d8=path['join'](_0x366bef,_0x51b379);var _0x4e19c6=[];_0x4e19c6['push']({'model':db[_0x9adc('0xc8')],'as':_0x9adc('0xc8'),'raw':!![]});var _0x2688eb=[{'model':db[_0x9adc('0xaf')],'as':_0x9adc('0xc9'),'attributes':['id',_0x9adc('0x6b'),_0x9adc('0xca')],'include':_0x4e19c6}];return db['FaxInteraction']['find']({'where':{'id':_0xd753bd[_0x9adc('0xac')]['id']},'include':_0x2688eb})[_0x9adc('0x21')](handleEntityNotFound(_0x2fee9b,null))[_0x9adc('0x21')](function(_0x177d17){if(_0x177d17&&_0x177d17[_0x9adc('0xc9')]){var _0xa17bae=_0x177d17['get']({'plain':!![]});fs['mkdirSync'](_0x5be0b6);for(var _0x1d5d45=0x0;_0x1d5d45<_0xa17bae[_0x9adc('0xc9')][_0x9adc('0x38')];_0x1d5d45++){var _0x34999d=_0xa17bae['Messages'][_0x1d5d45][_0x9adc('0xc8')];if(_0x34999d){var _0x16cc14=path[_0x9adc('0xc1')](_0xf1a168,_0x34999d[_0x9adc('0xcb')]);if(fs[_0x9adc('0xcc')](_0x16cc14)){fs[_0x9adc('0xcd')](_0x16cc14)[_0x9adc('0xce')](fs[_0x9adc('0xcf')](path[_0x9adc('0xc1')](_0x5be0b6,_0x34999d['basename'])));}}}return BPromise[_0x9adc('0x8a')]()[_0x9adc('0x21')](function(){return new BPromise(function(_0x2a7271,_0x4a9554){zipdir(_0x5be0b6,{'saveTo':_0x52e7d8},function(_0x2408e2,_0x596fa6){if(_0x2408e2)return _0x4a9554(_0x2408e2);return _0x2a7271(_0x596fa6);});})[_0x9adc('0x21')](function(){return new BPromise(function(_0x53352e,_0x124567){rimraf(_0x5be0b6,function(_0x57d701){if(_0x57d701)_0x124567(_0x57d701);return _0x53352e();});});})['then'](function(){return _0x2fee9b['download'](_0x52e7d8,_0x51b379,function(_0x5472fd){if(_0x5472fd){console[_0x9adc('0xd0')](_0x9adc('0xd1'),_0x5472fd);}else{fs[_0x9adc('0xd2')](_0x52e7d8);}});});});}else{return _0x2fee9b[_0x9adc('0xd3')](0xc8);}})[_0x9adc('0x2d')](handleError(_0x2fee9b,null));};