43a4598cbf086a52115a6183b796ae2e37f74729
[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 _0x1b6d=['mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./faxInteraction.socket','register','sendStatus','status','end','json','limit','undefined','count','offset','apply','reject','save','update','then','error','stack','name','send','map','fullname','TagIds','Tags','split','forEach','catch','waiting','talking','unmanaged','closed','UserId','answered','total','index','FaxInteraction','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','u.id','u.fullname','ui.FaxInteractionId','users','u.id\x20=\x20ui.UserId','from','fax_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','fax_accounts','fax_messages','me.FaxInteractionId\x20=\x20i.id','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','conditions','find','unreadMessages','value','`\x20=\x200','having','`\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','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','keys','some','compact','isEmpty','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','createdAt','$gte','parse','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','contactName','DESC','t.id\x20IN\x20?','i.FaxAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.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','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','push','all','rows','show','params','includeAll','include','options','create','describe','addMessage','FaxMessage','ids','omit','getMessages','FaxInteractionId','format','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','Tag','emit','removeTags','download','unix','root','server','files','tmp','join','attachments','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','basename','existsSync','pipe','createWriteStream','resolve','log','err','unlinkSync','eml-format','zip-dir','request-promise','moment'];(function(_0x33e267,_0x2f566c){var _0x4fdc72=function(_0x5acc49){while(--_0x5acc49){_0x33e267['push'](_0x33e267['shift']());}};_0x4fdc72(++_0x2f566c);}(_0x1b6d,0xde));var _0xd1b6=function(_0x413feb,_0x10477f){_0x413feb=_0x413feb-0x0;var _0x40ee88=_0x1b6d[_0x413feb];return _0x40ee88;};'use strict';var emlformat=require(_0xd1b6('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd1b6('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd1b6('0x2'));var moment=require(_0xd1b6('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd1b6('0x4'));var util=require(_0xd1b6('0x5'));var path=require('path');var sox=require(_0xd1b6('0x6'));var csv=require(_0xd1b6('0x7'));var ejs=require(_0xd1b6('0x8'));var fs=require('fs');var fs_extra=require(_0xd1b6('0x9'));var _=require(_0xd1b6('0xa'));var squel=require(_0xd1b6('0xb'));var crypto=require(_0xd1b6('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xd1b6('0x7'));var querystring=require(_0xd1b6('0xd'));var Papa=require(_0xd1b6('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd1b6('0xf'));var as=require(_0xd1b6('0x10'));var hardwareService=require(_0xd1b6('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0xd1b6('0x12'));var config=require(_0xd1b6('0x13'));var licenseUtil=require(_0xd1b6('0x14'));var db=require(_0xd1b6('0x15'))['db'];config[_0xd1b6('0x16')]=_[_0xd1b6('0x17')](config[_0xd1b6('0x16')],{'host':_0xd1b6('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd1b6('0x16')]));require(_0xd1b6('0x19'))[_0xd1b6('0x1a')](socket);function respondWithStatusCode(_0xf5418a,_0x94cb1){_0x94cb1=_0x94cb1||0xcc;return function(_0x33c897){if(_0x33c897){return _0xf5418a[_0xd1b6('0x1b')](_0x94cb1);}return _0xf5418a[_0xd1b6('0x1c')](_0x94cb1)[_0xd1b6('0x1d')]();};}function respondWithResult(_0x28577d,_0x3b7801){_0x3b7801=_0x3b7801||0xc8;return function(_0x1219f3){if(_0x1219f3){return _0x28577d[_0xd1b6('0x1c')](_0x3b7801)[_0xd1b6('0x1e')](_0x1219f3);}};}function respondWithFilteredResult(_0x258336,_0x2dd6a){return function(_0x5d2b14){if(_0x5d2b14){var _0x4715b2=typeof _0x2dd6a['offset']==='undefined'&&typeof _0x2dd6a[_0xd1b6('0x1f')]===_0xd1b6('0x20');var _0x5f2cf8=_0x5d2b14[_0xd1b6('0x21')];var _0x55a1e4=_0x4715b2?0x0:_0x2dd6a[_0xd1b6('0x22')];var _0x18f877=_0x4715b2?_0x5d2b14[_0xd1b6('0x21')]:_0x2dd6a[_0xd1b6('0x22')]+_0x2dd6a[_0xd1b6('0x1f')];var _0x48a259;if(_0x18f877>=_0x5f2cf8){_0x18f877=_0x5f2cf8;_0x48a259=0xc8;}else{_0x48a259=0xce;}_0x258336['status'](_0x48a259);return _0x258336['set']('Content-Range',_0x55a1e4+'-'+_0x18f877+'/'+_0x5f2cf8)[_0xd1b6('0x1e')](_0x5d2b14);}return null;};}function patchUpdates(_0x4a992b){return function(_0x4b0bcb){try{jsonpatch[_0xd1b6('0x23')](_0x4b0bcb,_0x4a992b,!![]);}catch(_0x592303){return BPromise[_0xd1b6('0x24')](_0x592303);}return _0x4b0bcb[_0xd1b6('0x25')]();};}function saveUpdates(_0x8c378e,_0x2c47d1){return function(_0x4164d8){if(_0x4164d8){return _0x4164d8[_0xd1b6('0x26')](_0x8c378e)[_0xd1b6('0x27')](function(_0x56a5e2){return _0x56a5e2;});}return null;};}function removeEntity(_0x5de8f6,_0x580865){return function(_0x223bfe){if(_0x223bfe){return _0x223bfe['destroy']()[_0xd1b6('0x27')](function(){_0x5de8f6['status'](0xcc)[_0xd1b6('0x1d')]();});}};}function handleEntityNotFound(_0x1e0a74,_0x310c96){return function(_0x4af77c){if(!_0x4af77c){_0x1e0a74[_0xd1b6('0x1b')](0x194);}return _0x4af77c;};}function handleError(_0x37e218,_0x51b7c6){_0x51b7c6=_0x51b7c6||0x1f4;return function(_0x398cac){logger[_0xd1b6('0x28')](_0x398cac[_0xd1b6('0x29')]);if(_0x398cac[_0xd1b6('0x2a')]){delete _0x398cac[_0xd1b6('0x2a')];}_0x37e218[_0xd1b6('0x1c')](_0x51b7c6)[_0xd1b6('0x2b')](_0x398cac);};}function getInteractionUsers(_0x5c4a81,_0x2581dc){return new BPromise(function(_0x5ccb59,_0x33e053){try{if(_0x2581dc[_0x5c4a81['id']]){_0x5c4a81['Users']=_[_0xd1b6('0x2c')](_0x2581dc[_0x5c4a81['id']],function(_0xea0a3c){return{'id':_0xea0a3c['id'],'fullname':_0xea0a3c[_0xd1b6('0x2d')]};});}}catch(_0x4ab0af){_0x33e053(_0x4ab0af);}_0x5ccb59(_0x5c4a81);});}function getInteractionTags(_0x66bbdc,_0x15b5e5){return new BPromise(function(_0x4c91f6,_0x5e598c){try{if(_0x66bbdc[_0xd1b6('0x2e')]){_0x66bbdc[_0xd1b6('0x2f')]=[];_0x66bbdc[_0xd1b6('0x2e')][_0xd1b6('0x30')](',')[_0xd1b6('0x31')](function(_0x37da33){_0x66bbdc[_0xd1b6('0x2f')]['push'](_0x15b5e5[_0x37da33]);});}delete _0x66bbdc[_0xd1b6('0x2e')];}catch(_0x3444a2){_0x5e598c(_0x3444a2);}_0x4c91f6(_0x66bbdc);});}function updateFaxInteraction(_0x46a492,_0x5caba2,_0x2287ad){return new BPromise(function(_0x31090f,_0x1a2248){return getInteractionUsers(_0x46a492,_0x2287ad)['then'](function(_0x2204c2){return getInteractionTags(_0x2204c2,_0x5caba2);})[_0xd1b6('0x27')](function(_0x54402a){return getStateInteraction(_0x54402a);})['then'](function(_0x451939){_0x31090f(_0x451939);})[_0xd1b6('0x32')](function(_0x237293){_0x1a2248(_0x237293);});});}function getStateInteraction(_0x4c3cad){return new BPromise(function(_0x26e299){_0x4c3cad[_0xd1b6('0x33')]=0x0;_0x4c3cad[_0xd1b6('0x34')]=0x0;_0x4c3cad['answered']=0x0;_0x4c3cad[_0xd1b6('0x35')]=0x0;_0x4c3cad['total']=0x0;if(!_0x4c3cad[_0xd1b6('0x36')]&&!_0x4c3cad[_0xd1b6('0x37')]){_0x4c3cad[_0xd1b6('0x33')]+=0x1;}if(!_0x4c3cad[_0xd1b6('0x36')]&&_0x4c3cad[_0xd1b6('0x37')]){_0x4c3cad[_0xd1b6('0x34')]+=0x1;if(_0x4c3cad['waiting']){_0x4c3cad[_0xd1b6('0x33')]-=0x1;}}if(_0x4c3cad[_0xd1b6('0x36')]&&_0x4c3cad[_0xd1b6('0x37')]){_0x4c3cad[_0xd1b6('0x38')]+=0x1;if(_0x4c3cad[_0xd1b6('0x34')]){_0x4c3cad[_0xd1b6('0x34')]-=0x1;}}if(_0x4c3cad[_0xd1b6('0x36')]&&!_0x4c3cad['UserId']){_0x4c3cad['unmanaged']+=0x1;if(_0x4c3cad['waiting']){_0x4c3cad[_0xd1b6('0x33')]-=0x1;}}_0x4c3cad[_0xd1b6('0x39')]+=0x1;_0x26e299(_0x4c3cad);});}exports[_0xd1b6('0x3a')]=function(_0x392ed3,_0x43d4b1){var _0x2ccbe9={},_0x4ed869={},_0x4f2325={'count':0x0,'rows':[]};var _0x108aa0=_[_0xd1b6('0x2c')](db[_0xd1b6('0x3b')][_0xd1b6('0x3c')],function(_0x28337c){return{'name':_0x28337c[_0xd1b6('0x3d')],'type':_0x28337c[_0xd1b6('0x3e')][_0xd1b6('0x3f')]};});_0x4ed869[_0xd1b6('0x40')]=_[_0xd1b6('0x2c')](_0x108aa0,_0xd1b6('0x2a'));_0x4ed869['query']=_['keys'](_0x392ed3[_0xd1b6('0x41')]);_0x4ed869[_0xd1b6('0x42')]=_[_0xd1b6('0x43')](_0x4ed869[_0xd1b6('0x40')],_0x4ed869[_0xd1b6('0x41')]);_0x2ccbe9[_0xd1b6('0x44')]=_[_0xd1b6('0x43')](_0x4ed869[_0xd1b6('0x40')],qs[_0xd1b6('0x45')](_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x45')]));_0x2ccbe9[_0xd1b6('0x44')]=_0x2ccbe9['attributes'][_0xd1b6('0x46')]?_0x2ccbe9[_0xd1b6('0x44')]:_0x4ed869[_0xd1b6('0x40')];if(!_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x47')](_0xd1b6('0x48'))){_0x2ccbe9[_0xd1b6('0x1f')]=qs['limit'](_0x392ed3[_0xd1b6('0x41')]['limit']);_0x2ccbe9[_0xd1b6('0x22')]=qs[_0xd1b6('0x22')](_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x22')]);}_0x2ccbe9[_0xd1b6('0x49')]=qs[_0xd1b6('0x4a')](_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x4a')]);_0x2ccbe9[_0xd1b6('0x4b')]=qs['filters'](_[_0xd1b6('0x4c')](_0x392ed3[_0xd1b6('0x41')],_0x4ed869[_0xd1b6('0x42')]),_0x108aa0);var _0x33762c=[];var _0x411868=squel[_0xd1b6('0x4d')]()['field']('id')[_0xd1b6('0x4e')](_0xd1b6('0x2a'))[_0xd1b6('0x4e')](_0xd1b6('0x4f'))['from']('tools_tags');var _0x27e692=squel['select']()[_0xd1b6('0x4e')](_0xd1b6('0x50'))[_0xd1b6('0x4e')](_0xd1b6('0x51'))[_0xd1b6('0x4e')](_0xd1b6('0x52'))['from']('user_has_fax_interactions','ui')['left_join'](_0xd1b6('0x53'),'u',_0xd1b6('0x54'));var _0x4cdf32=squel[_0xd1b6('0x4d')]()[_0xd1b6('0x55')](_0xd1b6('0x56'),'i')[_0xd1b6('0x57')](_0xd1b6('0x58'),'c',_0xd1b6('0x59'))[_0xd1b6('0x57')]('users','o',_0xd1b6('0x5a'))[_0xd1b6('0x57')](_0xd1b6('0x5b'),'a','a.id\x20=\x20i.FaxAccountId')['left_join'](_0xd1b6('0x5c'),'me',_0xd1b6('0x5d'))[_0xd1b6('0x57')]('fax_interaction_has_tags','it',_0xd1b6('0x5e'))['left_join']('tools_tags','t',_0xd1b6('0x5f'));var _0x1b6213=squel[_0xd1b6('0x60')]();var _0x86864f=[];var _0x3fb365=squel['expr']();var _0x515fe2;if(_0x392ed3['query']['search']){_0x515fe2=as[_0xd1b6('0x61')](_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x62')]);var _0x5b8c41=_0x515fe2['sqlOperator'];for(var _0x44047c=0x0;_0x44047c<_0x515fe2[_0xd1b6('0x63')][_0xd1b6('0x46')];_0x44047c++){var _0x2b1c2f=_0x515fe2['conditions'][_0x44047c];var _0x2775e3='i';var _0x385bef=_[_0xd1b6('0x64')](_0x108aa0,[_0xd1b6('0x2a'),_0x2b1c2f[_0xd1b6('0x4e')]]);if(!_0x385bef){switch(_0x2b1c2f[_0xd1b6('0x4e')]){case _0xd1b6('0x65'):if(_0x2b1c2f[_0xd1b6('0x66')]==0x1){_0x4cdf32['having']('`'+_0x2b1c2f[_0xd1b6('0x4e')]+_0xd1b6('0x67'));}else{_0x4cdf32[_0xd1b6('0x68')]('`'+_0x2b1c2f[_0xd1b6('0x4e')]+_0xd1b6('0x69'));}break;case _0xd1b6('0x6a'):if(_0x2b1c2f[_0xd1b6('0x6b')]===_0xd1b6('0x6c')){if(_0x2b1c2f[_0xd1b6('0x66')]['split']('\x20')['length']>0x1){_0x1b6213[_0x5b8c41](_0xd1b6('0x6d'),qs[_0xd1b6('0x6e')](_0x2b1c2f[_0xd1b6('0x66')]),null);}else{var _0x28d7e4='%'+_0x2b1c2f[_0xd1b6('0x66')]+'%';_0x1b6213[_0x5b8c41]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x28d7e4,_0x28d7e4,_0x28d7e4);}}else{_0x385bef=_[_0xd1b6('0x64')](_0x108aa0,[_0xd1b6('0x2a'),_0xd1b6('0x6f')]);_0x2b1c2f[_0xd1b6('0x4e')]='ContactId';_0x3a8689=as[_0xd1b6('0x70')](_0x2775e3,_0x385bef[_0xd1b6('0x3e')],_0x2b1c2f);_0x1b6213[_0x5b8c41](_0x3a8689[_0xd1b6('0x71')],_0x3a8689[_0xd1b6('0x66')][_0xd1b6('0x72')],_0x3a8689[_0xd1b6('0x66')]['end']);}break;case'Tag':var _0x50a64f=_0x2b1c2f[_0xd1b6('0x66')][_0xd1b6('0x30')](',')[_0xd1b6('0x2c')](function(_0x3fe0d5){return Number(_0x3fe0d5);});_0x50a64f[_0xd1b6('0x31')](function(_0x397fd0){_0x3fb365['or'](_0xd1b6('0x73'),'%,'+_0x397fd0+',%');});_0x86864f=_[_0xd1b6('0x74')](_0x86864f,_0x50a64f);break;case _0xd1b6('0x75'):if(_0x2b1c2f[_0xd1b6('0x6b')]===_0xd1b6('0x6c')){_0x1b6213[_0x5b8c41](_0xd1b6('0x76'),'%'+_0x2b1c2f['value']+'%',null);}else{_0x385bef=_[_0xd1b6('0x64')](_0x108aa0,[_0xd1b6('0x2a'),_0xd1b6('0x37')]);_0x2b1c2f['field']=_0xd1b6('0x37');_0x3a8689=as[_0xd1b6('0x70')](_0x2775e3,_0x385bef[_0xd1b6('0x3e')],_0x2b1c2f);_0x1b6213[_0x5b8c41](_0x3a8689['text'],_0x3a8689[_0xd1b6('0x66')][_0xd1b6('0x72')],_0x3a8689[_0xd1b6('0x66')][_0xd1b6('0x1d')]);}break;case _0xd1b6('0x77'):_0x3a8689=as['buildExpression']('me',null,_0x2b1c2f);_0x1b6213[_0x5b8c41](_0x3a8689[_0xd1b6('0x71')],_0x3a8689[_0xd1b6('0x66')][_0xd1b6('0x72')],_0x3a8689[_0xd1b6('0x66')][_0xd1b6('0x1d')]);break;}}else{var _0x3a8689=as[_0xd1b6('0x70')](_0x2775e3,_0x385bef[_0xd1b6('0x3e')],_0x2b1c2f);_0x1b6213[_0x5b8c41](_0x3a8689['text'],_0x3a8689[_0xd1b6('0x66')]['start'],_0x3a8689['value'][_0xd1b6('0x1d')]);}}}else{var _0x2ae5f2=_(_0x392ed3[_0xd1b6('0x41')])[_0xd1b6('0x78')]()[_0xd1b6('0x2c')](function(_0x3f61fa){return _[_0xd1b6('0x79')](_0x108aa0,['name',_0x3f61fa])?_0x3f61fa:undefined;})[_0xd1b6('0x7a')]()['value']();if(!_[_0xd1b6('0x7b')](_0x2ae5f2)){_0x2ae5f2[_0xd1b6('0x31')](function(_0x1ce731){if(_0x1ce731===_0xd1b6('0x7c')){_0x4cdf32[_0xd1b6('0x4b')](_0xd1b6('0x7d'),[][_0xd1b6('0x7e')](_0x392ed3[_0xd1b6('0x41')][_0x1ce731]));}else if(_0x1ce731===_0xd1b6('0x7f')){var _0x4479a6=JSON['parse'](_0x392ed3['query'][_0x1ce731])[_0xd1b6('0x80')];var _0x195416=JSON[_0xd1b6('0x81')](_0x392ed3[_0xd1b6('0x41')][_0x1ce731])['$lte'];_0x4cdf32['where'](_0xd1b6('0x82'),_0x4479a6,_0x195416);}else{if(_0x392ed3[_0xd1b6('0x41')][_0x1ce731]===_0xd1b6('0x83')){_0x4cdf32[_0xd1b6('0x4b')]('i.'+_0x1ce731+_0xd1b6('0x84'));}else{_0x4cdf32[_0xd1b6('0x4b')]('i.'+_0x1ce731+'\x20=\x20?',_0x392ed3['query'][_0x1ce731]);}}});}if(_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x85')]){if(_0x392ed3['query'][_0xd1b6('0x85')]==0x1){_0x4cdf32[_0xd1b6('0x68')](_0xd1b6('0x86'));}else{_0x4cdf32[_0xd1b6('0x68')]('`unreadMessages`\x20>\x200');}}if(_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x87')]){_0x86864f=_[_0xd1b6('0x88')](_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x87')])?_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x87')]:new Array(_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x87')]);_0x86864f[_0xd1b6('0x31')](function(_0x683967){_0x3fb365['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x683967+',%');});}if(_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x89')]){var _0x26b88c=_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x89')]['replace']('\x5c','\x5c\x5c')[_0xd1b6('0x8a')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x26b88c)){_0x1b6213['or'](_0xd1b6('0x8b'),_0x26b88c+'%')['or']('i.fax\x20LIKE\x20?',_0x26b88c+'%');}_0x1b6213['or'](_0xd1b6('0x8c'),_0x26b88c+'%');}}_0x4cdf32[_0xd1b6('0x4b')](_0x1b6213);_0x4cdf32[_0xd1b6('0x8d')](_0xd1b6('0x8e'));var _0x3e7dfb={'type':db[_0xd1b6('0x8f')][_0xd1b6('0x90')][_0xd1b6('0x91')],'raw':!![]};var _0x854436=_0x4cdf32[_0xd1b6('0x92')]();_0x854436[_0xd1b6('0x4e')](_0xd1b6('0x8e'));_0x854436[_0xd1b6('0x4e')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xd1b6('0x65'));if(_0x2ccbe9[_0xd1b6('0x49')]){_0x2ccbe9[_0xd1b6('0x49')][_0xd1b6('0x31')](function(_0x3cf14e){var _0x1a59a9=_0x3cf14e[0x0]===_0xd1b6('0x93')?_0x3cf14e[0x0]:'i.'+_0x3cf14e[0x0];_0x4cdf32[_0xd1b6('0x49')](_0x1a59a9,_0x3cf14e[0x1]===_0xd1b6('0x94')?![]:!![]);});}if(!_['isEmpty'](_0x86864f)){_0x4cdf32[_0xd1b6('0x68')](_0x3fb365);_0x854436[_0xd1b6('0x4b')](_0xd1b6('0x95'),_0x86864f);}BPromise['resolve']()['then'](function(){if(!_0x515fe2){if(_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x7c')])return;_0x854436[_0xd1b6('0x4b')](_0xd1b6('0x96'));_0x4cdf32['where'](_0xd1b6('0x96'));return;}if(_0x392ed3['user'][_0xd1b6('0x97')]!==_0xd1b6('0x98'))return;return _0x392ed3[_0xd1b6('0x99')][_0xd1b6('0x9a')]({'attributes':['id'],'raw':!![]})[_0xd1b6('0x27')](function(_0x112968){if(_[_0xd1b6('0x7b')](_0x112968)){_0x854436[_0xd1b6('0x4b')](_0xd1b6('0x9b'));_0x4cdf32[_0xd1b6('0x4b')](_0xd1b6('0x9b'));}else{_0x854436[_0xd1b6('0x4b')](_0xd1b6('0x7d'),_['map'](_0x112968,'id'));_0x4cdf32[_0xd1b6('0x4b')](_0xd1b6('0x7d'),_[_0xd1b6('0x2c')](_0x112968,'id'));}});})[_0xd1b6('0x27')](function(){if(_0x392ed3[_0xd1b6('0x99')][_0xd1b6('0x97')]==='agent'&&!_0x515fe2&&!_0x392ed3[_0xd1b6('0x41')][_0xd1b6('0x7c')])return[];return db[_0xd1b6('0x9c')][_0xd1b6('0x41')](_0x854436['toString'](),_0x3e7dfb);})[_0xd1b6('0x27')](function(_0x3238b2){_0x4f2325[_0xd1b6('0x21')]=_0x3238b2[_0xd1b6('0x46')];if(_0x4f2325[_0xd1b6('0x21')]===0x0)return[];return db[_0xd1b6('0x9c')][_0xd1b6('0x41')](_0x411868['toString'](),_0x3e7dfb)[_0xd1b6('0x27')](function(_0x5d0a27){_0x33762c=_[_0xd1b6('0x9d')](_0x5d0a27,'id');_0x3e7dfb=_[_0xd1b6('0x9e')](_0x3e7dfb,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x392ed3[_0xd1b6('0x41')]['fields']){_0x2ccbe9['attributes']['forEach'](function(_0x22cfeb){_0x4cdf32[_0xd1b6('0x4e')]('i.'+_0x22cfeb);});}else{_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0x9f'),'unreadMessages');_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xa0'),'Account.key');_0x4cdf32['field'](_0xd1b6('0xa1'),_0xd1b6('0xa2'));_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xa3'),_0xd1b6('0x93'));_0x4cdf32[_0xd1b6('0x4e')]('i.*');_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xa4'),_0xd1b6('0xa5'));_0x4cdf32['field'](_0xd1b6('0xa6'),_0xd1b6('0xa7'));_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xa8'),_0xd1b6('0xa9'));_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xaa'),_0xd1b6('0xab'));_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xac'),'Contact.mobile');_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xad'),_0xd1b6('0xae'));_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xaf'),_0xd1b6('0xb0'));_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xb1'),_0xd1b6('0xb2'));_0x4cdf32[_0xd1b6('0x4e')](_0xd1b6('0xb3'),_0xd1b6('0x2e'));}if(_0x2ccbe9[_0xd1b6('0x1f')])_0x4cdf32[_0xd1b6('0x1f')](_0x2ccbe9[_0xd1b6('0x1f')]);if(_0x2ccbe9['offset'])_0x4cdf32[_0xd1b6('0x22')](_0x2ccbe9[_0xd1b6('0x22')]);return db[_0xd1b6('0x9c')]['query'](_0x4cdf32['toString'](),_0x3e7dfb);})[_0xd1b6('0x27')](function(_0x5533a2){if(_0x5533a2[_0xd1b6('0x46')]>0x0)_0x27e692[_0xd1b6('0x4b')](_0xd1b6('0xb4'),_['map'](_0x5533a2,'id'));return db[_0xd1b6('0x9c')]['query'](_0x27e692['toString'](),_0x3e7dfb)['then'](function(_0x107c2a){var _0x4234e1=_[_0xd1b6('0xb5')](_0x107c2a,'FaxInteractionId');var _0x38e2b7=[];_0x5533a2[_0xd1b6('0x31')](function(_0xe9e207){_0x38e2b7[_0xd1b6('0xb6')](updateFaxInteraction(_0xe9e207,_0x33762c,_0x4234e1));});return BPromise[_0xd1b6('0xb7')](_0x38e2b7);});});})[_0xd1b6('0x27')](function(_0x53e81c){_0x4f2325[_0xd1b6('0xb8')]=_0x53e81c;return _0x4f2325;})[_0xd1b6('0x27')](respondWithFilteredResult(_0x43d4b1,_0x2ccbe9))[_0xd1b6('0x32')](handleError(_0x43d4b1,null));};exports[_0xd1b6('0xb9')]=function(_0x456041,_0x40e697){var _0x3b76cf={'raw':![],'where':{'id':_0x456041[_0xd1b6('0xba')]['id']}},_0xf2e67e={};_0xf2e67e[_0xd1b6('0x40')]=_[_0xd1b6('0x78')](db[_0xd1b6('0x3b')][_0xd1b6('0x3c')]);_0xf2e67e['query']=_['keys'](_0x456041[_0xd1b6('0x41')]);_0xf2e67e[_0xd1b6('0x42')]=_[_0xd1b6('0x43')](_0xf2e67e[_0xd1b6('0x40')],_0xf2e67e[_0xd1b6('0x41')]);_0x3b76cf[_0xd1b6('0x44')]=_[_0xd1b6('0x43')](_0xf2e67e[_0xd1b6('0x40')],qs[_0xd1b6('0x45')](_0x456041[_0xd1b6('0x41')]['fields']));_0x3b76cf[_0xd1b6('0x44')]=_0x3b76cf[_0xd1b6('0x44')][_0xd1b6('0x46')]?_0x3b76cf[_0xd1b6('0x44')]:_0xf2e67e['model'];if(_0x456041[_0xd1b6('0x41')][_0xd1b6('0xbb')]){_0x3b76cf[_0xd1b6('0xbc')]=[{'all':!![]}];}_0x3b76cf=_[_0xd1b6('0x9e')]({},_0x3b76cf,_0x456041[_0xd1b6('0xbd')]);return db[_0xd1b6('0x3b')][_0xd1b6('0x64')](_0x3b76cf)[_0xd1b6('0x27')](handleEntityNotFound(_0x40e697,null))[_0xd1b6('0x27')](respondWithResult(_0x40e697,null))[_0xd1b6('0x32')](handleError(_0x40e697,null));};exports['create']=function(_0x7280cd,_0x181508){return db['FaxInteraction'][_0xd1b6('0xbe')](_0x7280cd['body'],{})['then'](respondWithResult(_0x181508,0xc9))[_0xd1b6('0x32')](handleError(_0x181508,null));};exports['update']=function(_0x43efd0,_0x324835){if(_0x43efd0[_0xd1b6('0x77')]['id']){delete _0x43efd0[_0xd1b6('0x77')]['id'];}return db['FaxInteraction'][_0xd1b6('0x64')]({'where':{'id':_0x43efd0[_0xd1b6('0xba')]['id']}})[_0xd1b6('0x27')](handleEntityNotFound(_0x324835,null))[_0xd1b6('0x27')](saveUpdates(_0x43efd0['body'],null))['then'](respondWithResult(_0x324835,null))['catch'](handleError(_0x324835,null));};exports['destroy']=function(_0x434f3c,_0x5a6d03){return db[_0xd1b6('0x3b')][_0xd1b6('0x64')]({'where':{'id':_0x434f3c[_0xd1b6('0xba')]['id']}})[_0xd1b6('0x27')](handleEntityNotFound(_0x5a6d03,null))[_0xd1b6('0x27')](removeEntity(_0x5a6d03,null))[_0xd1b6('0x32')](handleError(_0x5a6d03,null));};exports[_0xd1b6('0xbf')]=function(_0x35a1aa,_0x4fe014){return db[_0xd1b6('0x3b')][_0xd1b6('0xbf')]()[_0xd1b6('0x27')](respondWithResult(_0x4fe014,null))['catch'](handleError(_0x4fe014,null));};exports[_0xd1b6('0xc0')]=function(_0x2efde9,_0x115918,_0x3390d2){return db[_0xd1b6('0xc1')][_0xd1b6('0x64')]({'where':{'id':_0x2efde9['params']['id']}})[_0xd1b6('0x27')](handleEntityNotFound(_0x115918,null))[_0xd1b6('0x27')](function(_0x812340){if(_0x812340){return _0x812340['addMessage'](_0x2efde9[_0xd1b6('0x77')][_0xd1b6('0xc2')],_[_0xd1b6('0xc3')](_0x2efde9['body'],[_0xd1b6('0xc2'),'id'])||{});}})[_0xd1b6('0x27')](respondWithResult(_0x115918,null))[_0xd1b6('0x32')](handleError(_0x115918,null));};exports[_0xd1b6('0xc4')]=function(_0x58b1e3,_0x1ec05f,_0x2a47af){var _0x3ba6aa={'raw':![],'where':{}};var _0x5f0da5={};var _0x2a808a={'count':0x0,'rows':[]};return db[_0xd1b6('0x3b')]['findOne']({'where':{'id':_0x58b1e3[_0xd1b6('0xba')]['id']}})['then'](handleEntityNotFound(_0x1ec05f,null))[_0xd1b6('0x27')](function(_0x12fcfa){if(_0x12fcfa){_0x5f0da5['model']=_['keys'](db['FaxMessage'][_0xd1b6('0x3c')]);_0x5f0da5[_0xd1b6('0x41')]=_['keys'](_0x58b1e3[_0xd1b6('0x41')]);_0x5f0da5[_0xd1b6('0x42')]=_[_0xd1b6('0x43')](_0x5f0da5['model'],_0x5f0da5['query']);_0x3ba6aa[_0xd1b6('0x44')]=_[_0xd1b6('0x43')](_0x5f0da5[_0xd1b6('0x40')],qs[_0xd1b6('0x45')](_0x58b1e3['query']['fields']));_0x3ba6aa['attributes']=_0x3ba6aa['attributes'][_0xd1b6('0x46')]?_0x3ba6aa[_0xd1b6('0x44')]:_0x5f0da5[_0xd1b6('0x40')];if(!_0x58b1e3[_0xd1b6('0x41')]['hasOwnProperty'](_0xd1b6('0x48'))){_0x3ba6aa[_0xd1b6('0x1f')]=qs[_0xd1b6('0x1f')](_0x58b1e3[_0xd1b6('0x41')][_0xd1b6('0x1f')]);_0x3ba6aa[_0xd1b6('0x22')]=qs[_0xd1b6('0x22')](_0x58b1e3[_0xd1b6('0x41')][_0xd1b6('0x22')]);}_0x3ba6aa[_0xd1b6('0x49')]=qs['sort'](_0x58b1e3[_0xd1b6('0x41')][_0xd1b6('0x4a')]);_0x3ba6aa['where']=qs[_0xd1b6('0x42')](_[_0xd1b6('0x4c')](_0x58b1e3[_0xd1b6('0x41')],_0x5f0da5[_0xd1b6('0x42')]));_0x3ba6aa['where'][_0xd1b6('0xc5')]=_0x12fcfa['id'];if(_0x58b1e3['query'][_0xd1b6('0x89')]){_0x3ba6aa[_0xd1b6('0x4b')]=_[_0xd1b6('0x9e')](_0x3ba6aa['where'],{'$or':_['map'](_0x3ba6aa[_0xd1b6('0x44')],function(_0x28af7b){var _0x404ffa={};_0x404ffa[_0x28af7b]={'$like':'%'+_0x58b1e3[_0xd1b6('0x41')]['filter']+'%'};return _0x404ffa;})});}if(_0x58b1e3[_0xd1b6('0x41')][_0xd1b6('0x80')]){var _0x2fbd74=_0x58b1e3[_0xd1b6('0x41')]['$gte'][_0xd1b6('0x30')](',');var _0x11ee21={};_0x11ee21[_0x2fbd74[0x0]]={'$gte':moment(_0x2fbd74[0x1])[_0xd1b6('0xc6')](_0xd1b6('0xc7'))};_0x3ba6aa['where']=_[_0xd1b6('0x9e')](_0x3ba6aa[_0xd1b6('0x4b')],_0x11ee21);}_0x3ba6aa=_['merge']({},_0x3ba6aa,_0x58b1e3[_0xd1b6('0xbd')]);return db[_0xd1b6('0xc1')][_0xd1b6('0x21')]({'where':_0x3ba6aa[_0xd1b6('0x4b')]})['then'](function(_0xd1826e){_0x2a808a['count']=_0xd1826e;if(_0x58b1e3[_0xd1b6('0x41')][_0xd1b6('0xbb')]){_0x3ba6aa[_0xd1b6('0xbc')]=[{'all':!![]}];}return db[_0xd1b6('0xc1')][_0xd1b6('0xc8')](_0x3ba6aa);})[_0xd1b6('0x27')](function(_0x2279ca){_0x2a808a[_0xd1b6('0xb8')]=_0x2279ca;return _0x2a808a;});}})['then'](respondWithFilteredResult(_0x1ec05f,_0x3ba6aa))['catch'](handleError(_0x1ec05f,null));};exports[_0xd1b6('0xc9')]=function(_0x57c3e4,_0x4d4d9e,_0x23e7d5){return db['FaxInteraction'][_0xd1b6('0x64')]({'where':{'id':_0x57c3e4[_0xd1b6('0xba')]['id']}})['then'](handleEntityNotFound(_0x4d4d9e,null))[_0xd1b6('0x27')](function(_0x335635){if(_0x335635){return _0x335635['setTags'](_0x57c3e4[_0xd1b6('0x77')][_0xd1b6('0xc2')],_[_0xd1b6('0xc3')](_0x57c3e4[_0xd1b6('0x77')],[_0xd1b6('0xc2'),'id'])||{})['spread'](function(){return db[_0xd1b6('0xca')][_0xd1b6('0xc8')]({'attributes':['id',_0xd1b6('0x2a'),_0xd1b6('0x4f')],'where':{'id':_0x57c3e4[_0xd1b6('0x77')][_0xd1b6('0xc2')]}});})[_0xd1b6('0x27')](function(_0x44c58c){socket[_0xd1b6('0xcb')]('faxInteractionTags:save',{'id':Number(_0x57c3e4[_0xd1b6('0xba')]['id']),'tags':_0x44c58c||[]});return{'id':Number(_0x57c3e4[_0xd1b6('0xba')]['id']),'tags':_0x44c58c||[]};});}})[_0xd1b6('0x27')](respondWithResult(_0x4d4d9e,null))['catch'](handleError(_0x4d4d9e,null));};exports[_0xd1b6('0xcc')]=function(_0x4ef225,_0x4f8540,_0x4f0358){return db[_0xd1b6('0x3b')]['find']({'where':{'id':_0x4ef225[_0xd1b6('0xba')]['id']}})[_0xd1b6('0x27')](handleEntityNotFound(_0x4f8540,null))[_0xd1b6('0x27')](function(_0x261eaf){if(_0x261eaf){return _0x261eaf[_0xd1b6('0xcc')](_0x4ef225[_0xd1b6('0x41')][_0xd1b6('0xc2')]);}})[_0xd1b6('0x27')](respondWithStatusCode(_0x4f8540,null))[_0xd1b6('0x32')](handleError(_0x4f8540,null));};exports[_0xd1b6('0xcd')]=function(_0x27d107,_0x55e7f1){var _0x4eebcf=moment()[_0xd1b6('0xce')]()['toString']();var _0x3b8b02=path['join'](config[_0xd1b6('0xcf')],_0xd1b6('0xd0'),_0xd1b6('0xd1'),_0xd1b6('0xd2'));var _0x5b9fd2=path[_0xd1b6('0xd3')](config['root'],'server',_0xd1b6('0xd1'),_0xd1b6('0xd4'));var _0x53f96b=path[_0xd1b6('0xd3')](_0x3b8b02,_0x4eebcf);var _0xbf9c12=util['format'](_0xd1b6('0xd5'),_0x27d107['params']['id'],_0x4eebcf);var _0x4c81e7=path[_0xd1b6('0xd3')](_0x3b8b02,_0xbf9c12);var _0x1f7add=[];_0x1f7add[_0xd1b6('0xb6')]({'model':db[_0xd1b6('0xd6')],'as':_0xd1b6('0xd6'),'raw':!![]});var _0x89dad5=[{'model':db[_0xd1b6('0xc1')],'as':'Messages','attributes':['id',_0xd1b6('0x77'),_0xd1b6('0x7f')],'include':_0x1f7add}];return db[_0xd1b6('0x3b')][_0xd1b6('0x64')]({'where':{'id':_0x27d107['params']['id']},'include':_0x89dad5})[_0xd1b6('0x27')](handleEntityNotFound(_0x55e7f1,null))[_0xd1b6('0x27')](function(_0x5457bd){if(_0x5457bd&&_0x5457bd[_0xd1b6('0xd7')]){var _0x122f2e=_0x5457bd[_0xd1b6('0xd8')]({'plain':!![]});fs[_0xd1b6('0xd9')](_0x53f96b);for(var _0x364cb2=0x0;_0x364cb2<_0x122f2e['Messages'][_0xd1b6('0x46')];_0x364cb2++){var _0xf6d228=_0x122f2e[_0xd1b6('0xd7')][_0x364cb2][_0xd1b6('0xd6')];if(_0xf6d228){var _0x4bfd05=path[_0xd1b6('0xd3')](_0x5b9fd2,_0xf6d228[_0xd1b6('0xda')]);if(fs[_0xd1b6('0xdb')](_0x4bfd05)){fs['createReadStream'](_0x4bfd05)[_0xd1b6('0xdc')](fs[_0xd1b6('0xdd')](path[_0xd1b6('0xd3')](_0x53f96b,_0xf6d228[_0xd1b6('0xda')])));}}}return BPromise[_0xd1b6('0xde')]()[_0xd1b6('0x27')](function(){return new BPromise(function(_0xa2952c,_0x5bf7f4){zipdir(_0x53f96b,{'saveTo':_0x4c81e7},function(_0x4538e2,_0x426802){if(_0x4538e2)return _0x5bf7f4(_0x4538e2);return _0xa2952c(_0x426802);});})[_0xd1b6('0x27')](function(){return new BPromise(function(_0xda81a5,_0x336294){rimraf(_0x53f96b,function(_0x913437){if(_0x913437)_0x336294(_0x913437);return _0xda81a5();});});})[_0xd1b6('0x27')](function(){return _0x55e7f1[_0xd1b6('0xcd')](_0x4c81e7,_0xbf9c12,function(_0x18de07){if(_0x18de07){console[_0xd1b6('0xdf')](_0xd1b6('0xe0'),_0x18de07);}else{fs[_0xd1b6('0xe1')](_0x4c81e7);}});});});}else{return _0x55e7f1[_0xd1b6('0x1b')](0xc8);}})[_0xd1b6('0x32')](handleError(_0x55e7f1,null));};