b02e569a334ce4c1e7fe5e7ca462a878a7583f74
[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 _0xf805=['isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','DESC','user','role','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','agent','sequelize','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','contactName','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','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)','toString','ui.SmsInteractionId\x20IN\x20?','groupBy','all','rows','show','includeAll','include','options','create','params','SmsMessage','ids','omit','nolimit','SmsInteractionId','format','findAll','addTags','setTags','spread','Tag','removeTags','unix','root','server','files','join','transcript-%d-%s.zip','push','CmContact','firstName','lastName','Messages','direction','secret','read','SmsAccount','Owner','get','mkdirSync','Account','N.A.','closed','closedAt','disposition','out','System','renderFile','downloadInteraction.ejs','transcript-','Sms','createPdfFromHTML','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/logger','../../config/utils','../../config/license/util','redis','localhost','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','update','then','destroy','error','stack','name','send','Users','map','fullname','TagIds','Tags','forEach','catch','index','SmsInteraction','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','select','field','color','u.id','ui.SmsInteractionId','from','users','u.id\x20=\x20ui.UserId','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','it.SmsInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','type','start','split','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','$substring','UserId','buildExpression','text','body','some','compact','isEmpty','SmsAccountId','where','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace'];(function(_0x56f64e,_0x2a08c0){var _0x2fa8cb=function(_0xcb00eb){while(--_0xcb00eb){_0x56f64e['push'](_0x56f64e['shift']());}};_0x2fa8cb(++_0x2a08c0);}(_0xf805,0x147));var _0x5f80=function(_0x1dd8d4,_0x3b784b){_0x1dd8d4=_0x1dd8d4-0x0;var _0xd023c2=_0xf805[_0x1dd8d4];return _0xd023c2;};'use strict';var emlformat=require(_0x5f80('0x0'));var rimraf=require(_0x5f80('0x1'));var zipdir=require(_0x5f80('0x2'));var jsonpatch=require(_0x5f80('0x3'));var rp=require(_0x5f80('0x4'));var moment=require(_0x5f80('0x5'));var BPromise=require(_0x5f80('0x6'));var Mustache=require('mustache');var util=require(_0x5f80('0x7'));var path=require(_0x5f80('0x8'));var sox=require(_0x5f80('0x9'));var csv=require(_0x5f80('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x5f80('0xb'));var squel=require(_0x5f80('0xc'));var crypto=require(_0x5f80('0xd'));var jsforce=require(_0x5f80('0xe'));var deskjs=require(_0x5f80('0xf'));var toCsv=require('to-csv');var querystring=require(_0x5f80('0x10'));var Papa=require(_0x5f80('0x11'));var Redis=require(_0x5f80('0x12'));var authService=require(_0x5f80('0x13'));var qs=require(_0x5f80('0x14'));var as=require(_0x5f80('0x15'));var pdf=require(_0x5f80('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5f80('0x17'))('api');var utils=require(_0x5f80('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x5f80('0x19'));var db=require('../../mysqldb')['db'];config[_0x5f80('0x1a')]=_['defaults'](config[_0x5f80('0x1a')],{'host':_0x5f80('0x1b'),'port':0x18eb});var socket=require(_0x5f80('0x1c'))(new Redis(config[_0x5f80('0x1a')]));require(_0x5f80('0x1d'))[_0x5f80('0x1e')](socket);function respondWithStatusCode(_0xebc087,_0x4862f0){_0x4862f0=_0x4862f0||0xcc;return function(_0x9195a6){if(_0x9195a6){return _0xebc087[_0x5f80('0x1f')](_0x4862f0);}return _0xebc087[_0x5f80('0x20')](_0x4862f0)[_0x5f80('0x21')]();};}function respondWithResult(_0x4b7db6,_0xfa5361){_0xfa5361=_0xfa5361||0xc8;return function(_0x490187){if(_0x490187){return _0x4b7db6['status'](_0xfa5361)[_0x5f80('0x22')](_0x490187);}};}function respondWithFilteredResult(_0x27202f,_0x46115c){return function(_0x176eec){if(_0x176eec){var _0x18254f=typeof _0x46115c[_0x5f80('0x23')]==='undefined'&&typeof _0x46115c['limit']===_0x5f80('0x24');var _0x1545c2=_0x176eec[_0x5f80('0x25')];var _0x3106f4=_0x18254f?0x0:_0x46115c[_0x5f80('0x23')];var _0x30a415=_0x18254f?_0x176eec[_0x5f80('0x25')]:_0x46115c[_0x5f80('0x23')]+_0x46115c[_0x5f80('0x26')];var _0x364499;if(_0x30a415>=_0x1545c2){_0x30a415=_0x1545c2;_0x364499=0xc8;}else{_0x364499=0xce;}_0x27202f['status'](_0x364499);return _0x27202f[_0x5f80('0x27')](_0x5f80('0x28'),_0x3106f4+'-'+_0x30a415+'/'+_0x1545c2)['json'](_0x176eec);}return null;};}function patchUpdates(_0xc02c1d){return function(_0xb37d9b){try{jsonpatch[_0x5f80('0x29')](_0xb37d9b,_0xc02c1d,!![]);}catch(_0x394f9b){return BPromise['reject'](_0x394f9b);}return _0xb37d9b['save']();};}function saveUpdates(_0xcdd97e,_0x48de57){return function(_0x558964){if(_0x558964){return _0x558964[_0x5f80('0x2a')](_0xcdd97e)[_0x5f80('0x2b')](function(_0x43f95c){return _0x43f95c;});}return null;};}function removeEntity(_0x2012d5,_0x134b5b){return function(_0xae2cef){if(_0xae2cef){return _0xae2cef[_0x5f80('0x2c')]()['then'](function(){_0x2012d5['status'](0xcc)[_0x5f80('0x21')]();});}};}function handleEntityNotFound(_0x290c87,_0x1db803){return function(_0x323fa6){if(!_0x323fa6){_0x290c87[_0x5f80('0x1f')](0x194);}return _0x323fa6;};}function handleError(_0x804344,_0x34ca6f){_0x34ca6f=_0x34ca6f||0x1f4;return function(_0x2254f2){logger[_0x5f80('0x2d')](_0x2254f2[_0x5f80('0x2e')]);if(_0x2254f2[_0x5f80('0x2f')]){delete _0x2254f2['name'];}_0x804344[_0x5f80('0x20')](_0x34ca6f)[_0x5f80('0x30')](_0x2254f2);};}function getInteractionUsers(_0x5db698,_0x477230){return new BPromise(function(_0x3307b9,_0x36e58b){try{if(_0x477230[_0x5db698['id']]){_0x5db698[_0x5f80('0x31')]=_[_0x5f80('0x32')](_0x477230[_0x5db698['id']],function(_0x7f5196){return{'id':_0x7f5196['id'],'fullname':_0x7f5196[_0x5f80('0x33')]};});}}catch(_0xc26ca7){_0x36e58b(_0xc26ca7);}_0x3307b9(_0x5db698);});}function getInteractionTags(_0x22738d,_0x1cc7c5){return new BPromise(function(_0x109797,_0x3605b4){try{if(_0x22738d[_0x5f80('0x34')]){_0x22738d[_0x5f80('0x35')]=[];_0x22738d[_0x5f80('0x34')]['split'](',')[_0x5f80('0x36')](function(_0x1212dd){_0x22738d[_0x5f80('0x35')]['push'](_0x1cc7c5[_0x1212dd]);});}delete _0x22738d[_0x5f80('0x34')];}catch(_0x466f3f){_0x3605b4(_0x466f3f);}_0x109797(_0x22738d);});}function updateSmsInteraction(_0x24fcad,_0x409ae6,_0x109170){return new BPromise(function(_0x37bfdd,_0x1218f8){return getInteractionUsers(_0x24fcad,_0x109170)['then'](function(_0x136d24){return getInteractionTags(_0x136d24,_0x409ae6);})['then'](function(_0x1a9550){_0x37bfdd(_0x1a9550);})[_0x5f80('0x37')](function(_0x3b8451){_0x1218f8(_0x3b8451);});});}exports[_0x5f80('0x38')]=function(_0x5a4e80,_0x36501e){var _0x3153ed={},_0x4129c3={},_0x4b58b9={'count':0x0,'rows':[]};var _0x15526=_[_0x5f80('0x32')](db[_0x5f80('0x39')][_0x5f80('0x3a')],function(_0x1b93bf){return{'name':_0x1b93bf[_0x5f80('0x3b')],'type':_0x1b93bf['type'][_0x5f80('0x3c')]};});_0x4129c3[_0x5f80('0x3d')]=_['map'](_0x15526,_0x5f80('0x2f'));_0x4129c3[_0x5f80('0x3e')]=_[_0x5f80('0x3f')](_0x5a4e80[_0x5f80('0x3e')]);_0x4129c3[_0x5f80('0x40')]=_[_0x5f80('0x41')](_0x4129c3[_0x5f80('0x3d')],_0x4129c3[_0x5f80('0x3e')]);_0x3153ed[_0x5f80('0x42')]=_[_0x5f80('0x41')](_0x4129c3[_0x5f80('0x3d')],qs[_0x5f80('0x43')](_0x5a4e80[_0x5f80('0x3e')][_0x5f80('0x43')]));_0x3153ed[_0x5f80('0x42')]=_0x3153ed[_0x5f80('0x42')][_0x5f80('0x44')]?_0x3153ed[_0x5f80('0x42')]:_0x4129c3[_0x5f80('0x3d')];if(!_0x5a4e80[_0x5f80('0x3e')][_0x5f80('0x45')]('nolimit')){_0x3153ed[_0x5f80('0x26')]=qs[_0x5f80('0x26')](_0x5a4e80[_0x5f80('0x3e')][_0x5f80('0x26')]);_0x3153ed[_0x5f80('0x23')]=qs[_0x5f80('0x23')](_0x5a4e80['query'][_0x5f80('0x23')]);}_0x3153ed[_0x5f80('0x46')]=qs[_0x5f80('0x47')](_0x5a4e80[_0x5f80('0x3e')]['sort']);_0x3153ed['where']=qs[_0x5f80('0x40')](_[_0x5f80('0x48')](_0x5a4e80[_0x5f80('0x3e')],_0x4129c3[_0x5f80('0x40')]),_0x15526);var _0xba1195=[];var _0x34166d=squel[_0x5f80('0x49')]()[_0x5f80('0x4a')]('id')['field'](_0x5f80('0x2f'))[_0x5f80('0x4a')](_0x5f80('0x4b'))['from']('tools_tags');var _0x1ac969=squel[_0x5f80('0x49')]()[_0x5f80('0x4a')](_0x5f80('0x4c'))[_0x5f80('0x4a')]('u.fullname')[_0x5f80('0x4a')](_0x5f80('0x4d'))[_0x5f80('0x4e')]('user_has_sms_interactions','ui')['left_join'](_0x5f80('0x4f'),'u',_0x5f80('0x50'));var _0x25a318=squel['select']()[_0x5f80('0x4e')]('sms_interactions','i')[_0x5f80('0x51')]('cm_contacts','c',_0x5f80('0x52'))[_0x5f80('0x51')]('users','o','o.id\x20=\x20i.UserId')[_0x5f80('0x51')](_0x5f80('0x53'),'a',_0x5f80('0x54'))[_0x5f80('0x51')](_0x5f80('0x55'),'me','me.SmsInteractionId\x20=\x20i.id')[_0x5f80('0x51')](_0x5f80('0x56'),'it',_0x5f80('0x57'))[_0x5f80('0x51')](_0x5f80('0x58'),'t',_0x5f80('0x59'));var _0x14747d=squel[_0x5f80('0x5a')]();var _0x3d9a8f=[];var _0x4b2d26=squel[_0x5f80('0x5a')]();var _0x4ac730;if(_0x5a4e80[_0x5f80('0x3e')][_0x5f80('0x5b')]){_0x4ac730=as[_0x5f80('0x5c')](_0x5a4e80[_0x5f80('0x3e')][_0x5f80('0x5b')]);var _0x289530=_0x4ac730[_0x5f80('0x5d')];for(var _0x57ec7a=0x0;_0x57ec7a<_0x4ac730['conditions']['length'];_0x57ec7a++){var _0x280bd6=_0x4ac730[_0x5f80('0x5e')][_0x57ec7a];var _0x403180='i';var _0x5dd6b7=_[_0x5f80('0x5f')](_0x15526,['name',_0x280bd6[_0x5f80('0x4a')]]);if(!_0x5dd6b7){switch(_0x280bd6[_0x5f80('0x4a')]){case _0x5f80('0x60'):if(_0x280bd6[_0x5f80('0x61')]==0x1){_0x25a318[_0x5f80('0x62')]('`'+_0x280bd6[_0x5f80('0x4a')]+_0x5f80('0x63'));}else{_0x25a318[_0x5f80('0x62')]('`'+_0x280bd6[_0x5f80('0x4a')]+_0x5f80('0x64'));}break;case _0x5f80('0x65'):if(_0x280bd6[_0x5f80('0x66')]==='$substring'){if(_0x280bd6[_0x5f80('0x61')]['split']('\x20')[_0x5f80('0x44')]>0x1){_0x14747d[_0x289530](_0x5f80('0x67'),qs[_0x5f80('0x68')](_0x280bd6[_0x5f80('0x61')]),null);}else{var _0x202b98='%'+_0x280bd6[_0x5f80('0x61')]+'%';_0x14747d[_0x289530]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x202b98,_0x202b98,_0x202b98);}}else{_0x5dd6b7=_[_0x5f80('0x5f')](_0x15526,['name',_0x5f80('0x69')]);_0x280bd6['field']=_0x5f80('0x69');_0x2cd379=as['buildExpression'](_0x403180,_0x5dd6b7[_0x5f80('0x6a')],_0x280bd6);_0x14747d[_0x289530](_0x2cd379['text'],_0x2cd379['value'][_0x5f80('0x6b')],_0x2cd379[_0x5f80('0x61')]['end']);}break;case'Tag':var _0x4ae6f1=_0x280bd6['value'][_0x5f80('0x6c')](',')[_0x5f80('0x32')](function(_0x9f980d){return Number(_0x9f980d);});_0x4ae6f1[_0x5f80('0x36')](function(_0x1060d9){_0x4b2d26['or'](_0x5f80('0x6d'),'%,'+_0x1060d9+',%');});_0x3d9a8f=_['union'](_0x3d9a8f,_0x4ae6f1);break;case _0x5f80('0x6e'):if(_0x280bd6['operator']===_0x5f80('0x6f')){_0x14747d[_0x289530]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x280bd6[_0x5f80('0x61')]+'%',null);}else{_0x5dd6b7=_[_0x5f80('0x5f')](_0x15526,[_0x5f80('0x2f'),'UserId']);_0x280bd6[_0x5f80('0x4a')]=_0x5f80('0x70');_0x2cd379=as[_0x5f80('0x71')](_0x403180,_0x5dd6b7['type'],_0x280bd6);_0x14747d[_0x289530](_0x2cd379[_0x5f80('0x72')],_0x2cd379['value'][_0x5f80('0x6b')],_0x2cd379[_0x5f80('0x61')]['end']);}break;case _0x5f80('0x73'):_0x2cd379=as['buildExpression']('me',null,_0x280bd6);_0x14747d[_0x289530](_0x2cd379[_0x5f80('0x72')],_0x2cd379[_0x5f80('0x61')][_0x5f80('0x6b')],_0x2cd379[_0x5f80('0x61')][_0x5f80('0x21')]);break;}}else{var _0x2cd379=as[_0x5f80('0x71')](_0x403180,_0x5dd6b7[_0x5f80('0x6a')],_0x280bd6);_0x14747d[_0x289530](_0x2cd379[_0x5f80('0x72')],_0x2cd379[_0x5f80('0x61')][_0x5f80('0x6b')],_0x2cd379['value'][_0x5f80('0x21')]);}}}else{var _0x3a12c0=_(_0x5a4e80[_0x5f80('0x3e')])[_0x5f80('0x3f')]()['map'](function(_0x221fd6){return _[_0x5f80('0x74')](_0x15526,[_0x5f80('0x2f'),_0x221fd6])?_0x221fd6:undefined;})[_0x5f80('0x75')]()[_0x5f80('0x61')]();if(!_[_0x5f80('0x76')](_0x3a12c0)){_0x3a12c0[_0x5f80('0x36')](function(_0x2dbe88){if(_0x2dbe88===_0x5f80('0x77')){_0x25a318[_0x5f80('0x78')](_0x5f80('0x79'),[][_0x5f80('0x7a')](_0x5a4e80[_0x5f80('0x3e')][_0x2dbe88]));}else if(_0x2dbe88===_0x5f80('0x7b')){var _0x46ee6f=JSON[_0x5f80('0x7c')](_0x5a4e80[_0x5f80('0x3e')][_0x2dbe88])[_0x5f80('0x7d')];var _0x2fcc03=JSON[_0x5f80('0x7c')](_0x5a4e80[_0x5f80('0x3e')][_0x2dbe88])[_0x5f80('0x7e')];_0x25a318[_0x5f80('0x78')](_0x5f80('0x7f'),_0x46ee6f,_0x2fcc03);}else{if(_0x5a4e80[_0x5f80('0x3e')][_0x2dbe88]===_0x5f80('0x80')){_0x25a318[_0x5f80('0x78')]('i.'+_0x2dbe88+_0x5f80('0x81'));}else{_0x25a318['where']('i.'+_0x2dbe88+_0x5f80('0x82'),_0x5a4e80[_0x5f80('0x3e')][_0x2dbe88]);}}});}if(_0x5a4e80[_0x5f80('0x3e')]['read']){if(_0x5a4e80['query']['read']==0x1){_0x25a318['having'](_0x5f80('0x83'));}else{_0x25a318[_0x5f80('0x62')](_0x5f80('0x84'));}}if(_0x5a4e80[_0x5f80('0x3e')][_0x5f80('0x85')]){_0x3d9a8f=_[_0x5f80('0x86')](_0x5a4e80['query'][_0x5f80('0x85')])?_0x5a4e80[_0x5f80('0x3e')][_0x5f80('0x85')]:new Array(_0x5a4e80[_0x5f80('0x3e')][_0x5f80('0x85')]);_0x3d9a8f['forEach'](function(_0x14de06){_0x4b2d26['or'](_0x5f80('0x6d'),'%,'+_0x14de06+',%');});}if(_0x5a4e80[_0x5f80('0x3e')]['filter']){var _0x537f6c=_0x5a4e80[_0x5f80('0x3e')][_0x5f80('0x87')][_0x5f80('0x88')]('\x5c','\x5c\x5c')[_0x5f80('0x88')](/'/g,'\x27\x27');if(qs[_0x5f80('0x89')](_0x537f6c)){_0x14747d['or'](_0x5f80('0x8a'),_0x537f6c+'%')['or'](_0x5f80('0x8b'),_0x537f6c+'%');}else{_0x14747d['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x5f80('0x68')](_0x537f6c))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x537f6c+'%');}}}_0x25a318[_0x5f80('0x78')](_0x14747d);_0x25a318[_0x5f80('0x8c')](_0x5f80('0x8d'));var _0x520940={'type':db[_0x5f80('0x8e')][_0x5f80('0x8f')][_0x5f80('0x90')],'raw':!![]};var _0x23e428=_0x25a318[_0x5f80('0x91')]();_0x23e428[_0x5f80('0x4a')]('i.id');_0x23e428[_0x5f80('0x4a')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');if(_0x3153ed[_0x5f80('0x46')]){_0x3153ed[_0x5f80('0x46')][_0x5f80('0x36')](function(_0x374466){var _0x5c485d=_0x374466[0x0]==='contactName'?_0x374466[0x0]:'i.'+_0x374466[0x0];_0x25a318['order'](_0x5c485d,_0x374466[0x1]===_0x5f80('0x92')?![]:!![]);});}if(!_['isEmpty'](_0x3d9a8f)){_0x25a318[_0x5f80('0x62')](_0x4b2d26);_0x23e428['where']('t.id\x20IN\x20?',_0x3d9a8f);}BPromise['resolve']()[_0x5f80('0x2b')](function(){if(!_0x4ac730){if(_0x5a4e80['query'][_0x5f80('0x77')])return;_0x23e428[_0x5f80('0x78')]('i.SmsAccountId\x20IS\x20NOT\x20NULL');_0x25a318['where']('i.SmsAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x5a4e80[_0x5f80('0x93')][_0x5f80('0x94')]!=='agent')return;return _0x5a4e80[_0x5f80('0x93')][_0x5f80('0x95')]({'attributes':['id'],'raw':!![]})[_0x5f80('0x2b')](function(_0x2cdfb0){if(_[_0x5f80('0x76')](_0x2cdfb0)){_0x23e428[_0x5f80('0x78')]('i.SmsAccountId\x20IS\x20NULL');_0x25a318[_0x5f80('0x78')](_0x5f80('0x96'));}else{_0x23e428['where'](_0x5f80('0x79'),_[_0x5f80('0x32')](_0x2cdfb0,'id'));_0x25a318[_0x5f80('0x78')]('i.SmsAccountId\x20IN\x20?',_['map'](_0x2cdfb0,'id'));}});})[_0x5f80('0x2b')](function(){if(_0x5a4e80[_0x5f80('0x93')][_0x5f80('0x94')]===_0x5f80('0x97')&&!_0x4ac730&&!_0x5a4e80['query'][_0x5f80('0x77')])return[];return db[_0x5f80('0x98')]['query'](_0x23e428['toString'](),_0x520940);})['then'](function(_0x4beb24){_0x4b58b9[_0x5f80('0x25')]=_0x4beb24['length'];if(_0x4b58b9[_0x5f80('0x25')]===0x0)return[];return db['sequelize'][_0x5f80('0x3e')](_0x34166d['toString'](),_0x520940)[_0x5f80('0x2b')](function(_0x22cf39){_0xba1195=_['keyBy'](_0x22cf39,'id');_0x520940=_[_0x5f80('0x99')](_0x520940,{'model':db[_0x5f80('0x39')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5a4e80['query'][_0x5f80('0x43')]){_0x3153ed[_0x5f80('0x42')][_0x5f80('0x36')](function(_0x5a628a){_0x25a318[_0x5f80('0x4a')]('i.'+_0x5a628a);});}else{_0x25a318['field'](_0x5f80('0x9a'),_0x5f80('0x60'));_0x25a318[_0x5f80('0x4a')](_0x5f80('0x9b'),_0x5f80('0x9c'));_0x25a318[_0x5f80('0x4a')](_0x5f80('0x9d'),'Account.mandatoryDisposition');_0x25a318[_0x5f80('0x4a')](_0x5f80('0x9e'),_0x5f80('0x9f'));_0x25a318[_0x5f80('0x4a')](_0x5f80('0xa0'));_0x25a318['field']('c.firstName',_0x5f80('0xa1'));_0x25a318['field'](_0x5f80('0xa2'),_0x5f80('0xa3'));_0x25a318[_0x5f80('0x4a')](_0x5f80('0xa4'),_0x5f80('0xa5'));_0x25a318[_0x5f80('0x4a')](_0x5f80('0xa6'),_0x5f80('0xa7'));_0x25a318[_0x5f80('0x4a')](_0x5f80('0xa8'),_0x5f80('0xa9'));_0x25a318['field'](_0x5f80('0xaa'),'Contact.fax');_0x25a318['field'](_0x5f80('0xab'),_0x5f80('0xac'));_0x25a318[_0x5f80('0x4a')](_0x5f80('0xad'),_0x5f80('0xae'));_0x25a318['field'](_0x5f80('0xaf'),_0x5f80('0x34'));}if(_0x3153ed[_0x5f80('0x26')])_0x25a318[_0x5f80('0x26')](_0x3153ed[_0x5f80('0x26')]);if(_0x3153ed[_0x5f80('0x23')])_0x25a318['offset'](_0x3153ed[_0x5f80('0x23')]);return db['sequelize'][_0x5f80('0x3e')](_0x25a318[_0x5f80('0xb0')](),_0x520940);})['then'](function(_0x3c62e3){if(_0x3c62e3[_0x5f80('0x44')]>0x0)_0x1ac969[_0x5f80('0x78')](_0x5f80('0xb1'),_[_0x5f80('0x32')](_0x3c62e3,'id'));return db['sequelize'][_0x5f80('0x3e')](_0x1ac969[_0x5f80('0xb0')](),_0x520940)[_0x5f80('0x2b')](function(_0x14f84d){var _0x572633=_[_0x5f80('0xb2')](_0x14f84d,'SmsInteractionId');var _0x1577dd=[];_0x3c62e3[_0x5f80('0x36')](function(_0x479108){_0x1577dd['push'](updateSmsInteraction(_0x479108,_0xba1195,_0x572633));});return BPromise[_0x5f80('0xb3')](_0x1577dd);});});})[_0x5f80('0x2b')](function(_0x41b4fb){_0x4b58b9[_0x5f80('0xb4')]=_0x41b4fb;return _0x4b58b9;})[_0x5f80('0x2b')](respondWithFilteredResult(_0x36501e,_0x3153ed))[_0x5f80('0x37')](handleError(_0x36501e,null));};exports[_0x5f80('0xb5')]=function(_0x36fe57,_0x429465){var _0x31eab8={'raw':![],'where':{'id':_0x36fe57['params']['id']}},_0x5098e4={};_0x5098e4[_0x5f80('0x3d')]=_[_0x5f80('0x3f')](db[_0x5f80('0x39')][_0x5f80('0x3a')]);_0x5098e4[_0x5f80('0x3e')]=_[_0x5f80('0x3f')](_0x36fe57[_0x5f80('0x3e')]);_0x5098e4['filters']=_[_0x5f80('0x41')](_0x5098e4[_0x5f80('0x3d')],_0x5098e4[_0x5f80('0x3e')]);_0x31eab8[_0x5f80('0x42')]=_[_0x5f80('0x41')](_0x5098e4[_0x5f80('0x3d')],qs[_0x5f80('0x43')](_0x36fe57['query']['fields']));_0x31eab8[_0x5f80('0x42')]=_0x31eab8[_0x5f80('0x42')]['length']?_0x31eab8[_0x5f80('0x42')]:_0x5098e4[_0x5f80('0x3d')];if(_0x36fe57[_0x5f80('0x3e')][_0x5f80('0xb6')]){_0x31eab8[_0x5f80('0xb7')]=[{'all':!![]}];}_0x31eab8=_['merge']({},_0x31eab8,_0x36fe57[_0x5f80('0xb8')]);return db[_0x5f80('0x39')][_0x5f80('0x5f')](_0x31eab8)['then'](handleEntityNotFound(_0x429465,null))['then'](respondWithResult(_0x429465,null))[_0x5f80('0x37')](handleError(_0x429465,null));};exports[_0x5f80('0xb9')]=function(_0x36c782,_0x56d191){return db[_0x5f80('0x39')][_0x5f80('0xb9')](_0x36c782[_0x5f80('0x73')],{})[_0x5f80('0x2b')](respondWithResult(_0x56d191,0xc9))['catch'](handleError(_0x56d191,null));};exports['update']=function(_0x254495,_0x12a461){if(_0x254495[_0x5f80('0x73')]['id']){delete _0x254495[_0x5f80('0x73')]['id'];}return db[_0x5f80('0x39')][_0x5f80('0x5f')]({'where':{'id':_0x254495[_0x5f80('0xba')]['id']}})['then'](handleEntityNotFound(_0x12a461,null))[_0x5f80('0x2b')](saveUpdates(_0x254495[_0x5f80('0x73')],null))['then'](respondWithResult(_0x12a461,null))[_0x5f80('0x37')](handleError(_0x12a461,null));};exports[_0x5f80('0x2c')]=function(_0xa74cdb,_0x48bcee){return db[_0x5f80('0x39')][_0x5f80('0x5f')]({'where':{'id':_0xa74cdb['params']['id']}})[_0x5f80('0x2b')](handleEntityNotFound(_0x48bcee,null))['then'](removeEntity(_0x48bcee,null))[_0x5f80('0x37')](handleError(_0x48bcee,null));};exports['describe']=function(_0x1b0dd2,_0x166015){return db[_0x5f80('0x39')]['describe']()[_0x5f80('0x2b')](respondWithResult(_0x166015,null))[_0x5f80('0x37')](handleError(_0x166015,null));};exports['addMessage']=function(_0x794ee7,_0x1114bf,_0x340d24){return db[_0x5f80('0xbb')][_0x5f80('0x5f')]({'where':{'id':_0x794ee7['params']['id']}})['then'](handleEntityNotFound(_0x1114bf,null))['then'](function(_0x340e49){if(_0x340e49){return _0x340e49['addMessage'](_0x794ee7['body'][_0x5f80('0xbc')],_[_0x5f80('0xbd')](_0x794ee7[_0x5f80('0x73')],[_0x5f80('0xbc'),'id'])||{});}})[_0x5f80('0x2b')](respondWithResult(_0x1114bf,null))[_0x5f80('0x37')](handleError(_0x1114bf,null));};exports['getMessages']=function(_0x26031a,_0x59cbe9,_0x2d8bbb){var _0x37e30b={'raw':![],'where':{}};var _0x1f8212={};var _0x7f8459={'count':0x0,'rows':[]};return db['SmsInteraction']['findOne']({'where':{'id':_0x26031a[_0x5f80('0xba')]['id']}})[_0x5f80('0x2b')](handleEntityNotFound(_0x59cbe9,null))[_0x5f80('0x2b')](function(_0x11e466){if(_0x11e466){_0x1f8212[_0x5f80('0x3d')]=_['keys'](db[_0x5f80('0xbb')][_0x5f80('0x3a')]);_0x1f8212[_0x5f80('0x3e')]=_[_0x5f80('0x3f')](_0x26031a[_0x5f80('0x3e')]);_0x1f8212[_0x5f80('0x40')]=_[_0x5f80('0x41')](_0x1f8212[_0x5f80('0x3d')],_0x1f8212[_0x5f80('0x3e')]);_0x37e30b[_0x5f80('0x42')]=_['intersection'](_0x1f8212[_0x5f80('0x3d')],qs['fields'](_0x26031a['query'][_0x5f80('0x43')]));_0x37e30b[_0x5f80('0x42')]=_0x37e30b[_0x5f80('0x42')][_0x5f80('0x44')]?_0x37e30b['attributes']:_0x1f8212['model'];if(!_0x26031a[_0x5f80('0x3e')]['hasOwnProperty'](_0x5f80('0xbe'))){_0x37e30b[_0x5f80('0x26')]=qs[_0x5f80('0x26')](_0x26031a[_0x5f80('0x3e')]['limit']);_0x37e30b[_0x5f80('0x23')]=qs[_0x5f80('0x23')](_0x26031a['query'][_0x5f80('0x23')]);}_0x37e30b[_0x5f80('0x46')]=qs['sort'](_0x26031a[_0x5f80('0x3e')][_0x5f80('0x47')]);_0x37e30b[_0x5f80('0x78')]=qs[_0x5f80('0x40')](_[_0x5f80('0x48')](_0x26031a[_0x5f80('0x3e')],_0x1f8212[_0x5f80('0x40')]));_0x37e30b['where'][_0x5f80('0xbf')]=_0x11e466['id'];if(_0x26031a['query']['filter']){_0x37e30b[_0x5f80('0x78')]=_[_0x5f80('0x99')](_0x37e30b[_0x5f80('0x78')],{'$or':_['map'](_0x37e30b[_0x5f80('0x42')],function(_0x489dad){var _0x3cda64={};_0x3cda64[_0x489dad]={'$like':'%'+_0x26031a['query'][_0x5f80('0x87')]+'%'};return _0x3cda64;})});}if(_0x26031a['query'][_0x5f80('0x7d')]){var _0x4636a4=_0x26031a[_0x5f80('0x3e')][_0x5f80('0x7d')]['split'](',');var _0x18650d={};_0x18650d[_0x4636a4[0x0]]={'$gte':moment(_0x4636a4[0x1])[_0x5f80('0xc0')]('YYYY-MM-DD\x20HH:mm:ss')};_0x37e30b['where']=_['merge'](_0x37e30b[_0x5f80('0x78')],_0x18650d);}_0x37e30b=_[_0x5f80('0x99')]({},_0x37e30b,_0x26031a[_0x5f80('0xb8')]);return db[_0x5f80('0xbb')][_0x5f80('0x25')]({'where':_0x37e30b[_0x5f80('0x78')]})['then'](function(_0x343205){_0x7f8459['count']=_0x343205;if(_0x26031a[_0x5f80('0x3e')]['includeAll']){_0x37e30b[_0x5f80('0xb7')]=[{'all':!![]}];}return db[_0x5f80('0xbb')][_0x5f80('0xc1')](_0x37e30b);})[_0x5f80('0x2b')](function(_0x2c069e){_0x7f8459[_0x5f80('0xb4')]=_0x2c069e;return _0x7f8459;});}})[_0x5f80('0x2b')](respondWithFilteredResult(_0x59cbe9,_0x37e30b))[_0x5f80('0x37')](handleError(_0x59cbe9,null));};exports[_0x5f80('0xc2')]=function(_0x3e664f,_0x77d4dc,_0x38bfac){return db['SmsInteraction'][_0x5f80('0x5f')]({'where':{'id':_0x3e664f[_0x5f80('0xba')]['id']}})[_0x5f80('0x2b')](handleEntityNotFound(_0x77d4dc,null))['then'](function(_0x3fa8c4){if(_0x3fa8c4){return _0x3fa8c4[_0x5f80('0xc3')](_0x3e664f[_0x5f80('0x73')][_0x5f80('0xbc')],_[_0x5f80('0xbd')](_0x3e664f[_0x5f80('0x73')],['ids','id'])||{})[_0x5f80('0xc4')](function(){return db[_0x5f80('0xc5')][_0x5f80('0xc1')]({'attributes':['id','name',_0x5f80('0x4b')],'where':{'id':_0x3e664f['body']['ids']}});})['then'](function(_0x499dda){socket['emit']('smsInteractionTags:save',{'id':Number(_0x3e664f['params']['id']),'tags':_0x499dda||[]});return{'id':Number(_0x3e664f['params']['id']),'tags':_0x499dda||[]};});}})[_0x5f80('0x2b')](respondWithResult(_0x77d4dc,null))[_0x5f80('0x37')](handleError(_0x77d4dc,null));};exports['removeTags']=function(_0x47b09f,_0x246a16,_0x51b8ba){return db[_0x5f80('0x39')]['find']({'where':{'id':_0x47b09f[_0x5f80('0xba')]['id']}})[_0x5f80('0x2b')](handleEntityNotFound(_0x246a16,null))[_0x5f80('0x2b')](function(_0x1ea2f0){if(_0x1ea2f0){return _0x1ea2f0[_0x5f80('0xc6')](_0x47b09f[_0x5f80('0x3e')]['ids']);}})[_0x5f80('0x2b')](respondWithStatusCode(_0x246a16,null))[_0x5f80('0x37')](handleError(_0x246a16,null));};exports['download']=function(_0x5c3df1,_0x564866){var _0x1ffd7f=moment()[_0x5f80('0xc7')]()[_0x5f80('0xb0')]();var _0xcb4905=path['join'](config[_0x5f80('0xc8')],_0x5f80('0xc9'),_0x5f80('0xca'),'tmp');var _0x3b90f2=path[_0x5f80('0xcb')](config[_0x5f80('0xc8')],'server',_0x5f80('0xca'),'attachments');var _0x4c446f=path[_0x5f80('0xcb')](_0xcb4905,_0x1ffd7f);var _0x17be80=util['format'](_0x5f80('0xcc'),_0x5c3df1[_0x5f80('0xba')]['id'],_0x1ffd7f);var _0x37ba04=path['join'](_0xcb4905,_0x17be80);var _0x505a21=[];_0x505a21[_0x5f80('0xcd')]({'model':db[_0x5f80('0x6e')],'as':_0x5f80('0x6e'),'attributes':['id',_0x5f80('0x33')],'raw':!![]});_0x505a21[_0x5f80('0xcd')]({'model':db[_0x5f80('0xce')],'as':_0x5f80('0x65'),'attributes':['id',_0x5f80('0xcf'),_0x5f80('0xd0')],'raw':!![]});var _0x474925=[{'model':db['SmsMessage'],'as':_0x5f80('0xd1'),'attributes':['id',_0x5f80('0x73'),_0x5f80('0x7b'),_0x5f80('0xd2'),_0x5f80('0xd3'),_0x5f80('0xd4')],'include':_0x505a21}];_0x474925[_0x5f80('0xcd')]({'model':db[_0x5f80('0xd5')],'as':'Account','attributes':['id',_0x5f80('0x2f')]});_0x474925['push']({'model':db['User'],'as':_0x5f80('0xd6'),'attributes':['id',_0x5f80('0x33')]});return db[_0x5f80('0x39')][_0x5f80('0x5f')]({'where':{'id':_0x5c3df1[_0x5f80('0xba')]['id']},'include':_0x474925})[_0x5f80('0x2b')](handleEntityNotFound(_0x564866,null))[_0x5f80('0x2b')](function(_0x1d90c4){if(_0x1d90c4){var _0xbb3fe9=_0x1d90c4[_0x5f80('0xd7')]({'plain':!![]});fs[_0x5f80('0xd8')](_0x4c446f);var _0x4685fb={'channel':'Sms','account':_0xbb3fe9[_0x5f80('0xd9')]['name'],'agent':_0xbb3fe9[_0x5f80('0xd6')]?_0xbb3fe9[_0x5f80('0xd6')][_0x5f80('0x33')]:_0x5f80('0xda'),'createdAt':moment(_0xbb3fe9['createdAt'])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0x5f80('0xb0')](),'closedAt':_0xbb3fe9[_0x5f80('0xdb')]?moment(_0xbb3fe9[_0x5f80('0xdc')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0x5f80('0xb0')]():'','disposition':_0xbb3fe9[_0x5f80('0xdd')],'messages':_(_0xbb3fe9[_0x5f80('0xd1')])[_0x5f80('0x87')]({'secret':![]})['map'](function(_0x3e85df){return{'date':moment(_0x3e85df['createdAt'])[_0x5f80('0xc0')]('YYYY-MM-DD\x20HH:mm:ss')[_0x5f80('0xb0')](),'sender':_0x3e85df[_0x5f80('0xd2')]===_0x5f80('0xde')?_0x3e85df[_0x5f80('0x6e')]?_0x3e85df[_0x5f80('0x6e')][_0x5f80('0x33')]:_0x5f80('0xdf'):_0x3e85df[_0x5f80('0x65')][_0x5f80('0xcf')]+(_0x3e85df[_0x5f80('0x65')]['lastName']?'\x20'+_0x3e85df[_0x5f80('0x65')][_0x5f80('0xd0')]:''),'body':_0x3e85df[_0x5f80('0x73')],'direction':_0x3e85df['direction']===_0x5f80('0xde')?'A':'C','secret':_0x3e85df[_0x5f80('0xd3')],'read':_0x3e85df['read']};})[_0x5f80('0x61')]()};return ejs[_0x5f80('0xe0')](path[_0x5f80('0xcb')](config[_0x5f80('0xc8')],'server','views',_0x5f80('0xe1')),{'interaction':_0x4685fb})[_0x5f80('0x2b')](function(_0x2d483b){var _0x4a2a08=path[_0x5f80('0xcb')](_0x4c446f,_0x5f80('0xe2')+_0xbb3fe9['id']+'-'+_0x1ffd7f+'.pdf');var _0xe8b987={'path':_0x4a2a08,'channel':_0x5f80('0xe3'),'interactionId':_0xbb3fe9['id']};return pdf[_0x5f80('0xe4')](_0x2d483b,_0xe8b987);})[_0x5f80('0x2b')](function(){return new BPromise(function(_0x5c169f,_0x4af640){zipdir(_0x4c446f,{'saveTo':_0x37ba04},function(_0x1482f0,_0x284585){if(_0x1482f0)return _0x4af640(_0x1482f0);return _0x5c169f(_0x284585);});})[_0x5f80('0x2b')](function(){return new BPromise(function(_0x30d3ef,_0x5f082d){rimraf(_0x4c446f,function(_0x48c728){if(_0x48c728)_0x5f082d(_0x48c728);return _0x30d3ef();});});})[_0x5f80('0x2b')](function(){return _0x564866['download'](_0x37ba04,_0x17be80,function(_0x19992){if(_0x19992){console[_0x5f80('0xe5')](_0x5f80('0xe6'),_0x19992);}else{fs[_0x5f80('0xe7')](_0x37ba04);}});});});}else{return _0x564866['sendStatus'](0xc8);}})['catch'](handleError(_0x564866,null));};