Built motion from commit (unavailable).|2.5.13
[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 _0x00ae=['concat','createdAt','$gte','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','i.id','Sequelize','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','SmsAccountId','journey','i.SmsAccountId\x20IS\x20NOT\x20NULL','role','agent','user','i.SmsAccountId\x20IS\x20NULL','toString','count','keyBy','a.key','Account.key','a.mandatoryDisposition','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','c.mobile','Contact.mobile','Contact.fax','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','sequelize','SmsInteractionId','all','rows','catch','show','params','includeAll','options','create','describe','SmsMessage','addMessage','ids','omit','getMessages','findOne','hasOwnProperty','merge','format','YYYY-MM-DD\x20HH:mm:ss','include','findAll','addTags','setTags','spread','emit','smsInteractionTags:save','removeTags','download','unix','server','tmp','join','files','transcript-%d-%s.zip','CmContact','Contact','firstName','lastName','Messages','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','Sms','YYYY-MM-DD','closed','disposition','System','root','views','downloadInteraction.html','toFile','transcript-','log','err','unlinkSync','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsInteraction.socket','sendStatus','status','end','json','offset','limit','Content-Range','apply','save','update','then','destroy','error','stack','name','send','Users','map','fullname','TagIds','Tags','split','push','SmsInteraction','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','order','sort','where','pick','select','field','color','tools_tags','u.fullname','ui.SmsInteractionId','from','left_join','users','u.id\x20=\x20ui.UserId','sms_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','me.SmsInteractionId\x20=\x20i.id','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','unreadMessages','value','having','`\x20=\x200','$substring','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','buildExpression','text','start','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','keys','some','compact','isEmpty','i.SmsAccountId\x20IN\x20?'];(function(_0x466e57,_0x21b819){var _0x34df42=function(_0x3e9758){while(--_0x3e9758){_0x466e57['push'](_0x466e57['shift']());}};_0x34df42(++_0x21b819);}(_0x00ae,0x70));var _0xe00a=function(_0x3511d3,_0x4107ae){_0x3511d3=_0x3511d3-0x0;var _0x5d6321=_0x00ae[_0x3511d3];return _0x5d6321;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xe00a('0x0'));var rimraf=require(_0xe00a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe00a('0x2'));var rp=require(_0xe00a('0x3'));var moment=require(_0xe00a('0x4'));var BPromise=require(_0xe00a('0x5'));var Mustache=require(_0xe00a('0x6'));var util=require(_0xe00a('0x7'));var path=require(_0xe00a('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xe00a('0x9'));var fs=require('fs');var _=require(_0xe00a('0xa'));var squel=require(_0xe00a('0xb'));var crypto=require('crypto');var jsforce=require(_0xe00a('0xc'));var deskjs=require(_0xe00a('0xd'));var toCsv=require('to-csv');var querystring=require(_0xe00a('0xe'));var Papa=require(_0xe00a('0xf'));var Redis=require('ioredis');var authService=require(_0xe00a('0x10'));var qs=require(_0xe00a('0x11'));var as=require(_0xe00a('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xe00a('0x13'));var utils=require(_0xe00a('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xe00a('0x15'));var db=require(_0xe00a('0x16'))['db'];config[_0xe00a('0x17')]=_[_0xe00a('0x18')](config[_0xe00a('0x17')],{'host':_0xe00a('0x19'),'port':0x18eb});var socket=require(_0xe00a('0x1a'))(new Redis(config[_0xe00a('0x17')]));require(_0xe00a('0x1b'))['register'](socket);function respondWithStatusCode(_0x28b8eb,_0x53b3c6){_0x53b3c6=_0x53b3c6||0xcc;return function(_0x2bd703){if(_0x2bd703){return _0x28b8eb[_0xe00a('0x1c')](_0x53b3c6);}return _0x28b8eb[_0xe00a('0x1d')](_0x53b3c6)[_0xe00a('0x1e')]();};}function respondWithResult(_0x52c52c,_0x5e0037){_0x5e0037=_0x5e0037||0xc8;return function(_0x18b425){if(_0x18b425){return _0x52c52c[_0xe00a('0x1d')](_0x5e0037)[_0xe00a('0x1f')](_0x18b425);}};}function respondWithFilteredResult(_0x3c56f2,_0x5d19bf){return function(_0x808afa){if(_0x808afa){var _0x2e3b49=_0x808afa['count'],_0x437a5=_0x5d19bf['offset'],_0x367994=_0x5d19bf[_0xe00a('0x20')]+_0x5d19bf[_0xe00a('0x21')],_0x530d4e;if(_0x367994>=_0x2e3b49){_0x367994=_0x2e3b49;_0x530d4e=0xc8;}else{_0x530d4e=0xce;}_0x3c56f2[_0xe00a('0x1d')](_0x530d4e);return _0x3c56f2['set'](_0xe00a('0x22'),_0x437a5+'-'+_0x367994+'/'+_0x2e3b49)[_0xe00a('0x1f')](_0x808afa);}return null;};}function patchUpdates(_0xfc828e){return function(_0x12e50e){try{jsonpatch[_0xe00a('0x23')](_0x12e50e,_0xfc828e,!![]);}catch(_0x2cc12c){return BPromise['reject'](_0x2cc12c);}return _0x12e50e[_0xe00a('0x24')]();};}function saveUpdates(_0x43642b,_0xa03a4b){return function(_0x13e84b){if(_0x13e84b){return _0x13e84b[_0xe00a('0x25')](_0x43642b)[_0xe00a('0x26')](function(_0x5724fc){return _0x5724fc;});}return null;};}function removeEntity(_0x5edc39,_0x2a8159){return function(_0x2f9831){if(_0x2f9831){return _0x2f9831[_0xe00a('0x27')]()['then'](function(){_0x5edc39[_0xe00a('0x1d')](0xcc)[_0xe00a('0x1e')]();});}};}function handleEntityNotFound(_0x2274c4,_0x22d927){return function(_0x3576bc){if(!_0x3576bc){_0x2274c4[_0xe00a('0x1c')](0x194);}return _0x3576bc;};}function handleError(_0x297245,_0x309dd3){_0x309dd3=_0x309dd3||0x1f4;return function(_0x20e1e6){logger[_0xe00a('0x28')](_0x20e1e6[_0xe00a('0x29')]);if(_0x20e1e6[_0xe00a('0x2a')]){delete _0x20e1e6[_0xe00a('0x2a')];}_0x297245[_0xe00a('0x1d')](_0x309dd3)[_0xe00a('0x2b')](_0x20e1e6);};}function getInteractionUsers(_0x84d275,_0xf52308){return new BPromise(function(_0x3315d2,_0x15add2){try{if(_0xf52308[_0x84d275['id']]){_0x84d275[_0xe00a('0x2c')]=_[_0xe00a('0x2d')](_0xf52308[_0x84d275['id']],function(_0x572e0d){return{'id':_0x572e0d['id'],'fullname':_0x572e0d[_0xe00a('0x2e')]};});}}catch(_0x265d62){_0x15add2(_0x265d62);}_0x3315d2(_0x84d275);});}function getInteractionTags(_0x14ec2a,_0x1a0b02){return new BPromise(function(_0x38e015,_0x53cf79){try{if(_0x14ec2a[_0xe00a('0x2f')]){_0x14ec2a[_0xe00a('0x30')]=[];_0x14ec2a['TagIds'][_0xe00a('0x31')](',')['forEach'](function(_0x17ac03){_0x14ec2a[_0xe00a('0x30')][_0xe00a('0x32')](_0x1a0b02[_0x17ac03]);});}delete _0x14ec2a['TagIds'];}catch(_0x38e51a){_0x53cf79(_0x38e51a);}_0x38e015(_0x14ec2a);});}function updateSmsInteraction(_0x2ce968,_0x298d2d,_0x4bfbc4){return new BPromise(function(_0x1eea00,_0x9195e6){return getInteractionUsers(_0x2ce968,_0x4bfbc4)[_0xe00a('0x26')](function(_0x235cd9){return getInteractionTags(_0x235cd9,_0x298d2d);})[_0xe00a('0x26')](function(_0x373a9b){_0x1eea00(_0x373a9b);})['catch'](function(_0x417b63){_0x9195e6(_0x417b63);});});}exports['index']=function(_0x337f2a,_0x58e4b8){var _0x247199={},_0x2eecfb={},_0x2d6483={'count':0x0,'rows':[]};var _0x4f1c9d=_[_0xe00a('0x2d')](db[_0xe00a('0x33')][_0xe00a('0x34')],function(_0x53cd1c){return{'name':_0x53cd1c['fieldName'],'type':_0x53cd1c[_0xe00a('0x35')][_0xe00a('0x36')]};});_0x2eecfb[_0xe00a('0x37')]=_[_0xe00a('0x2d')](_0x4f1c9d,_0xe00a('0x2a'));_0x2eecfb['query']=_['keys'](_0x337f2a[_0xe00a('0x38')]);_0x2eecfb[_0xe00a('0x39')]=_[_0xe00a('0x3a')](_0x2eecfb[_0xe00a('0x37')],_0x2eecfb[_0xe00a('0x38')]);_0x247199[_0xe00a('0x3b')]=_['intersection'](_0x2eecfb[_0xe00a('0x37')],qs[_0xe00a('0x3c')](_0x337f2a[_0xe00a('0x38')][_0xe00a('0x3c')]));_0x247199['attributes']=_0x247199['attributes'][_0xe00a('0x3d')]?_0x247199[_0xe00a('0x3b')]:_0x2eecfb['model'];if(!_0x337f2a[_0xe00a('0x38')]['hasOwnProperty']('nolimit')){_0x247199['limit']=qs['limit'](_0x337f2a['query']['limit']);_0x247199[_0xe00a('0x20')]=qs['offset'](_0x337f2a['query'][_0xe00a('0x20')]);}_0x247199[_0xe00a('0x3e')]=qs[_0xe00a('0x3f')](_0x337f2a['query'][_0xe00a('0x3f')]);_0x247199[_0xe00a('0x40')]=qs['filters'](_[_0xe00a('0x41')](_0x337f2a['query'],_0x2eecfb[_0xe00a('0x39')]),_0x4f1c9d);var _0x482733=[];var _0x336239=squel[_0xe00a('0x42')]()[_0xe00a('0x43')]('id')[_0xe00a('0x43')]('name')[_0xe00a('0x43')](_0xe00a('0x44'))['from'](_0xe00a('0x45'));var _0x5b39b9=squel['select']()[_0xe00a('0x43')]('u.id')['field'](_0xe00a('0x46'))['field'](_0xe00a('0x47'))[_0xe00a('0x48')]('user_has_sms_interactions','ui')[_0xe00a('0x49')](_0xe00a('0x4a'),'u',_0xe00a('0x4b'));var _0x391d15=squel['select']()['from'](_0xe00a('0x4c'),'i')[_0xe00a('0x49')](_0xe00a('0x4d'),'c',_0xe00a('0x4e'))[_0xe00a('0x49')]('users','o','o.id\x20=\x20i.UserId')['left_join']('sms_accounts','a','a.id\x20=\x20i.SmsAccountId')[_0xe00a('0x49')]('sms_messages','me',_0xe00a('0x4f'))[_0xe00a('0x49')](_0xe00a('0x50'),'it',_0xe00a('0x51'))[_0xe00a('0x49')](_0xe00a('0x45'),'t',_0xe00a('0x52'));var _0x45caa1=squel['expr']();var _0x133bec=[];var _0x5a3fb0=squel[_0xe00a('0x53')]();var _0x193f40;if(_0x337f2a[_0xe00a('0x38')]['search']){_0x193f40=as[_0xe00a('0x54')](_0x337f2a[_0xe00a('0x38')][_0xe00a('0x55')]);var _0x516775=_0x193f40[_0xe00a('0x56')];for(var _0x587351=0x0;_0x587351<_0x193f40['conditions'][_0xe00a('0x3d')];_0x587351++){var _0x3b7f54=_0x193f40['conditions'][_0x587351];var _0x30df30='i';var _0x4068bd=_['find'](_0x4f1c9d,['name',_0x3b7f54[_0xe00a('0x43')]]);if(!_0x4068bd){switch(_0x3b7f54[_0xe00a('0x43')]){case _0xe00a('0x57'):if(_0x3b7f54[_0xe00a('0x58')]==0x1){_0x391d15[_0xe00a('0x59')]('`'+_0x3b7f54[_0xe00a('0x43')]+_0xe00a('0x5a'));}else{_0x391d15['having']('`'+_0x3b7f54[_0xe00a('0x43')]+'`\x20>\x200');}break;case'Contact':if(_0x3b7f54['operator']===_0xe00a('0x5b')){if(_0x3b7f54[_0xe00a('0x58')][_0xe00a('0x31')]('\x20')[_0xe00a('0x3d')]>0x1){_0x45caa1[_0x516775]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xe00a('0x5c')](_0x3b7f54[_0xe00a('0x58')]),null);}else{var _0x3accc5='%'+_0x3b7f54[_0xe00a('0x58')]+'%';_0x45caa1[_0x516775](_0xe00a('0x5d'),_0x3accc5,_0x3accc5,_0x3accc5);}}else{_0x4068bd=_[_0xe00a('0x5e')](_0x4f1c9d,[_0xe00a('0x2a'),_0xe00a('0x5f')]);_0x3b7f54[_0xe00a('0x43')]=_0xe00a('0x5f');_0xe7b0b5=as[_0xe00a('0x60')](_0x30df30,_0x4068bd['type'],_0x3b7f54);_0x45caa1[_0x516775](_0xe7b0b5[_0xe00a('0x61')],_0xe7b0b5[_0xe00a('0x58')][_0xe00a('0x62')],_0xe7b0b5[_0xe00a('0x58')][_0xe00a('0x1e')]);}break;case _0xe00a('0x63'):var _0x42e3a6=_0x3b7f54['value'][_0xe00a('0x31')](',')['map'](function(_0x307564){return Number(_0x307564);});_0x42e3a6[_0xe00a('0x64')](function(_0x5212af){_0x5a3fb0['or'](_0xe00a('0x65'),'%,'+_0x5212af+',%');});_0x133bec=_[_0xe00a('0x66')](_0x133bec,_0x42e3a6);break;case _0xe00a('0x67'):if(_0x3b7f54[_0xe00a('0x68')]===_0xe00a('0x5b')){_0x45caa1[_0x516775](_0xe00a('0x69'),'%'+_0x3b7f54[_0xe00a('0x58')]+'%',null);}else{_0x4068bd=_[_0xe00a('0x5e')](_0x4f1c9d,[_0xe00a('0x2a'),'UserId']);_0x3b7f54[_0xe00a('0x43')]=_0xe00a('0x6a');_0xe7b0b5=as[_0xe00a('0x60')](_0x30df30,_0x4068bd[_0xe00a('0x35')],_0x3b7f54);_0x45caa1[_0x516775](_0xe7b0b5[_0xe00a('0x61')],_0xe7b0b5[_0xe00a('0x58')]['start'],_0xe7b0b5[_0xe00a('0x58')][_0xe00a('0x1e')]);}break;case _0xe00a('0x6b'):_0xe7b0b5=as['buildExpression']('me',null,_0x3b7f54);_0x45caa1[_0x516775](_0xe7b0b5[_0xe00a('0x61')],_0xe7b0b5[_0xe00a('0x58')]['start'],_0xe7b0b5[_0xe00a('0x58')]['end']);break;}}else{var _0xe7b0b5=as[_0xe00a('0x60')](_0x30df30,_0x4068bd[_0xe00a('0x35')],_0x3b7f54);_0x45caa1[_0x516775](_0xe7b0b5['text'],_0xe7b0b5['value'][_0xe00a('0x62')],_0xe7b0b5[_0xe00a('0x58')][_0xe00a('0x1e')]);}}}else{var _0x3bed57=_(_0x337f2a[_0xe00a('0x38')])[_0xe00a('0x6c')]()[_0xe00a('0x2d')](function(_0x7ddb4f){return _[_0xe00a('0x6d')](_0x4f1c9d,[_0xe00a('0x2a'),_0x7ddb4f])?_0x7ddb4f:undefined;})[_0xe00a('0x6e')]()['value']();if(!_[_0xe00a('0x6f')](_0x3bed57)){_0x3bed57[_0xe00a('0x64')](function(_0x1330b4){if(_0x1330b4==='SmsAccountId'){_0x391d15['where'](_0xe00a('0x70'),[][_0xe00a('0x71')](_0x337f2a[_0xe00a('0x38')][_0x1330b4]));}else if(_0x1330b4===_0xe00a('0x72')){var _0x304922=JSON['parse'](_0x337f2a[_0xe00a('0x38')][_0x1330b4])[_0xe00a('0x73')];var _0x47f648=JSON[_0xe00a('0x74')](_0x337f2a[_0xe00a('0x38')][_0x1330b4])[_0xe00a('0x75')];_0x391d15[_0xe00a('0x40')](_0xe00a('0x76'),_0x304922,_0x47f648);}else{if(_0x337f2a['query'][_0x1330b4]===_0xe00a('0x77')){_0x391d15[_0xe00a('0x40')]('i.'+_0x1330b4+_0xe00a('0x78'));}else{_0x391d15[_0xe00a('0x40')]('i.'+_0x1330b4+_0xe00a('0x79'),_0x337f2a[_0xe00a('0x38')][_0x1330b4]);}}});}if(_0x337f2a[_0xe00a('0x38')][_0xe00a('0x7a')]){if(_0x337f2a['query'][_0xe00a('0x7a')]==0x1){_0x391d15['having'](_0xe00a('0x7b'));}else{_0x391d15['having']('`unreadMessages`\x20>\x200');}}if(_0x337f2a[_0xe00a('0x38')][_0xe00a('0x7c')]){_0x133bec=_['isArray'](_0x337f2a[_0xe00a('0x38')][_0xe00a('0x7c')])?_0x337f2a['query'][_0xe00a('0x7c')]:new Array(_0x337f2a['query'][_0xe00a('0x7c')]);_0x133bec[_0xe00a('0x64')](function(_0x5eb08a){_0x5a3fb0['or'](_0xe00a('0x65'),'%,'+_0x5eb08a+',%');});}if(_0x337f2a[_0xe00a('0x38')]['filter']){var _0x34d8c2=_0x337f2a[_0xe00a('0x38')][_0xe00a('0x7d')][_0xe00a('0x7e')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0xe00a('0x7f')](_0x34d8c2)){_0x45caa1['or']('i.id\x20LIKE\x20?',_0x34d8c2+'%')['or']('i.phone\x20LIKE\x20?',_0x34d8c2+'%');}else{_0x45caa1['or'](_0xe00a('0x80'),qs['getFullTextValue'](_0x34d8c2))['or'](_0xe00a('0x81'),_0x34d8c2+'%');}}}_0x391d15[_0xe00a('0x40')](_0x45caa1);_0x391d15['group'](_0xe00a('0x82'));var _0x26c987={'type':db[_0xe00a('0x83')]['QueryTypes'][_0xe00a('0x84')],'raw':!![]};var _0x2cd6e2=_0x391d15[_0xe00a('0x85')]();_0x2cd6e2[_0xe00a('0x43')](_0xe00a('0x82'));_0x2cd6e2['field'](_0xe00a('0x86'),_0xe00a('0x57'));if(_0x247199[_0xe00a('0x3e')]){_0x247199[_0xe00a('0x3e')]['forEach'](function(_0x16890d){var _0x22761c=_0x16890d[0x0]===_0xe00a('0x87')?_0x16890d[0x0]:'i.'+_0x16890d[0x0];_0x391d15[_0xe00a('0x3e')](_0x22761c,_0x16890d[0x1]===_0xe00a('0x88')?![]:!![]);});}if(!_[_0xe00a('0x6f')](_0x133bec)){_0x391d15[_0xe00a('0x59')](_0x5a3fb0);_0x2cd6e2[_0xe00a('0x40')]('t.id\x20IN\x20?',_0x133bec);}BPromise['resolve']()[_0xe00a('0x26')](function(){if(!_0x193f40){if(_0x337f2a['query'][_0xe00a('0x89')]||_0x337f2a[_0xe00a('0x38')][_0xe00a('0x8a')])return;_0x2cd6e2['where'](_0xe00a('0x8b'));_0x391d15[_0xe00a('0x40')](_0xe00a('0x8b'));return;}if(_0x337f2a['user'][_0xe00a('0x8c')]!==_0xe00a('0x8d'))return;return _0x337f2a[_0xe00a('0x8e')]['getSmsAccounts']({'attributes':['id'],'raw':!![]})['then'](function(_0x2b215d){if(_[_0xe00a('0x6f')](_0x2b215d)){_0x2cd6e2['where'](_0xe00a('0x8f'));_0x391d15['where'](_0xe00a('0x8f'));}else{_0x2cd6e2['where'](_0xe00a('0x70'),_['map'](_0x2b215d,'id'));_0x391d15[_0xe00a('0x40')]('i.SmsAccountId\x20IN\x20?',_[_0xe00a('0x2d')](_0x2b215d,'id'));}});})[_0xe00a('0x26')](function(){if(_0x337f2a['user'][_0xe00a('0x8c')]===_0xe00a('0x8d')&&!_0x193f40&&!_0x337f2a[_0xe00a('0x38')][_0xe00a('0x89')])return[];return db['sequelize'][_0xe00a('0x38')](_0x2cd6e2[_0xe00a('0x90')](),_0x26c987);})[_0xe00a('0x26')](function(_0x8914fb){_0x2d6483[_0xe00a('0x91')]=_0x8914fb[_0xe00a('0x3d')];if(_0x2d6483['count']===0x0)return[];return db['sequelize'][_0xe00a('0x38')](_0x336239[_0xe00a('0x90')](),_0x26c987)[_0xe00a('0x26')](function(_0x425f71){_0x482733=_[_0xe00a('0x92')](_0x425f71,'id');_0x26c987=_['merge'](_0x26c987,{'model':db[_0xe00a('0x33')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x337f2a[_0xe00a('0x38')][_0xe00a('0x3c')]){_0x247199[_0xe00a('0x3b')][_0xe00a('0x64')](function(_0x59b302){_0x391d15[_0xe00a('0x43')]('i.'+_0x59b302);});}else{_0x391d15['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');_0x391d15[_0xe00a('0x43')](_0xe00a('0x93'),_0xe00a('0x94'));_0x391d15[_0xe00a('0x43')](_0xe00a('0x95'),'Account.mandatoryDisposition');_0x391d15[_0xe00a('0x43')]('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',_0xe00a('0x87'));_0x391d15[_0xe00a('0x43')]('i.*');_0x391d15[_0xe00a('0x43')]('c.firstName',_0xe00a('0x96'));_0x391d15[_0xe00a('0x43')](_0xe00a('0x97'),_0xe00a('0x98'));_0x391d15[_0xe00a('0x43')]('c.email',_0xe00a('0x99'));_0x391d15[_0xe00a('0x43')](_0xe00a('0x9a'),'Contact.phone');_0x391d15[_0xe00a('0x43')](_0xe00a('0x9b'),_0xe00a('0x9c'));_0x391d15[_0xe00a('0x43')]('c.fax',_0xe00a('0x9d'));_0x391d15['field']('o.fullname',_0xe00a('0x9e'));_0x391d15[_0xe00a('0x43')](_0xe00a('0x9f'),'Owner.internal');_0x391d15[_0xe00a('0x43')](_0xe00a('0xa0'),'TagIds');}if(_0x247199[_0xe00a('0x21')])_0x391d15[_0xe00a('0x21')](_0x247199[_0xe00a('0x21')]);if(_0x247199[_0xe00a('0x20')])_0x391d15[_0xe00a('0x20')](_0x247199[_0xe00a('0x20')]);return db[_0xe00a('0xa1')][_0xe00a('0x38')](_0x391d15[_0xe00a('0x90')](),_0x26c987);})[_0xe00a('0x26')](function(_0x45877d){_0x5b39b9[_0xe00a('0x40')]('ui.SmsInteractionId\x20IN\x20?',_['map'](_0x45877d,'id'));return db[_0xe00a('0xa1')]['query'](_0x5b39b9[_0xe00a('0x90')](),_0x26c987)[_0xe00a('0x26')](function(_0x269b93){var _0x387305=_['groupBy'](_0x269b93,_0xe00a('0xa2'));var _0x516ac6=[];_0x45877d[_0xe00a('0x64')](function(_0x50ca5b){_0x516ac6[_0xe00a('0x32')](updateSmsInteraction(_0x50ca5b,_0x482733,_0x387305));});return BPromise[_0xe00a('0xa3')](_0x516ac6);});});})[_0xe00a('0x26')](function(_0x4fbe20){_0x2d6483[_0xe00a('0xa4')]=_0x4fbe20;return _0x2d6483;})['then'](respondWithFilteredResult(_0x58e4b8,_0x247199))[_0xe00a('0xa5')](handleError(_0x58e4b8,null));};exports[_0xe00a('0xa6')]=function(_0xe0eae4,_0xcd768e){var _0x50104e={'raw':![],'where':{'id':_0xe0eae4[_0xe00a('0xa7')]['id']}},_0x132d79={};_0x132d79['model']=_[_0xe00a('0x6c')](db[_0xe00a('0x33')][_0xe00a('0x34')]);_0x132d79[_0xe00a('0x38')]=_[_0xe00a('0x6c')](_0xe0eae4[_0xe00a('0x38')]);_0x132d79[_0xe00a('0x39')]=_['intersection'](_0x132d79[_0xe00a('0x37')],_0x132d79['query']);_0x50104e[_0xe00a('0x3b')]=_[_0xe00a('0x3a')](_0x132d79[_0xe00a('0x37')],qs[_0xe00a('0x3c')](_0xe0eae4['query'][_0xe00a('0x3c')]));_0x50104e[_0xe00a('0x3b')]=_0x50104e[_0xe00a('0x3b')][_0xe00a('0x3d')]?_0x50104e[_0xe00a('0x3b')]:_0x132d79[_0xe00a('0x37')];if(_0xe0eae4[_0xe00a('0x38')][_0xe00a('0xa8')]){_0x50104e['include']=[{'all':!![]}];}_0x50104e=_['merge']({},_0x50104e,_0xe0eae4[_0xe00a('0xa9')]);return db[_0xe00a('0x33')][_0xe00a('0x5e')](_0x50104e)['then'](handleEntityNotFound(_0xcd768e,null))['then'](respondWithResult(_0xcd768e,null))['catch'](handleError(_0xcd768e,null));};exports[_0xe00a('0xaa')]=function(_0x388a9a,_0xebaf17){return db[_0xe00a('0x33')][_0xe00a('0xaa')](_0x388a9a[_0xe00a('0x6b')],{})[_0xe00a('0x26')](respondWithResult(_0xebaf17,0xc9))[_0xe00a('0xa5')](handleError(_0xebaf17,null));};exports[_0xe00a('0x25')]=function(_0xb03d21,_0x3f9e57){if(_0xb03d21['body']['id']){delete _0xb03d21[_0xe00a('0x6b')]['id'];}return db['SmsInteraction']['find']({'where':{'id':_0xb03d21[_0xe00a('0xa7')]['id']}})['then'](handleEntityNotFound(_0x3f9e57,null))['then'](saveUpdates(_0xb03d21[_0xe00a('0x6b')],null))['then'](respondWithResult(_0x3f9e57,null))[_0xe00a('0xa5')](handleError(_0x3f9e57,null));};exports[_0xe00a('0x27')]=function(_0x9c89e0,_0x24416f){return db[_0xe00a('0x33')]['find']({'where':{'id':_0x9c89e0[_0xe00a('0xa7')]['id']}})['then'](handleEntityNotFound(_0x24416f,null))[_0xe00a('0x26')](removeEntity(_0x24416f,null))['catch'](handleError(_0x24416f,null));};exports[_0xe00a('0xab')]=function(_0x2bdc3a,_0x47cee2){return db[_0xe00a('0x33')][_0xe00a('0xab')]()['then'](respondWithResult(_0x47cee2,null))[_0xe00a('0xa5')](handleError(_0x47cee2,null));};exports['addMessage']=function(_0x4203de,_0x48e4db,_0x587537){return db[_0xe00a('0xac')][_0xe00a('0x5e')]({'where':{'id':_0x4203de[_0xe00a('0xa7')]['id']}})['then'](handleEntityNotFound(_0x48e4db,null))[_0xe00a('0x26')](function(_0x100b49){if(_0x100b49){return _0x100b49[_0xe00a('0xad')](_0x4203de['body'][_0xe00a('0xae')],_[_0xe00a('0xaf')](_0x4203de[_0xe00a('0x6b')],[_0xe00a('0xae'),'id'])||{});}})['then'](respondWithResult(_0x48e4db,null))[_0xe00a('0xa5')](handleError(_0x48e4db,null));};exports[_0xe00a('0xb0')]=function(_0x57a7f5,_0x3db7e6,_0x5c11e8){var _0x551ed3={'raw':![],'where':{}};var _0x1660a1={};var _0x5a4c8f={'count':0x0,'rows':[]};return db[_0xe00a('0x33')][_0xe00a('0xb1')]({'where':{'id':_0x57a7f5[_0xe00a('0xa7')]['id']}})[_0xe00a('0x26')](handleEntityNotFound(_0x3db7e6,null))['then'](function(_0x59e5ba){if(_0x59e5ba){_0x1660a1['model']=_[_0xe00a('0x6c')](db[_0xe00a('0xac')][_0xe00a('0x34')]);_0x1660a1[_0xe00a('0x38')]=_[_0xe00a('0x6c')](_0x57a7f5['query']);_0x1660a1[_0xe00a('0x39')]=_['intersection'](_0x1660a1[_0xe00a('0x37')],_0x1660a1[_0xe00a('0x38')]);_0x551ed3['attributes']=_[_0xe00a('0x3a')](_0x1660a1[_0xe00a('0x37')],qs[_0xe00a('0x3c')](_0x57a7f5[_0xe00a('0x38')][_0xe00a('0x3c')]));_0x551ed3[_0xe00a('0x3b')]=_0x551ed3[_0xe00a('0x3b')][_0xe00a('0x3d')]?_0x551ed3[_0xe00a('0x3b')]:_0x1660a1[_0xe00a('0x37')];if(!_0x57a7f5[_0xe00a('0x38')][_0xe00a('0xb2')]('nolimit')){_0x551ed3[_0xe00a('0x21')]=qs[_0xe00a('0x21')](_0x57a7f5[_0xe00a('0x38')]['limit']);_0x551ed3['offset']=qs[_0xe00a('0x20')](_0x57a7f5[_0xe00a('0x38')][_0xe00a('0x20')]);}_0x551ed3[_0xe00a('0x3e')]=qs[_0xe00a('0x3f')](_0x57a7f5[_0xe00a('0x38')][_0xe00a('0x3f')]);_0x551ed3[_0xe00a('0x40')]=qs['filters'](_[_0xe00a('0x41')](_0x57a7f5['query'],_0x1660a1[_0xe00a('0x39')]));_0x551ed3[_0xe00a('0x40')]['SmsInteractionId']=_0x59e5ba['id'];if(_0x57a7f5[_0xe00a('0x38')][_0xe00a('0x7d')]){_0x551ed3['where']=_[_0xe00a('0xb3')](_0x551ed3[_0xe00a('0x40')],{'$or':_[_0xe00a('0x2d')](_0x551ed3['attributes'],function(_0x4edfd4){var _0x188ec8={};_0x188ec8[_0x4edfd4]={'$like':'%'+_0x57a7f5['query']['filter']+'%'};return _0x188ec8;})});}if(_0x57a7f5[_0xe00a('0x38')][_0xe00a('0x73')]){var _0x3a4a4b=_0x57a7f5[_0xe00a('0x38')][_0xe00a('0x73')][_0xe00a('0x31')](',');var _0x3b63e0={};_0x3b63e0[_0x3a4a4b[0x0]]={'$gte':moment(_0x3a4a4b[0x1])[_0xe00a('0xb4')](_0xe00a('0xb5'))};_0x551ed3[_0xe00a('0x40')]=_[_0xe00a('0xb3')](_0x551ed3[_0xe00a('0x40')],_0x3b63e0);}_0x551ed3=_[_0xe00a('0xb3')]({},_0x551ed3,_0x57a7f5[_0xe00a('0xa9')]);return db['SmsMessage'][_0xe00a('0x91')]({'where':_0x551ed3['where']})[_0xe00a('0x26')](function(_0x79b7f6){_0x5a4c8f[_0xe00a('0x91')]=_0x79b7f6;if(_0x57a7f5['query'][_0xe00a('0xa8')]){_0x551ed3[_0xe00a('0xb6')]=[{'all':!![]}];}return db[_0xe00a('0xac')][_0xe00a('0xb7')](_0x551ed3);})[_0xe00a('0x26')](function(_0x219fc6){_0x5a4c8f[_0xe00a('0xa4')]=_0x219fc6;return _0x5a4c8f;});}})[_0xe00a('0x26')](respondWithFilteredResult(_0x3db7e6,_0x551ed3))[_0xe00a('0xa5')](handleError(_0x3db7e6,null));};exports[_0xe00a('0xb8')]=function(_0x207b19,_0x57bf2d,_0x16b6de){return db[_0xe00a('0x33')][_0xe00a('0x5e')]({'where':{'id':_0x207b19['params']['id']}})[_0xe00a('0x26')](handleEntityNotFound(_0x57bf2d,null))['then'](function(_0x59d92e){if(_0x59d92e){return _0x59d92e[_0xe00a('0xb9')](_0x207b19[_0xe00a('0x6b')]['ids'],_[_0xe00a('0xaf')](_0x207b19[_0xe00a('0x6b')],[_0xe00a('0xae'),'id'])||{})[_0xe00a('0xba')](function(){return db['Tag']['findAll']({'attributes':['id',_0xe00a('0x2a'),_0xe00a('0x44')],'where':{'id':_0x207b19[_0xe00a('0x6b')][_0xe00a('0xae')]}});})['then'](function(_0x444d42){socket[_0xe00a('0xbb')](_0xe00a('0xbc'),{'id':Number(_0x207b19[_0xe00a('0xa7')]['id']),'tags':_0x444d42||[]});return{'id':Number(_0x207b19[_0xe00a('0xa7')]['id']),'tags':_0x444d42||[]};});}})[_0xe00a('0x26')](respondWithResult(_0x57bf2d,null))[_0xe00a('0xa5')](handleError(_0x57bf2d,null));};exports[_0xe00a('0xbd')]=function(_0x3e6af2,_0x42042b,_0x74ab82){return db[_0xe00a('0x33')]['find']({'where':{'id':_0x3e6af2['params']['id']}})['then'](handleEntityNotFound(_0x42042b,null))[_0xe00a('0x26')](function(_0x2fd121){if(_0x2fd121){return _0x2fd121[_0xe00a('0xbd')](_0x3e6af2['query'][_0xe00a('0xae')]);}})[_0xe00a('0x26')](respondWithStatusCode(_0x42042b,null))[_0xe00a('0xa5')](handleError(_0x42042b,null));};exports[_0xe00a('0xbe')]=function(_0x500fd2,_0x41a069){var _0x37c430=moment()[_0xe00a('0xbf')]()[_0xe00a('0x90')]();var _0xa8bbcc=path['join'](config['root'],_0xe00a('0xc0'),'files',_0xe00a('0xc1'));var _0xc48653=path[_0xe00a('0xc2')](config['root'],_0xe00a('0xc0'),_0xe00a('0xc3'),'attachments');var _0x12e281=path[_0xe00a('0xc2')](_0xa8bbcc,_0x37c430);var _0x386127=util[_0xe00a('0xb4')](_0xe00a('0xc4'),_0x500fd2['params']['id'],_0x37c430);var _0xad1977=path[_0xe00a('0xc2')](_0xa8bbcc,_0x386127);var _0x1db9c1=[];_0x1db9c1[_0xe00a('0x32')]({'model':db['User'],'as':'User','attributes':['id','fullname'],'raw':!![]});_0x1db9c1[_0xe00a('0x32')]({'model':db[_0xe00a('0xc5')],'as':_0xe00a('0xc6'),'attributes':['id',_0xe00a('0xc7'),_0xe00a('0xc8')],'raw':!![]});var _0x185959=[{'model':db[_0xe00a('0xac')],'as':_0xe00a('0xc9'),'attributes':['id',_0xe00a('0x6b'),_0xe00a('0x72'),_0xe00a('0xca'),_0xe00a('0xcb'),_0xe00a('0x7a')],'include':_0x1db9c1}];_0x185959[_0xe00a('0x32')]({'model':db[_0xe00a('0xcc')],'as':_0xe00a('0xcd'),'attributes':['id',_0xe00a('0x2a')]});_0x185959[_0xe00a('0x32')]({'model':db[_0xe00a('0x67')],'as':_0xe00a('0xce'),'attributes':['id','fullname']});return db['SmsInteraction'][_0xe00a('0x5e')]({'where':{'id':_0x500fd2[_0xe00a('0xa7')]['id']},'include':_0x185959})[_0xe00a('0x26')](handleEntityNotFound(_0x41a069,null))[_0xe00a('0x26')](function(_0x228c83){if(_0x228c83){var _0x128469=_0x228c83[_0xe00a('0xcf')]({'plain':!![]});fs['mkdirSync'](_0x12e281);var _0xbd0793={'format':'A4','border':_0xe00a('0xd0'),'header':{'height':_0xe00a('0xd1'),'contents':{'first':_0xe00a('0xd2')}},'footer':{'height':_0xe00a('0xd3'),'contents':{'default':util[_0xe00a('0xb4')]('<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>',util[_0xe00a('0xb4')]('%s\x20#%d',_0xe00a('0xd4'),_0x128469['id']),moment()[_0xe00a('0xb4')](_0xe00a('0xd5'))['toString']())}}};var _0x1d8812={'channel':_0xe00a('0xd4'),'account':_0x128469[_0xe00a('0xcd')][_0xe00a('0x2a')],'agent':_0x128469[_0xe00a('0xce')]?_0x128469[_0xe00a('0xce')]['fullname']:'N.A.','createdAt':moment(_0x128469[_0xe00a('0x72')])[_0xe00a('0xb4')](_0xe00a('0xb5'))['toString'](),'closedAt':_0x128469[_0xe00a('0xd6')]?moment(_0x128469['closedAt'])['format'](_0xe00a('0xb5'))[_0xe00a('0x90')]():'','disposition':_0x128469[_0xe00a('0xd7')],'messages':_(_0x128469[_0xe00a('0xc9')])['filter']({'secret':![]})[_0xe00a('0x2d')](function(_0x5536fa){return{'date':moment(_0x5536fa[_0xe00a('0x72')])[_0xe00a('0xb4')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'sender':_0x5536fa[_0xe00a('0xca')]==='out'?_0x5536fa[_0xe00a('0x67')]?_0x5536fa[_0xe00a('0x67')]['fullname']:_0xe00a('0xd8'):_0x5536fa['Contact'][_0xe00a('0xc7')]+(_0x5536fa['Contact'][_0xe00a('0xc8')]?'\x20'+_0x5536fa['Contact'][_0xe00a('0xc8')]:''),'body':_0x5536fa[_0xe00a('0x6b')],'direction':_0x5536fa[_0xe00a('0xca')]==='out'?'A':'C','secret':_0x5536fa['secret'],'read':_0x5536fa[_0xe00a('0x7a')]};})['value']()};return ejs['renderFile'](path[_0xe00a('0xc2')](config[_0xe00a('0xd9')],_0xe00a('0xc0'),_0xe00a('0xda'),_0xe00a('0xdb')),{'interaction':_0x1d8812})[_0xe00a('0x26')](function(_0x1a8ee9){return new BPromise(function(_0x24e399,_0x2089e3){pdf['create'](_0x1a8ee9,_0xbd0793)[_0xe00a('0xdc')](path[_0xe00a('0xc2')](_0x12e281,_0xe00a('0xdd')+_0x128469['id']+'-'+_0x37c430+'.pdf'),function(_0x2809f4,_0x3a0519){if(_0x2809f4)return _0x2089e3(_0x2809f4);_0x24e399(_0x3a0519);});});})[_0xe00a('0x26')](function(){return new BPromise(function(_0x387b45,_0x3c692e){zipdir(_0x12e281,{'saveTo':_0xad1977},function(_0xe54c73,_0x514781){if(_0xe54c73)return _0x3c692e(_0xe54c73);return _0x387b45(_0x514781);});})[_0xe00a('0x26')](function(){return new BPromise(function(_0x55e891,_0x2c83da){rimraf(_0x12e281,function(_0xe1f34b){if(_0xe1f34b)_0x2c83da(_0xe1f34b);return _0x55e891();});});})['then'](function(){return _0x41a069[_0xe00a('0xbe')](_0xad1977,_0x386127,function(_0x2862af){if(_0x2862af){console[_0xe00a('0xde')](_0xe00a('0xdf'),_0x2862af);}else{fs[_0xe00a('0xe0')](_0xad1977);}});});});}else{return _0x41a069[_0xe00a('0x1c')](0xc8);}})['catch'](handleError(_0x41a069,null));};