8d3ad03b51edac6f87518ff3aa3c2d3ba7703de1
[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 _0x6005=['catch','waiting','talking','answered','unmanaged','total','closed','UserId','index','FaxInteraction','rawAttributes','fieldName','key','query','keys','filters','intersection','attributes','model','fields','hasOwnProperty','nolimit','limit','order','where','pick','select','field','color','tools_tags','u.id','u.fullname','ui.FaxInteractionId','from','user_has_fax_interactions','left_join','u.id\x20=\x20ui.UserId','fax_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','fax_accounts','fax_messages','fax_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','unreadMessages','value','having','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','buildExpression','text','start','forEach','union','User','find','type','body','some','compact','FaxAccountId','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','`unreadMessages`\x20>\x200','isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','replace','isNumeric','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','DESC','isEmpty','t.id\x20IN\x20?','resolve','user','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','i.FaxAccountId\x20IN\x20?','role','sequelize','length','toString','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','contactName','i.*','c.firstName','Contact.firstName','c.lastName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','FaxInteractionId','rows','show','params','include','create','describe','addMessage','FaxMessage','ids','omit','getMessages','sort','filter','options','includeAll','findAll','setTags','spread','Tag','emit','faxInteractionTags:save','download','unix','root','files','tmp','join','format','transcript-%d-%s.zip','Attachment','Messages','createdAt','mkdirSync','basename','existsSync','createReadStream','pipe','log','err','unlinkSync','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','defaults','localhost','socket.io-emitter','status','end','json','undefined','count','offset','set','save','update','then','destroy','error','stack','name','Users','map','fullname','TagIds','Tags','split','push'];(function(_0x1fdafa,_0x336465){var _0x5113fb=function(_0x23a93d){while(--_0x23a93d){_0x1fdafa['push'](_0x1fdafa['shift']());}};_0x5113fb(++_0x336465);}(_0x6005,0x176));var _0x5600=function(_0x21a965,_0x2f080e){_0x21a965=_0x21a965-0x0;var _0xfbe876=_0x6005[_0x21a965];return _0xfbe876;};'use strict';var emlformat=require(_0x5600('0x0'));var rimraf=require(_0x5600('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x5600('0x2'));var rp=require(_0x5600('0x3'));var moment=require(_0x5600('0x4'));var BPromise=require(_0x5600('0x5'));var Mustache=require(_0x5600('0x6'));var util=require(_0x5600('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x5600('0x8'));var ejs=require(_0x5600('0x9'));var fs=require('fs');var fs_extra=require(_0x5600('0xa'));var _=require(_0x5600('0xb'));var squel=require('squel');var crypto=require(_0x5600('0xc'));var jsforce=require(_0x5600('0xd'));var deskjs=require(_0x5600('0xe'));var toCsv=require(_0x5600('0x8'));var querystring=require(_0x5600('0xf'));var Papa=require(_0x5600('0x10'));var Redis=require(_0x5600('0x11'));var authService=require(_0x5600('0x12'));var qs=require(_0x5600('0x13'));var as=require(_0x5600('0x14'));var hardwareService=require(_0x5600('0x15'));var logger=require(_0x5600('0x16'))(_0x5600('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x5600('0x18'));var db=require(_0x5600('0x19'))['db'];config['redis']=_[_0x5600('0x1a')](config['redis'],{'host':_0x5600('0x1b'),'port':0x18eb});var socket=require(_0x5600('0x1c'))(new Redis(config['redis']));require('./faxInteraction.socket')['register'](socket);function respondWithStatusCode(_0x17889c,_0x1f1115){_0x1f1115=_0x1f1115||0xcc;return function(_0x3e9b09){if(_0x3e9b09){return _0x17889c['sendStatus'](_0x1f1115);}return _0x17889c[_0x5600('0x1d')](_0x1f1115)[_0x5600('0x1e')]();};}function respondWithResult(_0x897f35,_0x358d15){_0x358d15=_0x358d15||0xc8;return function(_0x2f669b){if(_0x2f669b){return _0x897f35[_0x5600('0x1d')](_0x358d15)[_0x5600('0x1f')](_0x2f669b);}};}function respondWithFilteredResult(_0x565b9b,_0x43110d){return function(_0x59139e){if(_0x59139e){var _0x44960d=typeof _0x43110d['offset']===_0x5600('0x20')&&typeof _0x43110d['limit']===_0x5600('0x20');var _0xf203ba=_0x59139e[_0x5600('0x21')];var _0x42b9cf=_0x44960d?0x0:_0x43110d['offset'];var _0x34263a=_0x44960d?_0x59139e['count']:_0x43110d[_0x5600('0x22')]+_0x43110d['limit'];var _0x3d1768;if(_0x34263a>=_0xf203ba){_0x34263a=_0xf203ba;_0x3d1768=0xc8;}else{_0x3d1768=0xce;}_0x565b9b[_0x5600('0x1d')](_0x3d1768);return _0x565b9b[_0x5600('0x23')]('Content-Range',_0x42b9cf+'-'+_0x34263a+'/'+_0xf203ba)[_0x5600('0x1f')](_0x59139e);}return null;};}function patchUpdates(_0x1a2dd8){return function(_0x521453){try{jsonpatch['apply'](_0x521453,_0x1a2dd8,!![]);}catch(_0x1bf1fb){return BPromise['reject'](_0x1bf1fb);}return _0x521453[_0x5600('0x24')]();};}function saveUpdates(_0x552725,_0x1aca61){return function(_0x371934){if(_0x371934){return _0x371934[_0x5600('0x25')](_0x552725)[_0x5600('0x26')](function(_0x2114d7){return _0x2114d7;});}return null;};}function removeEntity(_0xfae359,_0x348490){return function(_0x5c9ea9){if(_0x5c9ea9){return _0x5c9ea9[_0x5600('0x27')]()[_0x5600('0x26')](function(){_0xfae359[_0x5600('0x1d')](0xcc)[_0x5600('0x1e')]();});}};}function handleEntityNotFound(_0xac2cc9,_0xb2a204){return function(_0x203ed6){if(!_0x203ed6){_0xac2cc9['sendStatus'](0x194);}return _0x203ed6;};}function handleError(_0x3d2381,_0x3ea6bb){_0x3ea6bb=_0x3ea6bb||0x1f4;return function(_0x4adfb9){logger[_0x5600('0x28')](_0x4adfb9[_0x5600('0x29')]);if(_0x4adfb9[_0x5600('0x2a')]){delete _0x4adfb9['name'];}_0x3d2381['status'](_0x3ea6bb)['send'](_0x4adfb9);};}function getInteractionUsers(_0x24d23a,_0x3d6887){return new BPromise(function(_0x426173,_0x45ee32){try{if(_0x3d6887[_0x24d23a['id']]){_0x24d23a[_0x5600('0x2b')]=_[_0x5600('0x2c')](_0x3d6887[_0x24d23a['id']],function(_0x57c7bc){return{'id':_0x57c7bc['id'],'fullname':_0x57c7bc[_0x5600('0x2d')]};});}}catch(_0x255392){_0x45ee32(_0x255392);}_0x426173(_0x24d23a);});}function getInteractionTags(_0x359b8f,_0x4dd0d4){return new BPromise(function(_0x3f3718,_0x52a7c6){try{if(_0x359b8f[_0x5600('0x2e')]){_0x359b8f[_0x5600('0x2f')]=[];_0x359b8f['TagIds'][_0x5600('0x30')](',')['forEach'](function(_0x36ba17){_0x359b8f[_0x5600('0x2f')][_0x5600('0x31')](_0x4dd0d4[_0x36ba17]);});}delete _0x359b8f['TagIds'];}catch(_0x5e0423){_0x52a7c6(_0x5e0423);}_0x3f3718(_0x359b8f);});}function updateFaxInteraction(_0x2df325,_0x32ffd4,_0x26fa23){return new BPromise(function(_0xc521ae,_0x3c2a49){return getInteractionUsers(_0x2df325,_0x26fa23)[_0x5600('0x26')](function(_0x48fd1b){return getInteractionTags(_0x48fd1b,_0x32ffd4);})[_0x5600('0x26')](function(_0x5b3b6a){return getStateInteraction(_0x5b3b6a);})['then'](function(_0x1ccf94){_0xc521ae(_0x1ccf94);})[_0x5600('0x32')](function(_0x3a15de){_0x3c2a49(_0x3a15de);});});}function getStateInteraction(_0x147fd5){return new BPromise(function(_0x210201){_0x147fd5[_0x5600('0x33')]=0x0;_0x147fd5[_0x5600('0x34')]=0x0;_0x147fd5[_0x5600('0x35')]=0x0;_0x147fd5[_0x5600('0x36')]=0x0;_0x147fd5[_0x5600('0x37')]=0x0;if(!_0x147fd5[_0x5600('0x38')]&&!_0x147fd5[_0x5600('0x39')]){_0x147fd5[_0x5600('0x33')]+=0x1;}if(!_0x147fd5[_0x5600('0x38')]&&_0x147fd5[_0x5600('0x39')]){_0x147fd5['talking']+=0x1;if(_0x147fd5[_0x5600('0x33')]){_0x147fd5[_0x5600('0x33')]-=0x1;}}if(_0x147fd5[_0x5600('0x38')]&&_0x147fd5[_0x5600('0x39')]){_0x147fd5['answered']+=0x1;if(_0x147fd5[_0x5600('0x34')]){_0x147fd5[_0x5600('0x34')]-=0x1;}}if(_0x147fd5[_0x5600('0x38')]&&!_0x147fd5[_0x5600('0x39')]){_0x147fd5[_0x5600('0x36')]+=0x1;if(_0x147fd5['waiting']){_0x147fd5[_0x5600('0x33')]-=0x1;}}_0x147fd5[_0x5600('0x37')]+=0x1;_0x210201(_0x147fd5);});}exports[_0x5600('0x3a')]=function(_0x740cba,_0x49de89){var _0x54e74f={},_0x23d1d0={},_0x58e36f={'count':0x0,'rows':[]};var _0x4b7f98=_[_0x5600('0x2c')](db[_0x5600('0x3b')][_0x5600('0x3c')],function(_0xbfedee){return{'name':_0xbfedee[_0x5600('0x3d')],'type':_0xbfedee['type'][_0x5600('0x3e')]};});_0x23d1d0['model']=_['map'](_0x4b7f98,_0x5600('0x2a'));_0x23d1d0[_0x5600('0x3f')]=_[_0x5600('0x40')](_0x740cba[_0x5600('0x3f')]);_0x23d1d0[_0x5600('0x41')]=_[_0x5600('0x42')](_0x23d1d0['model'],_0x23d1d0[_0x5600('0x3f')]);_0x54e74f[_0x5600('0x43')]=_[_0x5600('0x42')](_0x23d1d0[_0x5600('0x44')],qs['fields'](_0x740cba[_0x5600('0x3f')][_0x5600('0x45')]));_0x54e74f[_0x5600('0x43')]=_0x54e74f[_0x5600('0x43')]['length']?_0x54e74f[_0x5600('0x43')]:_0x23d1d0['model'];if(!_0x740cba[_0x5600('0x3f')][_0x5600('0x46')](_0x5600('0x47'))){_0x54e74f[_0x5600('0x48')]=qs[_0x5600('0x48')](_0x740cba[_0x5600('0x3f')][_0x5600('0x48')]);_0x54e74f[_0x5600('0x22')]=qs[_0x5600('0x22')](_0x740cba[_0x5600('0x3f')][_0x5600('0x22')]);}_0x54e74f[_0x5600('0x49')]=qs['sort'](_0x740cba[_0x5600('0x3f')]['sort']);_0x54e74f[_0x5600('0x4a')]=qs[_0x5600('0x41')](_[_0x5600('0x4b')](_0x740cba[_0x5600('0x3f')],_0x23d1d0['filters']),_0x4b7f98);var _0x4dfb1c=[];var _0x1d9585=squel[_0x5600('0x4c')]()[_0x5600('0x4d')]('id')[_0x5600('0x4d')]('name')['field'](_0x5600('0x4e'))['from'](_0x5600('0x4f'));var _0x58c5e5=squel[_0x5600('0x4c')]()[_0x5600('0x4d')](_0x5600('0x50'))[_0x5600('0x4d')](_0x5600('0x51'))[_0x5600('0x4d')](_0x5600('0x52'))[_0x5600('0x53')](_0x5600('0x54'),'ui')[_0x5600('0x55')]('users','u',_0x5600('0x56'));var _0x3c92e5=squel[_0x5600('0x4c')]()[_0x5600('0x53')](_0x5600('0x57'),'i')[_0x5600('0x55')](_0x5600('0x58'),'c',_0x5600('0x59'))[_0x5600('0x55')]('users','o','o.id\x20=\x20i.UserId')['left_join'](_0x5600('0x5a'),'a','a.id\x20=\x20i.FaxAccountId')['left_join'](_0x5600('0x5b'),'me','me.FaxInteractionId\x20=\x20i.id')['left_join'](_0x5600('0x5c'),'it','it.FaxInteractionId\x20=\x20i.id')[_0x5600('0x55')](_0x5600('0x4f'),'t',_0x5600('0x5d'));var _0x28e210=squel['expr']();var _0x3b1abb=[];var _0x4f63ce=squel[_0x5600('0x5e')]();var _0x392198;if(_0x740cba['query'][_0x5600('0x5f')]){_0x392198=as[_0x5600('0x60')](_0x740cba[_0x5600('0x3f')][_0x5600('0x5f')]);var _0x1f0578=_0x392198['sqlOperator'];for(var _0x49647d=0x0;_0x49647d<_0x392198['conditions']['length'];_0x49647d++){var _0x51290d=_0x392198[_0x5600('0x61')][_0x49647d];var _0x50499f='i';var _0x197ff7=_['find'](_0x4b7f98,[_0x5600('0x2a'),_0x51290d[_0x5600('0x4d')]]);if(!_0x197ff7){switch(_0x51290d[_0x5600('0x4d')]){case _0x5600('0x62'):if(_0x51290d[_0x5600('0x63')]==0x1){_0x3c92e5[_0x5600('0x64')]('`'+_0x51290d[_0x5600('0x4d')]+'`\x20=\x200');}else{_0x3c92e5[_0x5600('0x64')]('`'+_0x51290d[_0x5600('0x4d')]+'`\x20>\x200');}break;case _0x5600('0x65'):if(_0x51290d[_0x5600('0x66')]==='$substring'){if(_0x51290d['value'][_0x5600('0x30')]('\x20')['length']>0x1){_0x28e210[_0x1f0578](_0x5600('0x67'),qs['getFullTextValue'](_0x51290d[_0x5600('0x63')]),null);}else{var _0x3c70c6='%'+_0x51290d[_0x5600('0x63')]+'%';_0x28e210[_0x1f0578]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x3c70c6,_0x3c70c6,_0x3c70c6);}}else{_0x197ff7=_['find'](_0x4b7f98,[_0x5600('0x2a'),_0x5600('0x68')]);_0x51290d[_0x5600('0x4d')]=_0x5600('0x68');_0x355e48=as[_0x5600('0x69')](_0x50499f,_0x197ff7['type'],_0x51290d);_0x28e210[_0x1f0578](_0x355e48[_0x5600('0x6a')],_0x355e48['value'][_0x5600('0x6b')],_0x355e48[_0x5600('0x63')]['end']);}break;case'Tag':var _0x129f28=_0x51290d[_0x5600('0x63')][_0x5600('0x30')](',')['map'](function(_0x53cf3e){return Number(_0x53cf3e);});_0x129f28[_0x5600('0x6c')](function(_0x2840c4){_0x4f63ce['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x2840c4+',%');});_0x3b1abb=_[_0x5600('0x6d')](_0x3b1abb,_0x129f28);break;case _0x5600('0x6e'):if(_0x51290d[_0x5600('0x66')]==='$substring'){_0x28e210[_0x1f0578]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x51290d[_0x5600('0x63')]+'%',null);}else{_0x197ff7=_[_0x5600('0x6f')](_0x4b7f98,[_0x5600('0x2a'),_0x5600('0x39')]);_0x51290d[_0x5600('0x4d')]='UserId';_0x355e48=as[_0x5600('0x69')](_0x50499f,_0x197ff7[_0x5600('0x70')],_0x51290d);_0x28e210[_0x1f0578](_0x355e48[_0x5600('0x6a')],_0x355e48[_0x5600('0x63')][_0x5600('0x6b')],_0x355e48['value'][_0x5600('0x1e')]);}break;case _0x5600('0x71'):_0x355e48=as[_0x5600('0x69')]('me',null,_0x51290d);_0x28e210[_0x1f0578](_0x355e48[_0x5600('0x6a')],_0x355e48[_0x5600('0x63')][_0x5600('0x6b')],_0x355e48[_0x5600('0x63')][_0x5600('0x1e')]);break;}}else{var _0x355e48=as[_0x5600('0x69')](_0x50499f,_0x197ff7[_0x5600('0x70')],_0x51290d);_0x28e210[_0x1f0578](_0x355e48[_0x5600('0x6a')],_0x355e48[_0x5600('0x63')][_0x5600('0x6b')],_0x355e48[_0x5600('0x63')][_0x5600('0x1e')]);}}}else{var _0x46008d=_(_0x740cba[_0x5600('0x3f')])[_0x5600('0x40')]()[_0x5600('0x2c')](function(_0x3b4236){return _[_0x5600('0x72')](_0x4b7f98,[_0x5600('0x2a'),_0x3b4236])?_0x3b4236:undefined;})[_0x5600('0x73')]()[_0x5600('0x63')]();if(!_['isEmpty'](_0x46008d)){_0x46008d[_0x5600('0x6c')](function(_0x10a677){if(_0x10a677===_0x5600('0x74')){_0x3c92e5[_0x5600('0x4a')]('i.FaxAccountId\x20IN\x20?',[]['concat'](_0x740cba[_0x5600('0x3f')][_0x10a677]));}else if(_0x10a677==='createdAt'){var _0x182392=JSON[_0x5600('0x75')](_0x740cba[_0x5600('0x3f')][_0x10a677])[_0x5600('0x76')];var _0x3f8cbf=JSON[_0x5600('0x75')](_0x740cba[_0x5600('0x3f')][_0x10a677])[_0x5600('0x77')];_0x3c92e5[_0x5600('0x4a')](_0x5600('0x78'),_0x182392,_0x3f8cbf);}else{if(_0x740cba[_0x5600('0x3f')][_0x10a677]===_0x5600('0x79')){_0x3c92e5[_0x5600('0x4a')]('i.'+_0x10a677+_0x5600('0x7a'));}else{_0x3c92e5['where']('i.'+_0x10a677+_0x5600('0x7b'),_0x740cba[_0x5600('0x3f')][_0x10a677]);}}});}if(_0x740cba['query']['read']){if(_0x740cba[_0x5600('0x3f')]['read']==0x1){_0x3c92e5[_0x5600('0x64')]('`unreadMessages`\x20=\x200');}else{_0x3c92e5[_0x5600('0x64')](_0x5600('0x7c'));}}if(_0x740cba[_0x5600('0x3f')]['tag']){_0x3b1abb=_[_0x5600('0x7d')](_0x740cba['query'][_0x5600('0x7e')])?_0x740cba['query']['tag']:new Array(_0x740cba[_0x5600('0x3f')][_0x5600('0x7e')]);_0x3b1abb[_0x5600('0x6c')](function(_0x3d2d10){_0x4f63ce['or'](_0x5600('0x7f'),'%,'+_0x3d2d10+',%');});}if(_0x740cba[_0x5600('0x3f')]['filter']){var _0xfaa25b=_0x740cba[_0x5600('0x3f')]['filter']['replace']('\x5c','\x5c\x5c')[_0x5600('0x80')](/'/g,'\x27\x27');if(qs[_0x5600('0x81')](_0xfaa25b)){_0x28e210['or'](_0x5600('0x82'),_0xfaa25b+'%')['or']('i.fax\x20LIKE\x20?',_0xfaa25b+'%');}_0x28e210['or'](_0x5600('0x83'),_0xfaa25b+'%');}}_0x3c92e5[_0x5600('0x4a')](_0x28e210);_0x3c92e5[_0x5600('0x84')](_0x5600('0x85'));var _0x21348c={'type':db[_0x5600('0x86')][_0x5600('0x87')]['SELECT'],'raw':!![]};var _0x335b3a=_0x3c92e5['clone']();_0x335b3a['field'](_0x5600('0x85'));_0x335b3a['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x5600('0x62'));if(_0x54e74f[_0x5600('0x49')]){_0x54e74f['order'][_0x5600('0x6c')](function(_0x512cb3){var _0x1b59fd=_0x512cb3[0x0]==='contactName'?_0x512cb3[0x0]:'i.'+_0x512cb3[0x0];_0x3c92e5[_0x5600('0x49')](_0x1b59fd,_0x512cb3[0x1]===_0x5600('0x88')?![]:!![]);});}if(!_[_0x5600('0x89')](_0x3b1abb)){_0x3c92e5[_0x5600('0x64')](_0x4f63ce);_0x335b3a[_0x5600('0x4a')](_0x5600('0x8a'),_0x3b1abb);}BPromise[_0x5600('0x8b')]()['then'](function(){if(!_0x392198){if(_0x740cba['query'][_0x5600('0x74')])return;_0x335b3a[_0x5600('0x4a')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');_0x3c92e5[_0x5600('0x4a')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x740cba[_0x5600('0x8c')]['role']!==_0x5600('0x8d'))return;return _0x740cba[_0x5600('0x8c')][_0x5600('0x8e')]({'attributes':['id'],'raw':!![]})['then'](function(_0x2849b2){if(_[_0x5600('0x89')](_0x2849b2)){_0x335b3a['where'](_0x5600('0x8f'));_0x3c92e5[_0x5600('0x4a')]('i.FaxAccountId\x20IS\x20NULL');}else{_0x335b3a[_0x5600('0x4a')](_0x5600('0x90'),_[_0x5600('0x2c')](_0x2849b2,'id'));_0x3c92e5[_0x5600('0x4a')](_0x5600('0x90'),_['map'](_0x2849b2,'id'));}});})[_0x5600('0x26')](function(){if(_0x740cba[_0x5600('0x8c')][_0x5600('0x91')]==='agent'&&!_0x392198&&!_0x740cba[_0x5600('0x3f')]['FaxAccountId'])return[];return db[_0x5600('0x92')][_0x5600('0x3f')](_0x335b3a['toString'](),_0x21348c);})[_0x5600('0x26')](function(_0x5133bb){_0x58e36f['count']=_0x5133bb[_0x5600('0x93')];if(_0x58e36f[_0x5600('0x21')]===0x0)return[];return db[_0x5600('0x92')][_0x5600('0x3f')](_0x1d9585[_0x5600('0x94')](),_0x21348c)[_0x5600('0x26')](function(_0x4c6b99){_0x4dfb1c=_[_0x5600('0x95')](_0x4c6b99,'id');_0x21348c=_[_0x5600('0x96')](_0x21348c,{'model':db[_0x5600('0x3b')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x740cba[_0x5600('0x3f')]['fields']){_0x54e74f[_0x5600('0x43')]['forEach'](function(_0x3ac73c){_0x3c92e5[_0x5600('0x4d')]('i.'+_0x3ac73c);});}else{_0x3c92e5['field'](_0x5600('0x97'),_0x5600('0x62'));_0x3c92e5[_0x5600('0x4d')](_0x5600('0x98'),_0x5600('0x99'));_0x3c92e5[_0x5600('0x4d')](_0x5600('0x9a'),_0x5600('0x9b'));_0x3c92e5[_0x5600('0x4d')]('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',_0x5600('0x9c'));_0x3c92e5[_0x5600('0x4d')](_0x5600('0x9d'));_0x3c92e5[_0x5600('0x4d')](_0x5600('0x9e'),_0x5600('0x9f'));_0x3c92e5[_0x5600('0x4d')](_0x5600('0xa0'),'Contact.lastName');_0x3c92e5['field']('c.email',_0x5600('0xa1'));_0x3c92e5[_0x5600('0x4d')](_0x5600('0xa2'),_0x5600('0xa3'));_0x3c92e5[_0x5600('0x4d')](_0x5600('0xa4'),_0x5600('0xa5'));_0x3c92e5['field']('c.fax','Contact.fax');_0x3c92e5['field'](_0x5600('0xa6'),_0x5600('0xa7'));_0x3c92e5[_0x5600('0x4d')](_0x5600('0xa8'),_0x5600('0xa9'));_0x3c92e5[_0x5600('0x4d')](_0x5600('0xaa'),_0x5600('0x2e'));}if(_0x54e74f[_0x5600('0x48')])_0x3c92e5['limit'](_0x54e74f[_0x5600('0x48')]);if(_0x54e74f['offset'])_0x3c92e5['offset'](_0x54e74f[_0x5600('0x22')]);return db[_0x5600('0x92')]['query'](_0x3c92e5[_0x5600('0x94')](),_0x21348c);})[_0x5600('0x26')](function(_0x211f1f){if(_0x211f1f[_0x5600('0x93')]>0x0)_0x58c5e5[_0x5600('0x4a')]('ui.FaxInteractionId\x20IN\x20?',_[_0x5600('0x2c')](_0x211f1f,'id'));return db['sequelize'][_0x5600('0x3f')](_0x58c5e5[_0x5600('0x94')](),_0x21348c)[_0x5600('0x26')](function(_0x282d9b){var _0x5e6ac3=_['groupBy'](_0x282d9b,_0x5600('0xab'));var _0x1907ef=[];_0x211f1f[_0x5600('0x6c')](function(_0xc28f91){_0x1907ef[_0x5600('0x31')](updateFaxInteraction(_0xc28f91,_0x4dfb1c,_0x5e6ac3));});return BPromise['all'](_0x1907ef);});});})['then'](function(_0x1368a3){_0x58e36f[_0x5600('0xac')]=_0x1368a3;return _0x58e36f;})[_0x5600('0x26')](respondWithFilteredResult(_0x49de89,_0x54e74f))['catch'](handleError(_0x49de89,null));};exports[_0x5600('0xad')]=function(_0x2e1af6,_0x396b19){var _0x46f03f={'raw':![],'where':{'id':_0x2e1af6[_0x5600('0xae')]['id']}},_0x3ff3b9={};_0x3ff3b9[_0x5600('0x44')]=_[_0x5600('0x40')](db['FaxInteraction'][_0x5600('0x3c')]);_0x3ff3b9[_0x5600('0x3f')]=_[_0x5600('0x40')](_0x2e1af6[_0x5600('0x3f')]);_0x3ff3b9[_0x5600('0x41')]=_['intersection'](_0x3ff3b9[_0x5600('0x44')],_0x3ff3b9[_0x5600('0x3f')]);_0x46f03f[_0x5600('0x43')]=_[_0x5600('0x42')](_0x3ff3b9['model'],qs['fields'](_0x2e1af6[_0x5600('0x3f')][_0x5600('0x45')]));_0x46f03f['attributes']=_0x46f03f[_0x5600('0x43')]['length']?_0x46f03f['attributes']:_0x3ff3b9[_0x5600('0x44')];if(_0x2e1af6[_0x5600('0x3f')]['includeAll']){_0x46f03f[_0x5600('0xaf')]=[{'all':!![]}];}_0x46f03f=_[_0x5600('0x96')]({},_0x46f03f,_0x2e1af6['options']);return db[_0x5600('0x3b')]['find'](_0x46f03f)[_0x5600('0x26')](handleEntityNotFound(_0x396b19,null))[_0x5600('0x26')](respondWithResult(_0x396b19,null))[_0x5600('0x32')](handleError(_0x396b19,null));};exports[_0x5600('0xb0')]=function(_0x5db815,_0x31e162){return db[_0x5600('0x3b')]['create'](_0x5db815[_0x5600('0x71')],{})[_0x5600('0x26')](respondWithResult(_0x31e162,0xc9))[_0x5600('0x32')](handleError(_0x31e162,null));};exports[_0x5600('0x25')]=function(_0x5a6ef4,_0xfbc563){if(_0x5a6ef4[_0x5600('0x71')]['id']){delete _0x5a6ef4[_0x5600('0x71')]['id'];}return db[_0x5600('0x3b')][_0x5600('0x6f')]({'where':{'id':_0x5a6ef4[_0x5600('0xae')]['id']}})['then'](handleEntityNotFound(_0xfbc563,null))[_0x5600('0x26')](saveUpdates(_0x5a6ef4[_0x5600('0x71')],null))[_0x5600('0x26')](respondWithResult(_0xfbc563,null))[_0x5600('0x32')](handleError(_0xfbc563,null));};exports[_0x5600('0x27')]=function(_0x14d3aa,_0x550801){return db[_0x5600('0x3b')]['find']({'where':{'id':_0x14d3aa[_0x5600('0xae')]['id']}})[_0x5600('0x26')](handleEntityNotFound(_0x550801,null))[_0x5600('0x26')](removeEntity(_0x550801,null))['catch'](handleError(_0x550801,null));};exports[_0x5600('0xb1')]=function(_0x11264b,_0x2d6be1){return db[_0x5600('0x3b')]['describe']()[_0x5600('0x26')](respondWithResult(_0x2d6be1,null))[_0x5600('0x32')](handleError(_0x2d6be1,null));};exports[_0x5600('0xb2')]=function(_0x23727c,_0x3b86df,_0xba6c5a){return db[_0x5600('0xb3')][_0x5600('0x6f')]({'where':{'id':_0x23727c[_0x5600('0xae')]['id']}})['then'](handleEntityNotFound(_0x3b86df,null))[_0x5600('0x26')](function(_0x47d416){if(_0x47d416){return _0x47d416[_0x5600('0xb2')](_0x23727c['body'][_0x5600('0xb4')],_[_0x5600('0xb5')](_0x23727c[_0x5600('0x71')],[_0x5600('0xb4'),'id'])||{});}})[_0x5600('0x26')](respondWithResult(_0x3b86df,null))['catch'](handleError(_0x3b86df,null));};exports[_0x5600('0xb6')]=function(_0xfc51e2,_0x53d9e5,_0x1e69fc){var _0x3e12ba={'raw':![],'where':{}};var _0x13f3ae={};var _0x16cafa={'count':0x0,'rows':[]};return db[_0x5600('0x3b')]['findOne']({'where':{'id':_0xfc51e2[_0x5600('0xae')]['id']}})['then'](handleEntityNotFound(_0x53d9e5,null))[_0x5600('0x26')](function(_0x43b6bf){if(_0x43b6bf){_0x13f3ae['model']=_[_0x5600('0x40')](db[_0x5600('0xb3')][_0x5600('0x3c')]);_0x13f3ae[_0x5600('0x3f')]=_['keys'](_0xfc51e2[_0x5600('0x3f')]);_0x13f3ae[_0x5600('0x41')]=_[_0x5600('0x42')](_0x13f3ae[_0x5600('0x44')],_0x13f3ae['query']);_0x3e12ba[_0x5600('0x43')]=_[_0x5600('0x42')](_0x13f3ae['model'],qs['fields'](_0xfc51e2[_0x5600('0x3f')][_0x5600('0x45')]));_0x3e12ba[_0x5600('0x43')]=_0x3e12ba[_0x5600('0x43')][_0x5600('0x93')]?_0x3e12ba[_0x5600('0x43')]:_0x13f3ae[_0x5600('0x44')];if(!_0xfc51e2[_0x5600('0x3f')][_0x5600('0x46')](_0x5600('0x47'))){_0x3e12ba[_0x5600('0x48')]=qs[_0x5600('0x48')](_0xfc51e2[_0x5600('0x3f')][_0x5600('0x48')]);_0x3e12ba[_0x5600('0x22')]=qs['offset'](_0xfc51e2[_0x5600('0x3f')][_0x5600('0x22')]);}_0x3e12ba[_0x5600('0x49')]=qs[_0x5600('0xb7')](_0xfc51e2[_0x5600('0x3f')][_0x5600('0xb7')]);_0x3e12ba[_0x5600('0x4a')]=qs[_0x5600('0x41')](_[_0x5600('0x4b')](_0xfc51e2[_0x5600('0x3f')],_0x13f3ae[_0x5600('0x41')]));_0x3e12ba[_0x5600('0x4a')][_0x5600('0xab')]=_0x43b6bf['id'];if(_0xfc51e2[_0x5600('0x3f')][_0x5600('0xb8')]){_0x3e12ba['where']=_[_0x5600('0x96')](_0x3e12ba['where'],{'$or':_['map'](_0x3e12ba[_0x5600('0x43')],function(_0x50edc4){var _0x1d9dee={};_0x1d9dee[_0x50edc4]={'$like':'%'+_0xfc51e2[_0x5600('0x3f')][_0x5600('0xb8')]+'%'};return _0x1d9dee;})});}if(_0xfc51e2[_0x5600('0x3f')][_0x5600('0x76')]){var _0x5eca5d=_0xfc51e2['query'][_0x5600('0x76')]['split'](',');var _0x17eada={};_0x17eada[_0x5eca5d[0x0]]={'$gte':moment(_0x5eca5d[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x3e12ba[_0x5600('0x4a')]=_[_0x5600('0x96')](_0x3e12ba[_0x5600('0x4a')],_0x17eada);}_0x3e12ba=_[_0x5600('0x96')]({},_0x3e12ba,_0xfc51e2[_0x5600('0xb9')]);return db[_0x5600('0xb3')][_0x5600('0x21')]({'where':_0x3e12ba[_0x5600('0x4a')]})['then'](function(_0x3d38e8){_0x16cafa[_0x5600('0x21')]=_0x3d38e8;if(_0xfc51e2[_0x5600('0x3f')][_0x5600('0xba')]){_0x3e12ba[_0x5600('0xaf')]=[{'all':!![]}];}return db[_0x5600('0xb3')][_0x5600('0xbb')](_0x3e12ba);})['then'](function(_0x57d387){_0x16cafa[_0x5600('0xac')]=_0x57d387;return _0x16cafa;});}})[_0x5600('0x26')](respondWithFilteredResult(_0x53d9e5,_0x3e12ba))[_0x5600('0x32')](handleError(_0x53d9e5,null));};exports['addTags']=function(_0x4f1e9b,_0x31e91c,_0x2b2572){return db[_0x5600('0x3b')][_0x5600('0x6f')]({'where':{'id':_0x4f1e9b['params']['id']}})[_0x5600('0x26')](handleEntityNotFound(_0x31e91c,null))[_0x5600('0x26')](function(_0x1e7cae){if(_0x1e7cae){return _0x1e7cae[_0x5600('0xbc')](_0x4f1e9b[_0x5600('0x71')][_0x5600('0xb4')],_[_0x5600('0xb5')](_0x4f1e9b[_0x5600('0x71')],['ids','id'])||{})[_0x5600('0xbd')](function(){return db[_0x5600('0xbe')]['findAll']({'attributes':['id','name',_0x5600('0x4e')],'where':{'id':_0x4f1e9b[_0x5600('0x71')][_0x5600('0xb4')]}});})['then'](function(_0x516a02){socket[_0x5600('0xbf')](_0x5600('0xc0'),{'id':Number(_0x4f1e9b['params']['id']),'tags':_0x516a02||[]});return{'id':Number(_0x4f1e9b[_0x5600('0xae')]['id']),'tags':_0x516a02||[]};});}})[_0x5600('0x26')](respondWithResult(_0x31e91c,null))[_0x5600('0x32')](handleError(_0x31e91c,null));};exports['removeTags']=function(_0x167521,_0x5d4e48,_0x56119e){return db[_0x5600('0x3b')]['find']({'where':{'id':_0x167521[_0x5600('0xae')]['id']}})[_0x5600('0x26')](handleEntityNotFound(_0x5d4e48,null))[_0x5600('0x26')](function(_0x37c3e1){if(_0x37c3e1){return _0x37c3e1['removeTags'](_0x167521['query'][_0x5600('0xb4')]);}})['then'](respondWithStatusCode(_0x5d4e48,null))[_0x5600('0x32')](handleError(_0x5d4e48,null));};exports[_0x5600('0xc1')]=function(_0x4010cd,_0x43fb19){var _0x38aa93=moment()[_0x5600('0xc2')]()['toString']();var _0x54348e=path['join'](config[_0x5600('0xc3')],'server',_0x5600('0xc4'),_0x5600('0xc5'));var _0x29e3f7=path['join'](config[_0x5600('0xc3')],'server',_0x5600('0xc4'),'attachments');var _0x8dd347=path[_0x5600('0xc6')](_0x54348e,_0x38aa93);var _0x14eb6d=util[_0x5600('0xc7')](_0x5600('0xc8'),_0x4010cd[_0x5600('0xae')]['id'],_0x38aa93);var _0x52efb5=path[_0x5600('0xc6')](_0x54348e,_0x14eb6d);var _0x284de7=[];_0x284de7['push']({'model':db[_0x5600('0xc9')],'as':_0x5600('0xc9'),'raw':!![]});var _0x3c073f=[{'model':db[_0x5600('0xb3')],'as':_0x5600('0xca'),'attributes':['id',_0x5600('0x71'),_0x5600('0xcb')],'include':_0x284de7}];return db[_0x5600('0x3b')][_0x5600('0x6f')]({'where':{'id':_0x4010cd[_0x5600('0xae')]['id']},'include':_0x3c073f})[_0x5600('0x26')](handleEntityNotFound(_0x43fb19,null))[_0x5600('0x26')](function(_0x87dbd9){if(_0x87dbd9&&_0x87dbd9[_0x5600('0xca')]){var _0x4de788=_0x87dbd9['get']({'plain':!![]});fs[_0x5600('0xcc')](_0x8dd347);for(var _0x2de47a=0x0;_0x2de47a<_0x4de788[_0x5600('0xca')]['length'];_0x2de47a++){var _0x222917=_0x4de788[_0x5600('0xca')][_0x2de47a][_0x5600('0xc9')];if(_0x222917){var _0x567b5f=path[_0x5600('0xc6')](_0x29e3f7,_0x222917[_0x5600('0xcd')]);if(fs[_0x5600('0xce')](_0x567b5f)){fs[_0x5600('0xcf')](_0x567b5f)[_0x5600('0xd0')](fs['createWriteStream'](path[_0x5600('0xc6')](_0x8dd347,_0x222917[_0x5600('0xcd')])));}}}return BPromise['resolve']()[_0x5600('0x26')](function(){return new BPromise(function(_0x1b6c20,_0x558b7d){zipdir(_0x8dd347,{'saveTo':_0x52efb5},function(_0x336bf5,_0x224696){if(_0x336bf5)return _0x558b7d(_0x336bf5);return _0x1b6c20(_0x224696);});})[_0x5600('0x26')](function(){return new BPromise(function(_0x94e3e3,_0xc821){rimraf(_0x8dd347,function(_0xe1ee49){if(_0xe1ee49)_0xc821(_0xe1ee49);return _0x94e3e3();});});})[_0x5600('0x26')](function(){return _0x43fb19[_0x5600('0xc1')](_0x52efb5,_0x14eb6d,function(_0x49ae01){if(_0x49ae01){console[_0x5600('0xd1')](_0x5600('0xd2'),_0x49ae01);}else{fs[_0x5600('0xd3')](_0x52efb5);}});});});}else{return _0x43fb19['sendStatus'](0xc8);}})[_0x5600('0x32')](handleError(_0x43fb19,null));};