Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / smsInteraction / smsInteraction.controller.js
index a3cb8fe..6b7dae7 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2c3d=['rimraf','moment','bluebird','util','ejs','lodash','../../components/interaction/service','../../config/logger','api','../../config/environment','redis','defaults','localhost','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','offset','undefined','count','limit','Content-Range','json','update','then','destroy','end','stack','name','send','index','map','rawAttributes','fieldName','key','sms','query','user','catch','params','model','keys','SmsInteraction','filters','intersection','attributes','fields','length','include','merge','options','find','body','describe','addMessage','SmsMessage','omit','ids','getMessages','findOne','nolimit','order','sort','where','filter','$gte','format','rows','addTags','setTags','spread','Tag','findAll','emit','removeTags','download','toString','join','root','files','tmp','transcript-%d-%s.zip','push','User','fullname','CmContact','Contact','firstName','lastName','Messages','direction','SmsAccount','Account','Owner','get','mkdirSync','Sms','createdAt','YYYY-MM-DD\x20HH:mm:ss','closed','disposition','out','secret','read','value','renderFile','server','views','downloadInteraction.ejs','.pdf','createPdfFromHTML','err','unlinkSync'];(function(_0x2ec6a0,_0x48dfd6){var _0x3976f3=function(_0x224640){while(--_0x224640){_0x2ec6a0['push'](_0x2ec6a0['shift']());}};_0x3976f3(++_0x48dfd6);}(_0x2c3d,0xe4));var _0xd2c3=function(_0x1e4484,_0x4327cf){_0x1e4484=_0x1e4484-0x0;var _0x253244=_0x2c3d[_0x1e4484];return _0x253244;};'use strict';var rimraf=require(_0xd2c3('0x0'));var zipdir=require('zip-dir');var moment=require(_0xd2c3('0x1'));var BPromise=require(_0xd2c3('0x2'));var util=require(_0xd2c3('0x3'));var path=require('path');var ejs=require(_0xd2c3('0x4'));var fs=require('fs');var _=require(_0xd2c3('0x5'));var Redis=require('ioredis');var interaction=require(_0xd2c3('0x6'));var qs=require('../../components/parsers/qs');var pdf=require('../../components/export/pdf');var logger=require(_0xd2c3('0x7'))(_0xd2c3('0x8'));var config=require(_0xd2c3('0x9'));var db=require('../../mysqldb')['db'];config[_0xd2c3('0xa')]=_[_0xd2c3('0xb')](config['redis'],{'host':_0xd2c3('0xc'),'port':0x18eb});var socket=require(_0xd2c3('0xd'))(new Redis(config[_0xd2c3('0xa')]));require(_0xd2c3('0xe'))[_0xd2c3('0xf')](socket);function respondWithStatusCode(_0x133b1e,_0x1cc290){_0x1cc290=_0x1cc290||0xcc;return function(_0x118f81){if(_0x118f81){return _0x133b1e[_0xd2c3('0x10')](_0x1cc290);}return _0x133b1e[_0xd2c3('0x11')](_0x1cc290)['end']();};}function respondWithResult(_0x3b39fc,_0x28abfd){_0x28abfd=_0x28abfd||0xc8;return function(_0x18b6f7){if(_0x18b6f7){return _0x3b39fc[_0xd2c3('0x11')](_0x28abfd)['json'](_0x18b6f7);}};}function respondWithFilteredResult(_0x2667c5,_0x4c9ffa){return function(_0x287175){if(_0x287175){var _0x3e60f5=typeof _0x4c9ffa[_0xd2c3('0x12')]==='undefined'&&typeof _0x4c9ffa['limit']===_0xd2c3('0x13');var _0x5b14c6=_0x287175[_0xd2c3('0x14')];var _0xf29f19=_0x3e60f5?0x0:_0x4c9ffa['offset'];var _0x3a1d02=_0x3e60f5?_0x287175['count']:_0x4c9ffa[_0xd2c3('0x12')]+_0x4c9ffa[_0xd2c3('0x15')];var _0x30d914;if(_0x3a1d02>=_0x5b14c6){_0x3a1d02=_0x5b14c6;_0x30d914=0xc8;}else{_0x30d914=0xce;}_0x2667c5[_0xd2c3('0x11')](_0x30d914);return _0x2667c5['set'](_0xd2c3('0x16'),_0xf29f19+'-'+_0x3a1d02+'/'+_0x5b14c6)[_0xd2c3('0x17')](_0x287175);}return null;};}function saveUpdates(_0x2d7b12){return function(_0x307592){if(_0x307592){return _0x307592[_0xd2c3('0x18')](_0x2d7b12)[_0xd2c3('0x19')](function(_0x16d511){return _0x16d511;});}return null;};}function removeEntity(_0x34cddf){return function(_0x1f04b6){if(_0x1f04b6){return _0x1f04b6[_0xd2c3('0x1a')]()[_0xd2c3('0x19')](function(){_0x34cddf[_0xd2c3('0x11')](0xcc)[_0xd2c3('0x1b')]();});}};}function handleEntityNotFound(_0x59f2e3){return function(_0x451275){if(!_0x451275){_0x59f2e3[_0xd2c3('0x10')](0x194);}return _0x451275;};}function handleError(_0x31752e,_0x1ef36f){_0x1ef36f=_0x1ef36f||0x1f4;return function(_0x1a207b){logger['error'](_0x1a207b[_0xd2c3('0x1c')]);if(_0x1a207b[_0xd2c3('0x1d')]){delete _0x1a207b[_0xd2c3('0x1d')];}_0x31752e['status'](_0x1ef36f)[_0xd2c3('0x1e')](_0x1a207b);};}exports[_0xd2c3('0x1f')]=function(_0x30ded3,_0x29354a){var _0x4e1e6a={};var _0x35dc33=_[_0xd2c3('0x20')](db['SmsInteraction'][_0xd2c3('0x21')],function(_0x1f2f76){return{'name':_0x1f2f76[_0xd2c3('0x22')],'type':_0x1f2f76['type'][_0xd2c3('0x23')]};});_0x4e1e6a=qs['getOptions'](_0x35dc33,_0x30ded3);return interaction['findAll'](_0xd2c3('0x24'),_0x30ded3[_0xd2c3('0x25')],_0x30ded3[_0xd2c3('0x26')],_0x4e1e6a,_0x35dc33)[_0xd2c3('0x19')](respondWithFilteredResult(_0x29354a,_0x4e1e6a))[_0xd2c3('0x27')](handleError(_0x29354a,null));};exports['show']=function(_0x45ad40,_0x3b911f){var _0x5eb115={'raw':![],'where':{'id':_0x45ad40[_0xd2c3('0x28')]['id']}},_0x3778d3={};_0x3778d3[_0xd2c3('0x29')]=_[_0xd2c3('0x2a')](db[_0xd2c3('0x2b')]['rawAttributes']);_0x3778d3['query']=_[_0xd2c3('0x2a')](_0x45ad40[_0xd2c3('0x25')]);_0x3778d3[_0xd2c3('0x2c')]=_[_0xd2c3('0x2d')](_0x3778d3[_0xd2c3('0x29')],_0x3778d3[_0xd2c3('0x25')]);_0x5eb115[_0xd2c3('0x2e')]=_[_0xd2c3('0x2d')](_0x3778d3[_0xd2c3('0x29')],qs[_0xd2c3('0x2f')](_0x45ad40['query'][_0xd2c3('0x2f')]));_0x5eb115[_0xd2c3('0x2e')]=_0x5eb115[_0xd2c3('0x2e')][_0xd2c3('0x30')]?_0x5eb115[_0xd2c3('0x2e')]:_0x3778d3[_0xd2c3('0x29')];if(_0x45ad40['query']['includeAll']){_0x5eb115[_0xd2c3('0x31')]=[{'all':!![]}];}_0x5eb115=_[_0xd2c3('0x32')]({},_0x5eb115,_0x45ad40[_0xd2c3('0x33')]);return db['SmsInteraction'][_0xd2c3('0x34')](_0x5eb115)[_0xd2c3('0x19')](handleEntityNotFound(_0x3b911f,null))[_0xd2c3('0x19')](respondWithResult(_0x3b911f,null))[_0xd2c3('0x27')](handleError(_0x3b911f,null));};exports['create']=function(_0x5210ab,_0x43ef74){return db[_0xd2c3('0x2b')]['create'](_0x5210ab[_0xd2c3('0x35')],{})['then'](respondWithResult(_0x43ef74,0xc9))[_0xd2c3('0x27')](handleError(_0x43ef74,null));};exports[_0xd2c3('0x18')]=function(_0x37ae6f,_0x436d8b){if(_0x37ae6f[_0xd2c3('0x35')]['id']){delete _0x37ae6f[_0xd2c3('0x35')]['id'];}return db[_0xd2c3('0x2b')][_0xd2c3('0x34')]({'where':{'id':_0x37ae6f[_0xd2c3('0x28')]['id']}})[_0xd2c3('0x19')](handleEntityNotFound(_0x436d8b,null))[_0xd2c3('0x19')](saveUpdates(_0x37ae6f[_0xd2c3('0x35')],null))[_0xd2c3('0x19')](respondWithResult(_0x436d8b,null))[_0xd2c3('0x27')](handleError(_0x436d8b,null));};exports['destroy']=function(_0x25d875,_0x4b4fc9){return db[_0xd2c3('0x2b')][_0xd2c3('0x34')]({'where':{'id':_0x25d875[_0xd2c3('0x28')]['id']}})[_0xd2c3('0x19')](handleEntityNotFound(_0x4b4fc9,null))[_0xd2c3('0x19')](removeEntity(_0x4b4fc9,null))[_0xd2c3('0x27')](handleError(_0x4b4fc9,null));};exports[_0xd2c3('0x36')]=function(_0x65f25d,_0x29afa1){return db[_0xd2c3('0x2b')][_0xd2c3('0x36')]()['then'](respondWithResult(_0x29afa1,null))[_0xd2c3('0x27')](handleError(_0x29afa1,null));};exports[_0xd2c3('0x37')]=function(_0x21971a,_0x1150ab){return db[_0xd2c3('0x38')]['find']({'where':{'id':_0x21971a[_0xd2c3('0x28')]['id']}})[_0xd2c3('0x19')](handleEntityNotFound(_0x1150ab,null))[_0xd2c3('0x19')](function(_0x377eeb){if(_0x377eeb){return _0x377eeb[_0xd2c3('0x37')](_0x21971a[_0xd2c3('0x35')]['ids'],_[_0xd2c3('0x39')](_0x21971a[_0xd2c3('0x35')],[_0xd2c3('0x3a'),'id'])||{});}})[_0xd2c3('0x19')](respondWithResult(_0x1150ab,null))[_0xd2c3('0x27')](handleError(_0x1150ab,null));};exports[_0xd2c3('0x3b')]=function(_0x44a7c4,_0x35ecac){var _0x2bbbc5={'raw':![],'where':{}};var _0x8f01db={};var _0x5ddc94={'count':0x0,'rows':[]};return db[_0xd2c3('0x2b')][_0xd2c3('0x3c')]({'where':{'id':_0x44a7c4[_0xd2c3('0x28')]['id']}})[_0xd2c3('0x19')](handleEntityNotFound(_0x35ecac,null))[_0xd2c3('0x19')](function(_0x13d742){if(_0x13d742){_0x8f01db[_0xd2c3('0x29')]=_[_0xd2c3('0x2a')](db[_0xd2c3('0x38')][_0xd2c3('0x21')]);_0x8f01db[_0xd2c3('0x25')]=_['keys'](_0x44a7c4['query']);_0x8f01db[_0xd2c3('0x2c')]=_[_0xd2c3('0x2d')](_0x8f01db['model'],_0x8f01db[_0xd2c3('0x25')]);_0x2bbbc5[_0xd2c3('0x2e')]=_[_0xd2c3('0x2d')](_0x8f01db[_0xd2c3('0x29')],qs[_0xd2c3('0x2f')](_0x44a7c4['query'][_0xd2c3('0x2f')]));_0x2bbbc5[_0xd2c3('0x2e')]=_0x2bbbc5[_0xd2c3('0x2e')][_0xd2c3('0x30')]?_0x2bbbc5[_0xd2c3('0x2e')]:_0x8f01db[_0xd2c3('0x29')];if(!_0x44a7c4[_0xd2c3('0x25')]['hasOwnProperty'](_0xd2c3('0x3d'))){_0x2bbbc5[_0xd2c3('0x15')]=qs['limit'](_0x44a7c4['query']['limit']);_0x2bbbc5[_0xd2c3('0x12')]=qs['offset'](_0x44a7c4['query'][_0xd2c3('0x12')]);}_0x2bbbc5[_0xd2c3('0x3e')]=qs[_0xd2c3('0x3f')](_0x44a7c4[_0xd2c3('0x25')][_0xd2c3('0x3f')]);_0x2bbbc5[_0xd2c3('0x40')]=qs[_0xd2c3('0x2c')](_['pick'](_0x44a7c4['query'],_0x8f01db['filters']));_0x2bbbc5[_0xd2c3('0x40')]['SmsInteractionId']=_0x13d742['id'];if(_0x44a7c4[_0xd2c3('0x25')][_0xd2c3('0x41')]){_0x2bbbc5[_0xd2c3('0x40')]=_['merge'](_0x2bbbc5['where'],{'$or':_[_0xd2c3('0x20')](_0x2bbbc5[_0xd2c3('0x2e')],function(_0x527aa5){var _0x253b51={};_0x253b51[_0x527aa5]={'$like':'%'+_0x44a7c4[_0xd2c3('0x25')][_0xd2c3('0x41')]+'%'};return _0x253b51;})});}if(_0x44a7c4['query']['$gte']){var _0x218a72=_0x44a7c4[_0xd2c3('0x25')][_0xd2c3('0x42')]['split'](',');var _0x499fe6={};_0x499fe6[_0x218a72[0x0]]={'$gte':moment(_0x218a72[0x1])[_0xd2c3('0x43')]('YYYY-MM-DD\x20HH:mm:ss')};_0x2bbbc5[_0xd2c3('0x40')]=_[_0xd2c3('0x32')](_0x2bbbc5[_0xd2c3('0x40')],_0x499fe6);}_0x2bbbc5=_[_0xd2c3('0x32')]({},_0x2bbbc5,_0x44a7c4[_0xd2c3('0x33')]);return db[_0xd2c3('0x38')]['count']({'where':_0x2bbbc5[_0xd2c3('0x40')]})[_0xd2c3('0x19')](function(_0xebf250){_0x5ddc94[_0xd2c3('0x14')]=_0xebf250;if(_0x44a7c4[_0xd2c3('0x25')]['includeAll']){_0x2bbbc5[_0xd2c3('0x31')]=[{'all':!![]}];}return db[_0xd2c3('0x38')]['findAll'](_0x2bbbc5);})[_0xd2c3('0x19')](function(_0x2efe39){_0x5ddc94[_0xd2c3('0x44')]=_0x2efe39;return _0x5ddc94;});}})[_0xd2c3('0x19')](respondWithFilteredResult(_0x35ecac,_0x2bbbc5))[_0xd2c3('0x27')](handleError(_0x35ecac,null));};exports[_0xd2c3('0x45')]=function(_0x32745b,_0x185860){return db[_0xd2c3('0x2b')][_0xd2c3('0x34')]({'where':{'id':_0x32745b[_0xd2c3('0x28')]['id']}})['then'](handleEntityNotFound(_0x185860,null))['then'](function(_0x51b81d){if(_0x51b81d){return _0x51b81d[_0xd2c3('0x46')](_0x32745b[_0xd2c3('0x35')][_0xd2c3('0x3a')],_[_0xd2c3('0x39')](_0x32745b[_0xd2c3('0x35')],[_0xd2c3('0x3a'),'id'])||{})[_0xd2c3('0x47')](function(){return db[_0xd2c3('0x48')][_0xd2c3('0x49')]({'attributes':['id',_0xd2c3('0x1d'),'color'],'where':{'id':_0x32745b[_0xd2c3('0x35')]['ids']}});})[_0xd2c3('0x19')](function(_0x39ad2f){socket[_0xd2c3('0x4a')]('smsInteractionTags:save',{'id':Number(_0x32745b[_0xd2c3('0x28')]['id']),'tags':_0x39ad2f||[]});return{'id':Number(_0x32745b[_0xd2c3('0x28')]['id']),'tags':_0x39ad2f||[]};});}})['then'](respondWithResult(_0x185860,null))['catch'](handleError(_0x185860,null));};exports[_0xd2c3('0x4b')]=function(_0x1d3665,_0x5cf91a){return db[_0xd2c3('0x2b')][_0xd2c3('0x34')]({'where':{'id':_0x1d3665[_0xd2c3('0x28')]['id']}})[_0xd2c3('0x19')](handleEntityNotFound(_0x5cf91a,null))[_0xd2c3('0x19')](function(_0x245b3a){if(_0x245b3a){return _0x245b3a['removeTags'](_0x1d3665[_0xd2c3('0x25')][_0xd2c3('0x3a')]);}})[_0xd2c3('0x19')](respondWithStatusCode(_0x5cf91a,null))[_0xd2c3('0x27')](handleError(_0x5cf91a,null));};exports[_0xd2c3('0x4c')]=function(_0xd3207f,_0x24999c){var _0xb0a4d7=moment()['unix']()[_0xd2c3('0x4d')]();var _0x555cc8=path[_0xd2c3('0x4e')](config[_0xd2c3('0x4f')],'server',_0xd2c3('0x50'),_0xd2c3('0x51'));var _0x98170b=path['join'](_0x555cc8,_0xb0a4d7);var _0x2aea50=util[_0xd2c3('0x43')](_0xd2c3('0x52'),_0xd3207f['params']['id'],_0xb0a4d7);var _0x21aa21=path[_0xd2c3('0x4e')](_0x555cc8,_0x2aea50);var _0x42bcdd=[];_0x42bcdd[_0xd2c3('0x53')]({'model':db['User'],'as':_0xd2c3('0x54'),'attributes':['id',_0xd2c3('0x55')],'raw':!![]});_0x42bcdd[_0xd2c3('0x53')]({'model':db[_0xd2c3('0x56')],'as':_0xd2c3('0x57'),'attributes':['id',_0xd2c3('0x58'),_0xd2c3('0x59')],'raw':!![]});var _0x1f3493=[{'model':db[_0xd2c3('0x38')],'as':_0xd2c3('0x5a'),'attributes':['id','body','createdAt',_0xd2c3('0x5b'),'secret','read'],'include':_0x42bcdd}];_0x1f3493[_0xd2c3('0x53')]({'model':db[_0xd2c3('0x5c')],'as':_0xd2c3('0x5d'),'attributes':['id',_0xd2c3('0x1d')]});_0x1f3493[_0xd2c3('0x53')]({'model':db[_0xd2c3('0x54')],'as':_0xd2c3('0x5e'),'attributes':['id',_0xd2c3('0x55')]});return db[_0xd2c3('0x2b')]['find']({'where':{'id':_0xd3207f[_0xd2c3('0x28')]['id']},'include':_0x1f3493})[_0xd2c3('0x19')](handleEntityNotFound(_0x24999c,null))[_0xd2c3('0x19')](function(_0x4a39a6){if(_0x4a39a6){var _0xaf9a92=_0x4a39a6[_0xd2c3('0x5f')]({'plain':!![]});fs[_0xd2c3('0x60')](_0x98170b);var _0x2f6e59={'channel':_0xd2c3('0x61'),'account':_0xaf9a92[_0xd2c3('0x5d')][_0xd2c3('0x1d')],'agent':_0xaf9a92['Owner']?_0xaf9a92['Owner'][_0xd2c3('0x55')]:'N.A.','createdAt':moment(_0xaf9a92[_0xd2c3('0x62')])[_0xd2c3('0x43')](_0xd2c3('0x63'))[_0xd2c3('0x4d')](),'closedAt':_0xaf9a92[_0xd2c3('0x64')]?moment(_0xaf9a92['closedAt'])[_0xd2c3('0x43')](_0xd2c3('0x63'))[_0xd2c3('0x4d')]():'','disposition':_0xaf9a92[_0xd2c3('0x65')],'messages':_(_0xaf9a92['Messages'])[_0xd2c3('0x41')]({'secret':![]})['map'](function(_0x28540f){return{'date':moment(_0x28540f[_0xd2c3('0x62')])[_0xd2c3('0x43')](_0xd2c3('0x63'))[_0xd2c3('0x4d')](),'sender':_0x28540f[_0xd2c3('0x5b')]===_0xd2c3('0x66')?_0x28540f[_0xd2c3('0x54')]?_0x28540f[_0xd2c3('0x54')][_0xd2c3('0x55')]:'System':_0x28540f['Contact']['firstName']+(_0x28540f['Contact'][_0xd2c3('0x59')]?'\x20'+_0x28540f[_0xd2c3('0x57')][_0xd2c3('0x59')]:''),'body':_0x28540f[_0xd2c3('0x35')],'direction':_0x28540f[_0xd2c3('0x5b')]==='out'?'A':'C','secret':_0x28540f[_0xd2c3('0x67')],'read':_0x28540f[_0xd2c3('0x68')]};})[_0xd2c3('0x69')]()};return ejs[_0xd2c3('0x6a')](path[_0xd2c3('0x4e')](config[_0xd2c3('0x4f')],_0xd2c3('0x6b'),_0xd2c3('0x6c'),_0xd2c3('0x6d')),{'interaction':_0x2f6e59})[_0xd2c3('0x19')](function(_0x4ab008){var _0x479c56=path[_0xd2c3('0x4e')](_0x98170b,'transcript-'+_0xaf9a92['id']+'-'+_0xb0a4d7+_0xd2c3('0x6e'));var _0x55dbb0={'path':_0x479c56,'channel':_0xd2c3('0x61'),'interactionId':_0xaf9a92['id']};return pdf[_0xd2c3('0x6f')](_0x4ab008,_0x55dbb0);})[_0xd2c3('0x19')](function(){return new BPromise(function(_0x237141,_0xd70541){zipdir(_0x98170b,{'saveTo':_0x21aa21},function(_0x24f134,_0x1eb38f){if(_0x24f134)return _0xd70541(_0x24f134);return _0x237141(_0x1eb38f);});})[_0xd2c3('0x19')](function(){return new BPromise(function(_0x5ba19a,_0x57e69f){rimraf(_0x98170b,function(_0x5cb1e6){if(_0x5cb1e6)_0x57e69f(_0x5cb1e6);return _0x5ba19a();});});})[_0xd2c3('0x19')](function(){return _0x24999c[_0xd2c3('0x4c')](_0x21aa21,_0x2aea50,function(_0x5c80a8){if(_0x5c80a8){console['log'](_0xd2c3('0x70'),_0x5c80a8);}else{fs[_0xd2c3('0x71')](_0x21aa21);}});});});}else{return _0x24999c[_0xd2c3('0x10')](0xc8);}})[_0xd2c3('0x27')](handleError(_0x24999c,null));};
\ No newline at end of file
+var _0x884b=['../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','end','json','undefined','count','offset','limit','Content-Range','update','then','destroy','error','stack','name','send','index','SmsInteraction','rawAttributes','fieldName','type','key','getOptions','findAll','query','catch','show','params','model','keys','intersection','fields','attributes','includeAll','include','merge','options','find','create','body','describe','addMessage','SmsMessage','ids','omit','getMessages','findOne','filters','length','nolimit','order','sort','where','SmsInteractionId','filter','map','rows','addTags','setTags','Tag','color','emit','removeTags','toString','join','root','server','files','tmp','push','User','fullname','CmContact','Contact','Messages','direction','secret','read','SmsAccount','Account','Owner','mkdirSync','N.A.','createdAt','format','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','out','System','firstName','lastName','value','renderFile','views','transcript-','.pdf','Sms','download','err','rimraf','zip-dir','moment','bluebird','util','path','ejs','lodash','../../components/interaction/service','../../components/parsers/qs','../../components/export/pdf','../../config/logger'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0x884b,0xe2));var _0xb884=function(_0x37ffea,_0x25b006){_0x37ffea=_0x37ffea-0x0;var _0x2e2615=_0x884b[_0x37ffea];return _0x2e2615;};'use strict';var rimraf=require(_0xb884('0x0'));var zipdir=require(_0xb884('0x1'));var moment=require(_0xb884('0x2'));var BPromise=require(_0xb884('0x3'));var util=require(_0xb884('0x4'));var path=require(_0xb884('0x5'));var ejs=require(_0xb884('0x6'));var fs=require('fs');var _=require(_0xb884('0x7'));var Redis=require('ioredis');var interaction=require(_0xb884('0x8'));var qs=require(_0xb884('0x9'));var pdf=require(_0xb884('0xa'));var logger=require(_0xb884('0xb'))('api');var config=require(_0xb884('0xc'));var db=require(_0xb884('0xd'))['db'];config[_0xb884('0xe')]=_[_0xb884('0xf')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xb884('0x10'))(new Redis(config[_0xb884('0xe')]));require(_0xb884('0x11'))[_0xb884('0x12')](socket);function respondWithStatusCode(_0x273ffa,_0x4076ba){_0x4076ba=_0x4076ba||0xcc;return function(_0x81fd0d){if(_0x81fd0d){return _0x273ffa[_0xb884('0x13')](_0x4076ba);}return _0x273ffa[_0xb884('0x14')](_0x4076ba)[_0xb884('0x15')]();};}function respondWithResult(_0x18662f,_0x37fdd7){_0x37fdd7=_0x37fdd7||0xc8;return function(_0x588749){if(_0x588749){return _0x18662f[_0xb884('0x14')](_0x37fdd7)[_0xb884('0x16')](_0x588749);}};}function respondWithFilteredResult(_0xa08789,_0x5a3ec7){return function(_0x2e7166){if(_0x2e7166){var _0x283535=typeof _0x5a3ec7['offset']===_0xb884('0x17')&&typeof _0x5a3ec7['limit']===_0xb884('0x17');var _0x190e95=_0x2e7166[_0xb884('0x18')];var _0x530c75=_0x283535?0x0:_0x5a3ec7[_0xb884('0x19')];var _0x5b3c02=_0x283535?_0x2e7166[_0xb884('0x18')]:_0x5a3ec7['offset']+_0x5a3ec7[_0xb884('0x1a')];var _0x39807c;if(_0x5b3c02>=_0x190e95){_0x5b3c02=_0x190e95;_0x39807c=0xc8;}else{_0x39807c=0xce;}_0xa08789[_0xb884('0x14')](_0x39807c);return _0xa08789['set'](_0xb884('0x1b'),_0x530c75+'-'+_0x5b3c02+'/'+_0x190e95)[_0xb884('0x16')](_0x2e7166);}return null;};}function saveUpdates(_0x3db43d){return function(_0x146c8c){if(_0x146c8c){return _0x146c8c[_0xb884('0x1c')](_0x3db43d)[_0xb884('0x1d')](function(_0x363cc4){return _0x363cc4;});}return null;};}function removeEntity(_0x5240a3){return function(_0x1f505b){if(_0x1f505b){return _0x1f505b[_0xb884('0x1e')]()[_0xb884('0x1d')](function(){_0x5240a3[_0xb884('0x14')](0xcc)[_0xb884('0x15')]();});}};}function handleEntityNotFound(_0x154fd5){return function(_0x4713eb){if(!_0x4713eb){_0x154fd5[_0xb884('0x13')](0x194);}return _0x4713eb;};}function handleError(_0x3a5622,_0x4d99fe){_0x4d99fe=_0x4d99fe||0x1f4;return function(_0xca6a98){logger[_0xb884('0x1f')](_0xca6a98[_0xb884('0x20')]);if(_0xca6a98[_0xb884('0x21')]){delete _0xca6a98['name'];}_0x3a5622[_0xb884('0x14')](_0x4d99fe)[_0xb884('0x22')](_0xca6a98);};}exports[_0xb884('0x23')]=function(_0x1ec294,_0x404168){var _0x350fc6={};var _0x4ea19a=_['map'](db[_0xb884('0x24')][_0xb884('0x25')],function(_0x5051ff){return{'name':_0x5051ff[_0xb884('0x26')],'type':_0x5051ff[_0xb884('0x27')][_0xb884('0x28')]};});_0x350fc6=qs[_0xb884('0x29')](_0x4ea19a,_0x1ec294);return interaction[_0xb884('0x2a')]('sms',_0x1ec294[_0xb884('0x2b')],_0x1ec294['user'],_0x350fc6,_0x4ea19a)[_0xb884('0x1d')](respondWithFilteredResult(_0x404168,_0x350fc6))[_0xb884('0x2c')](handleError(_0x404168,null));};exports[_0xb884('0x2d')]=function(_0x3f0736,_0x331ca9){var _0x506644={'raw':![],'where':{'id':_0x3f0736[_0xb884('0x2e')]['id']}},_0x4fb7bf={};_0x4fb7bf[_0xb884('0x2f')]=_[_0xb884('0x30')](db[_0xb884('0x24')]['rawAttributes']);_0x4fb7bf[_0xb884('0x2b')]=_[_0xb884('0x30')](_0x3f0736[_0xb884('0x2b')]);_0x4fb7bf['filters']=_[_0xb884('0x31')](_0x4fb7bf[_0xb884('0x2f')],_0x4fb7bf[_0xb884('0x2b')]);_0x506644['attributes']=_[_0xb884('0x31')](_0x4fb7bf['model'],qs[_0xb884('0x32')](_0x3f0736[_0xb884('0x2b')][_0xb884('0x32')]));_0x506644[_0xb884('0x33')]=_0x506644['attributes']['length']?_0x506644[_0xb884('0x33')]:_0x4fb7bf[_0xb884('0x2f')];if(_0x3f0736[_0xb884('0x2b')][_0xb884('0x34')]){_0x506644[_0xb884('0x35')]=[{'all':!![]}];}_0x506644=_[_0xb884('0x36')]({},_0x506644,_0x3f0736[_0xb884('0x37')]);return db[_0xb884('0x24')][_0xb884('0x38')](_0x506644)['then'](handleEntityNotFound(_0x331ca9,null))[_0xb884('0x1d')](respondWithResult(_0x331ca9,null))['catch'](handleError(_0x331ca9,null));};exports[_0xb884('0x39')]=function(_0x5a3a6b,_0x46ad8a){return db[_0xb884('0x24')][_0xb884('0x39')](_0x5a3a6b[_0xb884('0x3a')],{})[_0xb884('0x1d')](respondWithResult(_0x46ad8a,0xc9))[_0xb884('0x2c')](handleError(_0x46ad8a,null));};exports['update']=function(_0x49fa22,_0x5728c3){if(_0x49fa22[_0xb884('0x3a')]['id']){delete _0x49fa22['body']['id'];}return db[_0xb884('0x24')]['find']({'where':{'id':_0x49fa22[_0xb884('0x2e')]['id']}})[_0xb884('0x1d')](handleEntityNotFound(_0x5728c3,null))['then'](saveUpdates(_0x49fa22['body'],null))['then'](respondWithResult(_0x5728c3,null))[_0xb884('0x2c')](handleError(_0x5728c3,null));};exports['destroy']=function(_0x5d5c7c,_0x3991e7){return db['SmsInteraction'][_0xb884('0x38')]({'where':{'id':_0x5d5c7c[_0xb884('0x2e')]['id']}})['then'](handleEntityNotFound(_0x3991e7,null))[_0xb884('0x1d')](removeEntity(_0x3991e7,null))[_0xb884('0x2c')](handleError(_0x3991e7,null));};exports[_0xb884('0x3b')]=function(_0x41dbda,_0x522952){return db[_0xb884('0x24')][_0xb884('0x3b')]()[_0xb884('0x1d')](respondWithResult(_0x522952,null))[_0xb884('0x2c')](handleError(_0x522952,null));};exports[_0xb884('0x3c')]=function(_0xd95ed9,_0x1c7447){return db[_0xb884('0x3d')]['find']({'where':{'id':_0xd95ed9['params']['id']}})['then'](handleEntityNotFound(_0x1c7447,null))['then'](function(_0x59d0b9){if(_0x59d0b9){return _0x59d0b9[_0xb884('0x3c')](_0xd95ed9[_0xb884('0x3a')][_0xb884('0x3e')],_[_0xb884('0x3f')](_0xd95ed9[_0xb884('0x3a')],['ids','id'])||{});}})[_0xb884('0x1d')](respondWithResult(_0x1c7447,null))[_0xb884('0x2c')](handleError(_0x1c7447,null));};exports[_0xb884('0x40')]=function(_0x537a6f,_0x485358){var _0x2b39e7={'raw':![],'where':{}};var _0x3693a0={};var _0x19951c={'count':0x0,'rows':[]};return db[_0xb884('0x24')][_0xb884('0x41')]({'where':{'id':_0x537a6f[_0xb884('0x2e')]['id']}})['then'](handleEntityNotFound(_0x485358,null))['then'](function(_0x39aa51){if(_0x39aa51){_0x3693a0['model']=_['keys'](db['SmsMessage'][_0xb884('0x25')]);_0x3693a0[_0xb884('0x2b')]=_[_0xb884('0x30')](_0x537a6f[_0xb884('0x2b')]);_0x3693a0[_0xb884('0x42')]=_['intersection'](_0x3693a0[_0xb884('0x2f')],_0x3693a0[_0xb884('0x2b')]);_0x2b39e7[_0xb884('0x33')]=_['intersection'](_0x3693a0['model'],qs[_0xb884('0x32')](_0x537a6f['query'][_0xb884('0x32')]));_0x2b39e7[_0xb884('0x33')]=_0x2b39e7['attributes'][_0xb884('0x43')]?_0x2b39e7[_0xb884('0x33')]:_0x3693a0['model'];if(!_0x537a6f[_0xb884('0x2b')]['hasOwnProperty'](_0xb884('0x44'))){_0x2b39e7['limit']=qs[_0xb884('0x1a')](_0x537a6f[_0xb884('0x2b')][_0xb884('0x1a')]);_0x2b39e7['offset']=qs['offset'](_0x537a6f[_0xb884('0x2b')][_0xb884('0x19')]);}_0x2b39e7[_0xb884('0x45')]=qs[_0xb884('0x46')](_0x537a6f[_0xb884('0x2b')][_0xb884('0x46')]);_0x2b39e7[_0xb884('0x47')]=qs[_0xb884('0x42')](_['pick'](_0x537a6f[_0xb884('0x2b')],_0x3693a0[_0xb884('0x42')]));_0x2b39e7[_0xb884('0x47')][_0xb884('0x48')]=_0x39aa51['id'];if(_0x537a6f[_0xb884('0x2b')][_0xb884('0x49')]){_0x2b39e7['where']=_[_0xb884('0x36')](_0x2b39e7['where'],{'$or':_[_0xb884('0x4a')](_0x2b39e7[_0xb884('0x33')],function(_0x3221a5){var _0x3eba80={};_0x3eba80[_0x3221a5]={'$like':'%'+_0x537a6f[_0xb884('0x2b')][_0xb884('0x49')]+'%'};return _0x3eba80;})});}if(_0x537a6f['query']['$gte']){var _0x6a723c=_0x537a6f[_0xb884('0x2b')]['$gte']['split'](',');var _0x31a7f6={};_0x31a7f6[_0x6a723c[0x0]]={'$gte':moment(_0x6a723c[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x2b39e7['where']=_[_0xb884('0x36')](_0x2b39e7[_0xb884('0x47')],_0x31a7f6);}_0x2b39e7=_[_0xb884('0x36')]({},_0x2b39e7,_0x537a6f['options']);return db[_0xb884('0x3d')][_0xb884('0x18')]({'where':_0x2b39e7[_0xb884('0x47')]})['then'](function(_0x13dfa4){_0x19951c[_0xb884('0x18')]=_0x13dfa4;if(_0x537a6f[_0xb884('0x2b')][_0xb884('0x34')]){_0x2b39e7['include']=[{'all':!![]}];}return db['SmsMessage'][_0xb884('0x2a')](_0x2b39e7);})['then'](function(_0x52ebc3){_0x19951c[_0xb884('0x4b')]=_0x52ebc3;return _0x19951c;});}})[_0xb884('0x1d')](respondWithFilteredResult(_0x485358,_0x2b39e7))['catch'](handleError(_0x485358,null));};exports[_0xb884('0x4c')]=function(_0x4f6a0f,_0x626265){return db['SmsInteraction']['find']({'where':{'id':_0x4f6a0f['params']['id']}})[_0xb884('0x1d')](handleEntityNotFound(_0x626265,null))['then'](function(_0x16c650){if(_0x16c650){return _0x16c650[_0xb884('0x4d')](_0x4f6a0f[_0xb884('0x3a')][_0xb884('0x3e')],_[_0xb884('0x3f')](_0x4f6a0f[_0xb884('0x3a')],[_0xb884('0x3e'),'id'])||{})['spread'](function(){return db[_0xb884('0x4e')][_0xb884('0x2a')]({'attributes':['id',_0xb884('0x21'),_0xb884('0x4f')],'where':{'id':_0x4f6a0f[_0xb884('0x3a')][_0xb884('0x3e')]}});})['then'](function(_0x1dc3bd){socket[_0xb884('0x50')]('smsInteractionTags:save',{'id':Number(_0x4f6a0f['params']['id']),'tags':_0x1dc3bd||[]});return{'id':Number(_0x4f6a0f['params']['id']),'tags':_0x1dc3bd||[]};});}})[_0xb884('0x1d')](respondWithResult(_0x626265,null))[_0xb884('0x2c')](handleError(_0x626265,null));};exports[_0xb884('0x51')]=function(_0x3ce1c1,_0x41500e){return db['SmsInteraction']['find']({'where':{'id':_0x3ce1c1[_0xb884('0x2e')]['id']}})[_0xb884('0x1d')](handleEntityNotFound(_0x41500e,null))['then'](function(_0x867050){if(_0x867050){return _0x867050['removeTags'](_0x3ce1c1['query'][_0xb884('0x3e')]);}})[_0xb884('0x1d')](respondWithStatusCode(_0x41500e,null))[_0xb884('0x2c')](handleError(_0x41500e,null));};exports['download']=function(_0x1929af,_0x2045b0){var _0x43736c=moment()['unix']()[_0xb884('0x52')]();var _0x501b69=path[_0xb884('0x53')](config[_0xb884('0x54')],_0xb884('0x55'),_0xb884('0x56'),_0xb884('0x57'));var _0x5afe64=path[_0xb884('0x53')](_0x501b69,_0x43736c);var _0x44f3fc=util['format']('transcript-%d-%s.zip',_0x1929af[_0xb884('0x2e')]['id'],_0x43736c);var _0x4713fb=path[_0xb884('0x53')](_0x501b69,_0x44f3fc);var _0x128bba=[];_0x128bba[_0xb884('0x58')]({'model':db[_0xb884('0x59')],'as':'User','attributes':['id',_0xb884('0x5a')],'raw':!![]});_0x128bba[_0xb884('0x58')]({'model':db[_0xb884('0x5b')],'as':_0xb884('0x5c'),'attributes':['id','firstName','lastName'],'raw':!![]});var _0x55304b=[{'model':db['SmsMessage'],'as':_0xb884('0x5d'),'attributes':['id',_0xb884('0x3a'),'createdAt',_0xb884('0x5e'),_0xb884('0x5f'),_0xb884('0x60')],'include':_0x128bba}];_0x55304b['push']({'model':db[_0xb884('0x61')],'as':_0xb884('0x62'),'attributes':['id',_0xb884('0x21')]});_0x55304b['push']({'model':db[_0xb884('0x59')],'as':_0xb884('0x63'),'attributes':['id',_0xb884('0x5a')]});return db['SmsInteraction'][_0xb884('0x38')]({'where':{'id':_0x1929af[_0xb884('0x2e')]['id']},'include':_0x55304b})['then'](handleEntityNotFound(_0x2045b0,null))[_0xb884('0x1d')](function(_0xfb6d08){if(_0xfb6d08){var _0x2af841=_0xfb6d08['get']({'plain':!![]});fs[_0xb884('0x64')](_0x5afe64);var _0xa1642={'channel':'Sms','account':_0x2af841[_0xb884('0x62')][_0xb884('0x21')],'agent':_0x2af841[_0xb884('0x63')]?_0x2af841[_0xb884('0x63')]['fullname']:_0xb884('0x65'),'createdAt':moment(_0x2af841[_0xb884('0x66')])[_0xb884('0x67')](_0xb884('0x68'))[_0xb884('0x52')](),'closedAt':_0x2af841['closed']?moment(_0x2af841[_0xb884('0x69')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0xb884('0x52')]():'','disposition':_0x2af841[_0xb884('0x6a')],'messages':_(_0x2af841[_0xb884('0x5d')])['filter']({'secret':![]})[_0xb884('0x4a')](function(_0x1ed89a){return{'date':moment(_0x1ed89a[_0xb884('0x66')])[_0xb884('0x67')](_0xb884('0x68'))['toString'](),'sender':_0x1ed89a['direction']===_0xb884('0x6b')?_0x1ed89a[_0xb884('0x59')]?_0x1ed89a['User'][_0xb884('0x5a')]:_0xb884('0x6c'):_0x1ed89a['Contact'][_0xb884('0x6d')]+(_0x1ed89a[_0xb884('0x5c')][_0xb884('0x6e')]?'\x20'+_0x1ed89a['Contact'][_0xb884('0x6e')]:''),'body':_0x1ed89a[_0xb884('0x3a')],'direction':_0x1ed89a['direction']==='out'?'A':'C','secret':_0x1ed89a[_0xb884('0x5f')],'read':_0x1ed89a[_0xb884('0x60')]};})[_0xb884('0x6f')]()};return ejs[_0xb884('0x70')](path[_0xb884('0x53')](config[_0xb884('0x54')],_0xb884('0x55'),_0xb884('0x71'),'downloadInteraction.ejs'),{'interaction':_0xa1642})[_0xb884('0x1d')](function(_0x14e303){var _0x51d40b=path[_0xb884('0x53')](_0x5afe64,_0xb884('0x72')+_0x2af841['id']+'-'+_0x43736c+_0xb884('0x73'));var _0x45a3ec={'path':_0x51d40b,'channel':_0xb884('0x74'),'interactionId':_0x2af841['id']};return pdf['createPdfFromHTML'](_0x14e303,_0x45a3ec);})[_0xb884('0x1d')](function(){return new BPromise(function(_0x48a98d,_0x39cd8c){zipdir(_0x5afe64,{'saveTo':_0x4713fb},function(_0x187594,_0x44b49c){if(_0x187594)return _0x39cd8c(_0x187594);return _0x48a98d(_0x44b49c);});})['then'](function(){return new BPromise(function(_0x1ff455,_0x5556f2){rimraf(_0x5afe64,function(_0x3bf89c){if(_0x3bf89c)_0x5556f2(_0x3bf89c);return _0x1ff455();});});})[_0xb884('0x1d')](function(){return _0x2045b0[_0xb884('0x75')](_0x4713fb,_0x44f3fc,function(_0x25051e){if(_0x25051e){console['log'](_0xb884('0x76'),_0x25051e);}else{fs['unlinkSync'](_0x4713fb);}});});});}else{return _0x2045b0[_0xb884('0x13')](0xc8);}})[_0xb884('0x2c')](handleError(_0x2045b0,null));};
\ No newline at end of file