Built motion from commit (unavailable).|2.5.17
[motion2.git] / server / api / smsInteraction / smsInteraction.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 _0xc33b=['split','forEach','catch','index','SmsInteraction','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','order','sort','where','pick','field','color','from','u.id','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','left_join','users','select','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','me.SmsInteractionId\x20=\x20i.id','it.SmsInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','sqlOperator','length','conditions','find','unreadMessages','having','`\x20>\x200','Contact','operator','value','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','$substring','UserId','body','some','compact','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','null','\x20IS\x20NULL','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)','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','contactName','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','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','Contact.lastName','Contact.email','c.phone','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','push','all','rows','show','params','includeAll','include','options','create','describe','addMessage','ids','omit','getMessages','findOne','SmsMessage','hasOwnProperty','SmsInteractionId','format','findAll','addTags','setTags','spread','emit','smsInteractionTags:save','removeTags','download','unix','join','root','files','tmp','attachments','transcript-%d-%s.zip','fullname','CmContact','firstName','lastName','direction','secret','SmsAccount','Account','Owner','get','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Sms','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','Messages','out','System','renderFile','server','views','downloadInteraction.html','toFile','transcript-','.pdf','log','err','unlinkSync','sendStatus','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsInteraction.socket','register','end','status','json','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','error','name','send','Users','map','TagIds'];(function(_0x28e3a,_0xf74e6d){var _0x35372b=function(_0x51a19b){while(--_0x51a19b){_0x28e3a['push'](_0x28e3a['shift']());}};_0x35372b(++_0xf74e6d);}(_0xc33b,0xb8));var _0xbc33=function(_0x2da304,_0x471c32){_0x2da304=_0x2da304-0x0;var _0x1b53c1=_0xc33b[_0x2da304];return _0x1b53c1;};'use strict';var pdf=require(_0xbc33('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xbc33('0x1'));var zipdir=require(_0xbc33('0x2'));var jsonpatch=require(_0xbc33('0x3'));var rp=require(_0xbc33('0x4'));var moment=require(_0xbc33('0x5'));var BPromise=require(_0xbc33('0x6'));var Mustache=require('mustache');var util=require(_0xbc33('0x7'));var path=require('path');var sox=require(_0xbc33('0x8'));var csv=require(_0xbc33('0x9'));var ejs=require(_0xbc33('0xa'));var fs=require('fs');var _=require(_0xbc33('0xb'));var squel=require(_0xbc33('0xc'));var crypto=require(_0xbc33('0xd'));var jsforce=require(_0xbc33('0xe'));var deskjs=require(_0xbc33('0xf'));var toCsv=require(_0xbc33('0x9'));var querystring=require(_0xbc33('0x10'));var Papa=require(_0xbc33('0x11'));var Redis=require(_0xbc33('0x12'));var authService=require(_0xbc33('0x13'));var qs=require(_0xbc33('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbc33('0x15'));var logger=require(_0xbc33('0x16'))(_0xbc33('0x17'));var utils=require(_0xbc33('0x18'));var config=require(_0xbc33('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xbc33('0x1a'))['db'];config[_0xbc33('0x1b')]=_[_0xbc33('0x1c')](config['redis'],{'host':_0xbc33('0x1d'),'port':0x18eb});var socket=require(_0xbc33('0x1e'))(new Redis(config[_0xbc33('0x1b')]));require(_0xbc33('0x1f'))[_0xbc33('0x20')](socket);function respondWithStatusCode(_0x3536e9,_0x17af15){_0x17af15=_0x17af15||0xcc;return function(_0x70dd91){if(_0x70dd91){return _0x3536e9['sendStatus'](_0x17af15);}return _0x3536e9['status'](_0x17af15)[_0xbc33('0x21')]();};}function respondWithResult(_0xe7165d,_0x471634){_0x471634=_0x471634||0xc8;return function(_0x12d006){if(_0x12d006){return _0xe7165d[_0xbc33('0x22')](_0x471634)[_0xbc33('0x23')](_0x12d006);}};}function respondWithFilteredResult(_0x42cd8b,_0x184fee){return function(_0x213a0a){if(_0x213a0a){var _0x1cf0e8=_0x213a0a[_0xbc33('0x24')],_0x3510db=_0x184fee[_0xbc33('0x25')],_0x252366=_0x184fee['offset']+_0x184fee[_0xbc33('0x26')],_0x3ead6c;if(_0x252366>=_0x1cf0e8){_0x252366=_0x1cf0e8;_0x3ead6c=0xc8;}else{_0x3ead6c=0xce;}_0x42cd8b['status'](_0x3ead6c);return _0x42cd8b[_0xbc33('0x27')](_0xbc33('0x28'),_0x3510db+'-'+_0x252366+'/'+_0x1cf0e8)['json'](_0x213a0a);}return null;};}function patchUpdates(_0x52300d){return function(_0x48c08a){try{jsonpatch[_0xbc33('0x29')](_0x48c08a,_0x52300d,!![]);}catch(_0x1f397e){return BPromise[_0xbc33('0x2a')](_0x1f397e);}return _0x48c08a['save']();};}function saveUpdates(_0x384fec,_0x303e55){return function(_0x379e5e){if(_0x379e5e){return _0x379e5e[_0xbc33('0x2b')](_0x384fec)[_0xbc33('0x2c')](function(_0x567bd4){return _0x567bd4;});}return null;};}function removeEntity(_0x2861bf,_0x212924){return function(_0x378b37){if(_0x378b37){return _0x378b37[_0xbc33('0x2d')]()['then'](function(){_0x2861bf[_0xbc33('0x22')](0xcc)[_0xbc33('0x21')]();});}};}function handleEntityNotFound(_0x3711a6,_0x1d70f3){return function(_0x1b4809){if(!_0x1b4809){_0x3711a6['sendStatus'](0x194);}return _0x1b4809;};}function handleError(_0x9baefd,_0x298f68){_0x298f68=_0x298f68||0x1f4;return function(_0x52bce4){logger[_0xbc33('0x2e')](_0x52bce4['stack']);if(_0x52bce4[_0xbc33('0x2f')]){delete _0x52bce4[_0xbc33('0x2f')];}_0x9baefd[_0xbc33('0x22')](_0x298f68)[_0xbc33('0x30')](_0x52bce4);};}function getInteractionUsers(_0x5f1fe3,_0x10a89e){return new BPromise(function(_0x3c3522,_0x4fdfad){try{if(_0x10a89e[_0x5f1fe3['id']]){_0x5f1fe3[_0xbc33('0x31')]=_[_0xbc33('0x32')](_0x10a89e[_0x5f1fe3['id']],function(_0x5660c0){return{'id':_0x5660c0['id'],'fullname':_0x5660c0['fullname']};});}}catch(_0x17d338){_0x4fdfad(_0x17d338);}_0x3c3522(_0x5f1fe3);});}function getInteractionTags(_0x1beddb,_0x22a8bf){return new BPromise(function(_0x5b7288,_0x5538f0){try{if(_0x1beddb[_0xbc33('0x33')]){_0x1beddb['Tags']=[];_0x1beddb[_0xbc33('0x33')][_0xbc33('0x34')](',')[_0xbc33('0x35')](function(_0x12ec47){_0x1beddb['Tags']['push'](_0x22a8bf[_0x12ec47]);});}delete _0x1beddb[_0xbc33('0x33')];}catch(_0x5b3f27){_0x5538f0(_0x5b3f27);}_0x5b7288(_0x1beddb);});}function updateSmsInteraction(_0x4d6922,_0x335bdc,_0x309fae){return new BPromise(function(_0x417691,_0x2d1726){return getInteractionUsers(_0x4d6922,_0x309fae)['then'](function(_0x5b99e2){return getInteractionTags(_0x5b99e2,_0x335bdc);})['then'](function(_0x439f2f){_0x417691(_0x439f2f);})[_0xbc33('0x36')](function(_0x2a2d8a){_0x2d1726(_0x2a2d8a);});});}exports[_0xbc33('0x37')]=function(_0x387a0c,_0x1e5c0b){var _0x36925d={},_0x14b90b={},_0xfa57a5={'count':0x0,'rows':[]};var _0x52ba20=_[_0xbc33('0x32')](db[_0xbc33('0x38')][_0xbc33('0x39')],function(_0x52a730){return{'name':_0x52a730[_0xbc33('0x3a')],'type':_0x52a730['type'][_0xbc33('0x3b')]};});_0x14b90b[_0xbc33('0x3c')]=_['map'](_0x52ba20,_0xbc33('0x2f'));_0x14b90b[_0xbc33('0x3d')]=_[_0xbc33('0x3e')](_0x387a0c['query']);_0x14b90b[_0xbc33('0x3f')]=_[_0xbc33('0x40')](_0x14b90b['model'],_0x14b90b[_0xbc33('0x3d')]);_0x36925d[_0xbc33('0x41')]=_[_0xbc33('0x40')](_0x14b90b[_0xbc33('0x3c')],qs[_0xbc33('0x42')](_0x387a0c[_0xbc33('0x3d')][_0xbc33('0x42')]));_0x36925d[_0xbc33('0x41')]=_0x36925d['attributes']['length']?_0x36925d[_0xbc33('0x41')]:_0x14b90b[_0xbc33('0x3c')];if(!_0x387a0c[_0xbc33('0x3d')]['hasOwnProperty']('nolimit')){_0x36925d[_0xbc33('0x26')]=qs[_0xbc33('0x26')](_0x387a0c['query']['limit']);_0x36925d[_0xbc33('0x25')]=qs[_0xbc33('0x25')](_0x387a0c['query'][_0xbc33('0x25')]);}_0x36925d[_0xbc33('0x43')]=qs['sort'](_0x387a0c[_0xbc33('0x3d')][_0xbc33('0x44')]);_0x36925d[_0xbc33('0x45')]=qs['filters'](_[_0xbc33('0x46')](_0x387a0c[_0xbc33('0x3d')],_0x14b90b[_0xbc33('0x3f')]),_0x52ba20);var _0x5f42e8=[];var _0x1cb562=squel['select']()[_0xbc33('0x47')]('id')[_0xbc33('0x47')]('name')[_0xbc33('0x47')](_0xbc33('0x48'))[_0xbc33('0x49')]('tools_tags');var _0x355622=squel['select']()[_0xbc33('0x47')](_0xbc33('0x4a'))[_0xbc33('0x47')](_0xbc33('0x4b'))['field'](_0xbc33('0x4c'))[_0xbc33('0x49')](_0xbc33('0x4d'),'ui')[_0xbc33('0x4e')](_0xbc33('0x4f'),'u','u.id\x20=\x20ui.UserId');var _0x2bf1fd=squel[_0xbc33('0x50')]()[_0xbc33('0x49')]('sms_interactions','i')['left_join']('cm_contacts','c',_0xbc33('0x51'))[_0xbc33('0x4e')](_0xbc33('0x4f'),'o',_0xbc33('0x52'))[_0xbc33('0x4e')]('sms_accounts','a','a.id\x20=\x20i.SmsAccountId')[_0xbc33('0x4e')]('sms_messages','me',_0xbc33('0x53'))[_0xbc33('0x4e')]('sms_interaction_has_tags','it',_0xbc33('0x54'))[_0xbc33('0x4e')](_0xbc33('0x55'),'t',_0xbc33('0x56'));var _0x23e3b9=squel[_0xbc33('0x57')]();var _0x9eb559=[];var _0xfafb21=squel['expr']();var _0x56fb0d;if(_0x387a0c[_0xbc33('0x3d')]['search']){_0x56fb0d=as['parseSearch'](_0x387a0c[_0xbc33('0x3d')][_0xbc33('0x58')]);var _0x559a66=_0x56fb0d[_0xbc33('0x59')];for(var _0x59a559=0x0;_0x59a559<_0x56fb0d['conditions'][_0xbc33('0x5a')];_0x59a559++){var _0x4905c9=_0x56fb0d[_0xbc33('0x5b')][_0x59a559];var _0x25e4d5='i';var _0xdace1c=_[_0xbc33('0x5c')](_0x52ba20,[_0xbc33('0x2f'),_0x4905c9[_0xbc33('0x47')]]);if(!_0xdace1c){switch(_0x4905c9[_0xbc33('0x47')]){case _0xbc33('0x5d'):if(_0x4905c9['value']==0x1){_0x2bf1fd[_0xbc33('0x5e')]('`'+_0x4905c9[_0xbc33('0x47')]+'`\x20=\x200');}else{_0x2bf1fd[_0xbc33('0x5e')]('`'+_0x4905c9[_0xbc33('0x47')]+_0xbc33('0x5f'));}break;case _0xbc33('0x60'):if(_0x4905c9[_0xbc33('0x61')]==='$substring'){if(_0x4905c9[_0xbc33('0x62')]['split']('\x20')['length']>0x1){_0x23e3b9[_0x559a66]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x4905c9[_0xbc33('0x62')]),null);}else{var _0x57560b='%'+_0x4905c9[_0xbc33('0x62')]+'%';_0x23e3b9[_0x559a66](_0xbc33('0x63'),_0x57560b,_0x57560b,_0x57560b);}}else{_0xdace1c=_[_0xbc33('0x5c')](_0x52ba20,[_0xbc33('0x2f'),'ContactId']);_0x4905c9[_0xbc33('0x47')]='ContactId';_0x167bca=as[_0xbc33('0x64')](_0x25e4d5,_0xdace1c['type'],_0x4905c9);_0x23e3b9[_0x559a66](_0x167bca[_0xbc33('0x65')],_0x167bca[_0xbc33('0x62')][_0xbc33('0x66')],_0x167bca[_0xbc33('0x62')][_0xbc33('0x21')]);}break;case _0xbc33('0x67'):var _0x549f7f=_0x4905c9[_0xbc33('0x62')]['split'](',')[_0xbc33('0x32')](function(_0x3728b9){return Number(_0x3728b9);});_0x549f7f[_0xbc33('0x35')](function(_0x3daae4){_0xfafb21['or'](_0xbc33('0x68'),'%,'+_0x3daae4+',%');});_0x9eb559=_[_0xbc33('0x69')](_0x9eb559,_0x549f7f);break;case _0xbc33('0x6a'):if(_0x4905c9[_0xbc33('0x61')]===_0xbc33('0x6b')){_0x23e3b9[_0x559a66]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x4905c9[_0xbc33('0x62')]+'%',null);}else{_0xdace1c=_[_0xbc33('0x5c')](_0x52ba20,[_0xbc33('0x2f'),_0xbc33('0x6c')]);_0x4905c9['field']='UserId';_0x167bca=as[_0xbc33('0x64')](_0x25e4d5,_0xdace1c['type'],_0x4905c9);_0x23e3b9[_0x559a66](_0x167bca[_0xbc33('0x65')],_0x167bca[_0xbc33('0x62')][_0xbc33('0x66')],_0x167bca['value'][_0xbc33('0x21')]);}break;case _0xbc33('0x6d'):_0x167bca=as['buildExpression']('me',null,_0x4905c9);_0x23e3b9[_0x559a66](_0x167bca[_0xbc33('0x65')],_0x167bca[_0xbc33('0x62')][_0xbc33('0x66')],_0x167bca[_0xbc33('0x62')][_0xbc33('0x21')]);break;}}else{var _0x167bca=as['buildExpression'](_0x25e4d5,_0xdace1c['type'],_0x4905c9);_0x23e3b9[_0x559a66](_0x167bca['text'],_0x167bca[_0xbc33('0x62')][_0xbc33('0x66')],_0x167bca[_0xbc33('0x62')][_0xbc33('0x21')]);}}}else{var _0x25c52a=_(_0x387a0c[_0xbc33('0x3d')])['keys']()[_0xbc33('0x32')](function(_0x149990){return _[_0xbc33('0x6e')](_0x52ba20,['name',_0x149990])?_0x149990:undefined;})[_0xbc33('0x6f')]()[_0xbc33('0x62')]();if(!_[_0xbc33('0x70')](_0x25c52a)){_0x25c52a[_0xbc33('0x35')](function(_0x58887d){if(_0x58887d===_0xbc33('0x71')){_0x2bf1fd['where'](_0xbc33('0x72'),[][_0xbc33('0x73')](_0x387a0c['query'][_0x58887d]));}else if(_0x58887d===_0xbc33('0x74')){var _0x59f6b7=JSON[_0xbc33('0x75')](_0x387a0c[_0xbc33('0x3d')][_0x58887d])[_0xbc33('0x76')];var _0x4dc668=JSON[_0xbc33('0x75')](_0x387a0c[_0xbc33('0x3d')][_0x58887d])[_0xbc33('0x77')];_0x2bf1fd[_0xbc33('0x45')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x59f6b7,_0x4dc668);}else{if(_0x387a0c[_0xbc33('0x3d')][_0x58887d]===_0xbc33('0x78')){_0x2bf1fd[_0xbc33('0x45')]('i.'+_0x58887d+_0xbc33('0x79'));}else{_0x2bf1fd[_0xbc33('0x45')]('i.'+_0x58887d+'\x20=\x20?',_0x387a0c['query'][_0x58887d]);}}});}if(_0x387a0c[_0xbc33('0x3d')][_0xbc33('0x7a')]){if(_0x387a0c['query'][_0xbc33('0x7a')]==0x1){_0x2bf1fd[_0xbc33('0x5e')](_0xbc33('0x7b'));}else{_0x2bf1fd[_0xbc33('0x5e')](_0xbc33('0x7c'));}}if(_0x387a0c[_0xbc33('0x3d')][_0xbc33('0x7d')]){_0x9eb559=_['isArray'](_0x387a0c['query'][_0xbc33('0x7d')])?_0x387a0c[_0xbc33('0x3d')][_0xbc33('0x7d')]:new Array(_0x387a0c['query'][_0xbc33('0x7d')]);_0x9eb559[_0xbc33('0x35')](function(_0xba6b01){_0xfafb21['or'](_0xbc33('0x68'),'%,'+_0xba6b01+',%');});}if(_0x387a0c['query'][_0xbc33('0x7e')]){var _0x2e6979=_0x387a0c[_0xbc33('0x3d')][_0xbc33('0x7e')][_0xbc33('0x7f')]('\x5c','\x5c\x5c')[_0xbc33('0x7f')](/'/g,'\x27\x27');if(qs[_0xbc33('0x80')](_0x2e6979)){_0x23e3b9['or'](_0xbc33('0x81'),_0x2e6979+'%')['or'](_0xbc33('0x82'),_0x2e6979+'%');}else{_0x23e3b9['or'](_0xbc33('0x83'),qs[_0xbc33('0x84')](_0x2e6979))['or'](_0xbc33('0x85'),_0x2e6979+'%');}}}_0x2bf1fd[_0xbc33('0x45')](_0x23e3b9);_0x2bf1fd[_0xbc33('0x86')](_0xbc33('0x87'));var _0x5705ed={'type':db[_0xbc33('0x88')][_0xbc33('0x89')][_0xbc33('0x8a')],'raw':!![]};var _0x30e0c8=_0x2bf1fd['clone']();_0x30e0c8[_0xbc33('0x47')]('i.id');_0x30e0c8[_0xbc33('0x47')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xbc33('0x5d'));if(_0x36925d[_0xbc33('0x43')]){_0x36925d[_0xbc33('0x43')][_0xbc33('0x35')](function(_0xa3f6a7){var _0x1b82e5=_0xa3f6a7[0x0]===_0xbc33('0x8b')?_0xa3f6a7[0x0]:'i.'+_0xa3f6a7[0x0];_0x2bf1fd[_0xbc33('0x43')](_0x1b82e5,_0xa3f6a7[0x1]===_0xbc33('0x8c')?![]:!![]);});}if(!_['isEmpty'](_0x9eb559)){_0x2bf1fd[_0xbc33('0x5e')](_0xfafb21);_0x30e0c8[_0xbc33('0x45')](_0xbc33('0x8d'),_0x9eb559);}BPromise[_0xbc33('0x8e')]()[_0xbc33('0x2c')](function(){if(!_0x56fb0d){if(_0x387a0c['query'][_0xbc33('0x71')])return;_0x30e0c8['where'](_0xbc33('0x8f'));_0x2bf1fd['where'](_0xbc33('0x8f'));return;}if(_0x387a0c[_0xbc33('0x90')][_0xbc33('0x91')]!==_0xbc33('0x92'))return;return _0x387a0c['user'][_0xbc33('0x93')]({'attributes':['id'],'raw':!![]})['then'](function(_0x590e9c){if(_[_0xbc33('0x70')](_0x590e9c)){_0x30e0c8[_0xbc33('0x45')](_0xbc33('0x94'));_0x2bf1fd[_0xbc33('0x45')](_0xbc33('0x94'));}else{_0x30e0c8['where'](_0xbc33('0x72'),_[_0xbc33('0x32')](_0x590e9c,'id'));_0x2bf1fd['where'](_0xbc33('0x72'),_[_0xbc33('0x32')](_0x590e9c,'id'));}});})['then'](function(){if(_0x387a0c['user'][_0xbc33('0x91')]===_0xbc33('0x92')&&!_0x56fb0d&&!_0x387a0c[_0xbc33('0x3d')][_0xbc33('0x71')])return[];return db[_0xbc33('0x95')][_0xbc33('0x3d')](_0x30e0c8[_0xbc33('0x96')](),_0x5705ed);})[_0xbc33('0x2c')](function(_0x4280d3){_0xfa57a5['count']=_0x4280d3[_0xbc33('0x5a')];if(_0xfa57a5[_0xbc33('0x24')]===0x0)return[];return db[_0xbc33('0x95')][_0xbc33('0x3d')](_0x1cb562[_0xbc33('0x96')](),_0x5705ed)['then'](function(_0x3a9ae3){_0x5f42e8=_[_0xbc33('0x97')](_0x3a9ae3,'id');_0x5705ed=_[_0xbc33('0x98')](_0x5705ed,{'model':db[_0xbc33('0x38')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x387a0c[_0xbc33('0x3d')][_0xbc33('0x42')]){_0x36925d[_0xbc33('0x41')]['forEach'](function(_0x4af81a){_0x2bf1fd['field']('i.'+_0x4af81a);});}else{_0x2bf1fd[_0xbc33('0x47')](_0xbc33('0x99'),'unreadMessages');_0x2bf1fd[_0xbc33('0x47')](_0xbc33('0x9a'),'Account.key');_0x2bf1fd[_0xbc33('0x47')]('a.mandatoryDisposition',_0xbc33('0x9b'));_0x2bf1fd[_0xbc33('0x47')](_0xbc33('0x9c'),_0xbc33('0x8b'));_0x2bf1fd[_0xbc33('0x47')](_0xbc33('0x9d'));_0x2bf1fd[_0xbc33('0x47')](_0xbc33('0x9e'),'Contact.firstName');_0x2bf1fd[_0xbc33('0x47')]('c.lastName',_0xbc33('0x9f'));_0x2bf1fd[_0xbc33('0x47')]('c.email',_0xbc33('0xa0'));_0x2bf1fd[_0xbc33('0x47')](_0xbc33('0xa1'),'Contact.phone');_0x2bf1fd[_0xbc33('0x47')]('c.mobile','Contact.mobile');_0x2bf1fd[_0xbc33('0x47')](_0xbc33('0xa2'),_0xbc33('0xa3'));_0x2bf1fd[_0xbc33('0x47')](_0xbc33('0xa4'),_0xbc33('0xa5'));_0x2bf1fd['field'](_0xbc33('0xa6'),'Owner.internal');_0x2bf1fd[_0xbc33('0x47')](_0xbc33('0xa7'),'TagIds');}if(_0x36925d[_0xbc33('0x26')])_0x2bf1fd[_0xbc33('0x26')](_0x36925d[_0xbc33('0x26')]);if(_0x36925d['offset'])_0x2bf1fd[_0xbc33('0x25')](_0x36925d[_0xbc33('0x25')]);return db['sequelize'][_0xbc33('0x3d')](_0x2bf1fd[_0xbc33('0x96')](),_0x5705ed);})[_0xbc33('0x2c')](function(_0x8f4536){_0x355622['where'](_0xbc33('0xa8'),_['map'](_0x8f4536,'id'));return db[_0xbc33('0x95')][_0xbc33('0x3d')](_0x355622[_0xbc33('0x96')](),_0x5705ed)[_0xbc33('0x2c')](function(_0x3c873f){var _0x5f592f=_['groupBy'](_0x3c873f,'SmsInteractionId');var _0x588fd6=[];_0x8f4536[_0xbc33('0x35')](function(_0x25cbf0){_0x588fd6[_0xbc33('0xa9')](updateSmsInteraction(_0x25cbf0,_0x5f42e8,_0x5f592f));});return BPromise[_0xbc33('0xaa')](_0x588fd6);});});})[_0xbc33('0x2c')](function(_0x4c4386){_0xfa57a5[_0xbc33('0xab')]=_0x4c4386;return _0xfa57a5;})[_0xbc33('0x2c')](respondWithFilteredResult(_0x1e5c0b,_0x36925d))[_0xbc33('0x36')](handleError(_0x1e5c0b,null));};exports[_0xbc33('0xac')]=function(_0x34b1cc,_0x470818){var _0x3ba3b4={'raw':![],'where':{'id':_0x34b1cc[_0xbc33('0xad')]['id']}},_0x42c61c={};_0x42c61c[_0xbc33('0x3c')]=_['keys'](db[_0xbc33('0x38')][_0xbc33('0x39')]);_0x42c61c[_0xbc33('0x3d')]=_[_0xbc33('0x3e')](_0x34b1cc[_0xbc33('0x3d')]);_0x42c61c[_0xbc33('0x3f')]=_[_0xbc33('0x40')](_0x42c61c[_0xbc33('0x3c')],_0x42c61c[_0xbc33('0x3d')]);_0x3ba3b4['attributes']=_['intersection'](_0x42c61c['model'],qs['fields'](_0x34b1cc[_0xbc33('0x3d')][_0xbc33('0x42')]));_0x3ba3b4[_0xbc33('0x41')]=_0x3ba3b4['attributes'][_0xbc33('0x5a')]?_0x3ba3b4[_0xbc33('0x41')]:_0x42c61c[_0xbc33('0x3c')];if(_0x34b1cc['query'][_0xbc33('0xae')]){_0x3ba3b4[_0xbc33('0xaf')]=[{'all':!![]}];}_0x3ba3b4=_['merge']({},_0x3ba3b4,_0x34b1cc[_0xbc33('0xb0')]);return db[_0xbc33('0x38')]['find'](_0x3ba3b4)[_0xbc33('0x2c')](handleEntityNotFound(_0x470818,null))[_0xbc33('0x2c')](respondWithResult(_0x470818,null))[_0xbc33('0x36')](handleError(_0x470818,null));};exports[_0xbc33('0xb1')]=function(_0x3cf9fa,_0x14b1f1){return db['SmsInteraction'][_0xbc33('0xb1')](_0x3cf9fa[_0xbc33('0x6d')],{})['then'](respondWithResult(_0x14b1f1,0xc9))[_0xbc33('0x36')](handleError(_0x14b1f1,null));};exports['update']=function(_0x51ce92,_0x16e348){if(_0x51ce92[_0xbc33('0x6d')]['id']){delete _0x51ce92[_0xbc33('0x6d')]['id'];}return db[_0xbc33('0x38')][_0xbc33('0x5c')]({'where':{'id':_0x51ce92[_0xbc33('0xad')]['id']}})[_0xbc33('0x2c')](handleEntityNotFound(_0x16e348,null))[_0xbc33('0x2c')](saveUpdates(_0x51ce92['body'],null))['then'](respondWithResult(_0x16e348,null))[_0xbc33('0x36')](handleError(_0x16e348,null));};exports[_0xbc33('0x2d')]=function(_0x1d29ca,_0x1e7df1){return db[_0xbc33('0x38')][_0xbc33('0x5c')]({'where':{'id':_0x1d29ca[_0xbc33('0xad')]['id']}})[_0xbc33('0x2c')](handleEntityNotFound(_0x1e7df1,null))[_0xbc33('0x2c')](removeEntity(_0x1e7df1,null))['catch'](handleError(_0x1e7df1,null));};exports[_0xbc33('0xb2')]=function(_0x3403c1,_0x467459){return db[_0xbc33('0x38')]['describe']()[_0xbc33('0x2c')](respondWithResult(_0x467459,null))[_0xbc33('0x36')](handleError(_0x467459,null));};exports[_0xbc33('0xb3')]=function(_0x29c71a,_0x48824f,_0x347aed){return db['SmsMessage'][_0xbc33('0x5c')]({'where':{'id':_0x29c71a[_0xbc33('0xad')]['id']}})[_0xbc33('0x2c')](handleEntityNotFound(_0x48824f,null))[_0xbc33('0x2c')](function(_0x3cc7c8){if(_0x3cc7c8){return _0x3cc7c8['addMessage'](_0x29c71a[_0xbc33('0x6d')][_0xbc33('0xb4')],_[_0xbc33('0xb5')](_0x29c71a[_0xbc33('0x6d')],[_0xbc33('0xb4'),'id'])||{});}})['then'](respondWithResult(_0x48824f,null))[_0xbc33('0x36')](handleError(_0x48824f,null));};exports[_0xbc33('0xb6')]=function(_0x50500f,_0x3b07a7,_0x38e763){var _0x207da1={'raw':![],'where':{}};var _0x4d6da9={};var _0xb5607a={'count':0x0,'rows':[]};return db[_0xbc33('0x38')][_0xbc33('0xb7')]({'where':{'id':_0x50500f[_0xbc33('0xad')]['id']}})[_0xbc33('0x2c')](handleEntityNotFound(_0x3b07a7,null))[_0xbc33('0x2c')](function(_0xb82489){if(_0xb82489){_0x4d6da9[_0xbc33('0x3c')]=_[_0xbc33('0x3e')](db[_0xbc33('0xb8')][_0xbc33('0x39')]);_0x4d6da9[_0xbc33('0x3d')]=_['keys'](_0x50500f['query']);_0x4d6da9['filters']=_[_0xbc33('0x40')](_0x4d6da9[_0xbc33('0x3c')],_0x4d6da9['query']);_0x207da1[_0xbc33('0x41')]=_[_0xbc33('0x40')](_0x4d6da9[_0xbc33('0x3c')],qs['fields'](_0x50500f[_0xbc33('0x3d')][_0xbc33('0x42')]));_0x207da1['attributes']=_0x207da1['attributes']['length']?_0x207da1[_0xbc33('0x41')]:_0x4d6da9[_0xbc33('0x3c')];if(!_0x50500f[_0xbc33('0x3d')][_0xbc33('0xb9')]('nolimit')){_0x207da1[_0xbc33('0x26')]=qs['limit'](_0x50500f[_0xbc33('0x3d')]['limit']);_0x207da1[_0xbc33('0x25')]=qs['offset'](_0x50500f[_0xbc33('0x3d')][_0xbc33('0x25')]);}_0x207da1[_0xbc33('0x43')]=qs[_0xbc33('0x44')](_0x50500f[_0xbc33('0x3d')][_0xbc33('0x44')]);_0x207da1[_0xbc33('0x45')]=qs[_0xbc33('0x3f')](_[_0xbc33('0x46')](_0x50500f[_0xbc33('0x3d')],_0x4d6da9[_0xbc33('0x3f')]));_0x207da1[_0xbc33('0x45')][_0xbc33('0xba')]=_0xb82489['id'];if(_0x50500f[_0xbc33('0x3d')][_0xbc33('0x7e')]){_0x207da1[_0xbc33('0x45')]=_[_0xbc33('0x98')](_0x207da1[_0xbc33('0x45')],{'$or':_[_0xbc33('0x32')](_0x207da1[_0xbc33('0x41')],function(_0x3854fb){var _0x3d631f={};_0x3d631f[_0x3854fb]={'$like':'%'+_0x50500f[_0xbc33('0x3d')][_0xbc33('0x7e')]+'%'};return _0x3d631f;})});}if(_0x50500f[_0xbc33('0x3d')][_0xbc33('0x76')]){var _0x1ca93c=_0x50500f[_0xbc33('0x3d')]['$gte']['split'](',');var _0x52791c={};_0x52791c[_0x1ca93c[0x0]]={'$gte':moment(_0x1ca93c[0x1])[_0xbc33('0xbb')]('YYYY-MM-DD\x20HH:mm:ss')};_0x207da1['where']=_[_0xbc33('0x98')](_0x207da1[_0xbc33('0x45')],_0x52791c);}_0x207da1=_[_0xbc33('0x98')]({},_0x207da1,_0x50500f[_0xbc33('0xb0')]);return db[_0xbc33('0xb8')][_0xbc33('0x24')]({'where':_0x207da1[_0xbc33('0x45')]})['then'](function(_0x1d388f){_0xb5607a[_0xbc33('0x24')]=_0x1d388f;if(_0x50500f['query'][_0xbc33('0xae')]){_0x207da1[_0xbc33('0xaf')]=[{'all':!![]}];}return db[_0xbc33('0xb8')][_0xbc33('0xbc')](_0x207da1);})[_0xbc33('0x2c')](function(_0x27daaa){_0xb5607a['rows']=_0x27daaa;return _0xb5607a;});}})[_0xbc33('0x2c')](respondWithFilteredResult(_0x3b07a7,_0x207da1))['catch'](handleError(_0x3b07a7,null));};exports[_0xbc33('0xbd')]=function(_0x5dc4c5,_0x44286c,_0x316765){return db[_0xbc33('0x38')][_0xbc33('0x5c')]({'where':{'id':_0x5dc4c5[_0xbc33('0xad')]['id']}})[_0xbc33('0x2c')](handleEntityNotFound(_0x44286c,null))[_0xbc33('0x2c')](function(_0x3c4cca){if(_0x3c4cca){return _0x3c4cca[_0xbc33('0xbe')](_0x5dc4c5[_0xbc33('0x6d')][_0xbc33('0xb4')],_['omit'](_0x5dc4c5[_0xbc33('0x6d')],[_0xbc33('0xb4'),'id'])||{})[_0xbc33('0xbf')](function(){return db['Tag'][_0xbc33('0xbc')]({'attributes':['id','name',_0xbc33('0x48')],'where':{'id':_0x5dc4c5['body']['ids']}});})[_0xbc33('0x2c')](function(_0x312825){socket[_0xbc33('0xc0')](_0xbc33('0xc1'),{'id':Number(_0x5dc4c5['params']['id']),'tags':_0x312825||[]});return{'id':Number(_0x5dc4c5[_0xbc33('0xad')]['id']),'tags':_0x312825||[]};});}})[_0xbc33('0x2c')](respondWithResult(_0x44286c,null))[_0xbc33('0x36')](handleError(_0x44286c,null));};exports[_0xbc33('0xc2')]=function(_0x5e1ab4,_0x335556,_0x4172c1){return db['SmsInteraction'][_0xbc33('0x5c')]({'where':{'id':_0x5e1ab4[_0xbc33('0xad')]['id']}})['then'](handleEntityNotFound(_0x335556,null))['then'](function(_0x5ad75b){if(_0x5ad75b){return _0x5ad75b[_0xbc33('0xc2')](_0x5e1ab4[_0xbc33('0x3d')]['ids']);}})[_0xbc33('0x2c')](respondWithStatusCode(_0x335556,null))[_0xbc33('0x36')](handleError(_0x335556,null));};exports[_0xbc33('0xc3')]=function(_0x12e17a,_0x5233fa){var _0x3dae62=moment()[_0xbc33('0xc4')]()['toString']();var _0x2b552f=path[_0xbc33('0xc5')](config[_0xbc33('0xc6')],'server',_0xbc33('0xc7'),_0xbc33('0xc8'));var _0x325739=path[_0xbc33('0xc5')](config[_0xbc33('0xc6')],'server','files',_0xbc33('0xc9'));var _0x1f48dd=path[_0xbc33('0xc5')](_0x2b552f,_0x3dae62);var _0x1de8c6=util['format'](_0xbc33('0xca'),_0x12e17a[_0xbc33('0xad')]['id'],_0x3dae62);var _0x5efc2d=path['join'](_0x2b552f,_0x1de8c6);var _0xc60477=[];_0xc60477[_0xbc33('0xa9')]({'model':db[_0xbc33('0x6a')],'as':_0xbc33('0x6a'),'attributes':['id',_0xbc33('0xcb')],'raw':!![]});_0xc60477[_0xbc33('0xa9')]({'model':db[_0xbc33('0xcc')],'as':_0xbc33('0x60'),'attributes':['id',_0xbc33('0xcd'),_0xbc33('0xce')],'raw':!![]});var _0x5d46c5=[{'model':db[_0xbc33('0xb8')],'as':'Messages','attributes':['id',_0xbc33('0x6d'),_0xbc33('0x74'),_0xbc33('0xcf'),_0xbc33('0xd0'),_0xbc33('0x7a')],'include':_0xc60477}];_0x5d46c5[_0xbc33('0xa9')]({'model':db[_0xbc33('0xd1')],'as':_0xbc33('0xd2'),'attributes':['id',_0xbc33('0x2f')]});_0x5d46c5[_0xbc33('0xa9')]({'model':db['User'],'as':_0xbc33('0xd3'),'attributes':['id',_0xbc33('0xcb')]});return db['SmsInteraction'][_0xbc33('0x5c')]({'where':{'id':_0x12e17a[_0xbc33('0xad')]['id']},'include':_0x5d46c5})[_0xbc33('0x2c')](handleEntityNotFound(_0x5233fa,null))[_0xbc33('0x2c')](function(_0x5df809){if(_0x5df809){var _0x4130fc=_0x5df809[_0xbc33('0xd4')]({'plain':!![]});fs['mkdirSync'](_0x1f48dd);var _0x2e22a0={'format':'A4','border':_0xbc33('0xd5'),'header':{'height':_0xbc33('0xd6'),'contents':{'first':_0xbc33('0xd7')}},'footer':{'height':'30px','contents':{'default':util[_0xbc33('0xbb')]('<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>',util['format'](_0xbc33('0xd8'),_0xbc33('0xd9'),_0x4130fc['id']),moment()['format']('YYYY-MM-DD')[_0xbc33('0x96')]())}}};var _0x3f99d9={'channel':_0xbc33('0xd9'),'account':_0x4130fc[_0xbc33('0xd2')][_0xbc33('0x2f')],'agent':_0x4130fc[_0xbc33('0xd3')]?_0x4130fc[_0xbc33('0xd3')][_0xbc33('0xcb')]:_0xbc33('0xda'),'createdAt':moment(_0x4130fc[_0xbc33('0x74')])[_0xbc33('0xbb')](_0xbc33('0xdb'))['toString'](),'closedAt':_0x4130fc['closed']?moment(_0x4130fc[_0xbc33('0xdc')])['format']('YYYY-MM-DD\x20HH:mm:ss')['toString']():'','disposition':_0x4130fc[_0xbc33('0xdd')],'messages':_(_0x4130fc[_0xbc33('0xde')])[_0xbc33('0x7e')]({'secret':![]})[_0xbc33('0x32')](function(_0x42b556){return{'date':moment(_0x42b556[_0xbc33('0x74')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0xbc33('0x96')](),'sender':_0x42b556[_0xbc33('0xcf')]===_0xbc33('0xdf')?_0x42b556[_0xbc33('0x6a')]?_0x42b556[_0xbc33('0x6a')]['fullname']:_0xbc33('0xe0'):_0x42b556[_0xbc33('0x60')][_0xbc33('0xcd')]+(_0x42b556[_0xbc33('0x60')][_0xbc33('0xce')]?'\x20'+_0x42b556[_0xbc33('0x60')]['lastName']:''),'body':_0x42b556[_0xbc33('0x6d')],'direction':_0x42b556[_0xbc33('0xcf')]===_0xbc33('0xdf')?'A':'C','secret':_0x42b556[_0xbc33('0xd0')],'read':_0x42b556['read']};})[_0xbc33('0x62')]()};return ejs[_0xbc33('0xe1')](path[_0xbc33('0xc5')](config[_0xbc33('0xc6')],_0xbc33('0xe2'),_0xbc33('0xe3'),_0xbc33('0xe4')),{'interaction':_0x3f99d9})[_0xbc33('0x2c')](function(_0x515f0a){return new BPromise(function(_0x27f11e,_0x4d0d91){pdf[_0xbc33('0xb1')](_0x515f0a,_0x2e22a0)[_0xbc33('0xe5')](path['join'](_0x1f48dd,_0xbc33('0xe6')+_0x4130fc['id']+'-'+_0x3dae62+_0xbc33('0xe7')),function(_0x1e9d6a,_0x56f9eb){if(_0x1e9d6a)return _0x4d0d91(_0x1e9d6a);_0x27f11e(_0x56f9eb);});});})[_0xbc33('0x2c')](function(){return new BPromise(function(_0x2defac,_0x54e43a){zipdir(_0x1f48dd,{'saveTo':_0x5efc2d},function(_0x477a08,_0x51eee8){if(_0x477a08)return _0x54e43a(_0x477a08);return _0x2defac(_0x51eee8);});})[_0xbc33('0x2c')](function(){return new BPromise(function(_0x13c873,_0x18504a){rimraf(_0x1f48dd,function(_0x1f7124){if(_0x1f7124)_0x18504a(_0x1f7124);return _0x13c873();});});})[_0xbc33('0x2c')](function(){return _0x5233fa[_0xbc33('0xc3')](_0x5efc2d,_0x1de8c6,function(_0x23bc50){if(_0x23bc50){console[_0xbc33('0xe8')](_0xbc33('0xe9'),_0x23bc50);}else{fs[_0xbc33('0xea')](_0x5efc2d);}});});});}else{return _0x5233fa[_0xbc33('0xeb')](0xc8);}})['catch'](handleError(_0x5233fa,null));};