1c80f8e6e75a249d854390e8d88cba2c79114885
[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 _0x1b85=['params','includeAll','include','create','describe','addMessage','ids','omit','getMessages','pick','format','YYYY-MM-DD\x20HH:mm:ss','options','FaxMessage','rows','setTags','spread','findAll','emit','faxInteractionTags:save','removeTags','join','root','server','files','attachments','transcript-%d-%s.zip','Attachment','Messages','mkdirSync','basename','existsSync','createReadStream','pipe','createWriteStream','download','log','err','unlinkSync','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','socket.io-emitter','./faxInteraction.socket','register','status','end','json','offset','limit','set','Content-Range','apply','reject','save','update','destroy','sendStatus','error','stack','name','send','Users','map','fullname','TagIds','split','forEach','then','catch','index','FaxInteraction','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','length','hasOwnProperty','nolimit','sort','where','select','field','color','from','tools_tags','u.id','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','left_join','u.id\x20=\x20ui.UserId','fax_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','a.id\x20=\x20i.FaxAccountId','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','`\x20=\x200','`\x20>\x200','Contact','$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','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','read','having','tag','filter','replace','\x27\x27\x27\x27','isNumeric','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','DESC','t.id\x20IN\x20?','resolve','journey','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','getFaxAccounts','isEmpty','i.FaxAccountId\x20IS\x20NULL','sequelize','toString','count','keyBy','merge','fields','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','c.email','c.phone','Contact.phone','Contact.fax','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','FaxInteractionId','all','show'];(function(_0x241d9b,_0x45d294){var _0x4e5a52=function(_0x35b39d){while(--_0x35b39d){_0x241d9b['push'](_0x241d9b['shift']());}};_0x4e5a52(++_0x45d294);}(_0x1b85,0x1d3));var _0x51b8=function(_0x2c5d4e,_0x6d5975){_0x2c5d4e=_0x2c5d4e-0x0;var _0xe27290=_0x1b85[_0x2c5d4e];return _0xe27290;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x51b8('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x51b8('0x1'));var jsonpatch=require(_0x51b8('0x2'));var rp=require(_0x51b8('0x3'));var moment=require(_0x51b8('0x4'));var BPromise=require(_0x51b8('0x5'));var Mustache=require(_0x51b8('0x6'));var util=require(_0x51b8('0x7'));var path=require(_0x51b8('0x8'));var sox=require(_0x51b8('0x9'));var csv=require(_0x51b8('0xa'));var ejs=require(_0x51b8('0xb'));var fs=require('fs');var _=require(_0x51b8('0xc'));var squel=require(_0x51b8('0xd'));var crypto=require('crypto');var jsforce=require(_0x51b8('0xe'));var deskjs=require(_0x51b8('0xf'));var toCsv=require(_0x51b8('0xa'));var querystring=require(_0x51b8('0x10'));var Papa=require(_0x51b8('0x11'));var Redis=require(_0x51b8('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x51b8('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x51b8('0x14'));var logger=require(_0x51b8('0x15'))(_0x51b8('0x16'));var utils=require(_0x51b8('0x17'));var config=require(_0x51b8('0x18'));var db=require(_0x51b8('0x19'))['db'];config['redis']=_['defaults'](config[_0x51b8('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0x51b8('0x1b'))(new Redis(config[_0x51b8('0x1a')]));require(_0x51b8('0x1c'))[_0x51b8('0x1d')](socket);function respondWithStatusCode(_0x589ea8,_0x575490){_0x575490=_0x575490||0xcc;return function(_0x1c84a1){if(_0x1c84a1){return _0x589ea8['sendStatus'](_0x575490);}return _0x589ea8[_0x51b8('0x1e')](_0x575490)[_0x51b8('0x1f')]();};}function respondWithResult(_0x3963c0,_0x2df933){_0x2df933=_0x2df933||0xc8;return function(_0x4d291c){if(_0x4d291c){return _0x3963c0['status'](_0x2df933)[_0x51b8('0x20')](_0x4d291c);}};}function respondWithFilteredResult(_0xf70a28,_0x3cdb4e){return function(_0x5d1622){if(_0x5d1622){var _0x5f5a7b=_0x5d1622['count'],_0x45d450=_0x3cdb4e[_0x51b8('0x21')],_0x4250a9=_0x3cdb4e['offset']+_0x3cdb4e[_0x51b8('0x22')],_0x2d3b75;if(_0x4250a9>=_0x5f5a7b){_0x4250a9=_0x5f5a7b;_0x2d3b75=0xc8;}else{_0x2d3b75=0xce;}_0xf70a28[_0x51b8('0x1e')](_0x2d3b75);return _0xf70a28[_0x51b8('0x23')](_0x51b8('0x24'),_0x45d450+'-'+_0x4250a9+'/'+_0x5f5a7b)[_0x51b8('0x20')](_0x5d1622);}return null;};}function patchUpdates(_0x353a41){return function(_0x5bc40e){try{jsonpatch[_0x51b8('0x25')](_0x5bc40e,_0x353a41,!![]);}catch(_0x5e241d){return BPromise[_0x51b8('0x26')](_0x5e241d);}return _0x5bc40e[_0x51b8('0x27')]();};}function saveUpdates(_0x54c9e4,_0x23f4ff){return function(_0x12e902){if(_0x12e902){return _0x12e902[_0x51b8('0x28')](_0x54c9e4)['then'](function(_0x336ed2){return _0x336ed2;});}return null;};}function removeEntity(_0xd38044,_0x12f234){return function(_0x21245d){if(_0x21245d){return _0x21245d[_0x51b8('0x29')]()['then'](function(){_0xd38044[_0x51b8('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5d1e63,_0x4940f9){return function(_0x28cfde){if(!_0x28cfde){_0x5d1e63[_0x51b8('0x2a')](0x194);}return _0x28cfde;};}function handleError(_0x315e4c,_0x2aca32){_0x2aca32=_0x2aca32||0x1f4;return function(_0x50f8ed){logger[_0x51b8('0x2b')](_0x50f8ed[_0x51b8('0x2c')]);if(_0x50f8ed[_0x51b8('0x2d')]){delete _0x50f8ed[_0x51b8('0x2d')];}_0x315e4c[_0x51b8('0x1e')](_0x2aca32)[_0x51b8('0x2e')](_0x50f8ed);};}function getInteractionUsers(_0xe55bf1,_0x462126){return new BPromise(function(_0x1dd62c,_0x195ce8){try{if(_0x462126[_0xe55bf1['id']]){_0xe55bf1[_0x51b8('0x2f')]=_[_0x51b8('0x30')](_0x462126[_0xe55bf1['id']],function(_0x1fc012){return{'id':_0x1fc012['id'],'fullname':_0x1fc012[_0x51b8('0x31')]};});}}catch(_0x2a7b05){_0x195ce8(_0x2a7b05);}_0x1dd62c(_0xe55bf1);});}function getInteractionTags(_0x1ab1bb,_0x176bbb){return new BPromise(function(_0xf865f4,_0x30eccc){try{if(_0x1ab1bb[_0x51b8('0x32')]){_0x1ab1bb['Tags']=[];_0x1ab1bb[_0x51b8('0x32')][_0x51b8('0x33')](',')[_0x51b8('0x34')](function(_0x39b530){_0x1ab1bb['Tags']['push'](_0x176bbb[_0x39b530]);});}delete _0x1ab1bb[_0x51b8('0x32')];}catch(_0x402252){_0x30eccc(_0x402252);}_0xf865f4(_0x1ab1bb);});}function updateFaxInteraction(_0x2482bd,_0x1a266d,_0x32eced){return new BPromise(function(_0x3eb8ee,_0x47ce05){return getInteractionUsers(_0x2482bd,_0x32eced)[_0x51b8('0x35')](function(_0x5ca16f){return getInteractionTags(_0x5ca16f,_0x1a266d);})['then'](function(_0x4964d3){_0x3eb8ee(_0x4964d3);})[_0x51b8('0x36')](function(_0x30d50f){_0x47ce05(_0x30d50f);});});}exports[_0x51b8('0x37')]=function(_0x3c5d2b,_0x4abeed){var _0x352eab={},_0x32ac13={},_0x2b8a4d={'count':0x0,'rows':[]};var _0x3b7bce=_[_0x51b8('0x30')](db[_0x51b8('0x38')][_0x51b8('0x39')],function(_0x27bde4){return{'name':_0x27bde4[_0x51b8('0x3a')],'type':_0x27bde4[_0x51b8('0x3b')][_0x51b8('0x3c')]};});_0x32ac13['model']=_[_0x51b8('0x30')](_0x3b7bce,_0x51b8('0x2d'));_0x32ac13[_0x51b8('0x3d')]=_[_0x51b8('0x3e')](_0x3c5d2b[_0x51b8('0x3d')]);_0x32ac13[_0x51b8('0x3f')]=_[_0x51b8('0x40')](_0x32ac13[_0x51b8('0x41')],_0x32ac13[_0x51b8('0x3d')]);_0x352eab[_0x51b8('0x42')]=_[_0x51b8('0x40')](_0x32ac13[_0x51b8('0x41')],qs['fields'](_0x3c5d2b[_0x51b8('0x3d')]['fields']));_0x352eab[_0x51b8('0x42')]=_0x352eab[_0x51b8('0x42')][_0x51b8('0x43')]?_0x352eab[_0x51b8('0x42')]:_0x32ac13[_0x51b8('0x41')];if(!_0x3c5d2b[_0x51b8('0x3d')][_0x51b8('0x44')](_0x51b8('0x45'))){_0x352eab[_0x51b8('0x22')]=qs['limit'](_0x3c5d2b[_0x51b8('0x3d')][_0x51b8('0x22')]);_0x352eab[_0x51b8('0x21')]=qs[_0x51b8('0x21')](_0x3c5d2b[_0x51b8('0x3d')][_0x51b8('0x21')]);}_0x352eab['order']=qs[_0x51b8('0x46')](_0x3c5d2b[_0x51b8('0x3d')]['sort']);_0x352eab[_0x51b8('0x47')]=qs['filters'](_['pick'](_0x3c5d2b[_0x51b8('0x3d')],_0x32ac13[_0x51b8('0x3f')]));var _0x5b5439=[];var _0x31ed58=squel[_0x51b8('0x48')]()['field']('id')[_0x51b8('0x49')](_0x51b8('0x2d'))[_0x51b8('0x49')](_0x51b8('0x4a'))[_0x51b8('0x4b')](_0x51b8('0x4c'));var _0x473f27=squel['select']()[_0x51b8('0x49')](_0x51b8('0x4d'))[_0x51b8('0x49')](_0x51b8('0x4e'))[_0x51b8('0x49')](_0x51b8('0x4f'))[_0x51b8('0x4b')](_0x51b8('0x50'),'ui')[_0x51b8('0x51')]('users','u',_0x51b8('0x52'));var _0x1b2da1=squel[_0x51b8('0x48')]()[_0x51b8('0x4b')](_0x51b8('0x53'),'i')[_0x51b8('0x51')]('cm_contacts','c',_0x51b8('0x54'))[_0x51b8('0x51')]('users','o',_0x51b8('0x55'))[_0x51b8('0x51')]('fax_accounts','a',_0x51b8('0x56'))[_0x51b8('0x51')](_0x51b8('0x57'),'me',_0x51b8('0x58'))['left_join'](_0x51b8('0x59'),'it','it.FaxInteractionId\x20=\x20i.id')[_0x51b8('0x51')](_0x51b8('0x4c'),'t',_0x51b8('0x5a'));var _0x4644a3=squel[_0x51b8('0x5b')]();var _0x4cfce0=[];var _0x44473f=squel[_0x51b8('0x5b')]();var _0x763dbb;if(_0x3c5d2b[_0x51b8('0x3d')][_0x51b8('0x5c')]){_0x763dbb=as[_0x51b8('0x5d')](_0x3c5d2b[_0x51b8('0x3d')][_0x51b8('0x5c')]);var _0x54d004=_0x763dbb[_0x51b8('0x5e')];for(var _0x7ba5b3=0x0;_0x7ba5b3<_0x763dbb[_0x51b8('0x5f')][_0x51b8('0x43')];_0x7ba5b3++){var _0x108ba2=_0x763dbb[_0x51b8('0x5f')][_0x7ba5b3];var _0x1cfb72='i';var _0x4a480c=_[_0x51b8('0x60')](_0x3b7bce,[_0x51b8('0x2d'),_0x108ba2[_0x51b8('0x49')]]);if(!_0x4a480c){switch(_0x108ba2['field']){case _0x51b8('0x61'):if(_0x108ba2[_0x51b8('0x62')]==0x1){_0x1b2da1['having']('`'+_0x108ba2[_0x51b8('0x49')]+_0x51b8('0x63'));}else{_0x1b2da1['having']('`'+_0x108ba2['field']+_0x51b8('0x64'));}break;case _0x51b8('0x65'):if(_0x108ba2['operator']===_0x51b8('0x66')){if(_0x108ba2[_0x51b8('0x62')][_0x51b8('0x33')]('\x20')[_0x51b8('0x43')]>0x1){_0x4644a3[_0x54d004](_0x51b8('0x67'),qs[_0x51b8('0x68')](_0x108ba2[_0x51b8('0x62')]),null);}else{var _0x3a6514='%'+_0x108ba2[_0x51b8('0x62')]+'%';_0x4644a3[_0x54d004](_0x51b8('0x69'),_0x3a6514,_0x3a6514,_0x3a6514);}}else{_0x4a480c=_[_0x51b8('0x60')](_0x3b7bce,[_0x51b8('0x2d'),_0x51b8('0x6a')]);_0x108ba2[_0x51b8('0x49')]=_0x51b8('0x6a');_0x5696c7=as[_0x51b8('0x6b')](_0x1cfb72,_0x4a480c[_0x51b8('0x3b')],_0x108ba2);_0x4644a3[_0x54d004](_0x5696c7[_0x51b8('0x6c')],_0x5696c7[_0x51b8('0x62')][_0x51b8('0x6d')],_0x5696c7[_0x51b8('0x62')][_0x51b8('0x1f')]);}break;case _0x51b8('0x6e'):var _0x4dfeb1=_0x108ba2[_0x51b8('0x62')]['split'](',')[_0x51b8('0x30')](function(_0x3c5892){return Number(_0x3c5892);});_0x4dfeb1[_0x51b8('0x34')](function(_0x263211){_0x44473f['or'](_0x51b8('0x6f'),'%,'+_0x263211+',%');});_0x4cfce0=_[_0x51b8('0x70')](_0x4cfce0,_0x4dfeb1);break;case'User':if(_0x108ba2[_0x51b8('0x71')]===_0x51b8('0x66')){_0x4644a3[_0x54d004](_0x51b8('0x72'),'%'+_0x108ba2[_0x51b8('0x62')]+'%',null);}else{_0x4a480c=_['find'](_0x3b7bce,[_0x51b8('0x2d'),_0x51b8('0x73')]);_0x108ba2[_0x51b8('0x49')]='UserId';_0x5696c7=as[_0x51b8('0x6b')](_0x1cfb72,_0x4a480c[_0x51b8('0x3b')],_0x108ba2);_0x4644a3[_0x54d004](_0x5696c7[_0x51b8('0x6c')],_0x5696c7[_0x51b8('0x62')][_0x51b8('0x6d')],_0x5696c7['value'][_0x51b8('0x1f')]);}break;case _0x51b8('0x74'):_0x5696c7=as[_0x51b8('0x6b')]('me',null,_0x108ba2);_0x4644a3[_0x54d004](_0x5696c7[_0x51b8('0x6c')],_0x5696c7['value'][_0x51b8('0x6d')],_0x5696c7[_0x51b8('0x62')][_0x51b8('0x1f')]);break;}}else{var _0x5696c7=as['buildExpression'](_0x1cfb72,_0x4a480c[_0x51b8('0x3b')],_0x108ba2);_0x4644a3[_0x54d004](_0x5696c7[_0x51b8('0x6c')],_0x5696c7[_0x51b8('0x62')]['start'],_0x5696c7[_0x51b8('0x62')][_0x51b8('0x1f')]);}}}else{var _0xb72f99=_(_0x3c5d2b[_0x51b8('0x3d')])[_0x51b8('0x3e')]()[_0x51b8('0x30')](function(_0x4aef48){return _[_0x51b8('0x75')](_0x3b7bce,[_0x51b8('0x2d'),_0x4aef48])?_0x4aef48:undefined;})['compact']()['value']();if(!_['isEmpty'](_0xb72f99)){_0xb72f99['forEach'](function(_0x37c39d){if(_0x37c39d===_0x51b8('0x76')){_0x1b2da1['where'](_0x51b8('0x77'),[][_0x51b8('0x78')](_0x3c5d2b[_0x51b8('0x3d')][_0x37c39d]));}else if(_0x37c39d===_0x51b8('0x79')){var _0x307613=JSON[_0x51b8('0x7a')](_0x3c5d2b[_0x51b8('0x3d')][_0x37c39d])[_0x51b8('0x7b')];var _0x9a140=JSON[_0x51b8('0x7a')](_0x3c5d2b[_0x51b8('0x3d')][_0x37c39d])[_0x51b8('0x7c')];_0x1b2da1[_0x51b8('0x47')](_0x51b8('0x7d'),_0x307613,_0x9a140);}else{if(_0x3c5d2b[_0x51b8('0x3d')][_0x37c39d]==='null'){_0x1b2da1[_0x51b8('0x47')]('i.'+_0x37c39d+_0x51b8('0x7e'));}else{_0x1b2da1['where']('i.'+_0x37c39d+'\x20=\x20?',_0x3c5d2b[_0x51b8('0x3d')][_0x37c39d]);}}});}if(_0x3c5d2b[_0x51b8('0x3d')]['read']){if(_0x3c5d2b['query'][_0x51b8('0x7f')]==0x1){_0x1b2da1['having']('`unreadMessages`\x20=\x200');}else{_0x1b2da1[_0x51b8('0x80')]('`unreadMessages`\x20>\x200');}}if(_0x3c5d2b[_0x51b8('0x3d')]['tag']){_0x4cfce0=_['isArray'](_0x3c5d2b[_0x51b8('0x3d')]['tag'])?_0x3c5d2b[_0x51b8('0x3d')][_0x51b8('0x81')]:new Array(_0x3c5d2b['query'][_0x51b8('0x81')]);_0x4cfce0[_0x51b8('0x34')](function(_0x4bfcd3){_0x44473f['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x4bfcd3+',%');});}if(_0x3c5d2b[_0x51b8('0x3d')]['filter']){var _0xc98c8e=_0x3c5d2b['query'][_0x51b8('0x82')][_0x51b8('0x83')]('\x5c','\x5c\x5c')[_0x51b8('0x83')]('\x27\x27',_0x51b8('0x84'));if(qs[_0x51b8('0x85')](_0xc98c8e)){_0x4644a3['or'](_0x51b8('0x86'),_0xc98c8e+'%')['or']('i.fax\x20LIKE\x20?',_0xc98c8e+'%');}_0x4644a3['or'](_0x51b8('0x87'),_0xc98c8e+'%');}}_0x1b2da1[_0x51b8('0x47')](_0x4644a3);_0x1b2da1[_0x51b8('0x88')](_0x51b8('0x89'));var _0x37d51f={'type':db[_0x51b8('0x8a')][_0x51b8('0x8b')]['SELECT'],'raw':!![]};var _0x31a408=_0x1b2da1[_0x51b8('0x8c')]();_0x31a408[_0x51b8('0x49')](_0x51b8('0x89'));_0x31a408['field'](_0x51b8('0x8d'),_0x51b8('0x61'));if(_0x352eab[_0x51b8('0x8e')]){_0x352eab[_0x51b8('0x8e')][_0x51b8('0x34')](function(_0x25e9b2){_0x1b2da1[_0x51b8('0x8e')]('i.'+_0x25e9b2[0x0],_0x25e9b2[0x1]===_0x51b8('0x8f')?![]:!![]);});}if(!_['isEmpty'](_0x4cfce0)){_0x1b2da1[_0x51b8('0x80')](_0x44473f);_0x31a408[_0x51b8('0x47')](_0x51b8('0x90'),_0x4cfce0);}BPromise[_0x51b8('0x91')]()[_0x51b8('0x35')](function(){if(!_0x763dbb){if(_0x3c5d2b[_0x51b8('0x3d')][_0x51b8('0x76')]||_0x3c5d2b[_0x51b8('0x3d')][_0x51b8('0x92')])return;_0x31a408[_0x51b8('0x47')](_0x51b8('0x93'));_0x1b2da1[_0x51b8('0x47')](_0x51b8('0x93'));return;}return _0x3c5d2b[_0x51b8('0x94')][_0x51b8('0x95')]({'attributes':['id'],'raw':!![]})[_0x51b8('0x35')](function(_0x228efc){if(_[_0x51b8('0x96')](_0x228efc)){_0x31a408[_0x51b8('0x47')](_0x51b8('0x97'));_0x1b2da1['where']('i.FaxAccountId\x20IS\x20NULL');}else{_0x31a408[_0x51b8('0x47')](_0x51b8('0x77'),_[_0x51b8('0x30')](_0x228efc,'id'));_0x1b2da1[_0x51b8('0x47')](_0x51b8('0x77'),_['map'](_0x228efc,'id'));}});})[_0x51b8('0x35')](function(){db[_0x51b8('0x98')]['query'](_0x31a408[_0x51b8('0x99')](),_0x37d51f)['then'](function(_0x4921f9){_0x2b8a4d[_0x51b8('0x9a')]=_0x4921f9[_0x51b8('0x43')];if(_0x2b8a4d[_0x51b8('0x9a')]===0x0)return[];return db[_0x51b8('0x98')][_0x51b8('0x3d')](_0x31ed58['toString'](),_0x37d51f)[_0x51b8('0x35')](function(_0x282eab){_0x5b5439=_[_0x51b8('0x9b')](_0x282eab,'id');_0x37d51f=_[_0x51b8('0x9c')](_0x37d51f,{'model':db[_0x51b8('0x38')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3c5d2b[_0x51b8('0x3d')][_0x51b8('0x9d')]){_0x352eab['attributes'][_0x51b8('0x34')](function(_0x5e0bb6){_0x1b2da1[_0x51b8('0x49')]('i.'+_0x5e0bb6);});}else{_0x1b2da1[_0x51b8('0x49')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x51b8('0x61'));_0x1b2da1[_0x51b8('0x49')](_0x51b8('0x9e'),'Account.key');_0x1b2da1[_0x51b8('0x49')](_0x51b8('0x9f'),_0x51b8('0xa0'));_0x1b2da1['field'](_0x51b8('0xa1'));_0x1b2da1[_0x51b8('0x49')](_0x51b8('0xa2'),_0x51b8('0xa3'));_0x1b2da1['field'](_0x51b8('0xa4'),'Contact.lastName');_0x1b2da1[_0x51b8('0x49')](_0x51b8('0xa5'),'Contact.email');_0x1b2da1[_0x51b8('0x49')](_0x51b8('0xa6'),_0x51b8('0xa7'));_0x1b2da1[_0x51b8('0x49')]('c.mobile','Contact.mobile');_0x1b2da1[_0x51b8('0x49')]('c.fax',_0x51b8('0xa8'));_0x1b2da1[_0x51b8('0x49')]('o.fullname','Owner.fullname');_0x1b2da1[_0x51b8('0x49')](_0x51b8('0xa9'),'Owner.internal');_0x1b2da1[_0x51b8('0x49')](_0x51b8('0xaa'),_0x51b8('0x32'));}_0x1b2da1[_0x51b8('0x22')](_0x352eab['limit']);_0x1b2da1[_0x51b8('0x21')](_0x352eab['offset']);return db['sequelize'][_0x51b8('0x3d')](_0x1b2da1[_0x51b8('0x99')](),_0x37d51f);})[_0x51b8('0x35')](function(_0x206861){_0x473f27['where']('ui.FaxInteractionId\x20IN\x20?',_['map'](_0x206861,'id'));return db[_0x51b8('0x98')][_0x51b8('0x3d')](_0x473f27['toString'](),_0x37d51f)[_0x51b8('0x35')](function(_0x232c3e){var _0x2ff2b8=_[_0x51b8('0xab')](_0x232c3e,_0x51b8('0xac'));var _0x588cda=[];_0x206861[_0x51b8('0x34')](function(_0x1ede08){_0x588cda['push'](updateFaxInteraction(_0x1ede08,_0x5b5439,_0x2ff2b8));});return BPromise[_0x51b8('0xad')](_0x588cda);});});})[_0x51b8('0x35')](function(_0x18691a){_0x2b8a4d['rows']=_0x18691a;return _0x2b8a4d;})[_0x51b8('0x35')](respondWithFilteredResult(_0x4abeed,_0x352eab));})[_0x51b8('0x36')](handleError(_0x4abeed,null));};exports[_0x51b8('0xae')]=function(_0x9cc820,_0x579783){var _0x4dad55={'raw':![],'where':{'id':_0x9cc820[_0x51b8('0xaf')]['id']}},_0x560933={};_0x560933[_0x51b8('0x41')]=_[_0x51b8('0x3e')](db[_0x51b8('0x38')][_0x51b8('0x39')]);_0x560933[_0x51b8('0x3d')]=_['keys'](_0x9cc820[_0x51b8('0x3d')]);_0x560933[_0x51b8('0x3f')]=_[_0x51b8('0x40')](_0x560933['model'],_0x560933[_0x51b8('0x3d')]);_0x4dad55[_0x51b8('0x42')]=_[_0x51b8('0x40')](_0x560933[_0x51b8('0x41')],qs[_0x51b8('0x9d')](_0x9cc820[_0x51b8('0x3d')][_0x51b8('0x9d')]));_0x4dad55[_0x51b8('0x42')]=_0x4dad55['attributes'][_0x51b8('0x43')]?_0x4dad55[_0x51b8('0x42')]:_0x560933[_0x51b8('0x41')];if(_0x9cc820['query'][_0x51b8('0xb0')]){_0x4dad55[_0x51b8('0xb1')]=[{'all':!![]}];}_0x4dad55=_[_0x51b8('0x9c')]({},_0x4dad55,_0x9cc820['options']);return db[_0x51b8('0x38')][_0x51b8('0x60')](_0x4dad55)['then'](handleEntityNotFound(_0x579783,null))['then'](respondWithResult(_0x579783,null))[_0x51b8('0x36')](handleError(_0x579783,null));};exports[_0x51b8('0xb2')]=function(_0x27233d,_0x5a460c){return db['FaxInteraction'][_0x51b8('0xb2')](_0x27233d[_0x51b8('0x74')],{})[_0x51b8('0x35')](respondWithResult(_0x5a460c,0xc9))[_0x51b8('0x36')](handleError(_0x5a460c,null));};exports['update']=function(_0x441166,_0x3a277a){if(_0x441166[_0x51b8('0x74')]['id']){delete _0x441166[_0x51b8('0x74')]['id'];}return db['FaxInteraction'][_0x51b8('0x60')]({'where':{'id':_0x441166[_0x51b8('0xaf')]['id']}})['then'](handleEntityNotFound(_0x3a277a,null))[_0x51b8('0x35')](saveUpdates(_0x441166['body'],null))[_0x51b8('0x35')](respondWithResult(_0x3a277a,null))[_0x51b8('0x36')](handleError(_0x3a277a,null));};exports[_0x51b8('0x29')]=function(_0x40780d,_0x3e31a3){return db[_0x51b8('0x38')]['find']({'where':{'id':_0x40780d[_0x51b8('0xaf')]['id']}})[_0x51b8('0x35')](handleEntityNotFound(_0x3e31a3,null))[_0x51b8('0x35')](removeEntity(_0x3e31a3,null))[_0x51b8('0x36')](handleError(_0x3e31a3,null));};exports[_0x51b8('0xb3')]=function(_0x155754,_0x56b8d9){return db[_0x51b8('0x38')][_0x51b8('0xb3')]()[_0x51b8('0x35')](respondWithResult(_0x56b8d9,null))['catch'](handleError(_0x56b8d9,null));};exports[_0x51b8('0xb4')]=function(_0x523ca4,_0x11792,_0x214164){return db['FaxMessage'][_0x51b8('0x60')]({'where':{'id':_0x523ca4[_0x51b8('0xaf')]['id']}})[_0x51b8('0x35')](handleEntityNotFound(_0x11792,null))['then'](function(_0x27945c){if(_0x27945c){return _0x27945c['addMessage'](_0x523ca4[_0x51b8('0x74')][_0x51b8('0xb5')],_[_0x51b8('0xb6')](_0x523ca4[_0x51b8('0x74')],[_0x51b8('0xb5'),'id'])||{});}})[_0x51b8('0x35')](respondWithResult(_0x11792,null))[_0x51b8('0x36')](handleError(_0x11792,null));};exports[_0x51b8('0xb7')]=function(_0x2384d5,_0x34a41b,_0x51f12b){var _0x13d165={'raw':![],'where':{}};var _0x1cba45={};var _0x53e054={'count':0x0,'rows':[]};return db['FaxInteraction']['findOne']({'where':{'id':_0x2384d5['params']['id']}})[_0x51b8('0x35')](handleEntityNotFound(_0x34a41b,null))[_0x51b8('0x35')](function(_0xcc4fd){if(_0xcc4fd){_0x1cba45[_0x51b8('0x41')]=_[_0x51b8('0x3e')](db['FaxMessage'][_0x51b8('0x39')]);_0x1cba45['query']=_[_0x51b8('0x3e')](_0x2384d5[_0x51b8('0x3d')]);_0x1cba45['filters']=_[_0x51b8('0x40')](_0x1cba45[_0x51b8('0x41')],_0x1cba45['query']);_0x13d165[_0x51b8('0x42')]=_[_0x51b8('0x40')](_0x1cba45['model'],qs[_0x51b8('0x9d')](_0x2384d5[_0x51b8('0x3d')]['fields']));_0x13d165[_0x51b8('0x42')]=_0x13d165[_0x51b8('0x42')]['length']?_0x13d165['attributes']:_0x1cba45[_0x51b8('0x41')];if(!_0x2384d5['query'][_0x51b8('0x44')]('nolimit')){_0x13d165[_0x51b8('0x22')]=qs[_0x51b8('0x22')](_0x2384d5[_0x51b8('0x3d')][_0x51b8('0x22')]);_0x13d165[_0x51b8('0x21')]=qs['offset'](_0x2384d5[_0x51b8('0x3d')]['offset']);}_0x13d165[_0x51b8('0x8e')]=qs['sort'](_0x2384d5[_0x51b8('0x3d')][_0x51b8('0x46')]);_0x13d165[_0x51b8('0x47')]=qs[_0x51b8('0x3f')](_[_0x51b8('0xb8')](_0x2384d5[_0x51b8('0x3d')],_0x1cba45[_0x51b8('0x3f')]));_0x13d165[_0x51b8('0x47')]['FaxInteractionId']=_0xcc4fd['id'];if(_0x2384d5[_0x51b8('0x3d')][_0x51b8('0x82')]){_0x13d165[_0x51b8('0x47')]=_[_0x51b8('0x9c')](_0x13d165[_0x51b8('0x47')],{'$or':_['map'](_0x13d165[_0x51b8('0x42')],function(_0x3fe028){var _0x4be7d2={};_0x4be7d2[_0x3fe028]={'$like':'%'+_0x2384d5['query'][_0x51b8('0x82')]+'%'};return _0x4be7d2;})});}if(_0x2384d5[_0x51b8('0x3d')][_0x51b8('0x7b')]){var _0xf17bba=_0x2384d5[_0x51b8('0x3d')][_0x51b8('0x7b')]['split'](',');var _0x1616cb={};_0x1616cb[_0xf17bba[0x0]]={'$gte':moment(_0xf17bba[0x1])[_0x51b8('0xb9')](_0x51b8('0xba'))};_0x13d165[_0x51b8('0x47')]=_[_0x51b8('0x9c')](_0x13d165['where'],_0x1616cb);}_0x13d165=_[_0x51b8('0x9c')]({},_0x13d165,_0x2384d5[_0x51b8('0xbb')]);return db[_0x51b8('0xbc')][_0x51b8('0x9a')]({'where':_0x13d165[_0x51b8('0x47')]})['then'](function(_0x2d398b){_0x53e054[_0x51b8('0x9a')]=_0x2d398b;if(_0x2384d5[_0x51b8('0x3d')]['includeAll']){_0x13d165[_0x51b8('0xb1')]=[{'all':!![]}];}return db['FaxMessage']['findAll'](_0x13d165);})[_0x51b8('0x35')](function(_0x1615eb){_0x53e054[_0x51b8('0xbd')]=_0x1615eb;return _0x53e054;});}})[_0x51b8('0x35')](respondWithFilteredResult(_0x34a41b,_0x13d165))[_0x51b8('0x36')](handleError(_0x34a41b,null));};exports['addTags']=function(_0x5723b7,_0x473f1d,_0x1f1b02){return db[_0x51b8('0x38')][_0x51b8('0x60')]({'where':{'id':_0x5723b7[_0x51b8('0xaf')]['id']}})[_0x51b8('0x35')](handleEntityNotFound(_0x473f1d,null))[_0x51b8('0x35')](function(_0x4d0e84){if(_0x4d0e84){return _0x4d0e84[_0x51b8('0xbe')](_0x5723b7[_0x51b8('0x74')][_0x51b8('0xb5')],_['omit'](_0x5723b7[_0x51b8('0x74')],['ids','id'])||{})[_0x51b8('0xbf')](function(){return db[_0x51b8('0x6e')][_0x51b8('0xc0')]({'attributes':['id',_0x51b8('0x2d'),'color'],'where':{'id':_0x5723b7['body'][_0x51b8('0xb5')]}});})[_0x51b8('0x35')](function(_0x3dfae3){socket[_0x51b8('0xc1')](_0x51b8('0xc2'),{'id':Number(_0x5723b7[_0x51b8('0xaf')]['id']),'tags':_0x3dfae3||[]});return{'id':Number(_0x5723b7[_0x51b8('0xaf')]['id']),'tags':_0x3dfae3||[]};});}})[_0x51b8('0x35')](respondWithResult(_0x473f1d,null))['catch'](handleError(_0x473f1d,null));};exports[_0x51b8('0xc3')]=function(_0x263c1f,_0xad7b50,_0x36d5a5){return db['FaxInteraction'][_0x51b8('0x60')]({'where':{'id':_0x263c1f['params']['id']}})[_0x51b8('0x35')](handleEntityNotFound(_0xad7b50,null))[_0x51b8('0x35')](function(_0x273c9c){if(_0x273c9c){return _0x273c9c['removeTags'](_0x263c1f[_0x51b8('0x3d')][_0x51b8('0xb5')]);}})[_0x51b8('0x35')](respondWithStatusCode(_0xad7b50,null))[_0x51b8('0x36')](handleError(_0xad7b50,null));};exports['download']=function(_0x22c9eb,_0x22553f){var _0x13b576=moment()['unix']()[_0x51b8('0x99')]();var _0x9e6e96=path[_0x51b8('0xc4')](config[_0x51b8('0xc5')],_0x51b8('0xc6'),'files','tmp');var _0x43ad01=path[_0x51b8('0xc4')](config[_0x51b8('0xc5')],_0x51b8('0xc6'),_0x51b8('0xc7'),_0x51b8('0xc8'));var _0x23672c=path[_0x51b8('0xc4')](_0x9e6e96,_0x13b576);var _0x17f5b2=util[_0x51b8('0xb9')](_0x51b8('0xc9'),_0x22c9eb[_0x51b8('0xaf')]['id'],_0x13b576);var _0x1ac1e1=path[_0x51b8('0xc4')](_0x9e6e96,_0x17f5b2);var _0x5c4234=[];_0x5c4234['push']({'model':db['Attachment'],'as':_0x51b8('0xca'),'raw':!![]});var _0x158e7e=[{'model':db[_0x51b8('0xbc')],'as':_0x51b8('0xcb'),'attributes':['id',_0x51b8('0x74'),_0x51b8('0x79')],'include':_0x5c4234}];return db[_0x51b8('0x38')][_0x51b8('0x60')]({'where':{'id':_0x22c9eb['params']['id']},'include':_0x158e7e})[_0x51b8('0x35')](handleEntityNotFound(_0x22553f,null))[_0x51b8('0x35')](function(_0x2fdee3){if(_0x2fdee3&&_0x2fdee3[_0x51b8('0xcb')]){var _0x5dd1ff=_0x2fdee3['get']({'plain':!![]});fs[_0x51b8('0xcc')](_0x23672c);for(var _0x225acc=0x0;_0x225acc<_0x5dd1ff['Messages'][_0x51b8('0x43')];_0x225acc++){var _0x4eebd6=_0x5dd1ff['Messages'][_0x225acc][_0x51b8('0xca')];if(_0x4eebd6){var _0x30e3e6=path[_0x51b8('0xc4')](_0x43ad01,_0x4eebd6[_0x51b8('0xcd')]);if(fs[_0x51b8('0xce')](_0x30e3e6)){fs[_0x51b8('0xcf')](_0x30e3e6)[_0x51b8('0xd0')](fs[_0x51b8('0xd1')](path['join'](_0x23672c,_0x4eebd6[_0x51b8('0xcd')])));}}}return BPromise[_0x51b8('0x91')]()['then'](function(){return new BPromise(function(_0x2fbf30,_0x51b1c9){zipdir(_0x23672c,{'saveTo':_0x1ac1e1},function(_0x37731f,_0x2785e3){if(_0x37731f)return _0x51b1c9(_0x37731f);return _0x2fbf30(_0x2785e3);});})['then'](function(){return new BPromise(function(_0x99d7cc,_0x14eeab){rimraf(_0x23672c,function(_0x4ee571){if(_0x4ee571)_0x14eeab(_0x4ee571);return _0x99d7cc();});});})[_0x51b8('0x35')](function(){return _0x22553f[_0x51b8('0xd2')](_0x1ac1e1,_0x17f5b2,function(_0x37b8a4){if(_0x37b8a4){console[_0x51b8('0xd3')](_0x51b8('0xd4'),_0x37b8a4);}else{fs[_0x51b8('0xd5')](_0x1ac1e1);}});});});}else{return _0x22553f[_0x51b8('0x2a')](0xc8);}})[_0x51b8('0x36')](handleError(_0x22553f,null));};