bc40ac7f261c36e0bb4bad2e52151dafe2239993
[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 _0x8505=['err','unlinkSync','eml-format','zip-dir','request-promise','moment','bluebird','util','ejs','fs-extra','lodash','squel','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','register','sendStatus','end','status','offset','limit','undefined','count','set','Content-Range','json','reject','save','update','then','destroy','error','name','send','Users','fullname','Tags','TagIds','split','push','catch','index','SmsInteraction','fieldName','type','key','model','map','query','intersection','fields','attributes','hasOwnProperty','nolimit','sort','where','filters','pick','select','field','from','tools_tags','u.fullname','ui.SmsInteractionId','users','sms_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','sms_accounts','a.id\x20=\x20i.SmsAccountId','sms_messages','me.SmsInteractionId\x20=\x20i.id','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','length','find','unreadMessages','having','`\x20>\x200','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','text','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','body','buildExpression','start','keys','some','compact','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','t.id\x20IN\x20?','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','a.key','Account.key','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','all','rows','rawAttributes','includeAll','include','options','create','params','describe','addMessage','SmsMessage','omit','ids','getMessages','findOne','format','findAll','spread','color','emit','removeTags','download','unix','root','server','files','tmp','join','transcript-%d-%s.zip','CmContact','Contact','firstName','lastName','Messages','direction','secret','read','SmsAccount','Account','Owner','Sms','N.A.','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','disposition','out','System','views','downloadInteraction.ejs','.pdf','createPdfFromHTML','log'];(function(_0x49d41c,_0x2bdc35){var _0xb64c5f=function(_0x28f535){while(--_0x28f535){_0x49d41c['push'](_0x49d41c['shift']());}};_0xb64c5f(++_0x2bdc35);}(_0x8505,0xe6));var _0x5850=function(_0x31ee21,_0x5c7b22){_0x31ee21=_0x31ee21-0x0;var _0x3eaba3=_0x8505[_0x31ee21];return _0x3eaba3;};'use strict';var emlformat=require(_0x5850('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5850('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5850('0x2'));var moment=require(_0x5850('0x3'));var BPromise=require(_0x5850('0x4'));var Mustache=require('mustache');var util=require(_0x5850('0x5'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x5850('0x6'));var fs=require('fs');var fs_extra=require(_0x5850('0x7'));var _=require(_0x5850('0x8'));var squel=require(_0x5850('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x5850('0xa'));var toCsv=require(_0x5850('0xb'));var querystring=require(_0x5850('0xc'));var Papa=require(_0x5850('0xd'));var Redis=require(_0x5850('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x5850('0xf'));var as=require(_0x5850('0x10'));var pdf=require(_0x5850('0x11'));var hardwareService=require(_0x5850('0x12'));var logger=require(_0x5850('0x13'))(_0x5850('0x14'));var utils=require(_0x5850('0x15'));var config=require(_0x5850('0x16'));var licenseUtil=require(_0x5850('0x17'));var db=require('../../mysqldb')['db'];config[_0x5850('0x18')]=_[_0x5850('0x19')](config['redis'],{'host':_0x5850('0x1a'),'port':0x18eb});var socket=require(_0x5850('0x1b'))(new Redis(config[_0x5850('0x18')]));require('./smsInteraction.socket')[_0x5850('0x1c')](socket);function respondWithStatusCode(_0x2a4414,_0xfdf57f){_0xfdf57f=_0xfdf57f||0xcc;return function(_0xbc23a6){if(_0xbc23a6){return _0x2a4414[_0x5850('0x1d')](_0xfdf57f);}return _0x2a4414['status'](_0xfdf57f)[_0x5850('0x1e')]();};}function respondWithResult(_0x14a77c,_0x2fed5a){_0x2fed5a=_0x2fed5a||0xc8;return function(_0xd8aede){if(_0xd8aede){return _0x14a77c[_0x5850('0x1f')](_0x2fed5a)['json'](_0xd8aede);}};}function respondWithFilteredResult(_0x2e8019,_0x4bf6f8){return function(_0x2784e9){if(_0x2784e9){var _0x471510=typeof _0x4bf6f8[_0x5850('0x20')]==='undefined'&&typeof _0x4bf6f8[_0x5850('0x21')]===_0x5850('0x22');var _0x3954fb=_0x2784e9['count'];var _0x1adb60=_0x471510?0x0:_0x4bf6f8[_0x5850('0x20')];var _0x48a81b=_0x471510?_0x2784e9[_0x5850('0x23')]:_0x4bf6f8[_0x5850('0x20')]+_0x4bf6f8[_0x5850('0x21')];var _0x2254bc;if(_0x48a81b>=_0x3954fb){_0x48a81b=_0x3954fb;_0x2254bc=0xc8;}else{_0x2254bc=0xce;}_0x2e8019[_0x5850('0x1f')](_0x2254bc);return _0x2e8019[_0x5850('0x24')](_0x5850('0x25'),_0x1adb60+'-'+_0x48a81b+'/'+_0x3954fb)[_0x5850('0x26')](_0x2784e9);}return null;};}function patchUpdates(_0xb0ec88){return function(_0x6659ff){try{jsonpatch['apply'](_0x6659ff,_0xb0ec88,!![]);}catch(_0x5dd925){return BPromise[_0x5850('0x27')](_0x5dd925);}return _0x6659ff[_0x5850('0x28')]();};}function saveUpdates(_0x4ea66f,_0x389535){return function(_0xc1a8d1){if(_0xc1a8d1){return _0xc1a8d1[_0x5850('0x29')](_0x4ea66f)[_0x5850('0x2a')](function(_0x1992b9){return _0x1992b9;});}return null;};}function removeEntity(_0x2631a3,_0x4d1abf){return function(_0x2ff59d){if(_0x2ff59d){return _0x2ff59d[_0x5850('0x2b')]()['then'](function(){_0x2631a3['status'](0xcc)[_0x5850('0x1e')]();});}};}function handleEntityNotFound(_0x1fa2e7,_0x17b916){return function(_0x184b79){if(!_0x184b79){_0x1fa2e7[_0x5850('0x1d')](0x194);}return _0x184b79;};}function handleError(_0x3de178,_0x35acd8){_0x35acd8=_0x35acd8||0x1f4;return function(_0x240bb9){logger[_0x5850('0x2c')](_0x240bb9['stack']);if(_0x240bb9['name']){delete _0x240bb9[_0x5850('0x2d')];}_0x3de178[_0x5850('0x1f')](_0x35acd8)[_0x5850('0x2e')](_0x240bb9);};}function getInteractionUsers(_0x991dfe,_0x2153a2){return new BPromise(function(_0xfe0d51,_0xd328d0){try{if(_0x2153a2[_0x991dfe['id']]){_0x991dfe[_0x5850('0x2f')]=_['map'](_0x2153a2[_0x991dfe['id']],function(_0x412d33){return{'id':_0x412d33['id'],'fullname':_0x412d33[_0x5850('0x30')]};});}}catch(_0x3e3c69){_0xd328d0(_0x3e3c69);}_0xfe0d51(_0x991dfe);});}function getInteractionTags(_0xdb9b44,_0x1c39c7){return new BPromise(function(_0x146381,_0xdcea6c){try{if(_0xdb9b44['TagIds']){_0xdb9b44[_0x5850('0x31')]=[];_0xdb9b44[_0x5850('0x32')][_0x5850('0x33')](',')['forEach'](function(_0x369e37){_0xdb9b44[_0x5850('0x31')][_0x5850('0x34')](_0x1c39c7[_0x369e37]);});}delete _0xdb9b44['TagIds'];}catch(_0x56642a){_0xdcea6c(_0x56642a);}_0x146381(_0xdb9b44);});}function updateSmsInteraction(_0x1cd9ab,_0x12a90c,_0x35a5c3){return new BPromise(function(_0x1dd0c6,_0x56a3d2){return getInteractionUsers(_0x1cd9ab,_0x35a5c3)[_0x5850('0x2a')](function(_0x4a92df){return getInteractionTags(_0x4a92df,_0x12a90c);})['then'](function(_0x1662c9){_0x1dd0c6(_0x1662c9);})[_0x5850('0x35')](function(_0x129749){_0x56a3d2(_0x129749);});});}exports[_0x5850('0x36')]=function(_0x1d036a,_0x5f088e){var _0x432f2f={},_0x7a6a30={},_0x28961c={'count':0x0,'rows':[]};var _0x3d400e=_['map'](db[_0x5850('0x37')]['rawAttributes'],function(_0xd57b2e){return{'name':_0xd57b2e[_0x5850('0x38')],'type':_0xd57b2e[_0x5850('0x39')][_0x5850('0x3a')]};});_0x7a6a30[_0x5850('0x3b')]=_[_0x5850('0x3c')](_0x3d400e,_0x5850('0x2d'));_0x7a6a30[_0x5850('0x3d')]=_['keys'](_0x1d036a['query']);_0x7a6a30['filters']=_['intersection'](_0x7a6a30[_0x5850('0x3b')],_0x7a6a30[_0x5850('0x3d')]);_0x432f2f['attributes']=_[_0x5850('0x3e')](_0x7a6a30[_0x5850('0x3b')],qs[_0x5850('0x3f')](_0x1d036a[_0x5850('0x3d')][_0x5850('0x3f')]));_0x432f2f[_0x5850('0x40')]=_0x432f2f['attributes']['length']?_0x432f2f[_0x5850('0x40')]:_0x7a6a30['model'];if(!_0x1d036a[_0x5850('0x3d')][_0x5850('0x41')](_0x5850('0x42'))){_0x432f2f['limit']=qs[_0x5850('0x21')](_0x1d036a[_0x5850('0x3d')][_0x5850('0x21')]);_0x432f2f['offset']=qs[_0x5850('0x20')](_0x1d036a[_0x5850('0x3d')][_0x5850('0x20')]);}_0x432f2f['order']=qs[_0x5850('0x43')](_0x1d036a[_0x5850('0x3d')]['sort']);_0x432f2f[_0x5850('0x44')]=qs[_0x5850('0x45')](_[_0x5850('0x46')](_0x1d036a[_0x5850('0x3d')],_0x7a6a30[_0x5850('0x45')]),_0x3d400e);var _0x5be924=[];var _0x77b148=squel[_0x5850('0x47')]()[_0x5850('0x48')]('id')[_0x5850('0x48')](_0x5850('0x2d'))[_0x5850('0x48')]('color')[_0x5850('0x49')](_0x5850('0x4a'));var _0xe33cf0=squel[_0x5850('0x47')]()[_0x5850('0x48')]('u.id')['field'](_0x5850('0x4b'))['field'](_0x5850('0x4c'))['from']('user_has_sms_interactions','ui')['left_join'](_0x5850('0x4d'),'u','u.id\x20=\x20ui.UserId');var _0x2aa8e2=squel[_0x5850('0x47')]()[_0x5850('0x49')](_0x5850('0x4e'),'i')['left_join'](_0x5850('0x4f'),'c',_0x5850('0x50'))[_0x5850('0x51')](_0x5850('0x4d'),'o','o.id\x20=\x20i.UserId')[_0x5850('0x51')](_0x5850('0x52'),'a',_0x5850('0x53'))[_0x5850('0x51')](_0x5850('0x54'),'me',_0x5850('0x55'))[_0x5850('0x51')](_0x5850('0x56'),'it',_0x5850('0x57'))[_0x5850('0x51')](_0x5850('0x4a'),'t',_0x5850('0x58'));var _0x5c3d1a=squel[_0x5850('0x59')]();var _0x1d2373=[];var _0x4768a9=squel[_0x5850('0x59')]();var _0x20a134;if(_0x1d036a[_0x5850('0x3d')][_0x5850('0x5a')]){_0x20a134=as[_0x5850('0x5b')](_0x1d036a[_0x5850('0x3d')]['search']);var _0x312e09=_0x20a134[_0x5850('0x5c')];for(var _0x454b67=0x0;_0x454b67<_0x20a134[_0x5850('0x5d')][_0x5850('0x5e')];_0x454b67++){var _0x3379ce=_0x20a134['conditions'][_0x454b67];var _0x5ad8b0='i';var _0x3f89aa=_[_0x5850('0x5f')](_0x3d400e,[_0x5850('0x2d'),_0x3379ce['field']]);if(!_0x3f89aa){switch(_0x3379ce[_0x5850('0x48')]){case _0x5850('0x60'):if(_0x3379ce['value']==0x1){_0x2aa8e2[_0x5850('0x61')]('`'+_0x3379ce[_0x5850('0x48')]+'`\x20=\x200');}else{_0x2aa8e2['having']('`'+_0x3379ce[_0x5850('0x48')]+_0x5850('0x62'));}break;case'Contact':if(_0x3379ce[_0x5850('0x63')]===_0x5850('0x64')){if(_0x3379ce[_0x5850('0x65')][_0x5850('0x33')]('\x20')[_0x5850('0x5e')]>0x1){_0x5c3d1a[_0x312e09](_0x5850('0x66'),qs[_0x5850('0x67')](_0x3379ce['value']),null);}else{var _0x2d9b24='%'+_0x3379ce['value']+'%';_0x5c3d1a[_0x312e09]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x2d9b24,_0x2d9b24,_0x2d9b24);}}else{_0x3f89aa=_[_0x5850('0x5f')](_0x3d400e,['name','ContactId']);_0x3379ce[_0x5850('0x48')]=_0x5850('0x68');_0x54ca8f=as['buildExpression'](_0x5ad8b0,_0x3f89aa['type'],_0x3379ce);_0x5c3d1a[_0x312e09](_0x54ca8f[_0x5850('0x69')],_0x54ca8f['value']['start'],_0x54ca8f[_0x5850('0x65')][_0x5850('0x1e')]);}break;case _0x5850('0x6a'):var _0x3e53d3=_0x3379ce[_0x5850('0x65')][_0x5850('0x33')](',')[_0x5850('0x3c')](function(_0x1966da){return Number(_0x1966da);});_0x3e53d3[_0x5850('0x6b')](function(_0x50ce97){_0x4768a9['or'](_0x5850('0x6c'),'%,'+_0x50ce97+',%');});_0x1d2373=_[_0x5850('0x6d')](_0x1d2373,_0x3e53d3);break;case _0x5850('0x6e'):if(_0x3379ce[_0x5850('0x63')]===_0x5850('0x64')){_0x5c3d1a[_0x312e09]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x3379ce[_0x5850('0x65')]+'%',null);}else{_0x3f89aa=_['find'](_0x3d400e,['name',_0x5850('0x6f')]);_0x3379ce['field']=_0x5850('0x6f');_0x54ca8f=as['buildExpression'](_0x5ad8b0,_0x3f89aa[_0x5850('0x39')],_0x3379ce);_0x5c3d1a[_0x312e09](_0x54ca8f['text'],_0x54ca8f['value']['start'],_0x54ca8f[_0x5850('0x65')]['end']);}break;case _0x5850('0x70'):_0x54ca8f=as[_0x5850('0x71')]('me',null,_0x3379ce);_0x5c3d1a[_0x312e09](_0x54ca8f[_0x5850('0x69')],_0x54ca8f['value'][_0x5850('0x72')],_0x54ca8f[_0x5850('0x65')][_0x5850('0x1e')]);break;}}else{var _0x54ca8f=as[_0x5850('0x71')](_0x5ad8b0,_0x3f89aa['type'],_0x3379ce);_0x5c3d1a[_0x312e09](_0x54ca8f[_0x5850('0x69')],_0x54ca8f[_0x5850('0x65')][_0x5850('0x72')],_0x54ca8f[_0x5850('0x65')][_0x5850('0x1e')]);}}}else{var _0x5bc57e=_(_0x1d036a[_0x5850('0x3d')])[_0x5850('0x73')]()[_0x5850('0x3c')](function(_0x5ce16d){return _[_0x5850('0x74')](_0x3d400e,[_0x5850('0x2d'),_0x5ce16d])?_0x5ce16d:undefined;})[_0x5850('0x75')]()[_0x5850('0x65')]();if(!_[_0x5850('0x76')](_0x5bc57e)){_0x5bc57e['forEach'](function(_0x5f4865){if(_0x5f4865===_0x5850('0x77')){_0x2aa8e2['where'](_0x5850('0x78'),[][_0x5850('0x79')](_0x1d036a[_0x5850('0x3d')][_0x5f4865]));}else if(_0x5f4865==='createdAt'){var _0x45faaa=JSON[_0x5850('0x7a')](_0x1d036a[_0x5850('0x3d')][_0x5f4865])[_0x5850('0x7b')];var _0x54ce6e=JSON[_0x5850('0x7a')](_0x1d036a[_0x5850('0x3d')][_0x5f4865])[_0x5850('0x7c')];_0x2aa8e2[_0x5850('0x44')](_0x5850('0x7d'),_0x45faaa,_0x54ce6e);}else{if(_0x1d036a[_0x5850('0x3d')][_0x5f4865]===_0x5850('0x7e')){_0x2aa8e2[_0x5850('0x44')]('i.'+_0x5f4865+'\x20IS\x20NULL');}else{_0x2aa8e2[_0x5850('0x44')]('i.'+_0x5f4865+'\x20=\x20?',_0x1d036a[_0x5850('0x3d')][_0x5f4865]);}}});}if(_0x1d036a[_0x5850('0x3d')]['read']){if(_0x1d036a[_0x5850('0x3d')]['read']==0x1){_0x2aa8e2[_0x5850('0x61')](_0x5850('0x7f'));}else{_0x2aa8e2[_0x5850('0x61')](_0x5850('0x80'));}}if(_0x1d036a['query'][_0x5850('0x81')]){_0x1d2373=_['isArray'](_0x1d036a[_0x5850('0x3d')]['tag'])?_0x1d036a[_0x5850('0x3d')]['tag']:new Array(_0x1d036a[_0x5850('0x3d')][_0x5850('0x81')]);_0x1d2373['forEach'](function(_0x239eac){_0x4768a9['or'](_0x5850('0x6c'),'%,'+_0x239eac+',%');});}if(_0x1d036a[_0x5850('0x3d')][_0x5850('0x82')]){var _0x11d35f=_0x1d036a[_0x5850('0x3d')][_0x5850('0x82')][_0x5850('0x83')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x11d35f)){_0x5c3d1a['or']('i.id\x20LIKE\x20?',_0x11d35f+'%')['or']('i.phone\x20LIKE\x20?',_0x11d35f+'%');}else{_0x5c3d1a['or'](_0x5850('0x84'),qs[_0x5850('0x67')](_0x11d35f))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x11d35f+'%');}}}_0x2aa8e2[_0x5850('0x44')](_0x5c3d1a);_0x2aa8e2[_0x5850('0x85')](_0x5850('0x86'));var _0x4d1943={'type':db[_0x5850('0x87')][_0x5850('0x88')][_0x5850('0x89')],'raw':!![]};var _0x477904=_0x2aa8e2['clone']();_0x477904[_0x5850('0x48')]('i.id');_0x477904['field'](_0x5850('0x8a'),_0x5850('0x60'));if(_0x432f2f[_0x5850('0x8b')]){_0x432f2f['order'][_0x5850('0x6b')](function(_0x3a6134){var _0x291af7=_0x3a6134[0x0]===_0x5850('0x8c')?_0x3a6134[0x0]:'i.'+_0x3a6134[0x0];_0x2aa8e2[_0x5850('0x8b')](_0x291af7,_0x3a6134[0x1]===_0x5850('0x8d')?![]:!![]);});}if(!_['isEmpty'](_0x1d2373)){_0x2aa8e2['having'](_0x4768a9);_0x477904[_0x5850('0x44')](_0x5850('0x8e'),_0x1d2373);}BPromise['resolve']()[_0x5850('0x2a')](function(){if(!_0x20a134){if(_0x1d036a[_0x5850('0x3d')][_0x5850('0x77')])return;_0x477904[_0x5850('0x44')](_0x5850('0x8f'));_0x2aa8e2[_0x5850('0x44')](_0x5850('0x8f'));return;}if(_0x1d036a[_0x5850('0x90')][_0x5850('0x91')]!==_0x5850('0x92'))return;return _0x1d036a[_0x5850('0x90')][_0x5850('0x93')]({'attributes':['id'],'raw':!![]})[_0x5850('0x2a')](function(_0x455533){if(_[_0x5850('0x76')](_0x455533)){_0x477904['where'](_0x5850('0x94'));_0x2aa8e2[_0x5850('0x44')](_0x5850('0x94'));}else{_0x477904['where'](_0x5850('0x78'),_[_0x5850('0x3c')](_0x455533,'id'));_0x2aa8e2['where'](_0x5850('0x78'),_[_0x5850('0x3c')](_0x455533,'id'));}});})[_0x5850('0x2a')](function(){if(_0x1d036a[_0x5850('0x90')]['role']===_0x5850('0x92')&&!_0x20a134&&!_0x1d036a['query'][_0x5850('0x77')])return[];return db[_0x5850('0x95')][_0x5850('0x3d')](_0x477904[_0x5850('0x96')](),_0x4d1943);})['then'](function(_0x373b7e){_0x28961c[_0x5850('0x23')]=_0x373b7e[_0x5850('0x5e')];if(_0x28961c[_0x5850('0x23')]===0x0)return[];return db['sequelize'][_0x5850('0x3d')](_0x77b148['toString'](),_0x4d1943)[_0x5850('0x2a')](function(_0x2860fc){_0x5be924=_[_0x5850('0x97')](_0x2860fc,'id');_0x4d1943=_[_0x5850('0x98')](_0x4d1943,{'model':db['SmsInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1d036a[_0x5850('0x3d')][_0x5850('0x3f')]){_0x432f2f[_0x5850('0x40')][_0x5850('0x6b')](function(_0x5aac99){_0x2aa8e2['field']('i.'+_0x5aac99);});}else{_0x2aa8e2['field'](_0x5850('0x8a'),_0x5850('0x60'));_0x2aa8e2['field'](_0x5850('0x99'),_0x5850('0x9a'));_0x2aa8e2['field']('a.mandatoryDisposition',_0x5850('0x9b'));_0x2aa8e2['field']('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',_0x5850('0x8c'));_0x2aa8e2[_0x5850('0x48')](_0x5850('0x9c'));_0x2aa8e2[_0x5850('0x48')](_0x5850('0x9d'),_0x5850('0x9e'));_0x2aa8e2[_0x5850('0x48')](_0x5850('0x9f'),_0x5850('0xa0'));_0x2aa8e2['field'](_0x5850('0xa1'),'Contact.email');_0x2aa8e2[_0x5850('0x48')](_0x5850('0xa2'),_0x5850('0xa3'));_0x2aa8e2[_0x5850('0x48')](_0x5850('0xa4'),_0x5850('0xa5'));_0x2aa8e2[_0x5850('0x48')]('c.fax','Contact.fax');_0x2aa8e2[_0x5850('0x48')]('o.fullname',_0x5850('0xa6'));_0x2aa8e2[_0x5850('0x48')](_0x5850('0xa7'),_0x5850('0xa8'));_0x2aa8e2[_0x5850('0x48')](_0x5850('0xa9'),_0x5850('0x32'));}if(_0x432f2f[_0x5850('0x21')])_0x2aa8e2[_0x5850('0x21')](_0x432f2f[_0x5850('0x21')]);if(_0x432f2f[_0x5850('0x20')])_0x2aa8e2['offset'](_0x432f2f['offset']);return db[_0x5850('0x95')]['query'](_0x2aa8e2['toString'](),_0x4d1943);})['then'](function(_0x235a68){if(_0x235a68['length']>0x0)_0xe33cf0[_0x5850('0x44')](_0x5850('0xaa'),_[_0x5850('0x3c')](_0x235a68,'id'));return db[_0x5850('0x95')]['query'](_0xe33cf0[_0x5850('0x96')](),_0x4d1943)[_0x5850('0x2a')](function(_0x38deb8){var _0x6f969f=_[_0x5850('0xab')](_0x38deb8,_0x5850('0xac'));var _0x5a0fc4=[];_0x235a68[_0x5850('0x6b')](function(_0x24deeb){_0x5a0fc4['push'](updateSmsInteraction(_0x24deeb,_0x5be924,_0x6f969f));});return BPromise[_0x5850('0xad')](_0x5a0fc4);});});})[_0x5850('0x2a')](function(_0x3b1336){_0x28961c[_0x5850('0xae')]=_0x3b1336;return _0x28961c;})[_0x5850('0x2a')](respondWithFilteredResult(_0x5f088e,_0x432f2f))[_0x5850('0x35')](handleError(_0x5f088e,null));};exports['show']=function(_0x3a433f,_0xd31b3){var _0x4b046d={'raw':![],'where':{'id':_0x3a433f['params']['id']}},_0x57cb63={};_0x57cb63['model']=_[_0x5850('0x73')](db['SmsInteraction'][_0x5850('0xaf')]);_0x57cb63[_0x5850('0x3d')]=_[_0x5850('0x73')](_0x3a433f[_0x5850('0x3d')]);_0x57cb63[_0x5850('0x45')]=_[_0x5850('0x3e')](_0x57cb63[_0x5850('0x3b')],_0x57cb63[_0x5850('0x3d')]);_0x4b046d[_0x5850('0x40')]=_[_0x5850('0x3e')](_0x57cb63[_0x5850('0x3b')],qs[_0x5850('0x3f')](_0x3a433f['query'][_0x5850('0x3f')]));_0x4b046d[_0x5850('0x40')]=_0x4b046d['attributes'][_0x5850('0x5e')]?_0x4b046d[_0x5850('0x40')]:_0x57cb63[_0x5850('0x3b')];if(_0x3a433f[_0x5850('0x3d')][_0x5850('0xb0')]){_0x4b046d[_0x5850('0xb1')]=[{'all':!![]}];}_0x4b046d=_[_0x5850('0x98')]({},_0x4b046d,_0x3a433f[_0x5850('0xb2')]);return db[_0x5850('0x37')][_0x5850('0x5f')](_0x4b046d)[_0x5850('0x2a')](handleEntityNotFound(_0xd31b3,null))[_0x5850('0x2a')](respondWithResult(_0xd31b3,null))[_0x5850('0x35')](handleError(_0xd31b3,null));};exports['create']=function(_0x432fef,_0x4974c9){return db[_0x5850('0x37')][_0x5850('0xb3')](_0x432fef[_0x5850('0x70')],{})[_0x5850('0x2a')](respondWithResult(_0x4974c9,0xc9))[_0x5850('0x35')](handleError(_0x4974c9,null));};exports[_0x5850('0x29')]=function(_0x1e0fdc,_0x350364){if(_0x1e0fdc[_0x5850('0x70')]['id']){delete _0x1e0fdc[_0x5850('0x70')]['id'];}return db[_0x5850('0x37')][_0x5850('0x5f')]({'where':{'id':_0x1e0fdc[_0x5850('0xb4')]['id']}})[_0x5850('0x2a')](handleEntityNotFound(_0x350364,null))[_0x5850('0x2a')](saveUpdates(_0x1e0fdc[_0x5850('0x70')],null))['then'](respondWithResult(_0x350364,null))[_0x5850('0x35')](handleError(_0x350364,null));};exports[_0x5850('0x2b')]=function(_0x41373f,_0x308702){return db[_0x5850('0x37')][_0x5850('0x5f')]({'where':{'id':_0x41373f['params']['id']}})[_0x5850('0x2a')](handleEntityNotFound(_0x308702,null))[_0x5850('0x2a')](removeEntity(_0x308702,null))['catch'](handleError(_0x308702,null));};exports['describe']=function(_0x14bc3a,_0x11bbc5){return db['SmsInteraction'][_0x5850('0xb5')]()[_0x5850('0x2a')](respondWithResult(_0x11bbc5,null))[_0x5850('0x35')](handleError(_0x11bbc5,null));};exports[_0x5850('0xb6')]=function(_0x51766c,_0x29f006,_0x41f4b5){return db[_0x5850('0xb7')][_0x5850('0x5f')]({'where':{'id':_0x51766c['params']['id']}})[_0x5850('0x2a')](handleEntityNotFound(_0x29f006,null))[_0x5850('0x2a')](function(_0x4f98bc){if(_0x4f98bc){return _0x4f98bc['addMessage'](_0x51766c[_0x5850('0x70')]['ids'],_[_0x5850('0xb8')](_0x51766c[_0x5850('0x70')],[_0x5850('0xb9'),'id'])||{});}})[_0x5850('0x2a')](respondWithResult(_0x29f006,null))[_0x5850('0x35')](handleError(_0x29f006,null));};exports[_0x5850('0xba')]=function(_0x5b73a3,_0x1aea06,_0x562829){var _0x2e5bfc={'raw':![],'where':{}};var _0x6697a8={};var _0x266945={'count':0x0,'rows':[]};return db['SmsInteraction'][_0x5850('0xbb')]({'where':{'id':_0x5b73a3[_0x5850('0xb4')]['id']}})[_0x5850('0x2a')](handleEntityNotFound(_0x1aea06,null))[_0x5850('0x2a')](function(_0x5e053e){if(_0x5e053e){_0x6697a8[_0x5850('0x3b')]=_['keys'](db[_0x5850('0xb7')][_0x5850('0xaf')]);_0x6697a8['query']=_[_0x5850('0x73')](_0x5b73a3[_0x5850('0x3d')]);_0x6697a8['filters']=_[_0x5850('0x3e')](_0x6697a8[_0x5850('0x3b')],_0x6697a8[_0x5850('0x3d')]);_0x2e5bfc[_0x5850('0x40')]=_['intersection'](_0x6697a8[_0x5850('0x3b')],qs[_0x5850('0x3f')](_0x5b73a3['query'][_0x5850('0x3f')]));_0x2e5bfc[_0x5850('0x40')]=_0x2e5bfc[_0x5850('0x40')][_0x5850('0x5e')]?_0x2e5bfc[_0x5850('0x40')]:_0x6697a8['model'];if(!_0x5b73a3['query'][_0x5850('0x41')](_0x5850('0x42'))){_0x2e5bfc['limit']=qs[_0x5850('0x21')](_0x5b73a3[_0x5850('0x3d')][_0x5850('0x21')]);_0x2e5bfc[_0x5850('0x20')]=qs['offset'](_0x5b73a3[_0x5850('0x3d')][_0x5850('0x20')]);}_0x2e5bfc['order']=qs['sort'](_0x5b73a3[_0x5850('0x3d')][_0x5850('0x43')]);_0x2e5bfc[_0x5850('0x44')]=qs[_0x5850('0x45')](_[_0x5850('0x46')](_0x5b73a3[_0x5850('0x3d')],_0x6697a8[_0x5850('0x45')]));_0x2e5bfc['where'][_0x5850('0xac')]=_0x5e053e['id'];if(_0x5b73a3[_0x5850('0x3d')]['filter']){_0x2e5bfc[_0x5850('0x44')]=_['merge'](_0x2e5bfc['where'],{'$or':_['map'](_0x2e5bfc[_0x5850('0x40')],function(_0x7c394c){var _0xc1bcc={};_0xc1bcc[_0x7c394c]={'$like':'%'+_0x5b73a3[_0x5850('0x3d')][_0x5850('0x82')]+'%'};return _0xc1bcc;})});}if(_0x5b73a3[_0x5850('0x3d')]['$gte']){var _0x109f45=_0x5b73a3[_0x5850('0x3d')]['$gte'][_0x5850('0x33')](',');var _0x40a4c7={};_0x40a4c7[_0x109f45[0x0]]={'$gte':moment(_0x109f45[0x1])[_0x5850('0xbc')]('YYYY-MM-DD\x20HH:mm:ss')};_0x2e5bfc[_0x5850('0x44')]=_[_0x5850('0x98')](_0x2e5bfc[_0x5850('0x44')],_0x40a4c7);}_0x2e5bfc=_['merge']({},_0x2e5bfc,_0x5b73a3[_0x5850('0xb2')]);return db[_0x5850('0xb7')][_0x5850('0x23')]({'where':_0x2e5bfc['where']})['then'](function(_0x3995cf){_0x266945['count']=_0x3995cf;if(_0x5b73a3['query'][_0x5850('0xb0')]){_0x2e5bfc[_0x5850('0xb1')]=[{'all':!![]}];}return db[_0x5850('0xb7')][_0x5850('0xbd')](_0x2e5bfc);})[_0x5850('0x2a')](function(_0x3bfdb7){_0x266945['rows']=_0x3bfdb7;return _0x266945;});}})['then'](respondWithFilteredResult(_0x1aea06,_0x2e5bfc))[_0x5850('0x35')](handleError(_0x1aea06,null));};exports['addTags']=function(_0x31849f,_0x42a472,_0x4897b1){return db[_0x5850('0x37')][_0x5850('0x5f')]({'where':{'id':_0x31849f[_0x5850('0xb4')]['id']}})[_0x5850('0x2a')](handleEntityNotFound(_0x42a472,null))[_0x5850('0x2a')](function(_0x4c7e75){if(_0x4c7e75){return _0x4c7e75['setTags'](_0x31849f[_0x5850('0x70')][_0x5850('0xb9')],_['omit'](_0x31849f[_0x5850('0x70')],[_0x5850('0xb9'),'id'])||{})[_0x5850('0xbe')](function(){return db['Tag'][_0x5850('0xbd')]({'attributes':['id','name',_0x5850('0xbf')],'where':{'id':_0x31849f[_0x5850('0x70')][_0x5850('0xb9')]}});})['then'](function(_0x2e4bbe){socket[_0x5850('0xc0')]('smsInteractionTags:save',{'id':Number(_0x31849f[_0x5850('0xb4')]['id']),'tags':_0x2e4bbe||[]});return{'id':Number(_0x31849f[_0x5850('0xb4')]['id']),'tags':_0x2e4bbe||[]};});}})['then'](respondWithResult(_0x42a472,null))[_0x5850('0x35')](handleError(_0x42a472,null));};exports[_0x5850('0xc1')]=function(_0x2adfb6,_0x349fef,_0x19380b){return db['SmsInteraction'][_0x5850('0x5f')]({'where':{'id':_0x2adfb6[_0x5850('0xb4')]['id']}})[_0x5850('0x2a')](handleEntityNotFound(_0x349fef,null))['then'](function(_0x4bc9b1){if(_0x4bc9b1){return _0x4bc9b1[_0x5850('0xc1')](_0x2adfb6[_0x5850('0x3d')][_0x5850('0xb9')]);}})[_0x5850('0x2a')](respondWithStatusCode(_0x349fef,null))[_0x5850('0x35')](handleError(_0x349fef,null));};exports[_0x5850('0xc2')]=function(_0x39ea72,_0x1adbe0){var _0x398dae=moment()[_0x5850('0xc3')]()['toString']();var _0x161200=path['join'](config[_0x5850('0xc4')],_0x5850('0xc5'),_0x5850('0xc6'),_0x5850('0xc7'));var _0x4b74c=path[_0x5850('0xc8')](config[_0x5850('0xc4')],_0x5850('0xc5'),_0x5850('0xc6'),'attachments');var _0x5dcd28=path[_0x5850('0xc8')](_0x161200,_0x398dae);var _0x5a2e6d=util['format'](_0x5850('0xc9'),_0x39ea72[_0x5850('0xb4')]['id'],_0x398dae);var _0x1a0d04=path[_0x5850('0xc8')](_0x161200,_0x5a2e6d);var _0x3a7d13=[];_0x3a7d13['push']({'model':db[_0x5850('0x6e')],'as':_0x5850('0x6e'),'attributes':['id',_0x5850('0x30')],'raw':!![]});_0x3a7d13['push']({'model':db[_0x5850('0xca')],'as':_0x5850('0xcb'),'attributes':['id',_0x5850('0xcc'),_0x5850('0xcd')],'raw':!![]});var _0x50f44e=[{'model':db['SmsMessage'],'as':_0x5850('0xce'),'attributes':['id','body','createdAt',_0x5850('0xcf'),_0x5850('0xd0'),_0x5850('0xd1')],'include':_0x3a7d13}];_0x50f44e['push']({'model':db[_0x5850('0xd2')],'as':_0x5850('0xd3'),'attributes':['id',_0x5850('0x2d')]});_0x50f44e[_0x5850('0x34')]({'model':db[_0x5850('0x6e')],'as':_0x5850('0xd4'),'attributes':['id','fullname']});return db[_0x5850('0x37')][_0x5850('0x5f')]({'where':{'id':_0x39ea72['params']['id']},'include':_0x50f44e})['then'](handleEntityNotFound(_0x1adbe0,null))[_0x5850('0x2a')](function(_0x3624aa){if(_0x3624aa){var _0x3a14e7=_0x3624aa['get']({'plain':!![]});fs['mkdirSync'](_0x5dcd28);var _0x395b90={'channel':_0x5850('0xd5'),'account':_0x3a14e7['Account'][_0x5850('0x2d')],'agent':_0x3a14e7[_0x5850('0xd4')]?_0x3a14e7[_0x5850('0xd4')][_0x5850('0x30')]:_0x5850('0xd6'),'createdAt':moment(_0x3a14e7['createdAt'])[_0x5850('0xbc')](_0x5850('0xd7'))['toString'](),'closedAt':_0x3a14e7[_0x5850('0xd8')]?moment(_0x3a14e7[_0x5850('0xd9')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0x5850('0x96')]():'','disposition':_0x3a14e7[_0x5850('0xda')],'messages':_(_0x3a14e7['Messages'])[_0x5850('0x82')]({'secret':![]})['map'](function(_0x11d194){return{'date':moment(_0x11d194['createdAt'])[_0x5850('0xbc')](_0x5850('0xd7'))['toString'](),'sender':_0x11d194[_0x5850('0xcf')]===_0x5850('0xdb')?_0x11d194[_0x5850('0x6e')]?_0x11d194[_0x5850('0x6e')][_0x5850('0x30')]:_0x5850('0xdc'):_0x11d194['Contact'][_0x5850('0xcc')]+(_0x11d194['Contact']['lastName']?'\x20'+_0x11d194['Contact'][_0x5850('0xcd')]:''),'body':_0x11d194[_0x5850('0x70')],'direction':_0x11d194[_0x5850('0xcf')]===_0x5850('0xdb')?'A':'C','secret':_0x11d194[_0x5850('0xd0')],'read':_0x11d194['read']};})['value']()};return ejs['renderFile'](path['join'](config[_0x5850('0xc4')],'server',_0x5850('0xdd'),_0x5850('0xde')),{'interaction':_0x395b90})[_0x5850('0x2a')](function(_0x1a8d85){var _0x5012b0=path[_0x5850('0xc8')](_0x5dcd28,'transcript-'+_0x3a14e7['id']+'-'+_0x398dae+_0x5850('0xdf'));var _0x491e26={'path':_0x5012b0,'channel':_0x5850('0xd5'),'interactionId':_0x3a14e7['id']};return pdf[_0x5850('0xe0')](_0x1a8d85,_0x491e26);})[_0x5850('0x2a')](function(){return new BPromise(function(_0x263ec9,_0x332e97){zipdir(_0x5dcd28,{'saveTo':_0x1a0d04},function(_0x3d6499,_0x269424){if(_0x3d6499)return _0x332e97(_0x3d6499);return _0x263ec9(_0x269424);});})['then'](function(){return new BPromise(function(_0x320dc9,_0x262087){rimraf(_0x5dcd28,function(_0x114f00){if(_0x114f00)_0x262087(_0x114f00);return _0x320dc9();});});})[_0x5850('0x2a')](function(){return _0x1adbe0['download'](_0x1a0d04,_0x5a2e6d,function(_0x3dcbc5){if(_0x3dcbc5){console[_0x5850('0xe1')](_0x5850('0xe2'),_0x3dcbc5);}else{fs[_0x5850('0xe3')](_0x1a0d04);}});});});}else{return _0x1adbe0[_0x5850('0x1d')](0xc8);}})[_0x5850('0x35')](handleError(_0x1adbe0,null));};