1de4057f88c9cf1091a157f35e7679d1c0b578af
[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 _0x57f8=['crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./faxInteraction.socket','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','then','destroy','error','name','send','Users','map','fullname','TagIds','Tags','forEach','push','catch','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','from','u.id','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','fax_accounts','fax_messages','me.FaxInteractionId\x20=\x20i.id','it.FaxInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','parseSearch','search','sqlOperator','conditions','unreadMessages','value','having','`\x20>\x200','Contact','operator','$substring','split','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','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','find','UserId','body','some','isEmpty','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','filter','replace','\x27\x27\x27\x27','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','group','i.id','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','resolve','journey','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','toString','keyBy','FaxInteraction','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','FaxInteractionId','rows','rawAttributes','includeAll','merge','create','update','params','describe','addMessage','FaxMessage','ids','omit','YYYY-MM-DD\x20HH:mm:ss','options','findAll','addTags','setTags','spread','color','faxInteractionTags:save','removeTags','unix','join','root','server','files','tmp','format','transcript-%d-%s.zip','Attachment','Messages','get','basename','existsSync','createReadStream','pipe','createWriteStream','download','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel'];(function(_0x3a308f,_0x3b39b5){var _0x1eaf93=function(_0x48501c){while(--_0x48501c){_0x3a308f['push'](_0x3a308f['shift']());}};_0x1eaf93(++_0x3b39b5);}(_0x57f8,0x198));var _0x857f=function(_0x6f2ce5,_0x4231eb){_0x6f2ce5=_0x6f2ce5-0x0;var _0x28a54a=_0x57f8[_0x6f2ce5];return _0x28a54a;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x857f('0x0'));var rimraf=require(_0x857f('0x1'));var zipdir=require(_0x857f('0x2'));var jsonpatch=require(_0x857f('0x3'));var rp=require(_0x857f('0x4'));var moment=require(_0x857f('0x5'));var BPromise=require(_0x857f('0x6'));var Mustache=require(_0x857f('0x7'));var util=require(_0x857f('0x8'));var path=require(_0x857f('0x9'));var sox=require(_0x857f('0xa'));var csv=require(_0x857f('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x857f('0xc'));var squel=require(_0x857f('0xd'));var crypto=require(_0x857f('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x857f('0xf'));var toCsv=require(_0x857f('0xb'));var querystring=require(_0x857f('0x10'));var Papa=require('papaparse');var Redis=require(_0x857f('0x11'));var authService=require(_0x857f('0x12'));var qs=require(_0x857f('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x857f('0x14'));var logger=require(_0x857f('0x15'))(_0x857f('0x16'));var utils=require(_0x857f('0x17'));var config=require(_0x857f('0x18'));var db=require(_0x857f('0x19'))['db'];config[_0x857f('0x1a')]=_['defaults'](config[_0x857f('0x1a')],{'host':_0x857f('0x1b'),'port':0x18eb});var socket=require(_0x857f('0x1c'))(new Redis(config[_0x857f('0x1a')]));require(_0x857f('0x1d'))['register'](socket);function respondWithStatusCode(_0x4bc590,_0x3b09d9){_0x3b09d9=_0x3b09d9||0xcc;return function(_0x5f27b2){if(_0x5f27b2){return _0x4bc590[_0x857f('0x1e')](_0x3b09d9);}return _0x4bc590['status'](_0x3b09d9)[_0x857f('0x1f')]();};}function respondWithResult(_0x134a4f,_0x5c3a69){_0x5c3a69=_0x5c3a69||0xc8;return function(_0x27e8f1){if(_0x27e8f1){return _0x134a4f[_0x857f('0x20')](_0x5c3a69)[_0x857f('0x21')](_0x27e8f1);}};}function respondWithFilteredResult(_0x10b547,_0x279e74){return function(_0x38a3c2){if(_0x38a3c2){var _0x1a9ef8=_0x38a3c2[_0x857f('0x22')],_0x429e23=_0x279e74['offset'],_0x1014ca=_0x279e74[_0x857f('0x23')]+_0x279e74[_0x857f('0x24')],_0x38a242;if(_0x1014ca>=_0x1a9ef8){_0x1014ca=_0x1a9ef8;_0x38a242=0xc8;}else{_0x38a242=0xce;}_0x10b547['status'](_0x38a242);return _0x10b547[_0x857f('0x25')](_0x857f('0x26'),_0x429e23+'-'+_0x1014ca+'/'+_0x1a9ef8)[_0x857f('0x21')](_0x38a3c2);}return null;};}function patchUpdates(_0x484035){return function(_0x57fa8b){try{jsonpatch[_0x857f('0x27')](_0x57fa8b,_0x484035,!![]);}catch(_0x8f278){return BPromise[_0x857f('0x28')](_0x8f278);}return _0x57fa8b['save']();};}function saveUpdates(_0x118237,_0x17a98e){return function(_0xdf8ac3){if(_0xdf8ac3){return _0xdf8ac3['update'](_0x118237)[_0x857f('0x29')](function(_0x14a8ce){return _0x14a8ce;});}return null;};}function removeEntity(_0x50bfb7,_0x3bc543){return function(_0x1a651f){if(_0x1a651f){return _0x1a651f[_0x857f('0x2a')]()[_0x857f('0x29')](function(){_0x50bfb7[_0x857f('0x20')](0xcc)[_0x857f('0x1f')]();});}};}function handleEntityNotFound(_0x233a68,_0x2a89ba){return function(_0x181a9e){if(!_0x181a9e){_0x233a68[_0x857f('0x1e')](0x194);}return _0x181a9e;};}function handleError(_0x72f0aa,_0x4782ab){_0x4782ab=_0x4782ab||0x1f4;return function(_0x250731){logger[_0x857f('0x2b')](_0x250731['stack']);if(_0x250731[_0x857f('0x2c')]){delete _0x250731[_0x857f('0x2c')];}_0x72f0aa[_0x857f('0x20')](_0x4782ab)[_0x857f('0x2d')](_0x250731);};}function getInteractionUsers(_0x58c2de,_0x40c306){return new BPromise(function(_0x57ceaa,_0x1b405a){try{if(_0x40c306[_0x58c2de['id']]){_0x58c2de[_0x857f('0x2e')]=_[_0x857f('0x2f')](_0x40c306[_0x58c2de['id']],function(_0x2ab814){return{'id':_0x2ab814['id'],'fullname':_0x2ab814[_0x857f('0x30')]};});}}catch(_0x464e8f){_0x1b405a(_0x464e8f);}_0x57ceaa(_0x58c2de);});}function getInteractionTags(_0x1c4fff,_0xe79241){return new BPromise(function(_0x17e7b6,_0x41f832){try{if(_0x1c4fff[_0x857f('0x31')]){_0x1c4fff[_0x857f('0x32')]=[];_0x1c4fff[_0x857f('0x31')]['split'](',')[_0x857f('0x33')](function(_0x24d370){_0x1c4fff['Tags'][_0x857f('0x34')](_0xe79241[_0x24d370]);});}delete _0x1c4fff[_0x857f('0x31')];}catch(_0x537ba1){_0x41f832(_0x537ba1);}_0x17e7b6(_0x1c4fff);});}function updateFaxInteraction(_0x2262c6,_0x3ee1f7,_0x4c9157){return new BPromise(function(_0x109f76,_0x3c9c75){return getInteractionUsers(_0x2262c6,_0x4c9157)[_0x857f('0x29')](function(_0x2cc74e){return getInteractionTags(_0x2cc74e,_0x3ee1f7);})['then'](function(_0x596b2f){_0x109f76(_0x596b2f);})[_0x857f('0x35')](function(_0x385d7b){_0x3c9c75(_0x385d7b);});});}exports['index']=function(_0x26d2b5,_0x4d3a87){var _0x1ff000={},_0x365bc2={},_0x677deb={'count':0x0,'rows':[]};var _0x438ff1=_[_0x857f('0x2f')](db['FaxInteraction']['rawAttributes'],function(_0x10f99d){return{'name':_0x10f99d['fieldName'],'type':_0x10f99d[_0x857f('0x36')][_0x857f('0x37')]};});_0x365bc2[_0x857f('0x38')]=_['map'](_0x438ff1,_0x857f('0x2c'));_0x365bc2[_0x857f('0x39')]=_[_0x857f('0x3a')](_0x26d2b5[_0x857f('0x39')]);_0x365bc2[_0x857f('0x3b')]=_[_0x857f('0x3c')](_0x365bc2[_0x857f('0x38')],_0x365bc2['query']);_0x1ff000[_0x857f('0x3d')]=_[_0x857f('0x3c')](_0x365bc2[_0x857f('0x38')],qs[_0x857f('0x3e')](_0x26d2b5[_0x857f('0x39')][_0x857f('0x3e')]));_0x1ff000[_0x857f('0x3d')]=_0x1ff000['attributes'][_0x857f('0x3f')]?_0x1ff000[_0x857f('0x3d')]:_0x365bc2[_0x857f('0x38')];if(!_0x26d2b5[_0x857f('0x39')][_0x857f('0x40')](_0x857f('0x41'))){_0x1ff000['limit']=qs[_0x857f('0x24')](_0x26d2b5[_0x857f('0x39')][_0x857f('0x24')]);_0x1ff000[_0x857f('0x23')]=qs[_0x857f('0x23')](_0x26d2b5[_0x857f('0x39')][_0x857f('0x23')]);}_0x1ff000[_0x857f('0x42')]=qs['sort'](_0x26d2b5[_0x857f('0x39')][_0x857f('0x43')]);_0x1ff000[_0x857f('0x44')]=qs[_0x857f('0x3b')](_[_0x857f('0x45')](_0x26d2b5[_0x857f('0x39')],_0x365bc2[_0x857f('0x3b')]),_0x438ff1);var _0x42d922=[];var _0xb4d7c2=squel[_0x857f('0x46')]()[_0x857f('0x47')]('id')[_0x857f('0x47')](_0x857f('0x2c'))[_0x857f('0x47')]('color')[_0x857f('0x48')]('tools_tags');var _0x2ce1c0=squel[_0x857f('0x46')]()[_0x857f('0x47')](_0x857f('0x49'))[_0x857f('0x47')](_0x857f('0x4a'))[_0x857f('0x47')](_0x857f('0x4b'))[_0x857f('0x48')](_0x857f('0x4c'),'ui')[_0x857f('0x4d')]('users','u','u.id\x20=\x20ui.UserId');var _0x865fc2=squel['select']()[_0x857f('0x48')]('fax_interactions','i')[_0x857f('0x4d')](_0x857f('0x4e'),'c',_0x857f('0x4f'))[_0x857f('0x4d')](_0x857f('0x50'),'o',_0x857f('0x51'))[_0x857f('0x4d')](_0x857f('0x52'),'a','a.id\x20=\x20i.FaxAccountId')[_0x857f('0x4d')](_0x857f('0x53'),'me',_0x857f('0x54'))[_0x857f('0x4d')]('fax_interaction_has_tags','it',_0x857f('0x55'))[_0x857f('0x4d')](_0x857f('0x56'),'t',_0x857f('0x57'));var _0x67563=squel['expr']();var _0x3d28d9=[];var _0x3c1b39=squel['expr']();var _0xfd1679;if(_0x26d2b5[_0x857f('0x39')]['search']){_0xfd1679=as[_0x857f('0x58')](_0x26d2b5['query'][_0x857f('0x59')]);var _0x12b62c=_0xfd1679[_0x857f('0x5a')];for(var _0x2008d5=0x0;_0x2008d5<_0xfd1679[_0x857f('0x5b')][_0x857f('0x3f')];_0x2008d5++){var _0x256347=_0xfd1679[_0x857f('0x5b')][_0x2008d5];var _0x1ac191='i';var _0x6e39f4=_['find'](_0x438ff1,[_0x857f('0x2c'),_0x256347[_0x857f('0x47')]]);if(!_0x6e39f4){switch(_0x256347[_0x857f('0x47')]){case _0x857f('0x5c'):if(_0x256347[_0x857f('0x5d')]==0x1){_0x865fc2[_0x857f('0x5e')]('`'+_0x256347[_0x857f('0x47')]+'`\x20=\x200');}else{_0x865fc2[_0x857f('0x5e')]('`'+_0x256347[_0x857f('0x47')]+_0x857f('0x5f'));}break;case _0x857f('0x60'):if(_0x256347[_0x857f('0x61')]===_0x857f('0x62')){if(_0x256347['value'][_0x857f('0x63')]('\x20')[_0x857f('0x3f')]>0x1){_0x67563[_0x12b62c](_0x857f('0x64'),qs[_0x857f('0x65')](_0x256347[_0x857f('0x5d')]),null);}else{var _0x658eb0='%'+_0x256347[_0x857f('0x5d')]+'%';_0x67563[_0x12b62c](_0x857f('0x66'),_0x658eb0,_0x658eb0,_0x658eb0);}}else{_0x6e39f4=_['find'](_0x438ff1,['name',_0x857f('0x67')]);_0x256347[_0x857f('0x47')]=_0x857f('0x67');_0x36d746=as[_0x857f('0x68')](_0x1ac191,_0x6e39f4[_0x857f('0x36')],_0x256347);_0x67563[_0x12b62c](_0x36d746[_0x857f('0x69')],_0x36d746['value'][_0x857f('0x6a')],_0x36d746[_0x857f('0x5d')]['end']);}break;case _0x857f('0x6b'):var _0x5e3759=_0x256347[_0x857f('0x5d')][_0x857f('0x63')](',')['map'](function(_0x3f5a6e){return Number(_0x3f5a6e);});_0x5e3759[_0x857f('0x33')](function(_0x3520d3){_0x3c1b39['or'](_0x857f('0x6c'),'%,'+_0x3520d3+',%');});_0x3d28d9=_[_0x857f('0x6d')](_0x3d28d9,_0x5e3759);break;case _0x857f('0x6e'):if(_0x256347[_0x857f('0x61')]===_0x857f('0x62')){_0x67563[_0x12b62c]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x256347[_0x857f('0x5d')]+'%',null);}else{_0x6e39f4=_[_0x857f('0x6f')](_0x438ff1,[_0x857f('0x2c'),_0x857f('0x70')]);_0x256347[_0x857f('0x47')]=_0x857f('0x70');_0x36d746=as[_0x857f('0x68')](_0x1ac191,_0x6e39f4[_0x857f('0x36')],_0x256347);_0x67563[_0x12b62c](_0x36d746[_0x857f('0x69')],_0x36d746[_0x857f('0x5d')][_0x857f('0x6a')],_0x36d746['value'][_0x857f('0x1f')]);}break;case _0x857f('0x71'):_0x36d746=as[_0x857f('0x68')]('me',null,_0x256347);_0x67563[_0x12b62c](_0x36d746[_0x857f('0x69')],_0x36d746['value'][_0x857f('0x6a')],_0x36d746['value'][_0x857f('0x1f')]);break;}}else{var _0x36d746=as[_0x857f('0x68')](_0x1ac191,_0x6e39f4[_0x857f('0x36')],_0x256347);_0x67563[_0x12b62c](_0x36d746['text'],_0x36d746['value'][_0x857f('0x6a')],_0x36d746[_0x857f('0x5d')][_0x857f('0x1f')]);}}}else{var _0x49e7df=_(_0x26d2b5[_0x857f('0x39')])['keys']()[_0x857f('0x2f')](function(_0x1d6c1c){return _[_0x857f('0x72')](_0x438ff1,['name',_0x1d6c1c])?_0x1d6c1c:undefined;})['compact']()[_0x857f('0x5d')]();if(!_[_0x857f('0x73')](_0x49e7df)){_0x49e7df[_0x857f('0x33')](function(_0x570e3a){if(_0x570e3a===_0x857f('0x74')){_0x865fc2[_0x857f('0x44')](_0x857f('0x75'),[][_0x857f('0x76')](_0x26d2b5['query'][_0x570e3a]));}else if(_0x570e3a==='createdAt'){var _0x38c86b=JSON[_0x857f('0x77')](_0x26d2b5[_0x857f('0x39')][_0x570e3a])[_0x857f('0x78')];var _0x43ca9b=JSON[_0x857f('0x77')](_0x26d2b5['query'][_0x570e3a])[_0x857f('0x79')];_0x865fc2[_0x857f('0x44')](_0x857f('0x7a'),_0x38c86b,_0x43ca9b);}else{if(_0x26d2b5[_0x857f('0x39')][_0x570e3a]===_0x857f('0x7b')){_0x865fc2[_0x857f('0x44')]('i.'+_0x570e3a+_0x857f('0x7c'));}else{_0x865fc2[_0x857f('0x44')]('i.'+_0x570e3a+_0x857f('0x7d'),_0x26d2b5[_0x857f('0x39')][_0x570e3a]);}}});}if(_0x26d2b5['query'][_0x857f('0x7e')]){if(_0x26d2b5['query']['read']==0x1){_0x865fc2[_0x857f('0x5e')]('`unreadMessages`\x20=\x200');}else{_0x865fc2['having'](_0x857f('0x7f'));}}if(_0x26d2b5['query'][_0x857f('0x80')]){_0x3d28d9=_['isArray'](_0x26d2b5[_0x857f('0x39')][_0x857f('0x80')])?_0x26d2b5[_0x857f('0x39')][_0x857f('0x80')]:new Array(_0x26d2b5['query'][_0x857f('0x80')]);_0x3d28d9[_0x857f('0x33')](function(_0x3100aa){_0x3c1b39['or'](_0x857f('0x6c'),'%,'+_0x3100aa+',%');});}if(_0x26d2b5[_0x857f('0x39')][_0x857f('0x81')]){var _0x195760=_0x26d2b5['query']['filter'][_0x857f('0x82')]('\x5c','\x5c\x5c')[_0x857f('0x82')]('\x27\x27',_0x857f('0x83'));if(qs[_0x857f('0x84')](_0x195760)){_0x67563['or'](_0x857f('0x85'),_0x195760+'%')['or'](_0x857f('0x86'),_0x195760+'%');}_0x67563['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x195760+'%');}}_0x865fc2[_0x857f('0x44')](_0x67563);_0x865fc2[_0x857f('0x87')](_0x857f('0x88'));var _0x4fa8a8={'type':db['Sequelize'][_0x857f('0x89')]['SELECT'],'raw':!![]};var _0x4b07c5=_0x865fc2[_0x857f('0x8a')]();_0x4b07c5[_0x857f('0x47')]('i.id');_0x4b07c5[_0x857f('0x47')](_0x857f('0x8b'),'unreadMessages');if(_0x1ff000[_0x857f('0x42')]){_0x1ff000[_0x857f('0x42')][_0x857f('0x33')](function(_0x2398df){_0x865fc2[_0x857f('0x42')]('i.'+_0x2398df[0x0],_0x2398df[0x1]===_0x857f('0x8c')?![]:!![]);});}if(!_[_0x857f('0x73')](_0x3d28d9)){_0x865fc2[_0x857f('0x5e')](_0x3c1b39);_0x4b07c5[_0x857f('0x44')](_0x857f('0x8d'),_0x3d28d9);}BPromise[_0x857f('0x8e')]()[_0x857f('0x29')](function(){if(!_0xfd1679){if(_0x26d2b5['query']['FaxAccountId']||_0x26d2b5['query'][_0x857f('0x8f')])return;_0x4b07c5[_0x857f('0x44')](_0x857f('0x90'));_0x865fc2[_0x857f('0x44')](_0x857f('0x90'));return;}return _0x26d2b5[_0x857f('0x91')][_0x857f('0x92')]({'attributes':['id'],'raw':!![]})['then'](function(_0x40077e){if(_['isEmpty'](_0x40077e)){_0x4b07c5[_0x857f('0x44')]('i.FaxAccountId\x20IS\x20NULL');_0x865fc2['where'](_0x857f('0x93'));}else{_0x4b07c5['where'](_0x857f('0x75'),_[_0x857f('0x2f')](_0x40077e,'id'));_0x865fc2[_0x857f('0x44')]('i.FaxAccountId\x20IN\x20?',_[_0x857f('0x2f')](_0x40077e,'id'));}});})[_0x857f('0x29')](function(){db[_0x857f('0x94')][_0x857f('0x39')](_0x4b07c5[_0x857f('0x95')](),_0x4fa8a8)[_0x857f('0x29')](function(_0x11b818){_0x677deb[_0x857f('0x22')]=_0x11b818[_0x857f('0x3f')];if(_0x677deb['count']===0x0)return[];return db[_0x857f('0x94')][_0x857f('0x39')](_0xb4d7c2[_0x857f('0x95')](),_0x4fa8a8)[_0x857f('0x29')](function(_0x5d61f3){_0x42d922=_[_0x857f('0x96')](_0x5d61f3,'id');_0x4fa8a8=_['merge'](_0x4fa8a8,{'model':db[_0x857f('0x97')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x26d2b5[_0x857f('0x39')][_0x857f('0x3e')]){_0x1ff000[_0x857f('0x3d')]['forEach'](function(_0x372df1){_0x865fc2['field']('i.'+_0x372df1);});}else{_0x865fc2['field'](_0x857f('0x8b'),_0x857f('0x5c'));_0x865fc2['field']('a.key',_0x857f('0x98'));_0x865fc2[_0x857f('0x47')](_0x857f('0x99'),_0x857f('0x9a'));_0x865fc2['field'](_0x857f('0x9b'));_0x865fc2[_0x857f('0x47')](_0x857f('0x9c'),_0x857f('0x9d'));_0x865fc2[_0x857f('0x47')]('c.lastName','Contact.lastName');_0x865fc2[_0x857f('0x47')]('c.email','Contact.email');_0x865fc2[_0x857f('0x47')](_0x857f('0x9e'),_0x857f('0x9f'));_0x865fc2[_0x857f('0x47')](_0x857f('0xa0'),_0x857f('0xa1'));_0x865fc2[_0x857f('0x47')](_0x857f('0xa2'),_0x857f('0xa3'));_0x865fc2[_0x857f('0x47')](_0x857f('0xa4'),_0x857f('0xa5'));_0x865fc2[_0x857f('0x47')](_0x857f('0xa6'),_0x857f('0xa7'));_0x865fc2[_0x857f('0x47')](_0x857f('0xa8'),_0x857f('0x31'));}if(_0x1ff000[_0x857f('0x24')])_0x865fc2[_0x857f('0x24')](_0x1ff000[_0x857f('0x24')]);if(_0x1ff000[_0x857f('0x23')])_0x865fc2['offset'](_0x1ff000['offset']);return db['sequelize'][_0x857f('0x39')](_0x865fc2[_0x857f('0x95')](),_0x4fa8a8);})['then'](function(_0x411fee){_0x2ce1c0[_0x857f('0x44')]('ui.FaxInteractionId\x20IN\x20?',_[_0x857f('0x2f')](_0x411fee,'id'));return db['sequelize'][_0x857f('0x39')](_0x2ce1c0['toString'](),_0x4fa8a8)[_0x857f('0x29')](function(_0x1e858f){var _0x429a2b=_[_0x857f('0xa9')](_0x1e858f,_0x857f('0xaa'));var _0x1b761b=[];_0x411fee[_0x857f('0x33')](function(_0x18a010){_0x1b761b[_0x857f('0x34')](updateFaxInteraction(_0x18a010,_0x42d922,_0x429a2b));});return BPromise['all'](_0x1b761b);});});})[_0x857f('0x29')](function(_0x5242d3){_0x677deb[_0x857f('0xab')]=_0x5242d3;return _0x677deb;})[_0x857f('0x29')](respondWithFilteredResult(_0x4d3a87,_0x1ff000));})['catch'](handleError(_0x4d3a87,null));};exports['show']=function(_0x4d9c25,_0x14ba78){var _0x3347ec={'raw':![],'where':{'id':_0x4d9c25['params']['id']}},_0x6ae65={};_0x6ae65[_0x857f('0x38')]=_['keys'](db[_0x857f('0x97')][_0x857f('0xac')]);_0x6ae65[_0x857f('0x39')]=_[_0x857f('0x3a')](_0x4d9c25['query']);_0x6ae65[_0x857f('0x3b')]=_[_0x857f('0x3c')](_0x6ae65['model'],_0x6ae65[_0x857f('0x39')]);_0x3347ec['attributes']=_[_0x857f('0x3c')](_0x6ae65[_0x857f('0x38')],qs[_0x857f('0x3e')](_0x4d9c25[_0x857f('0x39')][_0x857f('0x3e')]));_0x3347ec[_0x857f('0x3d')]=_0x3347ec[_0x857f('0x3d')][_0x857f('0x3f')]?_0x3347ec[_0x857f('0x3d')]:_0x6ae65['model'];if(_0x4d9c25[_0x857f('0x39')][_0x857f('0xad')]){_0x3347ec['include']=[{'all':!![]}];}_0x3347ec=_[_0x857f('0xae')]({},_0x3347ec,_0x4d9c25['options']);return db[_0x857f('0x97')]['find'](_0x3347ec)[_0x857f('0x29')](handleEntityNotFound(_0x14ba78,null))['then'](respondWithResult(_0x14ba78,null))[_0x857f('0x35')](handleError(_0x14ba78,null));};exports[_0x857f('0xaf')]=function(_0xcf40fe,_0xb1240d){return db[_0x857f('0x97')][_0x857f('0xaf')](_0xcf40fe['body'],{})[_0x857f('0x29')](respondWithResult(_0xb1240d,0xc9))['catch'](handleError(_0xb1240d,null));};exports[_0x857f('0xb0')]=function(_0x9ae2e6,_0x4906e6){if(_0x9ae2e6[_0x857f('0x71')]['id']){delete _0x9ae2e6[_0x857f('0x71')]['id'];}return db[_0x857f('0x97')]['find']({'where':{'id':_0x9ae2e6[_0x857f('0xb1')]['id']}})['then'](handleEntityNotFound(_0x4906e6,null))[_0x857f('0x29')](saveUpdates(_0x9ae2e6[_0x857f('0x71')],null))['then'](respondWithResult(_0x4906e6,null))[_0x857f('0x35')](handleError(_0x4906e6,null));};exports['destroy']=function(_0x2e349f,_0x333b8a){return db['FaxInteraction'][_0x857f('0x6f')]({'where':{'id':_0x2e349f[_0x857f('0xb1')]['id']}})[_0x857f('0x29')](handleEntityNotFound(_0x333b8a,null))['then'](removeEntity(_0x333b8a,null))[_0x857f('0x35')](handleError(_0x333b8a,null));};exports[_0x857f('0xb2')]=function(_0x42d10e,_0x1ea073){return db['FaxInteraction'][_0x857f('0xb2')]()[_0x857f('0x29')](respondWithResult(_0x1ea073,null))[_0x857f('0x35')](handleError(_0x1ea073,null));};exports[_0x857f('0xb3')]=function(_0x1ba225,_0x4f22d1,_0x5394a9){return db[_0x857f('0xb4')][_0x857f('0x6f')]({'where':{'id':_0x1ba225[_0x857f('0xb1')]['id']}})[_0x857f('0x29')](handleEntityNotFound(_0x4f22d1,null))[_0x857f('0x29')](function(_0x4f9468){if(_0x4f9468){return _0x4f9468['addMessage'](_0x1ba225[_0x857f('0x71')][_0x857f('0xb5')],_[_0x857f('0xb6')](_0x1ba225[_0x857f('0x71')],[_0x857f('0xb5'),'id'])||{});}})[_0x857f('0x29')](respondWithResult(_0x4f22d1,null))[_0x857f('0x35')](handleError(_0x4f22d1,null));};exports['getMessages']=function(_0x32f05c,_0x388d5c,_0x540d89){var _0xf69474={'raw':![],'where':{}};var _0x1d04e7={};var _0x548a34={'count':0x0,'rows':[]};return db[_0x857f('0x97')]['findOne']({'where':{'id':_0x32f05c[_0x857f('0xb1')]['id']}})[_0x857f('0x29')](handleEntityNotFound(_0x388d5c,null))[_0x857f('0x29')](function(_0x26f695){if(_0x26f695){_0x1d04e7[_0x857f('0x38')]=_['keys'](db[_0x857f('0xb4')][_0x857f('0xac')]);_0x1d04e7[_0x857f('0x39')]=_['keys'](_0x32f05c['query']);_0x1d04e7[_0x857f('0x3b')]=_[_0x857f('0x3c')](_0x1d04e7[_0x857f('0x38')],_0x1d04e7[_0x857f('0x39')]);_0xf69474[_0x857f('0x3d')]=_[_0x857f('0x3c')](_0x1d04e7['model'],qs['fields'](_0x32f05c['query']['fields']));_0xf69474[_0x857f('0x3d')]=_0xf69474[_0x857f('0x3d')][_0x857f('0x3f')]?_0xf69474[_0x857f('0x3d')]:_0x1d04e7[_0x857f('0x38')];if(!_0x32f05c[_0x857f('0x39')][_0x857f('0x40')]('nolimit')){_0xf69474[_0x857f('0x24')]=qs[_0x857f('0x24')](_0x32f05c[_0x857f('0x39')][_0x857f('0x24')]);_0xf69474['offset']=qs[_0x857f('0x23')](_0x32f05c[_0x857f('0x39')][_0x857f('0x23')]);}_0xf69474[_0x857f('0x42')]=qs[_0x857f('0x43')](_0x32f05c[_0x857f('0x39')][_0x857f('0x43')]);_0xf69474[_0x857f('0x44')]=qs['filters'](_[_0x857f('0x45')](_0x32f05c[_0x857f('0x39')],_0x1d04e7[_0x857f('0x3b')]));_0xf69474['where'][_0x857f('0xaa')]=_0x26f695['id'];if(_0x32f05c[_0x857f('0x39')][_0x857f('0x81')]){_0xf69474[_0x857f('0x44')]=_[_0x857f('0xae')](_0xf69474[_0x857f('0x44')],{'$or':_[_0x857f('0x2f')](_0xf69474[_0x857f('0x3d')],function(_0x5c5bf1){var _0x346906={};_0x346906[_0x5c5bf1]={'$like':'%'+_0x32f05c[_0x857f('0x39')]['filter']+'%'};return _0x346906;})});}if(_0x32f05c['query']['$gte']){var _0x2a43e2=_0x32f05c[_0x857f('0x39')][_0x857f('0x78')]['split'](',');var _0x3ca6b0={};_0x3ca6b0[_0x2a43e2[0x0]]={'$gte':moment(_0x2a43e2[0x1])['format'](_0x857f('0xb7'))};_0xf69474[_0x857f('0x44')]=_[_0x857f('0xae')](_0xf69474[_0x857f('0x44')],_0x3ca6b0);}_0xf69474=_[_0x857f('0xae')]({},_0xf69474,_0x32f05c[_0x857f('0xb8')]);return db['FaxMessage'][_0x857f('0x22')]({'where':_0xf69474[_0x857f('0x44')]})[_0x857f('0x29')](function(_0x1783d9){_0x548a34[_0x857f('0x22')]=_0x1783d9;if(_0x32f05c['query'][_0x857f('0xad')]){_0xf69474['include']=[{'all':!![]}];}return db[_0x857f('0xb4')][_0x857f('0xb9')](_0xf69474);})[_0x857f('0x29')](function(_0x2440f3){_0x548a34[_0x857f('0xab')]=_0x2440f3;return _0x548a34;});}})[_0x857f('0x29')](respondWithFilteredResult(_0x388d5c,_0xf69474))[_0x857f('0x35')](handleError(_0x388d5c,null));};exports[_0x857f('0xba')]=function(_0x16898b,_0x546e0e,_0x238041){return db[_0x857f('0x97')][_0x857f('0x6f')]({'where':{'id':_0x16898b[_0x857f('0xb1')]['id']}})[_0x857f('0x29')](handleEntityNotFound(_0x546e0e,null))['then'](function(_0x1df670){if(_0x1df670){return _0x1df670[_0x857f('0xbb')](_0x16898b[_0x857f('0x71')][_0x857f('0xb5')],_['omit'](_0x16898b[_0x857f('0x71')],[_0x857f('0xb5'),'id'])||{})[_0x857f('0xbc')](function(){return db['Tag'][_0x857f('0xb9')]({'attributes':['id',_0x857f('0x2c'),_0x857f('0xbd')],'where':{'id':_0x16898b[_0x857f('0x71')][_0x857f('0xb5')]}});})[_0x857f('0x29')](function(_0x178bfb){socket['emit'](_0x857f('0xbe'),{'id':Number(_0x16898b[_0x857f('0xb1')]['id']),'tags':_0x178bfb||[]});return{'id':Number(_0x16898b[_0x857f('0xb1')]['id']),'tags':_0x178bfb||[]};});}})[_0x857f('0x29')](respondWithResult(_0x546e0e,null))['catch'](handleError(_0x546e0e,null));};exports['removeTags']=function(_0x5e86c1,_0x58e14a,_0x2409b5){return db[_0x857f('0x97')]['find']({'where':{'id':_0x5e86c1[_0x857f('0xb1')]['id']}})[_0x857f('0x29')](handleEntityNotFound(_0x58e14a,null))[_0x857f('0x29')](function(_0x5c0183){if(_0x5c0183){return _0x5c0183[_0x857f('0xbf')](_0x5e86c1['query']['ids']);}})['then'](respondWithStatusCode(_0x58e14a,null))[_0x857f('0x35')](handleError(_0x58e14a,null));};exports['download']=function(_0x167f8a,_0x4c88a7){var _0x4b8b41=moment()[_0x857f('0xc0')]()[_0x857f('0x95')]();var _0x412ab5=path[_0x857f('0xc1')](config[_0x857f('0xc2')],_0x857f('0xc3'),_0x857f('0xc4'),_0x857f('0xc5'));var _0x4e40d7=path[_0x857f('0xc1')](config[_0x857f('0xc2')],_0x857f('0xc3'),_0x857f('0xc4'),'attachments');var _0x2fecee=path['join'](_0x412ab5,_0x4b8b41);var _0x38f34d=util[_0x857f('0xc6')](_0x857f('0xc7'),_0x167f8a[_0x857f('0xb1')]['id'],_0x4b8b41);var _0x4787e0=path[_0x857f('0xc1')](_0x412ab5,_0x38f34d);var _0xf9ccef=[];_0xf9ccef[_0x857f('0x34')]({'model':db[_0x857f('0xc8')],'as':_0x857f('0xc8'),'raw':!![]});var _0x4826a1=[{'model':db['FaxMessage'],'as':_0x857f('0xc9'),'attributes':['id',_0x857f('0x71'),'createdAt'],'include':_0xf9ccef}];return db[_0x857f('0x97')][_0x857f('0x6f')]({'where':{'id':_0x167f8a[_0x857f('0xb1')]['id']},'include':_0x4826a1})[_0x857f('0x29')](handleEntityNotFound(_0x4c88a7,null))[_0x857f('0x29')](function(_0x2fc56d){if(_0x2fc56d&&_0x2fc56d['Messages']){var _0x5724ef=_0x2fc56d[_0x857f('0xca')]({'plain':!![]});fs['mkdirSync'](_0x2fecee);for(var _0x49b297=0x0;_0x49b297<_0x5724ef['Messages'][_0x857f('0x3f')];_0x49b297++){var _0x54d2b7=_0x5724ef[_0x857f('0xc9')][_0x49b297][_0x857f('0xc8')];if(_0x54d2b7){var _0x6e9892=path[_0x857f('0xc1')](_0x4e40d7,_0x54d2b7[_0x857f('0xcb')]);if(fs[_0x857f('0xcc')](_0x6e9892)){fs[_0x857f('0xcd')](_0x6e9892)[_0x857f('0xce')](fs[_0x857f('0xcf')](path['join'](_0x2fecee,_0x54d2b7['basename'])));}}}return BPromise[_0x857f('0x8e')]()[_0x857f('0x29')](function(){return new BPromise(function(_0xfd5f8b,_0x188bb9){zipdir(_0x2fecee,{'saveTo':_0x4787e0},function(_0x5e3dca,_0x49e2ad){if(_0x5e3dca)return _0x188bb9(_0x5e3dca);return _0xfd5f8b(_0x49e2ad);});})[_0x857f('0x29')](function(){return new BPromise(function(_0x19e197,_0x502a32){rimraf(_0x2fecee,function(_0x401177){if(_0x401177)_0x502a32(_0x401177);return _0x19e197();});});})['then'](function(){return _0x4c88a7[_0x857f('0xd0')](_0x4787e0,_0x38f34d,function(_0x3ccb37){if(_0x3ccb37){console['log'](_0x857f('0xd1'),_0x3ccb37);}else{fs[_0x857f('0xd2')](_0x4787e0);}});});});}else{return _0x4c88a7['sendStatus'](0xc8);}})[_0x857f('0x35')](handleError(_0x4c88a7,null));};