Built motion from commit (unavailable).|2.5.28
[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 _0x9957=['sms_interactions','left_join','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','sms_accounts','a.id\x20=\x20i.SmsAccountId','sms_messages','sms_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','having','`\x20=\x200','value','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','compact','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','$gte','parse','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','count','toString','keyBy','merge','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','Contact.firstName','c.email','Contact.email','c.phone','c.mobile','c.fax','Contact.fax','Owner.fullname','o.internal','Owner.internal','ui.SmsInteractionId\x20IN\x20?','catch','rawAttributes','includeAll','include','create','destroy','params','describe','SmsMessage','addMessage','ids','omit','getMessages','SmsInteractionId','YYYY-MM-DD\x20HH:mm:ss','options','rows','addTags','setTags','spread','findAll','emit','download','unix','files','tmp','join','server','attachments','format','transcript-%d-%s.zip','CmContact','Contact','lastName','Messages','secret','Owner','get','Sms','Account','N.A.','closed','closedAt','disposition','direction','out','System','renderFile','root','views','downloadInteraction.html','transcript-','.pdf','createPdfFromHTML','log','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./smsInteraction.socket','register','sendStatus','status','end','json','offset','limit','set','apply','reject','save','update','then','error','stack','name','send','fullname','TagIds','forEach','Tags','push','index','map','SmsInteraction','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','field','color','tools_tags','select','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','users','u.id\x20=\x20ui.UserId','from'];(function(_0xc48dd5,_0x40cfb5){var _0x12e4b4=function(_0x183bd7){while(--_0x183bd7){_0xc48dd5['push'](_0xc48dd5['shift']());}};_0x12e4b4(++_0x40cfb5);}(_0x9957,0x93));var _0x7995=function(_0x5ddb1c,_0x5ea4df){_0x5ddb1c=_0x5ddb1c-0x0;var _0x354adc=_0x9957[_0x5ddb1c];return _0x354adc;};'use strict';var emlformat=require(_0x7995('0x0'));var rimraf=require(_0x7995('0x1'));var zipdir=require(_0x7995('0x2'));var jsonpatch=require(_0x7995('0x3'));var rp=require('request-promise');var moment=require(_0x7995('0x4'));var BPromise=require(_0x7995('0x5'));var Mustache=require(_0x7995('0x6'));var util=require(_0x7995('0x7'));var path=require('path');var sox=require(_0x7995('0x8'));var csv=require(_0x7995('0x9'));var ejs=require(_0x7995('0xa'));var fs=require('fs');var fs_extra=require(_0x7995('0xb'));var _=require(_0x7995('0xc'));var squel=require(_0x7995('0xd'));var crypto=require('crypto');var jsforce=require(_0x7995('0xe'));var deskjs=require(_0x7995('0xf'));var toCsv=require('to-csv');var querystring=require(_0x7995('0x10'));var Papa=require(_0x7995('0x11'));var Redis=require(_0x7995('0x12'));var authService=require(_0x7995('0x13'));var qs=require(_0x7995('0x14'));var as=require(_0x7995('0x15'));var pdf=require(_0x7995('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7995('0x17'))(_0x7995('0x18'));var utils=require('../../config/utils');var config=require(_0x7995('0x19'));var licenseUtil=require(_0x7995('0x1a'));var db=require(_0x7995('0x1b'))['db'];config[_0x7995('0x1c')]=_[_0x7995('0x1d')](config[_0x7995('0x1c')],{'host':_0x7995('0x1e'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x7995('0x1f'))[_0x7995('0x20')](socket);function respondWithStatusCode(_0x24b5bb,_0x321ae8){_0x321ae8=_0x321ae8||0xcc;return function(_0x3f1d3e){if(_0x3f1d3e){return _0x24b5bb[_0x7995('0x21')](_0x321ae8);}return _0x24b5bb[_0x7995('0x22')](_0x321ae8)[_0x7995('0x23')]();};}function respondWithResult(_0x5377e5,_0x2eeacc){_0x2eeacc=_0x2eeacc||0xc8;return function(_0x565d97){if(_0x565d97){return _0x5377e5[_0x7995('0x22')](_0x2eeacc)[_0x7995('0x24')](_0x565d97);}};}function respondWithFilteredResult(_0x43d4b8,_0x291317){return function(_0x1e1415){if(_0x1e1415){var _0x37a7d4=_0x1e1415['count'],_0x4faa60=_0x291317['offset'],_0x54c9ae=_0x291317[_0x7995('0x25')]+_0x291317[_0x7995('0x26')],_0x2536c8;if(_0x54c9ae>=_0x37a7d4){_0x54c9ae=_0x37a7d4;_0x2536c8=0xc8;}else{_0x2536c8=0xce;}_0x43d4b8['status'](_0x2536c8);return _0x43d4b8[_0x7995('0x27')]('Content-Range',_0x4faa60+'-'+_0x54c9ae+'/'+_0x37a7d4)['json'](_0x1e1415);}return null;};}function patchUpdates(_0x3e4c54){return function(_0x327b1f){try{jsonpatch[_0x7995('0x28')](_0x327b1f,_0x3e4c54,!![]);}catch(_0x1a8568){return BPromise[_0x7995('0x29')](_0x1a8568);}return _0x327b1f[_0x7995('0x2a')]();};}function saveUpdates(_0x5d40ae,_0x32a09a){return function(_0x46ee4b){if(_0x46ee4b){return _0x46ee4b[_0x7995('0x2b')](_0x5d40ae)[_0x7995('0x2c')](function(_0x563799){return _0x563799;});}return null;};}function removeEntity(_0x13bc35,_0x475351){return function(_0x472195){if(_0x472195){return _0x472195['destroy']()[_0x7995('0x2c')](function(){_0x13bc35[_0x7995('0x22')](0xcc)[_0x7995('0x23')]();});}};}function handleEntityNotFound(_0x268ce7,_0x3a3fcf){return function(_0x2a307e){if(!_0x2a307e){_0x268ce7['sendStatus'](0x194);}return _0x2a307e;};}function handleError(_0x47625f,_0x5911c3){_0x5911c3=_0x5911c3||0x1f4;return function(_0x229742){logger[_0x7995('0x2d')](_0x229742[_0x7995('0x2e')]);if(_0x229742[_0x7995('0x2f')]){delete _0x229742[_0x7995('0x2f')];}_0x47625f['status'](_0x5911c3)[_0x7995('0x30')](_0x229742);};}function getInteractionUsers(_0x514445,_0x456a28){return new BPromise(function(_0x3250e0,_0x4253e5){try{if(_0x456a28[_0x514445['id']]){_0x514445['Users']=_['map'](_0x456a28[_0x514445['id']],function(_0x48e573){return{'id':_0x48e573['id'],'fullname':_0x48e573[_0x7995('0x31')]};});}}catch(_0xe6b0b3){_0x4253e5(_0xe6b0b3);}_0x3250e0(_0x514445);});}function getInteractionTags(_0x327a81,_0x2b874d){return new BPromise(function(_0x2e3493,_0x1ca460){try{if(_0x327a81['TagIds']){_0x327a81['Tags']=[];_0x327a81[_0x7995('0x32')]['split'](',')[_0x7995('0x33')](function(_0x3eb566){_0x327a81[_0x7995('0x34')][_0x7995('0x35')](_0x2b874d[_0x3eb566]);});}delete _0x327a81[_0x7995('0x32')];}catch(_0x510841){_0x1ca460(_0x510841);}_0x2e3493(_0x327a81);});}function updateSmsInteraction(_0x44309d,_0x33e24e,_0x5dd802){return new BPromise(function(_0x48db25,_0x577412){return getInteractionUsers(_0x44309d,_0x5dd802)[_0x7995('0x2c')](function(_0x3acfc3){return getInteractionTags(_0x3acfc3,_0x33e24e);})['then'](function(_0x3e7020){_0x48db25(_0x3e7020);})['catch'](function(_0x37917b){_0x577412(_0x37917b);});});}exports[_0x7995('0x36')]=function(_0x177cb4,_0x5014d2){var _0x52d76d={},_0x36d057={},_0x5e67fe={'count':0x0,'rows':[]};var _0x5d2428=_[_0x7995('0x37')](db[_0x7995('0x38')]['rawAttributes'],function(_0x1baa15){return{'name':_0x1baa15[_0x7995('0x39')],'type':_0x1baa15[_0x7995('0x3a')][_0x7995('0x3b')]};});_0x36d057[_0x7995('0x3c')]=_['map'](_0x5d2428,_0x7995('0x2f'));_0x36d057[_0x7995('0x3d')]=_[_0x7995('0x3e')](_0x177cb4[_0x7995('0x3d')]);_0x36d057['filters']=_[_0x7995('0x3f')](_0x36d057[_0x7995('0x3c')],_0x36d057[_0x7995('0x3d')]);_0x52d76d[_0x7995('0x40')]=_[_0x7995('0x3f')](_0x36d057[_0x7995('0x3c')],qs['fields'](_0x177cb4[_0x7995('0x3d')][_0x7995('0x41')]));_0x52d76d[_0x7995('0x40')]=_0x52d76d[_0x7995('0x40')][_0x7995('0x42')]?_0x52d76d[_0x7995('0x40')]:_0x36d057[_0x7995('0x3c')];if(!_0x177cb4[_0x7995('0x3d')][_0x7995('0x43')](_0x7995('0x44'))){_0x52d76d[_0x7995('0x26')]=qs[_0x7995('0x26')](_0x177cb4[_0x7995('0x3d')]['limit']);_0x52d76d['offset']=qs[_0x7995('0x25')](_0x177cb4[_0x7995('0x3d')]['offset']);}_0x52d76d['order']=qs[_0x7995('0x45')](_0x177cb4['query']['sort']);_0x52d76d[_0x7995('0x46')]=qs[_0x7995('0x47')](_[_0x7995('0x48')](_0x177cb4['query'],_0x36d057[_0x7995('0x47')]),_0x5d2428);var _0x5e85b9=[];var _0x3993b5=squel['select']()['field']('id')[_0x7995('0x49')](_0x7995('0x2f'))[_0x7995('0x49')](_0x7995('0x4a'))['from'](_0x7995('0x4b'));var _0x40fc68=squel[_0x7995('0x4c')]()[_0x7995('0x49')]('u.id')['field'](_0x7995('0x4d'))['field'](_0x7995('0x4e'))['from'](_0x7995('0x4f'),'ui')['left_join'](_0x7995('0x50'),'u',_0x7995('0x51'));var _0x4d9245=squel[_0x7995('0x4c')]()[_0x7995('0x52')](_0x7995('0x53'),'i')[_0x7995('0x54')]('cm_contacts','c',_0x7995('0x55'))[_0x7995('0x54')](_0x7995('0x50'),'o','o.id\x20=\x20i.UserId')[_0x7995('0x54')](_0x7995('0x56'),'a',_0x7995('0x57'))[_0x7995('0x54')](_0x7995('0x58'),'me','me.SmsInteractionId\x20=\x20i.id')[_0x7995('0x54')](_0x7995('0x59'),'it','it.SmsInteractionId\x20=\x20i.id')[_0x7995('0x54')]('tools_tags','t',_0x7995('0x5a'));var _0x187735=squel[_0x7995('0x5b')]();var _0x30e220=[];var _0xddf537=squel[_0x7995('0x5b')]();var _0x1579b9;if(_0x177cb4['query'][_0x7995('0x5c')]){_0x1579b9=as[_0x7995('0x5d')](_0x177cb4[_0x7995('0x3d')]['search']);var _0x19da63=_0x1579b9[_0x7995('0x5e')];for(var _0x12d4b8=0x0;_0x12d4b8<_0x1579b9['conditions']['length'];_0x12d4b8++){var _0x5a592e=_0x1579b9[_0x7995('0x5f')][_0x12d4b8];var _0x1fd1ca='i';var _0x4cf5db=_[_0x7995('0x60')](_0x5d2428,[_0x7995('0x2f'),_0x5a592e[_0x7995('0x49')]]);if(!_0x4cf5db){switch(_0x5a592e[_0x7995('0x49')]){case _0x7995('0x61'):if(_0x5a592e['value']==0x1){_0x4d9245[_0x7995('0x62')]('`'+_0x5a592e['field']+_0x7995('0x63'));}else{_0x4d9245[_0x7995('0x62')]('`'+_0x5a592e[_0x7995('0x49')]+'`\x20>\x200');}break;case'Contact':if(_0x5a592e['operator']==='$substring'){if(_0x5a592e[_0x7995('0x64')][_0x7995('0x65')]('\x20')[_0x7995('0x42')]>0x1){_0x187735[_0x19da63](_0x7995('0x66'),qs[_0x7995('0x67')](_0x5a592e[_0x7995('0x64')]),null);}else{var _0x1f4270='%'+_0x5a592e[_0x7995('0x64')]+'%';_0x187735[_0x19da63](_0x7995('0x68'),_0x1f4270,_0x1f4270,_0x1f4270);}}else{_0x4cf5db=_[_0x7995('0x60')](_0x5d2428,[_0x7995('0x2f'),_0x7995('0x69')]);_0x5a592e[_0x7995('0x49')]=_0x7995('0x69');_0x47d5d7=as[_0x7995('0x6a')](_0x1fd1ca,_0x4cf5db[_0x7995('0x3a')],_0x5a592e);_0x187735[_0x19da63](_0x47d5d7[_0x7995('0x6b')],_0x47d5d7[_0x7995('0x64')][_0x7995('0x6c')],_0x47d5d7['value'][_0x7995('0x23')]);}break;case _0x7995('0x6d'):var _0x3b8a54=_0x5a592e[_0x7995('0x64')]['split'](',')['map'](function(_0x402fa0){return Number(_0x402fa0);});_0x3b8a54[_0x7995('0x33')](function(_0x5b9467){_0xddf537['or'](_0x7995('0x6e'),'%,'+_0x5b9467+',%');});_0x30e220=_['union'](_0x30e220,_0x3b8a54);break;case _0x7995('0x6f'):if(_0x5a592e[_0x7995('0x70')]===_0x7995('0x71')){_0x187735[_0x19da63](_0x7995('0x72'),'%'+_0x5a592e['value']+'%',null);}else{_0x4cf5db=_['find'](_0x5d2428,[_0x7995('0x2f'),_0x7995('0x73')]);_0x5a592e[_0x7995('0x49')]=_0x7995('0x73');_0x47d5d7=as[_0x7995('0x6a')](_0x1fd1ca,_0x4cf5db[_0x7995('0x3a')],_0x5a592e);_0x187735[_0x19da63](_0x47d5d7[_0x7995('0x6b')],_0x47d5d7[_0x7995('0x64')][_0x7995('0x6c')],_0x47d5d7['value'][_0x7995('0x23')]);}break;case _0x7995('0x74'):_0x47d5d7=as[_0x7995('0x6a')]('me',null,_0x5a592e);_0x187735[_0x19da63](_0x47d5d7[_0x7995('0x6b')],_0x47d5d7['value']['start'],_0x47d5d7[_0x7995('0x64')][_0x7995('0x23')]);break;}}else{var _0x47d5d7=as[_0x7995('0x6a')](_0x1fd1ca,_0x4cf5db[_0x7995('0x3a')],_0x5a592e);_0x187735[_0x19da63](_0x47d5d7[_0x7995('0x6b')],_0x47d5d7[_0x7995('0x64')][_0x7995('0x6c')],_0x47d5d7['value'][_0x7995('0x23')]);}}}else{var _0x564fca=_(_0x177cb4[_0x7995('0x3d')])[_0x7995('0x3e')]()[_0x7995('0x37')](function(_0x25b534){return _[_0x7995('0x75')](_0x5d2428,[_0x7995('0x2f'),_0x25b534])?_0x25b534:undefined;})[_0x7995('0x76')]()[_0x7995('0x64')]();if(!_[_0x7995('0x77')](_0x564fca)){_0x564fca[_0x7995('0x33')](function(_0x2618c4){if(_0x2618c4===_0x7995('0x78')){_0x4d9245['where'](_0x7995('0x79'),[][_0x7995('0x7a')](_0x177cb4[_0x7995('0x3d')][_0x2618c4]));}else if(_0x2618c4===_0x7995('0x7b')){var _0x2c6548=JSON['parse'](_0x177cb4['query'][_0x2618c4])[_0x7995('0x7c')];var _0x87e38d=JSON[_0x7995('0x7d')](_0x177cb4[_0x7995('0x3d')][_0x2618c4])['$lte'];_0x4d9245[_0x7995('0x46')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x2c6548,_0x87e38d);}else{if(_0x177cb4['query'][_0x2618c4]===_0x7995('0x7e')){_0x4d9245[_0x7995('0x46')]('i.'+_0x2618c4+_0x7995('0x7f'));}else{_0x4d9245[_0x7995('0x46')]('i.'+_0x2618c4+_0x7995('0x80'),_0x177cb4[_0x7995('0x3d')][_0x2618c4]);}}});}if(_0x177cb4[_0x7995('0x3d')][_0x7995('0x81')]){if(_0x177cb4[_0x7995('0x3d')][_0x7995('0x81')]==0x1){_0x4d9245['having'](_0x7995('0x82'));}else{_0x4d9245[_0x7995('0x62')](_0x7995('0x83'));}}if(_0x177cb4['query'][_0x7995('0x84')]){_0x30e220=_[_0x7995('0x85')](_0x177cb4[_0x7995('0x3d')][_0x7995('0x84')])?_0x177cb4[_0x7995('0x3d')][_0x7995('0x84')]:new Array(_0x177cb4[_0x7995('0x3d')][_0x7995('0x84')]);_0x30e220[_0x7995('0x33')](function(_0x1fdff6){_0xddf537['or'](_0x7995('0x6e'),'%,'+_0x1fdff6+',%');});}if(_0x177cb4['query']['filter']){var _0xd07c1c=_0x177cb4[_0x7995('0x3d')][_0x7995('0x86')][_0x7995('0x87')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x7995('0x88')](_0xd07c1c)){_0x187735['or'](_0x7995('0x89'),_0xd07c1c+'%')['or']('i.phone\x20LIKE\x20?',_0xd07c1c+'%');}else{_0x187735['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x7995('0x67')](_0xd07c1c))['or'](_0x7995('0x8a'),_0xd07c1c+'%');}}}_0x4d9245['where'](_0x187735);_0x4d9245[_0x7995('0x8b')]('i.id');var _0x3758f9={'type':db[_0x7995('0x8c')]['QueryTypes']['SELECT'],'raw':!![]};var _0x1f01c0=_0x4d9245['clone']();_0x1f01c0[_0x7995('0x49')](_0x7995('0x8d'));_0x1f01c0[_0x7995('0x49')](_0x7995('0x8e'),_0x7995('0x61'));if(_0x52d76d[_0x7995('0x8f')]){_0x52d76d[_0x7995('0x8f')][_0x7995('0x33')](function(_0x29e0ee){var _0x117317=_0x29e0ee[0x0]===_0x7995('0x90')?_0x29e0ee[0x0]:'i.'+_0x29e0ee[0x0];_0x4d9245[_0x7995('0x8f')](_0x117317,_0x29e0ee[0x1]===_0x7995('0x91')?![]:!![]);});}if(!_[_0x7995('0x77')](_0x30e220)){_0x4d9245[_0x7995('0x62')](_0xddf537);_0x1f01c0[_0x7995('0x46')](_0x7995('0x92'),_0x30e220);}BPromise[_0x7995('0x93')]()[_0x7995('0x2c')](function(){if(!_0x1579b9){if(_0x177cb4[_0x7995('0x3d')][_0x7995('0x78')])return;_0x1f01c0[_0x7995('0x46')](_0x7995('0x94'));_0x4d9245[_0x7995('0x46')](_0x7995('0x94'));return;}if(_0x177cb4[_0x7995('0x95')][_0x7995('0x96')]!==_0x7995('0x97'))return;return _0x177cb4['user'][_0x7995('0x98')]({'attributes':['id'],'raw':!![]})[_0x7995('0x2c')](function(_0x5683b2){if(_['isEmpty'](_0x5683b2)){_0x1f01c0[_0x7995('0x46')](_0x7995('0x99'));_0x4d9245[_0x7995('0x46')](_0x7995('0x99'));}else{_0x1f01c0[_0x7995('0x46')](_0x7995('0x79'),_['map'](_0x5683b2,'id'));_0x4d9245[_0x7995('0x46')](_0x7995('0x79'),_[_0x7995('0x37')](_0x5683b2,'id'));}});})[_0x7995('0x2c')](function(){if(_0x177cb4[_0x7995('0x95')][_0x7995('0x96')]===_0x7995('0x97')&&!_0x1579b9&&!_0x177cb4[_0x7995('0x3d')]['SmsAccountId'])return[];return db[_0x7995('0x9a')][_0x7995('0x3d')](_0x1f01c0['toString'](),_0x3758f9);})['then'](function(_0xd24c64){_0x5e67fe[_0x7995('0x9b')]=_0xd24c64[_0x7995('0x42')];if(_0x5e67fe[_0x7995('0x9b')]===0x0)return[];return db[_0x7995('0x9a')]['query'](_0x3993b5[_0x7995('0x9c')](),_0x3758f9)[_0x7995('0x2c')](function(_0x528b22){_0x5e85b9=_[_0x7995('0x9d')](_0x528b22,'id');_0x3758f9=_[_0x7995('0x9e')](_0x3758f9,{'model':db['SmsInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x177cb4[_0x7995('0x3d')]['fields']){_0x52d76d[_0x7995('0x40')][_0x7995('0x33')](function(_0x3ab421){_0x4d9245[_0x7995('0x49')]('i.'+_0x3ab421);});}else{_0x4d9245[_0x7995('0x49')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x7995('0x61'));_0x4d9245[_0x7995('0x49')](_0x7995('0x9f'),'Account.key');_0x4d9245[_0x7995('0x49')](_0x7995('0xa0'),_0x7995('0xa1'));_0x4d9245[_0x7995('0x49')]('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',_0x7995('0x90'));_0x4d9245[_0x7995('0x49')](_0x7995('0xa2'));_0x4d9245['field']('c.firstName',_0x7995('0xa3'));_0x4d9245[_0x7995('0x49')]('c.lastName','Contact.lastName');_0x4d9245[_0x7995('0x49')](_0x7995('0xa4'),_0x7995('0xa5'));_0x4d9245[_0x7995('0x49')](_0x7995('0xa6'),'Contact.phone');_0x4d9245['field'](_0x7995('0xa7'),'Contact.mobile');_0x4d9245['field'](_0x7995('0xa8'),_0x7995('0xa9'));_0x4d9245[_0x7995('0x49')]('o.fullname',_0x7995('0xaa'));_0x4d9245[_0x7995('0x49')](_0x7995('0xab'),_0x7995('0xac'));_0x4d9245[_0x7995('0x49')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x7995('0x32'));}if(_0x52d76d[_0x7995('0x26')])_0x4d9245[_0x7995('0x26')](_0x52d76d[_0x7995('0x26')]);if(_0x52d76d['offset'])_0x4d9245[_0x7995('0x25')](_0x52d76d[_0x7995('0x25')]);return db['sequelize'][_0x7995('0x3d')](_0x4d9245[_0x7995('0x9c')](),_0x3758f9);})['then'](function(_0x135f7a){_0x40fc68['where'](_0x7995('0xad'),_['map'](_0x135f7a,'id'));return db[_0x7995('0x9a')]['query'](_0x40fc68[_0x7995('0x9c')](),_0x3758f9)[_0x7995('0x2c')](function(_0x5bc982){var _0x17d677=_['groupBy'](_0x5bc982,'SmsInteractionId');var _0x7b9e26=[];_0x135f7a[_0x7995('0x33')](function(_0x784492){_0x7b9e26[_0x7995('0x35')](updateSmsInteraction(_0x784492,_0x5e85b9,_0x17d677));});return BPromise['all'](_0x7b9e26);});});})[_0x7995('0x2c')](function(_0x35044a){_0x5e67fe['rows']=_0x35044a;return _0x5e67fe;})['then'](respondWithFilteredResult(_0x5014d2,_0x52d76d))[_0x7995('0xae')](handleError(_0x5014d2,null));};exports['show']=function(_0x395670,_0x1446cc){var _0xfb4479={'raw':![],'where':{'id':_0x395670['params']['id']}},_0x5b42be={};_0x5b42be[_0x7995('0x3c')]=_['keys'](db[_0x7995('0x38')][_0x7995('0xaf')]);_0x5b42be[_0x7995('0x3d')]=_[_0x7995('0x3e')](_0x395670['query']);_0x5b42be['filters']=_['intersection'](_0x5b42be[_0x7995('0x3c')],_0x5b42be[_0x7995('0x3d')]);_0xfb4479[_0x7995('0x40')]=_[_0x7995('0x3f')](_0x5b42be[_0x7995('0x3c')],qs[_0x7995('0x41')](_0x395670['query']['fields']));_0xfb4479[_0x7995('0x40')]=_0xfb4479['attributes']['length']?_0xfb4479[_0x7995('0x40')]:_0x5b42be['model'];if(_0x395670['query'][_0x7995('0xb0')]){_0xfb4479[_0x7995('0xb1')]=[{'all':!![]}];}_0xfb4479=_[_0x7995('0x9e')]({},_0xfb4479,_0x395670['options']);return db[_0x7995('0x38')][_0x7995('0x60')](_0xfb4479)[_0x7995('0x2c')](handleEntityNotFound(_0x1446cc,null))[_0x7995('0x2c')](respondWithResult(_0x1446cc,null))[_0x7995('0xae')](handleError(_0x1446cc,null));};exports[_0x7995('0xb2')]=function(_0x41e3aa,_0x4093c5){return db[_0x7995('0x38')]['create'](_0x41e3aa[_0x7995('0x74')],{})[_0x7995('0x2c')](respondWithResult(_0x4093c5,0xc9))[_0x7995('0xae')](handleError(_0x4093c5,null));};exports[_0x7995('0x2b')]=function(_0x2a01d4,_0x5a4695){if(_0x2a01d4[_0x7995('0x74')]['id']){delete _0x2a01d4[_0x7995('0x74')]['id'];}return db[_0x7995('0x38')]['find']({'where':{'id':_0x2a01d4['params']['id']}})['then'](handleEntityNotFound(_0x5a4695,null))[_0x7995('0x2c')](saveUpdates(_0x2a01d4[_0x7995('0x74')],null))[_0x7995('0x2c')](respondWithResult(_0x5a4695,null))[_0x7995('0xae')](handleError(_0x5a4695,null));};exports[_0x7995('0xb3')]=function(_0x3ad47c,_0x4dd64a){return db[_0x7995('0x38')]['find']({'where':{'id':_0x3ad47c[_0x7995('0xb4')]['id']}})[_0x7995('0x2c')](handleEntityNotFound(_0x4dd64a,null))[_0x7995('0x2c')](removeEntity(_0x4dd64a,null))[_0x7995('0xae')](handleError(_0x4dd64a,null));};exports[_0x7995('0xb5')]=function(_0x24ac44,_0x4f929b){return db[_0x7995('0x38')][_0x7995('0xb5')]()[_0x7995('0x2c')](respondWithResult(_0x4f929b,null))[_0x7995('0xae')](handleError(_0x4f929b,null));};exports['addMessage']=function(_0x14be9f,_0x57f875,_0x422d1f){return db[_0x7995('0xb6')]['find']({'where':{'id':_0x14be9f['params']['id']}})[_0x7995('0x2c')](handleEntityNotFound(_0x57f875,null))[_0x7995('0x2c')](function(_0x41e200){if(_0x41e200){return _0x41e200[_0x7995('0xb7')](_0x14be9f[_0x7995('0x74')][_0x7995('0xb8')],_[_0x7995('0xb9')](_0x14be9f[_0x7995('0x74')],[_0x7995('0xb8'),'id'])||{});}})[_0x7995('0x2c')](respondWithResult(_0x57f875,null))[_0x7995('0xae')](handleError(_0x57f875,null));};exports[_0x7995('0xba')]=function(_0x5eb2d9,_0x5380e6,_0x41b0d5){var _0xd7f2b={'raw':![],'where':{}};var _0x12cc9f={};var _0x1531a9={'count':0x0,'rows':[]};return db[_0x7995('0x38')]['findOne']({'where':{'id':_0x5eb2d9[_0x7995('0xb4')]['id']}})[_0x7995('0x2c')](handleEntityNotFound(_0x5380e6,null))['then'](function(_0x46fc1c){if(_0x46fc1c){_0x12cc9f['model']=_[_0x7995('0x3e')](db[_0x7995('0xb6')][_0x7995('0xaf')]);_0x12cc9f['query']=_[_0x7995('0x3e')](_0x5eb2d9[_0x7995('0x3d')]);_0x12cc9f[_0x7995('0x47')]=_[_0x7995('0x3f')](_0x12cc9f[_0x7995('0x3c')],_0x12cc9f[_0x7995('0x3d')]);_0xd7f2b[_0x7995('0x40')]=_['intersection'](_0x12cc9f['model'],qs['fields'](_0x5eb2d9[_0x7995('0x3d')][_0x7995('0x41')]));_0xd7f2b['attributes']=_0xd7f2b['attributes'][_0x7995('0x42')]?_0xd7f2b[_0x7995('0x40')]:_0x12cc9f['model'];if(!_0x5eb2d9['query']['hasOwnProperty']('nolimit')){_0xd7f2b[_0x7995('0x26')]=qs[_0x7995('0x26')](_0x5eb2d9[_0x7995('0x3d')][_0x7995('0x26')]);_0xd7f2b['offset']=qs[_0x7995('0x25')](_0x5eb2d9[_0x7995('0x3d')]['offset']);}_0xd7f2b[_0x7995('0x8f')]=qs[_0x7995('0x45')](_0x5eb2d9[_0x7995('0x3d')]['sort']);_0xd7f2b[_0x7995('0x46')]=qs[_0x7995('0x47')](_['pick'](_0x5eb2d9[_0x7995('0x3d')],_0x12cc9f[_0x7995('0x47')]));_0xd7f2b[_0x7995('0x46')][_0x7995('0xbb')]=_0x46fc1c['id'];if(_0x5eb2d9[_0x7995('0x3d')][_0x7995('0x86')]){_0xd7f2b[_0x7995('0x46')]=_[_0x7995('0x9e')](_0xd7f2b[_0x7995('0x46')],{'$or':_[_0x7995('0x37')](_0xd7f2b[_0x7995('0x40')],function(_0x428e03){var _0x3f0c3b={};_0x3f0c3b[_0x428e03]={'$like':'%'+_0x5eb2d9['query'][_0x7995('0x86')]+'%'};return _0x3f0c3b;})});}if(_0x5eb2d9[_0x7995('0x3d')][_0x7995('0x7c')]){var _0x3c551f=_0x5eb2d9['query'][_0x7995('0x7c')][_0x7995('0x65')](',');var _0x2bc931={};_0x2bc931[_0x3c551f[0x0]]={'$gte':moment(_0x3c551f[0x1])['format'](_0x7995('0xbc'))};_0xd7f2b[_0x7995('0x46')]=_[_0x7995('0x9e')](_0xd7f2b[_0x7995('0x46')],_0x2bc931);}_0xd7f2b=_[_0x7995('0x9e')]({},_0xd7f2b,_0x5eb2d9[_0x7995('0xbd')]);return db[_0x7995('0xb6')]['count']({'where':_0xd7f2b[_0x7995('0x46')]})['then'](function(_0x101bc6){_0x1531a9[_0x7995('0x9b')]=_0x101bc6;if(_0x5eb2d9[_0x7995('0x3d')]['includeAll']){_0xd7f2b[_0x7995('0xb1')]=[{'all':!![]}];}return db['SmsMessage']['findAll'](_0xd7f2b);})['then'](function(_0x4b3170){_0x1531a9[_0x7995('0xbe')]=_0x4b3170;return _0x1531a9;});}})[_0x7995('0x2c')](respondWithFilteredResult(_0x5380e6,_0xd7f2b))['catch'](handleError(_0x5380e6,null));};exports[_0x7995('0xbf')]=function(_0x3edba1,_0x50fccd,_0x151893){return db[_0x7995('0x38')][_0x7995('0x60')]({'where':{'id':_0x3edba1[_0x7995('0xb4')]['id']}})[_0x7995('0x2c')](handleEntityNotFound(_0x50fccd,null))['then'](function(_0x38ea3e){if(_0x38ea3e){return _0x38ea3e[_0x7995('0xc0')](_0x3edba1[_0x7995('0x74')][_0x7995('0xb8')],_['omit'](_0x3edba1[_0x7995('0x74')],[_0x7995('0xb8'),'id'])||{})[_0x7995('0xc1')](function(){return db[_0x7995('0x6d')][_0x7995('0xc2')]({'attributes':['id',_0x7995('0x2f'),_0x7995('0x4a')],'where':{'id':_0x3edba1[_0x7995('0x74')][_0x7995('0xb8')]}});})[_0x7995('0x2c')](function(_0x5e08fa){socket[_0x7995('0xc3')]('smsInteractionTags:save',{'id':Number(_0x3edba1[_0x7995('0xb4')]['id']),'tags':_0x5e08fa||[]});return{'id':Number(_0x3edba1[_0x7995('0xb4')]['id']),'tags':_0x5e08fa||[]};});}})[_0x7995('0x2c')](respondWithResult(_0x50fccd,null))['catch'](handleError(_0x50fccd,null));};exports['removeTags']=function(_0x1102a3,_0x28a476,_0x4c7dc8){return db[_0x7995('0x38')]['find']({'where':{'id':_0x1102a3[_0x7995('0xb4')]['id']}})[_0x7995('0x2c')](handleEntityNotFound(_0x28a476,null))[_0x7995('0x2c')](function(_0x4e5667){if(_0x4e5667){return _0x4e5667['removeTags'](_0x1102a3['query'][_0x7995('0xb8')]);}})[_0x7995('0x2c')](respondWithStatusCode(_0x28a476,null))[_0x7995('0xae')](handleError(_0x28a476,null));};exports[_0x7995('0xc4')]=function(_0x5e7f82,_0x99e31d){var _0x382951=moment()[_0x7995('0xc5')]()[_0x7995('0x9c')]();var _0x27222c=path['join'](config['root'],'server',_0x7995('0xc6'),_0x7995('0xc7'));var _0x5972d4=path[_0x7995('0xc8')](config['root'],_0x7995('0xc9'),_0x7995('0xc6'),_0x7995('0xca'));var _0x467913=path['join'](_0x27222c,_0x382951);var _0x3fbafb=util[_0x7995('0xcb')](_0x7995('0xcc'),_0x5e7f82[_0x7995('0xb4')]['id'],_0x382951);var _0x2023a7=path[_0x7995('0xc8')](_0x27222c,_0x3fbafb);var _0x1d200d=[];_0x1d200d[_0x7995('0x35')]({'model':db[_0x7995('0x6f')],'as':_0x7995('0x6f'),'attributes':['id',_0x7995('0x31')],'raw':!![]});_0x1d200d[_0x7995('0x35')]({'model':db[_0x7995('0xcd')],'as':_0x7995('0xce'),'attributes':['id','firstName',_0x7995('0xcf')],'raw':!![]});var _0x58e0c0=[{'model':db[_0x7995('0xb6')],'as':_0x7995('0xd0'),'attributes':['id','body',_0x7995('0x7b'),'direction',_0x7995('0xd1'),_0x7995('0x81')],'include':_0x1d200d}];_0x58e0c0['push']({'model':db['SmsAccount'],'as':'Account','attributes':['id',_0x7995('0x2f')]});_0x58e0c0[_0x7995('0x35')]({'model':db[_0x7995('0x6f')],'as':_0x7995('0xd2'),'attributes':['id','fullname']});return db[_0x7995('0x38')][_0x7995('0x60')]({'where':{'id':_0x5e7f82[_0x7995('0xb4')]['id']},'include':_0x58e0c0})[_0x7995('0x2c')](handleEntityNotFound(_0x99e31d,null))[_0x7995('0x2c')](function(_0x3ab70c){if(_0x3ab70c){var _0x3e8479=_0x3ab70c[_0x7995('0xd3')]({'plain':!![]});fs['mkdirSync'](_0x467913);var _0x2e93a9={'channel':_0x7995('0xd4'),'account':_0x3e8479[_0x7995('0xd5')][_0x7995('0x2f')],'agent':_0x3e8479['Owner']?_0x3e8479[_0x7995('0xd2')][_0x7995('0x31')]:_0x7995('0xd6'),'createdAt':moment(_0x3e8479[_0x7995('0x7b')])[_0x7995('0xcb')](_0x7995('0xbc'))['toString'](),'closedAt':_0x3e8479[_0x7995('0xd7')]?moment(_0x3e8479[_0x7995('0xd8')])[_0x7995('0xcb')](_0x7995('0xbc'))[_0x7995('0x9c')]():'','disposition':_0x3e8479[_0x7995('0xd9')],'messages':_(_0x3e8479[_0x7995('0xd0')])[_0x7995('0x86')]({'secret':![]})[_0x7995('0x37')](function(_0x218a10){return{'date':moment(_0x218a10[_0x7995('0x7b')])[_0x7995('0xcb')](_0x7995('0xbc'))[_0x7995('0x9c')](),'sender':_0x218a10[_0x7995('0xda')]===_0x7995('0xdb')?_0x218a10[_0x7995('0x6f')]?_0x218a10[_0x7995('0x6f')][_0x7995('0x31')]:_0x7995('0xdc'):_0x218a10[_0x7995('0xce')]['firstName']+(_0x218a10['Contact'][_0x7995('0xcf')]?'\x20'+_0x218a10[_0x7995('0xce')]['lastName']:''),'body':_0x218a10[_0x7995('0x74')],'direction':_0x218a10['direction']===_0x7995('0xdb')?'A':'C','secret':_0x218a10['secret'],'read':_0x218a10[_0x7995('0x81')]};})[_0x7995('0x64')]()};return ejs[_0x7995('0xdd')](path[_0x7995('0xc8')](config[_0x7995('0xde')],_0x7995('0xc9'),_0x7995('0xdf'),_0x7995('0xe0')),{'interaction':_0x2e93a9})[_0x7995('0x2c')](function(_0x456cc9){var _0x49e85c=path[_0x7995('0xc8')](_0x467913,_0x7995('0xe1')+_0x3e8479['id']+'-'+_0x382951+_0x7995('0xe2'));var _0x3c83dd={'path':_0x49e85c,'channel':'Sms','interactionId':_0x3e8479['id']};return pdf[_0x7995('0xe3')](_0x456cc9,_0x3c83dd);})[_0x7995('0x2c')](function(){return new BPromise(function(_0x2f5904,_0x955034){zipdir(_0x467913,{'saveTo':_0x2023a7},function(_0x4d19b8,_0x32c550){if(_0x4d19b8)return _0x955034(_0x4d19b8);return _0x2f5904(_0x32c550);});})[_0x7995('0x2c')](function(){return new BPromise(function(_0x31d0e9,_0x2a600e){rimraf(_0x467913,function(_0x21617b){if(_0x21617b)_0x2a600e(_0x21617b);return _0x31d0e9();});});})[_0x7995('0x2c')](function(){return _0x99e31d[_0x7995('0xc4')](_0x2023a7,_0x3fbafb,function(_0x36ad5e){if(_0x36ad5e){console[_0x7995('0xe4')]('err',_0x36ad5e);}else{fs[_0x7995('0xe5')](_0x2023a7);}});});});}else{return _0x99e31d['sendStatus'](0xc8);}})[_0x7995('0xae')](handleError(_0x99e31d,null));};