Built motion from commit (unavailable).|2.4.17
[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 _0x0295=['GROUP_CONCAT(DISTINCT\x20t.id)','toString','groupBy','SmsInteractionId','push','all','show','params','includeAll','include','options','create','body','destroy','describe','addMessage','SmsMessage','ids','format','YYYY-MM-DD\x20HH:mm:ss','addTags','spread','smsInteractionTags:save','removeTags','download','unix','join','root','server','files','transcript-%d-%s.zip','User','fullname','CmContact','lastName','Messages','direction','secret','SmsAccount','Account','Owner','get','mkdirSync','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>','<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>','%s\x20#%d','YYYY-MM-DD','Sms','N.A.','closedAt','disposition','out','System','firstName','renderFile','downloadInteraction.html','transcript-','.pdf','html-pdf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','redis','defaults','./smsInteraction.socket','register','sendStatus','status','end','json','count','offset','Content-Range','reject','update','then','error','stack','name','send','map','TagIds','Tags','split','forEach','catch','index','SmsInteraction','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','pick','select','field','color','tools_tags','u.id','u.fullname','ui.SmsInteractionId','from','user_has_sms_interactions','left_join','users','u.id\x20=\x20ui.UserId','sms_interactions','cm_contacts','o.id\x20=\x20i.UserId','sms_accounts','a.id\x20=\x20i.SmsAccountId','sms_messages','me.SmsInteractionId\x20=\x20i.id','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','conditions','value','having','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','find','UserId','keys','some','compact','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$gte','null','read','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','\x27\x27\x27\x27','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','Sequelize','QueryTypes','SELECT','clone','i.id','order','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Owner.internal'];(function(_0x5a430f,_0x81f66d){var _0x4cd3e2=function(_0x40e1b2){while(--_0x40e1b2){_0x5a430f['push'](_0x5a430f['shift']());}};_0x4cd3e2(++_0x81f66d);}(_0x0295,0x1f0));var _0x5029=function(_0xd73d53,_0x598443){_0xd73d53=_0xd73d53-0x0;var _0x560148=_0x0295[_0xd73d53];return _0x560148;};'use strict';var pdf=require(_0x5029('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x5029('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x5029('0x2'));var BPromise=require(_0x5029('0x3'));var Mustache=require(_0x5029('0x4'));var util=require(_0x5029('0x5'));var path=require(_0x5029('0x6'));var sox=require(_0x5029('0x7'));var csv=require(_0x5029('0x8'));var ejs=require(_0x5029('0x9'));var fs=require('fs');var _=require(_0x5029('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x5029('0xb'));var toCsv=require('to-csv');var querystring=require(_0x5029('0xc'));var Papa=require('papaparse');var Redis=require(_0x5029('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x5029('0xe'));var as=require(_0x5029('0xf'));var hardwareService=require(_0x5029('0x10'));var logger=require('../../config/logger')(_0x5029('0x11'));var utils=require(_0x5029('0x12'));var config=require(_0x5029('0x13'));var db=require('../../mysqldb')['db'];config[_0x5029('0x14')]=_[_0x5029('0x15')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x5029('0x16'))[_0x5029('0x17')](socket);function respondWithStatusCode(_0x12c237,_0x434630){_0x434630=_0x434630||0xcc;return function(_0x2c0b33){if(_0x2c0b33){return _0x12c237[_0x5029('0x18')](_0x434630);}return _0x12c237[_0x5029('0x19')](_0x434630)[_0x5029('0x1a')]();};}function respondWithResult(_0x10bf55,_0x326923){_0x326923=_0x326923||0xc8;return function(_0x457c73){if(_0x457c73){return _0x10bf55[_0x5029('0x19')](_0x326923)[_0x5029('0x1b')](_0x457c73);}};}function respondWithFilteredResult(_0x2c273c,_0x343918){return function(_0x4f7ab4){if(_0x4f7ab4){var _0x1ed567=_0x4f7ab4[_0x5029('0x1c')],_0x31a155=_0x343918[_0x5029('0x1d')],_0x35de81=_0x343918[_0x5029('0x1d')]+_0x343918['limit'],_0x4902f3;if(_0x35de81>=_0x1ed567){_0x35de81=_0x1ed567;_0x4902f3=0xc8;}else{_0x4902f3=0xce;}_0x2c273c[_0x5029('0x19')](_0x4902f3);return _0x2c273c['set'](_0x5029('0x1e'),_0x31a155+'-'+_0x35de81+'/'+_0x1ed567)[_0x5029('0x1b')](_0x4f7ab4);}return null;};}function patchUpdates(_0x2710aa){return function(_0x3cf0fb){try{jsonpatch['apply'](_0x3cf0fb,_0x2710aa,!![]);}catch(_0x47ecca){return BPromise[_0x5029('0x1f')](_0x47ecca);}return _0x3cf0fb['save']();};}function saveUpdates(_0x3f657d,_0x853a34){return function(_0x1eb228){if(_0x1eb228){return _0x1eb228[_0x5029('0x20')](_0x3f657d)[_0x5029('0x21')](function(_0x3a3e52){return _0x3a3e52;});}return null;};}function removeEntity(_0x125c26,_0x356dac){return function(_0x3e857d){if(_0x3e857d){return _0x3e857d['destroy']()['then'](function(){_0x125c26['status'](0xcc)[_0x5029('0x1a')]();});}};}function handleEntityNotFound(_0x45666c,_0x51093c){return function(_0x5727e9){if(!_0x5727e9){_0x45666c[_0x5029('0x18')](0x194);}return _0x5727e9;};}function handleError(_0x1e7e61,_0x36d810){_0x36d810=_0x36d810||0x1f4;return function(_0x5527fc){logger[_0x5029('0x22')](_0x5527fc[_0x5029('0x23')]);if(_0x5527fc['name']){delete _0x5527fc[_0x5029('0x24')];}_0x1e7e61[_0x5029('0x19')](_0x36d810)[_0x5029('0x25')](_0x5527fc);};}function getInteractionUsers(_0x4a24b9,_0x32da06){return new BPromise(function(_0x251f99,_0xe5313e){try{if(_0x32da06[_0x4a24b9['id']]){_0x4a24b9['Users']=_[_0x5029('0x26')](_0x32da06[_0x4a24b9['id']],function(_0x2bb398){return{'id':_0x2bb398['id'],'fullname':_0x2bb398['fullname']};});}}catch(_0x1d79b9){_0xe5313e(_0x1d79b9);}_0x251f99(_0x4a24b9);});}function getInteractionTags(_0x25032b,_0x4434ff){return new BPromise(function(_0x1c3dd9,_0x196830){try{if(_0x25032b[_0x5029('0x27')]){_0x25032b[_0x5029('0x28')]=[];_0x25032b[_0x5029('0x27')][_0x5029('0x29')](',')[_0x5029('0x2a')](function(_0x358a2b){_0x25032b[_0x5029('0x28')]['push'](_0x4434ff[_0x358a2b]);});}delete _0x25032b[_0x5029('0x27')];}catch(_0x5cb04b){_0x196830(_0x5cb04b);}_0x1c3dd9(_0x25032b);});}function updateSmsInteraction(_0x31c621,_0x4f672e,_0x48f387){return new BPromise(function(_0x2bc434,_0x447680){return getInteractionUsers(_0x31c621,_0x48f387)[_0x5029('0x21')](function(_0x4b7330){return getInteractionTags(_0x4b7330,_0x4f672e);})[_0x5029('0x21')](function(_0x15d882){_0x2bc434(_0x15d882);})[_0x5029('0x2b')](function(_0x29c59a){_0x447680(_0x29c59a);});});}exports[_0x5029('0x2c')]=function(_0x4513b9,_0x46ec59){var _0x22205e={},_0x456cfc={},_0x5c9f10={'count':0x0,'rows':[]};var _0x1db45c=_[_0x5029('0x26')](db[_0x5029('0x2d')][_0x5029('0x2e')],function(_0x5ecd00){return{'name':_0x5ecd00[_0x5029('0x2f')],'type':_0x5ecd00[_0x5029('0x30')][_0x5029('0x31')]};});_0x456cfc['model']=_['map'](_0x1db45c,_0x5029('0x24'));_0x456cfc[_0x5029('0x32')]=_['keys'](_0x4513b9['query']);_0x456cfc[_0x5029('0x33')]=_[_0x5029('0x34')](_0x456cfc[_0x5029('0x35')],_0x456cfc[_0x5029('0x32')]);_0x22205e[_0x5029('0x36')]=_[_0x5029('0x34')](_0x456cfc[_0x5029('0x35')],qs[_0x5029('0x37')](_0x4513b9[_0x5029('0x32')][_0x5029('0x37')]));_0x22205e[_0x5029('0x36')]=_0x22205e[_0x5029('0x36')][_0x5029('0x38')]?_0x22205e[_0x5029('0x36')]:_0x456cfc['model'];if(!_0x4513b9['query'][_0x5029('0x39')](_0x5029('0x3a'))){_0x22205e[_0x5029('0x3b')]=qs['limit'](_0x4513b9[_0x5029('0x32')][_0x5029('0x3b')]);_0x22205e['offset']=qs[_0x5029('0x1d')](_0x4513b9['query'][_0x5029('0x1d')]);}_0x22205e['order']=qs[_0x5029('0x3c')](_0x4513b9[_0x5029('0x32')][_0x5029('0x3c')]);_0x22205e[_0x5029('0x3d')]=qs[_0x5029('0x33')](_[_0x5029('0x3e')](_0x4513b9[_0x5029('0x32')],_0x456cfc[_0x5029('0x33')]));var _0x2ae047=[];var _0x5a3e4d=squel[_0x5029('0x3f')]()[_0x5029('0x40')]('id')[_0x5029('0x40')](_0x5029('0x24'))[_0x5029('0x40')](_0x5029('0x41'))['from'](_0x5029('0x42'));var _0xa1580a=squel[_0x5029('0x3f')]()[_0x5029('0x40')](_0x5029('0x43'))['field'](_0x5029('0x44'))[_0x5029('0x40')](_0x5029('0x45'))[_0x5029('0x46')](_0x5029('0x47'),'ui')[_0x5029('0x48')](_0x5029('0x49'),'u',_0x5029('0x4a'));var _0x225037=squel['select']()[_0x5029('0x46')](_0x5029('0x4b'),'i')[_0x5029('0x48')](_0x5029('0x4c'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0x5029('0x49'),'o',_0x5029('0x4d'))[_0x5029('0x48')](_0x5029('0x4e'),'a',_0x5029('0x4f'))[_0x5029('0x48')](_0x5029('0x50'),'me',_0x5029('0x51'))[_0x5029('0x48')](_0x5029('0x52'),'it',_0x5029('0x53'))[_0x5029('0x48')](_0x5029('0x42'),'t',_0x5029('0x54'));var _0x3168bd=squel[_0x5029('0x55')]();var _0x10fc07=[];var _0x149cf6=squel[_0x5029('0x55')]();var _0x142ad8;if(_0x4513b9[_0x5029('0x32')]['search']){_0x142ad8=as[_0x5029('0x56')](_0x4513b9['query'][_0x5029('0x57')]);var _0x2d1588=_0x142ad8['sqlOperator'];for(var _0x5343c6=0x0;_0x5343c6<_0x142ad8[_0x5029('0x58')]['length'];_0x5343c6++){var _0x4aaa43=_0x142ad8[_0x5029('0x58')][_0x5343c6];var _0x8d2eed='i';var _0x2e4c4e=_['find'](_0x1db45c,['name',_0x4aaa43[_0x5029('0x40')]]);if(!_0x2e4c4e){switch(_0x4aaa43[_0x5029('0x40')]){case'unreadMessages':if(_0x4aaa43[_0x5029('0x59')]==0x1){_0x225037['having']('`'+_0x4aaa43[_0x5029('0x40')]+'`\x20=\x200');}else{_0x225037[_0x5029('0x5a')]('`'+_0x4aaa43[_0x5029('0x40')]+_0x5029('0x5b'));}break;case _0x5029('0x5c'):if(_0x4aaa43[_0x5029('0x5d')]===_0x5029('0x5e')){if(_0x4aaa43[_0x5029('0x59')][_0x5029('0x29')]('\x20')['length']>0x1){_0x3168bd[_0x2d1588](_0x5029('0x5f'),qs['getFullTextValue'](_0x4aaa43[_0x5029('0x59')]),null);}else{var _0x3c4ecd='%'+_0x4aaa43['value']+'%';_0x3168bd[_0x2d1588](_0x5029('0x60'),_0x3c4ecd,_0x3c4ecd,_0x3c4ecd);}}else{_0x2e4c4e=_['find'](_0x1db45c,['name','ContactId']);_0x4aaa43[_0x5029('0x40')]='ContactId';_0x105638=as[_0x5029('0x61')](_0x8d2eed,_0x2e4c4e[_0x5029('0x30')],_0x4aaa43);_0x3168bd[_0x2d1588](_0x105638[_0x5029('0x62')],_0x105638['value'][_0x5029('0x63')],_0x105638['value']['end']);}break;case _0x5029('0x64'):var _0x98abd1=_0x4aaa43[_0x5029('0x59')][_0x5029('0x29')](',')[_0x5029('0x26')](function(_0x4e8d9f){return Number(_0x4e8d9f);});_0x98abd1[_0x5029('0x2a')](function(_0x124634){_0x149cf6['or'](_0x5029('0x65'),'%,'+_0x124634+',%');});_0x10fc07=_[_0x5029('0x66')](_0x10fc07,_0x98abd1);break;case'User':if(_0x4aaa43[_0x5029('0x5d')]===_0x5029('0x5e')){_0x3168bd[_0x2d1588]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x4aaa43['value']+'%',null);}else{_0x2e4c4e=_[_0x5029('0x67')](_0x1db45c,[_0x5029('0x24'),_0x5029('0x68')]);_0x4aaa43[_0x5029('0x40')]='UserId';_0x105638=as[_0x5029('0x61')](_0x8d2eed,_0x2e4c4e[_0x5029('0x30')],_0x4aaa43);_0x3168bd[_0x2d1588](_0x105638[_0x5029('0x62')],_0x105638[_0x5029('0x59')][_0x5029('0x63')],_0x105638[_0x5029('0x59')]['end']);}break;case'body':_0x105638=as[_0x5029('0x61')]('me',null,_0x4aaa43);_0x3168bd[_0x2d1588](_0x105638[_0x5029('0x62')],_0x105638[_0x5029('0x59')]['start'],_0x105638[_0x5029('0x59')][_0x5029('0x1a')]);break;}}else{var _0x105638=as[_0x5029('0x61')](_0x8d2eed,_0x2e4c4e[_0x5029('0x30')],_0x4aaa43);_0x3168bd[_0x2d1588](_0x105638['text'],_0x105638[_0x5029('0x59')][_0x5029('0x63')],_0x105638[_0x5029('0x59')]['end']);}}}else{var _0x853407=_(_0x4513b9['query'])[_0x5029('0x69')]()['map'](function(_0xff558b){return _[_0x5029('0x6a')](_0x1db45c,[_0x5029('0x24'),_0xff558b])?_0xff558b:undefined;})[_0x5029('0x6b')]()[_0x5029('0x59')]();if(!_[_0x5029('0x6c')](_0x853407)){_0x853407['forEach'](function(_0x31c2d2){if(_0x31c2d2===_0x5029('0x6d')){_0x225037[_0x5029('0x3d')](_0x5029('0x6e'),[][_0x5029('0x6f')](_0x4513b9['query'][_0x31c2d2]));}else if(_0x31c2d2===_0x5029('0x70')){var _0x4a1fe0=JSON[_0x5029('0x71')](_0x4513b9['query'][_0x31c2d2])[_0x5029('0x72')];var _0x512392=JSON[_0x5029('0x71')](_0x4513b9['query'][_0x31c2d2])['$lte'];_0x225037[_0x5029('0x3d')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x4a1fe0,_0x512392);}else{if(_0x4513b9[_0x5029('0x32')][_0x31c2d2]===_0x5029('0x73')){_0x225037[_0x5029('0x3d')]('i.'+_0x31c2d2+'\x20IS\x20NULL');}else{_0x225037[_0x5029('0x3d')]('i.'+_0x31c2d2+'\x20=\x20?',_0x4513b9[_0x5029('0x32')][_0x31c2d2]);}}});}if(_0x4513b9[_0x5029('0x32')][_0x5029('0x74')]){if(_0x4513b9[_0x5029('0x32')][_0x5029('0x74')]==0x1){_0x225037['having'](_0x5029('0x75'));}else{_0x225037[_0x5029('0x5a')]('`unreadMessages`\x20>\x200');}}if(_0x4513b9[_0x5029('0x32')][_0x5029('0x76')]){_0x10fc07=_[_0x5029('0x77')](_0x4513b9[_0x5029('0x32')][_0x5029('0x76')])?_0x4513b9[_0x5029('0x32')]['tag']:new Array(_0x4513b9['query'][_0x5029('0x76')]);_0x10fc07['forEach'](function(_0x3a73d5){_0x149cf6['or'](_0x5029('0x65'),'%,'+_0x3a73d5+',%');});}if(_0x4513b9['query'][_0x5029('0x78')]){var _0x574d06=_0x4513b9['query'][_0x5029('0x78')][_0x5029('0x79')]('\x5c','\x5c\x5c')[_0x5029('0x79')]('\x27\x27',_0x5029('0x7a'));if(qs['isNumeric'](_0x574d06)){_0x3168bd['or'](_0x5029('0x7b'),_0x574d06+'%')['or'](_0x5029('0x7c'),_0x574d06+'%');}else{_0x3168bd['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x5029('0x7d')](_0x574d06))['or'](_0x5029('0x7e'),_0x574d06+'%');}}}_0x225037['where'](_0x3168bd);_0x225037['group']('i.id');var _0x7441d8={'type':db[_0x5029('0x7f')][_0x5029('0x80')][_0x5029('0x81')],'raw':!![]};var _0x46be5a=_0x225037[_0x5029('0x82')]();_0x46be5a[_0x5029('0x40')](_0x5029('0x83'));_0x46be5a[_0x5029('0x40')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');if(_0x22205e[_0x5029('0x84')]){_0x22205e[_0x5029('0x84')][_0x5029('0x2a')](function(_0x15906f){_0x225037[_0x5029('0x84')]('i.'+_0x15906f[0x0],_0x15906f[0x1]===_0x5029('0x85')?![]:!![]);});}if(!_[_0x5029('0x6c')](_0x10fc07)){_0x225037['having'](_0x149cf6);_0x46be5a[_0x5029('0x3d')](_0x5029('0x86'),_0x10fc07);}BPromise[_0x5029('0x87')]()['then'](function(){if(!_0x142ad8){if(_0x4513b9[_0x5029('0x32')][_0x5029('0x6d')]||_0x4513b9[_0x5029('0x32')]['journey'])return;_0x46be5a[_0x5029('0x3d')](_0x5029('0x88'));_0x225037[_0x5029('0x3d')]('i.SmsAccountId\x20IS\x20NOT\x20NULL');return;}return _0x4513b9[_0x5029('0x89')][_0x5029('0x8a')]({'attributes':['id'],'raw':!![]})['then'](function(_0x2cdd11){if(_[_0x5029('0x6c')](_0x2cdd11)){_0x46be5a[_0x5029('0x3d')](_0x5029('0x8b'));_0x225037[_0x5029('0x3d')]('i.SmsAccountId\x20IS\x20NULL');}else{_0x46be5a[_0x5029('0x3d')](_0x5029('0x6e'),_[_0x5029('0x26')](_0x2cdd11,'id'));_0x225037[_0x5029('0x3d')](_0x5029('0x6e'),_['map'](_0x2cdd11,'id'));}});})[_0x5029('0x21')](function(){db[_0x5029('0x8c')][_0x5029('0x32')](_0x46be5a['toString'](),_0x7441d8)[_0x5029('0x21')](function(_0xcd4e0c){_0x5c9f10[_0x5029('0x1c')]=_0xcd4e0c[_0x5029('0x38')];if(_0x5c9f10[_0x5029('0x1c')]===0x0)return[];return db[_0x5029('0x8c')][_0x5029('0x32')](_0x5a3e4d['toString'](),_0x7441d8)[_0x5029('0x21')](function(_0xc44476){_0x2ae047=_[_0x5029('0x8d')](_0xc44476,'id');_0x7441d8=_[_0x5029('0x8e')](_0x7441d8,{'model':db[_0x5029('0x2d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4513b9['query'][_0x5029('0x37')]){_0x22205e[_0x5029('0x36')][_0x5029('0x2a')](function(_0x4f2ceb){_0x225037[_0x5029('0x40')]('i.'+_0x4f2ceb);});}else{_0x225037[_0x5029('0x40')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');_0x225037['field'](_0x5029('0x8f'),_0x5029('0x90'));_0x225037[_0x5029('0x40')](_0x5029('0x91'),_0x5029('0x92'));_0x225037['field'](_0x5029('0x93'));_0x225037[_0x5029('0x40')](_0x5029('0x94'),'Contact.firstName');_0x225037['field'](_0x5029('0x95'),_0x5029('0x96'));_0x225037[_0x5029('0x40')](_0x5029('0x97'),'Contact.email');_0x225037[_0x5029('0x40')](_0x5029('0x98'),_0x5029('0x99'));_0x225037[_0x5029('0x40')](_0x5029('0x9a'),_0x5029('0x9b'));_0x225037[_0x5029('0x40')](_0x5029('0x9c'),'Contact.fax');_0x225037[_0x5029('0x40')]('o.fullname','Owner.fullname');_0x225037[_0x5029('0x40')]('o.internal',_0x5029('0x9d'));_0x225037[_0x5029('0x40')](_0x5029('0x9e'),_0x5029('0x27'));}_0x225037[_0x5029('0x3b')](_0x22205e[_0x5029('0x3b')]);_0x225037[_0x5029('0x1d')](_0x22205e[_0x5029('0x1d')]);return db['sequelize']['query'](_0x225037[_0x5029('0x9f')](),_0x7441d8);})['then'](function(_0x5a2027){_0xa1580a[_0x5029('0x3d')]('ui.SmsInteractionId\x20IN\x20?',_['map'](_0x5a2027,'id'));return db[_0x5029('0x8c')][_0x5029('0x32')](_0xa1580a[_0x5029('0x9f')](),_0x7441d8)[_0x5029('0x21')](function(_0x324493){var _0x522bd9=_[_0x5029('0xa0')](_0x324493,_0x5029('0xa1'));var _0x7c87a2=[];_0x5a2027['forEach'](function(_0x9e5767){_0x7c87a2[_0x5029('0xa2')](updateSmsInteraction(_0x9e5767,_0x2ae047,_0x522bd9));});return BPromise[_0x5029('0xa3')](_0x7c87a2);});});})[_0x5029('0x21')](function(_0x3867a1){_0x5c9f10['rows']=_0x3867a1;return _0x5c9f10;})['then'](respondWithFilteredResult(_0x46ec59,_0x22205e));})[_0x5029('0x2b')](handleError(_0x46ec59,null));};exports[_0x5029('0xa4')]=function(_0x5c6a07,_0x43fa13){var _0x332bfb={'raw':![],'where':{'id':_0x5c6a07[_0x5029('0xa5')]['id']}},_0x3d0d7a={};_0x3d0d7a[_0x5029('0x35')]=_[_0x5029('0x69')](db[_0x5029('0x2d')][_0x5029('0x2e')]);_0x3d0d7a['query']=_['keys'](_0x5c6a07[_0x5029('0x32')]);_0x3d0d7a['filters']=_[_0x5029('0x34')](_0x3d0d7a['model'],_0x3d0d7a[_0x5029('0x32')]);_0x332bfb[_0x5029('0x36')]=_[_0x5029('0x34')](_0x3d0d7a['model'],qs[_0x5029('0x37')](_0x5c6a07[_0x5029('0x32')][_0x5029('0x37')]));_0x332bfb['attributes']=_0x332bfb[_0x5029('0x36')][_0x5029('0x38')]?_0x332bfb[_0x5029('0x36')]:_0x3d0d7a[_0x5029('0x35')];if(_0x5c6a07[_0x5029('0x32')][_0x5029('0xa6')]){_0x332bfb[_0x5029('0xa7')]=[{'all':!![]}];}_0x332bfb=_[_0x5029('0x8e')]({},_0x332bfb,_0x5c6a07[_0x5029('0xa8')]);return db[_0x5029('0x2d')][_0x5029('0x67')](_0x332bfb)[_0x5029('0x21')](handleEntityNotFound(_0x43fa13,null))[_0x5029('0x21')](respondWithResult(_0x43fa13,null))[_0x5029('0x2b')](handleError(_0x43fa13,null));};exports[_0x5029('0xa9')]=function(_0x15435d,_0x282b18){return db[_0x5029('0x2d')]['create'](_0x15435d[_0x5029('0xaa')],{})[_0x5029('0x21')](respondWithResult(_0x282b18,0xc9))[_0x5029('0x2b')](handleError(_0x282b18,null));};exports[_0x5029('0x20')]=function(_0x34494c,_0x546b19){if(_0x34494c[_0x5029('0xaa')]['id']){delete _0x34494c[_0x5029('0xaa')]['id'];}return db[_0x5029('0x2d')][_0x5029('0x67')]({'where':{'id':_0x34494c[_0x5029('0xa5')]['id']}})['then'](handleEntityNotFound(_0x546b19,null))[_0x5029('0x21')](saveUpdates(_0x34494c[_0x5029('0xaa')],null))[_0x5029('0x21')](respondWithResult(_0x546b19,null))[_0x5029('0x2b')](handleError(_0x546b19,null));};exports[_0x5029('0xab')]=function(_0x512333,_0x412f87){return db[_0x5029('0x2d')][_0x5029('0x67')]({'where':{'id':_0x512333[_0x5029('0xa5')]['id']}})[_0x5029('0x21')](handleEntityNotFound(_0x412f87,null))[_0x5029('0x21')](removeEntity(_0x412f87,null))[_0x5029('0x2b')](handleError(_0x412f87,null));};exports[_0x5029('0xac')]=function(_0x4a7535,_0x53150a){return db[_0x5029('0x2d')][_0x5029('0xac')]()[_0x5029('0x21')](respondWithResult(_0x53150a,null))[_0x5029('0x2b')](handleError(_0x53150a,null));};exports[_0x5029('0xad')]=function(_0x561205,_0x2ed373,_0x493b8d){return db[_0x5029('0xae')][_0x5029('0x67')]({'where':{'id':_0x561205[_0x5029('0xa5')]['id']}})[_0x5029('0x21')](handleEntityNotFound(_0x2ed373,null))[_0x5029('0x21')](function(_0x76f407){if(_0x76f407){return _0x76f407['addMessage'](_0x561205[_0x5029('0xaa')][_0x5029('0xaf')],_['omit'](_0x561205[_0x5029('0xaa')],[_0x5029('0xaf'),'id'])||{});}})['then'](respondWithResult(_0x2ed373,null))[_0x5029('0x2b')](handleError(_0x2ed373,null));};exports['getMessages']=function(_0x54c0f3,_0x50d603,_0x5041cb){var _0x36cfef={'raw':![],'where':{}};var _0x599d2c={};var _0x3cb7a0={'count':0x0,'rows':[]};return db[_0x5029('0x2d')]['findOne']({'where':{'id':_0x54c0f3[_0x5029('0xa5')]['id']}})[_0x5029('0x21')](handleEntityNotFound(_0x50d603,null))['then'](function(_0x448d52){if(_0x448d52){_0x599d2c[_0x5029('0x35')]=_['keys'](db[_0x5029('0xae')][_0x5029('0x2e')]);_0x599d2c['query']=_[_0x5029('0x69')](_0x54c0f3[_0x5029('0x32')]);_0x599d2c[_0x5029('0x33')]=_[_0x5029('0x34')](_0x599d2c[_0x5029('0x35')],_0x599d2c[_0x5029('0x32')]);_0x36cfef['attributes']=_[_0x5029('0x34')](_0x599d2c['model'],qs[_0x5029('0x37')](_0x54c0f3[_0x5029('0x32')][_0x5029('0x37')]));_0x36cfef[_0x5029('0x36')]=_0x36cfef[_0x5029('0x36')][_0x5029('0x38')]?_0x36cfef[_0x5029('0x36')]:_0x599d2c[_0x5029('0x35')];if(!_0x54c0f3[_0x5029('0x32')][_0x5029('0x39')](_0x5029('0x3a'))){_0x36cfef[_0x5029('0x3b')]=qs[_0x5029('0x3b')](_0x54c0f3[_0x5029('0x32')][_0x5029('0x3b')]);_0x36cfef[_0x5029('0x1d')]=qs['offset'](_0x54c0f3[_0x5029('0x32')][_0x5029('0x1d')]);}_0x36cfef[_0x5029('0x84')]=qs[_0x5029('0x3c')](_0x54c0f3[_0x5029('0x32')][_0x5029('0x3c')]);_0x36cfef['where']=qs[_0x5029('0x33')](_[_0x5029('0x3e')](_0x54c0f3[_0x5029('0x32')],_0x599d2c[_0x5029('0x33')]));_0x36cfef[_0x5029('0x3d')]['SmsInteractionId']=_0x448d52['id'];if(_0x54c0f3[_0x5029('0x32')][_0x5029('0x78')]){_0x36cfef[_0x5029('0x3d')]=_[_0x5029('0x8e')](_0x36cfef[_0x5029('0x3d')],{'$or':_[_0x5029('0x26')](_0x36cfef[_0x5029('0x36')],function(_0x3973c6){var _0xb39e9d={};_0xb39e9d[_0x3973c6]={'$like':'%'+_0x54c0f3[_0x5029('0x32')]['filter']+'%'};return _0xb39e9d;})});}if(_0x54c0f3[_0x5029('0x32')]['$gte']){var _0x39eeed=_0x54c0f3[_0x5029('0x32')][_0x5029('0x72')][_0x5029('0x29')](',');var _0x56355d={};_0x56355d[_0x39eeed[0x0]]={'$gte':moment(_0x39eeed[0x1])[_0x5029('0xb0')](_0x5029('0xb1'))};_0x36cfef['where']=_[_0x5029('0x8e')](_0x36cfef[_0x5029('0x3d')],_0x56355d);}_0x36cfef=_['merge']({},_0x36cfef,_0x54c0f3[_0x5029('0xa8')]);return db[_0x5029('0xae')]['count']({'where':_0x36cfef['where']})[_0x5029('0x21')](function(_0x484c05){_0x3cb7a0['count']=_0x484c05;if(_0x54c0f3[_0x5029('0x32')]['includeAll']){_0x36cfef[_0x5029('0xa7')]=[{'all':!![]}];}return db[_0x5029('0xae')]['findAll'](_0x36cfef);})[_0x5029('0x21')](function(_0x3463cc){_0x3cb7a0['rows']=_0x3463cc;return _0x3cb7a0;});}})[_0x5029('0x21')](respondWithFilteredResult(_0x50d603,_0x36cfef))[_0x5029('0x2b')](handleError(_0x50d603,null));};exports[_0x5029('0xb2')]=function(_0x58115a,_0x450fac,_0x4cb4f1){return db[_0x5029('0x2d')][_0x5029('0x67')]({'where':{'id':_0x58115a[_0x5029('0xa5')]['id']}})['then'](handleEntityNotFound(_0x450fac,null))[_0x5029('0x21')](function(_0x44e198){if(_0x44e198){return _0x44e198['setTags'](_0x58115a[_0x5029('0xaa')][_0x5029('0xaf')],_['omit'](_0x58115a['body'],[_0x5029('0xaf'),'id'])||{})[_0x5029('0xb3')](function(){return db['Tag']['findAll']({'attributes':['id','name',_0x5029('0x41')],'where':{'id':_0x58115a[_0x5029('0xaa')][_0x5029('0xaf')]}});})['then'](function(_0x30f9cb){socket['emit'](_0x5029('0xb4'),{'id':Number(_0x58115a['params']['id']),'tags':_0x30f9cb||[]});return{'id':Number(_0x58115a['params']['id']),'tags':_0x30f9cb||[]};});}})['then'](respondWithResult(_0x450fac,null))['catch'](handleError(_0x450fac,null));};exports[_0x5029('0xb5')]=function(_0x1f8811,_0x91d08a,_0x11f39c){return db[_0x5029('0x2d')]['find']({'where':{'id':_0x1f8811[_0x5029('0xa5')]['id']}})[_0x5029('0x21')](handleEntityNotFound(_0x91d08a,null))[_0x5029('0x21')](function(_0x42b5eb){if(_0x42b5eb){return _0x42b5eb[_0x5029('0xb5')](_0x1f8811[_0x5029('0x32')]['ids']);}})[_0x5029('0x21')](respondWithStatusCode(_0x91d08a,null))[_0x5029('0x2b')](handleError(_0x91d08a,null));};exports[_0x5029('0xb6')]=function(_0x531caf,_0x5a4988){var _0xd05bc9=moment()[_0x5029('0xb7')]()[_0x5029('0x9f')]();var _0x256f43=path[_0x5029('0xb8')](config[_0x5029('0xb9')],_0x5029('0xba'),_0x5029('0xbb'),'tmp');var _0x1fae38=path[_0x5029('0xb8')](config[_0x5029('0xb9')],'server',_0x5029('0xbb'),'attachments');var _0x36f700=path[_0x5029('0xb8')](_0x256f43,_0xd05bc9);var _0x100ae3=util[_0x5029('0xb0')](_0x5029('0xbc'),_0x531caf[_0x5029('0xa5')]['id'],_0xd05bc9);var _0xcf928a=path[_0x5029('0xb8')](_0x256f43,_0x100ae3);var _0x4b98f1=[];_0x4b98f1['push']({'model':db['User'],'as':_0x5029('0xbd'),'attributes':['id',_0x5029('0xbe')],'raw':!![]});_0x4b98f1[_0x5029('0xa2')]({'model':db[_0x5029('0xbf')],'as':_0x5029('0x5c'),'attributes':['id','firstName',_0x5029('0xc0')],'raw':!![]});var _0x17dfbd=[{'model':db[_0x5029('0xae')],'as':_0x5029('0xc1'),'attributes':['id',_0x5029('0xaa'),'createdAt',_0x5029('0xc2'),_0x5029('0xc3'),_0x5029('0x74')],'include':_0x4b98f1}];_0x17dfbd[_0x5029('0xa2')]({'model':db[_0x5029('0xc4')],'as':_0x5029('0xc5'),'attributes':['id',_0x5029('0x24')]});_0x17dfbd[_0x5029('0xa2')]({'model':db[_0x5029('0xbd')],'as':_0x5029('0xc6'),'attributes':['id',_0x5029('0xbe')]});return db[_0x5029('0x2d')][_0x5029('0x67')]({'where':{'id':_0x531caf['params']['id']},'include':_0x17dfbd})['then'](handleEntityNotFound(_0x5a4988,null))[_0x5029('0x21')](function(_0x191169){if(_0x191169){var _0x5ed460=_0x191169[_0x5029('0xc7')]({'plain':!![]});fs[_0x5029('0xc8')](_0x36f700);var _0x50c01a={'format':'A4','border':_0x5029('0xc9'),'header':{'height':_0x5029('0xca'),'contents':{'first':_0x5029('0xcb')}},'footer':{'height':'30px','contents':{'default':util[_0x5029('0xb0')](_0x5029('0xcc'),util['format'](_0x5029('0xcd'),'Sms',_0x5ed460['id']),moment()['format'](_0x5029('0xce'))['toString']())}}};var _0x3c22c5={'channel':_0x5029('0xcf'),'account':_0x5ed460[_0x5029('0xc5')]['name'],'agent':_0x5ed460[_0x5029('0xc6')]?_0x5ed460['Owner']['fullname']:_0x5029('0xd0'),'createdAt':moment(_0x5ed460['createdAt'])[_0x5029('0xb0')](_0x5029('0xb1'))[_0x5029('0x9f')](),'closedAt':_0x5ed460['closed']?moment(_0x5ed460[_0x5029('0xd1')])[_0x5029('0xb0')](_0x5029('0xb1'))[_0x5029('0x9f')]():'','disposition':_0x5ed460[_0x5029('0xd2')],'messages':_(_0x5ed460[_0x5029('0xc1')])['filter']({'secret':![]})['map'](function(_0x2326dc){return{'date':moment(_0x2326dc[_0x5029('0x70')])['format'](_0x5029('0xb1'))['toString'](),'sender':_0x2326dc['direction']===_0x5029('0xd3')?_0x2326dc[_0x5029('0xbd')]?_0x2326dc[_0x5029('0xbd')][_0x5029('0xbe')]:_0x5029('0xd4'):_0x2326dc[_0x5029('0x5c')][_0x5029('0xd5')]+(_0x2326dc[_0x5029('0x5c')][_0x5029('0xc0')]?'\x20'+_0x2326dc[_0x5029('0x5c')][_0x5029('0xc0')]:''),'body':_0x2326dc[_0x5029('0xaa')],'direction':_0x2326dc[_0x5029('0xc2')]===_0x5029('0xd3')?'A':'C','secret':_0x2326dc[_0x5029('0xc3')],'read':_0x2326dc[_0x5029('0x74')]};})[_0x5029('0x59')]()};return ejs[_0x5029('0xd6')](path[_0x5029('0xb8')](config[_0x5029('0xb9')],_0x5029('0xba'),'views',_0x5029('0xd7')),{'interaction':_0x3c22c5})[_0x5029('0x21')](function(_0x32270e){return new BPromise(function(_0x4bf0b5,_0x32a6b0){pdf['create'](_0x32270e,_0x50c01a)['toFile'](path[_0x5029('0xb8')](_0x36f700,_0x5029('0xd8')+_0x5ed460['id']+'-'+_0xd05bc9+_0x5029('0xd9')),function(_0x20f812,_0x2d3fc6){if(_0x20f812)return _0x32a6b0(_0x20f812);_0x4bf0b5(_0x2d3fc6);});});})[_0x5029('0x21')](function(){return new BPromise(function(_0x2f3103,_0x5767a6){zipdir(_0x36f700,{'saveTo':_0xcf928a},function(_0xd84f06,_0x47b6de){if(_0xd84f06)return _0x5767a6(_0xd84f06);return _0x2f3103(_0x47b6de);});})['then'](function(){return new BPromise(function(_0xcd959b,_0x6ca2fd){rimraf(_0x36f700,function(_0x4579ec){if(_0x4579ec)_0x6ca2fd(_0x4579ec);return _0xcd959b();});});})[_0x5029('0x21')](function(){return _0x5a4988[_0x5029('0xb6')](_0xcf928a,_0x100ae3,function(_0x5cebf0){if(_0x5cebf0){console['log']('err',_0x5cebf0);}else{fs['unlinkSync'](_0xcf928a);}});});});}else{return _0x5a4988['sendStatus'](0xc8);}})['catch'](handleError(_0x5a4988,null));};