Built motion from commit (unavailable).|2.5.25
[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 _0xaca0=['params','options','create','describe','addMessage','FaxMessage','ids','omit','getMessages','nolimit','format','YYYY-MM-DD\x20HH:mm:ss','includeAll','include','findAll','addTags','setTags','spread','Tag','emit','removeTags','unix','join','root','server','tmp','files','attachments','transcript-%d-%s.zip','Attachment','mkdirSync','Messages','basename','existsSync','createReadStream','pipe','createWriteStream','download','log','err','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','status','end','json','count','offset','set','Content-Range','apply','reject','then','destroy','sendStatus','error','stack','name','Users','map','fullname','Tags','forEach','push','TagIds','catch','index','FaxInteraction','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','limit','sort','where','filters','pick','field','color','tools_tags','select','u.id','u.fullname','ui.FaxInteractionId','from','user_has_fax_interactions','left_join','users','fax_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','find','unreadMessages','value','`\x20=\x200','`\x20>\x200','$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','union','User','operator','UserId','body','compact','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','having','`unreadMessages`\x20=\x200','isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','isEmpty','t.id\x20IN\x20?','resolve','FaxAccountId','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','i.FaxAccountId\x20IS\x20NULL','agent','sequelize','toString','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','Contact.fax','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','FaxInteractionId','rows','show'];(function(_0x42fd1f,_0x83563b){var _0x1ec20d=function(_0x8f2617){while(--_0x8f2617){_0x42fd1f['push'](_0x42fd1f['shift']());}};_0x1ec20d(++_0x83563b);}(_0xaca0,0x106));var _0x0aca=function(_0x493e94,_0x40f11b){_0x493e94=_0x493e94-0x0;var _0x5a25b0=_0xaca0[_0x493e94];return _0x5a25b0;};'use strict';var pdf=require(_0x0aca('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x0aca('0x1'));var zipdir=require(_0x0aca('0x2'));var jsonpatch=require(_0x0aca('0x3'));var rp=require(_0x0aca('0x4'));var moment=require(_0x0aca('0x5'));var BPromise=require(_0x0aca('0x6'));var Mustache=require(_0x0aca('0x7'));var util=require('util');var path=require(_0x0aca('0x8'));var sox=require(_0x0aca('0x9'));var csv=require(_0x0aca('0xa'));var ejs=require(_0x0aca('0xb'));var fs=require('fs');var _=require(_0x0aca('0xc'));var squel=require(_0x0aca('0xd'));var crypto=require(_0x0aca('0xe'));var jsforce=require(_0x0aca('0xf'));var deskjs=require(_0x0aca('0x10'));var toCsv=require('to-csv');var querystring=require(_0x0aca('0x11'));var Papa=require(_0x0aca('0x12'));var Redis=require(_0x0aca('0x13'));var authService=require(_0x0aca('0x14'));var qs=require(_0x0aca('0x15'));var as=require(_0x0aca('0x16'));var hardwareService=require(_0x0aca('0x17'));var logger=require(_0x0aca('0x18'))(_0x0aca('0x19'));var utils=require(_0x0aca('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0x0aca('0x1b'));var db=require(_0x0aca('0x1c'))['db'];config[_0x0aca('0x1d')]=_[_0x0aca('0x1e')](config['redis'],{'host':_0x0aca('0x1f'),'port':0x18eb});var socket=require(_0x0aca('0x20'))(new Redis(config[_0x0aca('0x1d')]));require(_0x0aca('0x21'))[_0x0aca('0x22')](socket);function respondWithStatusCode(_0x1df57b,_0x35657d){_0x35657d=_0x35657d||0xcc;return function(_0x48ebed){if(_0x48ebed){return _0x1df57b['sendStatus'](_0x35657d);}return _0x1df57b[_0x0aca('0x23')](_0x35657d)[_0x0aca('0x24')]();};}function respondWithResult(_0x3a6463,_0x1a64c6){_0x1a64c6=_0x1a64c6||0xc8;return function(_0x3c4868){if(_0x3c4868){return _0x3a6463['status'](_0x1a64c6)[_0x0aca('0x25')](_0x3c4868);}};}function respondWithFilteredResult(_0xd1878b,_0x4acf03){return function(_0x2ae05){if(_0x2ae05){var _0x5d7050=_0x2ae05[_0x0aca('0x26')],_0x75adc3=_0x4acf03[_0x0aca('0x27')],_0x772d7e=_0x4acf03[_0x0aca('0x27')]+_0x4acf03['limit'],_0x25967a;if(_0x772d7e>=_0x5d7050){_0x772d7e=_0x5d7050;_0x25967a=0xc8;}else{_0x25967a=0xce;}_0xd1878b[_0x0aca('0x23')](_0x25967a);return _0xd1878b[_0x0aca('0x28')](_0x0aca('0x29'),_0x75adc3+'-'+_0x772d7e+'/'+_0x5d7050)[_0x0aca('0x25')](_0x2ae05);}return null;};}function patchUpdates(_0x2b0f6c){return function(_0x590f50){try{jsonpatch[_0x0aca('0x2a')](_0x590f50,_0x2b0f6c,!![]);}catch(_0x2f8470){return BPromise[_0x0aca('0x2b')](_0x2f8470);}return _0x590f50['save']();};}function saveUpdates(_0x5363b6,_0x4172df){return function(_0x2caa4f){if(_0x2caa4f){return _0x2caa4f['update'](_0x5363b6)[_0x0aca('0x2c')](function(_0xa27c20){return _0xa27c20;});}return null;};}function removeEntity(_0x3e43d2,_0x50ee4c){return function(_0x233c42){if(_0x233c42){return _0x233c42[_0x0aca('0x2d')]()[_0x0aca('0x2c')](function(){_0x3e43d2[_0x0aca('0x23')](0xcc)[_0x0aca('0x24')]();});}};}function handleEntityNotFound(_0x349e20,_0xc4ca54){return function(_0x4ed59a){if(!_0x4ed59a){_0x349e20[_0x0aca('0x2e')](0x194);}return _0x4ed59a;};}function handleError(_0x40570b,_0x3b9ddb){_0x3b9ddb=_0x3b9ddb||0x1f4;return function(_0x49b7cd){logger[_0x0aca('0x2f')](_0x49b7cd[_0x0aca('0x30')]);if(_0x49b7cd[_0x0aca('0x31')]){delete _0x49b7cd[_0x0aca('0x31')];}_0x40570b[_0x0aca('0x23')](_0x3b9ddb)['send'](_0x49b7cd);};}function getInteractionUsers(_0x42b65d,_0xe34e8f){return new BPromise(function(_0x2f69e4,_0x5376f5){try{if(_0xe34e8f[_0x42b65d['id']]){_0x42b65d[_0x0aca('0x32')]=_[_0x0aca('0x33')](_0xe34e8f[_0x42b65d['id']],function(_0x472ec2){return{'id':_0x472ec2['id'],'fullname':_0x472ec2[_0x0aca('0x34')]};});}}catch(_0x160345){_0x5376f5(_0x160345);}_0x2f69e4(_0x42b65d);});}function getInteractionTags(_0x2c6e70,_0x52b50b){return new BPromise(function(_0x586d1a,_0x4a727c){try{if(_0x2c6e70['TagIds']){_0x2c6e70[_0x0aca('0x35')]=[];_0x2c6e70['TagIds']['split'](',')[_0x0aca('0x36')](function(_0x34dd55){_0x2c6e70[_0x0aca('0x35')][_0x0aca('0x37')](_0x52b50b[_0x34dd55]);});}delete _0x2c6e70[_0x0aca('0x38')];}catch(_0x37fb04){_0x4a727c(_0x37fb04);}_0x586d1a(_0x2c6e70);});}function updateFaxInteraction(_0x500923,_0x53bfb1,_0x53741d){return new BPromise(function(_0x3f49cc,_0x1e468c){return getInteractionUsers(_0x500923,_0x53741d)[_0x0aca('0x2c')](function(_0x2391bf){return getInteractionTags(_0x2391bf,_0x53bfb1);})['then'](function(_0x1b734a){_0x3f49cc(_0x1b734a);})[_0x0aca('0x39')](function(_0x2519de){_0x1e468c(_0x2519de);});});}exports[_0x0aca('0x3a')]=function(_0x2b38cf,_0x14fcb7){var _0x3ee839={},_0x22b737={},_0x50d170={'count':0x0,'rows':[]};var _0x2bedc1=_[_0x0aca('0x33')](db[_0x0aca('0x3b')][_0x0aca('0x3c')],function(_0x2f271a){return{'name':_0x2f271a[_0x0aca('0x3d')],'type':_0x2f271a[_0x0aca('0x3e')]['key']};});_0x22b737[_0x0aca('0x3f')]=_[_0x0aca('0x33')](_0x2bedc1,_0x0aca('0x31'));_0x22b737[_0x0aca('0x40')]=_[_0x0aca('0x41')](_0x2b38cf[_0x0aca('0x40')]);_0x22b737['filters']=_[_0x0aca('0x42')](_0x22b737[_0x0aca('0x3f')],_0x22b737[_0x0aca('0x40')]);_0x3ee839[_0x0aca('0x43')]=_['intersection'](_0x22b737[_0x0aca('0x3f')],qs[_0x0aca('0x44')](_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x44')]));_0x3ee839[_0x0aca('0x43')]=_0x3ee839[_0x0aca('0x43')][_0x0aca('0x45')]?_0x3ee839[_0x0aca('0x43')]:_0x22b737[_0x0aca('0x3f')];if(!_0x2b38cf['query'][_0x0aca('0x46')]('nolimit')){_0x3ee839['limit']=qs[_0x0aca('0x47')](_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x47')]);_0x3ee839[_0x0aca('0x27')]=qs['offset'](_0x2b38cf['query'][_0x0aca('0x27')]);}_0x3ee839['order']=qs[_0x0aca('0x48')](_0x2b38cf['query']['sort']);_0x3ee839[_0x0aca('0x49')]=qs[_0x0aca('0x4a')](_[_0x0aca('0x4b')](_0x2b38cf[_0x0aca('0x40')],_0x22b737[_0x0aca('0x4a')]),_0x2bedc1);var _0xb6c293=[];var _0x5229e5=squel['select']()[_0x0aca('0x4c')]('id')[_0x0aca('0x4c')](_0x0aca('0x31'))[_0x0aca('0x4c')](_0x0aca('0x4d'))['from'](_0x0aca('0x4e'));var _0xbc8f20=squel[_0x0aca('0x4f')]()[_0x0aca('0x4c')](_0x0aca('0x50'))[_0x0aca('0x4c')](_0x0aca('0x51'))['field'](_0x0aca('0x52'))[_0x0aca('0x53')](_0x0aca('0x54'),'ui')[_0x0aca('0x55')](_0x0aca('0x56'),'u','u.id\x20=\x20ui.UserId');var _0x17b766=squel[_0x0aca('0x4f')]()[_0x0aca('0x53')](_0x0aca('0x57'),'i')[_0x0aca('0x55')](_0x0aca('0x58'),'c',_0x0aca('0x59'))[_0x0aca('0x55')](_0x0aca('0x56'),'o','o.id\x20=\x20i.UserId')[_0x0aca('0x55')]('fax_accounts','a','a.id\x20=\x20i.FaxAccountId')['left_join'](_0x0aca('0x5a'),'me',_0x0aca('0x5b'))['left_join'](_0x0aca('0x5c'),'it','it.FaxInteractionId\x20=\x20i.id')['left_join'](_0x0aca('0x4e'),'t',_0x0aca('0x5d'));var _0x315af5=squel['expr']();var _0x22219c=[];var _0x582222=squel[_0x0aca('0x5e')]();var _0x1d16aa;if(_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x5f')]){_0x1d16aa=as[_0x0aca('0x60')](_0x2b38cf[_0x0aca('0x40')]['search']);var _0x5303e3=_0x1d16aa['sqlOperator'];for(var _0x4e9bfa=0x0;_0x4e9bfa<_0x1d16aa[_0x0aca('0x61')][_0x0aca('0x45')];_0x4e9bfa++){var _0x59c76f=_0x1d16aa[_0x0aca('0x61')][_0x4e9bfa];var _0xf097ea='i';var _0x1c634a=_[_0x0aca('0x62')](_0x2bedc1,[_0x0aca('0x31'),_0x59c76f[_0x0aca('0x4c')]]);if(!_0x1c634a){switch(_0x59c76f[_0x0aca('0x4c')]){case _0x0aca('0x63'):if(_0x59c76f[_0x0aca('0x64')]==0x1){_0x17b766['having']('`'+_0x59c76f[_0x0aca('0x4c')]+_0x0aca('0x65'));}else{_0x17b766['having']('`'+_0x59c76f[_0x0aca('0x4c')]+_0x0aca('0x66'));}break;case'Contact':if(_0x59c76f['operator']===_0x0aca('0x67')){if(_0x59c76f[_0x0aca('0x64')][_0x0aca('0x68')]('\x20')[_0x0aca('0x45')]>0x1){_0x315af5[_0x5303e3](_0x0aca('0x69'),qs[_0x0aca('0x6a')](_0x59c76f['value']),null);}else{var _0x501af7='%'+_0x59c76f[_0x0aca('0x64')]+'%';_0x315af5[_0x5303e3](_0x0aca('0x6b'),_0x501af7,_0x501af7,_0x501af7);}}else{_0x1c634a=_[_0x0aca('0x62')](_0x2bedc1,[_0x0aca('0x31'),_0x0aca('0x6c')]);_0x59c76f[_0x0aca('0x4c')]='ContactId';_0x32d7c8=as[_0x0aca('0x6d')](_0xf097ea,_0x1c634a[_0x0aca('0x3e')],_0x59c76f);_0x315af5[_0x5303e3](_0x32d7c8[_0x0aca('0x6e')],_0x32d7c8[_0x0aca('0x64')][_0x0aca('0x6f')],_0x32d7c8['value']['end']);}break;case'Tag':var _0x8231f8=_0x59c76f[_0x0aca('0x64')][_0x0aca('0x68')](',')['map'](function(_0x457cc1){return Number(_0x457cc1);});_0x8231f8[_0x0aca('0x36')](function(_0x51db33){_0x582222['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x51db33+',%');});_0x22219c=_[_0x0aca('0x70')](_0x22219c,_0x8231f8);break;case _0x0aca('0x71'):if(_0x59c76f[_0x0aca('0x72')]===_0x0aca('0x67')){_0x315af5[_0x5303e3]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x59c76f[_0x0aca('0x64')]+'%',null);}else{_0x1c634a=_[_0x0aca('0x62')](_0x2bedc1,[_0x0aca('0x31'),_0x0aca('0x73')]);_0x59c76f['field']=_0x0aca('0x73');_0x32d7c8=as['buildExpression'](_0xf097ea,_0x1c634a[_0x0aca('0x3e')],_0x59c76f);_0x315af5[_0x5303e3](_0x32d7c8[_0x0aca('0x6e')],_0x32d7c8[_0x0aca('0x64')][_0x0aca('0x6f')],_0x32d7c8[_0x0aca('0x64')]['end']);}break;case _0x0aca('0x74'):_0x32d7c8=as[_0x0aca('0x6d')]('me',null,_0x59c76f);_0x315af5[_0x5303e3](_0x32d7c8[_0x0aca('0x6e')],_0x32d7c8[_0x0aca('0x64')][_0x0aca('0x6f')],_0x32d7c8[_0x0aca('0x64')][_0x0aca('0x24')]);break;}}else{var _0x32d7c8=as[_0x0aca('0x6d')](_0xf097ea,_0x1c634a[_0x0aca('0x3e')],_0x59c76f);_0x315af5[_0x5303e3](_0x32d7c8['text'],_0x32d7c8[_0x0aca('0x64')][_0x0aca('0x6f')],_0x32d7c8[_0x0aca('0x64')][_0x0aca('0x24')]);}}}else{var _0x5d317b=_(_0x2b38cf[_0x0aca('0x40')])[_0x0aca('0x41')]()[_0x0aca('0x33')](function(_0x21108a){return _['some'](_0x2bedc1,[_0x0aca('0x31'),_0x21108a])?_0x21108a:undefined;})[_0x0aca('0x75')]()['value']();if(!_['isEmpty'](_0x5d317b)){_0x5d317b[_0x0aca('0x36')](function(_0x5d2c09){if(_0x5d2c09==='FaxAccountId'){_0x17b766[_0x0aca('0x49')](_0x0aca('0x76'),[][_0x0aca('0x77')](_0x2b38cf[_0x0aca('0x40')][_0x5d2c09]));}else if(_0x5d2c09===_0x0aca('0x78')){var _0x3564b7=JSON[_0x0aca('0x79')](_0x2b38cf[_0x0aca('0x40')][_0x5d2c09])[_0x0aca('0x7a')];var _0x36a946=JSON[_0x0aca('0x79')](_0x2b38cf[_0x0aca('0x40')][_0x5d2c09])['$lte'];_0x17b766['where'](_0x0aca('0x7b'),_0x3564b7,_0x36a946);}else{if(_0x2b38cf[_0x0aca('0x40')][_0x5d2c09]===_0x0aca('0x7c')){_0x17b766[_0x0aca('0x49')]('i.'+_0x5d2c09+_0x0aca('0x7d'));}else{_0x17b766[_0x0aca('0x49')]('i.'+_0x5d2c09+_0x0aca('0x7e'),_0x2b38cf[_0x0aca('0x40')][_0x5d2c09]);}}});}if(_0x2b38cf['query'][_0x0aca('0x7f')]){if(_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x7f')]==0x1){_0x17b766[_0x0aca('0x80')](_0x0aca('0x81'));}else{_0x17b766[_0x0aca('0x80')]('`unreadMessages`\x20>\x200');}}if(_0x2b38cf['query']['tag']){_0x22219c=_[_0x0aca('0x82')](_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x83')])?_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x83')]:new Array(_0x2b38cf['query'][_0x0aca('0x83')]);_0x22219c[_0x0aca('0x36')](function(_0x554674){_0x582222['or'](_0x0aca('0x84'),'%,'+_0x554674+',%');});}if(_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x85')]){var _0x37eaba=_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x85')]['replace']('\x5c','\x5c\x5c')[_0x0aca('0x86')](/'/g,'\x27\x27');if(qs[_0x0aca('0x87')](_0x37eaba)){_0x315af5['or'](_0x0aca('0x88'),_0x37eaba+'%')['or'](_0x0aca('0x89'),_0x37eaba+'%');}_0x315af5['or'](_0x0aca('0x8a'),_0x37eaba+'%');}}_0x17b766[_0x0aca('0x49')](_0x315af5);_0x17b766[_0x0aca('0x8b')](_0x0aca('0x8c'));var _0x1c2f41={'type':db[_0x0aca('0x8d')]['QueryTypes'][_0x0aca('0x8e')],'raw':!![]};var _0x581b18=_0x17b766['clone']();_0x581b18[_0x0aca('0x4c')](_0x0aca('0x8c'));_0x581b18[_0x0aca('0x4c')](_0x0aca('0x8f'),_0x0aca('0x63'));if(_0x3ee839['order']){_0x3ee839[_0x0aca('0x90')][_0x0aca('0x36')](function(_0x255dba){var _0x5b14a7=_0x255dba[0x0]===_0x0aca('0x91')?_0x255dba[0x0]:'i.'+_0x255dba[0x0];_0x17b766[_0x0aca('0x90')](_0x5b14a7,_0x255dba[0x1]===_0x0aca('0x92')?![]:!![]);});}if(!_[_0x0aca('0x93')](_0x22219c)){_0x17b766[_0x0aca('0x80')](_0x582222);_0x581b18[_0x0aca('0x49')](_0x0aca('0x94'),_0x22219c);}BPromise[_0x0aca('0x95')]()[_0x0aca('0x2c')](function(){if(!_0x1d16aa){if(_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x96')])return;_0x581b18[_0x0aca('0x49')](_0x0aca('0x97'));_0x17b766[_0x0aca('0x49')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x2b38cf[_0x0aca('0x98')][_0x0aca('0x99')]!=='agent')return;return _0x2b38cf[_0x0aca('0x98')]['getFaxAccounts']({'attributes':['id'],'raw':!![]})['then'](function(_0x511218){if(_[_0x0aca('0x93')](_0x511218)){_0x581b18[_0x0aca('0x49')]('i.FaxAccountId\x20IS\x20NULL');_0x17b766[_0x0aca('0x49')](_0x0aca('0x9a'));}else{_0x581b18['where']('i.FaxAccountId\x20IN\x20?',_['map'](_0x511218,'id'));_0x17b766[_0x0aca('0x49')](_0x0aca('0x76'),_['map'](_0x511218,'id'));}});})['then'](function(){if(_0x2b38cf[_0x0aca('0x98')]['role']===_0x0aca('0x9b')&&!_0x1d16aa&&!_0x2b38cf[_0x0aca('0x40')][_0x0aca('0x96')])return[];return db[_0x0aca('0x9c')][_0x0aca('0x40')](_0x581b18[_0x0aca('0x9d')](),_0x1c2f41);})[_0x0aca('0x2c')](function(_0x1996cb){_0x50d170[_0x0aca('0x26')]=_0x1996cb['length'];if(_0x50d170[_0x0aca('0x26')]===0x0)return[];return db[_0x0aca('0x9c')][_0x0aca('0x40')](_0x5229e5[_0x0aca('0x9d')](),_0x1c2f41)[_0x0aca('0x2c')](function(_0x3f6d03){_0xb6c293=_[_0x0aca('0x9e')](_0x3f6d03,'id');_0x1c2f41=_[_0x0aca('0x9f')](_0x1c2f41,{'model':db[_0x0aca('0x3b')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2b38cf['query']['fields']){_0x3ee839[_0x0aca('0x43')][_0x0aca('0x36')](function(_0x23fdb2){_0x17b766[_0x0aca('0x4c')]('i.'+_0x23fdb2);});}else{_0x17b766['field'](_0x0aca('0x8f'),_0x0aca('0x63'));_0x17b766[_0x0aca('0x4c')](_0x0aca('0xa0'),_0x0aca('0xa1'));_0x17b766[_0x0aca('0x4c')](_0x0aca('0xa2'),_0x0aca('0xa3'));_0x17b766['field']('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',_0x0aca('0x91'));_0x17b766['field'](_0x0aca('0xa4'));_0x17b766[_0x0aca('0x4c')](_0x0aca('0xa5'),_0x0aca('0xa6'));_0x17b766[_0x0aca('0x4c')](_0x0aca('0xa7'),_0x0aca('0xa8'));_0x17b766[_0x0aca('0x4c')]('c.email',_0x0aca('0xa9'));_0x17b766['field'](_0x0aca('0xaa'),_0x0aca('0xab'));_0x17b766[_0x0aca('0x4c')](_0x0aca('0xac'),_0x0aca('0xad'));_0x17b766['field']('c.fax',_0x0aca('0xae'));_0x17b766[_0x0aca('0x4c')]('o.fullname',_0x0aca('0xaf'));_0x17b766[_0x0aca('0x4c')](_0x0aca('0xb0'),'Owner.internal');_0x17b766[_0x0aca('0x4c')](_0x0aca('0xb1'),_0x0aca('0x38'));}if(_0x3ee839[_0x0aca('0x47')])_0x17b766[_0x0aca('0x47')](_0x3ee839[_0x0aca('0x47')]);if(_0x3ee839[_0x0aca('0x27')])_0x17b766[_0x0aca('0x27')](_0x3ee839[_0x0aca('0x27')]);return db[_0x0aca('0x9c')][_0x0aca('0x40')](_0x17b766[_0x0aca('0x9d')](),_0x1c2f41);})[_0x0aca('0x2c')](function(_0x298d69){_0xbc8f20[_0x0aca('0x49')](_0x0aca('0xb2'),_[_0x0aca('0x33')](_0x298d69,'id'));return db[_0x0aca('0x9c')]['query'](_0xbc8f20[_0x0aca('0x9d')](),_0x1c2f41)[_0x0aca('0x2c')](function(_0xbcf8e8){var _0x4fcc6b=_['groupBy'](_0xbcf8e8,_0x0aca('0xb3'));var _0x79f114=[];_0x298d69[_0x0aca('0x36')](function(_0x7b3f17){_0x79f114['push'](updateFaxInteraction(_0x7b3f17,_0xb6c293,_0x4fcc6b));});return BPromise['all'](_0x79f114);});});})[_0x0aca('0x2c')](function(_0x426f68){_0x50d170[_0x0aca('0xb4')]=_0x426f68;return _0x50d170;})[_0x0aca('0x2c')](respondWithFilteredResult(_0x14fcb7,_0x3ee839))[_0x0aca('0x39')](handleError(_0x14fcb7,null));};exports[_0x0aca('0xb5')]=function(_0x2035df,_0x558ee8){var _0x6298ba={'raw':![],'where':{'id':_0x2035df[_0x0aca('0xb6')]['id']}},_0xf007dc={};_0xf007dc[_0x0aca('0x3f')]=_[_0x0aca('0x41')](db['FaxInteraction'][_0x0aca('0x3c')]);_0xf007dc[_0x0aca('0x40')]=_['keys'](_0x2035df[_0x0aca('0x40')]);_0xf007dc['filters']=_[_0x0aca('0x42')](_0xf007dc['model'],_0xf007dc[_0x0aca('0x40')]);_0x6298ba[_0x0aca('0x43')]=_[_0x0aca('0x42')](_0xf007dc[_0x0aca('0x3f')],qs[_0x0aca('0x44')](_0x2035df[_0x0aca('0x40')][_0x0aca('0x44')]));_0x6298ba[_0x0aca('0x43')]=_0x6298ba['attributes'][_0x0aca('0x45')]?_0x6298ba[_0x0aca('0x43')]:_0xf007dc[_0x0aca('0x3f')];if(_0x2035df[_0x0aca('0x40')]['includeAll']){_0x6298ba['include']=[{'all':!![]}];}_0x6298ba=_[_0x0aca('0x9f')]({},_0x6298ba,_0x2035df[_0x0aca('0xb7')]);return db[_0x0aca('0x3b')][_0x0aca('0x62')](_0x6298ba)[_0x0aca('0x2c')](handleEntityNotFound(_0x558ee8,null))[_0x0aca('0x2c')](respondWithResult(_0x558ee8,null))[_0x0aca('0x39')](handleError(_0x558ee8,null));};exports['create']=function(_0x230097,_0x4a8fc4){return db[_0x0aca('0x3b')][_0x0aca('0xb8')](_0x230097['body'],{})['then'](respondWithResult(_0x4a8fc4,0xc9))[_0x0aca('0x39')](handleError(_0x4a8fc4,null));};exports['update']=function(_0x4f0a39,_0x3f8b49){if(_0x4f0a39['body']['id']){delete _0x4f0a39['body']['id'];}return db['FaxInteraction'][_0x0aca('0x62')]({'where':{'id':_0x4f0a39[_0x0aca('0xb6')]['id']}})[_0x0aca('0x2c')](handleEntityNotFound(_0x3f8b49,null))[_0x0aca('0x2c')](saveUpdates(_0x4f0a39['body'],null))[_0x0aca('0x2c')](respondWithResult(_0x3f8b49,null))[_0x0aca('0x39')](handleError(_0x3f8b49,null));};exports[_0x0aca('0x2d')]=function(_0x3f2fca,_0x4c341a){return db[_0x0aca('0x3b')][_0x0aca('0x62')]({'where':{'id':_0x3f2fca[_0x0aca('0xb6')]['id']}})['then'](handleEntityNotFound(_0x4c341a,null))[_0x0aca('0x2c')](removeEntity(_0x4c341a,null))['catch'](handleError(_0x4c341a,null));};exports[_0x0aca('0xb9')]=function(_0x3cb157,_0x2a367f){return db[_0x0aca('0x3b')]['describe']()[_0x0aca('0x2c')](respondWithResult(_0x2a367f,null))[_0x0aca('0x39')](handleError(_0x2a367f,null));};exports[_0x0aca('0xba')]=function(_0x3aa407,_0x4e8cb1,_0x4d5b81){return db[_0x0aca('0xbb')][_0x0aca('0x62')]({'where':{'id':_0x3aa407[_0x0aca('0xb6')]['id']}})[_0x0aca('0x2c')](handleEntityNotFound(_0x4e8cb1,null))[_0x0aca('0x2c')](function(_0x593e7a){if(_0x593e7a){return _0x593e7a[_0x0aca('0xba')](_0x3aa407[_0x0aca('0x74')][_0x0aca('0xbc')],_[_0x0aca('0xbd')](_0x3aa407[_0x0aca('0x74')],[_0x0aca('0xbc'),'id'])||{});}})[_0x0aca('0x2c')](respondWithResult(_0x4e8cb1,null))[_0x0aca('0x39')](handleError(_0x4e8cb1,null));};exports[_0x0aca('0xbe')]=function(_0xc421db,_0x2e06cf,_0xf07d74){var _0xc21df0={'raw':![],'where':{}};var _0x50ab92={};var _0x413e25={'count':0x0,'rows':[]};return db[_0x0aca('0x3b')]['findOne']({'where':{'id':_0xc421db['params']['id']}})[_0x0aca('0x2c')](handleEntityNotFound(_0x2e06cf,null))[_0x0aca('0x2c')](function(_0xd80cd0){if(_0xd80cd0){_0x50ab92[_0x0aca('0x3f')]=_['keys'](db[_0x0aca('0xbb')][_0x0aca('0x3c')]);_0x50ab92[_0x0aca('0x40')]=_['keys'](_0xc421db['query']);_0x50ab92['filters']=_[_0x0aca('0x42')](_0x50ab92[_0x0aca('0x3f')],_0x50ab92['query']);_0xc21df0['attributes']=_[_0x0aca('0x42')](_0x50ab92['model'],qs['fields'](_0xc421db[_0x0aca('0x40')]['fields']));_0xc21df0[_0x0aca('0x43')]=_0xc21df0['attributes'][_0x0aca('0x45')]?_0xc21df0['attributes']:_0x50ab92[_0x0aca('0x3f')];if(!_0xc421db[_0x0aca('0x40')][_0x0aca('0x46')](_0x0aca('0xbf'))){_0xc21df0[_0x0aca('0x47')]=qs[_0x0aca('0x47')](_0xc421db[_0x0aca('0x40')][_0x0aca('0x47')]);_0xc21df0['offset']=qs[_0x0aca('0x27')](_0xc421db[_0x0aca('0x40')][_0x0aca('0x27')]);}_0xc21df0[_0x0aca('0x90')]=qs['sort'](_0xc421db['query'][_0x0aca('0x48')]);_0xc21df0[_0x0aca('0x49')]=qs[_0x0aca('0x4a')](_['pick'](_0xc421db[_0x0aca('0x40')],_0x50ab92[_0x0aca('0x4a')]));_0xc21df0[_0x0aca('0x49')][_0x0aca('0xb3')]=_0xd80cd0['id'];if(_0xc421db[_0x0aca('0x40')]['filter']){_0xc21df0[_0x0aca('0x49')]=_[_0x0aca('0x9f')](_0xc21df0[_0x0aca('0x49')],{'$or':_[_0x0aca('0x33')](_0xc21df0[_0x0aca('0x43')],function(_0x81c59a){var _0x1f30b8={};_0x1f30b8[_0x81c59a]={'$like':'%'+_0xc421db[_0x0aca('0x40')][_0x0aca('0x85')]+'%'};return _0x1f30b8;})});}if(_0xc421db['query']['$gte']){var _0x3beb79=_0xc421db[_0x0aca('0x40')]['$gte'][_0x0aca('0x68')](',');var _0x5da537={};_0x5da537[_0x3beb79[0x0]]={'$gte':moment(_0x3beb79[0x1])[_0x0aca('0xc0')](_0x0aca('0xc1'))};_0xc21df0[_0x0aca('0x49')]=_[_0x0aca('0x9f')](_0xc21df0[_0x0aca('0x49')],_0x5da537);}_0xc21df0=_[_0x0aca('0x9f')]({},_0xc21df0,_0xc421db[_0x0aca('0xb7')]);return db[_0x0aca('0xbb')][_0x0aca('0x26')]({'where':_0xc21df0[_0x0aca('0x49')]})[_0x0aca('0x2c')](function(_0x1780fb){_0x413e25['count']=_0x1780fb;if(_0xc421db[_0x0aca('0x40')][_0x0aca('0xc2')]){_0xc21df0[_0x0aca('0xc3')]=[{'all':!![]}];}return db[_0x0aca('0xbb')][_0x0aca('0xc4')](_0xc21df0);})[_0x0aca('0x2c')](function(_0xf44e7c){_0x413e25[_0x0aca('0xb4')]=_0xf44e7c;return _0x413e25;});}})[_0x0aca('0x2c')](respondWithFilteredResult(_0x2e06cf,_0xc21df0))['catch'](handleError(_0x2e06cf,null));};exports[_0x0aca('0xc5')]=function(_0x560bcc,_0x40e0a2,_0x5eb60f){return db[_0x0aca('0x3b')][_0x0aca('0x62')]({'where':{'id':_0x560bcc[_0x0aca('0xb6')]['id']}})[_0x0aca('0x2c')](handleEntityNotFound(_0x40e0a2,null))['then'](function(_0x3fae9f){if(_0x3fae9f){return _0x3fae9f[_0x0aca('0xc6')](_0x560bcc[_0x0aca('0x74')][_0x0aca('0xbc')],_[_0x0aca('0xbd')](_0x560bcc['body'],[_0x0aca('0xbc'),'id'])||{})[_0x0aca('0xc7')](function(){return db[_0x0aca('0xc8')][_0x0aca('0xc4')]({'attributes':['id','name',_0x0aca('0x4d')],'where':{'id':_0x560bcc['body'][_0x0aca('0xbc')]}});})[_0x0aca('0x2c')](function(_0x3e21e6){socket[_0x0aca('0xc9')]('faxInteractionTags:save',{'id':Number(_0x560bcc[_0x0aca('0xb6')]['id']),'tags':_0x3e21e6||[]});return{'id':Number(_0x560bcc['params']['id']),'tags':_0x3e21e6||[]};});}})['then'](respondWithResult(_0x40e0a2,null))[_0x0aca('0x39')](handleError(_0x40e0a2,null));};exports[_0x0aca('0xca')]=function(_0x556b1d,_0x174635,_0x2bb74a){return db[_0x0aca('0x3b')][_0x0aca('0x62')]({'where':{'id':_0x556b1d['params']['id']}})[_0x0aca('0x2c')](handleEntityNotFound(_0x174635,null))['then'](function(_0x31092a){if(_0x31092a){return _0x31092a[_0x0aca('0xca')](_0x556b1d[_0x0aca('0x40')][_0x0aca('0xbc')]);}})[_0x0aca('0x2c')](respondWithStatusCode(_0x174635,null))[_0x0aca('0x39')](handleError(_0x174635,null));};exports['download']=function(_0x540690,_0x3ca99c){var _0x2cda0b=moment()[_0x0aca('0xcb')]()[_0x0aca('0x9d')]();var _0x11ff89=path[_0x0aca('0xcc')](config[_0x0aca('0xcd')],_0x0aca('0xce'),'files',_0x0aca('0xcf'));var _0x48f908=path[_0x0aca('0xcc')](config[_0x0aca('0xcd')],_0x0aca('0xce'),_0x0aca('0xd0'),_0x0aca('0xd1'));var _0x4f8ed9=path[_0x0aca('0xcc')](_0x11ff89,_0x2cda0b);var _0x4b14f9=util[_0x0aca('0xc0')](_0x0aca('0xd2'),_0x540690[_0x0aca('0xb6')]['id'],_0x2cda0b);var _0x592212=path[_0x0aca('0xcc')](_0x11ff89,_0x4b14f9);var _0x3fe082=[];_0x3fe082[_0x0aca('0x37')]({'model':db['Attachment'],'as':_0x0aca('0xd3'),'raw':!![]});var _0x21f5e3=[{'model':db[_0x0aca('0xbb')],'as':'Messages','attributes':['id',_0x0aca('0x74'),_0x0aca('0x78')],'include':_0x3fe082}];return db['FaxInteraction'][_0x0aca('0x62')]({'where':{'id':_0x540690[_0x0aca('0xb6')]['id']},'include':_0x21f5e3})[_0x0aca('0x2c')](handleEntityNotFound(_0x3ca99c,null))[_0x0aca('0x2c')](function(_0x2646e4){if(_0x2646e4&&_0x2646e4['Messages']){var _0x529eb8=_0x2646e4['get']({'plain':!![]});fs[_0x0aca('0xd4')](_0x4f8ed9);for(var _0x571000=0x0;_0x571000<_0x529eb8['Messages'][_0x0aca('0x45')];_0x571000++){var _0x310067=_0x529eb8[_0x0aca('0xd5')][_0x571000]['Attachment'];if(_0x310067){var _0x443903=path[_0x0aca('0xcc')](_0x48f908,_0x310067[_0x0aca('0xd6')]);if(fs[_0x0aca('0xd7')](_0x443903)){fs[_0x0aca('0xd8')](_0x443903)[_0x0aca('0xd9')](fs[_0x0aca('0xda')](path[_0x0aca('0xcc')](_0x4f8ed9,_0x310067[_0x0aca('0xd6')])));}}}return BPromise[_0x0aca('0x95')]()[_0x0aca('0x2c')](function(){return new BPromise(function(_0x53edc5,_0x575f1e){zipdir(_0x4f8ed9,{'saveTo':_0x592212},function(_0x28c941,_0x3d3917){if(_0x28c941)return _0x575f1e(_0x28c941);return _0x53edc5(_0x3d3917);});})[_0x0aca('0x2c')](function(){return new BPromise(function(_0x403111,_0x1e8593){rimraf(_0x4f8ed9,function(_0xa014d8){if(_0xa014d8)_0x1e8593(_0xa014d8);return _0x403111();});});})[_0x0aca('0x2c')](function(){return _0x3ca99c[_0x0aca('0xdb')](_0x592212,_0x4b14f9,function(_0x66f5b1){if(_0x66f5b1){console[_0x0aca('0xdc')](_0x0aca('0xdd'),_0x66f5b1);}else{fs['unlinkSync'](_0x592212);}});});});}else{return _0x3ca99c['sendStatus'](0xc8);}})['catch'](handleError(_0x3ca99c,null));};