Built motion from commit bab6f49e.|2.6.17
[motion2.git] / server / api / smsInteraction / smsInteraction.controller.js
index a0a7258..2687e04 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x7f2b=['show','params','rawAttributes','include','options','create','describe','SmsMessage','addMessage','ids','getMessages','findOne','hasOwnProperty','nolimit','format','includeAll','findAll','addTags','omit','spread','emit','smsInteractionTags:save','removeTags','unix','root','server','files','tmp','join','transcript-%d-%s.zip','Contact','firstName','lastName','Messages','direction','SmsAccount','Owner','get','mkdirSync','Sms','Account','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','out','secret','renderFile','views','downloadInteraction.ejs','.pdf','createPdfFromHTML','download','log','err','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','redis','defaults','socket.io-emitter','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','then','stack','name','Users','map','fullname','TagIds','Tags','split','forEach','push','catch','answered','unmanaged','total','closed','UserId','waiting','talking','index','SmsInteraction','fieldName','type','model','query','filters','intersection','attributes','fields','length','order','sort','where','pick','field','from','tools_tags','select','u.fullname','user_has_sms_interactions','u.id\x20=\x20ui.UserId','sms_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','sms_accounts','a.id\x20=\x20i.SmsAccountId','me.SmsInteractionId\x20=\x20i.id','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','conditions','having','`\x20=\x200','`\x20>\x200','operator','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','keys','compact','isEmpty','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','contactName','DESC','t.id\x20IN\x20?','SmsAccountId','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','sequelize','toString','merge','a.key','Account.key','i.*','Contact.firstName','c.lastName','Contact.lastName','Contact.email','Contact.phone','c.mobile','c.fax','o.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','all'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x7f2b,0x11d));var _0xb7f2=function(_0x53211e,_0x470046){_0x53211e=_0x53211e-0x0;var _0x25a03f=_0x7f2b[_0x53211e];return _0x25a03f;};'use strict';var emlformat=require(_0xb7f2('0x0'));var rimraf=require(_0xb7f2('0x1'));var zipdir=require(_0xb7f2('0x2'));var jsonpatch=require(_0xb7f2('0x3'));var rp=require(_0xb7f2('0x4'));var moment=require(_0xb7f2('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb7f2('0x6'));var util=require('util');var path=require(_0xb7f2('0x7'));var sox=require(_0xb7f2('0x8'));var csv=require(_0xb7f2('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb7f2('0xa'));var _=require(_0xb7f2('0xb'));var squel=require(_0xb7f2('0xc'));var crypto=require(_0xb7f2('0xd'));var jsforce=require(_0xb7f2('0xe'));var deskjs=require(_0xb7f2('0xf'));var toCsv=require(_0xb7f2('0x9'));var querystring=require('querystring');var Papa=require(_0xb7f2('0x10'));var Redis=require(_0xb7f2('0x11'));var authService=require(_0xb7f2('0x12'));var qs=require(_0xb7f2('0x13'));var as=require(_0xb7f2('0x14'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0xb7f2('0x15'));var logger=require(_0xb7f2('0x16'))('api');var utils=require(_0xb7f2('0x17'));var config=require(_0xb7f2('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0xb7f2('0x19')]=_[_0xb7f2('0x1a')](config[_0xb7f2('0x19')],{'host':'localhost','port':0x18eb});var socket=require(_0xb7f2('0x1b'))(new Redis(config[_0xb7f2('0x19')]));require('./smsInteraction.socket')['register'](socket);function respondWithStatusCode(_0x28d421,_0x10a377){_0x10a377=_0x10a377||0xcc;return function(_0x3f20cf){if(_0x3f20cf){return _0x28d421[_0xb7f2('0x1c')](_0x10a377);}return _0x28d421[_0xb7f2('0x1d')](_0x10a377)[_0xb7f2('0x1e')]();};}function respondWithResult(_0x9ccb9b,_0x250e49){_0x250e49=_0x250e49||0xc8;return function(_0x1e07bf){if(_0x1e07bf){return _0x9ccb9b[_0xb7f2('0x1d')](_0x250e49)[_0xb7f2('0x1f')](_0x1e07bf);}};}function respondWithFilteredResult(_0x4625f4,_0x171039){return function(_0xc3590e){if(_0xc3590e){var _0x320562=typeof _0x171039[_0xb7f2('0x20')]===_0xb7f2('0x21')&&typeof _0x171039[_0xb7f2('0x22')]===_0xb7f2('0x21');var _0xb91fdc=_0xc3590e[_0xb7f2('0x23')];var _0x22fdc3=_0x320562?0x0:_0x171039['offset'];var _0x42d066=_0x320562?_0xc3590e['count']:_0x171039['offset']+_0x171039[_0xb7f2('0x22')];var _0x3a8d56;if(_0x42d066>=_0xb91fdc){_0x42d066=_0xb91fdc;_0x3a8d56=0xc8;}else{_0x3a8d56=0xce;}_0x4625f4[_0xb7f2('0x1d')](_0x3a8d56);return _0x4625f4[_0xb7f2('0x24')](_0xb7f2('0x25'),_0x22fdc3+'-'+_0x42d066+'/'+_0xb91fdc)[_0xb7f2('0x1f')](_0xc3590e);}return null;};}function patchUpdates(_0x638508){return function(_0x437517){try{jsonpatch[_0xb7f2('0x26')](_0x437517,_0x638508,!![]);}catch(_0x524330){return BPromise[_0xb7f2('0x27')](_0x524330);}return _0x437517[_0xb7f2('0x28')]();};}function saveUpdates(_0x8a5e93,_0x4af04d){return function(_0x4b1236){if(_0x4b1236){return _0x4b1236[_0xb7f2('0x29')](_0x8a5e93)['then'](function(_0x36fed0){return _0x36fed0;});}return null;};}function removeEntity(_0x7fe04b,_0x3021de){return function(_0x416e00){if(_0x416e00){return _0x416e00[_0xb7f2('0x2a')]()[_0xb7f2('0x2b')](function(){_0x7fe04b['status'](0xcc)[_0xb7f2('0x1e')]();});}};}function handleEntityNotFound(_0x39f29f,_0x3dcf5f){return function(_0x2f5906){if(!_0x2f5906){_0x39f29f[_0xb7f2('0x1c')](0x194);}return _0x2f5906;};}function handleError(_0x52330b,_0xda7d4){_0xda7d4=_0xda7d4||0x1f4;return function(_0x76f5b6){logger['error'](_0x76f5b6[_0xb7f2('0x2c')]);if(_0x76f5b6[_0xb7f2('0x2d')]){delete _0x76f5b6[_0xb7f2('0x2d')];}_0x52330b['status'](_0xda7d4)['send'](_0x76f5b6);};}function getInteractionUsers(_0x4b12bb,_0x10c4d7){return new BPromise(function(_0x49d548,_0x4e6192){try{if(_0x10c4d7[_0x4b12bb['id']]){_0x4b12bb[_0xb7f2('0x2e')]=_[_0xb7f2('0x2f')](_0x10c4d7[_0x4b12bb['id']],function(_0x4ca4e8){return{'id':_0x4ca4e8['id'],'fullname':_0x4ca4e8[_0xb7f2('0x30')]};});}}catch(_0x4df33f){_0x4e6192(_0x4df33f);}_0x49d548(_0x4b12bb);});}function getInteractionTags(_0x5d0068,_0x88dbdb){return new BPromise(function(_0x586d02,_0x2b2a3e){try{if(_0x5d0068[_0xb7f2('0x31')]){_0x5d0068[_0xb7f2('0x32')]=[];_0x5d0068['TagIds'][_0xb7f2('0x33')](',')[_0xb7f2('0x34')](function(_0x216c64){_0x5d0068[_0xb7f2('0x32')][_0xb7f2('0x35')](_0x88dbdb[_0x216c64]);});}delete _0x5d0068[_0xb7f2('0x31')];}catch(_0xb0b708){_0x2b2a3e(_0xb0b708);}_0x586d02(_0x5d0068);});}function updateSmsInteraction(_0x356628,_0x11f6ea,_0x5ac7a3){return new BPromise(function(_0x382982,_0x33a301){return getInteractionUsers(_0x356628,_0x5ac7a3)[_0xb7f2('0x2b')](function(_0x356077){return getInteractionTags(_0x356077,_0x11f6ea);})[_0xb7f2('0x2b')](function(_0x73b219){return getStateInteraction(_0x73b219);})['then'](function(_0x3f50cf){_0x382982(_0x3f50cf);})[_0xb7f2('0x36')](function(_0x2f3885){_0x33a301(_0x2f3885);});});}function getStateInteraction(_0x32b6ed){return new BPromise(function(_0x409c1d){_0x32b6ed['waiting']=0x0;_0x32b6ed['talking']=0x0;_0x32b6ed[_0xb7f2('0x37')]=0x0;_0x32b6ed[_0xb7f2('0x38')]=0x0;_0x32b6ed[_0xb7f2('0x39')]=0x0;if(!_0x32b6ed[_0xb7f2('0x3a')]&&!_0x32b6ed[_0xb7f2('0x3b')]){_0x32b6ed[_0xb7f2('0x3c')]+=0x1;}if(!_0x32b6ed[_0xb7f2('0x3a')]&&_0x32b6ed['UserId']){_0x32b6ed[_0xb7f2('0x3d')]+=0x1;if(_0x32b6ed['waiting']){_0x32b6ed[_0xb7f2('0x3c')]-=0x1;}}if(_0x32b6ed['closed']&&_0x32b6ed[_0xb7f2('0x3b')]){_0x32b6ed[_0xb7f2('0x37')]+=0x1;if(_0x32b6ed[_0xb7f2('0x3d')]){_0x32b6ed[_0xb7f2('0x3d')]-=0x1;}}if(_0x32b6ed['closed']&&!_0x32b6ed['UserId']){_0x32b6ed['unmanaged']+=0x1;if(_0x32b6ed[_0xb7f2('0x3c')]){_0x32b6ed[_0xb7f2('0x3c')]-=0x1;}}_0x32b6ed[_0xb7f2('0x39')]+=0x1;_0x409c1d(_0x32b6ed);});}exports[_0xb7f2('0x3e')]=function(_0x5c8dfb,_0x17c759){var _0x517430={},_0x390f1a={},_0x2b990d={'count':0x0,'rows':[]};var _0x4df917=_[_0xb7f2('0x2f')](db[_0xb7f2('0x3f')]['rawAttributes'],function(_0x21e099){return{'name':_0x21e099[_0xb7f2('0x40')],'type':_0x21e099[_0xb7f2('0x41')]['key']};});_0x390f1a[_0xb7f2('0x42')]=_[_0xb7f2('0x2f')](_0x4df917,_0xb7f2('0x2d'));_0x390f1a[_0xb7f2('0x43')]=_['keys'](_0x5c8dfb[_0xb7f2('0x43')]);_0x390f1a[_0xb7f2('0x44')]=_[_0xb7f2('0x45')](_0x390f1a[_0xb7f2('0x42')],_0x390f1a['query']);_0x517430[_0xb7f2('0x46')]=_[_0xb7f2('0x45')](_0x390f1a['model'],qs['fields'](_0x5c8dfb[_0xb7f2('0x43')][_0xb7f2('0x47')]));_0x517430[_0xb7f2('0x46')]=_0x517430[_0xb7f2('0x46')][_0xb7f2('0x48')]?_0x517430[_0xb7f2('0x46')]:_0x390f1a[_0xb7f2('0x42')];if(!_0x5c8dfb[_0xb7f2('0x43')]['hasOwnProperty']('nolimit')){_0x517430[_0xb7f2('0x22')]=qs['limit'](_0x5c8dfb[_0xb7f2('0x43')][_0xb7f2('0x22')]);_0x517430['offset']=qs['offset'](_0x5c8dfb[_0xb7f2('0x43')]['offset']);}_0x517430[_0xb7f2('0x49')]=qs[_0xb7f2('0x4a')](_0x5c8dfb[_0xb7f2('0x43')][_0xb7f2('0x4a')]);_0x517430[_0xb7f2('0x4b')]=qs['filters'](_[_0xb7f2('0x4c')](_0x5c8dfb[_0xb7f2('0x43')],_0x390f1a[_0xb7f2('0x44')]),_0x4df917);var _0x33fab8=[];var _0x1c689c=squel['select']()['field']('id')[_0xb7f2('0x4d')](_0xb7f2('0x2d'))['field']('color')[_0xb7f2('0x4e')](_0xb7f2('0x4f'));var _0x325cee=squel[_0xb7f2('0x50')]()[_0xb7f2('0x4d')]('u.id')[_0xb7f2('0x4d')](_0xb7f2('0x51'))[_0xb7f2('0x4d')]('ui.SmsInteractionId')[_0xb7f2('0x4e')](_0xb7f2('0x52'),'ui')['left_join']('users','u',_0xb7f2('0x53'));var _0x546473=squel[_0xb7f2('0x50')]()['from'](_0xb7f2('0x54'),'i')[_0xb7f2('0x55')](_0xb7f2('0x56'),'c',_0xb7f2('0x57'))[_0xb7f2('0x55')]('users','o','o.id\x20=\x20i.UserId')[_0xb7f2('0x55')](_0xb7f2('0x58'),'a',_0xb7f2('0x59'))[_0xb7f2('0x55')]('sms_messages','me',_0xb7f2('0x5a'))[_0xb7f2('0x55')](_0xb7f2('0x5b'),'it',_0xb7f2('0x5c'))[_0xb7f2('0x55')]('tools_tags','t',_0xb7f2('0x5d'));var _0x3a6398=squel[_0xb7f2('0x5e')]();var _0x59682b=[];var _0x157fd5=squel[_0xb7f2('0x5e')]();var _0x7f1505;if(_0x5c8dfb[_0xb7f2('0x43')]['search']){_0x7f1505=as[_0xb7f2('0x5f')](_0x5c8dfb['query'][_0xb7f2('0x60')]);var _0x16d870=_0x7f1505[_0xb7f2('0x61')];for(var _0x28573b=0x0;_0x28573b<_0x7f1505['conditions'][_0xb7f2('0x48')];_0x28573b++){var _0x3fe3ce=_0x7f1505[_0xb7f2('0x62')][_0x28573b];var _0x28a714='i';var _0x3d8427=_['find'](_0x4df917,[_0xb7f2('0x2d'),_0x3fe3ce[_0xb7f2('0x4d')]]);if(!_0x3d8427){switch(_0x3fe3ce[_0xb7f2('0x4d')]){case'unreadMessages':if(_0x3fe3ce['value']==0x1){_0x546473[_0xb7f2('0x63')]('`'+_0x3fe3ce['field']+_0xb7f2('0x64'));}else{_0x546473[_0xb7f2('0x63')]('`'+_0x3fe3ce['field']+_0xb7f2('0x65'));}break;case'Contact':if(_0x3fe3ce[_0xb7f2('0x66')]==='$substring'){if(_0x3fe3ce[_0xb7f2('0x67')]['split']('\x20')[_0xb7f2('0x48')]>0x1){_0x3a6398[_0x16d870](_0xb7f2('0x68'),qs['getFullTextValue'](_0x3fe3ce[_0xb7f2('0x67')]),null);}else{var _0x2abb6f='%'+_0x3fe3ce[_0xb7f2('0x67')]+'%';_0x3a6398[_0x16d870](_0xb7f2('0x69'),_0x2abb6f,_0x2abb6f,_0x2abb6f);}}else{_0x3d8427=_[_0xb7f2('0x6a')](_0x4df917,[_0xb7f2('0x2d'),_0xb7f2('0x6b')]);_0x3fe3ce['field']=_0xb7f2('0x6b');_0x291cd4=as[_0xb7f2('0x6c')](_0x28a714,_0x3d8427['type'],_0x3fe3ce);_0x3a6398[_0x16d870](_0x291cd4[_0xb7f2('0x6d')],_0x291cd4[_0xb7f2('0x67')][_0xb7f2('0x6e')],_0x291cd4[_0xb7f2('0x67')][_0xb7f2('0x1e')]);}break;case _0xb7f2('0x6f'):var _0x4c1b8e=_0x3fe3ce[_0xb7f2('0x67')][_0xb7f2('0x33')](',')['map'](function(_0x4d80e9){return Number(_0x4d80e9);});_0x4c1b8e[_0xb7f2('0x34')](function(_0x3a1914){_0x157fd5['or'](_0xb7f2('0x70'),'%,'+_0x3a1914+',%');});_0x59682b=_['union'](_0x59682b,_0x4c1b8e);break;case _0xb7f2('0x71'):if(_0x3fe3ce['operator']===_0xb7f2('0x72')){_0x3a6398[_0x16d870](_0xb7f2('0x73'),'%'+_0x3fe3ce[_0xb7f2('0x67')]+'%',null);}else{_0x3d8427=_[_0xb7f2('0x6a')](_0x4df917,['name',_0xb7f2('0x3b')]);_0x3fe3ce[_0xb7f2('0x4d')]=_0xb7f2('0x3b');_0x291cd4=as[_0xb7f2('0x6c')](_0x28a714,_0x3d8427[_0xb7f2('0x41')],_0x3fe3ce);_0x3a6398[_0x16d870](_0x291cd4[_0xb7f2('0x6d')],_0x291cd4[_0xb7f2('0x67')][_0xb7f2('0x6e')],_0x291cd4['value'][_0xb7f2('0x1e')]);}break;case _0xb7f2('0x74'):_0x291cd4=as[_0xb7f2('0x6c')]('me',null,_0x3fe3ce);_0x3a6398[_0x16d870](_0x291cd4['text'],_0x291cd4['value'][_0xb7f2('0x6e')],_0x291cd4[_0xb7f2('0x67')]['end']);break;}}else{var _0x291cd4=as[_0xb7f2('0x6c')](_0x28a714,_0x3d8427[_0xb7f2('0x41')],_0x3fe3ce);_0x3a6398[_0x16d870](_0x291cd4[_0xb7f2('0x6d')],_0x291cd4[_0xb7f2('0x67')]['start'],_0x291cd4[_0xb7f2('0x67')][_0xb7f2('0x1e')]);}}}else{var _0x33ac3e=_(_0x5c8dfb['query'])[_0xb7f2('0x75')]()[_0xb7f2('0x2f')](function(_0x403bd9){return _['some'](_0x4df917,['name',_0x403bd9])?_0x403bd9:undefined;})[_0xb7f2('0x76')]()[_0xb7f2('0x67')]();if(!_[_0xb7f2('0x77')](_0x33ac3e)){_0x33ac3e[_0xb7f2('0x34')](function(_0x248c4e){if(_0x248c4e==='SmsAccountId'){_0x546473[_0xb7f2('0x4b')](_0xb7f2('0x78'),[][_0xb7f2('0x79')](_0x5c8dfb[_0xb7f2('0x43')][_0x248c4e]));}else if(_0x248c4e===_0xb7f2('0x7a')){var _0x38a1d8=JSON[_0xb7f2('0x7b')](_0x5c8dfb[_0xb7f2('0x43')][_0x248c4e])[_0xb7f2('0x7c')];var _0x4fc616=JSON[_0xb7f2('0x7b')](_0x5c8dfb['query'][_0x248c4e])[_0xb7f2('0x7d')];_0x546473[_0xb7f2('0x4b')](_0xb7f2('0x7e'),_0x38a1d8,_0x4fc616);}else{if(_0x5c8dfb[_0xb7f2('0x43')][_0x248c4e]===_0xb7f2('0x7f')){_0x546473[_0xb7f2('0x4b')]('i.'+_0x248c4e+_0xb7f2('0x80'));}else{_0x546473[_0xb7f2('0x4b')]('i.'+_0x248c4e+_0xb7f2('0x81'),_0x5c8dfb[_0xb7f2('0x43')][_0x248c4e]);}}});}if(_0x5c8dfb[_0xb7f2('0x43')][_0xb7f2('0x82')]){if(_0x5c8dfb[_0xb7f2('0x43')][_0xb7f2('0x82')]==0x1){_0x546473[_0xb7f2('0x63')](_0xb7f2('0x83'));}else{_0x546473[_0xb7f2('0x63')](_0xb7f2('0x84'));}}if(_0x5c8dfb[_0xb7f2('0x43')]['tag']){_0x59682b=_['isArray'](_0x5c8dfb[_0xb7f2('0x43')]['tag'])?_0x5c8dfb['query'][_0xb7f2('0x85')]:new Array(_0x5c8dfb[_0xb7f2('0x43')][_0xb7f2('0x85')]);_0x59682b[_0xb7f2('0x34')](function(_0x3dbe59){_0x157fd5['or'](_0xb7f2('0x70'),'%,'+_0x3dbe59+',%');});}if(_0x5c8dfb[_0xb7f2('0x43')]['filter']){var _0x290784=_0x5c8dfb[_0xb7f2('0x43')][_0xb7f2('0x86')][_0xb7f2('0x87')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0xb7f2('0x88')](_0x290784)){_0x3a6398['or'](_0xb7f2('0x89'),_0x290784+'%')['or'](_0xb7f2('0x8a'),_0x290784+'%');}else{_0x3a6398['or'](_0xb7f2('0x8b'),qs['getFullTextValue'](_0x290784))['or'](_0xb7f2('0x8c'),_0x290784+'%');}}}_0x546473[_0xb7f2('0x4b')](_0x3a6398);_0x546473[_0xb7f2('0x8d')](_0xb7f2('0x8e'));var _0x4b6e33={'type':db['Sequelize'][_0xb7f2('0x8f')][_0xb7f2('0x90')],'raw':!![]};var _0x2e65f2=_0x546473[_0xb7f2('0x91')]();_0x2e65f2['field'](_0xb7f2('0x8e'));_0x2e65f2['field'](_0xb7f2('0x92'),_0xb7f2('0x93'));if(_0x517430[_0xb7f2('0x49')]){_0x517430[_0xb7f2('0x49')][_0xb7f2('0x34')](function(_0x148eff){var _0xd1975=_0x148eff[0x0]===_0xb7f2('0x94')?_0x148eff[0x0]:'i.'+_0x148eff[0x0];_0x546473[_0xb7f2('0x49')](_0xd1975,_0x148eff[0x1]===_0xb7f2('0x95')?![]:!![]);});}if(!_['isEmpty'](_0x59682b)){_0x546473['having'](_0x157fd5);_0x2e65f2[_0xb7f2('0x4b')](_0xb7f2('0x96'),_0x59682b);}BPromise['resolve']()[_0xb7f2('0x2b')](function(){if(!_0x7f1505){if(_0x5c8dfb[_0xb7f2('0x43')][_0xb7f2('0x97')])return;_0x2e65f2['where'](_0xb7f2('0x98'));_0x546473['where']('i.SmsAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x5c8dfb[_0xb7f2('0x99')][_0xb7f2('0x9a')]!=='agent')return;return _0x5c8dfb['user']['getSmsAccounts']({'attributes':['id'],'raw':!![]})[_0xb7f2('0x2b')](function(_0x465e3e){if(_[_0xb7f2('0x77')](_0x465e3e)){_0x2e65f2[_0xb7f2('0x4b')]('i.SmsAccountId\x20IS\x20NULL');_0x546473[_0xb7f2('0x4b')]('i.SmsAccountId\x20IS\x20NULL');}else{_0x2e65f2[_0xb7f2('0x4b')]('i.SmsAccountId\x20IN\x20?',_[_0xb7f2('0x2f')](_0x465e3e,'id'));_0x546473[_0xb7f2('0x4b')](_0xb7f2('0x78'),_[_0xb7f2('0x2f')](_0x465e3e,'id'));}});})['then'](function(){if(_0x5c8dfb[_0xb7f2('0x99')][_0xb7f2('0x9a')]==='agent'&&!_0x7f1505&&!_0x5c8dfb['query']['SmsAccountId'])return[];return db[_0xb7f2('0x9b')][_0xb7f2('0x43')](_0x2e65f2['toString'](),_0x4b6e33);})[_0xb7f2('0x2b')](function(_0x7911d4){_0x2b990d[_0xb7f2('0x23')]=_0x7911d4[_0xb7f2('0x48')];if(_0x2b990d[_0xb7f2('0x23')]===0x0)return[];return db[_0xb7f2('0x9b')][_0xb7f2('0x43')](_0x1c689c[_0xb7f2('0x9c')](),_0x4b6e33)[_0xb7f2('0x2b')](function(_0x5d0c53){_0x33fab8=_['keyBy'](_0x5d0c53,'id');_0x4b6e33=_[_0xb7f2('0x9d')](_0x4b6e33,{'model':db[_0xb7f2('0x3f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5c8dfb['query']['fields']){_0x517430[_0xb7f2('0x46')][_0xb7f2('0x34')](function(_0x468aa8){_0x546473[_0xb7f2('0x4d')]('i.'+_0x468aa8);});}else{_0x546473[_0xb7f2('0x4d')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xb7f2('0x93'));_0x546473[_0xb7f2('0x4d')](_0xb7f2('0x9e'),_0xb7f2('0x9f'));_0x546473['field']('a.mandatoryDisposition','Account.mandatoryDisposition');_0x546473[_0xb7f2('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',_0xb7f2('0x94'));_0x546473[_0xb7f2('0x4d')](_0xb7f2('0xa0'));_0x546473[_0xb7f2('0x4d')]('c.firstName',_0xb7f2('0xa1'));_0x546473[_0xb7f2('0x4d')](_0xb7f2('0xa2'),_0xb7f2('0xa3'));_0x546473[_0xb7f2('0x4d')]('c.email',_0xb7f2('0xa4'));_0x546473['field']('c.phone',_0xb7f2('0xa5'));_0x546473['field'](_0xb7f2('0xa6'),'Contact.mobile');_0x546473[_0xb7f2('0x4d')](_0xb7f2('0xa7'),'Contact.fax');_0x546473[_0xb7f2('0x4d')](_0xb7f2('0xa8'),'Owner.fullname');_0x546473[_0xb7f2('0x4d')]('o.internal',_0xb7f2('0xa9'));_0x546473['field'](_0xb7f2('0xaa'),'TagIds');}if(_0x517430[_0xb7f2('0x22')])_0x546473[_0xb7f2('0x22')](_0x517430[_0xb7f2('0x22')]);if(_0x517430[_0xb7f2('0x20')])_0x546473['offset'](_0x517430[_0xb7f2('0x20')]);return db[_0xb7f2('0x9b')][_0xb7f2('0x43')](_0x546473[_0xb7f2('0x9c')](),_0x4b6e33);})[_0xb7f2('0x2b')](function(_0x3cec8f){if(_0x3cec8f[_0xb7f2('0x48')]>0x0)_0x325cee[_0xb7f2('0x4b')](_0xb7f2('0xab'),_['map'](_0x3cec8f,'id'));return db[_0xb7f2('0x9b')][_0xb7f2('0x43')](_0x325cee['toString'](),_0x4b6e33)['then'](function(_0x3d6e40){var _0x2dfe58=_[_0xb7f2('0xac')](_0x3d6e40,_0xb7f2('0xad'));var _0x3fc738=[];_0x3cec8f[_0xb7f2('0x34')](function(_0x1359b1){_0x3fc738['push'](updateSmsInteraction(_0x1359b1,_0x33fab8,_0x2dfe58));});return BPromise[_0xb7f2('0xae')](_0x3fc738);});});})[_0xb7f2('0x2b')](function(_0x1e56a9){_0x2b990d['rows']=_0x1e56a9;return _0x2b990d;})['then'](respondWithFilteredResult(_0x17c759,_0x517430))[_0xb7f2('0x36')](handleError(_0x17c759,null));};exports[_0xb7f2('0xaf')]=function(_0x5a4f75,_0x4988c7){var _0x2fde99={'raw':![],'where':{'id':_0x5a4f75[_0xb7f2('0xb0')]['id']}},_0x34d7b6={};_0x34d7b6[_0xb7f2('0x42')]=_['keys'](db[_0xb7f2('0x3f')][_0xb7f2('0xb1')]);_0x34d7b6[_0xb7f2('0x43')]=_[_0xb7f2('0x75')](_0x5a4f75['query']);_0x34d7b6[_0xb7f2('0x44')]=_[_0xb7f2('0x45')](_0x34d7b6['model'],_0x34d7b6[_0xb7f2('0x43')]);_0x2fde99[_0xb7f2('0x46')]=_[_0xb7f2('0x45')](_0x34d7b6[_0xb7f2('0x42')],qs[_0xb7f2('0x47')](_0x5a4f75['query'][_0xb7f2('0x47')]));_0x2fde99['attributes']=_0x2fde99['attributes'][_0xb7f2('0x48')]?_0x2fde99['attributes']:_0x34d7b6[_0xb7f2('0x42')];if(_0x5a4f75[_0xb7f2('0x43')]['includeAll']){_0x2fde99[_0xb7f2('0xb2')]=[{'all':!![]}];}_0x2fde99=_[_0xb7f2('0x9d')]({},_0x2fde99,_0x5a4f75[_0xb7f2('0xb3')]);return db[_0xb7f2('0x3f')][_0xb7f2('0x6a')](_0x2fde99)[_0xb7f2('0x2b')](handleEntityNotFound(_0x4988c7,null))['then'](respondWithResult(_0x4988c7,null))[_0xb7f2('0x36')](handleError(_0x4988c7,null));};exports[_0xb7f2('0xb4')]=function(_0xd30ab3,_0x13a2e6){return db['SmsInteraction'][_0xb7f2('0xb4')](_0xd30ab3[_0xb7f2('0x74')],{})[_0xb7f2('0x2b')](respondWithResult(_0x13a2e6,0xc9))[_0xb7f2('0x36')](handleError(_0x13a2e6,null));};exports['update']=function(_0x3c3817,_0x4755b3){if(_0x3c3817[_0xb7f2('0x74')]['id']){delete _0x3c3817[_0xb7f2('0x74')]['id'];}return db['SmsInteraction'][_0xb7f2('0x6a')]({'where':{'id':_0x3c3817['params']['id']}})['then'](handleEntityNotFound(_0x4755b3,null))[_0xb7f2('0x2b')](saveUpdates(_0x3c3817[_0xb7f2('0x74')],null))[_0xb7f2('0x2b')](respondWithResult(_0x4755b3,null))['catch'](handleError(_0x4755b3,null));};exports[_0xb7f2('0x2a')]=function(_0x2d0eed,_0x5159e2){return db[_0xb7f2('0x3f')][_0xb7f2('0x6a')]({'where':{'id':_0x2d0eed['params']['id']}})[_0xb7f2('0x2b')](handleEntityNotFound(_0x5159e2,null))[_0xb7f2('0x2b')](removeEntity(_0x5159e2,null))[_0xb7f2('0x36')](handleError(_0x5159e2,null));};exports[_0xb7f2('0xb5')]=function(_0x4f26d1,_0x23fc9f){return db[_0xb7f2('0x3f')][_0xb7f2('0xb5')]()[_0xb7f2('0x2b')](respondWithResult(_0x23fc9f,null))[_0xb7f2('0x36')](handleError(_0x23fc9f,null));};exports['addMessage']=function(_0x337e4d,_0xf21802,_0x2d2206){return db[_0xb7f2('0xb6')][_0xb7f2('0x6a')]({'where':{'id':_0x337e4d['params']['id']}})['then'](handleEntityNotFound(_0xf21802,null))['then'](function(_0x355e40){if(_0x355e40){return _0x355e40[_0xb7f2('0xb7')](_0x337e4d[_0xb7f2('0x74')][_0xb7f2('0xb8')],_['omit'](_0x337e4d[_0xb7f2('0x74')],[_0xb7f2('0xb8'),'id'])||{});}})[_0xb7f2('0x2b')](respondWithResult(_0xf21802,null))['catch'](handleError(_0xf21802,null));};exports[_0xb7f2('0xb9')]=function(_0x459964,_0x38888d,_0x29a0c4){var _0x2e0932={'raw':![],'where':{}};var _0x4f02c3={};var _0x361b50={'count':0x0,'rows':[]};return db[_0xb7f2('0x3f')][_0xb7f2('0xba')]({'where':{'id':_0x459964['params']['id']}})[_0xb7f2('0x2b')](handleEntityNotFound(_0x38888d,null))[_0xb7f2('0x2b')](function(_0xbc2d6e){if(_0xbc2d6e){_0x4f02c3[_0xb7f2('0x42')]=_[_0xb7f2('0x75')](db[_0xb7f2('0xb6')]['rawAttributes']);_0x4f02c3[_0xb7f2('0x43')]=_[_0xb7f2('0x75')](_0x459964[_0xb7f2('0x43')]);_0x4f02c3[_0xb7f2('0x44')]=_[_0xb7f2('0x45')](_0x4f02c3[_0xb7f2('0x42')],_0x4f02c3[_0xb7f2('0x43')]);_0x2e0932['attributes']=_[_0xb7f2('0x45')](_0x4f02c3[_0xb7f2('0x42')],qs['fields'](_0x459964[_0xb7f2('0x43')][_0xb7f2('0x47')]));_0x2e0932['attributes']=_0x2e0932['attributes']['length']?_0x2e0932[_0xb7f2('0x46')]:_0x4f02c3[_0xb7f2('0x42')];if(!_0x459964[_0xb7f2('0x43')][_0xb7f2('0xbb')](_0xb7f2('0xbc'))){_0x2e0932[_0xb7f2('0x22')]=qs[_0xb7f2('0x22')](_0x459964[_0xb7f2('0x43')][_0xb7f2('0x22')]);_0x2e0932[_0xb7f2('0x20')]=qs[_0xb7f2('0x20')](_0x459964[_0xb7f2('0x43')][_0xb7f2('0x20')]);}_0x2e0932[_0xb7f2('0x49')]=qs[_0xb7f2('0x4a')](_0x459964[_0xb7f2('0x43')][_0xb7f2('0x4a')]);_0x2e0932['where']=qs[_0xb7f2('0x44')](_[_0xb7f2('0x4c')](_0x459964[_0xb7f2('0x43')],_0x4f02c3[_0xb7f2('0x44')]));_0x2e0932[_0xb7f2('0x4b')][_0xb7f2('0xad')]=_0xbc2d6e['id'];if(_0x459964[_0xb7f2('0x43')]['filter']){_0x2e0932[_0xb7f2('0x4b')]=_[_0xb7f2('0x9d')](_0x2e0932['where'],{'$or':_[_0xb7f2('0x2f')](_0x2e0932[_0xb7f2('0x46')],function(_0x190c6b){var _0x452aca={};_0x452aca[_0x190c6b]={'$like':'%'+_0x459964['query']['filter']+'%'};return _0x452aca;})});}if(_0x459964['query'][_0xb7f2('0x7c')]){var _0x2ff2f1=_0x459964[_0xb7f2('0x43')]['$gte'][_0xb7f2('0x33')](',');var _0x110029={};_0x110029[_0x2ff2f1[0x0]]={'$gte':moment(_0x2ff2f1[0x1])[_0xb7f2('0xbd')]('YYYY-MM-DD\x20HH:mm:ss')};_0x2e0932[_0xb7f2('0x4b')]=_['merge'](_0x2e0932['where'],_0x110029);}_0x2e0932=_['merge']({},_0x2e0932,_0x459964[_0xb7f2('0xb3')]);return db[_0xb7f2('0xb6')][_0xb7f2('0x23')]({'where':_0x2e0932[_0xb7f2('0x4b')]})[_0xb7f2('0x2b')](function(_0x312c69){_0x361b50['count']=_0x312c69;if(_0x459964[_0xb7f2('0x43')][_0xb7f2('0xbe')]){_0x2e0932['include']=[{'all':!![]}];}return db[_0xb7f2('0xb6')][_0xb7f2('0xbf')](_0x2e0932);})[_0xb7f2('0x2b')](function(_0x3919df){_0x361b50['rows']=_0x3919df;return _0x361b50;});}})[_0xb7f2('0x2b')](respondWithFilteredResult(_0x38888d,_0x2e0932))[_0xb7f2('0x36')](handleError(_0x38888d,null));};exports[_0xb7f2('0xc0')]=function(_0x5a6c2f,_0x444a5b,_0x192477){return db['SmsInteraction'][_0xb7f2('0x6a')]({'where':{'id':_0x5a6c2f[_0xb7f2('0xb0')]['id']}})[_0xb7f2('0x2b')](handleEntityNotFound(_0x444a5b,null))[_0xb7f2('0x2b')](function(_0x41ae14){if(_0x41ae14){return _0x41ae14['setTags'](_0x5a6c2f[_0xb7f2('0x74')][_0xb7f2('0xb8')],_[_0xb7f2('0xc1')](_0x5a6c2f[_0xb7f2('0x74')],[_0xb7f2('0xb8'),'id'])||{})[_0xb7f2('0xc2')](function(){return db[_0xb7f2('0x6f')][_0xb7f2('0xbf')]({'attributes':['id',_0xb7f2('0x2d'),'color'],'where':{'id':_0x5a6c2f[_0xb7f2('0x74')][_0xb7f2('0xb8')]}});})['then'](function(_0x466502){socket[_0xb7f2('0xc3')](_0xb7f2('0xc4'),{'id':Number(_0x5a6c2f[_0xb7f2('0xb0')]['id']),'tags':_0x466502||[]});return{'id':Number(_0x5a6c2f[_0xb7f2('0xb0')]['id']),'tags':_0x466502||[]};});}})[_0xb7f2('0x2b')](respondWithResult(_0x444a5b,null))[_0xb7f2('0x36')](handleError(_0x444a5b,null));};exports['removeTags']=function(_0x1e16c0,_0x8412c,_0x21de67){return db[_0xb7f2('0x3f')][_0xb7f2('0x6a')]({'where':{'id':_0x1e16c0[_0xb7f2('0xb0')]['id']}})['then'](handleEntityNotFound(_0x8412c,null))['then'](function(_0x668544){if(_0x668544){return _0x668544[_0xb7f2('0xc5')](_0x1e16c0['query'][_0xb7f2('0xb8')]);}})[_0xb7f2('0x2b')](respondWithStatusCode(_0x8412c,null))[_0xb7f2('0x36')](handleError(_0x8412c,null));};exports['download']=function(_0x409b07,_0x106824){var _0x2ad8b3=moment()[_0xb7f2('0xc6')]()[_0xb7f2('0x9c')]();var _0x3ee400=path['join'](config[_0xb7f2('0xc7')],_0xb7f2('0xc8'),_0xb7f2('0xc9'),_0xb7f2('0xca'));var _0x5a64cc=path[_0xb7f2('0xcb')](config['root'],'server',_0xb7f2('0xc9'),'attachments');var _0x5f0402=path['join'](_0x3ee400,_0x2ad8b3);var _0x90269d=util[_0xb7f2('0xbd')](_0xb7f2('0xcc'),_0x409b07[_0xb7f2('0xb0')]['id'],_0x2ad8b3);var _0x57560e=path[_0xb7f2('0xcb')](_0x3ee400,_0x90269d);var _0x14cfc0=[];_0x14cfc0['push']({'model':db[_0xb7f2('0x71')],'as':'User','attributes':['id',_0xb7f2('0x30')],'raw':!![]});_0x14cfc0[_0xb7f2('0x35')]({'model':db['CmContact'],'as':_0xb7f2('0xcd'),'attributes':['id',_0xb7f2('0xce'),_0xb7f2('0xcf')],'raw':!![]});var _0x5d6c43=[{'model':db[_0xb7f2('0xb6')],'as':_0xb7f2('0xd0'),'attributes':['id','body',_0xb7f2('0x7a'),_0xb7f2('0xd1'),'secret',_0xb7f2('0x82')],'include':_0x14cfc0}];_0x5d6c43[_0xb7f2('0x35')]({'model':db[_0xb7f2('0xd2')],'as':'Account','attributes':['id',_0xb7f2('0x2d')]});_0x5d6c43[_0xb7f2('0x35')]({'model':db[_0xb7f2('0x71')],'as':_0xb7f2('0xd3'),'attributes':['id',_0xb7f2('0x30')]});return db['SmsInteraction'][_0xb7f2('0x6a')]({'where':{'id':_0x409b07[_0xb7f2('0xb0')]['id']},'include':_0x5d6c43})['then'](handleEntityNotFound(_0x106824,null))[_0xb7f2('0x2b')](function(_0x4d5851){if(_0x4d5851){var _0x5dae23=_0x4d5851[_0xb7f2('0xd4')]({'plain':!![]});fs[_0xb7f2('0xd5')](_0x5f0402);var _0x496869={'channel':_0xb7f2('0xd6'),'account':_0x5dae23[_0xb7f2('0xd7')]['name'],'agent':_0x5dae23[_0xb7f2('0xd3')]?_0x5dae23[_0xb7f2('0xd3')][_0xb7f2('0x30')]:_0xb7f2('0xd8'),'createdAt':moment(_0x5dae23[_0xb7f2('0x7a')])[_0xb7f2('0xbd')](_0xb7f2('0xd9'))[_0xb7f2('0x9c')](),'closedAt':_0x5dae23[_0xb7f2('0x3a')]?moment(_0x5dae23[_0xb7f2('0xda')])[_0xb7f2('0xbd')](_0xb7f2('0xd9'))[_0xb7f2('0x9c')]():'','disposition':_0x5dae23[_0xb7f2('0xdb')],'messages':_(_0x5dae23[_0xb7f2('0xd0')])[_0xb7f2('0x86')]({'secret':![]})[_0xb7f2('0x2f')](function(_0x20bcfa){return{'date':moment(_0x20bcfa[_0xb7f2('0x7a')])[_0xb7f2('0xbd')](_0xb7f2('0xd9'))[_0xb7f2('0x9c')](),'sender':_0x20bcfa['direction']===_0xb7f2('0xdc')?_0x20bcfa['User']?_0x20bcfa[_0xb7f2('0x71')]['fullname']:'System':_0x20bcfa[_0xb7f2('0xcd')][_0xb7f2('0xce')]+(_0x20bcfa['Contact'][_0xb7f2('0xcf')]?'\x20'+_0x20bcfa['Contact'][_0xb7f2('0xcf')]:''),'body':_0x20bcfa[_0xb7f2('0x74')],'direction':_0x20bcfa['direction']===_0xb7f2('0xdc')?'A':'C','secret':_0x20bcfa[_0xb7f2('0xdd')],'read':_0x20bcfa[_0xb7f2('0x82')]};})[_0xb7f2('0x67')]()};return ejs[_0xb7f2('0xde')](path[_0xb7f2('0xcb')](config['root'],'server',_0xb7f2('0xdf'),_0xb7f2('0xe0')),{'interaction':_0x496869})[_0xb7f2('0x2b')](function(_0x58be37){var _0x125bf1=path[_0xb7f2('0xcb')](_0x5f0402,'transcript-'+_0x5dae23['id']+'-'+_0x2ad8b3+_0xb7f2('0xe1'));var _0x4a04ee={'path':_0x125bf1,'channel':_0xb7f2('0xd6'),'interactionId':_0x5dae23['id']};return pdf[_0xb7f2('0xe2')](_0x58be37,_0x4a04ee);})[_0xb7f2('0x2b')](function(){return new BPromise(function(_0x37e780,_0x2226b9){zipdir(_0x5f0402,{'saveTo':_0x57560e},function(_0x100870,_0x53bcb1){if(_0x100870)return _0x2226b9(_0x100870);return _0x37e780(_0x53bcb1);});})[_0xb7f2('0x2b')](function(){return new BPromise(function(_0x51a23a,_0x5cd9be){rimraf(_0x5f0402,function(_0x13041a){if(_0x13041a)_0x5cd9be(_0x13041a);return _0x51a23a();});});})['then'](function(){return _0x106824[_0xb7f2('0xe3')](_0x57560e,_0x90269d,function(_0x442687){if(_0x442687){console[_0xb7f2('0xe4')](_0xb7f2('0xe5'),_0x442687);}else{fs['unlinkSync'](_0x57560e);}});});});}else{return _0x106824[_0xb7f2('0x1c')](0xc8);}})[_0xb7f2('0x36')](handleError(_0x106824,null));};
\ No newline at end of file
+var _0xaa7c=['getMessages','findOne','nolimit','order','sort','where','pick','SmsInteractionId','filter','merge','$gte','format','YYYY-MM-DD\x20HH:mm:ss','count','includeAll','rows','addTags','setTags','spread','Tag','removeTags','download','join','root','files','tmp','transcript-%d-%s.zip','push','User','Contact','firstName','lastName','Messages','direction','secret','read','Account','Owner','fullname','get','Sms','N.A.','createdAt','toString','closed','disposition','out','System','renderFile','server','views','downloadInteraction.ejs','log','err','unlinkSync','bluebird','util','path','ejs','lodash','ioredis','../../components/interaction/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./smsInteraction.socket','register','status','end','offset','undefined','limit','set','Content-Range','json','update','then','destroy','sendStatus','error','name','send','index','map','SmsInteraction','rawAttributes','type','key','getOptions','findAll','sms','user','catch','show','params','keys','query','filters','intersection','model','attributes','fields','length','include','options','find','create','body','describe','SmsMessage','addMessage','ids','omit'];(function(_0x3401ee,_0x19476c){var _0x383615=function(_0x43ff06){while(--_0x43ff06){_0x3401ee['push'](_0x3401ee['shift']());}};_0x383615(++_0x19476c);}(_0xaa7c,0xad));var _0xcaa7=function(_0x491d3e,_0x3ceff6){_0x491d3e=_0x491d3e-0x0;var _0x399b13=_0xaa7c[_0x491d3e];return _0x399b13;};'use strict';var rimraf=require('rimraf');var zipdir=require('zip-dir');var moment=require('moment');var BPromise=require(_0xcaa7('0x0'));var util=require(_0xcaa7('0x1'));var path=require(_0xcaa7('0x2'));var ejs=require(_0xcaa7('0x3'));var fs=require('fs');var _=require(_0xcaa7('0x4'));var Redis=require(_0xcaa7('0x5'));var interaction=require(_0xcaa7('0x6'));var qs=require(_0xcaa7('0x7'));var pdf=require('../../components/export/pdf');var logger=require(_0xcaa7('0x8'))(_0xcaa7('0x9'));var config=require(_0xcaa7('0xa'));var db=require(_0xcaa7('0xb'))['db'];config[_0xcaa7('0xc')]=_['defaults'](config[_0xcaa7('0xc')],{'host':_0xcaa7('0xd'),'port':0x18eb});var socket=require(_0xcaa7('0xe'))(new Redis(config[_0xcaa7('0xc')]));require(_0xcaa7('0xf'))[_0xcaa7('0x10')](socket);function respondWithStatusCode(_0xca0966,_0x128156){_0x128156=_0x128156||0xcc;return function(_0x92495d){if(_0x92495d){return _0xca0966['sendStatus'](_0x128156);}return _0xca0966[_0xcaa7('0x11')](_0x128156)[_0xcaa7('0x12')]();};}function respondWithResult(_0x496403,_0x527022){_0x527022=_0x527022||0xc8;return function(_0x388edf){if(_0x388edf){return _0x496403[_0xcaa7('0x11')](_0x527022)['json'](_0x388edf);}};}function respondWithFilteredResult(_0x47c039,_0x33b381){return function(_0x1c9a5c){if(_0x1c9a5c){var _0x55360e=typeof _0x33b381[_0xcaa7('0x13')]===_0xcaa7('0x14')&&typeof _0x33b381[_0xcaa7('0x15')]===_0xcaa7('0x14');var _0x3bd708=_0x1c9a5c['count'];var _0x193d3e=_0x55360e?0x0:_0x33b381[_0xcaa7('0x13')];var _0x13a1ce=_0x55360e?_0x1c9a5c['count']:_0x33b381['offset']+_0x33b381[_0xcaa7('0x15')];var _0x58e97f;if(_0x13a1ce>=_0x3bd708){_0x13a1ce=_0x3bd708;_0x58e97f=0xc8;}else{_0x58e97f=0xce;}_0x47c039[_0xcaa7('0x11')](_0x58e97f);return _0x47c039[_0xcaa7('0x16')](_0xcaa7('0x17'),_0x193d3e+'-'+_0x13a1ce+'/'+_0x3bd708)[_0xcaa7('0x18')](_0x1c9a5c);}return null;};}function saveUpdates(_0x10456d){return function(_0x32fe30){if(_0x32fe30){return _0x32fe30[_0xcaa7('0x19')](_0x10456d)[_0xcaa7('0x1a')](function(_0x141973){return _0x141973;});}return null;};}function removeEntity(_0x43469a){return function(_0x3d006c){if(_0x3d006c){return _0x3d006c[_0xcaa7('0x1b')]()['then'](function(){_0x43469a[_0xcaa7('0x11')](0xcc)[_0xcaa7('0x12')]();});}};}function handleEntityNotFound(_0x41efcc){return function(_0x5301f0){if(!_0x5301f0){_0x41efcc[_0xcaa7('0x1c')](0x194);}return _0x5301f0;};}function handleError(_0x43e9fa,_0x7f706c){_0x7f706c=_0x7f706c||0x1f4;return function(_0x55b613){logger[_0xcaa7('0x1d')](_0x55b613['stack']);if(_0x55b613[_0xcaa7('0x1e')]){delete _0x55b613['name'];}_0x43e9fa[_0xcaa7('0x11')](_0x7f706c)[_0xcaa7('0x1f')](_0x55b613);};}exports[_0xcaa7('0x20')]=function(_0x31974b,_0x46cd60){var _0x2046ca={};var _0x400bab=_[_0xcaa7('0x21')](db[_0xcaa7('0x22')][_0xcaa7('0x23')],function(_0x1cafaa){return{'name':_0x1cafaa['fieldName'],'type':_0x1cafaa[_0xcaa7('0x24')][_0xcaa7('0x25')]};});_0x2046ca=qs[_0xcaa7('0x26')](_0x400bab,_0x31974b);return interaction[_0xcaa7('0x27')](_0xcaa7('0x28'),_0x31974b['query'],_0x31974b[_0xcaa7('0x29')],_0x2046ca,_0x400bab)[_0xcaa7('0x1a')](respondWithFilteredResult(_0x46cd60,_0x2046ca))[_0xcaa7('0x2a')](handleError(_0x46cd60,null));};exports[_0xcaa7('0x2b')]=function(_0x307788,_0x276672){var _0x57df63={'raw':![],'where':{'id':_0x307788[_0xcaa7('0x2c')]['id']}},_0x1f05a5={};_0x1f05a5['model']=_[_0xcaa7('0x2d')](db[_0xcaa7('0x22')][_0xcaa7('0x23')]);_0x1f05a5[_0xcaa7('0x2e')]=_['keys'](_0x307788['query']);_0x1f05a5[_0xcaa7('0x2f')]=_[_0xcaa7('0x30')](_0x1f05a5[_0xcaa7('0x31')],_0x1f05a5[_0xcaa7('0x2e')]);_0x57df63[_0xcaa7('0x32')]=_[_0xcaa7('0x30')](_0x1f05a5['model'],qs[_0xcaa7('0x33')](_0x307788[_0xcaa7('0x2e')]['fields']));_0x57df63['attributes']=_0x57df63[_0xcaa7('0x32')][_0xcaa7('0x34')]?_0x57df63['attributes']:_0x1f05a5[_0xcaa7('0x31')];if(_0x307788[_0xcaa7('0x2e')]['includeAll']){_0x57df63[_0xcaa7('0x35')]=[{'all':!![]}];}_0x57df63=_['merge']({},_0x57df63,_0x307788[_0xcaa7('0x36')]);return db[_0xcaa7('0x22')][_0xcaa7('0x37')](_0x57df63)[_0xcaa7('0x1a')](handleEntityNotFound(_0x276672,null))[_0xcaa7('0x1a')](respondWithResult(_0x276672,null))[_0xcaa7('0x2a')](handleError(_0x276672,null));};exports[_0xcaa7('0x38')]=function(_0x49b710,_0x20f2c7){return db[_0xcaa7('0x22')][_0xcaa7('0x38')](_0x49b710['body'],{})[_0xcaa7('0x1a')](respondWithResult(_0x20f2c7,0xc9))[_0xcaa7('0x2a')](handleError(_0x20f2c7,null));};exports[_0xcaa7('0x19')]=function(_0x399d2b,_0x3ae32d){if(_0x399d2b[_0xcaa7('0x39')]['id']){delete _0x399d2b[_0xcaa7('0x39')]['id'];}return db[_0xcaa7('0x22')]['find']({'where':{'id':_0x399d2b['params']['id']}})[_0xcaa7('0x1a')](handleEntityNotFound(_0x3ae32d,null))[_0xcaa7('0x1a')](saveUpdates(_0x399d2b[_0xcaa7('0x39')],null))[_0xcaa7('0x1a')](respondWithResult(_0x3ae32d,null))['catch'](handleError(_0x3ae32d,null));};exports[_0xcaa7('0x1b')]=function(_0xf940bb,_0x487bfb){return db[_0xcaa7('0x22')]['find']({'where':{'id':_0xf940bb[_0xcaa7('0x2c')]['id']}})[_0xcaa7('0x1a')](handleEntityNotFound(_0x487bfb,null))[_0xcaa7('0x1a')](removeEntity(_0x487bfb,null))['catch'](handleError(_0x487bfb,null));};exports[_0xcaa7('0x3a')]=function(_0x47f9e7,_0x4d164f){return db[_0xcaa7('0x22')][_0xcaa7('0x3a')]()['then'](respondWithResult(_0x4d164f,null))[_0xcaa7('0x2a')](handleError(_0x4d164f,null));};exports['addMessage']=function(_0x2bb094,_0x309fbb){return db[_0xcaa7('0x3b')][_0xcaa7('0x37')]({'where':{'id':_0x2bb094[_0xcaa7('0x2c')]['id']}})[_0xcaa7('0x1a')](handleEntityNotFound(_0x309fbb,null))[_0xcaa7('0x1a')](function(_0xd33b7c){if(_0xd33b7c){return _0xd33b7c[_0xcaa7('0x3c')](_0x2bb094[_0xcaa7('0x39')][_0xcaa7('0x3d')],_[_0xcaa7('0x3e')](_0x2bb094['body'],[_0xcaa7('0x3d'),'id'])||{});}})[_0xcaa7('0x1a')](respondWithResult(_0x309fbb,null))['catch'](handleError(_0x309fbb,null));};exports[_0xcaa7('0x3f')]=function(_0x31bf8a,_0x1030b8){var _0x281466={'raw':![],'where':{}};var _0x495c9e={};var _0x2a7951={'count':0x0,'rows':[]};return db['SmsInteraction'][_0xcaa7('0x40')]({'where':{'id':_0x31bf8a[_0xcaa7('0x2c')]['id']}})['then'](handleEntityNotFound(_0x1030b8,null))['then'](function(_0x31473e){if(_0x31473e){_0x495c9e['model']=_[_0xcaa7('0x2d')](db[_0xcaa7('0x3b')]['rawAttributes']);_0x495c9e[_0xcaa7('0x2e')]=_[_0xcaa7('0x2d')](_0x31bf8a[_0xcaa7('0x2e')]);_0x495c9e[_0xcaa7('0x2f')]=_[_0xcaa7('0x30')](_0x495c9e[_0xcaa7('0x31')],_0x495c9e[_0xcaa7('0x2e')]);_0x281466[_0xcaa7('0x32')]=_[_0xcaa7('0x30')](_0x495c9e[_0xcaa7('0x31')],qs[_0xcaa7('0x33')](_0x31bf8a['query'][_0xcaa7('0x33')]));_0x281466[_0xcaa7('0x32')]=_0x281466[_0xcaa7('0x32')]['length']?_0x281466[_0xcaa7('0x32')]:_0x495c9e[_0xcaa7('0x31')];if(!_0x31bf8a[_0xcaa7('0x2e')]['hasOwnProperty'](_0xcaa7('0x41'))){_0x281466['limit']=qs[_0xcaa7('0x15')](_0x31bf8a[_0xcaa7('0x2e')][_0xcaa7('0x15')]);_0x281466[_0xcaa7('0x13')]=qs[_0xcaa7('0x13')](_0x31bf8a[_0xcaa7('0x2e')][_0xcaa7('0x13')]);}_0x281466[_0xcaa7('0x42')]=qs['sort'](_0x31bf8a[_0xcaa7('0x2e')][_0xcaa7('0x43')]);_0x281466[_0xcaa7('0x44')]=qs['filters'](_[_0xcaa7('0x45')](_0x31bf8a[_0xcaa7('0x2e')],_0x495c9e['filters']));_0x281466[_0xcaa7('0x44')][_0xcaa7('0x46')]=_0x31473e['id'];if(_0x31bf8a['query'][_0xcaa7('0x47')]){_0x281466['where']=_[_0xcaa7('0x48')](_0x281466[_0xcaa7('0x44')],{'$or':_[_0xcaa7('0x21')](_0x281466['attributes'],function(_0x3e6cff){var _0xa307ea={};_0xa307ea[_0x3e6cff]={'$like':'%'+_0x31bf8a[_0xcaa7('0x2e')][_0xcaa7('0x47')]+'%'};return _0xa307ea;})});}if(_0x31bf8a[_0xcaa7('0x2e')][_0xcaa7('0x49')]){var _0x31b94b=_0x31bf8a[_0xcaa7('0x2e')][_0xcaa7('0x49')]['split'](',');var _0x160c2f={};_0x160c2f[_0x31b94b[0x0]]={'$gte':moment(_0x31b94b[0x1])[_0xcaa7('0x4a')](_0xcaa7('0x4b'))};_0x281466[_0xcaa7('0x44')]=_[_0xcaa7('0x48')](_0x281466[_0xcaa7('0x44')],_0x160c2f);}_0x281466=_['merge']({},_0x281466,_0x31bf8a[_0xcaa7('0x36')]);return db[_0xcaa7('0x3b')][_0xcaa7('0x4c')]({'where':_0x281466[_0xcaa7('0x44')]})[_0xcaa7('0x1a')](function(_0x22b523){_0x2a7951['count']=_0x22b523;if(_0x31bf8a['query'][_0xcaa7('0x4d')]){_0x281466[_0xcaa7('0x35')]=[{'all':!![]}];}return db['SmsMessage'][_0xcaa7('0x27')](_0x281466);})[_0xcaa7('0x1a')](function(_0x3a820e){_0x2a7951[_0xcaa7('0x4e')]=_0x3a820e;return _0x2a7951;});}})[_0xcaa7('0x1a')](respondWithFilteredResult(_0x1030b8,_0x281466))[_0xcaa7('0x2a')](handleError(_0x1030b8,null));};exports[_0xcaa7('0x4f')]=function(_0x7fe2b7,_0x112a1a){return db['SmsInteraction'][_0xcaa7('0x37')]({'where':{'id':_0x7fe2b7[_0xcaa7('0x2c')]['id']}})['then'](handleEntityNotFound(_0x112a1a,null))['then'](function(_0x16ec1b){if(_0x16ec1b){return _0x16ec1b[_0xcaa7('0x50')](_0x7fe2b7[_0xcaa7('0x39')][_0xcaa7('0x3d')],_[_0xcaa7('0x3e')](_0x7fe2b7[_0xcaa7('0x39')],[_0xcaa7('0x3d'),'id'])||{})[_0xcaa7('0x51')](function(){return db[_0xcaa7('0x52')][_0xcaa7('0x27')]({'attributes':['id',_0xcaa7('0x1e'),'color'],'where':{'id':_0x7fe2b7[_0xcaa7('0x39')][_0xcaa7('0x3d')]}});})[_0xcaa7('0x1a')](function(_0x385f1e){socket['emit']('smsInteractionTags:save',{'id':Number(_0x7fe2b7[_0xcaa7('0x2c')]['id']),'tags':_0x385f1e||[]});return{'id':Number(_0x7fe2b7['params']['id']),'tags':_0x385f1e||[]};});}})[_0xcaa7('0x1a')](respondWithResult(_0x112a1a,null))[_0xcaa7('0x2a')](handleError(_0x112a1a,null));};exports['removeTags']=function(_0x502853,_0x577c87){return db[_0xcaa7('0x22')][_0xcaa7('0x37')]({'where':{'id':_0x502853[_0xcaa7('0x2c')]['id']}})[_0xcaa7('0x1a')](handleEntityNotFound(_0x577c87,null))[_0xcaa7('0x1a')](function(_0x518ec3){if(_0x518ec3){return _0x518ec3[_0xcaa7('0x53')](_0x502853[_0xcaa7('0x2e')][_0xcaa7('0x3d')]);}})[_0xcaa7('0x1a')](respondWithStatusCode(_0x577c87,null))[_0xcaa7('0x2a')](handleError(_0x577c87,null));};exports[_0xcaa7('0x54')]=function(_0x15088e,_0x8f8e21){var _0x67d302=moment()['unix']()['toString']();var _0x14c149=path[_0xcaa7('0x55')](config[_0xcaa7('0x56')],'server',_0xcaa7('0x57'),_0xcaa7('0x58'));var _0xc3f944=path['join'](_0x14c149,_0x67d302);var _0x340a26=util['format'](_0xcaa7('0x59'),_0x15088e['params']['id'],_0x67d302);var _0x3f41ed=path[_0xcaa7('0x55')](_0x14c149,_0x340a26);var _0x361e04=[];_0x361e04[_0xcaa7('0x5a')]({'model':db['User'],'as':_0xcaa7('0x5b'),'attributes':['id','fullname'],'raw':!![]});_0x361e04[_0xcaa7('0x5a')]({'model':db['CmContact'],'as':_0xcaa7('0x5c'),'attributes':['id',_0xcaa7('0x5d'),_0xcaa7('0x5e')],'raw':!![]});var _0x2e1cdb=[{'model':db[_0xcaa7('0x3b')],'as':_0xcaa7('0x5f'),'attributes':['id',_0xcaa7('0x39'),'createdAt',_0xcaa7('0x60'),_0xcaa7('0x61'),_0xcaa7('0x62')],'include':_0x361e04}];_0x2e1cdb[_0xcaa7('0x5a')]({'model':db['SmsAccount'],'as':_0xcaa7('0x63'),'attributes':['id','name']});_0x2e1cdb['push']({'model':db['User'],'as':_0xcaa7('0x64'),'attributes':['id',_0xcaa7('0x65')]});return db['SmsInteraction'][_0xcaa7('0x37')]({'where':{'id':_0x15088e[_0xcaa7('0x2c')]['id']},'include':_0x2e1cdb})['then'](handleEntityNotFound(_0x8f8e21,null))[_0xcaa7('0x1a')](function(_0x1fe0e2){if(_0x1fe0e2){var _0x1362ed=_0x1fe0e2[_0xcaa7('0x66')]({'plain':!![]});fs['mkdirSync'](_0xc3f944);var _0x518db8={'channel':_0xcaa7('0x67'),'account':_0x1362ed[_0xcaa7('0x63')][_0xcaa7('0x1e')],'agent':_0x1362ed['Owner']?_0x1362ed[_0xcaa7('0x64')]['fullname']:_0xcaa7('0x68'),'createdAt':moment(_0x1362ed[_0xcaa7('0x69')])[_0xcaa7('0x4a')](_0xcaa7('0x4b'))[_0xcaa7('0x6a')](),'closedAt':_0x1362ed[_0xcaa7('0x6b')]?moment(_0x1362ed['closedAt'])[_0xcaa7('0x4a')]('YYYY-MM-DD\x20HH:mm:ss')[_0xcaa7('0x6a')]():'','disposition':_0x1362ed[_0xcaa7('0x6c')],'messages':_(_0x1362ed[_0xcaa7('0x5f')])[_0xcaa7('0x47')]({'secret':![]})[_0xcaa7('0x21')](function(_0x5ed4af){return{'date':moment(_0x5ed4af[_0xcaa7('0x69')])[_0xcaa7('0x4a')](_0xcaa7('0x4b'))[_0xcaa7('0x6a')](),'sender':_0x5ed4af[_0xcaa7('0x60')]===_0xcaa7('0x6d')?_0x5ed4af[_0xcaa7('0x5b')]?_0x5ed4af['User'][_0xcaa7('0x65')]:_0xcaa7('0x6e'):_0x5ed4af[_0xcaa7('0x5c')][_0xcaa7('0x5d')]+(_0x5ed4af[_0xcaa7('0x5c')][_0xcaa7('0x5e')]?'\x20'+_0x5ed4af[_0xcaa7('0x5c')][_0xcaa7('0x5e')]:''),'body':_0x5ed4af['body'],'direction':_0x5ed4af['direction']==='out'?'A':'C','secret':_0x5ed4af[_0xcaa7('0x61')],'read':_0x5ed4af[_0xcaa7('0x62')]};})['value']()};return ejs[_0xcaa7('0x6f')](path[_0xcaa7('0x55')](config[_0xcaa7('0x56')],_0xcaa7('0x70'),_0xcaa7('0x71'),_0xcaa7('0x72')),{'interaction':_0x518db8})['then'](function(_0x409cfa){var _0x583336=path[_0xcaa7('0x55')](_0xc3f944,'transcript-'+_0x1362ed['id']+'-'+_0x67d302+'.pdf');var _0x13fb22={'path':_0x583336,'channel':_0xcaa7('0x67'),'interactionId':_0x1362ed['id']};return pdf['createPdfFromHTML'](_0x409cfa,_0x13fb22);})[_0xcaa7('0x1a')](function(){return new BPromise(function(_0x2e8495,_0xb7c8d0){zipdir(_0xc3f944,{'saveTo':_0x3f41ed},function(_0x5916f3,_0x30b821){if(_0x5916f3)return _0xb7c8d0(_0x5916f3);return _0x2e8495(_0x30b821);});})[_0xcaa7('0x1a')](function(){return new BPromise(function(_0x255aec,_0x2e84ed){rimraf(_0xc3f944,function(_0x3b0a7f){if(_0x3b0a7f)_0x2e84ed(_0x3b0a7f);return _0x255aec();});});})[_0xcaa7('0x1a')](function(){return _0x8f8e21[_0xcaa7('0x54')](_0x3f41ed,_0x340a26,function(_0x57617a){if(_0x57617a){console[_0xcaa7('0x73')](_0xcaa7('0x74'),_0x57617a);}else{fs[_0xcaa7('0x75')](_0x3f41ed);}});});});}else{return _0x8f8e21[_0xcaa7('0x1c')](0xc8);}})[_0xcaa7('0x2a')](handleError(_0x8f8e21,null));};
\ No newline at end of file