359a85ccf9a79c8c3ea43268b92ca3368829ae27
[motion2.git] / server / api / chatInteraction / chatInteraction.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 _0x0598=['i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','rows','show','include','options','create','params','describe','createVidaooSession','ChatWebsite','findOne','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','follow','ValidationError','Error\x20in\x20Vidaoo\x20configuration','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','Interaction\x20already\x20assigned','closed','disposition','AbandonInteraction','attachmentUpload','originalname','basename','file','filename','mimetype','attachmentDownload','Attachment','attachId','join','server/files/attachments/','close','root','transcript-%s.txt','pathTranscript','Messages','format','%s%d','agentAlias','System','customer','Visitor','agentIdentifier','website_alias','agent_alias','alias','fullname','agent_fullname','createdAt','MM/DD/YYYY\x20HH:mm:ss','MailServerOut','Smtp','service','host','port','secure','auth','SendMail','sendMail','\x22%s\x22\x20<%s>','email','mailTranscript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','nolimit','secret','includeAgent','includeAll','addTags','setTags','spread','color','chatInteractionTags:save','removeTags','download','unix','server','files','tmp','transcript-%d-%s.zip','CmContact','Contact','lastName','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>','%s\x20#%d','Chat','YYYY-MM-DD','N.A.','closedAt','browserName','osName','customerPort','tail','existsSync','createReadStream','pipe','createWriteStream','direction','out','firstName','toFile','transcript-','.pdf','log','err','html-pdf','eml-format','zip-dir','moment','bluebird','sox','to-csv','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','jayson/promise','http','client','request','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','sendStatus','stack','name','send','Users','TagIds','Tags','push','index','map','ChatInteraction','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','sort','pick','select','field','from','u.id','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','users','chat_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','parseSearch','search','sqlOperator','length','conditions','find','value','having','`\x20>\x200','operator','$substring','split','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','Tag','forEach','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','compact','ChatWebsiteId','concat','parse','$gte','$lte','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','group','Sequelize','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','order','contactName','DESC','isEmpty','t.id\x20IN\x20?','resolve','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','agent','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','sequelize','toString','keyBy','merge','a.key','a.mandatoryDisposition','Account.mandatoryDisposition'];(function(_0x4515dd,_0x436dad){var _0x3d49b5=function(_0x19fe92){while(--_0x19fe92){_0x4515dd['push'](_0x4515dd['shift']());}};_0x3d49b5(++_0x436dad);}(_0x0598,0x92));var _0x8059=function(_0x5cf983,_0x1c784d){_0x5cf983=_0x5cf983-0x0;var _0x5c73b0=_0x0598[_0x5cf983];return _0x5c73b0;};'use strict';var pdf=require(_0x8059('0x0'));var emlformat=require(_0x8059('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x8059('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x8059('0x3'));var BPromise=require(_0x8059('0x4'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x8059('0x5'));var csv=require(_0x8059('0x6'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x8059('0x7'));var crypto=require(_0x8059('0x8'));var jsforce=require(_0x8059('0x9'));var deskjs=require(_0x8059('0xa'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x8059('0xb'));var Redis=require(_0x8059('0xc'));var authService=require(_0x8059('0xd'));var qs=require(_0x8059('0xe'));var as=require(_0x8059('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x8059('0x10'));var utils=require(_0x8059('0x11'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x8059('0x12')]=_[_0x8059('0x13')](config[_0x8059('0x12')],{'host':_0x8059('0x14'),'port':0x18eb});var socket=require(_0x8059('0x15'))(new Redis(config['redis']));require(_0x8059('0x16'))['register'](socket);var jayson=require(_0x8059('0x17'));var client=jayson['client'][_0x8059('0x18')]({'port':0x232b});var client9004=jayson[_0x8059('0x19')][_0x8059('0x18')]({'port':0x232c});function respondWithRpcPromise(_0x4d3873,_0x516c1f,_0x5cda43,_0x3b8f18){return new BPromise(function(_0x239195,_0x2ffebf){var _0x246c9d=_0x3b8f18||client;return _0x246c9d[_0x8059('0x1a')](_0x4d3873,_0x5cda43)['then'](function(_0x10ad98){logger[_0x8059('0x1b')](_0x8059('0x1c'),_0x516c1f,_0x8059('0x1d'));logger['debug'](_0x8059('0x1e'),_0x516c1f,'request\x20sent',JSON[_0x8059('0x1f')](_0x10ad98));if(_0x10ad98['error']){if(_0x10ad98[_0x8059('0x20')]['code']===0x1f4){logger[_0x8059('0x20')](_0x8059('0x1c'),_0x516c1f,_0x10ad98[_0x8059('0x20')]['message']);return _0x2ffebf(_0x10ad98['error'][_0x8059('0x21')]);}logger[_0x8059('0x20')](_0x8059('0x1c'),_0x516c1f,_0x10ad98[_0x8059('0x20')]['message']);return _0x239195(_0x10ad98[_0x8059('0x20')][_0x8059('0x21')]);}else{logger[_0x8059('0x1b')]('ChatInteraction,\x20%s,\x20%s',_0x516c1f,_0x8059('0x1d'));_0x239195(_0x10ad98[_0x8059('0x22')][_0x8059('0x21')]);}})[_0x8059('0x23')](function(_0x59d3a6){logger[_0x8059('0x20')](_0x8059('0x1c'),_0x516c1f,_0x59d3a6);_0x2ffebf(_0x59d3a6);});});}function respondWithStatusCode(_0x4781e2,_0x3e2d2b){_0x3e2d2b=_0x3e2d2b||0xcc;return function(_0x202b30){if(_0x202b30){return _0x4781e2['sendStatus'](_0x3e2d2b);}return _0x4781e2[_0x8059('0x24')](_0x3e2d2b)[_0x8059('0x25')]();};}function respondWithResult(_0xd1fa7e,_0x4a294f){_0x4a294f=_0x4a294f||0xc8;return function(_0x582321){if(_0x582321){return _0xd1fa7e['status'](_0x4a294f)[_0x8059('0x26')](_0x582321);}};}function respondWithFilteredResult(_0xbebe0e,_0xc32b1f){return function(_0x1009af){if(_0x1009af){var _0x59abe9=_0x1009af[_0x8059('0x27')],_0x1eb71b=_0xc32b1f['offset'],_0x50b737=_0xc32b1f[_0x8059('0x28')]+_0xc32b1f[_0x8059('0x29')],_0x2f887c;if(_0x50b737>=_0x59abe9){_0x50b737=_0x59abe9;_0x2f887c=0xc8;}else{_0x2f887c=0xce;}_0xbebe0e[_0x8059('0x24')](_0x2f887c);return _0xbebe0e[_0x8059('0x2a')](_0x8059('0x2b'),_0x1eb71b+'-'+_0x50b737+'/'+_0x59abe9)[_0x8059('0x26')](_0x1009af);}return null;};}function patchUpdates(_0x46b6a1){return function(_0x2016ea){try{jsonpatch['apply'](_0x2016ea,_0x46b6a1,!![]);}catch(_0xb3c36e){return BPromise[_0x8059('0x2c')](_0xb3c36e);}return _0x2016ea[_0x8059('0x2d')]();};}function saveUpdates(_0x15f843,_0x289992){return function(_0x53fb30){if(_0x53fb30){return _0x53fb30[_0x8059('0x2e')](_0x15f843)[_0x8059('0x2f')](function(_0x27c947){return _0x27c947;});}return null;};}function removeEntity(_0x15160a,_0x3ee515){return function(_0x22fd6f){if(_0x22fd6f){return _0x22fd6f[_0x8059('0x30')]()[_0x8059('0x2f')](function(){_0x15160a[_0x8059('0x24')](0xcc)[_0x8059('0x25')]();});}};}function handleEntityNotFound(_0x521ca4,_0x45c175){return function(_0x5b0070){if(!_0x5b0070){_0x521ca4[_0x8059('0x31')](0x194);}return _0x5b0070;};}function handleError(_0x5dc3f7,_0x49fb7e){_0x49fb7e=_0x49fb7e||0x1f4;return function(_0x2191a0){logger['error'](_0x2191a0[_0x8059('0x32')]);if(_0x2191a0['name']){delete _0x2191a0[_0x8059('0x33')];}_0x5dc3f7['status'](_0x49fb7e)[_0x8059('0x34')](_0x2191a0);};}function getInteractionUsers(_0x5c4aa0,_0x53252a){return new BPromise(function(_0x3a3e20,_0x7961af){try{if(_0x53252a[_0x5c4aa0['id']]){_0x5c4aa0[_0x8059('0x35')]=_['map'](_0x53252a[_0x5c4aa0['id']],function(_0x241403){return{'id':_0x241403['id'],'fullname':_0x241403['fullname']};});}}catch(_0x1e8596){_0x7961af(_0x1e8596);}_0x3a3e20(_0x5c4aa0);});}function getInteractionTags(_0x50a685,_0x2034ec){return new BPromise(function(_0x1cee2b,_0x45393b){try{if(_0x50a685[_0x8059('0x36')]){_0x50a685['Tags']=[];_0x50a685[_0x8059('0x36')]['split'](',')['forEach'](function(_0x33b3b7){_0x50a685[_0x8059('0x37')][_0x8059('0x38')](_0x2034ec[_0x33b3b7]);});}delete _0x50a685[_0x8059('0x36')];}catch(_0x2f68b0){_0x45393b(_0x2f68b0);}_0x1cee2b(_0x50a685);});}function updateChatInteraction(_0x5b322f,_0x47c3b9,_0x4872f2){return new BPromise(function(_0x5f0c8e,_0x373e10){return getInteractionUsers(_0x5b322f,_0x4872f2)[_0x8059('0x2f')](function(_0xc84f04){return getInteractionTags(_0xc84f04,_0x47c3b9);})['then'](function(_0x29ae1f){_0x5f0c8e(_0x29ae1f);})[_0x8059('0x23')](function(_0x52919a){_0x373e10(_0x52919a);});});}exports[_0x8059('0x39')]=function(_0x2980cb,_0x12c5fa){var _0x5362b5={},_0x2c48cf={},_0x38c320={'count':0x0,'rows':[]};var _0x57eb56=_[_0x8059('0x3a')](db[_0x8059('0x3b')][_0x8059('0x3c')],function(_0x40763d){return{'name':_0x40763d[_0x8059('0x3d')],'type':_0x40763d[_0x8059('0x3e')][_0x8059('0x3f')]};});_0x2c48cf[_0x8059('0x40')]=_[_0x8059('0x3a')](_0x57eb56,_0x8059('0x33'));_0x2c48cf[_0x8059('0x41')]=_[_0x8059('0x42')](_0x2980cb[_0x8059('0x41')]);_0x2c48cf[_0x8059('0x43')]=_[_0x8059('0x44')](_0x2c48cf[_0x8059('0x40')],_0x2c48cf[_0x8059('0x41')]);_0x5362b5[_0x8059('0x45')]=_[_0x8059('0x44')](_0x2c48cf[_0x8059('0x40')],qs[_0x8059('0x46')](_0x2980cb[_0x8059('0x41')][_0x8059('0x46')]));_0x5362b5['attributes']=_0x5362b5[_0x8059('0x45')]['length']?_0x5362b5['attributes']:_0x2c48cf[_0x8059('0x40')];if(!_0x2980cb['query'][_0x8059('0x47')]('nolimit')){_0x5362b5[_0x8059('0x29')]=qs[_0x8059('0x29')](_0x2980cb[_0x8059('0x41')][_0x8059('0x29')]);_0x5362b5[_0x8059('0x28')]=qs[_0x8059('0x28')](_0x2980cb['query'][_0x8059('0x28')]);}_0x5362b5['order']=qs[_0x8059('0x48')](_0x2980cb[_0x8059('0x41')][_0x8059('0x48')]);_0x5362b5['where']=qs[_0x8059('0x43')](_[_0x8059('0x49')](_0x2980cb[_0x8059('0x41')],_0x2c48cf[_0x8059('0x43')]),_0x57eb56);var _0x584e13=[];var _0x3ccfb1=squel[_0x8059('0x4a')]()[_0x8059('0x4b')]('id')['field'](_0x8059('0x33'))['field']('color')[_0x8059('0x4c')]('tools_tags');var _0x20caa3=squel['select']()[_0x8059('0x4b')](_0x8059('0x4d'))['field'](_0x8059('0x4e'))['field'](_0x8059('0x4f'))[_0x8059('0x4c')](_0x8059('0x50'),'ui')['left_join'](_0x8059('0x51'),'u','u.id\x20=\x20ui.UserId');var _0x21ceef=squel[_0x8059('0x4a')]()[_0x8059('0x4c')](_0x8059('0x52'),'i')['left_join'](_0x8059('0x53'),'c',_0x8059('0x54'))['left_join'](_0x8059('0x51'),'o','o.id\x20=\x20i.UserId')[_0x8059('0x55')]('chat_websites','a','a.id\x20=\x20i.ChatWebsiteId')[_0x8059('0x55')](_0x8059('0x56'),'me',_0x8059('0x57'))[_0x8059('0x55')](_0x8059('0x58'),'it',_0x8059('0x59'))[_0x8059('0x55')]('tools_tags','t','t.id\x20=\x20it.TagId');var _0x52ed37=squel['expr']();var _0x37c254=[];var _0x21d53c=squel['expr']();var _0x411fe1;if(_0x2980cb['query']['search']){_0x411fe1=as[_0x8059('0x5a')](_0x2980cb['query'][_0x8059('0x5b')]);var _0x27dfa5=_0x411fe1[_0x8059('0x5c')];for(var _0x5928a4=0x0;_0x5928a4<_0x411fe1['conditions'][_0x8059('0x5d')];_0x5928a4++){var _0x39b9f6=_0x411fe1[_0x8059('0x5e')][_0x5928a4];var _0x5056e6='i';var _0x501f2c=_[_0x8059('0x5f')](_0x57eb56,['name',_0x39b9f6['field']]);if(!_0x501f2c){switch(_0x39b9f6[_0x8059('0x4b')]){case'unreadMessages':if(_0x39b9f6[_0x8059('0x60')]==0x1){_0x21ceef[_0x8059('0x61')]('`'+_0x39b9f6['field']+'`\x20=\x200');}else{_0x21ceef[_0x8059('0x61')]('`'+_0x39b9f6[_0x8059('0x4b')]+_0x8059('0x62'));}break;case'Contact':if(_0x39b9f6[_0x8059('0x63')]===_0x8059('0x64')){if(_0x39b9f6[_0x8059('0x60')][_0x8059('0x65')]('\x20')['length']>0x1){_0x52ed37[_0x27dfa5](_0x8059('0x66'),qs['getFullTextValue'](_0x39b9f6[_0x8059('0x60')]),null);}else{var _0x176f8a='%'+_0x39b9f6['value']+'%';_0x52ed37[_0x27dfa5](_0x8059('0x67'),_0x176f8a,_0x176f8a,_0x176f8a);}}else{_0x501f2c=_['find'](_0x57eb56,[_0x8059('0x33'),_0x8059('0x68')]);_0x39b9f6[_0x8059('0x4b')]=_0x8059('0x68');_0x3f13a3=as[_0x8059('0x69')](_0x5056e6,_0x501f2c[_0x8059('0x3e')],_0x39b9f6);_0x52ed37[_0x27dfa5](_0x3f13a3[_0x8059('0x6a')],_0x3f13a3[_0x8059('0x60')][_0x8059('0x6b')],_0x3f13a3[_0x8059('0x60')][_0x8059('0x25')]);}break;case _0x8059('0x6c'):var _0x325f9c=_0x39b9f6['value'][_0x8059('0x65')](',')[_0x8059('0x3a')](function(_0x391924){return Number(_0x391924);});_0x325f9c[_0x8059('0x6d')](function(_0x2cf1fd){_0x21d53c['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x2cf1fd+',%');});_0x37c254=_[_0x8059('0x6e')](_0x37c254,_0x325f9c);break;case _0x8059('0x6f'):if(_0x39b9f6[_0x8059('0x63')]===_0x8059('0x64')){_0x52ed37[_0x27dfa5](_0x8059('0x70'),'%'+_0x39b9f6[_0x8059('0x60')]+'%',null);}else{_0x501f2c=_[_0x8059('0x5f')](_0x57eb56,[_0x8059('0x33'),_0x8059('0x71')]);_0x39b9f6['field']=_0x8059('0x71');_0x3f13a3=as[_0x8059('0x69')](_0x5056e6,_0x501f2c[_0x8059('0x3e')],_0x39b9f6);_0x52ed37[_0x27dfa5](_0x3f13a3['text'],_0x3f13a3['value'][_0x8059('0x6b')],_0x3f13a3[_0x8059('0x60')][_0x8059('0x25')]);}break;case _0x8059('0x72'):_0x3f13a3=as[_0x8059('0x69')]('me',null,_0x39b9f6);_0x52ed37[_0x27dfa5](_0x3f13a3[_0x8059('0x6a')],_0x3f13a3[_0x8059('0x60')]['start'],_0x3f13a3[_0x8059('0x60')][_0x8059('0x25')]);break;}}else{var _0x3f13a3=as['buildExpression'](_0x5056e6,_0x501f2c[_0x8059('0x3e')],_0x39b9f6);_0x52ed37[_0x27dfa5](_0x3f13a3[_0x8059('0x6a')],_0x3f13a3[_0x8059('0x60')][_0x8059('0x6b')],_0x3f13a3['value']['end']);}}}else{var _0x2aa4a0=_(_0x2980cb[_0x8059('0x41')])['keys']()[_0x8059('0x3a')](function(_0x1c19b0){return _[_0x8059('0x73')](_0x57eb56,[_0x8059('0x33'),_0x1c19b0])?_0x1c19b0:undefined;})[_0x8059('0x74')]()[_0x8059('0x60')]();if(!_['isEmpty'](_0x2aa4a0)){_0x2aa4a0[_0x8059('0x6d')](function(_0x2cdcc4){if(_0x2cdcc4===_0x8059('0x75')){_0x21ceef['where']('i.ChatWebsiteId\x20IN\x20?',[][_0x8059('0x76')](_0x2980cb[_0x8059('0x41')][_0x2cdcc4]));}else if(_0x2cdcc4==='createdAt'){var _0x1f9c4f=JSON[_0x8059('0x77')](_0x2980cb[_0x8059('0x41')][_0x2cdcc4])[_0x8059('0x78')];var _0x2009d9=JSON[_0x8059('0x77')](_0x2980cb[_0x8059('0x41')][_0x2cdcc4])[_0x8059('0x79')];_0x21ceef[_0x8059('0x7a')](_0x8059('0x7b'),_0x1f9c4f,_0x2009d9);}else{if(_0x2980cb[_0x8059('0x41')][_0x2cdcc4]===_0x8059('0x7c')){_0x21ceef['where']('i.'+_0x2cdcc4+_0x8059('0x7d'));}else{_0x21ceef[_0x8059('0x7a')]('i.'+_0x2cdcc4+_0x8059('0x7e'),_0x2980cb['query'][_0x2cdcc4]);}}});}if(_0x2980cb['query'][_0x8059('0x7f')]){if(_0x2980cb['query']['read']==0x1){_0x21ceef[_0x8059('0x61')](_0x8059('0x80'));}else{_0x21ceef['having'](_0x8059('0x81'));}}if(_0x2980cb[_0x8059('0x41')]['tag']){_0x37c254=_['isArray'](_0x2980cb[_0x8059('0x41')]['tag'])?_0x2980cb['query'][_0x8059('0x82')]:new Array(_0x2980cb[_0x8059('0x41')][_0x8059('0x82')]);_0x37c254[_0x8059('0x6d')](function(_0x55257a){_0x21d53c['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x55257a+',%');});}if(_0x2980cb[_0x8059('0x41')][_0x8059('0x83')]){var _0x402120=_0x2980cb[_0x8059('0x41')][_0x8059('0x83')][_0x8059('0x84')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x402120)){_0x52ed37['or'](_0x8059('0x85'),_0x402120+'%');}else{_0x52ed37['or'](_0x8059('0x86'),qs[_0x8059('0x87')](_0x402120))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x402120+'%');}}}_0x21ceef[_0x8059('0x7a')](_0x52ed37);_0x21ceef[_0x8059('0x88')]('i.id');var _0x5a5c7={'type':db[_0x8059('0x89')]['QueryTypes'][_0x8059('0x8a')],'raw':!![]};var _0x3c5ae0=_0x21ceef[_0x8059('0x8b')]();_0x3c5ae0[_0x8059('0x4b')](_0x8059('0x8c'));_0x3c5ae0[_0x8059('0x4b')](_0x8059('0x8d'),_0x8059('0x8e'));if(_0x5362b5[_0x8059('0x8f')]){_0x5362b5['order']['forEach'](function(_0x1b9f1a){var _0x1452ed=_0x1b9f1a[0x0]===_0x8059('0x90')?_0x1b9f1a[0x0]:'i.'+_0x1b9f1a[0x0];_0x21ceef[_0x8059('0x8f')](_0x1452ed,_0x1b9f1a[0x1]===_0x8059('0x91')?![]:!![]);});}if(!_[_0x8059('0x92')](_0x37c254)){_0x21ceef['having'](_0x21d53c);_0x3c5ae0[_0x8059('0x7a')](_0x8059('0x93'),_0x37c254);}BPromise[_0x8059('0x94')]()['then'](function(){if(!_0x411fe1){if(_0x2980cb[_0x8059('0x41')][_0x8059('0x75')]||_0x2980cb[_0x8059('0x41')][_0x8059('0x95')])return;_0x3c5ae0[_0x8059('0x7a')](_0x8059('0x96'));_0x21ceef[_0x8059('0x7a')](_0x8059('0x96'));return;}if(_0x2980cb[_0x8059('0x97')][_0x8059('0x98')]!==_0x8059('0x99'))return;return _0x2980cb[_0x8059('0x97')][_0x8059('0x9a')]({'attributes':['id'],'raw':!![]})[_0x8059('0x2f')](function(_0x397d77){if(_['isEmpty'](_0x397d77)){_0x3c5ae0[_0x8059('0x7a')](_0x8059('0x9b'));_0x21ceef['where'](_0x8059('0x9b'));}else{_0x3c5ae0['where'](_0x8059('0x9c'),_[_0x8059('0x3a')](_0x397d77,'id'));_0x21ceef[_0x8059('0x7a')](_0x8059('0x9c'),_[_0x8059('0x3a')](_0x397d77,'id'));}});})[_0x8059('0x2f')](function(){if(_0x2980cb[_0x8059('0x97')][_0x8059('0x98')]===_0x8059('0x99')&&!_0x411fe1&&!_0x2980cb[_0x8059('0x41')][_0x8059('0x75')])return[];return db[_0x8059('0x9d')]['query'](_0x3c5ae0['toString'](),_0x5a5c7);})[_0x8059('0x2f')](function(_0x276c67){_0x38c320['count']=_0x276c67[_0x8059('0x5d')];if(_0x38c320['count']===0x0)return[];return db[_0x8059('0x9d')][_0x8059('0x41')](_0x3ccfb1[_0x8059('0x9e')](),_0x5a5c7)[_0x8059('0x2f')](function(_0x137855){_0x584e13=_[_0x8059('0x9f')](_0x137855,'id');_0x5a5c7=_[_0x8059('0xa0')](_0x5a5c7,{'model':db[_0x8059('0x3b')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2980cb[_0x8059('0x41')][_0x8059('0x46')]){_0x5362b5['attributes'][_0x8059('0x6d')](function(_0xdb578){_0x21ceef['field']('i.'+_0xdb578);});}else{_0x21ceef[_0x8059('0x4b')](_0x8059('0x8d'),_0x8059('0x8e'));_0x21ceef[_0x8059('0x4b')](_0x8059('0xa1'),'Account.key');_0x21ceef[_0x8059('0x4b')](_0x8059('0xa2'),_0x8059('0xa3'));_0x21ceef[_0x8059('0x4b')]('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',_0x8059('0x90'));_0x21ceef[_0x8059('0x4b')](_0x8059('0xa4'));_0x21ceef[_0x8059('0x4b')](_0x8059('0xa5'),_0x8059('0xa6'));_0x21ceef[_0x8059('0x4b')](_0x8059('0xa7'),_0x8059('0xa8'));_0x21ceef[_0x8059('0x4b')]('c.email',_0x8059('0xa9'));_0x21ceef[_0x8059('0x4b')](_0x8059('0xaa'),_0x8059('0xab'));_0x21ceef[_0x8059('0x4b')](_0x8059('0xac'),_0x8059('0xad'));_0x21ceef[_0x8059('0x4b')](_0x8059('0xae'),_0x8059('0xaf'));_0x21ceef['field'](_0x8059('0xb0'),_0x8059('0xb1'));_0x21ceef[_0x8059('0x4b')](_0x8059('0xb2'),_0x8059('0xb3'));_0x21ceef[_0x8059('0x4b')]('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0x5362b5[_0x8059('0x29')])_0x21ceef['limit'](_0x5362b5['limit']);if(_0x5362b5['offset'])_0x21ceef[_0x8059('0x28')](_0x5362b5[_0x8059('0x28')]);return db[_0x8059('0x9d')][_0x8059('0x41')](_0x21ceef['toString'](),_0x5a5c7);})[_0x8059('0x2f')](function(_0x3fbf03){_0x20caa3[_0x8059('0x7a')](_0x8059('0xb4'),_[_0x8059('0x3a')](_0x3fbf03,'id'));return db[_0x8059('0x9d')]['query'](_0x20caa3[_0x8059('0x9e')](),_0x5a5c7)[_0x8059('0x2f')](function(_0x3aa43b){var _0x111e96=_[_0x8059('0xb5')](_0x3aa43b,_0x8059('0xb6'));var _0x3e2fec=[];_0x3fbf03[_0x8059('0x6d')](function(_0x15a50f){_0x3e2fec[_0x8059('0x38')](updateChatInteraction(_0x15a50f,_0x584e13,_0x111e96));});return BPromise[_0x8059('0xb7')](_0x3e2fec);});});})[_0x8059('0x2f')](function(_0xa088b){_0x38c320[_0x8059('0xb8')]=_0xa088b;return _0x38c320;})['then'](respondWithFilteredResult(_0x12c5fa,_0x5362b5))[_0x8059('0x23')](handleError(_0x12c5fa,null));};exports[_0x8059('0xb9')]=function(_0x247c9f,_0x1c1b32){var _0x5aaff4={'raw':![],'where':{'id':_0x247c9f['params']['id']}},_0x58d66f={};_0x58d66f['model']=_[_0x8059('0x42')](db[_0x8059('0x3b')][_0x8059('0x3c')]);_0x58d66f[_0x8059('0x41')]=_[_0x8059('0x42')](_0x247c9f[_0x8059('0x41')]);_0x58d66f[_0x8059('0x43')]=_[_0x8059('0x44')](_0x58d66f[_0x8059('0x40')],_0x58d66f[_0x8059('0x41')]);_0x5aaff4[_0x8059('0x45')]=_[_0x8059('0x44')](_0x58d66f['model'],qs[_0x8059('0x46')](_0x247c9f[_0x8059('0x41')][_0x8059('0x46')]));_0x5aaff4[_0x8059('0x45')]=_0x5aaff4['attributes'][_0x8059('0x5d')]?_0x5aaff4[_0x8059('0x45')]:_0x58d66f['model'];if(_0x247c9f[_0x8059('0x41')]['includeAll']){_0x5aaff4[_0x8059('0xba')]=[{'all':!![]}];}_0x5aaff4=_[_0x8059('0xa0')]({},_0x5aaff4,_0x247c9f[_0x8059('0xbb')]);return db[_0x8059('0x3b')][_0x8059('0x5f')](_0x5aaff4)[_0x8059('0x2f')](handleEntityNotFound(_0x1c1b32,null))[_0x8059('0x2f')](respondWithResult(_0x1c1b32,null))[_0x8059('0x23')](handleError(_0x1c1b32,null));};exports[_0x8059('0xbc')]=function(_0x267dd9,_0x2dfb03){return db[_0x8059('0x3b')][_0x8059('0xbc')](_0x267dd9[_0x8059('0x72')],{})[_0x8059('0x2f')](respondWithResult(_0x2dfb03,0xc9))['catch'](handleError(_0x2dfb03,null));};exports[_0x8059('0x2e')]=function(_0x597a10,_0x396e77){if(_0x597a10[_0x8059('0x72')]['id']){delete _0x597a10[_0x8059('0x72')]['id'];}return db[_0x8059('0x3b')]['find']({'where':{'id':_0x597a10[_0x8059('0xbd')]['id']}})[_0x8059('0x2f')](handleEntityNotFound(_0x396e77,null))['then'](saveUpdates(_0x597a10['body'],null))[_0x8059('0x2f')](respondWithResult(_0x396e77,null))['catch'](handleError(_0x396e77,null));};exports[_0x8059('0x30')]=function(_0x924189,_0x3464fa){return db[_0x8059('0x3b')][_0x8059('0x5f')]({'where':{'id':_0x924189['params']['id']}})['then'](handleEntityNotFound(_0x3464fa,null))['then'](removeEntity(_0x3464fa,null))['catch'](handleError(_0x3464fa,null));};exports[_0x8059('0xbe')]=function(_0x30fa8e,_0x3741b9){return db['ChatInteraction'][_0x8059('0xbe')]()[_0x8059('0x2f')](respondWithResult(_0x3741b9,null))[_0x8059('0x23')](handleError(_0x3741b9,null));};exports[_0x8059('0xbf')]=function(_0x39dd43,_0x57633f){var _0x4dec29=_0x39dd43['params']['id'];var _0x13f867;var _0xe6758c;var _0x11b71b;return db[_0x8059('0x3b')]['findOne']({'where':{'id':_0x4dec29}})['then'](function(_0x5282b2){_0x13f867=_0x5282b2;return db[_0x8059('0xc0')][_0x8059('0xc1')]({'where':{'id':_0x5282b2['ChatWebsiteId']},'attributes':['id',_0x8059('0xc2'),_0x8059('0xc3')],'raw':!![]});})[_0x8059('0x2f')](function(_0x21fc4b){if(_0x21fc4b&&_0x21fc4b['vidaooApiKey']&&_0x21fc4b[_0x8059('0xc3')]){_0xe6758c=_0x21fc4b;var _0x2823d7={'rejectUnauthorized':![],'method':_0x8059('0xc4'),'uri':_0x8059('0xc5'),'headers':{'X-APIKEY':_0x21fc4b[_0x8059('0xc2')]},'body':{'name':_0x8059('0xc6')+_0x4dec29},'redirect':_0x8059('0xc7'),'json':!![]};return rp(_0x2823d7);}else{throw new db[(_0x8059('0x89'))][(_0x8059('0xc8'))](_0x8059('0xc9'));}})[_0x8059('0x2f')](function(_0x1e5ff8){_0x11b71b=_0x1e5ff8;if(_0x11b71b['id']){var _0x28ed70={'body':_0x11b71b['join_url'],'ChatWebsiteId':_0xe6758c['id'],'ChatInteractionId':_0x13f867['id'],'direction':'out','UserId':_0x39dd43['user']['id']};return db[_0x8059('0xca')][_0x8059('0xbc')](_0x28ed70,{});}else{throw new db[(_0x8059('0x89'))][(_0x8059('0xc8'))](_0x8059('0xcb'));}})[_0x8059('0x2f')](function(){return _0x13f867[_0x8059('0xcc')]({'vidaooSessionId':_0x11b71b['id']});})[_0x8059('0x2f')](respondWithResult(_0x57633f,null))[_0x8059('0x23')](handleError(_0x57633f,null));};exports[_0x8059('0xcd')]=function(_0x3819b8,_0x5aceac){if(_0x3819b8['body']['id']){delete _0x3819b8[_0x8059('0x72')]['id'];}return db['ChatInteraction'][_0x8059('0x5f')]({'where':{'id':_0x3819b8[_0x8059('0xbd')]['id']}})[_0x8059('0x2f')](handleEntityNotFound(_0x5aceac,null))[_0x8059('0x2f')](saveUpdates(_0x3819b8[_0x8059('0x72')],null))[_0x8059('0x2f')](respondWithResult(_0x5aceac,null))['catch'](handleError(_0x5aceac,null));};exports[_0x8059('0xce')]=function(_0x109e26,_0x373d0b,_0x3a5e9a){if(_0x109e26[_0x8059('0x72')]['id']){delete _0x109e26[_0x8059('0x72')]['id'];}return db[_0x8059('0x3b')][_0x8059('0x5f')]({'where':{'id':_0x109e26[_0x8059('0xbd')]['id']}})[_0x8059('0x2f')](function(_0xe04499){if(!_0xe04499){logger[_0x8059('0x20')](_0x8059('0xcf'),_0x8059('0xce'),0x194,'entity\x20not\x20found');_0x373d0b[_0x8059('0x31')](0x194);}else{if(_0xe04499['UserId']){throw new db['Sequelize']['ValidationError'](_0x8059('0xd0'));}}return _0xe04499;})['then'](function(_0x34d821){if(_0x34d821){return _0x34d821['update']({'closed':_0x109e26[_0x8059('0x72')][_0x8059('0xd1')],'disposition':_0x109e26[_0x8059('0x72')][_0x8059('0xd2')]})[_0x8059('0x2f')](function(_0x457e49){return _0x457e49;});}})[_0x8059('0x2f')](function(_0x5217ab){return respondWithRpcPromise(_0x8059('0xd3'),'abandon',_0x109e26['body'],client9004);})['then'](respondWithResult(_0x373d0b,null))['catch'](handleError(_0x373d0b,null));};exports[_0x8059('0xd4')]=function(_0x417ba6,_0xeb9f3a,_0x3b3cfe){_0x417ba6[_0x8059('0x72')][_0x8059('0x33')]=_0x417ba6['file'][_0x8059('0xd5')];_0x417ba6[_0x8059('0x72')][_0x8059('0xd6')]=_0x417ba6[_0x8059('0xd7')][_0x8059('0xd8')];_0x417ba6[_0x8059('0x72')]['type']=_0x417ba6[_0x8059('0xd7')][_0x8059('0xd9')];return db['Attachment'][_0x8059('0xbc')](_0x417ba6[_0x8059('0x72')])[_0x8059('0x2f')](respondWithResult(_0xeb9f3a,0xc9))[_0x8059('0x23')](handleError(_0xeb9f3a,null));};exports[_0x8059('0xda')]=function(_0x53bf3d,_0x35cbf0,_0x5f1f){return db[_0x8059('0x3b')][_0x8059('0xc1')]({'where':{'id':_0x53bf3d['params']['id']},'raw':!![]})[_0x8059('0x2f')](handleEntityNotFound(_0x35cbf0,null))[_0x8059('0x2f')](function(_0x556e15){if(_0x556e15){if(_0x556e15[_0x8059('0xd1')]){return _0x35cbf0[_0x8059('0x24')](0x193)[_0x8059('0x26')]({'status':0x193,'message':'Unauthorized'});}return db[_0x8059('0xdb')]['findOne']({'where':{'id':_0x53bf3d[_0x8059('0x41')][_0x8059('0xdc')]},'raw':!![]})[_0x8059('0x2f')](handleEntityNotFound(_0x35cbf0,null));}})[_0x8059('0x2f')](function(_0x3d8049){if(_0x3d8049){return _0x35cbf0['download'](path[_0x8059('0xdd')](config['root'],_0x8059('0xde'),_0x3d8049[_0x8059('0xd6')]));}})[_0x8059('0x23')](handleError(_0x35cbf0,null));};exports[_0x8059('0xdf')]=function(_0x381b38,_0x4ce086){var _0x258479=null;var _0x48cf24=null;var _0x54a4f1=null;var _0x49fa00=null;if(_0x381b38[_0x8059('0x72')]['id']){delete _0x381b38[_0x8059('0x72')]['id'];}if(_0x381b38[_0x8059('0x72')]['mailTranscript']){_0x49fa00=path['join'](config[_0x8059('0xe0')],'server/files/chat/upload/',util['format'](_0x8059('0xe1'),Date['now']()));_0x381b38[_0x8059('0x72')][_0x8059('0xe2')]=_0x49fa00;}return db[_0x8059('0x3b')][_0x8059('0x5f')]({'where':{'id':_0x381b38[_0x8059('0xbd')]['id']},'include':[{'model':db[_0x8059('0xca')],'as':_0x8059('0xe3'),'include':[{'model':db[_0x8059('0x6f')],'as':_0x8059('0x6f')}]}]})[_0x8059('0x2f')](handleEntityNotFound(_0x4ce086,null))[_0x8059('0x2f')](saveUpdates(_0x381b38[_0x8059('0x72')],null))['then'](function(_0x9e0b23){if(_0x9e0b23){_0x258479=_0x9e0b23;return db[_0x8059('0xc0')]['find']({'where':{'id':_0x258479[_0x8059('0x75')]}});}})[_0x8059('0x2f')](function(_0x5ad5ea){if(_0x5ad5ea){_0x54a4f1=_0x5ad5ea;return db['CmContact'][_0x8059('0x5f')]({'where':{'id':_0x258479[_0x8059('0x68')]}});}})[_0x8059('0x2f')](function(_0x279857){if(_0x279857){_0x48cf24=_0x279857;if(_0x49fa00){var _0x2acfe3=null;for(var _0xdde277=0x1;_0xdde277<_0x258479['Messages']['length'];++_0xdde277){_0x2acfe3=_0x258479[_0x8059('0xe3')][_0xdde277];var _0x72fd77=_0x2acfe3[_0x8059('0x71')]?util[_0x8059('0xe4')](_0x8059('0xe5'),_0x54a4f1[_0x8059('0xe6')],_0x2acfe3[_0x8059('0x71')]):_0x8059('0xe7');var _0x4ae806=_0x381b38[_0x8059('0x72')][_0x8059('0xe8')]||util['format'](_0x8059('0xe5'),_0x8059('0xe9'),_0x2acfe3[_0x8059('0x68')]);switch(_0x54a4f1[_0x8059('0xea')]){case _0x8059('0xeb'):_0x72fd77=_0x2acfe3[_0x8059('0x71')]?util['format'](_0x8059('0xe5'),_0x54a4f1['agentAlias'],_0x2acfe3[_0x8059('0x71')]):_0x8059('0xe7');break;case _0x8059('0xec'):_0x72fd77=_0x2acfe3[_0x8059('0x71')]?_0x2acfe3[_0x8059('0x6f')][_0x8059('0xed')]||_0x2acfe3[_0x8059('0x6f')][_0x8059('0xee')]:_0x8059('0xe7');break;case _0x8059('0xef'):_0x72fd77=_0x2acfe3[_0x8059('0x71')]?_0x2acfe3[_0x8059('0x6f')][_0x8059('0xee')]:'System';break;default:_0x72fd77=_0x2acfe3[_0x8059('0x71')]?util['format'](_0x8059('0xe5'),_0x54a4f1['agentAlias'],_0x2acfe3[_0x8059('0x71')]):_0x8059('0xe7');}var _0x4250c0=util[_0x8059('0xe4')]('[%s]\x20%s:\x20%s\x0a',moment(_0x2acfe3[_0x8059('0xf0')])[_0x8059('0xe4')](_0x8059('0xf1')),_0x2acfe3['direction']==='in'?_0x4ae806:_0x72fd77,_0x2acfe3[_0x8059('0x72')]);if(!_0x2acfe3['secret']){fs['appendFileSync'](_0x49fa00,_0x4250c0);}}return db['MailAccount'][_0x8059('0xc1')]({'where':{'service':!![]},'include':[{'model':db[_0x8059('0xf2')],'as':_0x8059('0xf3'),'raw':!![]}]});}}})['then'](function(_0x4b8496){if(_0x4b8496&&_0x4b8496[_0x8059('0xf3')]&&_0x381b38['body']){var _0x2d213b={'tls':{'rejectUnauthorized':![]}};if(_0x4b8496[_0x8059('0xf3')][_0x8059('0xf4')]){_0x2d213b[_0x8059('0xf4')]=_0x4b8496[_0x8059('0xf3')][_0x8059('0xf4')];}else{_0x2d213b['host']=_0x4b8496[_0x8059('0xf3')][_0x8059('0xf5')];_0x2d213b[_0x8059('0xf6')]=_0x4b8496[_0x8059('0xf3')]['port'];_0x2d213b[_0x8059('0xf7')]=_0x4b8496[_0x8059('0xf3')][_0x8059('0xf7')];}if(_0x4b8496[_0x8059('0xf3')]['authentication']){_0x2d213b[_0x8059('0xf8')]={'user':_0x4b8496['Smtp'][_0x8059('0x97')],'pass':_0x4b8496[_0x8059('0xf3')]['pass']};}return respondWithRpcPromise(_0x8059('0xf9'),_0x8059('0xfa'),{'account':_0x2d213b,'message':{'from':util[_0x8059('0xe4')](_0x8059('0xfb'),_0x4b8496[_0x8059('0x33')],_0x4b8496[_0x8059('0xfc')]||_0x4b8496[_0x8059('0xf3')][_0x8059('0x97')]),'to':_0x381b38[_0x8059('0x72')][_0x8059('0xfd')],'subject':'Mail\x20Transcript','text':util[_0x8059('0xe4')](_0x8059('0xfe'),_0x381b38[_0x8059('0x72')][_0x8059('0xfd')]),'attachments':[{'path':_0x49fa00}]}})[_0x8059('0x2f')](function(){return _0x258479;})['catch'](function(_0x4198d6){console['error'](_0x4198d6);});}else{return _0x258479;}})['then'](respondWithStatusCode(_0x4ce086,0xc8))['catch'](handleError(_0x4ce086,null));};exports[_0x8059('0xff')]=function(_0x2a863b,_0x173efd,_0x11b68e){return db[_0x8059('0xca')][_0x8059('0x5f')]({'where':{'id':_0x2a863b[_0x8059('0xbd')]['id']}})['then'](handleEntityNotFound(_0x173efd,null))[_0x8059('0x2f')](function(_0x2039b7){if(_0x2039b7){return _0x2039b7[_0x8059('0xff')](_0x2a863b[_0x8059('0x72')][_0x8059('0x100')],_[_0x8059('0x101')](_0x2a863b['body'],[_0x8059('0x100'),'id'])||{});}})[_0x8059('0x2f')](respondWithResult(_0x173efd,null))[_0x8059('0x23')](handleError(_0x173efd,null));};exports[_0x8059('0x102')]=function(_0x20373b,_0x2088d9,_0x3c5599){var _0x59e7e4={'raw':![],'where':{}};var _0x31c971={};var _0x3804d4={'count':0x0,'rows':[]};return db[_0x8059('0x3b')][_0x8059('0xc1')]({'where':{'id':_0x20373b[_0x8059('0xbd')]['id']}})[_0x8059('0x2f')](handleEntityNotFound(_0x2088d9,null))[_0x8059('0x2f')](function(_0x46c19b){if(_0x46c19b){_0x31c971[_0x8059('0x40')]=_[_0x8059('0x42')](db[_0x8059('0xca')][_0x8059('0x3c')]);_0x31c971['query']=_[_0x8059('0x42')](_0x20373b[_0x8059('0x41')]);_0x31c971[_0x8059('0x43')]=_['intersection'](_0x31c971['model'],_0x31c971['query']);_0x59e7e4[_0x8059('0x45')]=_[_0x8059('0x44')](_0x31c971['model'],qs[_0x8059('0x46')](_0x20373b['query'][_0x8059('0x46')]));_0x59e7e4[_0x8059('0x45')]=_0x59e7e4[_0x8059('0x45')][_0x8059('0x5d')]?_0x59e7e4[_0x8059('0x45')]:_0x31c971['model'];if(!_0x20373b['query'][_0x8059('0x47')]('nolimit')){_0x59e7e4[_0x8059('0x29')]=qs[_0x8059('0x29')](_0x20373b[_0x8059('0x41')][_0x8059('0x29')]);_0x59e7e4[_0x8059('0x28')]=qs[_0x8059('0x28')](_0x20373b['query'][_0x8059('0x28')]);}_0x59e7e4[_0x8059('0x8f')]=qs['sort'](_0x20373b[_0x8059('0x41')][_0x8059('0x48')]);_0x59e7e4['where']=qs['filters'](_[_0x8059('0x49')](_0x20373b['query'],_0x31c971[_0x8059('0x43')]));_0x59e7e4[_0x8059('0x7a')][_0x8059('0xb6')]=_0x46c19b['id'];if(_0x20373b[_0x8059('0x41')][_0x8059('0x83')]){_0x59e7e4[_0x8059('0x7a')]=_[_0x8059('0xa0')](_0x59e7e4['where'],{'$or':_['map'](_0x59e7e4[_0x8059('0x45')],function(_0x1462e5){var _0x5a3edb={};_0x5a3edb[_0x1462e5]={'$like':'%'+_0x20373b[_0x8059('0x41')]['filter']+'%'};return _0x5a3edb;})});}if(_0x20373b[_0x8059('0x41')][_0x8059('0x78')]){var _0x281605=_0x20373b[_0x8059('0x41')][_0x8059('0x78')][_0x8059('0x65')](',');var _0x4a923f={};_0x4a923f[_0x281605[0x0]]={'$gte':moment(_0x281605[0x1])['format'](_0x8059('0x103'))};_0x59e7e4['where']=_[_0x8059('0xa0')](_0x59e7e4[_0x8059('0x7a')],_0x4a923f);}_0x59e7e4=_[_0x8059('0xa0')]({},_0x59e7e4,_0x20373b[_0x8059('0xbb')]);return db['ChatMessage']['count']({'where':_0x59e7e4[_0x8059('0x7a')]})[_0x8059('0x2f')](function(_0x3a95f5){_0x3804d4[_0x8059('0x27')]=_0x3a95f5;if(_0x20373b['query']['includeAll']){_0x59e7e4[_0x8059('0xba')]=[{'all':!![]}];}return db[_0x8059('0xca')][_0x8059('0x104')](_0x59e7e4);})['then'](function(_0x3273b7){_0x3804d4[_0x8059('0xb8')]=_0x3273b7;return _0x3804d4;});}})[_0x8059('0x2f')](respondWithFilteredResult(_0x2088d9,_0x59e7e4))[_0x8059('0x23')](handleError(_0x2088d9,null));};exports[_0x8059('0x105')]=function(_0x561503,_0x37ad2d,_0x3334d6){var _0xa006fc={'where':{}},_0x42d9fd={},_0x3462aa={'count':0x0,'rows':[]};return db['ChatInteraction'][_0x8059('0xc1')]({'where':{'id':_0x561503[_0x8059('0xbd')]['id']}})[_0x8059('0x2f')](handleEntityNotFound(_0x37ad2d,null))[_0x8059('0x2f')](function(_0x38848c){if(_0x38848c){_0x42d9fd['model']=_[_0x8059('0x42')](db[_0x8059('0xca')][_0x8059('0x3c')]);_0x42d9fd[_0x8059('0x41')]=_[_0x8059('0x42')](_0x561503[_0x8059('0x41')]);_0x42d9fd[_0x8059('0x43')]=_[_0x8059('0x44')](_0x42d9fd[_0x8059('0x40')],_0x42d9fd['query']);_0xa006fc[_0x8059('0x45')]=_[_0x8059('0x44')](_0x42d9fd[_0x8059('0x40')],qs[_0x8059('0x46')](_0x561503[_0x8059('0x41')][_0x8059('0x46')]));_0xa006fc[_0x8059('0x45')]=_0xa006fc[_0x8059('0x45')][_0x8059('0x5d')]?_0xa006fc[_0x8059('0x45')]:_0x42d9fd[_0x8059('0x40')];if(!_0x561503[_0x8059('0x41')][_0x8059('0x47')](_0x8059('0x106'))){_0xa006fc[_0x8059('0x29')]=qs[_0x8059('0x29')](_0x561503['query']['limit']);_0xa006fc[_0x8059('0x28')]=qs['offset'](_0x561503[_0x8059('0x41')][_0x8059('0x28')]);}_0xa006fc['order']=qs[_0x8059('0x48')](_0x561503[_0x8059('0x41')][_0x8059('0x48')]);_0xa006fc['where']=qs[_0x8059('0x43')](_[_0x8059('0x49')](_0x561503[_0x8059('0x41')],_0x42d9fd[_0x8059('0x43')]));_0xa006fc[_0x8059('0x7a')][_0x8059('0xb6')]=_0x38848c['id'];if(_0x561503[_0x8059('0x41')][_0x8059('0x83')]){_0xa006fc['where']=_[_0x8059('0xa0')](_0xa006fc[_0x8059('0x7a')],{'$or':_[_0x8059('0x3a')](_0xa006fc[_0x8059('0x45')],function(_0x5d353a){var _0x43e61e={};_0x43e61e[_0x5d353a]={'$like':'%'+_0x561503['query'][_0x8059('0x83')]+'%'};return _0x43e61e;})});}_0xa006fc[_0x8059('0x7a')][_0x8059('0x107')]=![];if(_0x561503[_0x8059('0x41')]['id']){_0xa006fc[_0x8059('0x7a')]['id']={'$gt':_0x561503[_0x8059('0x41')]['id']};}_0xa006fc=_[_0x8059('0xa0')]({},_0xa006fc,_0x561503[_0x8059('0xbb')]);return db[_0x8059('0xca')]['count']({'where':_0xa006fc['where']})['then'](function(_0x4e4c9c){_0x3462aa[_0x8059('0x27')]=_0x4e4c9c;_0xa006fc['include']=[];if(_0x561503[_0x8059('0x41')][_0x8059('0x108')]){_0xa006fc[_0x8059('0xba')][_0x8059('0x38')]({'model':db[_0x8059('0x6f')],'as':'User','attributes':['id',_0x8059('0xee'),_0x8059('0xed')]});}if(_0x561503['query'][_0x8059('0x109')]){_0xa006fc['include']=[{'all':!![]}];}return db[_0x8059('0xca')]['findAll'](_0xa006fc);})[_0x8059('0x2f')](function(_0x5d1c3a){_0x3462aa[_0x8059('0xb8')]=_0x5d1c3a;return _0x3462aa;});}})[_0x8059('0x2f')](respondWithFilteredResult(_0x37ad2d,_0xa006fc))[_0x8059('0x23')](handleError(_0x37ad2d,null));};exports[_0x8059('0x10a')]=function(_0x371bd7,_0x29782b,_0x5ab520){return db[_0x8059('0x3b')][_0x8059('0x5f')]({'where':{'id':_0x371bd7[_0x8059('0xbd')]['id']}})['then'](handleEntityNotFound(_0x29782b,null))['then'](function(_0x4caca7){if(_0x4caca7){return _0x4caca7[_0x8059('0x10b')](_0x371bd7['body'][_0x8059('0x100')],_[_0x8059('0x101')](_0x371bd7[_0x8059('0x72')],[_0x8059('0x100'),'id'])||{})[_0x8059('0x10c')](function(){return db[_0x8059('0x6c')][_0x8059('0x104')]({'attributes':['id',_0x8059('0x33'),_0x8059('0x10d')],'where':{'id':_0x371bd7[_0x8059('0x72')][_0x8059('0x100')]}});})['then'](function(_0x3f6b10){socket['emit'](_0x8059('0x10e'),{'id':Number(_0x371bd7[_0x8059('0xbd')]['id']),'tags':_0x3f6b10||[]});return{'id':Number(_0x371bd7[_0x8059('0xbd')]['id']),'tags':_0x3f6b10||[]};});}})[_0x8059('0x2f')](respondWithResult(_0x29782b,null))['catch'](handleError(_0x29782b,null));};exports['removeTags']=function(_0x5b9874,_0x2288cb,_0x39741f){return db[_0x8059('0x3b')][_0x8059('0x5f')]({'where':{'id':_0x5b9874[_0x8059('0xbd')]['id']}})[_0x8059('0x2f')](handleEntityNotFound(_0x2288cb,null))[_0x8059('0x2f')](function(_0x2c945f){if(_0x2c945f){return _0x2c945f[_0x8059('0x10f')](_0x5b9874[_0x8059('0x41')]['ids']);}})['then'](respondWithStatusCode(_0x2288cb,null))['catch'](handleError(_0x2288cb,null));};exports[_0x8059('0x110')]=function(_0x1fd4cd,_0x4cf7fa){var _0x2d5f75=moment()[_0x8059('0x111')]()['toString']();var _0x405af0=path['join'](config[_0x8059('0xe0')],_0x8059('0x112'),_0x8059('0x113'),_0x8059('0x114'));var _0x19607d=path['join'](config[_0x8059('0xe0')],_0x8059('0x112'),_0x8059('0x113'),'attachments');var _0xb3101c=path[_0x8059('0xdd')](_0x405af0,_0x2d5f75);var _0x36cc44=util[_0x8059('0xe4')](_0x8059('0x115'),_0x1fd4cd[_0x8059('0xbd')]['id'],_0x2d5f75);var _0x566258=path['join'](_0x405af0,_0x36cc44);var _0x46ddb9=[];_0x46ddb9[_0x8059('0x38')]({'model':db[_0x8059('0x6f')],'as':_0x8059('0x6f'),'attributes':['id','fullname'],'raw':!![]});_0x46ddb9[_0x8059('0x38')]({'model':db[_0x8059('0x116')],'as':_0x8059('0x117'),'attributes':['id','firstName',_0x8059('0x118')],'raw':!![]});if(_0x1fd4cd['query']['attachments']){_0x46ddb9[_0x8059('0x38')]({'model':db[_0x8059('0xdb')],'as':_0x8059('0xdb'),'raw':!![]});}var _0x149088=[{'model':db['ChatMessage'],'as':_0x8059('0xe3'),'attributes':['id','body',_0x8059('0xf0'),'direction',_0x8059('0x107'),_0x8059('0x7f')],'include':_0x46ddb9}];_0x149088[_0x8059('0x38')]({'model':db[_0x8059('0xc0')],'as':_0x8059('0x119'),'attributes':['id','name']});_0x149088['push']({'model':db[_0x8059('0x6f')],'as':_0x8059('0x11a'),'attributes':['id','fullname']});return db[_0x8059('0x3b')][_0x8059('0x5f')]({'where':{'id':_0x1fd4cd[_0x8059('0xbd')]['id']},'include':_0x149088})['then'](handleEntityNotFound(_0x4cf7fa,null))[_0x8059('0x2f')](function(_0x1e5ea4){if(_0x1e5ea4){var _0x4bbf2b=_0x1e5ea4[_0x8059('0x11b')]({'plain':!![]});fs['mkdirSync'](_0xb3101c);var _0x47ab82={'format':'A4','border':_0x8059('0x11c'),'header':{'height':_0x8059('0x11d'),'contents':{'first':_0x8059('0x11e')}},'footer':{'height':_0x8059('0x11f'),'contents':{'default':util['format'](_0x8059('0x120'),util[_0x8059('0xe4')](_0x8059('0x121'),_0x8059('0x122'),_0x4bbf2b['id']),moment()[_0x8059('0xe4')](_0x8059('0x123'))[_0x8059('0x9e')]())}}};var _0x370967={'channel':_0x8059('0x122'),'account':_0x4bbf2b[_0x8059('0x119')][_0x8059('0x33')],'agent':_0x4bbf2b['Owner']?_0x4bbf2b['Owner'][_0x8059('0xee')]:_0x8059('0x124'),'createdAt':moment(_0x4bbf2b['createdAt'])[_0x8059('0xe4')](_0x8059('0x103'))[_0x8059('0x9e')](),'closedAt':_0x4bbf2b[_0x8059('0xd1')]?moment(_0x4bbf2b[_0x8059('0x125')])[_0x8059('0xe4')]('YYYY-MM-DD\x20HH:mm:ss')[_0x8059('0x9e')]():'','disposition':_0x4bbf2b[_0x8059('0xd2')],'chatInfo':{'browser':_0x4bbf2b[_0x8059('0x126')],'os':_0x4bbf2b[_0x8059('0x127')],'referer':_0x4bbf2b['referer'],'customerIp':_0x4bbf2b['customerIp'],'customerPort':_0x4bbf2b['customerPort']?_0x4bbf2b[_0x8059('0x128')]:_0x8059('0x124')},'messages':_(_0x4bbf2b[_0x8059('0xe3')])[_0x8059('0x129')]()[_0x8059('0x83')]({'secret':![]})[_0x8059('0x3a')](function(_0x31d300){if(_0x31d300['Attachment']){var _0x1eab02=path[_0x8059('0xdd')](_0x19607d,_0x31d300[_0x8059('0xdb')][_0x8059('0xd6')]);if(fs[_0x8059('0x12a')](_0x1eab02)){fs[_0x8059('0x12b')](_0x1eab02)[_0x8059('0x12c')](fs[_0x8059('0x12d')](path[_0x8059('0xdd')](_0xb3101c,_0x31d300['Attachment'][_0x8059('0xd6')])));}}return{'date':moment(_0x31d300[_0x8059('0xf0')])[_0x8059('0xe4')](_0x8059('0x103'))['toString'](),'sender':_0x31d300[_0x8059('0x12e')]===_0x8059('0x12f')?_0x31d300['User']?_0x31d300[_0x8059('0x6f')][_0x8059('0xee')]:'System':_0x31d300['Contact'][_0x8059('0x130')]+(_0x31d300[_0x8059('0x117')][_0x8059('0x118')]?'\x20'+_0x31d300['Contact'][_0x8059('0x118')]:''),'body':_0x31d300[_0x8059('0xdb')]?_0x31d300[_0x8059('0xdb')][_0x8059('0xd6')]:_0x31d300[_0x8059('0x72')],'direction':_0x31d300[_0x8059('0x12e')]===_0x8059('0x12f')?'A':'C','secret':_0x31d300['secret'],'read':_0x31d300['read'],'attachment':_0x31d300[_0x8059('0xdb')]};})[_0x8059('0x60')]()};return ejs['renderFile'](path[_0x8059('0xdd')](config[_0x8059('0xe0')],_0x8059('0x112'),'views','downloadInteraction.html'),{'interaction':_0x370967})['then'](function(_0x469c93){return new BPromise(function(_0x4ff4fb,_0x548293){pdf[_0x8059('0xbc')](_0x469c93,_0x47ab82)[_0x8059('0x131')](path[_0x8059('0xdd')](_0xb3101c,_0x8059('0x132')+_0x4bbf2b['id']+'-'+_0x2d5f75+_0x8059('0x133')),function(_0x1e36a3,_0xb53796){if(_0x1e36a3)return _0x548293(_0x1e36a3);_0x4ff4fb(_0xb53796);});});})[_0x8059('0x2f')](function(){return new BPromise(function(_0x2b3ae4,_0x58a00c){zipdir(_0xb3101c,{'saveTo':_0x566258},function(_0x1d612c,_0x452145){if(_0x1d612c)return _0x58a00c(_0x1d612c);return _0x2b3ae4(_0x452145);});})['then'](function(){return new BPromise(function(_0x19df7a,_0x138e3a){rimraf(_0xb3101c,function(_0x446b0d){if(_0x446b0d)_0x138e3a(_0x446b0d);return _0x19df7a();});});})[_0x8059('0x2f')](function(){return _0x4cf7fa['download'](_0x566258,_0x36cc44,function(_0x32eba7){if(_0x32eba7){console[_0x8059('0x134')](_0x8059('0x135'),_0x32eba7);}else{fs['unlinkSync'](_0x566258);}});});});}else{return _0x4cf7fa['sendStatus'](0xc8);}})[_0x8059('0x23')](handleError(_0x4cf7fa,null));};