e68f5f1c57f336355b93a93dcb6f28c475f050c2
[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 _0x62bf=['split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','Tag','forEach','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','some','compact','isEmpty','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','createdAt','$gte','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','isNumeric','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','t.id\x20IN\x20?','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','toString','sequelize','keyBy','merge','a.key','Account.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','i.*','c.firstName','c.lastName','Contact.lastName','c.email','Contact.phone','c.mobile','c.fax','Contact.fax','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','push','all','show','includeAll','include','options','create','body','params','destroy','describe','addMessage','FaxMessage','ids','omit','findOne','format','findAll','rows','addTags','setTags','spread','emit','faxInteractionTags:save','removeTags','join','root','files','tmp','server','attachments','transcript-%d-%s.zip','Attachment','get','mkdirSync','Messages','basename','createReadStream','pipe','createWriteStream','resolve','log','unlinkSync','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','defaults','redis','./faxInteraction.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','error','stack','name','send','Users','map','TagIds','Tags','then','catch','waiting','talking','answered','unmanaged','closed','UserId','total','index','FaxInteraction','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','u.id','u.fullname','ui.FaxInteractionId','from','user_has_fax_interactions','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','me.FaxInteractionId\x20=\x20i.id','it.FaxInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','value'];(function(_0x5167a4,_0x4ac437){var _0xba0081=function(_0xad262a){while(--_0xad262a){_0x5167a4['push'](_0x5167a4['shift']());}};_0xba0081(++_0x4ac437);}(_0x62bf,0x15c));var _0xf62b=function(_0x1ae850,_0x2d4283){_0x1ae850=_0x1ae850-0x0;var _0x4a124b=_0x62bf[_0x1ae850];return _0x4a124b;};'use strict';var emlformat=require(_0xf62b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xf62b('0x1'));var jsonpatch=require(_0xf62b('0x2'));var rp=require(_0xf62b('0x3'));var moment=require(_0xf62b('0x4'));var BPromise=require(_0xf62b('0x5'));var Mustache=require(_0xf62b('0x6'));var util=require(_0xf62b('0x7'));var path=require(_0xf62b('0x8'));var sox=require(_0xf62b('0x9'));var csv=require(_0xf62b('0xa'));var ejs=require(_0xf62b('0xb'));var fs=require('fs');var fs_extra=require(_0xf62b('0xc'));var _=require(_0xf62b('0xd'));var squel=require('squel');var crypto=require(_0xf62b('0xe'));var jsforce=require(_0xf62b('0xf'));var deskjs=require(_0xf62b('0x10'));var toCsv=require(_0xf62b('0xa'));var querystring=require('querystring');var Papa=require(_0xf62b('0x11'));var Redis=require(_0xf62b('0x12'));var authService=require(_0xf62b('0x13'));var qs=require(_0xf62b('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf62b('0x15'));var logger=require(_0xf62b('0x16'))('api');var utils=require('../../config/utils');var config=require(_0xf62b('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xf62b('0x18'))['db'];config['redis']=_[_0xf62b('0x19')](config[_0xf62b('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xf62b('0x1b'))[_0xf62b('0x1c')](socket);function respondWithStatusCode(_0x12419d,_0x484f6f){_0x484f6f=_0x484f6f||0xcc;return function(_0x2bcbbd){if(_0x2bcbbd){return _0x12419d[_0xf62b('0x1d')](_0x484f6f);}return _0x12419d[_0xf62b('0x1e')](_0x484f6f)[_0xf62b('0x1f')]();};}function respondWithResult(_0x3533b6,_0x4652c4){_0x4652c4=_0x4652c4||0xc8;return function(_0x5bc15a){if(_0x5bc15a){return _0x3533b6[_0xf62b('0x1e')](_0x4652c4)[_0xf62b('0x20')](_0x5bc15a);}};}function respondWithFilteredResult(_0x23c428,_0x1280b4){return function(_0x595109){if(_0x595109){var _0x3eb9e6=typeof _0x1280b4[_0xf62b('0x21')]===_0xf62b('0x22')&&typeof _0x1280b4[_0xf62b('0x23')]===_0xf62b('0x22');var _0x20001a=_0x595109[_0xf62b('0x24')];var _0x18818f=_0x3eb9e6?0x0:_0x1280b4[_0xf62b('0x21')];var _0x5ca734=_0x3eb9e6?_0x595109[_0xf62b('0x24')]:_0x1280b4[_0xf62b('0x21')]+_0x1280b4[_0xf62b('0x23')];var _0x49620c;if(_0x5ca734>=_0x20001a){_0x5ca734=_0x20001a;_0x49620c=0xc8;}else{_0x49620c=0xce;}_0x23c428[_0xf62b('0x1e')](_0x49620c);return _0x23c428[_0xf62b('0x25')]('Content-Range',_0x18818f+'-'+_0x5ca734+'/'+_0x20001a)[_0xf62b('0x20')](_0x595109);}return null;};}function patchUpdates(_0xc1f81c){return function(_0x53ffce){try{jsonpatch[_0xf62b('0x26')](_0x53ffce,_0xc1f81c,!![]);}catch(_0x52e8c5){return BPromise[_0xf62b('0x27')](_0x52e8c5);}return _0x53ffce[_0xf62b('0x28')]();};}function saveUpdates(_0x2e84fd,_0x16a408){return function(_0x48f1d0){if(_0x48f1d0){return _0x48f1d0[_0xf62b('0x29')](_0x2e84fd)['then'](function(_0x19321d){return _0x19321d;});}return null;};}function removeEntity(_0x565445,_0x1c3b3e){return function(_0x44b98a){if(_0x44b98a){return _0x44b98a['destroy']()['then'](function(){_0x565445['status'](0xcc)[_0xf62b('0x1f')]();});}};}function handleEntityNotFound(_0x1afc59,_0x5b193d){return function(_0x3333a6){if(!_0x3333a6){_0x1afc59['sendStatus'](0x194);}return _0x3333a6;};}function handleError(_0x782fc0,_0xdca523){_0xdca523=_0xdca523||0x1f4;return function(_0x48928b){logger[_0xf62b('0x2a')](_0x48928b[_0xf62b('0x2b')]);if(_0x48928b[_0xf62b('0x2c')]){delete _0x48928b['name'];}_0x782fc0[_0xf62b('0x1e')](_0xdca523)[_0xf62b('0x2d')](_0x48928b);};}function getInteractionUsers(_0x276c5f,_0x44fafd){return new BPromise(function(_0xb7515,_0x48fe9d){try{if(_0x44fafd[_0x276c5f['id']]){_0x276c5f[_0xf62b('0x2e')]=_[_0xf62b('0x2f')](_0x44fafd[_0x276c5f['id']],function(_0x3098c5){return{'id':_0x3098c5['id'],'fullname':_0x3098c5['fullname']};});}}catch(_0x3e497d){_0x48fe9d(_0x3e497d);}_0xb7515(_0x276c5f);});}function getInteractionTags(_0x4290a3,_0x193018){return new BPromise(function(_0x42700b,_0xcb8fce){try{if(_0x4290a3[_0xf62b('0x30')]){_0x4290a3[_0xf62b('0x31')]=[];_0x4290a3[_0xf62b('0x30')]['split'](',')['forEach'](function(_0x2b26b1){_0x4290a3[_0xf62b('0x31')]['push'](_0x193018[_0x2b26b1]);});}delete _0x4290a3[_0xf62b('0x30')];}catch(_0x598aaf){_0xcb8fce(_0x598aaf);}_0x42700b(_0x4290a3);});}function updateFaxInteraction(_0x1b620b,_0x1ee581,_0x520906){return new BPromise(function(_0x23d8ac,_0x15bdbd){return getInteractionUsers(_0x1b620b,_0x520906)['then'](function(_0x16d158){return getInteractionTags(_0x16d158,_0x1ee581);})[_0xf62b('0x32')](function(_0x3a37b7){return getStateInteraction(_0x3a37b7);})[_0xf62b('0x32')](function(_0x1dc781){_0x23d8ac(_0x1dc781);})[_0xf62b('0x33')](function(_0x56f978){_0x15bdbd(_0x56f978);});});}function getStateInteraction(_0x57524a){return new BPromise(function(_0x454e8e){_0x57524a[_0xf62b('0x34')]=0x0;_0x57524a[_0xf62b('0x35')]=0x0;_0x57524a[_0xf62b('0x36')]=0x0;_0x57524a[_0xf62b('0x37')]=0x0;_0x57524a['total']=0x0;if(!_0x57524a[_0xf62b('0x38')]&&!_0x57524a[_0xf62b('0x39')]){_0x57524a['waiting']+=0x1;}if(!_0x57524a[_0xf62b('0x38')]&&_0x57524a[_0xf62b('0x39')]){_0x57524a['talking']+=0x1;if(_0x57524a['waiting']){_0x57524a['waiting']-=0x1;}}if(_0x57524a['closed']&&_0x57524a['UserId']){_0x57524a['answered']+=0x1;if(_0x57524a['talking']){_0x57524a['talking']-=0x1;}}if(_0x57524a['closed']&&!_0x57524a[_0xf62b('0x39')]){_0x57524a[_0xf62b('0x37')]+=0x1;if(_0x57524a[_0xf62b('0x34')]){_0x57524a[_0xf62b('0x34')]-=0x1;}}_0x57524a[_0xf62b('0x3a')]+=0x1;_0x454e8e(_0x57524a);});}exports[_0xf62b('0x3b')]=function(_0x5b6769,_0x3dc8bc){var _0x5ca63b={},_0x50c01b={},_0x1c5b57={'count':0x0,'rows':[]};var _0x4b5359=_[_0xf62b('0x2f')](db[_0xf62b('0x3c')][_0xf62b('0x3d')],function(_0xe4bbcf){return{'name':_0xe4bbcf[_0xf62b('0x3e')],'type':_0xe4bbcf[_0xf62b('0x3f')][_0xf62b('0x40')]};});_0x50c01b[_0xf62b('0x41')]=_[_0xf62b('0x2f')](_0x4b5359,_0xf62b('0x2c'));_0x50c01b[_0xf62b('0x42')]=_[_0xf62b('0x43')](_0x5b6769[_0xf62b('0x42')]);_0x50c01b[_0xf62b('0x44')]=_[_0xf62b('0x45')](_0x50c01b['model'],_0x50c01b[_0xf62b('0x42')]);_0x5ca63b[_0xf62b('0x46')]=_[_0xf62b('0x45')](_0x50c01b[_0xf62b('0x41')],qs[_0xf62b('0x47')](_0x5b6769[_0xf62b('0x42')][_0xf62b('0x47')]));_0x5ca63b[_0xf62b('0x46')]=_0x5ca63b[_0xf62b('0x46')][_0xf62b('0x48')]?_0x5ca63b[_0xf62b('0x46')]:_0x50c01b[_0xf62b('0x41')];if(!_0x5b6769[_0xf62b('0x42')][_0xf62b('0x49')](_0xf62b('0x4a'))){_0x5ca63b[_0xf62b('0x23')]=qs[_0xf62b('0x23')](_0x5b6769[_0xf62b('0x42')][_0xf62b('0x23')]);_0x5ca63b['offset']=qs[_0xf62b('0x21')](_0x5b6769[_0xf62b('0x42')]['offset']);}_0x5ca63b[_0xf62b('0x4b')]=qs[_0xf62b('0x4c')](_0x5b6769[_0xf62b('0x42')][_0xf62b('0x4c')]);_0x5ca63b[_0xf62b('0x4d')]=qs['filters'](_[_0xf62b('0x4e')](_0x5b6769[_0xf62b('0x42')],_0x50c01b[_0xf62b('0x44')]),_0x4b5359);var _0x2dea25=[];var _0x9a8c0f=squel[_0xf62b('0x4f')]()['field']('id')[_0xf62b('0x50')](_0xf62b('0x2c'))[_0xf62b('0x50')](_0xf62b('0x51'))['from']('tools_tags');var _0x574e1d=squel[_0xf62b('0x4f')]()[_0xf62b('0x50')](_0xf62b('0x52'))[_0xf62b('0x50')](_0xf62b('0x53'))[_0xf62b('0x50')](_0xf62b('0x54'))[_0xf62b('0x55')](_0xf62b('0x56'),'ui')[_0xf62b('0x57')](_0xf62b('0x58'),'u',_0xf62b('0x59'));var _0x3f0ccc=squel[_0xf62b('0x4f')]()[_0xf62b('0x55')]('fax_interactions','i')[_0xf62b('0x57')](_0xf62b('0x5a'),'c',_0xf62b('0x5b'))['left_join'](_0xf62b('0x58'),'o',_0xf62b('0x5c'))[_0xf62b('0x57')](_0xf62b('0x5d'),'a',_0xf62b('0x5e'))[_0xf62b('0x57')](_0xf62b('0x5f'),'me',_0xf62b('0x60'))[_0xf62b('0x57')]('fax_interaction_has_tags','it',_0xf62b('0x61'))['left_join'](_0xf62b('0x62'),'t',_0xf62b('0x63'));var _0x4b6be8=squel['expr']();var _0x19614f=[];var _0x13f19b=squel[_0xf62b('0x64')]();var _0x2ccbe2;if(_0x5b6769[_0xf62b('0x42')][_0xf62b('0x65')]){_0x2ccbe2=as[_0xf62b('0x66')](_0x5b6769['query'][_0xf62b('0x65')]);var _0x5b93a8=_0x2ccbe2[_0xf62b('0x67')];for(var _0xc05d05=0x0;_0xc05d05<_0x2ccbe2[_0xf62b('0x68')][_0xf62b('0x48')];_0xc05d05++){var _0x26ad89=_0x2ccbe2[_0xf62b('0x68')][_0xc05d05];var _0x179bca='i';var _0x21bc1f=_[_0xf62b('0x69')](_0x4b5359,[_0xf62b('0x2c'),_0x26ad89[_0xf62b('0x50')]]);if(!_0x21bc1f){switch(_0x26ad89[_0xf62b('0x50')]){case _0xf62b('0x6a'):if(_0x26ad89['value']==0x1){_0x3f0ccc[_0xf62b('0x6b')]('`'+_0x26ad89[_0xf62b('0x50')]+_0xf62b('0x6c'));}else{_0x3f0ccc[_0xf62b('0x6b')]('`'+_0x26ad89[_0xf62b('0x50')]+_0xf62b('0x6d'));}break;case _0xf62b('0x6e'):if(_0x26ad89[_0xf62b('0x6f')]===_0xf62b('0x70')){if(_0x26ad89[_0xf62b('0x71')][_0xf62b('0x72')]('\x20')[_0xf62b('0x48')]>0x1){_0x4b6be8[_0x5b93a8](_0xf62b('0x73'),qs[_0xf62b('0x74')](_0x26ad89[_0xf62b('0x71')]),null);}else{var _0x5df25d='%'+_0x26ad89['value']+'%';_0x4b6be8[_0x5b93a8](_0xf62b('0x75'),_0x5df25d,_0x5df25d,_0x5df25d);}}else{_0x21bc1f=_[_0xf62b('0x69')](_0x4b5359,[_0xf62b('0x2c'),'ContactId']);_0x26ad89['field']=_0xf62b('0x76');_0x2ba686=as[_0xf62b('0x77')](_0x179bca,_0x21bc1f['type'],_0x26ad89);_0x4b6be8[_0x5b93a8](_0x2ba686[_0xf62b('0x78')],_0x2ba686[_0xf62b('0x71')][_0xf62b('0x79')],_0x2ba686[_0xf62b('0x71')][_0xf62b('0x1f')]);}break;case _0xf62b('0x7a'):var _0x137508=_0x26ad89[_0xf62b('0x71')][_0xf62b('0x72')](',')['map'](function(_0x287276){return Number(_0x287276);});_0x137508[_0xf62b('0x7b')](function(_0x223cc1){_0x13f19b['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x223cc1+',%');});_0x19614f=_[_0xf62b('0x7c')](_0x19614f,_0x137508);break;case _0xf62b('0x7d'):if(_0x26ad89[_0xf62b('0x6f')]===_0xf62b('0x70')){_0x4b6be8[_0x5b93a8](_0xf62b('0x7e'),'%'+_0x26ad89[_0xf62b('0x71')]+'%',null);}else{_0x21bc1f=_[_0xf62b('0x69')](_0x4b5359,[_0xf62b('0x2c'),'UserId']);_0x26ad89['field']=_0xf62b('0x39');_0x2ba686=as[_0xf62b('0x77')](_0x179bca,_0x21bc1f[_0xf62b('0x3f')],_0x26ad89);_0x4b6be8[_0x5b93a8](_0x2ba686[_0xf62b('0x78')],_0x2ba686[_0xf62b('0x71')]['start'],_0x2ba686[_0xf62b('0x71')][_0xf62b('0x1f')]);}break;case'body':_0x2ba686=as[_0xf62b('0x77')]('me',null,_0x26ad89);_0x4b6be8[_0x5b93a8](_0x2ba686[_0xf62b('0x78')],_0x2ba686['value'][_0xf62b('0x79')],_0x2ba686[_0xf62b('0x71')][_0xf62b('0x1f')]);break;}}else{var _0x2ba686=as['buildExpression'](_0x179bca,_0x21bc1f[_0xf62b('0x3f')],_0x26ad89);_0x4b6be8[_0x5b93a8](_0x2ba686['text'],_0x2ba686['value'][_0xf62b('0x79')],_0x2ba686['value'][_0xf62b('0x1f')]);}}}else{var _0x41279c=_(_0x5b6769[_0xf62b('0x42')])[_0xf62b('0x43')]()[_0xf62b('0x2f')](function(_0xfa1e77){return _[_0xf62b('0x7f')](_0x4b5359,[_0xf62b('0x2c'),_0xfa1e77])?_0xfa1e77:undefined;})[_0xf62b('0x80')]()[_0xf62b('0x71')]();if(!_[_0xf62b('0x81')](_0x41279c)){_0x41279c[_0xf62b('0x7b')](function(_0x5e2c64){if(_0x5e2c64===_0xf62b('0x82')){_0x3f0ccc[_0xf62b('0x4d')](_0xf62b('0x83'),[][_0xf62b('0x84')](_0x5b6769[_0xf62b('0x42')][_0x5e2c64]));}else if(_0x5e2c64===_0xf62b('0x85')){var _0x45054a=JSON['parse'](_0x5b6769[_0xf62b('0x42')][_0x5e2c64])[_0xf62b('0x86')];var _0x24cb22=JSON[_0xf62b('0x87')](_0x5b6769[_0xf62b('0x42')][_0x5e2c64])[_0xf62b('0x88')];_0x3f0ccc['where'](_0xf62b('0x89'),_0x45054a,_0x24cb22);}else{if(_0x5b6769[_0xf62b('0x42')][_0x5e2c64]===_0xf62b('0x8a')){_0x3f0ccc[_0xf62b('0x4d')]('i.'+_0x5e2c64+_0xf62b('0x8b'));}else{_0x3f0ccc[_0xf62b('0x4d')]('i.'+_0x5e2c64+_0xf62b('0x8c'),_0x5b6769[_0xf62b('0x42')][_0x5e2c64]);}}});}if(_0x5b6769['query'][_0xf62b('0x8d')]){if(_0x5b6769['query'][_0xf62b('0x8d')]==0x1){_0x3f0ccc['having'](_0xf62b('0x8e'));}else{_0x3f0ccc[_0xf62b('0x6b')](_0xf62b('0x8f'));}}if(_0x5b6769[_0xf62b('0x42')]['tag']){_0x19614f=_[_0xf62b('0x90')](_0x5b6769[_0xf62b('0x42')][_0xf62b('0x91')])?_0x5b6769[_0xf62b('0x42')][_0xf62b('0x91')]:new Array(_0x5b6769['query'][_0xf62b('0x91')]);_0x19614f[_0xf62b('0x7b')](function(_0x5aa06a){_0x13f19b['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x5aa06a+',%');});}if(_0x5b6769[_0xf62b('0x42')]['filter']){var _0x5c3464=_0x5b6769[_0xf62b('0x42')][_0xf62b('0x92')][_0xf62b('0x93')]('\x5c','\x5c\x5c')[_0xf62b('0x93')](/'/g,'\x27\x27');if(qs[_0xf62b('0x94')](_0x5c3464)){_0x4b6be8['or']('i.id\x20LIKE\x20?',_0x5c3464+'%')['or']('i.fax\x20LIKE\x20?',_0x5c3464+'%');}_0x4b6be8['or'](_0xf62b('0x95'),_0x5c3464+'%');}}_0x3f0ccc[_0xf62b('0x4d')](_0x4b6be8);_0x3f0ccc[_0xf62b('0x96')](_0xf62b('0x97'));var _0x466ad7={'type':db[_0xf62b('0x98')][_0xf62b('0x99')][_0xf62b('0x9a')],'raw':!![]};var _0x22350f=_0x3f0ccc[_0xf62b('0x9b')]();_0x22350f[_0xf62b('0x50')](_0xf62b('0x97'));_0x22350f['field'](_0xf62b('0x9c'),_0xf62b('0x6a'));if(_0x5ca63b[_0xf62b('0x4b')]){_0x5ca63b[_0xf62b('0x4b')][_0xf62b('0x7b')](function(_0x166c98){var _0x4e68f3=_0x166c98[0x0]===_0xf62b('0x9d')?_0x166c98[0x0]:'i.'+_0x166c98[0x0];_0x3f0ccc[_0xf62b('0x4b')](_0x4e68f3,_0x166c98[0x1]==='DESC'?![]:!![]);});}if(!_[_0xf62b('0x81')](_0x19614f)){_0x3f0ccc[_0xf62b('0x6b')](_0x13f19b);_0x22350f[_0xf62b('0x4d')](_0xf62b('0x9e'),_0x19614f);}BPromise['resolve']()['then'](function(){if(!_0x2ccbe2){if(_0x5b6769[_0xf62b('0x42')][_0xf62b('0x82')])return;_0x22350f['where'](_0xf62b('0x9f'));_0x3f0ccc[_0xf62b('0x4d')](_0xf62b('0x9f'));return;}if(_0x5b6769[_0xf62b('0xa0')][_0xf62b('0xa1')]!=='agent')return;return _0x5b6769[_0xf62b('0xa0')][_0xf62b('0xa2')]({'attributes':['id'],'raw':!![]})[_0xf62b('0x32')](function(_0x1d0047){if(_['isEmpty'](_0x1d0047)){_0x22350f['where'](_0xf62b('0xa3'));_0x3f0ccc[_0xf62b('0x4d')](_0xf62b('0xa3'));}else{_0x22350f[_0xf62b('0x4d')](_0xf62b('0x83'),_[_0xf62b('0x2f')](_0x1d0047,'id'));_0x3f0ccc[_0xf62b('0x4d')](_0xf62b('0x83'),_['map'](_0x1d0047,'id'));}});})[_0xf62b('0x32')](function(){if(_0x5b6769['user']['role']==='agent'&&!_0x2ccbe2&&!_0x5b6769[_0xf62b('0x42')]['FaxAccountId'])return[];return db['sequelize'][_0xf62b('0x42')](_0x22350f[_0xf62b('0xa4')](),_0x466ad7);})['then'](function(_0x3c564f){_0x1c5b57['count']=_0x3c564f[_0xf62b('0x48')];if(_0x1c5b57[_0xf62b('0x24')]===0x0)return[];return db[_0xf62b('0xa5')][_0xf62b('0x42')](_0x9a8c0f[_0xf62b('0xa4')](),_0x466ad7)['then'](function(_0x3b35b0){_0x2dea25=_[_0xf62b('0xa6')](_0x3b35b0,'id');_0x466ad7=_[_0xf62b('0xa7')](_0x466ad7,{'model':db[_0xf62b('0x3c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5b6769[_0xf62b('0x42')][_0xf62b('0x47')]){_0x5ca63b[_0xf62b('0x46')]['forEach'](function(_0x4c8747){_0x3f0ccc['field']('i.'+_0x4c8747);});}else{_0x3f0ccc[_0xf62b('0x50')](_0xf62b('0x9c'),'unreadMessages');_0x3f0ccc[_0xf62b('0x50')](_0xf62b('0xa8'),_0xf62b('0xa9'));_0x3f0ccc['field'](_0xf62b('0xaa'),_0xf62b('0xab'));_0x3f0ccc[_0xf62b('0x50')](_0xf62b('0xac'),'contactName');_0x3f0ccc[_0xf62b('0x50')](_0xf62b('0xad'));_0x3f0ccc['field'](_0xf62b('0xae'),'Contact.firstName');_0x3f0ccc['field'](_0xf62b('0xaf'),_0xf62b('0xb0'));_0x3f0ccc[_0xf62b('0x50')](_0xf62b('0xb1'),'Contact.email');_0x3f0ccc['field']('c.phone',_0xf62b('0xb2'));_0x3f0ccc[_0xf62b('0x50')](_0xf62b('0xb3'),'Contact.mobile');_0x3f0ccc[_0xf62b('0x50')](_0xf62b('0xb4'),_0xf62b('0xb5'));_0x3f0ccc[_0xf62b('0x50')]('o.fullname','Owner.fullname');_0x3f0ccc['field'](_0xf62b('0xb6'),_0xf62b('0xb7'));_0x3f0ccc[_0xf62b('0x50')](_0xf62b('0xb8'),_0xf62b('0x30'));}if(_0x5ca63b[_0xf62b('0x23')])_0x3f0ccc[_0xf62b('0x23')](_0x5ca63b[_0xf62b('0x23')]);if(_0x5ca63b[_0xf62b('0x21')])_0x3f0ccc[_0xf62b('0x21')](_0x5ca63b[_0xf62b('0x21')]);return db[_0xf62b('0xa5')]['query'](_0x3f0ccc[_0xf62b('0xa4')](),_0x466ad7);})[_0xf62b('0x32')](function(_0x2009ba){if(_0x2009ba[_0xf62b('0x48')]>0x0)_0x574e1d[_0xf62b('0x4d')](_0xf62b('0xb9'),_['map'](_0x2009ba,'id'));return db[_0xf62b('0xa5')]['query'](_0x574e1d[_0xf62b('0xa4')](),_0x466ad7)['then'](function(_0x369bbf){var _0x20936a=_[_0xf62b('0xba')](_0x369bbf,_0xf62b('0xbb'));var _0x5988ae=[];_0x2009ba[_0xf62b('0x7b')](function(_0x3a4249){_0x5988ae[_0xf62b('0xbc')](updateFaxInteraction(_0x3a4249,_0x2dea25,_0x20936a));});return BPromise[_0xf62b('0xbd')](_0x5988ae);});});})['then'](function(_0x5daee6){_0x1c5b57['rows']=_0x5daee6;return _0x1c5b57;})[_0xf62b('0x32')](respondWithFilteredResult(_0x3dc8bc,_0x5ca63b))['catch'](handleError(_0x3dc8bc,null));};exports[_0xf62b('0xbe')]=function(_0x25267c,_0x1a34c0){var _0x4edef7={'raw':![],'where':{'id':_0x25267c['params']['id']}},_0xfa1862={};_0xfa1862[_0xf62b('0x41')]=_[_0xf62b('0x43')](db[_0xf62b('0x3c')]['rawAttributes']);_0xfa1862['query']=_[_0xf62b('0x43')](_0x25267c[_0xf62b('0x42')]);_0xfa1862['filters']=_[_0xf62b('0x45')](_0xfa1862[_0xf62b('0x41')],_0xfa1862[_0xf62b('0x42')]);_0x4edef7[_0xf62b('0x46')]=_[_0xf62b('0x45')](_0xfa1862[_0xf62b('0x41')],qs[_0xf62b('0x47')](_0x25267c['query']['fields']));_0x4edef7['attributes']=_0x4edef7[_0xf62b('0x46')][_0xf62b('0x48')]?_0x4edef7[_0xf62b('0x46')]:_0xfa1862['model'];if(_0x25267c[_0xf62b('0x42')][_0xf62b('0xbf')]){_0x4edef7[_0xf62b('0xc0')]=[{'all':!![]}];}_0x4edef7=_[_0xf62b('0xa7')]({},_0x4edef7,_0x25267c[_0xf62b('0xc1')]);return db['FaxInteraction'][_0xf62b('0x69')](_0x4edef7)['then'](handleEntityNotFound(_0x1a34c0,null))[_0xf62b('0x32')](respondWithResult(_0x1a34c0,null))[_0xf62b('0x33')](handleError(_0x1a34c0,null));};exports['create']=function(_0xbdc6b,_0x54a157){return db[_0xf62b('0x3c')][_0xf62b('0xc2')](_0xbdc6b[_0xf62b('0xc3')],{})['then'](respondWithResult(_0x54a157,0xc9))[_0xf62b('0x33')](handleError(_0x54a157,null));};exports[_0xf62b('0x29')]=function(_0x366af4,_0x3e1bb6){if(_0x366af4[_0xf62b('0xc3')]['id']){delete _0x366af4[_0xf62b('0xc3')]['id'];}return db['FaxInteraction'][_0xf62b('0x69')]({'where':{'id':_0x366af4[_0xf62b('0xc4')]['id']}})[_0xf62b('0x32')](handleEntityNotFound(_0x3e1bb6,null))[_0xf62b('0x32')](saveUpdates(_0x366af4[_0xf62b('0xc3')],null))[_0xf62b('0x32')](respondWithResult(_0x3e1bb6,null))['catch'](handleError(_0x3e1bb6,null));};exports[_0xf62b('0xc5')]=function(_0x1571e5,_0x158454){return db[_0xf62b('0x3c')][_0xf62b('0x69')]({'where':{'id':_0x1571e5[_0xf62b('0xc4')]['id']}})['then'](handleEntityNotFound(_0x158454,null))[_0xf62b('0x32')](removeEntity(_0x158454,null))[_0xf62b('0x33')](handleError(_0x158454,null));};exports[_0xf62b('0xc6')]=function(_0x2bdbba,_0x18a1dd){return db['FaxInteraction'][_0xf62b('0xc6')]()[_0xf62b('0x32')](respondWithResult(_0x18a1dd,null))['catch'](handleError(_0x18a1dd,null));};exports[_0xf62b('0xc7')]=function(_0x56ade5,_0x325057,_0x47675d){return db[_0xf62b('0xc8')]['find']({'where':{'id':_0x56ade5[_0xf62b('0xc4')]['id']}})[_0xf62b('0x32')](handleEntityNotFound(_0x325057,null))[_0xf62b('0x32')](function(_0x4fd860){if(_0x4fd860){return _0x4fd860['addMessage'](_0x56ade5[_0xf62b('0xc3')][_0xf62b('0xc9')],_[_0xf62b('0xca')](_0x56ade5[_0xf62b('0xc3')],[_0xf62b('0xc9'),'id'])||{});}})[_0xf62b('0x32')](respondWithResult(_0x325057,null))[_0xf62b('0x33')](handleError(_0x325057,null));};exports['getMessages']=function(_0x1f30fa,_0x26a466,_0x3ccc8b){var _0x344b72={'raw':![],'where':{}};var _0xb0de0c={};var _0x55d07c={'count':0x0,'rows':[]};return db[_0xf62b('0x3c')][_0xf62b('0xcb')]({'where':{'id':_0x1f30fa[_0xf62b('0xc4')]['id']}})['then'](handleEntityNotFound(_0x26a466,null))['then'](function(_0x56346a){if(_0x56346a){_0xb0de0c[_0xf62b('0x41')]=_[_0xf62b('0x43')](db[_0xf62b('0xc8')][_0xf62b('0x3d')]);_0xb0de0c[_0xf62b('0x42')]=_[_0xf62b('0x43')](_0x1f30fa[_0xf62b('0x42')]);_0xb0de0c[_0xf62b('0x44')]=_['intersection'](_0xb0de0c['model'],_0xb0de0c[_0xf62b('0x42')]);_0x344b72[_0xf62b('0x46')]=_[_0xf62b('0x45')](_0xb0de0c[_0xf62b('0x41')],qs[_0xf62b('0x47')](_0x1f30fa[_0xf62b('0x42')][_0xf62b('0x47')]));_0x344b72[_0xf62b('0x46')]=_0x344b72[_0xf62b('0x46')][_0xf62b('0x48')]?_0x344b72[_0xf62b('0x46')]:_0xb0de0c[_0xf62b('0x41')];if(!_0x1f30fa[_0xf62b('0x42')][_0xf62b('0x49')](_0xf62b('0x4a'))){_0x344b72[_0xf62b('0x23')]=qs[_0xf62b('0x23')](_0x1f30fa[_0xf62b('0x42')]['limit']);_0x344b72[_0xf62b('0x21')]=qs[_0xf62b('0x21')](_0x1f30fa[_0xf62b('0x42')][_0xf62b('0x21')]);}_0x344b72[_0xf62b('0x4b')]=qs[_0xf62b('0x4c')](_0x1f30fa[_0xf62b('0x42')]['sort']);_0x344b72[_0xf62b('0x4d')]=qs['filters'](_['pick'](_0x1f30fa['query'],_0xb0de0c[_0xf62b('0x44')]));_0x344b72[_0xf62b('0x4d')]['FaxInteractionId']=_0x56346a['id'];if(_0x1f30fa[_0xf62b('0x42')]['filter']){_0x344b72[_0xf62b('0x4d')]=_['merge'](_0x344b72['where'],{'$or':_['map'](_0x344b72[_0xf62b('0x46')],function(_0x3bea82){var _0x38efb7={};_0x38efb7[_0x3bea82]={'$like':'%'+_0x1f30fa['query'][_0xf62b('0x92')]+'%'};return _0x38efb7;})});}if(_0x1f30fa[_0xf62b('0x42')][_0xf62b('0x86')]){var _0x312284=_0x1f30fa[_0xf62b('0x42')][_0xf62b('0x86')]['split'](',');var _0x2aa237={};_0x2aa237[_0x312284[0x0]]={'$gte':moment(_0x312284[0x1])[_0xf62b('0xcc')]('YYYY-MM-DD\x20HH:mm:ss')};_0x344b72['where']=_[_0xf62b('0xa7')](_0x344b72[_0xf62b('0x4d')],_0x2aa237);}_0x344b72=_[_0xf62b('0xa7')]({},_0x344b72,_0x1f30fa[_0xf62b('0xc1')]);return db['FaxMessage'][_0xf62b('0x24')]({'where':_0x344b72['where']})[_0xf62b('0x32')](function(_0x1d4e5c){_0x55d07c['count']=_0x1d4e5c;if(_0x1f30fa[_0xf62b('0x42')][_0xf62b('0xbf')]){_0x344b72[_0xf62b('0xc0')]=[{'all':!![]}];}return db['FaxMessage'][_0xf62b('0xcd')](_0x344b72);})[_0xf62b('0x32')](function(_0x4bc3c9){_0x55d07c[_0xf62b('0xce')]=_0x4bc3c9;return _0x55d07c;});}})[_0xf62b('0x32')](respondWithFilteredResult(_0x26a466,_0x344b72))[_0xf62b('0x33')](handleError(_0x26a466,null));};exports[_0xf62b('0xcf')]=function(_0x514375,_0x4209ce,_0x37bad2){return db[_0xf62b('0x3c')]['find']({'where':{'id':_0x514375[_0xf62b('0xc4')]['id']}})[_0xf62b('0x32')](handleEntityNotFound(_0x4209ce,null))[_0xf62b('0x32')](function(_0x1503cd){if(_0x1503cd){return _0x1503cd[_0xf62b('0xd0')](_0x514375['body'][_0xf62b('0xc9')],_['omit'](_0x514375[_0xf62b('0xc3')],[_0xf62b('0xc9'),'id'])||{})[_0xf62b('0xd1')](function(){return db[_0xf62b('0x7a')][_0xf62b('0xcd')]({'attributes':['id',_0xf62b('0x2c'),'color'],'where':{'id':_0x514375[_0xf62b('0xc3')]['ids']}});})[_0xf62b('0x32')](function(_0x28e701){socket[_0xf62b('0xd2')](_0xf62b('0xd3'),{'id':Number(_0x514375['params']['id']),'tags':_0x28e701||[]});return{'id':Number(_0x514375[_0xf62b('0xc4')]['id']),'tags':_0x28e701||[]};});}})[_0xf62b('0x32')](respondWithResult(_0x4209ce,null))['catch'](handleError(_0x4209ce,null));};exports[_0xf62b('0xd4')]=function(_0x4436cd,_0x34f679,_0x4ca09f){return db['FaxInteraction'][_0xf62b('0x69')]({'where':{'id':_0x4436cd[_0xf62b('0xc4')]['id']}})[_0xf62b('0x32')](handleEntityNotFound(_0x34f679,null))[_0xf62b('0x32')](function(_0x16fefd){if(_0x16fefd){return _0x16fefd[_0xf62b('0xd4')](_0x4436cd[_0xf62b('0x42')]['ids']);}})[_0xf62b('0x32')](respondWithStatusCode(_0x34f679,null))['catch'](handleError(_0x34f679,null));};exports['download']=function(_0x2a0a05,_0x15ff74){var _0x5bc37f=moment()['unix']()[_0xf62b('0xa4')]();var _0x2a3b52=path[_0xf62b('0xd5')](config[_0xf62b('0xd6')],'server',_0xf62b('0xd7'),_0xf62b('0xd8'));var _0x5a13cf=path['join'](config[_0xf62b('0xd6')],_0xf62b('0xd9'),_0xf62b('0xd7'),_0xf62b('0xda'));var _0x496526=path['join'](_0x2a3b52,_0x5bc37f);var _0x36a24c=util['format'](_0xf62b('0xdb'),_0x2a0a05['params']['id'],_0x5bc37f);var _0x3c715e=path[_0xf62b('0xd5')](_0x2a3b52,_0x36a24c);var _0x394375=[];_0x394375['push']({'model':db[_0xf62b('0xdc')],'as':_0xf62b('0xdc'),'raw':!![]});var _0x2376fa=[{'model':db[_0xf62b('0xc8')],'as':'Messages','attributes':['id',_0xf62b('0xc3'),_0xf62b('0x85')],'include':_0x394375}];return db['FaxInteraction'][_0xf62b('0x69')]({'where':{'id':_0x2a0a05['params']['id']},'include':_0x2376fa})[_0xf62b('0x32')](handleEntityNotFound(_0x15ff74,null))[_0xf62b('0x32')](function(_0xa053b6){if(_0xa053b6&&_0xa053b6['Messages']){var _0x3946ea=_0xa053b6[_0xf62b('0xdd')]({'plain':!![]});fs[_0xf62b('0xde')](_0x496526);for(var _0x699007=0x0;_0x699007<_0x3946ea['Messages']['length'];_0x699007++){var _0x49b38e=_0x3946ea[_0xf62b('0xdf')][_0x699007][_0xf62b('0xdc')];if(_0x49b38e){var _0x438d61=path[_0xf62b('0xd5')](_0x5a13cf,_0x49b38e[_0xf62b('0xe0')]);if(fs['existsSync'](_0x438d61)){fs[_0xf62b('0xe1')](_0x438d61)[_0xf62b('0xe2')](fs[_0xf62b('0xe3')](path['join'](_0x496526,_0x49b38e['basename'])));}}}return BPromise[_0xf62b('0xe4')]()[_0xf62b('0x32')](function(){return new BPromise(function(_0x3f83ab,_0x508bef){zipdir(_0x496526,{'saveTo':_0x3c715e},function(_0xd18cf3,_0x839064){if(_0xd18cf3)return _0x508bef(_0xd18cf3);return _0x3f83ab(_0x839064);});})[_0xf62b('0x32')](function(){return new BPromise(function(_0x44a681,_0x14bbd3){rimraf(_0x496526,function(_0x56f7db){if(_0x56f7db)_0x14bbd3(_0x56f7db);return _0x44a681();});});})[_0xf62b('0x32')](function(){return _0x15ff74['download'](_0x3c715e,_0x36a24c,function(_0x4fe61e){if(_0x4fe61e){console[_0xf62b('0xe5')]('err',_0x4fe61e);}else{fs[_0xf62b('0xe6')](_0x3c715e);}});});});}else{return _0x15ff74['sendStatus'](0xc8);}})['catch'](handleError(_0x15ff74,null));};