Built motion from commit (unavailable).|2.4.21
[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 _0xacf4=['log','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','defaults','redis','localhost','socket.io-emitter','./smsInteraction.socket','register','sendStatus','end','status','count','offset','limit','set','Content-Range','json','apply','save','update','then','error','stack','name','send','Users','map','fullname','TagIds','Tags','split','forEach','catch','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','users','u.id\x20=\x20ui.UserId','sms_interactions','left_join','cm_contacts','o.id\x20=\x20i.UserId','sms_accounts','a.id\x20=\x20i.SmsAccountId','sms_messages','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','conditions','length','find','value','having','`\x20>\x200','Contact','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','operator','$substring','UserId','body','some','compact','isEmpty','i.SmsAccountId\x20IN\x20?','$gte','parse','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','\x27\x27\x27\x27','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','group','SELECT','clone','i.id','unreadMessages','resolve','SmsAccountId','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','SmsInteraction','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','push','includeAll','include','create','params','describe','addMessage','SmsMessage','ids','omit','getMessages','findOne','nolimit','format','YYYY-MM-DD\x20HH:mm:ss','options','findAll','setTags','spread','Tag','smsInteractionTags:save','removeTags','download','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','User','CmContact','firstName','lastName','Messages','createdAt','direction','secret','SmsAccount','Account','Owner','get','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','Sms','YYYY-MM-DD','N.A.','closed','disposition','out','views','toFile','.pdf'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xacf4,0xe7));var _0x4acf=function(_0x10dd3f,_0x4914c1){_0x10dd3f=_0x10dd3f-0x0;var _0x16e8b9=_0xacf4[_0x10dd3f];return _0x16e8b9;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x4acf('0x0'));var zipdir=require(_0x4acf('0x1'));var jsonpatch=require(_0x4acf('0x2'));var rp=require(_0x4acf('0x3'));var moment=require(_0x4acf('0x4'));var BPromise=require(_0x4acf('0x5'));var Mustache=require(_0x4acf('0x6'));var util=require('util');var path=require(_0x4acf('0x7'));var sox=require(_0x4acf('0x8'));var csv=require('to-csv');var ejs=require(_0x4acf('0x9'));var fs=require('fs');var _=require(_0x4acf('0xa'));var squel=require(_0x4acf('0xb'));var crypto=require(_0x4acf('0xc'));var jsforce=require(_0x4acf('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x4acf('0xe'));var Papa=require('papaparse');var Redis=require(_0x4acf('0xf'));var authService=require(_0x4acf('0x10'));var qs=require(_0x4acf('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4acf('0x12'));var logger=require(_0x4acf('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x4acf('0x14'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x4acf('0x15')](config[_0x4acf('0x16')],{'host':_0x4acf('0x17'),'port':0x18eb});var socket=require(_0x4acf('0x18'))(new Redis(config[_0x4acf('0x16')]));require(_0x4acf('0x19'))[_0x4acf('0x1a')](socket);function respondWithStatusCode(_0x15386a,_0x2025ca){_0x2025ca=_0x2025ca||0xcc;return function(_0x312bb5){if(_0x312bb5){return _0x15386a[_0x4acf('0x1b')](_0x2025ca);}return _0x15386a['status'](_0x2025ca)[_0x4acf('0x1c')]();};}function respondWithResult(_0x57d8e0,_0x34cec1){_0x34cec1=_0x34cec1||0xc8;return function(_0x4041c8){if(_0x4041c8){return _0x57d8e0[_0x4acf('0x1d')](_0x34cec1)['json'](_0x4041c8);}};}function respondWithFilteredResult(_0x5207e7,_0x13d10e){return function(_0x40cb8d){if(_0x40cb8d){var _0x240c00=_0x40cb8d[_0x4acf('0x1e')],_0x4b1d93=_0x13d10e[_0x4acf('0x1f')],_0x2a678b=_0x13d10e[_0x4acf('0x1f')]+_0x13d10e[_0x4acf('0x20')],_0x137302;if(_0x2a678b>=_0x240c00){_0x2a678b=_0x240c00;_0x137302=0xc8;}else{_0x137302=0xce;}_0x5207e7[_0x4acf('0x1d')](_0x137302);return _0x5207e7[_0x4acf('0x21')](_0x4acf('0x22'),_0x4b1d93+'-'+_0x2a678b+'/'+_0x240c00)[_0x4acf('0x23')](_0x40cb8d);}return null;};}function patchUpdates(_0x1a3118){return function(_0x5f0284){try{jsonpatch[_0x4acf('0x24')](_0x5f0284,_0x1a3118,!![]);}catch(_0x6bd89){return BPromise['reject'](_0x6bd89);}return _0x5f0284[_0x4acf('0x25')]();};}function saveUpdates(_0x17775f,_0x569d9e){return function(_0x3b26ac){if(_0x3b26ac){return _0x3b26ac[_0x4acf('0x26')](_0x17775f)[_0x4acf('0x27')](function(_0x454555){return _0x454555;});}return null;};}function removeEntity(_0x53885f,_0x1a2286){return function(_0x12e717){if(_0x12e717){return _0x12e717['destroy']()[_0x4acf('0x27')](function(){_0x53885f[_0x4acf('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x126522,_0x7ebb){return function(_0x38152c){if(!_0x38152c){_0x126522[_0x4acf('0x1b')](0x194);}return _0x38152c;};}function handleError(_0x571a30,_0x50236d){_0x50236d=_0x50236d||0x1f4;return function(_0x17a756){logger[_0x4acf('0x28')](_0x17a756[_0x4acf('0x29')]);if(_0x17a756[_0x4acf('0x2a')]){delete _0x17a756[_0x4acf('0x2a')];}_0x571a30[_0x4acf('0x1d')](_0x50236d)[_0x4acf('0x2b')](_0x17a756);};}function getInteractionUsers(_0x7a1e79,_0x382c41){return new BPromise(function(_0x2a3830,_0x57989e){try{if(_0x382c41[_0x7a1e79['id']]){_0x7a1e79[_0x4acf('0x2c')]=_[_0x4acf('0x2d')](_0x382c41[_0x7a1e79['id']],function(_0xd027c7){return{'id':_0xd027c7['id'],'fullname':_0xd027c7[_0x4acf('0x2e')]};});}}catch(_0x252cf1){_0x57989e(_0x252cf1);}_0x2a3830(_0x7a1e79);});}function getInteractionTags(_0x28570f,_0x27384c){return new BPromise(function(_0x5d862f,_0x337b3c){try{if(_0x28570f[_0x4acf('0x2f')]){_0x28570f[_0x4acf('0x30')]=[];_0x28570f['TagIds'][_0x4acf('0x31')](',')[_0x4acf('0x32')](function(_0x1fc815){_0x28570f[_0x4acf('0x30')]['push'](_0x27384c[_0x1fc815]);});}delete _0x28570f[_0x4acf('0x2f')];}catch(_0x1bf97e){_0x337b3c(_0x1bf97e);}_0x5d862f(_0x28570f);});}function updateSmsInteraction(_0x3f9990,_0x5e2332,_0x31fbce){return new BPromise(function(_0x34e2ee,_0x4084fe){return getInteractionUsers(_0x3f9990,_0x31fbce)[_0x4acf('0x27')](function(_0xd221b7){return getInteractionTags(_0xd221b7,_0x5e2332);})[_0x4acf('0x27')](function(_0x490880){_0x34e2ee(_0x490880);})[_0x4acf('0x33')](function(_0x25748e){_0x4084fe(_0x25748e);});});}exports['index']=function(_0xfd8ab5,_0x543a37){var _0x4cd020={},_0x58aacf={},_0x4bd85c={'count':0x0,'rows':[]};var _0x4ce916=_['map'](db['SmsInteraction'][_0x4acf('0x34')],function(_0x1b45f6){return{'name':_0x1b45f6['fieldName'],'type':_0x1b45f6[_0x4acf('0x35')][_0x4acf('0x36')]};});_0x58aacf[_0x4acf('0x37')]=_[_0x4acf('0x2d')](_0x4ce916,_0x4acf('0x2a'));_0x58aacf[_0x4acf('0x38')]=_[_0x4acf('0x39')](_0xfd8ab5[_0x4acf('0x38')]);_0x58aacf[_0x4acf('0x3a')]=_[_0x4acf('0x3b')](_0x58aacf['model'],_0x58aacf['query']);_0x4cd020[_0x4acf('0x3c')]=_[_0x4acf('0x3b')](_0x58aacf['model'],qs[_0x4acf('0x3d')](_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x3d')]));_0x4cd020[_0x4acf('0x3c')]=_0x4cd020['attributes']['length']?_0x4cd020[_0x4acf('0x3c')]:_0x58aacf[_0x4acf('0x37')];if(!_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x3e')]('nolimit')){_0x4cd020[_0x4acf('0x20')]=qs[_0x4acf('0x20')](_0xfd8ab5['query']['limit']);_0x4cd020['offset']=qs['offset'](_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x1f')]);}_0x4cd020[_0x4acf('0x3f')]=qs['sort'](_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x40')]);_0x4cd020[_0x4acf('0x41')]=qs[_0x4acf('0x3a')](_[_0x4acf('0x42')](_0xfd8ab5[_0x4acf('0x38')],_0x58aacf[_0x4acf('0x3a')]));var _0x17d5e9=[];var _0x461547=squel[_0x4acf('0x43')]()[_0x4acf('0x44')]('id')['field'](_0x4acf('0x2a'))[_0x4acf('0x44')](_0x4acf('0x45'))[_0x4acf('0x46')](_0x4acf('0x47'));var _0x58bc5d=squel['select']()[_0x4acf('0x44')](_0x4acf('0x48'))[_0x4acf('0x44')](_0x4acf('0x49'))[_0x4acf('0x44')](_0x4acf('0x4a'))['from'](_0x4acf('0x4b'),'ui')['left_join'](_0x4acf('0x4c'),'u',_0x4acf('0x4d'));var _0x54b2a8=squel['select']()[_0x4acf('0x46')](_0x4acf('0x4e'),'i')[_0x4acf('0x4f')](_0x4acf('0x50'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x4acf('0x4f')](_0x4acf('0x4c'),'o',_0x4acf('0x51'))[_0x4acf('0x4f')](_0x4acf('0x52'),'a',_0x4acf('0x53'))[_0x4acf('0x4f')](_0x4acf('0x54'),'me','me.SmsInteractionId\x20=\x20i.id')['left_join'](_0x4acf('0x55'),'it',_0x4acf('0x56'))[_0x4acf('0x4f')](_0x4acf('0x47'),'t',_0x4acf('0x57'));var _0x859247=squel[_0x4acf('0x58')]();var _0x33b68=[];var _0x34b447=squel[_0x4acf('0x58')]();var _0x32d212;if(_0xfd8ab5[_0x4acf('0x38')]['search']){_0x32d212=as[_0x4acf('0x59')](_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x5a')]);var _0x464466=_0x32d212[_0x4acf('0x5b')];for(var _0x3cf54a=0x0;_0x3cf54a<_0x32d212[_0x4acf('0x5c')][_0x4acf('0x5d')];_0x3cf54a++){var _0x3382ad=_0x32d212[_0x4acf('0x5c')][_0x3cf54a];var _0xe96d97='i';var _0x3ad746=_[_0x4acf('0x5e')](_0x4ce916,[_0x4acf('0x2a'),_0x3382ad[_0x4acf('0x44')]]);if(!_0x3ad746){switch(_0x3382ad[_0x4acf('0x44')]){case'unreadMessages':if(_0x3382ad[_0x4acf('0x5f')]==0x1){_0x54b2a8[_0x4acf('0x60')]('`'+_0x3382ad[_0x4acf('0x44')]+'`\x20=\x200');}else{_0x54b2a8[_0x4acf('0x60')]('`'+_0x3382ad[_0x4acf('0x44')]+_0x4acf('0x61'));}break;case _0x4acf('0x62'):if(_0x3382ad['operator']==='$substring'){if(_0x3382ad['value'][_0x4acf('0x31')]('\x20')[_0x4acf('0x5d')]>0x1){_0x859247[_0x464466](_0x4acf('0x63'),qs['getFullTextValue'](_0x3382ad[_0x4acf('0x5f')]),null);}else{var _0x33de1c='%'+_0x3382ad['value']+'%';_0x859247[_0x464466](_0x4acf('0x64'),_0x33de1c,_0x33de1c,_0x33de1c);}}else{_0x3ad746=_[_0x4acf('0x5e')](_0x4ce916,[_0x4acf('0x2a'),_0x4acf('0x65')]);_0x3382ad['field']=_0x4acf('0x65');_0x26d4c7=as[_0x4acf('0x66')](_0xe96d97,_0x3ad746[_0x4acf('0x35')],_0x3382ad);_0x859247[_0x464466](_0x26d4c7[_0x4acf('0x67')],_0x26d4c7['value'][_0x4acf('0x68')],_0x26d4c7['value'][_0x4acf('0x1c')]);}break;case'Tag':var _0x41afd2=_0x3382ad[_0x4acf('0x5f')][_0x4acf('0x31')](',')[_0x4acf('0x2d')](function(_0x547128){return Number(_0x547128);});_0x41afd2['forEach'](function(_0x4cb554){_0x34b447['or'](_0x4acf('0x69'),'%,'+_0x4cb554+',%');});_0x33b68=_[_0x4acf('0x6a')](_0x33b68,_0x41afd2);break;case'User':if(_0x3382ad[_0x4acf('0x6b')]===_0x4acf('0x6c')){_0x859247[_0x464466]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x3382ad[_0x4acf('0x5f')]+'%',null);}else{_0x3ad746=_[_0x4acf('0x5e')](_0x4ce916,['name',_0x4acf('0x6d')]);_0x3382ad[_0x4acf('0x44')]=_0x4acf('0x6d');_0x26d4c7=as['buildExpression'](_0xe96d97,_0x3ad746[_0x4acf('0x35')],_0x3382ad);_0x859247[_0x464466](_0x26d4c7[_0x4acf('0x67')],_0x26d4c7[_0x4acf('0x5f')][_0x4acf('0x68')],_0x26d4c7['value'][_0x4acf('0x1c')]);}break;case _0x4acf('0x6e'):_0x26d4c7=as[_0x4acf('0x66')]('me',null,_0x3382ad);_0x859247[_0x464466](_0x26d4c7['text'],_0x26d4c7[_0x4acf('0x5f')][_0x4acf('0x68')],_0x26d4c7[_0x4acf('0x5f')][_0x4acf('0x1c')]);break;}}else{var _0x26d4c7=as[_0x4acf('0x66')](_0xe96d97,_0x3ad746[_0x4acf('0x35')],_0x3382ad);_0x859247[_0x464466](_0x26d4c7[_0x4acf('0x67')],_0x26d4c7[_0x4acf('0x5f')][_0x4acf('0x68')],_0x26d4c7[_0x4acf('0x5f')][_0x4acf('0x1c')]);}}}else{var _0x237c8b=_(_0xfd8ab5[_0x4acf('0x38')])[_0x4acf('0x39')]()['map'](function(_0x262b6d){return _[_0x4acf('0x6f')](_0x4ce916,[_0x4acf('0x2a'),_0x262b6d])?_0x262b6d:undefined;})[_0x4acf('0x70')]()[_0x4acf('0x5f')]();if(!_[_0x4acf('0x71')](_0x237c8b)){_0x237c8b[_0x4acf('0x32')](function(_0x2845b5){if(_0x2845b5==='SmsAccountId'){_0x54b2a8['where'](_0x4acf('0x72'),[]['concat'](_0xfd8ab5[_0x4acf('0x38')][_0x2845b5]));}else if(_0x2845b5==='createdAt'){var _0x4dd618=JSON['parse'](_0xfd8ab5[_0x4acf('0x38')][_0x2845b5])[_0x4acf('0x73')];var _0x3b9ed2=JSON[_0x4acf('0x74')](_0xfd8ab5[_0x4acf('0x38')][_0x2845b5])[_0x4acf('0x75')];_0x54b2a8['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x4dd618,_0x3b9ed2);}else{if(_0xfd8ab5['query'][_0x2845b5]===_0x4acf('0x76')){_0x54b2a8[_0x4acf('0x41')]('i.'+_0x2845b5+_0x4acf('0x77'));}else{_0x54b2a8['where']('i.'+_0x2845b5+_0x4acf('0x78'),_0xfd8ab5[_0x4acf('0x38')][_0x2845b5]);}}});}if(_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x79')]){if(_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x79')]==0x1){_0x54b2a8['having'](_0x4acf('0x7a'));}else{_0x54b2a8['having'](_0x4acf('0x7b'));}}if(_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x7c')]){_0x33b68=_[_0x4acf('0x7d')](_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x7c')])?_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x7c')]:new Array(_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x7c')]);_0x33b68[_0x4acf('0x32')](function(_0x203734){_0x34b447['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x203734+',%');});}if(_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x7e')]){var _0x40790e=_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x7e')][_0x4acf('0x7f')]('\x5c','\x5c\x5c')[_0x4acf('0x7f')]('\x27\x27',_0x4acf('0x80'));if(qs[_0x4acf('0x81')](_0x40790e)){_0x859247['or'](_0x4acf('0x82'),_0x40790e+'%')['or']('i.phone\x20LIKE\x20?',_0x40790e+'%');}else{_0x859247['or'](_0x4acf('0x83'),qs[_0x4acf('0x84')](_0x40790e))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x40790e+'%');}}}_0x54b2a8[_0x4acf('0x41')](_0x859247);_0x54b2a8[_0x4acf('0x85')]('i.id');var _0x1fbf31={'type':db['Sequelize']['QueryTypes'][_0x4acf('0x86')],'raw':!![]};var _0x50bc20=_0x54b2a8[_0x4acf('0x87')]();_0x50bc20[_0x4acf('0x44')](_0x4acf('0x88'));_0x50bc20[_0x4acf('0x44')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x4acf('0x89'));if(_0x4cd020[_0x4acf('0x3f')]){_0x4cd020['order']['forEach'](function(_0x47e558){_0x54b2a8[_0x4acf('0x3f')]('i.'+_0x47e558[0x0],_0x47e558[0x1]==='DESC'?![]:!![]);});}if(!_[_0x4acf('0x71')](_0x33b68)){_0x54b2a8[_0x4acf('0x60')](_0x34b447);_0x50bc20[_0x4acf('0x41')]('t.id\x20IN\x20?',_0x33b68);}BPromise[_0x4acf('0x8a')]()[_0x4acf('0x27')](function(){if(!_0x32d212){if(_0xfd8ab5['query'][_0x4acf('0x8b')]||_0xfd8ab5[_0x4acf('0x38')]['journey'])return;_0x50bc20[_0x4acf('0x41')](_0x4acf('0x8c'));_0x54b2a8[_0x4acf('0x41')](_0x4acf('0x8c'));return;}return _0xfd8ab5[_0x4acf('0x8d')][_0x4acf('0x8e')]({'attributes':['id'],'raw':!![]})['then'](function(_0x208157){if(_['isEmpty'](_0x208157)){_0x50bc20[_0x4acf('0x41')](_0x4acf('0x8f'));_0x54b2a8['where']('i.SmsAccountId\x20IS\x20NULL');}else{_0x50bc20['where'](_0x4acf('0x72'),_['map'](_0x208157,'id'));_0x54b2a8['where']('i.SmsAccountId\x20IN\x20?',_[_0x4acf('0x2d')](_0x208157,'id'));}});})['then'](function(){db[_0x4acf('0x90')][_0x4acf('0x38')](_0x50bc20[_0x4acf('0x91')](),_0x1fbf31)[_0x4acf('0x27')](function(_0x41b415){_0x4bd85c['count']=_0x41b415['length'];if(_0x4bd85c[_0x4acf('0x1e')]===0x0)return[];return db[_0x4acf('0x90')][_0x4acf('0x38')](_0x461547[_0x4acf('0x91')](),_0x1fbf31)[_0x4acf('0x27')](function(_0x579d4e){_0x17d5e9=_[_0x4acf('0x92')](_0x579d4e,'id');_0x1fbf31=_[_0x4acf('0x93')](_0x1fbf31,{'model':db[_0x4acf('0x94')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xfd8ab5[_0x4acf('0x38')][_0x4acf('0x3d')]){_0x4cd020[_0x4acf('0x3c')][_0x4acf('0x32')](function(_0x5b3925){_0x54b2a8[_0x4acf('0x44')]('i.'+_0x5b3925);});}else{_0x54b2a8['field'](_0x4acf('0x95'),_0x4acf('0x89'));_0x54b2a8[_0x4acf('0x44')](_0x4acf('0x96'),_0x4acf('0x97'));_0x54b2a8['field'](_0x4acf('0x98'),'Account.mandatoryDisposition');_0x54b2a8[_0x4acf('0x44')](_0x4acf('0x99'));_0x54b2a8['field'](_0x4acf('0x9a'),_0x4acf('0x9b'));_0x54b2a8[_0x4acf('0x44')](_0x4acf('0x9c'),_0x4acf('0x9d'));_0x54b2a8['field'](_0x4acf('0x9e'),'Contact.email');_0x54b2a8['field'](_0x4acf('0x9f'),_0x4acf('0xa0'));_0x54b2a8[_0x4acf('0x44')](_0x4acf('0xa1'),'Contact.mobile');_0x54b2a8['field'](_0x4acf('0xa2'),_0x4acf('0xa3'));_0x54b2a8[_0x4acf('0x44')](_0x4acf('0xa4'),_0x4acf('0xa5'));_0x54b2a8[_0x4acf('0x44')](_0x4acf('0xa6'),_0x4acf('0xa7'));_0x54b2a8['field']('GROUP_CONCAT(DISTINCT\x20t.id)',_0x4acf('0x2f'));}_0x54b2a8[_0x4acf('0x20')](_0x4cd020[_0x4acf('0x20')]);_0x54b2a8[_0x4acf('0x1f')](_0x4cd020[_0x4acf('0x1f')]);return db[_0x4acf('0x90')][_0x4acf('0x38')](_0x54b2a8[_0x4acf('0x91')](),_0x1fbf31);})[_0x4acf('0x27')](function(_0x4c2904){_0x58bc5d[_0x4acf('0x41')](_0x4acf('0xa8'),_[_0x4acf('0x2d')](_0x4c2904,'id'));return db[_0x4acf('0x90')][_0x4acf('0x38')](_0x58bc5d[_0x4acf('0x91')](),_0x1fbf31)[_0x4acf('0x27')](function(_0x1c57ce){var _0x37870c=_[_0x4acf('0xa9')](_0x1c57ce,_0x4acf('0xaa'));var _0x467114=[];_0x4c2904[_0x4acf('0x32')](function(_0x4ce149){_0x467114[_0x4acf('0xab')](updateSmsInteraction(_0x4ce149,_0x17d5e9,_0x37870c));});return BPromise['all'](_0x467114);});});})[_0x4acf('0x27')](function(_0x322e45){_0x4bd85c['rows']=_0x322e45;return _0x4bd85c;})[_0x4acf('0x27')](respondWithFilteredResult(_0x543a37,_0x4cd020));})[_0x4acf('0x33')](handleError(_0x543a37,null));};exports['show']=function(_0x555160,_0x175c91){var _0x440d48={'raw':![],'where':{'id':_0x555160['params']['id']}},_0x4f239f={};_0x4f239f[_0x4acf('0x37')]=_[_0x4acf('0x39')](db[_0x4acf('0x94')][_0x4acf('0x34')]);_0x4f239f['query']=_[_0x4acf('0x39')](_0x555160[_0x4acf('0x38')]);_0x4f239f[_0x4acf('0x3a')]=_[_0x4acf('0x3b')](_0x4f239f[_0x4acf('0x37')],_0x4f239f[_0x4acf('0x38')]);_0x440d48[_0x4acf('0x3c')]=_['intersection'](_0x4f239f[_0x4acf('0x37')],qs[_0x4acf('0x3d')](_0x555160[_0x4acf('0x38')]['fields']));_0x440d48[_0x4acf('0x3c')]=_0x440d48[_0x4acf('0x3c')][_0x4acf('0x5d')]?_0x440d48[_0x4acf('0x3c')]:_0x4f239f[_0x4acf('0x37')];if(_0x555160[_0x4acf('0x38')][_0x4acf('0xac')]){_0x440d48[_0x4acf('0xad')]=[{'all':!![]}];}_0x440d48=_['merge']({},_0x440d48,_0x555160['options']);return db['SmsInteraction']['find'](_0x440d48)['then'](handleEntityNotFound(_0x175c91,null))[_0x4acf('0x27')](respondWithResult(_0x175c91,null))['catch'](handleError(_0x175c91,null));};exports[_0x4acf('0xae')]=function(_0x454035,_0x59596e){return db[_0x4acf('0x94')][_0x4acf('0xae')](_0x454035[_0x4acf('0x6e')],{})[_0x4acf('0x27')](respondWithResult(_0x59596e,0xc9))[_0x4acf('0x33')](handleError(_0x59596e,null));};exports[_0x4acf('0x26')]=function(_0x420beb,_0x29beb3){if(_0x420beb[_0x4acf('0x6e')]['id']){delete _0x420beb[_0x4acf('0x6e')]['id'];}return db[_0x4acf('0x94')][_0x4acf('0x5e')]({'where':{'id':_0x420beb[_0x4acf('0xaf')]['id']}})[_0x4acf('0x27')](handleEntityNotFound(_0x29beb3,null))[_0x4acf('0x27')](saveUpdates(_0x420beb[_0x4acf('0x6e')],null))[_0x4acf('0x27')](respondWithResult(_0x29beb3,null))['catch'](handleError(_0x29beb3,null));};exports['destroy']=function(_0x16ac70,_0x1a7a89){return db[_0x4acf('0x94')][_0x4acf('0x5e')]({'where':{'id':_0x16ac70[_0x4acf('0xaf')]['id']}})[_0x4acf('0x27')](handleEntityNotFound(_0x1a7a89,null))[_0x4acf('0x27')](removeEntity(_0x1a7a89,null))[_0x4acf('0x33')](handleError(_0x1a7a89,null));};exports[_0x4acf('0xb0')]=function(_0x39151c,_0x43aff6){return db[_0x4acf('0x94')]['describe']()['then'](respondWithResult(_0x43aff6,null))[_0x4acf('0x33')](handleError(_0x43aff6,null));};exports[_0x4acf('0xb1')]=function(_0x343b84,_0xa57498,_0x336ef5){return db[_0x4acf('0xb2')]['find']({'where':{'id':_0x343b84[_0x4acf('0xaf')]['id']}})[_0x4acf('0x27')](handleEntityNotFound(_0xa57498,null))[_0x4acf('0x27')](function(_0x5146fc){if(_0x5146fc){return _0x5146fc[_0x4acf('0xb1')](_0x343b84[_0x4acf('0x6e')][_0x4acf('0xb3')],_[_0x4acf('0xb4')](_0x343b84[_0x4acf('0x6e')],[_0x4acf('0xb3'),'id'])||{});}})[_0x4acf('0x27')](respondWithResult(_0xa57498,null))[_0x4acf('0x33')](handleError(_0xa57498,null));};exports[_0x4acf('0xb5')]=function(_0x4eb713,_0x371ab5,_0x56b4d5){var _0x483069={'raw':![],'where':{}};var _0xfd74f={};var _0x135a82={'count':0x0,'rows':[]};return db[_0x4acf('0x94')][_0x4acf('0xb6')]({'where':{'id':_0x4eb713[_0x4acf('0xaf')]['id']}})[_0x4acf('0x27')](handleEntityNotFound(_0x371ab5,null))[_0x4acf('0x27')](function(_0x1aa0c5){if(_0x1aa0c5){_0xfd74f['model']=_[_0x4acf('0x39')](db[_0x4acf('0xb2')][_0x4acf('0x34')]);_0xfd74f[_0x4acf('0x38')]=_[_0x4acf('0x39')](_0x4eb713[_0x4acf('0x38')]);_0xfd74f['filters']=_[_0x4acf('0x3b')](_0xfd74f[_0x4acf('0x37')],_0xfd74f[_0x4acf('0x38')]);_0x483069[_0x4acf('0x3c')]=_[_0x4acf('0x3b')](_0xfd74f[_0x4acf('0x37')],qs[_0x4acf('0x3d')](_0x4eb713['query'][_0x4acf('0x3d')]));_0x483069[_0x4acf('0x3c')]=_0x483069['attributes'][_0x4acf('0x5d')]?_0x483069[_0x4acf('0x3c')]:_0xfd74f[_0x4acf('0x37')];if(!_0x4eb713[_0x4acf('0x38')]['hasOwnProperty'](_0x4acf('0xb7'))){_0x483069[_0x4acf('0x20')]=qs[_0x4acf('0x20')](_0x4eb713[_0x4acf('0x38')][_0x4acf('0x20')]);_0x483069[_0x4acf('0x1f')]=qs[_0x4acf('0x1f')](_0x4eb713[_0x4acf('0x38')][_0x4acf('0x1f')]);}_0x483069[_0x4acf('0x3f')]=qs[_0x4acf('0x40')](_0x4eb713[_0x4acf('0x38')][_0x4acf('0x40')]);_0x483069[_0x4acf('0x41')]=qs[_0x4acf('0x3a')](_[_0x4acf('0x42')](_0x4eb713['query'],_0xfd74f[_0x4acf('0x3a')]));_0x483069[_0x4acf('0x41')][_0x4acf('0xaa')]=_0x1aa0c5['id'];if(_0x4eb713[_0x4acf('0x38')][_0x4acf('0x7e')]){_0x483069[_0x4acf('0x41')]=_['merge'](_0x483069[_0x4acf('0x41')],{'$or':_['map'](_0x483069['attributes'],function(_0x175059){var _0x5d5f6e={};_0x5d5f6e[_0x175059]={'$like':'%'+_0x4eb713[_0x4acf('0x38')][_0x4acf('0x7e')]+'%'};return _0x5d5f6e;})});}if(_0x4eb713[_0x4acf('0x38')][_0x4acf('0x73')]){var _0x361c03=_0x4eb713[_0x4acf('0x38')][_0x4acf('0x73')]['split'](',');var _0x10aa8b={};_0x10aa8b[_0x361c03[0x0]]={'$gte':moment(_0x361c03[0x1])[_0x4acf('0xb8')](_0x4acf('0xb9'))};_0x483069[_0x4acf('0x41')]=_[_0x4acf('0x93')](_0x483069[_0x4acf('0x41')],_0x10aa8b);}_0x483069=_[_0x4acf('0x93')]({},_0x483069,_0x4eb713[_0x4acf('0xba')]);return db[_0x4acf('0xb2')][_0x4acf('0x1e')]({'where':_0x483069[_0x4acf('0x41')]})['then'](function(_0xbb57af){_0x135a82[_0x4acf('0x1e')]=_0xbb57af;if(_0x4eb713['query'][_0x4acf('0xac')]){_0x483069[_0x4acf('0xad')]=[{'all':!![]}];}return db[_0x4acf('0xb2')][_0x4acf('0xbb')](_0x483069);})[_0x4acf('0x27')](function(_0xcb7c90){_0x135a82['rows']=_0xcb7c90;return _0x135a82;});}})[_0x4acf('0x27')](respondWithFilteredResult(_0x371ab5,_0x483069))[_0x4acf('0x33')](handleError(_0x371ab5,null));};exports['addTags']=function(_0x4c7835,_0x26d915,_0x1cbb04){return db['SmsInteraction'][_0x4acf('0x5e')]({'where':{'id':_0x4c7835['params']['id']}})[_0x4acf('0x27')](handleEntityNotFound(_0x26d915,null))[_0x4acf('0x27')](function(_0x1e5b19){if(_0x1e5b19){return _0x1e5b19[_0x4acf('0xbc')](_0x4c7835[_0x4acf('0x6e')][_0x4acf('0xb3')],_[_0x4acf('0xb4')](_0x4c7835[_0x4acf('0x6e')],[_0x4acf('0xb3'),'id'])||{})[_0x4acf('0xbd')](function(){return db[_0x4acf('0xbe')][_0x4acf('0xbb')]({'attributes':['id',_0x4acf('0x2a'),_0x4acf('0x45')],'where':{'id':_0x4c7835[_0x4acf('0x6e')][_0x4acf('0xb3')]}});})[_0x4acf('0x27')](function(_0x30953f){socket['emit'](_0x4acf('0xbf'),{'id':Number(_0x4c7835[_0x4acf('0xaf')]['id']),'tags':_0x30953f||[]});return{'id':Number(_0x4c7835[_0x4acf('0xaf')]['id']),'tags':_0x30953f||[]};});}})['then'](respondWithResult(_0x26d915,null))[_0x4acf('0x33')](handleError(_0x26d915,null));};exports[_0x4acf('0xc0')]=function(_0x3f135c,_0x44b3ba,_0x23c6dc){return db[_0x4acf('0x94')][_0x4acf('0x5e')]({'where':{'id':_0x3f135c[_0x4acf('0xaf')]['id']}})[_0x4acf('0x27')](handleEntityNotFound(_0x44b3ba,null))[_0x4acf('0x27')](function(_0x3cec97){if(_0x3cec97){return _0x3cec97[_0x4acf('0xc0')](_0x3f135c[_0x4acf('0x38')][_0x4acf('0xb3')]);}})[_0x4acf('0x27')](respondWithStatusCode(_0x44b3ba,null))[_0x4acf('0x33')](handleError(_0x44b3ba,null));};exports[_0x4acf('0xc1')]=function(_0x1a63d7,_0x24c5d5){var _0x4ce265=moment()['unix']()[_0x4acf('0x91')]();var _0x197c12=path[_0x4acf('0xc2')](config[_0x4acf('0xc3')],_0x4acf('0xc4'),_0x4acf('0xc5'),_0x4acf('0xc6'));var _0x4b7a65=path[_0x4acf('0xc2')](config['root'],_0x4acf('0xc4'),_0x4acf('0xc5'),_0x4acf('0xc7'));var _0x12a9ab=path[_0x4acf('0xc2')](_0x197c12,_0x4ce265);var _0x45c320=util[_0x4acf('0xb8')](_0x4acf('0xc8'),_0x1a63d7[_0x4acf('0xaf')]['id'],_0x4ce265);var _0x57749b=path[_0x4acf('0xc2')](_0x197c12,_0x45c320);var _0x554d93=[];_0x554d93[_0x4acf('0xab')]({'model':db[_0x4acf('0xc9')],'as':_0x4acf('0xc9'),'attributes':['id','fullname'],'raw':!![]});_0x554d93[_0x4acf('0xab')]({'model':db[_0x4acf('0xca')],'as':_0x4acf('0x62'),'attributes':['id',_0x4acf('0xcb'),_0x4acf('0xcc')],'raw':!![]});var _0x349a78=[{'model':db[_0x4acf('0xb2')],'as':_0x4acf('0xcd'),'attributes':['id',_0x4acf('0x6e'),_0x4acf('0xce'),_0x4acf('0xcf'),_0x4acf('0xd0'),'read'],'include':_0x554d93}];_0x349a78['push']({'model':db[_0x4acf('0xd1')],'as':_0x4acf('0xd2'),'attributes':['id',_0x4acf('0x2a')]});_0x349a78[_0x4acf('0xab')]({'model':db[_0x4acf('0xc9')],'as':_0x4acf('0xd3'),'attributes':['id',_0x4acf('0x2e')]});return db[_0x4acf('0x94')]['find']({'where':{'id':_0x1a63d7[_0x4acf('0xaf')]['id']},'include':_0x349a78})['then'](handleEntityNotFound(_0x24c5d5,null))['then'](function(_0xb578c9){if(_0xb578c9){var _0xb0a748=_0xb578c9[_0x4acf('0xd4')]({'plain':!![]});fs['mkdirSync'](_0x12a9ab);var _0x4c12f0={'format':'A4','border':_0x4acf('0xd5'),'header':{'height':_0x4acf('0xd6'),'contents':{'first':_0x4acf('0xd7')}},'footer':{'height':_0x4acf('0xd8'),'contents':{'default':util['format'](_0x4acf('0xd9'),util[_0x4acf('0xb8')]('%s\x20#%d',_0x4acf('0xda'),_0xb0a748['id']),moment()[_0x4acf('0xb8')](_0x4acf('0xdb'))[_0x4acf('0x91')]())}}};var _0x156e4e={'channel':'Sms','account':_0xb0a748[_0x4acf('0xd2')][_0x4acf('0x2a')],'agent':_0xb0a748[_0x4acf('0xd3')]?_0xb0a748[_0x4acf('0xd3')]['fullname']:_0x4acf('0xdc'),'createdAt':moment(_0xb0a748[_0x4acf('0xce')])[_0x4acf('0xb8')](_0x4acf('0xb9'))[_0x4acf('0x91')](),'closedAt':_0xb0a748[_0x4acf('0xdd')]?moment(_0xb0a748['closedAt'])[_0x4acf('0xb8')](_0x4acf('0xb9'))[_0x4acf('0x91')]():'','disposition':_0xb0a748[_0x4acf('0xde')],'messages':_(_0xb0a748[_0x4acf('0xcd')])[_0x4acf('0x7e')]({'secret':![]})[_0x4acf('0x2d')](function(_0x347051){return{'date':moment(_0x347051[_0x4acf('0xce')])['format'](_0x4acf('0xb9'))[_0x4acf('0x91')](),'sender':_0x347051[_0x4acf('0xcf')]==='out'?_0x347051[_0x4acf('0xc9')]?_0x347051[_0x4acf('0xc9')][_0x4acf('0x2e')]:'System':_0x347051['Contact'][_0x4acf('0xcb')]+(_0x347051[_0x4acf('0x62')][_0x4acf('0xcc')]?'\x20'+_0x347051[_0x4acf('0x62')][_0x4acf('0xcc')]:''),'body':_0x347051[_0x4acf('0x6e')],'direction':_0x347051['direction']===_0x4acf('0xdf')?'A':'C','secret':_0x347051[_0x4acf('0xd0')],'read':_0x347051['read']};})['value']()};return ejs['renderFile'](path[_0x4acf('0xc2')](config[_0x4acf('0xc3')],'server',_0x4acf('0xe0'),'downloadInteraction.html'),{'interaction':_0x156e4e})[_0x4acf('0x27')](function(_0x28d215){return new BPromise(function(_0x5c95b0,_0x2017ad){pdf[_0x4acf('0xae')](_0x28d215,_0x4c12f0)[_0x4acf('0xe1')](path[_0x4acf('0xc2')](_0x12a9ab,'transcript-'+_0xb0a748['id']+'-'+_0x4ce265+_0x4acf('0xe2')),function(_0xd6e40,_0x4298de){if(_0xd6e40)return _0x2017ad(_0xd6e40);_0x5c95b0(_0x4298de);});});})[_0x4acf('0x27')](function(){return new BPromise(function(_0x5a10bf,_0x4b9452){zipdir(_0x12a9ab,{'saveTo':_0x57749b},function(_0x424aa0,_0x170eeb){if(_0x424aa0)return _0x4b9452(_0x424aa0);return _0x5a10bf(_0x170eeb);});})[_0x4acf('0x27')](function(){return new BPromise(function(_0x442c67,_0x5e433c){rimraf(_0x12a9ab,function(_0x411333){if(_0x411333)_0x5e433c(_0x411333);return _0x442c67();});});})['then'](function(){return _0x24c5d5[_0x4acf('0xc1')](_0x57749b,_0x45c320,function(_0x86cbc7){if(_0x86cbc7){console[_0x4acf('0xe3')]('err',_0x86cbc7);}else{fs[_0x4acf('0xe4')](_0x57749b);}});});});}else{return _0x24c5d5[_0x4acf('0x1b')](0xc8);}})['catch'](handleError(_0x24c5d5,null));};