d7b05ac6ed50dbe5f988f73ceaa6d656a05dd07d
[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 _0x7abc=['conditions','find','unreadMessages','value','having','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','start','Tag','split','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','text','body','keys','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','t.id\x20IN\x20?','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','a.key','Account.key','a.mandatoryDisposition','i.*','c.firstName','Contact.firstName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','SmsInteractionId','push','all','rows','SmsInteraction','includeAll','include','merge','options','create','params','describe','addMessage','ids','omit','findOne','SmsMessage','pick','format','findAll','addTags','setTags','spread','emit','smsInteractionTags:save','removeTags','unix','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','CmContact','lastName','Messages','secret','SmsAccount','Account','Owner','get','mkdirSync','Sms','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','direction','out','System','firstName','views','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','download','err','unlinkSync','eml-format','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/export/pdf','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','./smsInteraction.socket','register','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','destroy','then','end','error','name','send','map','fullname','TagIds','Tags','forEach','catch','talking','answered','unmanaged','total','closed','UserId','waiting','index','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','field','color','select','u.id','u.fullname','from','user_has_sms_interactions','users','u.id\x20=\x20ui.UserId','sms_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','sms_accounts','a.id\x20=\x20i.SmsAccountId','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','search','parseSearch','sqlOperator'];(function(_0x1e52bf,_0x4cfa32){var _0x2fdc63=function(_0x243d06){while(--_0x243d06){_0x1e52bf['push'](_0x1e52bf['shift']());}};_0x2fdc63(++_0x4cfa32);}(_0x7abc,0x8e));var _0xc7ab=function(_0x3677d0,_0x2bb040){_0x3677d0=_0x3677d0-0x0;var _0x4f3d02=_0x7abc[_0x3677d0];return _0x4f3d02;};'use strict';var emlformat=require(_0xc7ab('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xc7ab('0x1'));var moment=require(_0xc7ab('0x2'));var BPromise=require(_0xc7ab('0x3'));var Mustache=require('mustache');var util=require(_0xc7ab('0x4'));var path=require(_0xc7ab('0x5'));var sox=require(_0xc7ab('0x6'));var csv=require(_0xc7ab('0x7'));var ejs=require(_0xc7ab('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xc7ab('0x9'));var crypto=require(_0xc7ab('0xa'));var jsforce=require(_0xc7ab('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xc7ab('0x7'));var querystring=require(_0xc7ab('0xc'));var Papa=require(_0xc7ab('0xd'));var Redis=require(_0xc7ab('0xe'));var authService=require(_0xc7ab('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var pdf=require(_0xc7ab('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc7ab('0x11'))(_0xc7ab('0x12'));var utils=require(_0xc7ab('0x13'));var config=require(_0xc7ab('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xc7ab('0x15'))['db'];config[_0xc7ab('0x16')]=_[_0xc7ab('0x17')](config[_0xc7ab('0x16')],{'host':_0xc7ab('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xc7ab('0x19'))[_0xc7ab('0x1a')](socket);function respondWithStatusCode(_0x33a875,_0x54cb70){_0x54cb70=_0x54cb70||0xcc;return function(_0x575975){if(_0x575975){return _0x33a875[_0xc7ab('0x1b')](_0x54cb70);}return _0x33a875[_0xc7ab('0x1c')](_0x54cb70)['end']();};}function respondWithResult(_0x577ea5,_0x28c49c){_0x28c49c=_0x28c49c||0xc8;return function(_0x254a22){if(_0x254a22){return _0x577ea5[_0xc7ab('0x1c')](_0x28c49c)[_0xc7ab('0x1d')](_0x254a22);}};}function respondWithFilteredResult(_0x58f0ec,_0x3b126c){return function(_0x286cff){if(_0x286cff){var _0x231ad1=typeof _0x3b126c[_0xc7ab('0x1e')]===_0xc7ab('0x1f')&&typeof _0x3b126c[_0xc7ab('0x20')]===_0xc7ab('0x1f');var _0x1165fa=_0x286cff['count'];var _0x9aabdb=_0x231ad1?0x0:_0x3b126c['offset'];var _0xf1f739=_0x231ad1?_0x286cff[_0xc7ab('0x21')]:_0x3b126c[_0xc7ab('0x1e')]+_0x3b126c['limit'];var _0x49d147;if(_0xf1f739>=_0x1165fa){_0xf1f739=_0x1165fa;_0x49d147=0xc8;}else{_0x49d147=0xce;}_0x58f0ec[_0xc7ab('0x1c')](_0x49d147);return _0x58f0ec[_0xc7ab('0x22')](_0xc7ab('0x23'),_0x9aabdb+'-'+_0xf1f739+'/'+_0x1165fa)[_0xc7ab('0x1d')](_0x286cff);}return null;};}function patchUpdates(_0x298eef){return function(_0x3956f8){try{jsonpatch['apply'](_0x3956f8,_0x298eef,!![]);}catch(_0xab274f){return BPromise[_0xc7ab('0x24')](_0xab274f);}return _0x3956f8[_0xc7ab('0x25')]();};}function saveUpdates(_0x54d29c,_0xe15d54){return function(_0x3c9dbd){if(_0x3c9dbd){return _0x3c9dbd[_0xc7ab('0x26')](_0x54d29c)['then'](function(_0x44915b){return _0x44915b;});}return null;};}function removeEntity(_0x9b19ff,_0x42439e){return function(_0x4c6368){if(_0x4c6368){return _0x4c6368[_0xc7ab('0x27')]()[_0xc7ab('0x28')](function(){_0x9b19ff[_0xc7ab('0x1c')](0xcc)[_0xc7ab('0x29')]();});}};}function handleEntityNotFound(_0x34be37,_0x4a0af8){return function(_0x3211cb){if(!_0x3211cb){_0x34be37['sendStatus'](0x194);}return _0x3211cb;};}function handleError(_0x6aed9e,_0x32053f){_0x32053f=_0x32053f||0x1f4;return function(_0x1d9888){logger[_0xc7ab('0x2a')](_0x1d9888['stack']);if(_0x1d9888['name']){delete _0x1d9888[_0xc7ab('0x2b')];}_0x6aed9e[_0xc7ab('0x1c')](_0x32053f)[_0xc7ab('0x2c')](_0x1d9888);};}function getInteractionUsers(_0x5426c5,_0x212086){return new BPromise(function(_0x48dd5d,_0x4bf886){try{if(_0x212086[_0x5426c5['id']]){_0x5426c5['Users']=_[_0xc7ab('0x2d')](_0x212086[_0x5426c5['id']],function(_0xfe9d1d){return{'id':_0xfe9d1d['id'],'fullname':_0xfe9d1d[_0xc7ab('0x2e')]};});}}catch(_0xfa4f6c){_0x4bf886(_0xfa4f6c);}_0x48dd5d(_0x5426c5);});}function getInteractionTags(_0xa6df31,_0x7cb64){return new BPromise(function(_0x3200d5,_0x41921b){try{if(_0xa6df31[_0xc7ab('0x2f')]){_0xa6df31[_0xc7ab('0x30')]=[];_0xa6df31[_0xc7ab('0x2f')]['split'](',')[_0xc7ab('0x31')](function(_0x7e6325){_0xa6df31[_0xc7ab('0x30')]['push'](_0x7cb64[_0x7e6325]);});}delete _0xa6df31[_0xc7ab('0x2f')];}catch(_0x56f2f1){_0x41921b(_0x56f2f1);}_0x3200d5(_0xa6df31);});}function updateSmsInteraction(_0x4d3e26,_0x5de0a3,_0x1524d4){return new BPromise(function(_0x961dca,_0x3cefaf){return getInteractionUsers(_0x4d3e26,_0x1524d4)[_0xc7ab('0x28')](function(_0x4620fb){return getInteractionTags(_0x4620fb,_0x5de0a3);})[_0xc7ab('0x28')](function(_0x4f7d01){return getStateInteraction(_0x4f7d01);})['then'](function(_0x19954c){_0x961dca(_0x19954c);})[_0xc7ab('0x32')](function(_0x4f3c57){_0x3cefaf(_0x4f3c57);});});}function getStateInteraction(_0x38676a){return new BPromise(function(_0x1e14b6){_0x38676a['waiting']=0x0;_0x38676a[_0xc7ab('0x33')]=0x0;_0x38676a[_0xc7ab('0x34')]=0x0;_0x38676a[_0xc7ab('0x35')]=0x0;_0x38676a[_0xc7ab('0x36')]=0x0;if(!_0x38676a[_0xc7ab('0x37')]&&!_0x38676a[_0xc7ab('0x38')]){_0x38676a[_0xc7ab('0x39')]+=0x1;}if(!_0x38676a[_0xc7ab('0x37')]&&_0x38676a[_0xc7ab('0x38')]){_0x38676a['talking']+=0x1;if(_0x38676a[_0xc7ab('0x39')]){_0x38676a[_0xc7ab('0x39')]-=0x1;}}if(_0x38676a[_0xc7ab('0x37')]&&_0x38676a[_0xc7ab('0x38')]){_0x38676a[_0xc7ab('0x34')]+=0x1;if(_0x38676a[_0xc7ab('0x33')]){_0x38676a[_0xc7ab('0x33')]-=0x1;}}if(_0x38676a[_0xc7ab('0x37')]&&!_0x38676a[_0xc7ab('0x38')]){_0x38676a[_0xc7ab('0x35')]+=0x1;if(_0x38676a[_0xc7ab('0x39')]){_0x38676a[_0xc7ab('0x39')]-=0x1;}}_0x38676a[_0xc7ab('0x36')]+=0x1;_0x1e14b6(_0x38676a);});}exports[_0xc7ab('0x3a')]=function(_0x5833f3,_0x37791e){var _0x5c36a6={},_0x115d23={},_0x33409f={'count':0x0,'rows':[]};var _0x2eba47=_[_0xc7ab('0x2d')](db['SmsInteraction'][_0xc7ab('0x3b')],function(_0x3779b4){return{'name':_0x3779b4[_0xc7ab('0x3c')],'type':_0x3779b4[_0xc7ab('0x3d')][_0xc7ab('0x3e')]};});_0x115d23[_0xc7ab('0x3f')]=_[_0xc7ab('0x2d')](_0x2eba47,_0xc7ab('0x2b'));_0x115d23['query']=_['keys'](_0x5833f3[_0xc7ab('0x40')]);_0x115d23[_0xc7ab('0x41')]=_[_0xc7ab('0x42')](_0x115d23[_0xc7ab('0x3f')],_0x115d23[_0xc7ab('0x40')]);_0x5c36a6[_0xc7ab('0x43')]=_['intersection'](_0x115d23[_0xc7ab('0x3f')],qs[_0xc7ab('0x44')](_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x44')]));_0x5c36a6[_0xc7ab('0x43')]=_0x5c36a6[_0xc7ab('0x43')][_0xc7ab('0x45')]?_0x5c36a6[_0xc7ab('0x43')]:_0x115d23['model'];if(!_0x5833f3['query'][_0xc7ab('0x46')](_0xc7ab('0x47'))){_0x5c36a6[_0xc7ab('0x20')]=qs['limit'](_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x20')]);_0x5c36a6[_0xc7ab('0x1e')]=qs['offset'](_0x5833f3['query']['offset']);}_0x5c36a6['order']=qs[_0xc7ab('0x48')](_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x48')]);_0x5c36a6['where']=qs[_0xc7ab('0x41')](_['pick'](_0x5833f3['query'],_0x115d23['filters']),_0x2eba47);var _0x1c1a23=[];var _0x1a968a=squel['select']()[_0xc7ab('0x49')]('id')[_0xc7ab('0x49')](_0xc7ab('0x2b'))[_0xc7ab('0x49')](_0xc7ab('0x4a'))['from']('tools_tags');var _0x4d66f5=squel[_0xc7ab('0x4b')]()['field'](_0xc7ab('0x4c'))['field'](_0xc7ab('0x4d'))['field']('ui.SmsInteractionId')[_0xc7ab('0x4e')](_0xc7ab('0x4f'),'ui')['left_join'](_0xc7ab('0x50'),'u',_0xc7ab('0x51'));var _0x5ab3d1=squel['select']()[_0xc7ab('0x4e')](_0xc7ab('0x52'),'i')[_0xc7ab('0x53')](_0xc7ab('0x54'),'c',_0xc7ab('0x55'))[_0xc7ab('0x53')](_0xc7ab('0x50'),'o',_0xc7ab('0x56'))[_0xc7ab('0x53')](_0xc7ab('0x57'),'a',_0xc7ab('0x58'))['left_join']('sms_messages','me','me.SmsInteractionId\x20=\x20i.id')[_0xc7ab('0x53')](_0xc7ab('0x59'),'it',_0xc7ab('0x5a'))[_0xc7ab('0x53')](_0xc7ab('0x5b'),'t',_0xc7ab('0x5c'));var _0x51cc76=squel['expr']();var _0x22857d=[];var _0x3482fd=squel['expr']();var _0x1b41d9;if(_0x5833f3['query'][_0xc7ab('0x5d')]){_0x1b41d9=as[_0xc7ab('0x5e')](_0x5833f3['query'][_0xc7ab('0x5d')]);var _0x36f64e=_0x1b41d9[_0xc7ab('0x5f')];for(var _0x55d238=0x0;_0x55d238<_0x1b41d9[_0xc7ab('0x60')][_0xc7ab('0x45')];_0x55d238++){var _0x3bfd89=_0x1b41d9[_0xc7ab('0x60')][_0x55d238];var _0x5da4d3='i';var _0xe3eb76=_[_0xc7ab('0x61')](_0x2eba47,[_0xc7ab('0x2b'),_0x3bfd89[_0xc7ab('0x49')]]);if(!_0xe3eb76){switch(_0x3bfd89[_0xc7ab('0x49')]){case _0xc7ab('0x62'):if(_0x3bfd89[_0xc7ab('0x63')]==0x1){_0x5ab3d1[_0xc7ab('0x64')]('`'+_0x3bfd89[_0xc7ab('0x49')]+'`\x20=\x200');}else{_0x5ab3d1[_0xc7ab('0x64')]('`'+_0x3bfd89[_0xc7ab('0x49')]+_0xc7ab('0x65'));}break;case _0xc7ab('0x66'):if(_0x3bfd89[_0xc7ab('0x67')]===_0xc7ab('0x68')){if(_0x3bfd89[_0xc7ab('0x63')]['split']('\x20')['length']>0x1){_0x51cc76[_0x36f64e](_0xc7ab('0x69'),qs[_0xc7ab('0x6a')](_0x3bfd89[_0xc7ab('0x63')]),null);}else{var _0x29ce94='%'+_0x3bfd89[_0xc7ab('0x63')]+'%';_0x51cc76[_0x36f64e]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x29ce94,_0x29ce94,_0x29ce94);}}else{_0xe3eb76=_[_0xc7ab('0x61')](_0x2eba47,['name',_0xc7ab('0x6b')]);_0x3bfd89['field']='ContactId';_0x325700=as[_0xc7ab('0x6c')](_0x5da4d3,_0xe3eb76[_0xc7ab('0x3d')],_0x3bfd89);_0x51cc76[_0x36f64e](_0x325700['text'],_0x325700['value'][_0xc7ab('0x6d')],_0x325700[_0xc7ab('0x63')][_0xc7ab('0x29')]);}break;case _0xc7ab('0x6e'):var _0x1f61e6=_0x3bfd89[_0xc7ab('0x63')][_0xc7ab('0x6f')](',')[_0xc7ab('0x2d')](function(_0x243eb5){return Number(_0x243eb5);});_0x1f61e6[_0xc7ab('0x31')](function(_0x14fdcc){_0x3482fd['or'](_0xc7ab('0x70'),'%,'+_0x14fdcc+',%');});_0x22857d=_[_0xc7ab('0x71')](_0x22857d,_0x1f61e6);break;case _0xc7ab('0x72'):if(_0x3bfd89[_0xc7ab('0x67')]===_0xc7ab('0x68')){_0x51cc76[_0x36f64e](_0xc7ab('0x73'),'%'+_0x3bfd89[_0xc7ab('0x63')]+'%',null);}else{_0xe3eb76=_['find'](_0x2eba47,[_0xc7ab('0x2b'),_0xc7ab('0x38')]);_0x3bfd89[_0xc7ab('0x49')]=_0xc7ab('0x38');_0x325700=as[_0xc7ab('0x6c')](_0x5da4d3,_0xe3eb76[_0xc7ab('0x3d')],_0x3bfd89);_0x51cc76[_0x36f64e](_0x325700[_0xc7ab('0x74')],_0x325700[_0xc7ab('0x63')][_0xc7ab('0x6d')],_0x325700[_0xc7ab('0x63')][_0xc7ab('0x29')]);}break;case _0xc7ab('0x75'):_0x325700=as[_0xc7ab('0x6c')]('me',null,_0x3bfd89);_0x51cc76[_0x36f64e](_0x325700[_0xc7ab('0x74')],_0x325700[_0xc7ab('0x63')][_0xc7ab('0x6d')],_0x325700[_0xc7ab('0x63')][_0xc7ab('0x29')]);break;}}else{var _0x325700=as[_0xc7ab('0x6c')](_0x5da4d3,_0xe3eb76['type'],_0x3bfd89);_0x51cc76[_0x36f64e](_0x325700[_0xc7ab('0x74')],_0x325700[_0xc7ab('0x63')][_0xc7ab('0x6d')],_0x325700[_0xc7ab('0x63')][_0xc7ab('0x29')]);}}}else{var _0x374cbb=_(_0x5833f3[_0xc7ab('0x40')])[_0xc7ab('0x76')]()[_0xc7ab('0x2d')](function(_0x46ed0f){return _['some'](_0x2eba47,[_0xc7ab('0x2b'),_0x46ed0f])?_0x46ed0f:undefined;})['compact']()[_0xc7ab('0x63')]();if(!_[_0xc7ab('0x77')](_0x374cbb)){_0x374cbb[_0xc7ab('0x31')](function(_0x213ceb){if(_0x213ceb===_0xc7ab('0x78')){_0x5ab3d1['where'](_0xc7ab('0x79'),[][_0xc7ab('0x7a')](_0x5833f3['query'][_0x213ceb]));}else if(_0x213ceb===_0xc7ab('0x7b')){var _0x518566=JSON[_0xc7ab('0x7c')](_0x5833f3[_0xc7ab('0x40')][_0x213ceb])[_0xc7ab('0x7d')];var _0x1f2737=JSON['parse'](_0x5833f3[_0xc7ab('0x40')][_0x213ceb])[_0xc7ab('0x7e')];_0x5ab3d1[_0xc7ab('0x7f')](_0xc7ab('0x80'),_0x518566,_0x1f2737);}else{if(_0x5833f3['query'][_0x213ceb]===_0xc7ab('0x81')){_0x5ab3d1[_0xc7ab('0x7f')]('i.'+_0x213ceb+_0xc7ab('0x82'));}else{_0x5ab3d1[_0xc7ab('0x7f')]('i.'+_0x213ceb+_0xc7ab('0x83'),_0x5833f3['query'][_0x213ceb]);}}});}if(_0x5833f3[_0xc7ab('0x40')]['read']){if(_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x84')]==0x1){_0x5ab3d1[_0xc7ab('0x64')]('`unreadMessages`\x20=\x200');}else{_0x5ab3d1[_0xc7ab('0x64')](_0xc7ab('0x85'));}}if(_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x86')]){_0x22857d=_[_0xc7ab('0x87')](_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x86')])?_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x86')]:new Array(_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x86')]);_0x22857d['forEach'](function(_0x4a681d){_0x3482fd['or'](_0xc7ab('0x70'),'%,'+_0x4a681d+',%');});}if(_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x88')]){var _0x57c764=_0x5833f3[_0xc7ab('0x40')]['filter'][_0xc7ab('0x89')]('\x5c','\x5c\x5c')[_0xc7ab('0x89')](/'/g,'\x27\x27');if(qs[_0xc7ab('0x8a')](_0x57c764)){_0x51cc76['or'](_0xc7ab('0x8b'),_0x57c764+'%')['or'](_0xc7ab('0x8c'),_0x57c764+'%');}else{_0x51cc76['or'](_0xc7ab('0x8d'),qs[_0xc7ab('0x6a')](_0x57c764))['or'](_0xc7ab('0x8e'),_0x57c764+'%');}}}_0x5ab3d1[_0xc7ab('0x7f')](_0x51cc76);_0x5ab3d1[_0xc7ab('0x8f')](_0xc7ab('0x90'));var _0x1fb6e1={'type':db[_0xc7ab('0x91')][_0xc7ab('0x92')][_0xc7ab('0x93')],'raw':!![]};var _0x1858ba=_0x5ab3d1[_0xc7ab('0x94')]();_0x1858ba[_0xc7ab('0x49')](_0xc7ab('0x90'));_0x1858ba[_0xc7ab('0x49')](_0xc7ab('0x95'),_0xc7ab('0x62'));if(_0x5c36a6['order']){_0x5c36a6[_0xc7ab('0x96')][_0xc7ab('0x31')](function(_0x3af06b){var _0x1a20ee=_0x3af06b[0x0]===_0xc7ab('0x97')?_0x3af06b[0x0]:'i.'+_0x3af06b[0x0];_0x5ab3d1[_0xc7ab('0x96')](_0x1a20ee,_0x3af06b[0x1]==='DESC'?![]:!![]);});}if(!_[_0xc7ab('0x77')](_0x22857d)){_0x5ab3d1[_0xc7ab('0x64')](_0x3482fd);_0x1858ba[_0xc7ab('0x7f')](_0xc7ab('0x98'),_0x22857d);}BPromise['resolve']()[_0xc7ab('0x28')](function(){if(!_0x1b41d9){if(_0x5833f3['query']['SmsAccountId'])return;_0x1858ba[_0xc7ab('0x7f')](_0xc7ab('0x99'));_0x5ab3d1['where'](_0xc7ab('0x99'));return;}if(_0x5833f3[_0xc7ab('0x9a')][_0xc7ab('0x9b')]!==_0xc7ab('0x9c'))return;return _0x5833f3[_0xc7ab('0x9a')][_0xc7ab('0x9d')]({'attributes':['id'],'raw':!![]})['then'](function(_0x3c6e43){if(_[_0xc7ab('0x77')](_0x3c6e43)){_0x1858ba[_0xc7ab('0x7f')](_0xc7ab('0x9e'));_0x5ab3d1[_0xc7ab('0x7f')](_0xc7ab('0x9e'));}else{_0x1858ba['where'](_0xc7ab('0x79'),_[_0xc7ab('0x2d')](_0x3c6e43,'id'));_0x5ab3d1[_0xc7ab('0x7f')](_0xc7ab('0x79'),_[_0xc7ab('0x2d')](_0x3c6e43,'id'));}});})[_0xc7ab('0x28')](function(){if(_0x5833f3['user'][_0xc7ab('0x9b')]===_0xc7ab('0x9c')&&!_0x1b41d9&&!_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x78')])return[];return db[_0xc7ab('0x9f')][_0xc7ab('0x40')](_0x1858ba[_0xc7ab('0xa0')](),_0x1fb6e1);})[_0xc7ab('0x28')](function(_0xcfe681){_0x33409f[_0xc7ab('0x21')]=_0xcfe681[_0xc7ab('0x45')];if(_0x33409f['count']===0x0)return[];return db['sequelize'][_0xc7ab('0x40')](_0x1a968a[_0xc7ab('0xa0')](),_0x1fb6e1)[_0xc7ab('0x28')](function(_0x31c4b5){_0x1c1a23=_[_0xc7ab('0xa1')](_0x31c4b5,'id');_0x1fb6e1=_['merge'](_0x1fb6e1,{'model':db['SmsInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5833f3[_0xc7ab('0x40')][_0xc7ab('0x44')]){_0x5c36a6['attributes'][_0xc7ab('0x31')](function(_0x2420ad){_0x5ab3d1[_0xc7ab('0x49')]('i.'+_0x2420ad);});}else{_0x5ab3d1[_0xc7ab('0x49')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');_0x5ab3d1[_0xc7ab('0x49')](_0xc7ab('0xa2'),_0xc7ab('0xa3'));_0x5ab3d1[_0xc7ab('0x49')](_0xc7ab('0xa4'),'Account.mandatoryDisposition');_0x5ab3d1[_0xc7ab('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',_0xc7ab('0x97'));_0x5ab3d1[_0xc7ab('0x49')](_0xc7ab('0xa5'));_0x5ab3d1['field'](_0xc7ab('0xa6'),_0xc7ab('0xa7'));_0x5ab3d1[_0xc7ab('0x49')]('c.lastName','Contact.lastName');_0x5ab3d1[_0xc7ab('0x49')]('c.email',_0xc7ab('0xa8'));_0x5ab3d1[_0xc7ab('0x49')](_0xc7ab('0xa9'),_0xc7ab('0xaa'));_0x5ab3d1['field'](_0xc7ab('0xab'),_0xc7ab('0xac'));_0x5ab3d1['field'](_0xc7ab('0xad'),'Contact.fax');_0x5ab3d1[_0xc7ab('0x49')](_0xc7ab('0xae'),_0xc7ab('0xaf'));_0x5ab3d1[_0xc7ab('0x49')](_0xc7ab('0xb0'),_0xc7ab('0xb1'));_0x5ab3d1[_0xc7ab('0x49')](_0xc7ab('0xb2'),_0xc7ab('0x2f'));}if(_0x5c36a6['limit'])_0x5ab3d1[_0xc7ab('0x20')](_0x5c36a6[_0xc7ab('0x20')]);if(_0x5c36a6[_0xc7ab('0x1e')])_0x5ab3d1[_0xc7ab('0x1e')](_0x5c36a6['offset']);return db[_0xc7ab('0x9f')][_0xc7ab('0x40')](_0x5ab3d1['toString'](),_0x1fb6e1);})[_0xc7ab('0x28')](function(_0x3c4c63){if(_0x3c4c63['length']>0x0)_0x4d66f5['where']('ui.SmsInteractionId\x20IN\x20?',_[_0xc7ab('0x2d')](_0x3c4c63,'id'));return db[_0xc7ab('0x9f')][_0xc7ab('0x40')](_0x4d66f5[_0xc7ab('0xa0')](),_0x1fb6e1)[_0xc7ab('0x28')](function(_0x1dec77){var _0x56e768=_['groupBy'](_0x1dec77,_0xc7ab('0xb3'));var _0x384644=[];_0x3c4c63[_0xc7ab('0x31')](function(_0x17be17){_0x384644[_0xc7ab('0xb4')](updateSmsInteraction(_0x17be17,_0x1c1a23,_0x56e768));});return BPromise[_0xc7ab('0xb5')](_0x384644);});});})['then'](function(_0x52a895){_0x33409f[_0xc7ab('0xb6')]=_0x52a895;return _0x33409f;})[_0xc7ab('0x28')](respondWithFilteredResult(_0x37791e,_0x5c36a6))[_0xc7ab('0x32')](handleError(_0x37791e,null));};exports['show']=function(_0xa0f31b,_0x41b79c){var _0x1a18e3={'raw':![],'where':{'id':_0xa0f31b['params']['id']}},_0x51521d={};_0x51521d[_0xc7ab('0x3f')]=_[_0xc7ab('0x76')](db[_0xc7ab('0xb7')][_0xc7ab('0x3b')]);_0x51521d['query']=_[_0xc7ab('0x76')](_0xa0f31b[_0xc7ab('0x40')]);_0x51521d[_0xc7ab('0x41')]=_[_0xc7ab('0x42')](_0x51521d[_0xc7ab('0x3f')],_0x51521d[_0xc7ab('0x40')]);_0x1a18e3[_0xc7ab('0x43')]=_['intersection'](_0x51521d[_0xc7ab('0x3f')],qs[_0xc7ab('0x44')](_0xa0f31b['query']['fields']));_0x1a18e3[_0xc7ab('0x43')]=_0x1a18e3['attributes']['length']?_0x1a18e3[_0xc7ab('0x43')]:_0x51521d[_0xc7ab('0x3f')];if(_0xa0f31b[_0xc7ab('0x40')][_0xc7ab('0xb8')]){_0x1a18e3[_0xc7ab('0xb9')]=[{'all':!![]}];}_0x1a18e3=_[_0xc7ab('0xba')]({},_0x1a18e3,_0xa0f31b[_0xc7ab('0xbb')]);return db[_0xc7ab('0xb7')][_0xc7ab('0x61')](_0x1a18e3)[_0xc7ab('0x28')](handleEntityNotFound(_0x41b79c,null))['then'](respondWithResult(_0x41b79c,null))['catch'](handleError(_0x41b79c,null));};exports[_0xc7ab('0xbc')]=function(_0x4fd29d,_0x486418){return db[_0xc7ab('0xb7')][_0xc7ab('0xbc')](_0x4fd29d['body'],{})[_0xc7ab('0x28')](respondWithResult(_0x486418,0xc9))[_0xc7ab('0x32')](handleError(_0x486418,null));};exports[_0xc7ab('0x26')]=function(_0x209ec8,_0x52b9a8){if(_0x209ec8['body']['id']){delete _0x209ec8[_0xc7ab('0x75')]['id'];}return db[_0xc7ab('0xb7')][_0xc7ab('0x61')]({'where':{'id':_0x209ec8[_0xc7ab('0xbd')]['id']}})[_0xc7ab('0x28')](handleEntityNotFound(_0x52b9a8,null))[_0xc7ab('0x28')](saveUpdates(_0x209ec8['body'],null))[_0xc7ab('0x28')](respondWithResult(_0x52b9a8,null))[_0xc7ab('0x32')](handleError(_0x52b9a8,null));};exports[_0xc7ab('0x27')]=function(_0x323707,_0xdb0975){return db[_0xc7ab('0xb7')][_0xc7ab('0x61')]({'where':{'id':_0x323707[_0xc7ab('0xbd')]['id']}})[_0xc7ab('0x28')](handleEntityNotFound(_0xdb0975,null))[_0xc7ab('0x28')](removeEntity(_0xdb0975,null))[_0xc7ab('0x32')](handleError(_0xdb0975,null));};exports[_0xc7ab('0xbe')]=function(_0x2fe3cd,_0x4d208b){return db[_0xc7ab('0xb7')]['describe']()[_0xc7ab('0x28')](respondWithResult(_0x4d208b,null))[_0xc7ab('0x32')](handleError(_0x4d208b,null));};exports[_0xc7ab('0xbf')]=function(_0x4313f0,_0x103191,_0x1b9536){return db['SmsMessage']['find']({'where':{'id':_0x4313f0[_0xc7ab('0xbd')]['id']}})[_0xc7ab('0x28')](handleEntityNotFound(_0x103191,null))[_0xc7ab('0x28')](function(_0x3a30ec){if(_0x3a30ec){return _0x3a30ec['addMessage'](_0x4313f0[_0xc7ab('0x75')][_0xc7ab('0xc0')],_[_0xc7ab('0xc1')](_0x4313f0[_0xc7ab('0x75')],[_0xc7ab('0xc0'),'id'])||{});}})[_0xc7ab('0x28')](respondWithResult(_0x103191,null))[_0xc7ab('0x32')](handleError(_0x103191,null));};exports['getMessages']=function(_0x46af8c,_0x4fe22c,_0x32a620){var _0x2789c2={'raw':![],'where':{}};var _0x1df14a={};var _0x1fe972={'count':0x0,'rows':[]};return db[_0xc7ab('0xb7')][_0xc7ab('0xc2')]({'where':{'id':_0x46af8c[_0xc7ab('0xbd')]['id']}})[_0xc7ab('0x28')](handleEntityNotFound(_0x4fe22c,null))[_0xc7ab('0x28')](function(_0x3c798b){if(_0x3c798b){_0x1df14a[_0xc7ab('0x3f')]=_['keys'](db[_0xc7ab('0xc3')]['rawAttributes']);_0x1df14a['query']=_[_0xc7ab('0x76')](_0x46af8c[_0xc7ab('0x40')]);_0x1df14a['filters']=_[_0xc7ab('0x42')](_0x1df14a[_0xc7ab('0x3f')],_0x1df14a[_0xc7ab('0x40')]);_0x2789c2[_0xc7ab('0x43')]=_[_0xc7ab('0x42')](_0x1df14a[_0xc7ab('0x3f')],qs[_0xc7ab('0x44')](_0x46af8c['query'][_0xc7ab('0x44')]));_0x2789c2[_0xc7ab('0x43')]=_0x2789c2['attributes'][_0xc7ab('0x45')]?_0x2789c2[_0xc7ab('0x43')]:_0x1df14a[_0xc7ab('0x3f')];if(!_0x46af8c[_0xc7ab('0x40')][_0xc7ab('0x46')](_0xc7ab('0x47'))){_0x2789c2[_0xc7ab('0x20')]=qs[_0xc7ab('0x20')](_0x46af8c[_0xc7ab('0x40')][_0xc7ab('0x20')]);_0x2789c2['offset']=qs[_0xc7ab('0x1e')](_0x46af8c['query']['offset']);}_0x2789c2[_0xc7ab('0x96')]=qs[_0xc7ab('0x48')](_0x46af8c['query'][_0xc7ab('0x48')]);_0x2789c2['where']=qs[_0xc7ab('0x41')](_[_0xc7ab('0xc4')](_0x46af8c[_0xc7ab('0x40')],_0x1df14a['filters']));_0x2789c2[_0xc7ab('0x7f')][_0xc7ab('0xb3')]=_0x3c798b['id'];if(_0x46af8c[_0xc7ab('0x40')][_0xc7ab('0x88')]){_0x2789c2[_0xc7ab('0x7f')]=_['merge'](_0x2789c2[_0xc7ab('0x7f')],{'$or':_[_0xc7ab('0x2d')](_0x2789c2[_0xc7ab('0x43')],function(_0x3babd0){var _0x4fc0c8={};_0x4fc0c8[_0x3babd0]={'$like':'%'+_0x46af8c[_0xc7ab('0x40')][_0xc7ab('0x88')]+'%'};return _0x4fc0c8;})});}if(_0x46af8c['query'][_0xc7ab('0x7d')]){var _0x2686e0=_0x46af8c[_0xc7ab('0x40')][_0xc7ab('0x7d')][_0xc7ab('0x6f')](',');var _0x29680c={};_0x29680c[_0x2686e0[0x0]]={'$gte':moment(_0x2686e0[0x1])[_0xc7ab('0xc5')]('YYYY-MM-DD\x20HH:mm:ss')};_0x2789c2['where']=_[_0xc7ab('0xba')](_0x2789c2[_0xc7ab('0x7f')],_0x29680c);}_0x2789c2=_['merge']({},_0x2789c2,_0x46af8c[_0xc7ab('0xbb')]);return db['SmsMessage'][_0xc7ab('0x21')]({'where':_0x2789c2[_0xc7ab('0x7f')]})[_0xc7ab('0x28')](function(_0x522ea0){_0x1fe972[_0xc7ab('0x21')]=_0x522ea0;if(_0x46af8c[_0xc7ab('0x40')]['includeAll']){_0x2789c2[_0xc7ab('0xb9')]=[{'all':!![]}];}return db[_0xc7ab('0xc3')][_0xc7ab('0xc6')](_0x2789c2);})[_0xc7ab('0x28')](function(_0x223573){_0x1fe972[_0xc7ab('0xb6')]=_0x223573;return _0x1fe972;});}})['then'](respondWithFilteredResult(_0x4fe22c,_0x2789c2))['catch'](handleError(_0x4fe22c,null));};exports[_0xc7ab('0xc7')]=function(_0x5ccf42,_0x3dc70d,_0x3a3f08){return db[_0xc7ab('0xb7')][_0xc7ab('0x61')]({'where':{'id':_0x5ccf42[_0xc7ab('0xbd')]['id']}})['then'](handleEntityNotFound(_0x3dc70d,null))[_0xc7ab('0x28')](function(_0x520378){if(_0x520378){return _0x520378[_0xc7ab('0xc8')](_0x5ccf42[_0xc7ab('0x75')][_0xc7ab('0xc0')],_['omit'](_0x5ccf42['body'],[_0xc7ab('0xc0'),'id'])||{})[_0xc7ab('0xc9')](function(){return db[_0xc7ab('0x6e')][_0xc7ab('0xc6')]({'attributes':['id',_0xc7ab('0x2b'),'color'],'where':{'id':_0x5ccf42[_0xc7ab('0x75')][_0xc7ab('0xc0')]}});})[_0xc7ab('0x28')](function(_0x1c8f44){socket[_0xc7ab('0xca')](_0xc7ab('0xcb'),{'id':Number(_0x5ccf42[_0xc7ab('0xbd')]['id']),'tags':_0x1c8f44||[]});return{'id':Number(_0x5ccf42['params']['id']),'tags':_0x1c8f44||[]};});}})[_0xc7ab('0x28')](respondWithResult(_0x3dc70d,null))[_0xc7ab('0x32')](handleError(_0x3dc70d,null));};exports[_0xc7ab('0xcc')]=function(_0x1f2b4a,_0x594be7,_0x477e35){return db['SmsInteraction']['find']({'where':{'id':_0x1f2b4a['params']['id']}})[_0xc7ab('0x28')](handleEntityNotFound(_0x594be7,null))[_0xc7ab('0x28')](function(_0x2b4683){if(_0x2b4683){return _0x2b4683[_0xc7ab('0xcc')](_0x1f2b4a[_0xc7ab('0x40')]['ids']);}})[_0xc7ab('0x28')](respondWithStatusCode(_0x594be7,null))[_0xc7ab('0x32')](handleError(_0x594be7,null));};exports['download']=function(_0x14513a,_0x46538a){var _0x4b4ef5=moment()[_0xc7ab('0xcd')]()[_0xc7ab('0xa0')]();var _0x50e08f=path[_0xc7ab('0xce')](config[_0xc7ab('0xcf')],_0xc7ab('0xd0'),_0xc7ab('0xd1'),_0xc7ab('0xd2'));var _0x31ac3f=path[_0xc7ab('0xce')](config['root'],_0xc7ab('0xd0'),_0xc7ab('0xd1'),_0xc7ab('0xd3'));var _0x3355e3=path[_0xc7ab('0xce')](_0x50e08f,_0x4b4ef5);var _0x57bf52=util[_0xc7ab('0xc5')](_0xc7ab('0xd4'),_0x14513a[_0xc7ab('0xbd')]['id'],_0x4b4ef5);var _0xc5e93b=path[_0xc7ab('0xce')](_0x50e08f,_0x57bf52);var _0x4bce87=[];_0x4bce87['push']({'model':db['User'],'as':_0xc7ab('0x72'),'attributes':['id',_0xc7ab('0x2e')],'raw':!![]});_0x4bce87['push']({'model':db[_0xc7ab('0xd5')],'as':_0xc7ab('0x66'),'attributes':['id','firstName',_0xc7ab('0xd6')],'raw':!![]});var _0x2d0b29=[{'model':db[_0xc7ab('0xc3')],'as':_0xc7ab('0xd7'),'attributes':['id',_0xc7ab('0x75'),'createdAt','direction',_0xc7ab('0xd8'),'read'],'include':_0x4bce87}];_0x2d0b29[_0xc7ab('0xb4')]({'model':db[_0xc7ab('0xd9')],'as':_0xc7ab('0xda'),'attributes':['id',_0xc7ab('0x2b')]});_0x2d0b29[_0xc7ab('0xb4')]({'model':db[_0xc7ab('0x72')],'as':_0xc7ab('0xdb'),'attributes':['id','fullname']});return db[_0xc7ab('0xb7')][_0xc7ab('0x61')]({'where':{'id':_0x14513a[_0xc7ab('0xbd')]['id']},'include':_0x2d0b29})['then'](handleEntityNotFound(_0x46538a,null))['then'](function(_0x20cb5b){if(_0x20cb5b){var _0x4b762a=_0x20cb5b[_0xc7ab('0xdc')]({'plain':!![]});fs[_0xc7ab('0xdd')](_0x3355e3);var _0xd72eb={'channel':_0xc7ab('0xde'),'account':_0x4b762a[_0xc7ab('0xda')][_0xc7ab('0x2b')],'agent':_0x4b762a[_0xc7ab('0xdb')]?_0x4b762a[_0xc7ab('0xdb')][_0xc7ab('0x2e')]:'N.A.','createdAt':moment(_0x4b762a[_0xc7ab('0x7b')])[_0xc7ab('0xc5')](_0xc7ab('0xdf'))[_0xc7ab('0xa0')](),'closedAt':_0x4b762a[_0xc7ab('0x37')]?moment(_0x4b762a[_0xc7ab('0xe0')])[_0xc7ab('0xc5')]('YYYY-MM-DD\x20HH:mm:ss')[_0xc7ab('0xa0')]():'','disposition':_0x4b762a[_0xc7ab('0xe1')],'messages':_(_0x4b762a['Messages'])[_0xc7ab('0x88')]({'secret':![]})[_0xc7ab('0x2d')](function(_0x10ce8c){return{'date':moment(_0x10ce8c[_0xc7ab('0x7b')])['format'](_0xc7ab('0xdf'))[_0xc7ab('0xa0')](),'sender':_0x10ce8c[_0xc7ab('0xe2')]===_0xc7ab('0xe3')?_0x10ce8c[_0xc7ab('0x72')]?_0x10ce8c['User'][_0xc7ab('0x2e')]:_0xc7ab('0xe4'):_0x10ce8c['Contact'][_0xc7ab('0xe5')]+(_0x10ce8c[_0xc7ab('0x66')][_0xc7ab('0xd6')]?'\x20'+_0x10ce8c[_0xc7ab('0x66')][_0xc7ab('0xd6')]:''),'body':_0x10ce8c[_0xc7ab('0x75')],'direction':_0x10ce8c[_0xc7ab('0xe2')]==='out'?'A':'C','secret':_0x10ce8c[_0xc7ab('0xd8')],'read':_0x10ce8c[_0xc7ab('0x84')]};})[_0xc7ab('0x63')]()};return ejs['renderFile'](path[_0xc7ab('0xce')](config[_0xc7ab('0xcf')],_0xc7ab('0xd0'),_0xc7ab('0xe6'),_0xc7ab('0xe7')),{'interaction':_0xd72eb})['then'](function(_0x4b0bc0){var _0x4b261b=path[_0xc7ab('0xce')](_0x3355e3,_0xc7ab('0xe8')+_0x4b762a['id']+'-'+_0x4b4ef5+_0xc7ab('0xe9'));var _0x119ab7={'path':_0x4b261b,'channel':_0xc7ab('0xde'),'interactionId':_0x4b762a['id']};return pdf[_0xc7ab('0xea')](_0x4b0bc0,_0x119ab7);})[_0xc7ab('0x28')](function(){return new BPromise(function(_0xcb21db,_0x3a0baf){zipdir(_0x3355e3,{'saveTo':_0xc5e93b},function(_0x6c3d06,_0x34bfb2){if(_0x6c3d06)return _0x3a0baf(_0x6c3d06);return _0xcb21db(_0x34bfb2);});})[_0xc7ab('0x28')](function(){return new BPromise(function(_0xbaed62,_0x4db416){rimraf(_0x3355e3,function(_0x5ca030){if(_0x5ca030)_0x4db416(_0x5ca030);return _0xbaed62();});});})[_0xc7ab('0x28')](function(){return _0x46538a[_0xc7ab('0xeb')](_0xc5e93b,_0x57bf52,function(_0x26103c){if(_0x26103c){console['log'](_0xc7ab('0xec'),_0x26103c);}else{fs[_0xc7ab('0xed')](_0xc5e93b);}});});});}else{return _0x46538a[_0xc7ab('0x1b')](0xc8);}})[_0xc7ab('0x32')](handleError(_0x46538a,null));};