Built motion from commit 85328c08.|2.5.50
[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 _0xfb0e=['reject','update','destroy','then','error','stack','name','Users','map','fullname','TagIds','Tags','split','forEach','push','waiting','talking','unmanaged','total','closed','UserId','answered','index','SmsInteraction','type','key','model','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','filters','field','from','tools_tags','u.id','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','u.id\x20=\x20ui.UserId','select','sms_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','users','sms_accounts','a.id\x20=\x20i.SmsAccountId','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','find','value','`\x20>\x200','Contact','operator','$substring','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','buildExpression','keys','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?','read','having','`unreadMessages`\x20=\x200','`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)','group','i.id','Sequelize','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','agent','i.SmsAccountId\x20IS\x20NULL','role','sequelize','toString','keyBy','merge','unreadMessages','Account.key','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','c.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','o.fullname','Owner.fullname','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','rows','show','params','rawAttributes','includeAll','options','catch','create','body','describe','addMessage','SmsMessage','ids','omit','getMessages','pick','format','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','setTags','spread','color','emit','removeTags','download','unix','join','server','attachments','transcript-%d-%s.zip','CmContact','firstName','Messages','SmsAccount','Account','Owner','get','Sms','N.A.','closedAt','disposition','direction','out','System','secret','root','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','log','err','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','redis','defaults','socket.io-emitter','./smsInteraction.socket','register','sendStatus','end','status','json','offset','undefined','count','limit','Content-Range','apply'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0xfb0e,0xc1));var _0xefb0=function(_0x56a871,_0x18b7fe){_0x56a871=_0x56a871-0x0;var _0x124954=_0xfb0e[_0x56a871];return _0x124954;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xefb0('0x0'));var zipdir=require(_0xefb0('0x1'));var jsonpatch=require(_0xefb0('0x2'));var rp=require(_0xefb0('0x3'));var moment=require('moment');var BPromise=require(_0xefb0('0x4'));var Mustache=require(_0xefb0('0x5'));var util=require(_0xefb0('0x6'));var path=require('path');var sox=require(_0xefb0('0x7'));var csv=require('to-csv');var ejs=require(_0xefb0('0x8'));var fs=require('fs');var fs_extra=require(_0xefb0('0x9'));var _=require(_0xefb0('0xa'));var squel=require(_0xefb0('0xb'));var crypto=require('crypto');var jsforce=require(_0xefb0('0xc'));var deskjs=require(_0xefb0('0xd'));var toCsv=require('to-csv');var querystring=require(_0xefb0('0xe'));var Papa=require('papaparse');var Redis=require(_0xefb0('0xf'));var authService=require(_0xefb0('0x10'));var qs=require(_0xefb0('0x11'));var as=require(_0xefb0('0x12'));var pdf=require(_0xefb0('0x13'));var hardwareService=require(_0xefb0('0x14'));var logger=require(_0xefb0('0x15'))(_0xefb0('0x16'));var utils=require(_0xefb0('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xefb0('0x18'));var db=require('../../mysqldb')['db'];config[_0xefb0('0x19')]=_[_0xefb0('0x1a')](config[_0xefb0('0x19')],{'host':'localhost','port':0x18eb});var socket=require(_0xefb0('0x1b'))(new Redis(config[_0xefb0('0x19')]));require(_0xefb0('0x1c'))[_0xefb0('0x1d')](socket);function respondWithStatusCode(_0x173514,_0x150fbf){_0x150fbf=_0x150fbf||0xcc;return function(_0x9765c3){if(_0x9765c3){return _0x173514[_0xefb0('0x1e')](_0x150fbf);}return _0x173514['status'](_0x150fbf)[_0xefb0('0x1f')]();};}function respondWithResult(_0x2510a3,_0x2d2d6e){_0x2d2d6e=_0x2d2d6e||0xc8;return function(_0xc8d263){if(_0xc8d263){return _0x2510a3[_0xefb0('0x20')](_0x2d2d6e)[_0xefb0('0x21')](_0xc8d263);}};}function respondWithFilteredResult(_0x225d36,_0x2b7daa){return function(_0x3adead){if(_0x3adead){var _0x58226a=typeof _0x2b7daa[_0xefb0('0x22')]===_0xefb0('0x23')&&typeof _0x2b7daa['limit']===_0xefb0('0x23');var _0x22989f=_0x3adead[_0xefb0('0x24')];var _0x5acca9=_0x58226a?0x0:_0x2b7daa['offset'];var _0x4ef0fa=_0x58226a?_0x3adead[_0xefb0('0x24')]:_0x2b7daa[_0xefb0('0x22')]+_0x2b7daa[_0xefb0('0x25')];var _0x52bce0;if(_0x4ef0fa>=_0x22989f){_0x4ef0fa=_0x22989f;_0x52bce0=0xc8;}else{_0x52bce0=0xce;}_0x225d36[_0xefb0('0x20')](_0x52bce0);return _0x225d36['set'](_0xefb0('0x26'),_0x5acca9+'-'+_0x4ef0fa+'/'+_0x22989f)[_0xefb0('0x21')](_0x3adead);}return null;};}function patchUpdates(_0x19d013){return function(_0x150531){try{jsonpatch[_0xefb0('0x27')](_0x150531,_0x19d013,!![]);}catch(_0x153b14){return BPromise[_0xefb0('0x28')](_0x153b14);}return _0x150531['save']();};}function saveUpdates(_0x45c4c0,_0x5df26b){return function(_0x2782c8){if(_0x2782c8){return _0x2782c8[_0xefb0('0x29')](_0x45c4c0)['then'](function(_0x2da023){return _0x2da023;});}return null;};}function removeEntity(_0xd7964b,_0x25b50e){return function(_0x39fd15){if(_0x39fd15){return _0x39fd15[_0xefb0('0x2a')]()[_0xefb0('0x2b')](function(){_0xd7964b[_0xefb0('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x182cc1,_0x3eaeb0){return function(_0x550ac2){if(!_0x550ac2){_0x182cc1[_0xefb0('0x1e')](0x194);}return _0x550ac2;};}function handleError(_0x27b47e,_0x5e5352){_0x5e5352=_0x5e5352||0x1f4;return function(_0x1b78cc){logger[_0xefb0('0x2c')](_0x1b78cc[_0xefb0('0x2d')]);if(_0x1b78cc[_0xefb0('0x2e')]){delete _0x1b78cc['name'];}_0x27b47e['status'](_0x5e5352)['send'](_0x1b78cc);};}function getInteractionUsers(_0x5c7156,_0x2e59c8){return new BPromise(function(_0x214e7c,_0x36eb2b){try{if(_0x2e59c8[_0x5c7156['id']]){_0x5c7156[_0xefb0('0x2f')]=_[_0xefb0('0x30')](_0x2e59c8[_0x5c7156['id']],function(_0x40b8d8){return{'id':_0x40b8d8['id'],'fullname':_0x40b8d8[_0xefb0('0x31')]};});}}catch(_0x5efe90){_0x36eb2b(_0x5efe90);}_0x214e7c(_0x5c7156);});}function getInteractionTags(_0x3a5945,_0x1d90e9){return new BPromise(function(_0x475f1e,_0xa58994){try{if(_0x3a5945[_0xefb0('0x32')]){_0x3a5945[_0xefb0('0x33')]=[];_0x3a5945[_0xefb0('0x32')][_0xefb0('0x34')](',')[_0xefb0('0x35')](function(_0x1a3bbb){_0x3a5945[_0xefb0('0x33')][_0xefb0('0x36')](_0x1d90e9[_0x1a3bbb]);});}delete _0x3a5945[_0xefb0('0x32')];}catch(_0x523824){_0xa58994(_0x523824);}_0x475f1e(_0x3a5945);});}function updateSmsInteraction(_0x1ec5f4,_0x2586a0,_0x438713){return new BPromise(function(_0x284d48,_0x2ded27){return getInteractionUsers(_0x1ec5f4,_0x438713)['then'](function(_0x44130e){return getInteractionTags(_0x44130e,_0x2586a0);})['then'](function(_0x3b0a78){return getStateInteraction(_0x3b0a78);})[_0xefb0('0x2b')](function(_0x3ee26){_0x284d48(_0x3ee26);})['catch'](function(_0x5a485f){_0x2ded27(_0x5a485f);});});}function getStateInteraction(_0x48622d){return new BPromise(function(_0x3ccb9f){_0x48622d[_0xefb0('0x37')]=0x0;_0x48622d[_0xefb0('0x38')]=0x0;_0x48622d['answered']=0x0;_0x48622d[_0xefb0('0x39')]=0x0;_0x48622d[_0xefb0('0x3a')]=0x0;if(!_0x48622d[_0xefb0('0x3b')]&&!_0x48622d[_0xefb0('0x3c')]){_0x48622d['waiting']+=0x1;}if(!_0x48622d[_0xefb0('0x3b')]&&_0x48622d[_0xefb0('0x3c')]){_0x48622d[_0xefb0('0x38')]+=0x1;if(_0x48622d['waiting']){_0x48622d['waiting']-=0x1;}}if(_0x48622d[_0xefb0('0x3b')]&&_0x48622d[_0xefb0('0x3c')]){_0x48622d[_0xefb0('0x3d')]+=0x1;if(_0x48622d['talking']){_0x48622d[_0xefb0('0x38')]-=0x1;}}if(_0x48622d['closed']&&!_0x48622d['UserId']){_0x48622d[_0xefb0('0x39')]+=0x1;if(_0x48622d[_0xefb0('0x37')]){_0x48622d['waiting']-=0x1;}}_0x48622d[_0xefb0('0x3a')]+=0x1;_0x3ccb9f(_0x48622d);});}exports[_0xefb0('0x3e')]=function(_0x38e7ff,_0x2c7d04){var _0x4a0cc4={},_0x45c80b={},_0x799709={'count':0x0,'rows':[]};var _0x44bd50=_['map'](db[_0xefb0('0x3f')]['rawAttributes'],function(_0x225bfb){return{'name':_0x225bfb['fieldName'],'type':_0x225bfb[_0xefb0('0x40')][_0xefb0('0x41')]};});_0x45c80b[_0xefb0('0x42')]=_[_0xefb0('0x30')](_0x44bd50,'name');_0x45c80b[_0xefb0('0x43')]=_['keys'](_0x38e7ff[_0xefb0('0x43')]);_0x45c80b['filters']=_['intersection'](_0x45c80b[_0xefb0('0x42')],_0x45c80b[_0xefb0('0x43')]);_0x4a0cc4[_0xefb0('0x44')]=_[_0xefb0('0x45')](_0x45c80b['model'],qs[_0xefb0('0x46')](_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x46')]));_0x4a0cc4['attributes']=_0x4a0cc4['attributes'][_0xefb0('0x47')]?_0x4a0cc4[_0xefb0('0x44')]:_0x45c80b[_0xefb0('0x42')];if(!_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x48')](_0xefb0('0x49'))){_0x4a0cc4[_0xefb0('0x25')]=qs[_0xefb0('0x25')](_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x25')]);_0x4a0cc4[_0xefb0('0x22')]=qs[_0xefb0('0x22')](_0x38e7ff['query']['offset']);}_0x4a0cc4[_0xefb0('0x4a')]=qs[_0xefb0('0x4b')](_0x38e7ff['query'][_0xefb0('0x4b')]);_0x4a0cc4['where']=qs['filters'](_['pick'](_0x38e7ff[_0xefb0('0x43')],_0x45c80b[_0xefb0('0x4c')]),_0x44bd50);var _0x2779ca=[];var _0x1ee15b=squel['select']()[_0xefb0('0x4d')]('id')[_0xefb0('0x4d')](_0xefb0('0x2e'))[_0xefb0('0x4d')]('color')[_0xefb0('0x4e')](_0xefb0('0x4f'));var _0x5a9bf8=squel['select']()['field'](_0xefb0('0x50'))[_0xefb0('0x4d')](_0xefb0('0x51'))['field'](_0xefb0('0x52'))[_0xefb0('0x4e')](_0xefb0('0x53'),'ui')['left_join']('users','u',_0xefb0('0x54'));var _0x501c01=squel[_0xefb0('0x55')]()[_0xefb0('0x4e')](_0xefb0('0x56'),'i')['left_join'](_0xefb0('0x57'),'c',_0xefb0('0x58'))[_0xefb0('0x59')](_0xefb0('0x5a'),'o','o.id\x20=\x20i.UserId')[_0xefb0('0x59')](_0xefb0('0x5b'),'a',_0xefb0('0x5c'))[_0xefb0('0x59')]('sms_messages','me','me.SmsInteractionId\x20=\x20i.id')[_0xefb0('0x59')]('sms_interaction_has_tags','it',_0xefb0('0x5d'))[_0xefb0('0x59')]('tools_tags','t',_0xefb0('0x5e'));var _0x24ecc6=squel['expr']();var _0x1c3497=[];var _0x3a2689=squel[_0xefb0('0x5f')]();var _0x3cfd6d;if(_0x38e7ff['query'][_0xefb0('0x60')]){_0x3cfd6d=as['parseSearch'](_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x60')]);var _0x17fe84=_0x3cfd6d[_0xefb0('0x61')];for(var _0x398e1a=0x0;_0x398e1a<_0x3cfd6d['conditions'][_0xefb0('0x47')];_0x398e1a++){var _0x342a8d=_0x3cfd6d[_0xefb0('0x62')][_0x398e1a];var _0x8b8f12='i';var _0x665745=_[_0xefb0('0x63')](_0x44bd50,['name',_0x342a8d['field']]);if(!_0x665745){switch(_0x342a8d[_0xefb0('0x4d')]){case'unreadMessages':if(_0x342a8d[_0xefb0('0x64')]==0x1){_0x501c01['having']('`'+_0x342a8d['field']+'`\x20=\x200');}else{_0x501c01['having']('`'+_0x342a8d[_0xefb0('0x4d')]+_0xefb0('0x65'));}break;case _0xefb0('0x66'):if(_0x342a8d[_0xefb0('0x67')]===_0xefb0('0x68')){if(_0x342a8d[_0xefb0('0x64')][_0xefb0('0x34')]('\x20')[_0xefb0('0x47')]>0x1){_0x24ecc6[_0x17fe84]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x342a8d['value']),null);}else{var _0x2ebd2c='%'+_0x342a8d['value']+'%';_0x24ecc6[_0x17fe84](_0xefb0('0x69'),_0x2ebd2c,_0x2ebd2c,_0x2ebd2c);}}else{_0x665745=_[_0xefb0('0x63')](_0x44bd50,[_0xefb0('0x2e'),'ContactId']);_0x342a8d[_0xefb0('0x4d')]=_0xefb0('0x6a');_0x4b11a6=as['buildExpression'](_0x8b8f12,_0x665745[_0xefb0('0x40')],_0x342a8d);_0x24ecc6[_0x17fe84](_0x4b11a6[_0xefb0('0x6b')],_0x4b11a6[_0xefb0('0x64')][_0xefb0('0x6c')],_0x4b11a6[_0xefb0('0x64')][_0xefb0('0x1f')]);}break;case _0xefb0('0x6d'):var _0x2d1471=_0x342a8d[_0xefb0('0x64')][_0xefb0('0x34')](',')[_0xefb0('0x30')](function(_0x1b317a){return Number(_0x1b317a);});_0x2d1471['forEach'](function(_0x5812c3){_0x3a2689['or'](_0xefb0('0x6e'),'%,'+_0x5812c3+',%');});_0x1c3497=_[_0xefb0('0x6f')](_0x1c3497,_0x2d1471);break;case _0xefb0('0x70'):if(_0x342a8d['operator']===_0xefb0('0x68')){_0x24ecc6[_0x17fe84]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x342a8d[_0xefb0('0x64')]+'%',null);}else{_0x665745=_[_0xefb0('0x63')](_0x44bd50,[_0xefb0('0x2e'),_0xefb0('0x3c')]);_0x342a8d[_0xefb0('0x4d')]=_0xefb0('0x3c');_0x4b11a6=as[_0xefb0('0x71')](_0x8b8f12,_0x665745[_0xefb0('0x40')],_0x342a8d);_0x24ecc6[_0x17fe84](_0x4b11a6[_0xefb0('0x6b')],_0x4b11a6[_0xefb0('0x64')][_0xefb0('0x6c')],_0x4b11a6[_0xefb0('0x64')][_0xefb0('0x1f')]);}break;case'body':_0x4b11a6=as[_0xefb0('0x71')]('me',null,_0x342a8d);_0x24ecc6[_0x17fe84](_0x4b11a6[_0xefb0('0x6b')],_0x4b11a6[_0xefb0('0x64')]['start'],_0x4b11a6[_0xefb0('0x64')][_0xefb0('0x1f')]);break;}}else{var _0x4b11a6=as['buildExpression'](_0x8b8f12,_0x665745[_0xefb0('0x40')],_0x342a8d);_0x24ecc6[_0x17fe84](_0x4b11a6[_0xefb0('0x6b')],_0x4b11a6[_0xefb0('0x64')][_0xefb0('0x6c')],_0x4b11a6['value'][_0xefb0('0x1f')]);}}}else{var _0x4adbd0=_(_0x38e7ff['query'])[_0xefb0('0x72')]()['map'](function(_0x489697){return _[_0xefb0('0x73')](_0x44bd50,['name',_0x489697])?_0x489697:undefined;})[_0xefb0('0x74')]()['value']();if(!_[_0xefb0('0x75')](_0x4adbd0)){_0x4adbd0[_0xefb0('0x35')](function(_0xdb08ff){if(_0xdb08ff===_0xefb0('0x76')){_0x501c01[_0xefb0('0x77')](_0xefb0('0x78'),[][_0xefb0('0x79')](_0x38e7ff[_0xefb0('0x43')][_0xdb08ff]));}else if(_0xdb08ff===_0xefb0('0x7a')){var _0x5ebba5=JSON[_0xefb0('0x7b')](_0x38e7ff[_0xefb0('0x43')][_0xdb08ff])[_0xefb0('0x7c')];var _0x38d6ab=JSON['parse'](_0x38e7ff[_0xefb0('0x43')][_0xdb08ff])[_0xefb0('0x7d')];_0x501c01['where'](_0xefb0('0x7e'),_0x5ebba5,_0x38d6ab);}else{if(_0x38e7ff[_0xefb0('0x43')][_0xdb08ff]===_0xefb0('0x7f')){_0x501c01[_0xefb0('0x77')]('i.'+_0xdb08ff+_0xefb0('0x80'));}else{_0x501c01[_0xefb0('0x77')]('i.'+_0xdb08ff+_0xefb0('0x81'),_0x38e7ff[_0xefb0('0x43')][_0xdb08ff]);}}});}if(_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x82')]){if(_0x38e7ff[_0xefb0('0x43')]['read']==0x1){_0x501c01[_0xefb0('0x83')](_0xefb0('0x84'));}else{_0x501c01[_0xefb0('0x83')](_0xefb0('0x85'));}}if(_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x86')]){_0x1c3497=_[_0xefb0('0x87')](_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x86')])?_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x86')]:new Array(_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x86')]);_0x1c3497[_0xefb0('0x35')](function(_0x1b9a1e){_0x3a2689['or'](_0xefb0('0x6e'),'%,'+_0x1b9a1e+',%');});}if(_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x88')]){var _0x3311f8=_0x38e7ff[_0xefb0('0x43')]['filter']['replace']('\x5c','\x5c\x5c')[_0xefb0('0x89')](/'/g,'\x27\x27');if(qs[_0xefb0('0x8a')](_0x3311f8)){_0x24ecc6['or'](_0xefb0('0x8b'),_0x3311f8+'%')['or'](_0xefb0('0x8c'),_0x3311f8+'%');}else{_0x24ecc6['or'](_0xefb0('0x8d'),qs['getFullTextValue'](_0x3311f8))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x3311f8+'%');}}}_0x501c01['where'](_0x24ecc6);_0x501c01[_0xefb0('0x8e')](_0xefb0('0x8f'));var _0x3609ed={'type':db[_0xefb0('0x90')]['QueryTypes']['SELECT'],'raw':!![]};var _0x1088ae=_0x501c01[_0xefb0('0x91')]();_0x1088ae['field'](_0xefb0('0x8f'));_0x1088ae['field'](_0xefb0('0x92'),'unreadMessages');if(_0x4a0cc4['order']){_0x4a0cc4[_0xefb0('0x4a')]['forEach'](function(_0x594836){var _0x1674f8=_0x594836[0x0]===_0xefb0('0x93')?_0x594836[0x0]:'i.'+_0x594836[0x0];_0x501c01['order'](_0x1674f8,_0x594836[0x1]===_0xefb0('0x94')?![]:!![]);});}if(!_[_0xefb0('0x75')](_0x1c3497)){_0x501c01[_0xefb0('0x83')](_0x3a2689);_0x1088ae[_0xefb0('0x77')](_0xefb0('0x95'),_0x1c3497);}BPromise[_0xefb0('0x96')]()['then'](function(){if(!_0x3cfd6d){if(_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x76')])return;_0x1088ae[_0xefb0('0x77')](_0xefb0('0x97'));_0x501c01[_0xefb0('0x77')](_0xefb0('0x97'));return;}if(_0x38e7ff[_0xefb0('0x98')]['role']!==_0xefb0('0x99'))return;return _0x38e7ff[_0xefb0('0x98')]['getSmsAccounts']({'attributes':['id'],'raw':!![]})[_0xefb0('0x2b')](function(_0x21c7c4){if(_[_0xefb0('0x75')](_0x21c7c4)){_0x1088ae[_0xefb0('0x77')]('i.SmsAccountId\x20IS\x20NULL');_0x501c01['where'](_0xefb0('0x9a'));}else{_0x1088ae[_0xefb0('0x77')](_0xefb0('0x78'),_['map'](_0x21c7c4,'id'));_0x501c01[_0xefb0('0x77')](_0xefb0('0x78'),_[_0xefb0('0x30')](_0x21c7c4,'id'));}});})[_0xefb0('0x2b')](function(){if(_0x38e7ff['user'][_0xefb0('0x9b')]===_0xefb0('0x99')&&!_0x3cfd6d&&!_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x76')])return[];return db[_0xefb0('0x9c')][_0xefb0('0x43')](_0x1088ae['toString'](),_0x3609ed);})['then'](function(_0x4ff12e){_0x799709[_0xefb0('0x24')]=_0x4ff12e['length'];if(_0x799709[_0xefb0('0x24')]===0x0)return[];return db[_0xefb0('0x9c')]['query'](_0x1ee15b[_0xefb0('0x9d')](),_0x3609ed)[_0xefb0('0x2b')](function(_0x4ae6c9){_0x2779ca=_[_0xefb0('0x9e')](_0x4ae6c9,'id');_0x3609ed=_[_0xefb0('0x9f')](_0x3609ed,{'model':db['SmsInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x38e7ff[_0xefb0('0x43')][_0xefb0('0x46')]){_0x4a0cc4[_0xefb0('0x44')][_0xefb0('0x35')](function(_0x3f2a72){_0x501c01[_0xefb0('0x4d')]('i.'+_0x3f2a72);});}else{_0x501c01[_0xefb0('0x4d')](_0xefb0('0x92'),_0xefb0('0xa0'));_0x501c01[_0xefb0('0x4d')]('a.key',_0xefb0('0xa1'));_0x501c01[_0xefb0('0x4d')]('a.mandatoryDisposition',_0xefb0('0xa2'));_0x501c01[_0xefb0('0x4d')](_0xefb0('0xa3'),_0xefb0('0x93'));_0x501c01[_0xefb0('0x4d')](_0xefb0('0xa4'));_0x501c01[_0xefb0('0x4d')](_0xefb0('0xa5'),'Contact.firstName');_0x501c01['field'](_0xefb0('0xa6'),_0xefb0('0xa7'));_0x501c01[_0xefb0('0x4d')]('c.email',_0xefb0('0xa8'));_0x501c01['field'](_0xefb0('0xa9'),_0xefb0('0xaa'));_0x501c01['field'](_0xefb0('0xab'),'Contact.mobile');_0x501c01['field'](_0xefb0('0xac'),'Contact.fax');_0x501c01[_0xefb0('0x4d')](_0xefb0('0xad'),_0xefb0('0xae'));_0x501c01[_0xefb0('0x4d')]('o.internal','Owner.internal');_0x501c01[_0xefb0('0x4d')](_0xefb0('0xaf'),'TagIds');}if(_0x4a0cc4['limit'])_0x501c01[_0xefb0('0x25')](_0x4a0cc4['limit']);if(_0x4a0cc4[_0xefb0('0x22')])_0x501c01[_0xefb0('0x22')](_0x4a0cc4[_0xefb0('0x22')]);return db[_0xefb0('0x9c')][_0xefb0('0x43')](_0x501c01[_0xefb0('0x9d')](),_0x3609ed);})['then'](function(_0x251e8e){if(_0x251e8e[_0xefb0('0x47')]>0x0)_0x5a9bf8[_0xefb0('0x77')](_0xefb0('0xb0'),_[_0xefb0('0x30')](_0x251e8e,'id'));return db[_0xefb0('0x9c')][_0xefb0('0x43')](_0x5a9bf8[_0xefb0('0x9d')](),_0x3609ed)['then'](function(_0x3be925){var _0x134d5d=_[_0xefb0('0xb1')](_0x3be925,_0xefb0('0xb2'));var _0x541a65=[];_0x251e8e[_0xefb0('0x35')](function(_0x275d76){_0x541a65['push'](updateSmsInteraction(_0x275d76,_0x2779ca,_0x134d5d));});return BPromise['all'](_0x541a65);});});})[_0xefb0('0x2b')](function(_0x128c5f){_0x799709[_0xefb0('0xb3')]=_0x128c5f;return _0x799709;})[_0xefb0('0x2b')](respondWithFilteredResult(_0x2c7d04,_0x4a0cc4))['catch'](handleError(_0x2c7d04,null));};exports[_0xefb0('0xb4')]=function(_0x2a6e82,_0x45db){var _0x1f61df={'raw':![],'where':{'id':_0x2a6e82[_0xefb0('0xb5')]['id']}},_0x5a10c9={};_0x5a10c9['model']=_['keys'](db['SmsInteraction'][_0xefb0('0xb6')]);_0x5a10c9[_0xefb0('0x43')]=_[_0xefb0('0x72')](_0x2a6e82[_0xefb0('0x43')]);_0x5a10c9[_0xefb0('0x4c')]=_[_0xefb0('0x45')](_0x5a10c9[_0xefb0('0x42')],_0x5a10c9['query']);_0x1f61df[_0xefb0('0x44')]=_[_0xefb0('0x45')](_0x5a10c9['model'],qs['fields'](_0x2a6e82[_0xefb0('0x43')]['fields']));_0x1f61df[_0xefb0('0x44')]=_0x1f61df[_0xefb0('0x44')]['length']?_0x1f61df[_0xefb0('0x44')]:_0x5a10c9[_0xefb0('0x42')];if(_0x2a6e82[_0xefb0('0x43')][_0xefb0('0xb7')]){_0x1f61df['include']=[{'all':!![]}];}_0x1f61df=_['merge']({},_0x1f61df,_0x2a6e82[_0xefb0('0xb8')]);return db[_0xefb0('0x3f')]['find'](_0x1f61df)[_0xefb0('0x2b')](handleEntityNotFound(_0x45db,null))[_0xefb0('0x2b')](respondWithResult(_0x45db,null))[_0xefb0('0xb9')](handleError(_0x45db,null));};exports[_0xefb0('0xba')]=function(_0x7857d6,_0x2953fa){return db[_0xefb0('0x3f')][_0xefb0('0xba')](_0x7857d6[_0xefb0('0xbb')],{})[_0xefb0('0x2b')](respondWithResult(_0x2953fa,0xc9))['catch'](handleError(_0x2953fa,null));};exports['update']=function(_0x3635f2,_0x30acd8){if(_0x3635f2[_0xefb0('0xbb')]['id']){delete _0x3635f2['body']['id'];}return db[_0xefb0('0x3f')][_0xefb0('0x63')]({'where':{'id':_0x3635f2[_0xefb0('0xb5')]['id']}})['then'](handleEntityNotFound(_0x30acd8,null))[_0xefb0('0x2b')](saveUpdates(_0x3635f2[_0xefb0('0xbb')],null))[_0xefb0('0x2b')](respondWithResult(_0x30acd8,null))[_0xefb0('0xb9')](handleError(_0x30acd8,null));};exports['destroy']=function(_0x195cf4,_0x1377fd){return db[_0xefb0('0x3f')][_0xefb0('0x63')]({'where':{'id':_0x195cf4[_0xefb0('0xb5')]['id']}})[_0xefb0('0x2b')](handleEntityNotFound(_0x1377fd,null))['then'](removeEntity(_0x1377fd,null))[_0xefb0('0xb9')](handleError(_0x1377fd,null));};exports['describe']=function(_0x108fa2,_0x462b4a){return db[_0xefb0('0x3f')][_0xefb0('0xbc')]()['then'](respondWithResult(_0x462b4a,null))[_0xefb0('0xb9')](handleError(_0x462b4a,null));};exports[_0xefb0('0xbd')]=function(_0x2fe5b0,_0x19e530,_0x2a8c46){return db[_0xefb0('0xbe')][_0xefb0('0x63')]({'where':{'id':_0x2fe5b0[_0xefb0('0xb5')]['id']}})['then'](handleEntityNotFound(_0x19e530,null))[_0xefb0('0x2b')](function(_0x2c67d2){if(_0x2c67d2){return _0x2c67d2[_0xefb0('0xbd')](_0x2fe5b0[_0xefb0('0xbb')][_0xefb0('0xbf')],_[_0xefb0('0xc0')](_0x2fe5b0[_0xefb0('0xbb')],['ids','id'])||{});}})[_0xefb0('0x2b')](respondWithResult(_0x19e530,null))['catch'](handleError(_0x19e530,null));};exports[_0xefb0('0xc1')]=function(_0x1fc6f6,_0x2ebb1d,_0x1f6caa){var _0x47b895={'raw':![],'where':{}};var _0x2f2dee={};var _0x5b59af={'count':0x0,'rows':[]};return db[_0xefb0('0x3f')]['findOne']({'where':{'id':_0x1fc6f6[_0xefb0('0xb5')]['id']}})[_0xefb0('0x2b')](handleEntityNotFound(_0x2ebb1d,null))[_0xefb0('0x2b')](function(_0x2d35d7){if(_0x2d35d7){_0x2f2dee[_0xefb0('0x42')]=_[_0xefb0('0x72')](db[_0xefb0('0xbe')][_0xefb0('0xb6')]);_0x2f2dee[_0xefb0('0x43')]=_[_0xefb0('0x72')](_0x1fc6f6[_0xefb0('0x43')]);_0x2f2dee[_0xefb0('0x4c')]=_[_0xefb0('0x45')](_0x2f2dee[_0xefb0('0x42')],_0x2f2dee[_0xefb0('0x43')]);_0x47b895[_0xefb0('0x44')]=_[_0xefb0('0x45')](_0x2f2dee[_0xefb0('0x42')],qs[_0xefb0('0x46')](_0x1fc6f6[_0xefb0('0x43')][_0xefb0('0x46')]));_0x47b895[_0xefb0('0x44')]=_0x47b895[_0xefb0('0x44')]['length']?_0x47b895[_0xefb0('0x44')]:_0x2f2dee[_0xefb0('0x42')];if(!_0x1fc6f6[_0xefb0('0x43')]['hasOwnProperty'](_0xefb0('0x49'))){_0x47b895[_0xefb0('0x25')]=qs[_0xefb0('0x25')](_0x1fc6f6['query']['limit']);_0x47b895['offset']=qs['offset'](_0x1fc6f6[_0xefb0('0x43')][_0xefb0('0x22')]);}_0x47b895[_0xefb0('0x4a')]=qs[_0xefb0('0x4b')](_0x1fc6f6[_0xefb0('0x43')][_0xefb0('0x4b')]);_0x47b895[_0xefb0('0x77')]=qs[_0xefb0('0x4c')](_[_0xefb0('0xc2')](_0x1fc6f6[_0xefb0('0x43')],_0x2f2dee[_0xefb0('0x4c')]));_0x47b895[_0xefb0('0x77')]['SmsInteractionId']=_0x2d35d7['id'];if(_0x1fc6f6[_0xefb0('0x43')]['filter']){_0x47b895['where']=_[_0xefb0('0x9f')](_0x47b895['where'],{'$or':_['map'](_0x47b895[_0xefb0('0x44')],function(_0x3a76ee){var _0x2a36c0={};_0x2a36c0[_0x3a76ee]={'$like':'%'+_0x1fc6f6[_0xefb0('0x43')]['filter']+'%'};return _0x2a36c0;})});}if(_0x1fc6f6['query'][_0xefb0('0x7c')]){var _0x53c89c=_0x1fc6f6[_0xefb0('0x43')][_0xefb0('0x7c')][_0xefb0('0x34')](',');var _0x4fa9db={};_0x4fa9db[_0x53c89c[0x0]]={'$gte':moment(_0x53c89c[0x1])[_0xefb0('0xc3')](_0xefb0('0xc4'))};_0x47b895[_0xefb0('0x77')]=_['merge'](_0x47b895[_0xefb0('0x77')],_0x4fa9db);}_0x47b895=_[_0xefb0('0x9f')]({},_0x47b895,_0x1fc6f6[_0xefb0('0xb8')]);return db[_0xefb0('0xbe')][_0xefb0('0x24')]({'where':_0x47b895[_0xefb0('0x77')]})[_0xefb0('0x2b')](function(_0x4d2783){_0x5b59af[_0xefb0('0x24')]=_0x4d2783;if(_0x1fc6f6[_0xefb0('0x43')][_0xefb0('0xb7')]){_0x47b895['include']=[{'all':!![]}];}return db['SmsMessage'][_0xefb0('0xc5')](_0x47b895);})[_0xefb0('0x2b')](function(_0x2d818c){_0x5b59af['rows']=_0x2d818c;return _0x5b59af;});}})[_0xefb0('0x2b')](respondWithFilteredResult(_0x2ebb1d,_0x47b895))[_0xefb0('0xb9')](handleError(_0x2ebb1d,null));};exports[_0xefb0('0xc6')]=function(_0x140a13,_0x1206e7,_0x187454){return db[_0xefb0('0x3f')][_0xefb0('0x63')]({'where':{'id':_0x140a13[_0xefb0('0xb5')]['id']}})[_0xefb0('0x2b')](handleEntityNotFound(_0x1206e7,null))[_0xefb0('0x2b')](function(_0x573ac2){if(_0x573ac2){return _0x573ac2[_0xefb0('0xc7')](_0x140a13[_0xefb0('0xbb')]['ids'],_['omit'](_0x140a13['body'],[_0xefb0('0xbf'),'id'])||{})[_0xefb0('0xc8')](function(){return db[_0xefb0('0x6d')][_0xefb0('0xc5')]({'attributes':['id',_0xefb0('0x2e'),_0xefb0('0xc9')],'where':{'id':_0x140a13[_0xefb0('0xbb')][_0xefb0('0xbf')]}});})[_0xefb0('0x2b')](function(_0x1d771a){socket[_0xefb0('0xca')]('smsInteractionTags:save',{'id':Number(_0x140a13[_0xefb0('0xb5')]['id']),'tags':_0x1d771a||[]});return{'id':Number(_0x140a13[_0xefb0('0xb5')]['id']),'tags':_0x1d771a||[]};});}})['then'](respondWithResult(_0x1206e7,null))['catch'](handleError(_0x1206e7,null));};exports[_0xefb0('0xcb')]=function(_0x576ee1,_0xbb3e5b,_0x4b48e2){return db['SmsInteraction'][_0xefb0('0x63')]({'where':{'id':_0x576ee1[_0xefb0('0xb5')]['id']}})[_0xefb0('0x2b')](handleEntityNotFound(_0xbb3e5b,null))[_0xefb0('0x2b')](function(_0x3531ea){if(_0x3531ea){return _0x3531ea[_0xefb0('0xcb')](_0x576ee1[_0xefb0('0x43')][_0xefb0('0xbf')]);}})['then'](respondWithStatusCode(_0xbb3e5b,null))[_0xefb0('0xb9')](handleError(_0xbb3e5b,null));};exports[_0xefb0('0xcc')]=function(_0x48aa77,_0x3925b0){var _0x5762f3=moment()[_0xefb0('0xcd')]()[_0xefb0('0x9d')]();var _0x477753=path[_0xefb0('0xce')](config['root'],'server','files','tmp');var _0x340281=path[_0xefb0('0xce')](config['root'],_0xefb0('0xcf'),'files',_0xefb0('0xd0'));var _0x1b57a2=path[_0xefb0('0xce')](_0x477753,_0x5762f3);var _0x434f73=util[_0xefb0('0xc3')](_0xefb0('0xd1'),_0x48aa77['params']['id'],_0x5762f3);var _0x43df91=path[_0xefb0('0xce')](_0x477753,_0x434f73);var _0x17a3db=[];_0x17a3db[_0xefb0('0x36')]({'model':db['User'],'as':_0xefb0('0x70'),'attributes':['id','fullname'],'raw':!![]});_0x17a3db[_0xefb0('0x36')]({'model':db[_0xefb0('0xd2')],'as':'Contact','attributes':['id',_0xefb0('0xd3'),'lastName'],'raw':!![]});var _0x12ff7a=[{'model':db['SmsMessage'],'as':_0xefb0('0xd4'),'attributes':['id','body',_0xefb0('0x7a'),'direction','secret','read'],'include':_0x17a3db}];_0x12ff7a[_0xefb0('0x36')]({'model':db[_0xefb0('0xd5')],'as':_0xefb0('0xd6'),'attributes':['id','name']});_0x12ff7a[_0xefb0('0x36')]({'model':db[_0xefb0('0x70')],'as':_0xefb0('0xd7'),'attributes':['id','fullname']});return db[_0xefb0('0x3f')][_0xefb0('0x63')]({'where':{'id':_0x48aa77[_0xefb0('0xb5')]['id']},'include':_0x12ff7a})[_0xefb0('0x2b')](handleEntityNotFound(_0x3925b0,null))['then'](function(_0x3985f5){if(_0x3985f5){var _0x1bab0a=_0x3985f5[_0xefb0('0xd8')]({'plain':!![]});fs['mkdirSync'](_0x1b57a2);var _0x50e708={'channel':_0xefb0('0xd9'),'account':_0x1bab0a['Account'][_0xefb0('0x2e')],'agent':_0x1bab0a['Owner']?_0x1bab0a[_0xefb0('0xd7')][_0xefb0('0x31')]:_0xefb0('0xda'),'createdAt':moment(_0x1bab0a['createdAt'])[_0xefb0('0xc3')](_0xefb0('0xc4'))[_0xefb0('0x9d')](),'closedAt':_0x1bab0a['closed']?moment(_0x1bab0a[_0xefb0('0xdb')])[_0xefb0('0xc3')]('YYYY-MM-DD\x20HH:mm:ss')[_0xefb0('0x9d')]():'','disposition':_0x1bab0a[_0xefb0('0xdc')],'messages':_(_0x1bab0a[_0xefb0('0xd4')])[_0xefb0('0x88')]({'secret':![]})[_0xefb0('0x30')](function(_0xe6a213){return{'date':moment(_0xe6a213['createdAt'])[_0xefb0('0xc3')]('YYYY-MM-DD\x20HH:mm:ss')[_0xefb0('0x9d')](),'sender':_0xe6a213[_0xefb0('0xdd')]===_0xefb0('0xde')?_0xe6a213[_0xefb0('0x70')]?_0xe6a213[_0xefb0('0x70')][_0xefb0('0x31')]:_0xefb0('0xdf'):_0xe6a213[_0xefb0('0x66')]['firstName']+(_0xe6a213['Contact']['lastName']?'\x20'+_0xe6a213['Contact']['lastName']:''),'body':_0xe6a213[_0xefb0('0xbb')],'direction':_0xe6a213[_0xefb0('0xdd')]===_0xefb0('0xde')?'A':'C','secret':_0xe6a213[_0xefb0('0xe0')],'read':_0xe6a213[_0xefb0('0x82')]};})['value']()};return ejs['renderFile'](path[_0xefb0('0xce')](config[_0xefb0('0xe1')],'server','views',_0xefb0('0xe2')),{'interaction':_0x50e708})[_0xefb0('0x2b')](function(_0x49d0b9){var _0x138196=path[_0xefb0('0xce')](_0x1b57a2,_0xefb0('0xe3')+_0x1bab0a['id']+'-'+_0x5762f3+_0xefb0('0xe4'));var _0x3605db={'path':_0x138196,'channel':_0xefb0('0xd9'),'interactionId':_0x1bab0a['id']};return pdf[_0xefb0('0xe5')](_0x49d0b9,_0x3605db);})['then'](function(){return new BPromise(function(_0x14e2fd,_0x264716){zipdir(_0x1b57a2,{'saveTo':_0x43df91},function(_0x1fafa9,_0x16b0c4){if(_0x1fafa9)return _0x264716(_0x1fafa9);return _0x14e2fd(_0x16b0c4);});})[_0xefb0('0x2b')](function(){return new BPromise(function(_0x37294f,_0x1f2f22){rimraf(_0x1b57a2,function(_0x389956){if(_0x389956)_0x1f2f22(_0x389956);return _0x37294f();});});})['then'](function(){return _0x3925b0[_0xefb0('0xcc')](_0x43df91,_0x434f73,function(_0x2f6f85){if(_0x2f6f85){console[_0xefb0('0xe6')](_0xefb0('0xe7'),_0x2f6f85);}else{fs[_0xefb0('0xe8')](_0x43df91);}});});});}else{return _0x3925b0[_0xefb0('0x1e')](0xc8);}})['catch'](handleError(_0x3925b0,null));};