b568ebc4ba32bd418ac76d6262c56acf1597ce75
[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 _0xf725=['html-pdf','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','to-csv','ejs','lodash','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','register','sendStatus','status','json','count','limit','apply','reject','save','update','destroy','error','name','send','Users','map','TagIds','Tags','split','forEach','push','then','catch','index','FaxInteraction','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','filters','select','field','color','from','u.fullname','ui.FaxInteractionId','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','fax_accounts','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','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','text','end','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','start','some','compact','i.FaxAccountId\x20IN\x20?','concat','createdAt','$gte','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','group','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','isEmpty','t.id\x20IN\x20?','resolve','FaxAccountId','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.FaxAccountId\x20IS\x20NULL','toString','keyBy','merge','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','contactName','i.*','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','sequelize','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all','rows','show','params','rawAttributes','includeAll','include','options','create','body','find','describe','addMessage','FaxMessage','ids','omit','getMessages','findOne','format','addTags','setTags','spread','findAll','emit','faxInteractionTags:save','removeTags','download','join','server','files','tmp','attachments','Attachment','Messages','get','basename','createReadStream','pipe','createWriteStream','err'];(function(_0xfb0cfd,_0x500179){var _0x2fd8aa=function(_0xccb501){while(--_0xccb501){_0xfb0cfd['push'](_0xfb0cfd['shift']());}};_0x2fd8aa(++_0x500179);}(_0xf725,0xd0));var _0x5f72=function(_0x37cfb9,_0x2f30f1){_0x37cfb9=_0x37cfb9-0x0;var _0x357907=_0xf725[_0x37cfb9];return _0x357907;};'use strict';var pdf=require(_0x5f72('0x0'));var emlformat=require(_0x5f72('0x1'));var rimraf=require(_0x5f72('0x2'));var zipdir=require(_0x5f72('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5f72('0x4'));var moment=require('moment');var BPromise=require(_0x5f72('0x5'));var Mustache=require(_0x5f72('0x6'));var util=require(_0x5f72('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x5f72('0x8'));var ejs=require(_0x5f72('0x9'));var fs=require('fs');var _=require(_0x5f72('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x5f72('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x5f72('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x5f72('0xc'));var authService=require(_0x5f72('0xd'));var qs=require(_0x5f72('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5f72('0xf'));var logger=require(_0x5f72('0x10'))(_0x5f72('0x11'));var utils=require(_0x5f72('0x12'));var config=require(_0x5f72('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x5f72('0x14'))['db'];config['redis']=_['defaults'](config[_0x5f72('0x15')],{'host':_0x5f72('0x16'),'port':0x18eb});var socket=require(_0x5f72('0x17'))(new Redis(config[_0x5f72('0x15')]));require('./faxInteraction.socket')[_0x5f72('0x18')](socket);function respondWithStatusCode(_0x5b832f,_0x47569b){_0x47569b=_0x47569b||0xcc;return function(_0x2df9b8){if(_0x2df9b8){return _0x5b832f[_0x5f72('0x19')](_0x47569b);}return _0x5b832f[_0x5f72('0x1a')](_0x47569b)['end']();};}function respondWithResult(_0x29293b,_0x3710b6){_0x3710b6=_0x3710b6||0xc8;return function(_0x37e0d8){if(_0x37e0d8){return _0x29293b[_0x5f72('0x1a')](_0x3710b6)[_0x5f72('0x1b')](_0x37e0d8);}};}function respondWithFilteredResult(_0x482ff9,_0x5596bf){return function(_0x5cb8d1){if(_0x5cb8d1){var _0x379bb7=_0x5cb8d1[_0x5f72('0x1c')],_0x531121=_0x5596bf['offset'],_0x1607ef=_0x5596bf['offset']+_0x5596bf[_0x5f72('0x1d')],_0x3d0358;if(_0x1607ef>=_0x379bb7){_0x1607ef=_0x379bb7;_0x3d0358=0xc8;}else{_0x3d0358=0xce;}_0x482ff9[_0x5f72('0x1a')](_0x3d0358);return _0x482ff9['set']('Content-Range',_0x531121+'-'+_0x1607ef+'/'+_0x379bb7)[_0x5f72('0x1b')](_0x5cb8d1);}return null;};}function patchUpdates(_0x41f199){return function(_0x1e0836){try{jsonpatch[_0x5f72('0x1e')](_0x1e0836,_0x41f199,!![]);}catch(_0xdadd52){return BPromise[_0x5f72('0x1f')](_0xdadd52);}return _0x1e0836[_0x5f72('0x20')]();};}function saveUpdates(_0x2342ce,_0x2a0678){return function(_0x11f03e){if(_0x11f03e){return _0x11f03e[_0x5f72('0x21')](_0x2342ce)['then'](function(_0x3e87f1){return _0x3e87f1;});}return null;};}function removeEntity(_0x28ce0e,_0x298a57){return function(_0x763083){if(_0x763083){return _0x763083[_0x5f72('0x22')]()['then'](function(){_0x28ce0e[_0x5f72('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x25f20d,_0x198172){return function(_0x28cb7a){if(!_0x28cb7a){_0x25f20d[_0x5f72('0x19')](0x194);}return _0x28cb7a;};}function handleError(_0x15823c,_0x538fde){_0x538fde=_0x538fde||0x1f4;return function(_0x14ecb5){logger[_0x5f72('0x23')](_0x14ecb5['stack']);if(_0x14ecb5[_0x5f72('0x24')]){delete _0x14ecb5['name'];}_0x15823c['status'](_0x538fde)[_0x5f72('0x25')](_0x14ecb5);};}function getInteractionUsers(_0x16e40b,_0x2e089f){return new BPromise(function(_0x323d61,_0x353c1a){try{if(_0x2e089f[_0x16e40b['id']]){_0x16e40b[_0x5f72('0x26')]=_[_0x5f72('0x27')](_0x2e089f[_0x16e40b['id']],function(_0xcfe35d){return{'id':_0xcfe35d['id'],'fullname':_0xcfe35d['fullname']};});}}catch(_0x21c6f7){_0x353c1a(_0x21c6f7);}_0x323d61(_0x16e40b);});}function getInteractionTags(_0x242a56,_0x48eca6){return new BPromise(function(_0x42ee96,_0x25f4f0){try{if(_0x242a56[_0x5f72('0x28')]){_0x242a56[_0x5f72('0x29')]=[];_0x242a56['TagIds'][_0x5f72('0x2a')](',')[_0x5f72('0x2b')](function(_0x1fd3a7){_0x242a56[_0x5f72('0x29')][_0x5f72('0x2c')](_0x48eca6[_0x1fd3a7]);});}delete _0x242a56['TagIds'];}catch(_0x48492d){_0x25f4f0(_0x48492d);}_0x42ee96(_0x242a56);});}function updateFaxInteraction(_0x333bf0,_0x168c38,_0x19ad35){return new BPromise(function(_0x396682,_0x27913e){return getInteractionUsers(_0x333bf0,_0x19ad35)['then'](function(_0x4776f1){return getInteractionTags(_0x4776f1,_0x168c38);})[_0x5f72('0x2d')](function(_0x37ab93){_0x396682(_0x37ab93);})[_0x5f72('0x2e')](function(_0x216387){_0x27913e(_0x216387);});});}exports[_0x5f72('0x2f')]=function(_0x3a6eba,_0x388c92){var _0x232824={},_0xf41b84={},_0x44be81={'count':0x0,'rows':[]};var _0x216bba=_[_0x5f72('0x27')](db[_0x5f72('0x30')]['rawAttributes'],function(_0x532ca8){return{'name':_0x532ca8['fieldName'],'type':_0x532ca8[_0x5f72('0x31')][_0x5f72('0x32')]};});_0xf41b84[_0x5f72('0x33')]=_[_0x5f72('0x27')](_0x216bba,_0x5f72('0x24'));_0xf41b84[_0x5f72('0x34')]=_[_0x5f72('0x35')](_0x3a6eba[_0x5f72('0x34')]);_0xf41b84['filters']=_[_0x5f72('0x36')](_0xf41b84['model'],_0xf41b84[_0x5f72('0x34')]);_0x232824[_0x5f72('0x37')]=_[_0x5f72('0x36')](_0xf41b84[_0x5f72('0x33')],qs['fields'](_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x38')]));_0x232824[_0x5f72('0x37')]=_0x232824[_0x5f72('0x37')][_0x5f72('0x39')]?_0x232824[_0x5f72('0x37')]:_0xf41b84[_0x5f72('0x33')];if(!_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x3a')](_0x5f72('0x3b'))){_0x232824[_0x5f72('0x1d')]=qs['limit'](_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x1d')]);_0x232824[_0x5f72('0x3c')]=qs[_0x5f72('0x3c')](_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x3c')]);}_0x232824[_0x5f72('0x3d')]=qs['sort'](_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x3e')]);_0x232824[_0x5f72('0x3f')]=qs['filters'](_[_0x5f72('0x40')](_0x3a6eba[_0x5f72('0x34')],_0xf41b84[_0x5f72('0x41')]),_0x216bba);var _0x508b6a=[];var _0x4d50c1=squel[_0x5f72('0x42')]()[_0x5f72('0x43')]('id')[_0x5f72('0x43')]('name')[_0x5f72('0x43')](_0x5f72('0x44'))[_0x5f72('0x45')]('tools_tags');var _0x4c14ce=squel[_0x5f72('0x42')]()[_0x5f72('0x43')]('u.id')[_0x5f72('0x43')](_0x5f72('0x46'))[_0x5f72('0x43')](_0x5f72('0x47'))[_0x5f72('0x45')]('user_has_fax_interactions','ui')[_0x5f72('0x48')](_0x5f72('0x49'),'u',_0x5f72('0x4a'));var _0x1be684=squel[_0x5f72('0x42')]()[_0x5f72('0x45')]('fax_interactions','i')['left_join'](_0x5f72('0x4b'),'c',_0x5f72('0x4c'))[_0x5f72('0x48')](_0x5f72('0x49'),'o','o.id\x20=\x20i.UserId')[_0x5f72('0x48')](_0x5f72('0x4d'),'a','a.id\x20=\x20i.FaxAccountId')[_0x5f72('0x48')](_0x5f72('0x4e'),'me',_0x5f72('0x4f'))[_0x5f72('0x48')](_0x5f72('0x50'),'it',_0x5f72('0x51'))[_0x5f72('0x48')]('tools_tags','t',_0x5f72('0x52'));var _0x44b937=squel[_0x5f72('0x53')]();var _0x2de364=[];var _0xbdfc4b=squel[_0x5f72('0x53')]();var _0x2e5dbb;if(_0x3a6eba['query'][_0x5f72('0x54')]){_0x2e5dbb=as[_0x5f72('0x55')](_0x3a6eba[_0x5f72('0x34')]['search']);var _0x24a7fc=_0x2e5dbb[_0x5f72('0x56')];for(var _0x378346=0x0;_0x378346<_0x2e5dbb[_0x5f72('0x57')][_0x5f72('0x39')];_0x378346++){var _0x3523c1=_0x2e5dbb[_0x5f72('0x57')][_0x378346];var _0x655ddc='i';var _0x18f3e2=_['find'](_0x216bba,[_0x5f72('0x24'),_0x3523c1['field']]);if(!_0x18f3e2){switch(_0x3523c1[_0x5f72('0x43')]){case _0x5f72('0x58'):if(_0x3523c1[_0x5f72('0x59')]==0x1){_0x1be684[_0x5f72('0x5a')]('`'+_0x3523c1[_0x5f72('0x43')]+_0x5f72('0x5b'));}else{_0x1be684[_0x5f72('0x5a')]('`'+_0x3523c1[_0x5f72('0x43')]+_0x5f72('0x5c'));}break;case _0x5f72('0x5d'):if(_0x3523c1[_0x5f72('0x5e')]===_0x5f72('0x5f')){if(_0x3523c1[_0x5f72('0x59')][_0x5f72('0x2a')]('\x20')[_0x5f72('0x39')]>0x1){_0x44b937[_0x24a7fc](_0x5f72('0x60'),qs[_0x5f72('0x61')](_0x3523c1[_0x5f72('0x59')]),null);}else{var _0x38c1d9='%'+_0x3523c1['value']+'%';_0x44b937[_0x24a7fc](_0x5f72('0x62'),_0x38c1d9,_0x38c1d9,_0x38c1d9);}}else{_0x18f3e2=_['find'](_0x216bba,[_0x5f72('0x24'),_0x5f72('0x63')]);_0x3523c1[_0x5f72('0x43')]='ContactId';_0x3a9f88=as[_0x5f72('0x64')](_0x655ddc,_0x18f3e2['type'],_0x3523c1);_0x44b937[_0x24a7fc](_0x3a9f88[_0x5f72('0x65')],_0x3a9f88[_0x5f72('0x59')]['start'],_0x3a9f88['value'][_0x5f72('0x66')]);}break;case _0x5f72('0x67'):var _0x511f2f=_0x3523c1[_0x5f72('0x59')]['split'](',')['map'](function(_0x1c5c53){return Number(_0x1c5c53);});_0x511f2f[_0x5f72('0x2b')](function(_0x2580c7){_0xbdfc4b['or'](_0x5f72('0x68'),'%,'+_0x2580c7+',%');});_0x2de364=_[_0x5f72('0x69')](_0x2de364,_0x511f2f);break;case _0x5f72('0x6a'):if(_0x3523c1[_0x5f72('0x5e')]===_0x5f72('0x5f')){_0x44b937[_0x24a7fc](_0x5f72('0x6b'),'%'+_0x3523c1[_0x5f72('0x59')]+'%',null);}else{_0x18f3e2=_['find'](_0x216bba,[_0x5f72('0x24'),'UserId']);_0x3523c1[_0x5f72('0x43')]='UserId';_0x3a9f88=as[_0x5f72('0x64')](_0x655ddc,_0x18f3e2[_0x5f72('0x31')],_0x3523c1);_0x44b937[_0x24a7fc](_0x3a9f88[_0x5f72('0x65')],_0x3a9f88[_0x5f72('0x59')]['start'],_0x3a9f88['value'][_0x5f72('0x66')]);}break;case'body':_0x3a9f88=as[_0x5f72('0x64')]('me',null,_0x3523c1);_0x44b937[_0x24a7fc](_0x3a9f88['text'],_0x3a9f88[_0x5f72('0x59')][_0x5f72('0x6c')],_0x3a9f88[_0x5f72('0x59')]['end']);break;}}else{var _0x3a9f88=as[_0x5f72('0x64')](_0x655ddc,_0x18f3e2[_0x5f72('0x31')],_0x3523c1);_0x44b937[_0x24a7fc](_0x3a9f88['text'],_0x3a9f88[_0x5f72('0x59')][_0x5f72('0x6c')],_0x3a9f88['value'][_0x5f72('0x66')]);}}}else{var _0x34f0bd=_(_0x3a6eba[_0x5f72('0x34')])[_0x5f72('0x35')]()[_0x5f72('0x27')](function(_0x401243){return _[_0x5f72('0x6d')](_0x216bba,[_0x5f72('0x24'),_0x401243])?_0x401243:undefined;})[_0x5f72('0x6e')]()[_0x5f72('0x59')]();if(!_['isEmpty'](_0x34f0bd)){_0x34f0bd[_0x5f72('0x2b')](function(_0x522672){if(_0x522672==='FaxAccountId'){_0x1be684[_0x5f72('0x3f')](_0x5f72('0x6f'),[][_0x5f72('0x70')](_0x3a6eba[_0x5f72('0x34')][_0x522672]));}else if(_0x522672===_0x5f72('0x71')){var _0x7006c3=JSON['parse'](_0x3a6eba[_0x5f72('0x34')][_0x522672])[_0x5f72('0x72')];var _0x55e36f=JSON[_0x5f72('0x73')](_0x3a6eba[_0x5f72('0x34')][_0x522672])[_0x5f72('0x74')];_0x1be684[_0x5f72('0x3f')](_0x5f72('0x75'),_0x7006c3,_0x55e36f);}else{if(_0x3a6eba[_0x5f72('0x34')][_0x522672]===_0x5f72('0x76')){_0x1be684[_0x5f72('0x3f')]('i.'+_0x522672+_0x5f72('0x77'));}else{_0x1be684[_0x5f72('0x3f')]('i.'+_0x522672+'\x20=\x20?',_0x3a6eba[_0x5f72('0x34')][_0x522672]);}}});}if(_0x3a6eba[_0x5f72('0x34')]['read']){if(_0x3a6eba[_0x5f72('0x34')]['read']==0x1){_0x1be684[_0x5f72('0x5a')](_0x5f72('0x78'));}else{_0x1be684['having'](_0x5f72('0x79'));}}if(_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x7a')]){_0x2de364=_[_0x5f72('0x7b')](_0x3a6eba[_0x5f72('0x34')]['tag'])?_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x7a')]:new Array(_0x3a6eba['query'][_0x5f72('0x7a')]);_0x2de364['forEach'](function(_0x3af9db){_0xbdfc4b['or'](_0x5f72('0x68'),'%,'+_0x3af9db+',%');});}if(_0x3a6eba['query'][_0x5f72('0x7c')]){var _0xb9b1dc=_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x7c')][_0x5f72('0x7d')]('\x5c','\x5c\x5c')[_0x5f72('0x7d')](/'/g,'\x27\x27');if(qs[_0x5f72('0x7e')](_0xb9b1dc)){_0x44b937['or'](_0x5f72('0x7f'),_0xb9b1dc+'%')['or'](_0x5f72('0x80'),_0xb9b1dc+'%');}_0x44b937['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0xb9b1dc+'%');}}_0x1be684['where'](_0x44b937);_0x1be684[_0x5f72('0x81')]('i.id');var _0x28e192={'type':db['Sequelize'][_0x5f72('0x82')]['SELECT'],'raw':!![]};var _0x700e7=_0x1be684[_0x5f72('0x83')]();_0x700e7[_0x5f72('0x43')]('i.id');_0x700e7[_0x5f72('0x43')](_0x5f72('0x84'),'unreadMessages');if(_0x232824[_0x5f72('0x3d')]){_0x232824[_0x5f72('0x3d')][_0x5f72('0x2b')](function(_0x25df47){var _0x797beb=_0x25df47[0x0]==='contactName'?_0x25df47[0x0]:'i.'+_0x25df47[0x0];_0x1be684[_0x5f72('0x3d')](_0x797beb,_0x25df47[0x1]===_0x5f72('0x85')?![]:!![]);});}if(!_[_0x5f72('0x86')](_0x2de364)){_0x1be684[_0x5f72('0x5a')](_0xbdfc4b);_0x700e7[_0x5f72('0x3f')](_0x5f72('0x87'),_0x2de364);}BPromise[_0x5f72('0x88')]()[_0x5f72('0x2d')](function(){if(!_0x2e5dbb){if(_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x89')])return;_0x700e7['where'](_0x5f72('0x8a'));_0x1be684[_0x5f72('0x3f')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x3a6eba[_0x5f72('0x8b')][_0x5f72('0x8c')]!==_0x5f72('0x8d'))return;return _0x3a6eba[_0x5f72('0x8b')]['getFaxAccounts']({'attributes':['id'],'raw':!![]})[_0x5f72('0x2d')](function(_0x5921ad){if(_[_0x5f72('0x86')](_0x5921ad)){_0x700e7[_0x5f72('0x3f')](_0x5f72('0x8e'));_0x1be684[_0x5f72('0x3f')](_0x5f72('0x8e'));}else{_0x700e7['where'](_0x5f72('0x6f'),_[_0x5f72('0x27')](_0x5921ad,'id'));_0x1be684[_0x5f72('0x3f')](_0x5f72('0x6f'),_[_0x5f72('0x27')](_0x5921ad,'id'));}});})[_0x5f72('0x2d')](function(){if(_0x3a6eba[_0x5f72('0x8b')][_0x5f72('0x8c')]===_0x5f72('0x8d')&&!_0x2e5dbb&&!_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x89')])return[];return db['sequelize'][_0x5f72('0x34')](_0x700e7[_0x5f72('0x8f')](),_0x28e192);})[_0x5f72('0x2d')](function(_0x208bd7){_0x44be81['count']=_0x208bd7[_0x5f72('0x39')];if(_0x44be81[_0x5f72('0x1c')]===0x0)return[];return db['sequelize'][_0x5f72('0x34')](_0x4d50c1[_0x5f72('0x8f')](),_0x28e192)[_0x5f72('0x2d')](function(_0x37e903){_0x508b6a=_[_0x5f72('0x90')](_0x37e903,'id');_0x28e192=_[_0x5f72('0x91')](_0x28e192,{'model':db[_0x5f72('0x30')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3a6eba[_0x5f72('0x34')][_0x5f72('0x38')]){_0x232824[_0x5f72('0x37')][_0x5f72('0x2b')](function(_0x24aa05){_0x1be684['field']('i.'+_0x24aa05);});}else{_0x1be684[_0x5f72('0x43')](_0x5f72('0x84'),_0x5f72('0x58'));_0x1be684['field']('a.key',_0x5f72('0x92'));_0x1be684[_0x5f72('0x43')](_0x5f72('0x93'),_0x5f72('0x94'));_0x1be684[_0x5f72('0x43')](_0x5f72('0x95'),_0x5f72('0x96'));_0x1be684['field'](_0x5f72('0x97'));_0x1be684[_0x5f72('0x43')]('c.firstName',_0x5f72('0x98'));_0x1be684[_0x5f72('0x43')](_0x5f72('0x99'),_0x5f72('0x9a'));_0x1be684[_0x5f72('0x43')]('c.email',_0x5f72('0x9b'));_0x1be684['field'](_0x5f72('0x9c'),'Contact.phone');_0x1be684[_0x5f72('0x43')](_0x5f72('0x9d'),_0x5f72('0x9e'));_0x1be684[_0x5f72('0x43')](_0x5f72('0x9f'),_0x5f72('0xa0'));_0x1be684[_0x5f72('0x43')](_0x5f72('0xa1'),'Owner.fullname');_0x1be684['field']('o.internal',_0x5f72('0xa2'));_0x1be684[_0x5f72('0x43')](_0x5f72('0xa3'),_0x5f72('0x28'));}if(_0x232824[_0x5f72('0x1d')])_0x1be684['limit'](_0x232824['limit']);if(_0x232824[_0x5f72('0x3c')])_0x1be684[_0x5f72('0x3c')](_0x232824[_0x5f72('0x3c')]);return db[_0x5f72('0xa4')][_0x5f72('0x34')](_0x1be684[_0x5f72('0x8f')](),_0x28e192);})[_0x5f72('0x2d')](function(_0x495d96){_0x4c14ce['where'](_0x5f72('0xa5'),_[_0x5f72('0x27')](_0x495d96,'id'));return db['sequelize'][_0x5f72('0x34')](_0x4c14ce['toString'](),_0x28e192)[_0x5f72('0x2d')](function(_0x10a7ac){var _0x42999c=_[_0x5f72('0xa6')](_0x10a7ac,_0x5f72('0xa7'));var _0x4c57cb=[];_0x495d96['forEach'](function(_0x284adb){_0x4c57cb['push'](updateFaxInteraction(_0x284adb,_0x508b6a,_0x42999c));});return BPromise[_0x5f72('0xa8')](_0x4c57cb);});});})[_0x5f72('0x2d')](function(_0x6d62c7){_0x44be81[_0x5f72('0xa9')]=_0x6d62c7;return _0x44be81;})[_0x5f72('0x2d')](respondWithFilteredResult(_0x388c92,_0x232824))[_0x5f72('0x2e')](handleError(_0x388c92,null));};exports[_0x5f72('0xaa')]=function(_0x391af4,_0x1d2f8f){var _0x3be3cf={'raw':![],'where':{'id':_0x391af4[_0x5f72('0xab')]['id']}},_0xdab5b3={};_0xdab5b3['model']=_[_0x5f72('0x35')](db[_0x5f72('0x30')][_0x5f72('0xac')]);_0xdab5b3['query']=_[_0x5f72('0x35')](_0x391af4[_0x5f72('0x34')]);_0xdab5b3['filters']=_['intersection'](_0xdab5b3[_0x5f72('0x33')],_0xdab5b3['query']);_0x3be3cf[_0x5f72('0x37')]=_['intersection'](_0xdab5b3[_0x5f72('0x33')],qs[_0x5f72('0x38')](_0x391af4[_0x5f72('0x34')][_0x5f72('0x38')]));_0x3be3cf['attributes']=_0x3be3cf[_0x5f72('0x37')]['length']?_0x3be3cf[_0x5f72('0x37')]:_0xdab5b3[_0x5f72('0x33')];if(_0x391af4['query'][_0x5f72('0xad')]){_0x3be3cf[_0x5f72('0xae')]=[{'all':!![]}];}_0x3be3cf=_[_0x5f72('0x91')]({},_0x3be3cf,_0x391af4[_0x5f72('0xaf')]);return db[_0x5f72('0x30')]['find'](_0x3be3cf)[_0x5f72('0x2d')](handleEntityNotFound(_0x1d2f8f,null))[_0x5f72('0x2d')](respondWithResult(_0x1d2f8f,null))[_0x5f72('0x2e')](handleError(_0x1d2f8f,null));};exports[_0x5f72('0xb0')]=function(_0x15d91d,_0x50f7f5){return db[_0x5f72('0x30')][_0x5f72('0xb0')](_0x15d91d['body'],{})[_0x5f72('0x2d')](respondWithResult(_0x50f7f5,0xc9))[_0x5f72('0x2e')](handleError(_0x50f7f5,null));};exports[_0x5f72('0x21')]=function(_0x4a6b45,_0xe03f0f){if(_0x4a6b45[_0x5f72('0xb1')]['id']){delete _0x4a6b45[_0x5f72('0xb1')]['id'];}return db[_0x5f72('0x30')][_0x5f72('0xb2')]({'where':{'id':_0x4a6b45['params']['id']}})[_0x5f72('0x2d')](handleEntityNotFound(_0xe03f0f,null))['then'](saveUpdates(_0x4a6b45[_0x5f72('0xb1')],null))[_0x5f72('0x2d')](respondWithResult(_0xe03f0f,null))[_0x5f72('0x2e')](handleError(_0xe03f0f,null));};exports[_0x5f72('0x22')]=function(_0x6fa3c8,_0x4fdc05){return db[_0x5f72('0x30')][_0x5f72('0xb2')]({'where':{'id':_0x6fa3c8[_0x5f72('0xab')]['id']}})[_0x5f72('0x2d')](handleEntityNotFound(_0x4fdc05,null))[_0x5f72('0x2d')](removeEntity(_0x4fdc05,null))['catch'](handleError(_0x4fdc05,null));};exports[_0x5f72('0xb3')]=function(_0x2b0785,_0x473b85){return db[_0x5f72('0x30')][_0x5f72('0xb3')]()['then'](respondWithResult(_0x473b85,null))['catch'](handleError(_0x473b85,null));};exports[_0x5f72('0xb4')]=function(_0x1d1820,_0x5c791d,_0x26c3b0){return db[_0x5f72('0xb5')][_0x5f72('0xb2')]({'where':{'id':_0x1d1820[_0x5f72('0xab')]['id']}})[_0x5f72('0x2d')](handleEntityNotFound(_0x5c791d,null))[_0x5f72('0x2d')](function(_0x11cb22){if(_0x11cb22){return _0x11cb22[_0x5f72('0xb4')](_0x1d1820['body'][_0x5f72('0xb6')],_[_0x5f72('0xb7')](_0x1d1820[_0x5f72('0xb1')],[_0x5f72('0xb6'),'id'])||{});}})[_0x5f72('0x2d')](respondWithResult(_0x5c791d,null))['catch'](handleError(_0x5c791d,null));};exports[_0x5f72('0xb8')]=function(_0x2e6b44,_0x5dc52f,_0x22b41a){var _0x325f4b={'raw':![],'where':{}};var _0x4cc5ba={};var _0x30be2a={'count':0x0,'rows':[]};return db['FaxInteraction'][_0x5f72('0xb9')]({'where':{'id':_0x2e6b44['params']['id']}})[_0x5f72('0x2d')](handleEntityNotFound(_0x5dc52f,null))[_0x5f72('0x2d')](function(_0xf6952f){if(_0xf6952f){_0x4cc5ba[_0x5f72('0x33')]=_[_0x5f72('0x35')](db[_0x5f72('0xb5')][_0x5f72('0xac')]);_0x4cc5ba['query']=_[_0x5f72('0x35')](_0x2e6b44[_0x5f72('0x34')]);_0x4cc5ba[_0x5f72('0x41')]=_[_0x5f72('0x36')](_0x4cc5ba[_0x5f72('0x33')],_0x4cc5ba['query']);_0x325f4b[_0x5f72('0x37')]=_['intersection'](_0x4cc5ba['model'],qs[_0x5f72('0x38')](_0x2e6b44[_0x5f72('0x34')]['fields']));_0x325f4b[_0x5f72('0x37')]=_0x325f4b[_0x5f72('0x37')][_0x5f72('0x39')]?_0x325f4b['attributes']:_0x4cc5ba[_0x5f72('0x33')];if(!_0x2e6b44[_0x5f72('0x34')][_0x5f72('0x3a')](_0x5f72('0x3b'))){_0x325f4b['limit']=qs[_0x5f72('0x1d')](_0x2e6b44[_0x5f72('0x34')][_0x5f72('0x1d')]);_0x325f4b[_0x5f72('0x3c')]=qs[_0x5f72('0x3c')](_0x2e6b44[_0x5f72('0x34')][_0x5f72('0x3c')]);}_0x325f4b['order']=qs[_0x5f72('0x3e')](_0x2e6b44['query'][_0x5f72('0x3e')]);_0x325f4b[_0x5f72('0x3f')]=qs['filters'](_['pick'](_0x2e6b44[_0x5f72('0x34')],_0x4cc5ba[_0x5f72('0x41')]));_0x325f4b[_0x5f72('0x3f')]['FaxInteractionId']=_0xf6952f['id'];if(_0x2e6b44[_0x5f72('0x34')]['filter']){_0x325f4b['where']=_[_0x5f72('0x91')](_0x325f4b[_0x5f72('0x3f')],{'$or':_[_0x5f72('0x27')](_0x325f4b[_0x5f72('0x37')],function(_0xdcb993){var _0x40919d={};_0x40919d[_0xdcb993]={'$like':'%'+_0x2e6b44['query'][_0x5f72('0x7c')]+'%'};return _0x40919d;})});}if(_0x2e6b44[_0x5f72('0x34')]['$gte']){var _0x4f2372=_0x2e6b44[_0x5f72('0x34')][_0x5f72('0x72')][_0x5f72('0x2a')](',');var _0x271740={};_0x271740[_0x4f2372[0x0]]={'$gte':moment(_0x4f2372[0x1])[_0x5f72('0xba')]('YYYY-MM-DD\x20HH:mm:ss')};_0x325f4b[_0x5f72('0x3f')]=_[_0x5f72('0x91')](_0x325f4b[_0x5f72('0x3f')],_0x271740);}_0x325f4b=_[_0x5f72('0x91')]({},_0x325f4b,_0x2e6b44['options']);return db[_0x5f72('0xb5')]['count']({'where':_0x325f4b[_0x5f72('0x3f')]})[_0x5f72('0x2d')](function(_0x327c50){_0x30be2a[_0x5f72('0x1c')]=_0x327c50;if(_0x2e6b44['query']['includeAll']){_0x325f4b[_0x5f72('0xae')]=[{'all':!![]}];}return db[_0x5f72('0xb5')]['findAll'](_0x325f4b);})[_0x5f72('0x2d')](function(_0x287ddb){_0x30be2a[_0x5f72('0xa9')]=_0x287ddb;return _0x30be2a;});}})[_0x5f72('0x2d')](respondWithFilteredResult(_0x5dc52f,_0x325f4b))[_0x5f72('0x2e')](handleError(_0x5dc52f,null));};exports[_0x5f72('0xbb')]=function(_0xe41529,_0x4809be,_0x257cce){return db[_0x5f72('0x30')][_0x5f72('0xb2')]({'where':{'id':_0xe41529[_0x5f72('0xab')]['id']}})['then'](handleEntityNotFound(_0x4809be,null))['then'](function(_0x1b66e1){if(_0x1b66e1){return _0x1b66e1[_0x5f72('0xbc')](_0xe41529['body'][_0x5f72('0xb6')],_[_0x5f72('0xb7')](_0xe41529[_0x5f72('0xb1')],[_0x5f72('0xb6'),'id'])||{})[_0x5f72('0xbd')](function(){return db[_0x5f72('0x67')][_0x5f72('0xbe')]({'attributes':['id','name',_0x5f72('0x44')],'where':{'id':_0xe41529[_0x5f72('0xb1')]['ids']}});})[_0x5f72('0x2d')](function(_0x955170){socket[_0x5f72('0xbf')](_0x5f72('0xc0'),{'id':Number(_0xe41529['params']['id']),'tags':_0x955170||[]});return{'id':Number(_0xe41529['params']['id']),'tags':_0x955170||[]};});}})['then'](respondWithResult(_0x4809be,null))[_0x5f72('0x2e')](handleError(_0x4809be,null));};exports[_0x5f72('0xc1')]=function(_0x35b879,_0x1cb785,_0x14efff){return db['FaxInteraction']['find']({'where':{'id':_0x35b879[_0x5f72('0xab')]['id']}})[_0x5f72('0x2d')](handleEntityNotFound(_0x1cb785,null))[_0x5f72('0x2d')](function(_0xe6372b){if(_0xe6372b){return _0xe6372b['removeTags'](_0x35b879['query'][_0x5f72('0xb6')]);}})['then'](respondWithStatusCode(_0x1cb785,null))[_0x5f72('0x2e')](handleError(_0x1cb785,null));};exports[_0x5f72('0xc2')]=function(_0x4b2c29,_0x27833f){var _0x3321e9=moment()['unix']()[_0x5f72('0x8f')]();var _0x6444c2=path[_0x5f72('0xc3')](config['root'],_0x5f72('0xc4'),_0x5f72('0xc5'),_0x5f72('0xc6'));var _0x3c8657=path['join'](config['root'],_0x5f72('0xc4'),_0x5f72('0xc5'),_0x5f72('0xc7'));var _0x354ac4=path[_0x5f72('0xc3')](_0x6444c2,_0x3321e9);var _0x2e2da7=util[_0x5f72('0xba')]('transcript-%d-%s.zip',_0x4b2c29[_0x5f72('0xab')]['id'],_0x3321e9);var _0x21e6ae=path['join'](_0x6444c2,_0x2e2da7);var _0x55bd39=[];_0x55bd39[_0x5f72('0x2c')]({'model':db[_0x5f72('0xc8')],'as':_0x5f72('0xc8'),'raw':!![]});var _0x23d76a=[{'model':db[_0x5f72('0xb5')],'as':'Messages','attributes':['id',_0x5f72('0xb1'),_0x5f72('0x71')],'include':_0x55bd39}];return db[_0x5f72('0x30')]['find']({'where':{'id':_0x4b2c29[_0x5f72('0xab')]['id']},'include':_0x23d76a})['then'](handleEntityNotFound(_0x27833f,null))[_0x5f72('0x2d')](function(_0x4224d1){if(_0x4224d1&&_0x4224d1[_0x5f72('0xc9')]){var _0x2ddd1d=_0x4224d1[_0x5f72('0xca')]({'plain':!![]});fs['mkdirSync'](_0x354ac4);for(var _0x4fde34=0x0;_0x4fde34<_0x2ddd1d[_0x5f72('0xc9')][_0x5f72('0x39')];_0x4fde34++){var _0x19ae57=_0x2ddd1d[_0x5f72('0xc9')][_0x4fde34]['Attachment'];if(_0x19ae57){var _0x461078=path[_0x5f72('0xc3')](_0x3c8657,_0x19ae57[_0x5f72('0xcb')]);if(fs['existsSync'](_0x461078)){fs[_0x5f72('0xcc')](_0x461078)[_0x5f72('0xcd')](fs[_0x5f72('0xce')](path['join'](_0x354ac4,_0x19ae57[_0x5f72('0xcb')])));}}}return BPromise[_0x5f72('0x88')]()['then'](function(){return new BPromise(function(_0x23544a,_0x18821e){zipdir(_0x354ac4,{'saveTo':_0x21e6ae},function(_0x3ee35c,_0x5c40ef){if(_0x3ee35c)return _0x18821e(_0x3ee35c);return _0x23544a(_0x5c40ef);});})[_0x5f72('0x2d')](function(){return new BPromise(function(_0x59820a,_0x416250){rimraf(_0x354ac4,function(_0x530050){if(_0x530050)_0x416250(_0x530050);return _0x59820a();});});})[_0x5f72('0x2d')](function(){return _0x27833f[_0x5f72('0xc2')](_0x21e6ae,_0x2e2da7,function(_0x1e3289){if(_0x1e3289){console['log'](_0x5f72('0xcf'),_0x1e3289);}else{fs['unlinkSync'](_0x21e6ae);}});});});}else{return _0x27833f[_0x5f72('0x19')](0xc8);}})[_0x5f72('0x2e')](handleError(_0x27833f,null));};