Built motion from commit a61a4a20.|2.5.46
[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 _0xae58=['CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','c.firstName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','sequelize','groupBy','ChatInteractionId','push','all','includeAll','include','options','create','params','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','vidaooMetadata','email','https://api-vidaoo.xcally.com/api/v1/meetings','isNull','vidaooNote','follow','metadata','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','out','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','CmContact','abandon','entity\x20not\x20found','Interaction\x20already\x20assigned','attachmentUpload','file','originalname','basename','Attachment','attachmentDownload','Unauthorized','ChatOfflineMessageId','join','root','server/files/attachments/','offline-chat/','download','close','mailTranscript','server/files/chat/upload/','format','ChatMessage','Messages','%s%d','Visitor','agentIdentifier','website_alias','agentAlias','System','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','secret','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','SendMail','sendMail','\x22%s\x22\x20<%s>','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','sort','findAll','getMyMessages','includeAgent','alias','rows','addTags','setTags','spread','chatInteractionTags:save','removeTags','unix','server','files','tmp','transcript-%d-%s.zip','firstName','Account','Owner','get','Chat','N.A.','YYYY-MM-DD\x20HH:mm:ss','browserName','osName','referer','customerIp','customerPort','existsSync','createReadStream','pipe','direction','lastName','renderFile','views','transcript-','.pdf','createPdfFromHTML','unlinkSync','fast-json-patch','moment','util','path','to-csv','ejs','lodash','crypto','jsforce','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./chatInteraction.socket','register','jayson/promise','client','http','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','status','offset','undefined','limit','count','Content-Range','json','apply','reject','update','destroy','end','sendStatus','stack','name','send','render','body','contact','agent','account','Users','map','fullname','Tags','split','forEach','TagIds','waiting','talking','answered','abandoned','total','UserId','closed','disposition','unmanaged','index','ChatInteraction','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','length','nolimit','order','where','pick','select','field','color','from','u.id','left_join','users','u.id\x20=\x20ui.UserId','chat_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','tools_tags','search','parseSearch','sqlOperator','conditions','find','unreadMessages','having','`\x20>\x200','Contact','operator','$substring','getFullTextValue','value','ContactId','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','buildExpression','some','compact','isEmpty','ChatWebsiteId','concat','createdAt','$gte','parse','$lte','null','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','Sequelize','QueryTypes','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','user','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','toString','keyBy','merge','fields','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition'];(function(_0x132c39,_0x2298e8){var _0x1fdd1e=function(_0x530632){while(--_0x530632){_0x132c39['push'](_0x132c39['shift']());}};_0x1fdd1e(++_0x2298e8);}(_0xae58,0x88));var _0x8ae5=function(_0xcd0918,_0x56bdf9){_0xcd0918=_0xcd0918-0x0;var _0x250704=_0xae58[_0xcd0918];return _0x250704;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x8ae5('0x0'));var rp=require('request-promise');var moment=require(_0x8ae5('0x1'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x8ae5('0x2'));var path=require(_0x8ae5('0x3'));var sox=require('sox');var csv=require(_0x8ae5('0x4'));var ejs=require(_0x8ae5('0x5'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x8ae5('0x6'));var squel=require('squel');var crypto=require(_0x8ae5('0x7'));var jsforce=require(_0x8ae5('0x8'));var deskjs=require('desk.js');var toCsv=require(_0x8ae5('0x4'));var querystring=require(_0x8ae5('0x9'));var Papa=require('papaparse');var Redis=require(_0x8ae5('0xa'));var authService=require('../../components/auth/service');var qs=require(_0x8ae5('0xb'));var as=require(_0x8ae5('0xc'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x8ae5('0xd'));var logger=require(_0x8ae5('0xe'))('api');var utils=require('../../config/utils');var config=require(_0x8ae5('0xf'));var licenseUtil=require(_0x8ae5('0x10'));var db=require(_0x8ae5('0x11'))['db'];config[_0x8ae5('0x12')]=_[_0x8ae5('0x13')](config[_0x8ae5('0x12')],{'host':_0x8ae5('0x14'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x8ae5('0x15'))[_0x8ae5('0x16')](socket);var jayson=require(_0x8ae5('0x17'));var client=jayson[_0x8ae5('0x18')]['http']({'port':0x232b});var client9004=jayson[_0x8ae5('0x18')][_0x8ae5('0x19')]({'port':0x232c});function respondWithRpcPromise(_0x374126,_0x47f812,_0x131eec,_0x3b5e63){return new BPromise(function(_0x5bbc32,_0x5d8dfb){var _0x511715=_0x3b5e63||client;return _0x511715[_0x8ae5('0x1a')](_0x374126,_0x131eec)[_0x8ae5('0x1b')](function(_0xb12ffd){logger[_0x8ae5('0x1c')](_0x8ae5('0x1d'),_0x47f812,_0x8ae5('0x1e'));logger[_0x8ae5('0x1f')](_0x8ae5('0x20'),_0x47f812,_0x8ae5('0x1e'),JSON[_0x8ae5('0x21')](_0xb12ffd));if(_0xb12ffd[_0x8ae5('0x22')]){if(_0xb12ffd[_0x8ae5('0x22')][_0x8ae5('0x23')]===0x1f4){logger['error'](_0x8ae5('0x1d'),_0x47f812,_0xb12ffd[_0x8ae5('0x22')][_0x8ae5('0x24')]);return _0x5d8dfb(_0xb12ffd['error'][_0x8ae5('0x24')]);}logger[_0x8ae5('0x22')]('ChatInteraction,\x20%s,\x20%s',_0x47f812,_0xb12ffd['error'][_0x8ae5('0x24')]);return _0x5bbc32(_0xb12ffd[_0x8ae5('0x22')][_0x8ae5('0x24')]);}else{logger[_0x8ae5('0x1c')](_0x8ae5('0x1d'),_0x47f812,'request\x20sent');_0x5bbc32(_0xb12ffd['result']['message']);}})[_0x8ae5('0x25')](function(_0x20449e){logger[_0x8ae5('0x22')](_0x8ae5('0x1d'),_0x47f812,_0x20449e);_0x5d8dfb(_0x20449e);});});}function respondWithStatusCode(_0x3ec49e,_0x4498af){_0x4498af=_0x4498af||0xcc;return function(_0x12d714){if(_0x12d714){return _0x3ec49e['sendStatus'](_0x4498af);}return _0x3ec49e[_0x8ae5('0x26')](_0x4498af)['end']();};}function respondWithResult(_0x4de4a3,_0x29ef42){_0x29ef42=_0x29ef42||0xc8;return function(_0x51d0ad){if(_0x51d0ad){return _0x4de4a3[_0x8ae5('0x26')](_0x29ef42)['json'](_0x51d0ad);}};}function respondWithFilteredResult(_0x36480f,_0x4b5c8e){return function(_0x2cf4ab){if(_0x2cf4ab){var _0x1541f5=typeof _0x4b5c8e[_0x8ae5('0x27')]===_0x8ae5('0x28')&&typeof _0x4b5c8e[_0x8ae5('0x29')]===_0x8ae5('0x28');var _0x152b0a=_0x2cf4ab[_0x8ae5('0x2a')];var _0x48ea88=_0x1541f5?0x0:_0x4b5c8e[_0x8ae5('0x27')];var _0x2edf0d=_0x1541f5?_0x2cf4ab[_0x8ae5('0x2a')]:_0x4b5c8e[_0x8ae5('0x27')]+_0x4b5c8e[_0x8ae5('0x29')];var _0x2cdd9c;if(_0x2edf0d>=_0x152b0a){_0x2edf0d=_0x152b0a;_0x2cdd9c=0xc8;}else{_0x2cdd9c=0xce;}_0x36480f['status'](_0x2cdd9c);return _0x36480f['set'](_0x8ae5('0x2b'),_0x48ea88+'-'+_0x2edf0d+'/'+_0x152b0a)[_0x8ae5('0x2c')](_0x2cf4ab);}return null;};}function patchUpdates(_0x48f0e8){return function(_0x30a913){try{jsonpatch[_0x8ae5('0x2d')](_0x30a913,_0x48f0e8,!![]);}catch(_0xc9b92a){return BPromise[_0x8ae5('0x2e')](_0xc9b92a);}return _0x30a913['save']();};}function saveUpdates(_0x37dec6,_0x269743){return function(_0xcf6c47){if(_0xcf6c47){return _0xcf6c47[_0x8ae5('0x2f')](_0x37dec6)[_0x8ae5('0x1b')](function(_0x362c3d){return _0x362c3d;});}return null;};}function removeEntity(_0x2ec11d,_0x5a344a){return function(_0x3ad49c){if(_0x3ad49c){return _0x3ad49c[_0x8ae5('0x30')]()[_0x8ae5('0x1b')](function(){_0x2ec11d[_0x8ae5('0x26')](0xcc)[_0x8ae5('0x31')]();});}};}function handleEntityNotFound(_0xf8aa84,_0x4fcbe7){return function(_0x233313){if(!_0x233313){_0xf8aa84[_0x8ae5('0x32')](0x194);}return _0x233313;};}function handleError(_0x192a85,_0x2e89bc){_0x2e89bc=_0x2e89bc||0x1f4;return function(_0x3377a1){logger['error'](_0x3377a1[_0x8ae5('0x33')]);if(_0x3377a1['name']){delete _0x3377a1[_0x8ae5('0x34')];}_0x192a85['status'](_0x2e89bc)[_0x8ae5('0x35')](_0x3377a1);};}function getMustacheRender(_0x3f8d31,_0x371d26){return Mustache[_0x8ae5('0x36')](_0x3f8d31,_['merge'](_0x371d26[_0x8ae5('0x37')],{'contact':_0x371d26[_0x8ae5('0x38')],'message':_0x371d26[_0x8ae5('0x24')],'agent':_0x371d26[_0x8ae5('0x39')],'interaction':_0x371d26['interaction'],'account':_0x371d26[_0x8ae5('0x3a')]}))||'';}function getInteractionUsers(_0x296b75,_0x5f3197){return new BPromise(function(_0x55b2cd,_0x2b2d22){try{if(_0x5f3197[_0x296b75['id']]){_0x296b75[_0x8ae5('0x3b')]=_[_0x8ae5('0x3c')](_0x5f3197[_0x296b75['id']],function(_0x2c40da){return{'id':_0x2c40da['id'],'fullname':_0x2c40da[_0x8ae5('0x3d')]};});}}catch(_0xf3524c){_0x2b2d22(_0xf3524c);}_0x55b2cd(_0x296b75);});}function getInteractionTags(_0x925ff7,_0x7928d3){return new BPromise(function(_0x1f208e,_0x53ee96){try{if(_0x925ff7['TagIds']){_0x925ff7[_0x8ae5('0x3e')]=[];_0x925ff7['TagIds'][_0x8ae5('0x3f')](',')[_0x8ae5('0x40')](function(_0x2d0359){_0x925ff7[_0x8ae5('0x3e')]['push'](_0x7928d3[_0x2d0359]);});}delete _0x925ff7[_0x8ae5('0x41')];}catch(_0x2b1232){_0x53ee96(_0x2b1232);}_0x1f208e(_0x925ff7);});}function updateChatInteraction(_0x104d23,_0x29042b,_0x201fd2){return new BPromise(function(_0x50f1f8,_0x888a10){return getInteractionUsers(_0x104d23,_0x201fd2)[_0x8ae5('0x1b')](function(_0x42a525){return getInteractionTags(_0x42a525,_0x29042b);})[_0x8ae5('0x1b')](function(_0x3498ab){return getStateInteraction(_0x3498ab);})[_0x8ae5('0x1b')](function(_0x5977d6){_0x50f1f8(_0x5977d6);})[_0x8ae5('0x25')](function(_0xf7da62){_0x888a10(_0xf7da62);});});}function getStateInteraction(_0x178708){return new BPromise(function(_0x4841f4){_0x178708[_0x8ae5('0x42')]=0x0;_0x178708[_0x8ae5('0x43')]=0x0;_0x178708[_0x8ae5('0x44')]=0x0;_0x178708['unmanaged']=0x0;_0x178708[_0x8ae5('0x45')]=0x0;_0x178708[_0x8ae5('0x46')]=0x0;if(!_0x178708['closed']&&!_0x178708[_0x8ae5('0x47')]){_0x178708[_0x8ae5('0x42')]+=0x1;}if(!_0x178708[_0x8ae5('0x48')]&&_0x178708[_0x8ae5('0x47')]){_0x178708['talking']+=0x1;if(_0x178708[_0x8ae5('0x42')]){_0x178708[_0x8ae5('0x42')]-=0x1;}}if(_0x178708['closed']&&_0x178708['disposition']===_0x8ae5('0x45')){_0x178708[_0x8ae5('0x45')]+=0x1;if(_0x178708[_0x8ae5('0x42')]){_0x178708['waiting']-=0x1;}}else if(_0x178708[_0x8ae5('0x48')]&&!_0x178708[_0x8ae5('0x47')]&&_0x178708[_0x8ae5('0x49')]){_0x178708[_0x8ae5('0x4a')]+=0x1;if(_0x178708[_0x8ae5('0x42')]){_0x178708[_0x8ae5('0x42')]-=0x1;}}else if(_0x178708[_0x8ae5('0x48')]&&_0x178708[_0x8ae5('0x47')]){_0x178708[_0x8ae5('0x44')]+=0x1;if(_0x178708[_0x8ae5('0x43')]){_0x178708[_0x8ae5('0x43')]-=0x1;}}_0x178708[_0x8ae5('0x46')]+=0x1;_0x4841f4(_0x178708);});}exports[_0x8ae5('0x4b')]=function(_0x221e3f,_0xd4fbd8){var _0x15cd97={},_0x1f4dec={},_0x7fd3e3={'count':0x0,'rows':[]};var _0x21c934=_[_0x8ae5('0x3c')](db[_0x8ae5('0x4c')][_0x8ae5('0x4d')],function(_0x46ba0c){return{'name':_0x46ba0c[_0x8ae5('0x4e')],'type':_0x46ba0c[_0x8ae5('0x4f')][_0x8ae5('0x50')]};});_0x1f4dec[_0x8ae5('0x51')]=_[_0x8ae5('0x3c')](_0x21c934,_0x8ae5('0x34'));_0x1f4dec[_0x8ae5('0x52')]=_[_0x8ae5('0x53')](_0x221e3f[_0x8ae5('0x52')]);_0x1f4dec[_0x8ae5('0x54')]=_[_0x8ae5('0x55')](_0x1f4dec['model'],_0x1f4dec[_0x8ae5('0x52')]);_0x15cd97[_0x8ae5('0x56')]=_[_0x8ae5('0x55')](_0x1f4dec[_0x8ae5('0x51')],qs['fields'](_0x221e3f[_0x8ae5('0x52')]['fields']));_0x15cd97[_0x8ae5('0x56')]=_0x15cd97[_0x8ae5('0x56')][_0x8ae5('0x57')]?_0x15cd97[_0x8ae5('0x56')]:_0x1f4dec[_0x8ae5('0x51')];if(!_0x221e3f[_0x8ae5('0x52')]['hasOwnProperty'](_0x8ae5('0x58'))){_0x15cd97['limit']=qs[_0x8ae5('0x29')](_0x221e3f[_0x8ae5('0x52')]['limit']);_0x15cd97[_0x8ae5('0x27')]=qs[_0x8ae5('0x27')](_0x221e3f['query'][_0x8ae5('0x27')]);}_0x15cd97[_0x8ae5('0x59')]=qs['sort'](_0x221e3f['query']['sort']);_0x15cd97[_0x8ae5('0x5a')]=qs[_0x8ae5('0x54')](_[_0x8ae5('0x5b')](_0x221e3f[_0x8ae5('0x52')],_0x1f4dec['filters']),_0x21c934);var _0x93e799=[];var _0x5dc128=squel[_0x8ae5('0x5c')]()[_0x8ae5('0x5d')]('id')[_0x8ae5('0x5d')](_0x8ae5('0x34'))[_0x8ae5('0x5d')](_0x8ae5('0x5e'))[_0x8ae5('0x5f')]('tools_tags');var _0x48a7d0=squel[_0x8ae5('0x5c')]()[_0x8ae5('0x5d')](_0x8ae5('0x60'))[_0x8ae5('0x5d')]('u.fullname')['field']('ui.ChatInteractionId')[_0x8ae5('0x5f')]('user_has_chat_interactions','ui')[_0x8ae5('0x61')](_0x8ae5('0x62'),'u',_0x8ae5('0x63'));var _0xe58445=squel[_0x8ae5('0x5c')]()[_0x8ae5('0x5f')](_0x8ae5('0x64'),'i')[_0x8ae5('0x61')](_0x8ae5('0x65'),'c',_0x8ae5('0x66'))[_0x8ae5('0x61')](_0x8ae5('0x62'),'o',_0x8ae5('0x67'))[_0x8ae5('0x61')]('chat_websites','a',_0x8ae5('0x68'))[_0x8ae5('0x61')](_0x8ae5('0x69'),'me',_0x8ae5('0x6a'))[_0x8ae5('0x61')](_0x8ae5('0x6b'),'it',_0x8ae5('0x6c'))['left_join'](_0x8ae5('0x6d'),'t','t.id\x20=\x20it.TagId');var _0xb1e356=squel['expr']();var _0x2aed5c=[];var _0x135f93=squel['expr']();var _0x3af5cd;if(_0x221e3f['query'][_0x8ae5('0x6e')]){_0x3af5cd=as[_0x8ae5('0x6f')](_0x221e3f['query'][_0x8ae5('0x6e')]);var _0x1f49f6=_0x3af5cd[_0x8ae5('0x70')];for(var _0x25911f=0x0;_0x25911f<_0x3af5cd[_0x8ae5('0x71')][_0x8ae5('0x57')];_0x25911f++){var _0x266859=_0x3af5cd[_0x8ae5('0x71')][_0x25911f];var _0x491775='i';var _0x3034c2=_[_0x8ae5('0x72')](_0x21c934,[_0x8ae5('0x34'),_0x266859[_0x8ae5('0x5d')]]);if(!_0x3034c2){switch(_0x266859[_0x8ae5('0x5d')]){case _0x8ae5('0x73'):if(_0x266859['value']==0x1){_0xe58445[_0x8ae5('0x74')]('`'+_0x266859['field']+'`\x20=\x200');}else{_0xe58445[_0x8ae5('0x74')]('`'+_0x266859[_0x8ae5('0x5d')]+_0x8ae5('0x75'));}break;case _0x8ae5('0x76'):if(_0x266859[_0x8ae5('0x77')]===_0x8ae5('0x78')){if(_0x266859['value'][_0x8ae5('0x3f')]('\x20')[_0x8ae5('0x57')]>0x1){_0xb1e356[_0x1f49f6]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x8ae5('0x79')](_0x266859['value']),null);}else{var _0x4193e2='%'+_0x266859[_0x8ae5('0x7a')]+'%';_0xb1e356[_0x1f49f6]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x4193e2,_0x4193e2,_0x4193e2);}}else{_0x3034c2=_[_0x8ae5('0x72')](_0x21c934,['name',_0x8ae5('0x7b')]);_0x266859[_0x8ae5('0x5d')]=_0x8ae5('0x7b');_0x572c73=as['buildExpression'](_0x491775,_0x3034c2[_0x8ae5('0x4f')],_0x266859);_0xb1e356[_0x1f49f6](_0x572c73[_0x8ae5('0x7c')],_0x572c73[_0x8ae5('0x7a')][_0x8ae5('0x7d')],_0x572c73[_0x8ae5('0x7a')]['end']);}break;case _0x8ae5('0x7e'):var _0x41ee43=_0x266859[_0x8ae5('0x7a')][_0x8ae5('0x3f')](',')[_0x8ae5('0x3c')](function(_0x174f76){return Number(_0x174f76);});_0x41ee43[_0x8ae5('0x40')](function(_0x3e439f){_0x135f93['or'](_0x8ae5('0x7f'),'%,'+_0x3e439f+',%');});_0x2aed5c=_[_0x8ae5('0x80')](_0x2aed5c,_0x41ee43);break;case _0x8ae5('0x81'):if(_0x266859['operator']===_0x8ae5('0x78')){_0xb1e356[_0x1f49f6](_0x8ae5('0x82'),'%'+_0x266859[_0x8ae5('0x7a')]+'%',null);}else{_0x3034c2=_[_0x8ae5('0x72')](_0x21c934,[_0x8ae5('0x34'),_0x8ae5('0x47')]);_0x266859[_0x8ae5('0x5d')]='UserId';_0x572c73=as['buildExpression'](_0x491775,_0x3034c2[_0x8ae5('0x4f')],_0x266859);_0xb1e356[_0x1f49f6](_0x572c73[_0x8ae5('0x7c')],_0x572c73[_0x8ae5('0x7a')][_0x8ae5('0x7d')],_0x572c73['value'][_0x8ae5('0x31')]);}break;case _0x8ae5('0x37'):_0x572c73=as['buildExpression']('me',null,_0x266859);_0xb1e356[_0x1f49f6](_0x572c73[_0x8ae5('0x7c')],_0x572c73[_0x8ae5('0x7a')]['start'],_0x572c73[_0x8ae5('0x7a')]['end']);break;}}else{var _0x572c73=as[_0x8ae5('0x83')](_0x491775,_0x3034c2[_0x8ae5('0x4f')],_0x266859);_0xb1e356[_0x1f49f6](_0x572c73['text'],_0x572c73['value'][_0x8ae5('0x7d')],_0x572c73[_0x8ae5('0x7a')][_0x8ae5('0x31')]);}}}else{var _0x397ec5=_(_0x221e3f['query'])[_0x8ae5('0x53')]()['map'](function(_0x30fb09){return _[_0x8ae5('0x84')](_0x21c934,[_0x8ae5('0x34'),_0x30fb09])?_0x30fb09:undefined;})[_0x8ae5('0x85')]()[_0x8ae5('0x7a')]();if(!_[_0x8ae5('0x86')](_0x397ec5)){_0x397ec5[_0x8ae5('0x40')](function(_0x34724c){if(_0x34724c===_0x8ae5('0x87')){_0xe58445['where']('i.ChatWebsiteId\x20IN\x20?',[][_0x8ae5('0x88')](_0x221e3f[_0x8ae5('0x52')][_0x34724c]));}else if(_0x34724c===_0x8ae5('0x89')){var _0x1c4e1a=JSON['parse'](_0x221e3f[_0x8ae5('0x52')][_0x34724c])[_0x8ae5('0x8a')];var _0x1aabbe=JSON[_0x8ae5('0x8b')](_0x221e3f[_0x8ae5('0x52')][_0x34724c])[_0x8ae5('0x8c')];_0xe58445[_0x8ae5('0x5a')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x1c4e1a,_0x1aabbe);}else{if(_0x221e3f['query'][_0x34724c]===_0x8ae5('0x8d')){_0xe58445[_0x8ae5('0x5a')]('i.'+_0x34724c+'\x20IS\x20NULL');}else{_0xe58445['where']('i.'+_0x34724c+_0x8ae5('0x8e'),_0x221e3f[_0x8ae5('0x52')][_0x34724c]);}}});}if(_0x221e3f[_0x8ae5('0x52')][_0x8ae5('0x8f')]){if(_0x221e3f[_0x8ae5('0x52')][_0x8ae5('0x8f')]==0x1){_0xe58445[_0x8ae5('0x74')](_0x8ae5('0x90'));}else{_0xe58445[_0x8ae5('0x74')](_0x8ae5('0x91'));}}if(_0x221e3f[_0x8ae5('0x52')][_0x8ae5('0x92')]){_0x2aed5c=_['isArray'](_0x221e3f[_0x8ae5('0x52')][_0x8ae5('0x92')])?_0x221e3f[_0x8ae5('0x52')][_0x8ae5('0x92')]:new Array(_0x221e3f['query']['tag']);_0x2aed5c[_0x8ae5('0x40')](function(_0x39d24d){_0x135f93['or'](_0x8ae5('0x7f'),'%,'+_0x39d24d+',%');});}if(_0x221e3f['query'][_0x8ae5('0x93')]){var _0x3a2852=_0x221e3f[_0x8ae5('0x52')]['filter'][_0x8ae5('0x94')]('\x5c','\x5c\x5c')[_0x8ae5('0x94')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x3a2852)){_0xb1e356['or']('i.id\x20LIKE\x20?',_0x3a2852+'%');}else{_0xb1e356['or'](_0x8ae5('0x95'),qs['getFullTextValue'](_0x3a2852))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x3a2852+'%');}}}_0xe58445['where'](_0xb1e356);_0xe58445[_0x8ae5('0x96')]('i.id');var _0xbfc64f={'type':db[_0x8ae5('0x97')][_0x8ae5('0x98')][_0x8ae5('0x99')],'raw':!![]};var _0x20226b=_0xe58445[_0x8ae5('0x9a')]();_0x20226b['field'](_0x8ae5('0x9b'));_0x20226b['field'](_0x8ae5('0x9c'),_0x8ae5('0x73'));if(_0x15cd97[_0x8ae5('0x59')]){_0x15cd97[_0x8ae5('0x59')][_0x8ae5('0x40')](function(_0x387cde){var _0xd9b89=_0x387cde[0x0]===_0x8ae5('0x9d')?_0x387cde[0x0]:'i.'+_0x387cde[0x0];_0xe58445[_0x8ae5('0x59')](_0xd9b89,_0x387cde[0x1]===_0x8ae5('0x9e')?![]:!![]);});}if(!_['isEmpty'](_0x2aed5c)){_0xe58445[_0x8ae5('0x74')](_0x135f93);_0x20226b[_0x8ae5('0x5a')]('t.id\x20IN\x20?',_0x2aed5c);}BPromise['resolve']()['then'](function(){if(!_0x3af5cd){if(_0x221e3f[_0x8ae5('0x52')]['ChatWebsiteId'])return;_0x20226b[_0x8ae5('0x5a')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');_0xe58445['where'](_0x8ae5('0x9f'));return;}if(_0x221e3f['user'][_0x8ae5('0xa0')]!==_0x8ae5('0x39'))return;return _0x221e3f[_0x8ae5('0xa1')][_0x8ae5('0xa2')]({'attributes':['id'],'raw':!![]})[_0x8ae5('0x1b')](function(_0x4ad2cb){if(_['isEmpty'](_0x4ad2cb)){_0x20226b[_0x8ae5('0x5a')]('i.ChatWebsiteId\x20IS\x20NULL');_0xe58445[_0x8ae5('0x5a')](_0x8ae5('0xa3'));}else{_0x20226b['where'](_0x8ae5('0xa4'),_[_0x8ae5('0x3c')](_0x4ad2cb,'id'));_0xe58445[_0x8ae5('0x5a')](_0x8ae5('0xa4'),_[_0x8ae5('0x3c')](_0x4ad2cb,'id'));}});})['then'](function(){if(_0x221e3f[_0x8ae5('0xa1')][_0x8ae5('0xa0')]==='agent'&&!_0x3af5cd&&!_0x221e3f[_0x8ae5('0x52')][_0x8ae5('0x87')])return[];return db['sequelize'][_0x8ae5('0x52')](_0x20226b[_0x8ae5('0xa5')](),_0xbfc64f);})[_0x8ae5('0x1b')](function(_0x2011d4){_0x7fd3e3['count']=_0x2011d4[_0x8ae5('0x57')];if(_0x7fd3e3[_0x8ae5('0x2a')]===0x0)return[];return db['sequelize'][_0x8ae5('0x52')](_0x5dc128['toString'](),_0xbfc64f)[_0x8ae5('0x1b')](function(_0x663cd2){_0x93e799=_[_0x8ae5('0xa6')](_0x663cd2,'id');_0xbfc64f=_[_0x8ae5('0xa7')](_0xbfc64f,{'model':db[_0x8ae5('0x4c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x221e3f[_0x8ae5('0x52')][_0x8ae5('0xa8')]){_0x15cd97['attributes'][_0x8ae5('0x40')](function(_0x4d5731){_0xe58445['field']('i.'+_0x4d5731);});}else{_0xe58445[_0x8ae5('0x5d')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x8ae5('0x73'));_0xe58445[_0x8ae5('0x5d')](_0x8ae5('0xa9'),_0x8ae5('0xaa'));_0xe58445[_0x8ae5('0x5d')](_0x8ae5('0xab'),_0x8ae5('0xac'));_0xe58445[_0x8ae5('0x5d')](_0x8ae5('0xad'),_0x8ae5('0x9d'));_0xe58445[_0x8ae5('0x5d')](_0x8ae5('0xae'));_0xe58445[_0x8ae5('0x5d')](_0x8ae5('0xaf'),'Contact.firstName');_0xe58445[_0x8ae5('0x5d')]('c.lastName',_0x8ae5('0xb0'));_0xe58445['field'](_0x8ae5('0xb1'),_0x8ae5('0xb2'));_0xe58445[_0x8ae5('0x5d')](_0x8ae5('0xb3'),_0x8ae5('0xb4'));_0xe58445[_0x8ae5('0x5d')]('c.mobile',_0x8ae5('0xb5'));_0xe58445[_0x8ae5('0x5d')](_0x8ae5('0xb6'),_0x8ae5('0xb7'));_0xe58445[_0x8ae5('0x5d')](_0x8ae5('0xb8'),_0x8ae5('0xb9'));_0xe58445[_0x8ae5('0x5d')](_0x8ae5('0xba'),_0x8ae5('0xbb'));_0xe58445['field'](_0x8ae5('0xbc'),_0x8ae5('0x41'));}if(_0x15cd97['limit'])_0xe58445['limit'](_0x15cd97[_0x8ae5('0x29')]);if(_0x15cd97['offset'])_0xe58445[_0x8ae5('0x27')](_0x15cd97[_0x8ae5('0x27')]);return db['sequelize'][_0x8ae5('0x52')](_0xe58445[_0x8ae5('0xa5')](),_0xbfc64f);})[_0x8ae5('0x1b')](function(_0xb673ee){if(_0xb673ee['length']>0x0)_0x48a7d0[_0x8ae5('0x5a')](_0x8ae5('0xbd'),_[_0x8ae5('0x3c')](_0xb673ee,'id'));return db[_0x8ae5('0xbe')]['query'](_0x48a7d0[_0x8ae5('0xa5')](),_0xbfc64f)[_0x8ae5('0x1b')](function(_0x1d5f72){var _0x3e4879=_[_0x8ae5('0xbf')](_0x1d5f72,_0x8ae5('0xc0'));var _0x2e2421=[];_0xb673ee[_0x8ae5('0x40')](function(_0x40453d){_0x2e2421[_0x8ae5('0xc1')](updateChatInteraction(_0x40453d,_0x93e799,_0x3e4879));});return BPromise[_0x8ae5('0xc2')](_0x2e2421);});});})[_0x8ae5('0x1b')](function(_0x28c5a5){_0x7fd3e3['rows']=_0x28c5a5;return _0x7fd3e3;})['then'](respondWithFilteredResult(_0xd4fbd8,_0x15cd97))[_0x8ae5('0x25')](handleError(_0xd4fbd8,null));};exports['show']=function(_0x79a622,_0x37194a){var _0x343dd4={'raw':![],'where':{'id':_0x79a622['params']['id']}},_0x16bc12={};_0x16bc12[_0x8ae5('0x51')]=_[_0x8ae5('0x53')](db[_0x8ae5('0x4c')]['rawAttributes']);_0x16bc12[_0x8ae5('0x52')]=_['keys'](_0x79a622[_0x8ae5('0x52')]);_0x16bc12[_0x8ae5('0x54')]=_[_0x8ae5('0x55')](_0x16bc12[_0x8ae5('0x51')],_0x16bc12[_0x8ae5('0x52')]);_0x343dd4[_0x8ae5('0x56')]=_['intersection'](_0x16bc12[_0x8ae5('0x51')],qs[_0x8ae5('0xa8')](_0x79a622['query'][_0x8ae5('0xa8')]));_0x343dd4[_0x8ae5('0x56')]=_0x343dd4['attributes']['length']?_0x343dd4[_0x8ae5('0x56')]:_0x16bc12['model'];if(_0x79a622[_0x8ae5('0x52')][_0x8ae5('0xc3')]){_0x343dd4[_0x8ae5('0xc4')]=[{'all':!![]}];}_0x343dd4=_[_0x8ae5('0xa7')]({},_0x343dd4,_0x79a622[_0x8ae5('0xc5')]);return db['ChatInteraction'][_0x8ae5('0x72')](_0x343dd4)[_0x8ae5('0x1b')](handleEntityNotFound(_0x37194a,null))['then'](respondWithResult(_0x37194a,null))[_0x8ae5('0x25')](handleError(_0x37194a,null));};exports['create']=function(_0x41186f,_0x428e1){return db[_0x8ae5('0x4c')][_0x8ae5('0xc6')](_0x41186f[_0x8ae5('0x37')],{})[_0x8ae5('0x1b')](respondWithResult(_0x428e1,0xc9))[_0x8ae5('0x25')](handleError(_0x428e1,null));};exports[_0x8ae5('0x2f')]=function(_0x598681,_0x4b9674){if(_0x598681[_0x8ae5('0x37')]['id']){delete _0x598681['body']['id'];}return db[_0x8ae5('0x4c')]['find']({'where':{'id':_0x598681[_0x8ae5('0xc7')]['id']}})[_0x8ae5('0x1b')](handleEntityNotFound(_0x4b9674,null))[_0x8ae5('0x1b')](saveUpdates(_0x598681[_0x8ae5('0x37')],null))[_0x8ae5('0x1b')](respondWithResult(_0x4b9674,null))['catch'](handleError(_0x4b9674,null));};exports[_0x8ae5('0x30')]=function(_0x4c56bd,_0x22b08a){return db['ChatInteraction'][_0x8ae5('0x72')]({'where':{'id':_0x4c56bd[_0x8ae5('0xc7')]['id']}})[_0x8ae5('0x1b')](handleEntityNotFound(_0x22b08a,null))[_0x8ae5('0x1b')](removeEntity(_0x22b08a,null))[_0x8ae5('0x25')](handleError(_0x22b08a,null));};exports[_0x8ae5('0xc8')]=function(_0x21d3d8,_0x561f70){return db[_0x8ae5('0x4c')]['describe']()[_0x8ae5('0x1b')](respondWithResult(_0x561f70,null))[_0x8ae5('0x25')](handleError(_0x561f70,null));};exports[_0x8ae5('0xc9')]=function(_0x55e3c4,_0x27330b){var _0x214973=_0x55e3c4[_0x8ae5('0xc7')]['id'];var _0x4deb7a;var _0x129180;var _0x502dfd;return db['ChatInteraction'][_0x8ae5('0xca')]({'where':{'id':_0x214973}})[_0x8ae5('0x1b')](function(_0x3986bc){_0x4deb7a=_0x3986bc;return db[_0x8ae5('0xcb')][_0x8ae5('0xca')]({'where':{'id':_0x3986bc[_0x8ae5('0x87')]},'attributes':['id',_0x8ae5('0xcc'),_0x8ae5('0xcd'),'vidaooTopic','vidaooNote',_0x8ae5('0xce')],'raw':!![]});})[_0x8ae5('0x1b')](function(_0x2d5044){if(_0x2d5044&&_0x2d5044[_0x8ae5('0xcc')]&&_0x2d5044[_0x8ae5('0xcd')]){_0x129180=_0x2d5044;var _0x29e664={'interaction':{'id':_0x214973},'agent':{'id':_0x55e3c4[_0x8ae5('0xa1')]['id'],'name':_0x55e3c4['user'][_0x8ae5('0x34')],'fullname':_0x55e3c4['user'][_0x8ae5('0x3d')],'email':_0x55e3c4[_0x8ae5('0xa1')][_0x8ae5('0xcf')]},'contact':_0x55e3c4[_0x8ae5('0x37')]['contact'],'account':_0x55e3c4[_0x8ae5('0x37')][_0x8ae5('0x3a')]};var _0x16b87c={'rejectUnauthorized':![],'method':'POST','url':_0x8ae5('0xd0'),'headers':{'X-APIKEY':_0x2d5044[_0x8ae5('0xcc')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x55e3c4[_0x8ae5('0xa1')]['email']],'buttons':null,'topic':_0x129180['vidaooTopic'],'note':_[_0x8ae5('0xd1')](_0x129180[_0x8ae5('0xd2')])?null:getMustacheRender(_0x129180[_0x8ae5('0xd2')],_0x29e664),'metadata':null},'redirect':_0x8ae5('0xd3'),'json':!![]};try{if(!_[_0x8ae5('0xd1')](_0x129180[_0x8ae5('0xce')])){var _0x25e58e=getMustacheRender(_0x129180[_0x8ae5('0xce')],_0x29e664);var _0x4ef827=JSON[_0x8ae5('0x8b')](_0x25e58e);_0x16b87c[_0x8ae5('0x37')][_0x8ae5('0xd4')]=_0x4ef827;}}catch(_0x263014){throw new db[(_0x8ae5('0x97'))][(_0x8ae5('0xd5'))]('Error\x20in\x20conversion\x20vidaooMetadata');}return rp(_0x16b87c);}else{throw new db[(_0x8ae5('0x97'))][(_0x8ae5('0xd5'))](_0x8ae5('0xd6'));}})['then'](function(_0x3e4bed){_0x502dfd=_0x3e4bed;if(_0x502dfd['id']){var _0x2c8caf={'body':_0x502dfd[_0x8ae5('0xd7')],'ChatWebsiteId':_0x129180['id'],'ChatInteractionId':_0x4deb7a['id'],'direction':_0x8ae5('0xd8'),'UserId':_0x55e3c4[_0x8ae5('0xa1')]['id']};return db['ChatMessage'][_0x8ae5('0xc6')](_0x2c8caf,{});}else{throw new db[(_0x8ae5('0x97'))][(_0x8ae5('0xd5'))](_0x8ae5('0xd9'));}})[_0x8ae5('0x1b')](function(){return _0x4deb7a[_0x8ae5('0xda')]({'vidaooSessionId':_0x502dfd['id']});})['then'](respondWithResult(_0x27330b,null))[_0x8ae5('0x25')](handleError(_0x27330b,null));};exports[_0x8ae5('0xdb')]=function(_0x3d378b,_0x421396){if(_0x3d378b[_0x8ae5('0x37')]['id']){delete _0x3d378b[_0x8ae5('0x37')]['id'];}return db[_0x8ae5('0x4c')][_0x8ae5('0x72')]({'where':{'id':_0x3d378b[_0x8ae5('0xc7')]['id']},'include':[{'model':db[_0x8ae5('0xdc')],'as':_0x8ae5('0x76')}]})[_0x8ae5('0x1b')](handleEntityNotFound(_0x421396,null))[_0x8ae5('0x1b')](saveUpdates(_0x3d378b['body'],null))[_0x8ae5('0x1b')](respondWithResult(_0x421396,null))['catch'](handleError(_0x421396,null));};exports[_0x8ae5('0xdd')]=function(_0x4807fa,_0x307bc8,_0x3dbe6d){if(_0x4807fa[_0x8ae5('0x37')]['id']){delete _0x4807fa[_0x8ae5('0x37')]['id'];}return db[_0x8ae5('0x4c')]['find']({'where':{'id':_0x4807fa[_0x8ae5('0xc7')]['id']}})[_0x8ae5('0x1b')](function(_0x40abea){if(!_0x40abea){logger[_0x8ae5('0x22')]('abandonInteraction,\x20%s,\x20%s,\x20%s','abandon',0x194,_0x8ae5('0xde'));_0x307bc8['sendStatus'](0x194);}else{if(_0x40abea[_0x8ae5('0x47')]){throw new db[(_0x8ae5('0x97'))]['ValidationError'](_0x8ae5('0xdf'));}}return _0x40abea;})['then'](function(_0x37abd5){if(_0x37abd5){return _0x37abd5[_0x8ae5('0x2f')]({'closed':_0x4807fa[_0x8ae5('0x37')][_0x8ae5('0x48')],'disposition':_0x4807fa[_0x8ae5('0x37')][_0x8ae5('0x49')]})['then'](function(_0xa9f57a){return _0xa9f57a;});}})[_0x8ae5('0x1b')](function(_0x5ea496){return respondWithRpcPromise('AbandonInteraction','abandon',_0x4807fa[_0x8ae5('0x37')],client9004);})[_0x8ae5('0x1b')](respondWithResult(_0x307bc8,null))[_0x8ae5('0x25')](handleError(_0x307bc8,null));};exports[_0x8ae5('0xe0')]=function(_0x532a72,_0x239a9f,_0x14c34e){_0x532a72[_0x8ae5('0x37')][_0x8ae5('0x34')]=_0x532a72[_0x8ae5('0xe1')][_0x8ae5('0xe2')];_0x532a72[_0x8ae5('0x37')][_0x8ae5('0xe3')]=_0x532a72['file']['filename'];_0x532a72[_0x8ae5('0x37')][_0x8ae5('0x4f')]=_0x532a72[_0x8ae5('0xe1')]['mimetype'];return db[_0x8ae5('0xe4')]['create'](_0x532a72[_0x8ae5('0x37')])['then'](respondWithResult(_0x239a9f,0xc9))['catch'](handleError(_0x239a9f,null));};exports[_0x8ae5('0xe5')]=function(_0x103b11,_0x53761a,_0x12805f){return db[_0x8ae5('0x4c')][_0x8ae5('0xca')]({'where':{'id':_0x103b11[_0x8ae5('0xc7')]['id']},'raw':!![]})[_0x8ae5('0x1b')](handleEntityNotFound(_0x53761a,null))['then'](function(_0x130d88){if(_0x130d88){if(_0x130d88[_0x8ae5('0x48')]){return _0x53761a['status'](0x193)[_0x8ae5('0x2c')]({'status':0x193,'message':_0x8ae5('0xe6')});}return db['Attachment'][_0x8ae5('0xca')]({'where':{'id':_0x103b11['query']['attachId']},'raw':!![]})['then'](handleEntityNotFound(_0x53761a,null));}})[_0x8ae5('0x1b')](function(_0x5d1940){if(_0x5d1940){var _0x4c7bdc=_0x5d1940[_0x8ae5('0xe7')]!==null;var _0x52386b=path[_0x8ae5('0xe8')](config[_0x8ae5('0xe9')],_0x8ae5('0xea'));if(_0x4c7bdc){_0x52386b=path['join'](_0x52386b,_0x8ae5('0xeb'));}var _0x4ef3dd=path[_0x8ae5('0xe8')](_0x52386b,_0x5d1940[_0x8ae5('0xe3')]);return _0x53761a[_0x8ae5('0xec')](_0x4ef3dd);}})[_0x8ae5('0x25')](handleError(_0x53761a,null));};exports[_0x8ae5('0xed')]=function(_0x76b89,_0x1a7755){var _0x2a42e4=null;var _0x488224=null;var _0x58ac8c=null;var _0x5d84e3=null;if(_0x76b89[_0x8ae5('0x37')]['id']){delete _0x76b89[_0x8ae5('0x37')]['id'];}if(_0x76b89[_0x8ae5('0x37')][_0x8ae5('0xee')]){_0x5d84e3=path[_0x8ae5('0xe8')](config['root'],_0x8ae5('0xef'),util[_0x8ae5('0xf0')]('transcript-%s.txt',Date['now']()));_0x76b89[_0x8ae5('0x37')]['pathTranscript']=_0x5d84e3;}return db[_0x8ae5('0x4c')][_0x8ae5('0x72')]({'where':{'id':_0x76b89[_0x8ae5('0xc7')]['id']},'include':[{'model':db[_0x8ae5('0xf1')],'as':'Messages','include':[{'model':db['User'],'as':_0x8ae5('0x81')}]}]})[_0x8ae5('0x1b')](handleEntityNotFound(_0x1a7755,null))['then'](saveUpdates(_0x76b89['body'],null))[_0x8ae5('0x1b')](function(_0x418777){if(_0x418777){_0x2a42e4=_0x418777;return db[_0x8ae5('0xcb')][_0x8ae5('0x72')]({'where':{'id':_0x2a42e4[_0x8ae5('0x87')]}});}})[_0x8ae5('0x1b')](function(_0x30a277){if(_0x30a277){_0x58ac8c=_0x30a277;return db[_0x8ae5('0xdc')][_0x8ae5('0x72')]({'where':{'id':_0x2a42e4[_0x8ae5('0x7b')]}});}})[_0x8ae5('0x1b')](function(_0x4f76e1){if(_0x4f76e1){_0x488224=_0x4f76e1;if(_0x5d84e3){var _0x5bcc60=null;for(var _0x4d18ec=0x1;_0x4d18ec<_0x2a42e4[_0x8ae5('0xf2')][_0x8ae5('0x57')];++_0x4d18ec){_0x5bcc60=_0x2a42e4[_0x8ae5('0xf2')][_0x4d18ec];var _0x3f18e7=_0x5bcc60['UserId']?util['format'](_0x8ae5('0xf3'),_0x58ac8c['agentAlias'],_0x5bcc60[_0x8ae5('0x47')]):'System';var _0x47d101=_0x76b89[_0x8ae5('0x37')]['customer']||util[_0x8ae5('0xf0')](_0x8ae5('0xf3'),_0x8ae5('0xf4'),_0x5bcc60[_0x8ae5('0x7b')]);switch(_0x58ac8c[_0x8ae5('0xf5')]){case _0x8ae5('0xf6'):_0x3f18e7=_0x5bcc60[_0x8ae5('0x47')]?util[_0x8ae5('0xf0')]('%s%d',_0x58ac8c[_0x8ae5('0xf7')],_0x5bcc60[_0x8ae5('0x47')]):_0x8ae5('0xf8');break;case'agent_alias':_0x3f18e7=_0x5bcc60[_0x8ae5('0x47')]?_0x5bcc60[_0x8ae5('0x81')]['alias']||_0x5bcc60[_0x8ae5('0x81')]['fullname']:'System';break;case _0x8ae5('0xf9'):_0x3f18e7=_0x5bcc60[_0x8ae5('0x47')]?_0x5bcc60['User']['fullname']:_0x8ae5('0xf8');break;default:_0x3f18e7=_0x5bcc60[_0x8ae5('0x47')]?util[_0x8ae5('0xf0')](_0x8ae5('0xf3'),_0x58ac8c[_0x8ae5('0xf7')],_0x5bcc60[_0x8ae5('0x47')]):_0x8ae5('0xf8');}var _0x43cb35=util[_0x8ae5('0xf0')](_0x8ae5('0xfa'),moment(_0x5bcc60[_0x8ae5('0x89')])['format'](_0x8ae5('0xfb')),_0x5bcc60['direction']==='in'?_0x47d101:_0x3f18e7,_0x5bcc60['body']);if(!_0x5bcc60[_0x8ae5('0xfc')]){fs['appendFileSync'](_0x5d84e3,_0x43cb35);}}return db[_0x8ae5('0xfd')]['findOne']({'where':{'service':!![]},'include':[{'model':db[_0x8ae5('0xfe')],'as':_0x8ae5('0xff'),'raw':!![]}]});}}})[_0x8ae5('0x1b')](function(_0x5ced7c){if(_0x5ced7c&&_0x5ced7c[_0x8ae5('0xff')]&&_0x76b89['body']){var _0x432cb1={'tls':{'rejectUnauthorized':![]}};if(_0x5ced7c['Smtp'][_0x8ae5('0x100')]){_0x432cb1[_0x8ae5('0x100')]=_0x5ced7c[_0x8ae5('0xff')][_0x8ae5('0x100')];}else{_0x432cb1[_0x8ae5('0x101')]=_0x5ced7c[_0x8ae5('0xff')][_0x8ae5('0x101')];_0x432cb1[_0x8ae5('0x102')]=_0x5ced7c[_0x8ae5('0xff')][_0x8ae5('0x102')];_0x432cb1['secure']=_0x5ced7c[_0x8ae5('0xff')][_0x8ae5('0x103')];}if(_0x5ced7c[_0x8ae5('0xff')][_0x8ae5('0x104')]){_0x432cb1['auth']={'user':_0x5ced7c[_0x8ae5('0xff')]['user'],'pass':_0x5ced7c['Smtp']['pass']};}return respondWithRpcPromise(_0x8ae5('0x105'),_0x8ae5('0x106'),{'account':_0x432cb1,'message':{'from':util[_0x8ae5('0xf0')](_0x8ae5('0x107'),_0x5ced7c[_0x8ae5('0x34')],_0x5ced7c[_0x8ae5('0xcf')]||_0x5ced7c[_0x8ae5('0xff')][_0x8ae5('0xa1')]),'to':_0x76b89[_0x8ae5('0x37')][_0x8ae5('0xee')],'subject':_0x8ae5('0x108'),'text':util[_0x8ae5('0xf0')](_0x8ae5('0x109'),_0x76b89[_0x8ae5('0x37')][_0x8ae5('0xee')]),'attachments':[{'path':_0x5d84e3}]}})['then'](function(){return _0x2a42e4;})[_0x8ae5('0x25')](function(_0x2559fc){console[_0x8ae5('0x22')](_0x2559fc);});}else{return _0x2a42e4;}})['then'](respondWithStatusCode(_0x1a7755,0xc8))[_0x8ae5('0x25')](handleError(_0x1a7755,null));};exports[_0x8ae5('0x10a')]=function(_0x30304b,_0x507aae,_0x31ab4f){return db[_0x8ae5('0xf1')]['find']({'where':{'id':_0x30304b[_0x8ae5('0xc7')]['id']}})[_0x8ae5('0x1b')](handleEntityNotFound(_0x507aae,null))[_0x8ae5('0x1b')](function(_0x5b7a69){if(_0x5b7a69){return _0x5b7a69[_0x8ae5('0x10a')](_0x30304b[_0x8ae5('0x37')][_0x8ae5('0x10b')],_[_0x8ae5('0x10c')](_0x30304b['body'],[_0x8ae5('0x10b'),'id'])||{});}})[_0x8ae5('0x1b')](respondWithResult(_0x507aae,null))[_0x8ae5('0x25')](handleError(_0x507aae,null));};exports[_0x8ae5('0x10d')]=function(_0x54aa4d,_0x2be22e,_0x180fc3){var _0x3a5049={'raw':![],'where':{}};var _0x1080e9={};var _0x25a72d={'count':0x0,'rows':[]};return db['ChatInteraction'][_0x8ae5('0xca')]({'where':{'id':_0x54aa4d[_0x8ae5('0xc7')]['id']}})[_0x8ae5('0x1b')](handleEntityNotFound(_0x2be22e,null))[_0x8ae5('0x1b')](function(_0x865078){if(_0x865078){_0x1080e9['model']=_[_0x8ae5('0x53')](db[_0x8ae5('0xf1')][_0x8ae5('0x4d')]);_0x1080e9['query']=_[_0x8ae5('0x53')](_0x54aa4d[_0x8ae5('0x52')]);_0x1080e9[_0x8ae5('0x54')]=_[_0x8ae5('0x55')](_0x1080e9[_0x8ae5('0x51')],_0x1080e9[_0x8ae5('0x52')]);_0x3a5049[_0x8ae5('0x56')]=_[_0x8ae5('0x55')](_0x1080e9[_0x8ae5('0x51')],qs[_0x8ae5('0xa8')](_0x54aa4d[_0x8ae5('0x52')]['fields']));_0x3a5049['attributes']=_0x3a5049[_0x8ae5('0x56')][_0x8ae5('0x57')]?_0x3a5049[_0x8ae5('0x56')]:_0x1080e9['model'];if(!_0x54aa4d['query']['hasOwnProperty'](_0x8ae5('0x58'))){_0x3a5049[_0x8ae5('0x29')]=qs[_0x8ae5('0x29')](_0x54aa4d[_0x8ae5('0x52')]['limit']);_0x3a5049[_0x8ae5('0x27')]=qs[_0x8ae5('0x27')](_0x54aa4d[_0x8ae5('0x52')]['offset']);}_0x3a5049[_0x8ae5('0x59')]=qs[_0x8ae5('0x10e')](_0x54aa4d[_0x8ae5('0x52')]['sort']);_0x3a5049[_0x8ae5('0x5a')]=qs['filters'](_[_0x8ae5('0x5b')](_0x54aa4d[_0x8ae5('0x52')],_0x1080e9[_0x8ae5('0x54')]));_0x3a5049[_0x8ae5('0x5a')][_0x8ae5('0xc0')]=_0x865078['id'];if(_0x54aa4d[_0x8ae5('0x52')][_0x8ae5('0x93')]){_0x3a5049[_0x8ae5('0x5a')]=_[_0x8ae5('0xa7')](_0x3a5049[_0x8ae5('0x5a')],{'$or':_[_0x8ae5('0x3c')](_0x3a5049[_0x8ae5('0x56')],function(_0xc516d9){var _0x6fcbc3={};_0x6fcbc3[_0xc516d9]={'$like':'%'+_0x54aa4d[_0x8ae5('0x52')][_0x8ae5('0x93')]+'%'};return _0x6fcbc3;})});}if(_0x54aa4d[_0x8ae5('0x52')]['$gte']){var _0xbb1ad4=_0x54aa4d['query']['$gte'][_0x8ae5('0x3f')](',');var _0x23d47d={};_0x23d47d[_0xbb1ad4[0x0]]={'$gte':moment(_0xbb1ad4[0x1])[_0x8ae5('0xf0')]('YYYY-MM-DD\x20HH:mm:ss')};_0x3a5049['where']=_[_0x8ae5('0xa7')](_0x3a5049['where'],_0x23d47d);}_0x3a5049=_['merge']({},_0x3a5049,_0x54aa4d[_0x8ae5('0xc5')]);return db[_0x8ae5('0xf1')][_0x8ae5('0x2a')]({'where':_0x3a5049['where']})[_0x8ae5('0x1b')](function(_0x48efa2){_0x25a72d['count']=_0x48efa2;if(_0x54aa4d[_0x8ae5('0x52')][_0x8ae5('0xc3')]){_0x3a5049[_0x8ae5('0xc4')]=[{'all':!![]}];}return db[_0x8ae5('0xf1')][_0x8ae5('0x10f')](_0x3a5049);})[_0x8ae5('0x1b')](function(_0x49e14d){_0x25a72d['rows']=_0x49e14d;return _0x25a72d;});}})[_0x8ae5('0x1b')](respondWithFilteredResult(_0x2be22e,_0x3a5049))[_0x8ae5('0x25')](handleError(_0x2be22e,null));};exports[_0x8ae5('0x110')]=function(_0x51d461,_0x4cfa90,_0x338c93){var _0x4582df={'where':{}},_0x551a5e={},_0x2e94a6={'count':0x0,'rows':[]};return db[_0x8ae5('0x4c')]['findOne']({'where':{'id':_0x51d461[_0x8ae5('0xc7')]['id']}})['then'](handleEntityNotFound(_0x4cfa90,null))['then'](function(_0x5bc5fd){if(_0x5bc5fd){_0x551a5e[_0x8ae5('0x51')]=_[_0x8ae5('0x53')](db[_0x8ae5('0xf1')][_0x8ae5('0x4d')]);_0x551a5e[_0x8ae5('0x52')]=_[_0x8ae5('0x53')](_0x51d461[_0x8ae5('0x52')]);_0x551a5e['filters']=_['intersection'](_0x551a5e[_0x8ae5('0x51')],_0x551a5e[_0x8ae5('0x52')]);_0x4582df['attributes']=_['intersection'](_0x551a5e[_0x8ae5('0x51')],qs[_0x8ae5('0xa8')](_0x51d461[_0x8ae5('0x52')][_0x8ae5('0xa8')]));_0x4582df[_0x8ae5('0x56')]=_0x4582df[_0x8ae5('0x56')][_0x8ae5('0x57')]?_0x4582df['attributes']:_0x551a5e[_0x8ae5('0x51')];if(!_0x51d461[_0x8ae5('0x52')]['hasOwnProperty'](_0x8ae5('0x58'))){_0x4582df[_0x8ae5('0x29')]=qs['limit'](_0x51d461[_0x8ae5('0x52')][_0x8ae5('0x29')]);_0x4582df[_0x8ae5('0x27')]=qs[_0x8ae5('0x27')](_0x51d461[_0x8ae5('0x52')][_0x8ae5('0x27')]);}_0x4582df[_0x8ae5('0x59')]=qs[_0x8ae5('0x10e')](_0x51d461[_0x8ae5('0x52')][_0x8ae5('0x10e')]);_0x4582df[_0x8ae5('0x5a')]=qs['filters'](_[_0x8ae5('0x5b')](_0x51d461['query'],_0x551a5e['filters']));_0x4582df[_0x8ae5('0x5a')]['ChatInteractionId']=_0x5bc5fd['id'];if(_0x51d461[_0x8ae5('0x52')][_0x8ae5('0x93')]){_0x4582df[_0x8ae5('0x5a')]=_['merge'](_0x4582df['where'],{'$or':_[_0x8ae5('0x3c')](_0x4582df['attributes'],function(_0x1ac66e){var _0x591712={};_0x591712[_0x1ac66e]={'$like':'%'+_0x51d461[_0x8ae5('0x52')][_0x8ae5('0x93')]+'%'};return _0x591712;})});}_0x4582df[_0x8ae5('0x5a')][_0x8ae5('0xfc')]=![];if(_0x51d461[_0x8ae5('0x52')]['id']){_0x4582df[_0x8ae5('0x5a')]['id']={'$gt':_0x51d461['query']['id']};}_0x4582df=_['merge']({},_0x4582df,_0x51d461[_0x8ae5('0xc5')]);return db['ChatMessage']['count']({'where':_0x4582df[_0x8ae5('0x5a')]})[_0x8ae5('0x1b')](function(_0x5451b8){_0x2e94a6[_0x8ae5('0x2a')]=_0x5451b8;_0x4582df['include']=[];if(_0x51d461[_0x8ae5('0x52')][_0x8ae5('0x111')]){_0x4582df['include'][_0x8ae5('0xc1')]({'model':db[_0x8ae5('0x81')],'as':'User','attributes':['id','fullname',_0x8ae5('0x112')]});}if(_0x51d461[_0x8ae5('0x52')][_0x8ae5('0xc3')]){_0x4582df[_0x8ae5('0xc4')]=[{'all':!![]}];}return db[_0x8ae5('0xf1')][_0x8ae5('0x10f')](_0x4582df);})[_0x8ae5('0x1b')](function(_0xb03475){_0x2e94a6[_0x8ae5('0x113')]=_0xb03475;return _0x2e94a6;});}})['then'](respondWithFilteredResult(_0x4cfa90,_0x4582df))[_0x8ae5('0x25')](handleError(_0x4cfa90,null));};exports[_0x8ae5('0x114')]=function(_0x16a15a,_0x3ab5be,_0x3259e0){return db[_0x8ae5('0x4c')][_0x8ae5('0x72')]({'where':{'id':_0x16a15a['params']['id']}})[_0x8ae5('0x1b')](handleEntityNotFound(_0x3ab5be,null))[_0x8ae5('0x1b')](function(_0x276c83){if(_0x276c83){return _0x276c83[_0x8ae5('0x115')](_0x16a15a['body'][_0x8ae5('0x10b')],_[_0x8ae5('0x10c')](_0x16a15a[_0x8ae5('0x37')],['ids','id'])||{})[_0x8ae5('0x116')](function(){return db[_0x8ae5('0x7e')][_0x8ae5('0x10f')]({'attributes':['id','name','color'],'where':{'id':_0x16a15a[_0x8ae5('0x37')][_0x8ae5('0x10b')]}});})[_0x8ae5('0x1b')](function(_0x3a03f8){socket['emit'](_0x8ae5('0x117'),{'id':Number(_0x16a15a['params']['id']),'tags':_0x3a03f8||[]});return{'id':Number(_0x16a15a[_0x8ae5('0xc7')]['id']),'tags':_0x3a03f8||[]};});}})[_0x8ae5('0x1b')](respondWithResult(_0x3ab5be,null))['catch'](handleError(_0x3ab5be,null));};exports[_0x8ae5('0x118')]=function(_0x612b10,_0x1a3af3,_0x5652ed){return db['ChatInteraction'][_0x8ae5('0x72')]({'where':{'id':_0x612b10[_0x8ae5('0xc7')]['id']}})[_0x8ae5('0x1b')](handleEntityNotFound(_0x1a3af3,null))[_0x8ae5('0x1b')](function(_0xdcf516){if(_0xdcf516){return _0xdcf516[_0x8ae5('0x118')](_0x612b10[_0x8ae5('0x52')]['ids']);}})[_0x8ae5('0x1b')](respondWithStatusCode(_0x1a3af3,null))[_0x8ae5('0x25')](handleError(_0x1a3af3,null));};exports[_0x8ae5('0xec')]=function(_0x4a7355,_0x4ce880){var _0x4d6e79=moment()[_0x8ae5('0x119')]()[_0x8ae5('0xa5')]();var _0x2fee27=path[_0x8ae5('0xe8')](config[_0x8ae5('0xe9')],_0x8ae5('0x11a'),_0x8ae5('0x11b'),_0x8ae5('0x11c'));var _0x26eb04=path[_0x8ae5('0xe8')](config['root'],'server',_0x8ae5('0x11b'),'attachments');var _0x4194df=path['join'](_0x2fee27,_0x4d6e79);var _0x56d17b=util['format'](_0x8ae5('0x11d'),_0x4a7355['params']['id'],_0x4d6e79);var _0x44e9ff=path['join'](_0x2fee27,_0x56d17b);var _0x476074=[];_0x476074[_0x8ae5('0xc1')]({'model':db[_0x8ae5('0x81')],'as':_0x8ae5('0x81'),'attributes':['id',_0x8ae5('0x3d')],'raw':!![]});_0x476074['push']({'model':db[_0x8ae5('0xdc')],'as':'Contact','attributes':['id',_0x8ae5('0x11e'),'lastName'],'raw':!![]});if(_0x4a7355[_0x8ae5('0x52')]['attachments']){_0x476074['push']({'model':db[_0x8ae5('0xe4')],'as':_0x8ae5('0xe4'),'raw':!![]});}var _0x2d681c=[{'model':db['ChatMessage'],'as':_0x8ae5('0xf2'),'attributes':['id',_0x8ae5('0x37'),_0x8ae5('0x89'),'direction',_0x8ae5('0xfc'),_0x8ae5('0x8f')],'include':_0x476074}];_0x2d681c[_0x8ae5('0xc1')]({'model':db['ChatWebsite'],'as':_0x8ae5('0x11f'),'attributes':['id',_0x8ae5('0x34')]});_0x2d681c[_0x8ae5('0xc1')]({'model':db[_0x8ae5('0x81')],'as':_0x8ae5('0x120'),'attributes':['id',_0x8ae5('0x3d')]});return db[_0x8ae5('0x4c')]['find']({'where':{'id':_0x4a7355[_0x8ae5('0xc7')]['id']},'include':_0x2d681c})[_0x8ae5('0x1b')](handleEntityNotFound(_0x4ce880,null))[_0x8ae5('0x1b')](function(_0xa7b9a0){if(_0xa7b9a0){var _0x3b9983=_0xa7b9a0[_0x8ae5('0x121')]({'plain':!![]});fs['mkdirSync'](_0x4194df);var _0x4046b7={'channel':_0x8ae5('0x122'),'account':_0x3b9983[_0x8ae5('0x11f')]['name'],'agent':_0x3b9983[_0x8ae5('0x120')]?_0x3b9983['Owner'][_0x8ae5('0x3d')]:_0x8ae5('0x123'),'createdAt':moment(_0x3b9983[_0x8ae5('0x89')])[_0x8ae5('0xf0')](_0x8ae5('0x124'))[_0x8ae5('0xa5')](),'closedAt':_0x3b9983['closed']?moment(_0x3b9983['closedAt'])[_0x8ae5('0xf0')](_0x8ae5('0x124'))['toString']():'','disposition':_0x3b9983[_0x8ae5('0x49')],'chatInfo':{'browser':_0x3b9983[_0x8ae5('0x125')],'os':_0x3b9983[_0x8ae5('0x126')],'referer':_0x3b9983[_0x8ae5('0x127')],'customerIp':_0x3b9983[_0x8ae5('0x128')],'customerPort':_0x3b9983[_0x8ae5('0x129')]?_0x3b9983[_0x8ae5('0x129')]:'N.A.'},'messages':_(_0x3b9983[_0x8ae5('0xf2')])['tail']()[_0x8ae5('0x93')]({'secret':![]})[_0x8ae5('0x3c')](function(_0xbd34ba){if(_0xbd34ba[_0x8ae5('0xe4')]){var _0x2e4ddb=path[_0x8ae5('0xe8')](_0x26eb04,_0xbd34ba['Attachment'][_0x8ae5('0xe3')]);if(fs[_0x8ae5('0x12a')](_0x2e4ddb)){fs[_0x8ae5('0x12b')](_0x2e4ddb)[_0x8ae5('0x12c')](fs['createWriteStream'](path['join'](_0x4194df,_0xbd34ba['Attachment']['basename'])));}}return{'date':moment(_0xbd34ba[_0x8ae5('0x89')])['format'](_0x8ae5('0x124'))[_0x8ae5('0xa5')](),'sender':_0xbd34ba[_0x8ae5('0x12d')]===_0x8ae5('0xd8')?_0xbd34ba[_0x8ae5('0x81')]?_0xbd34ba[_0x8ae5('0x81')][_0x8ae5('0x3d')]:_0x8ae5('0xf8'):_0xbd34ba[_0x8ae5('0x76')][_0x8ae5('0x11e')]+(_0xbd34ba['Contact'][_0x8ae5('0x12e')]?'\x20'+_0xbd34ba[_0x8ae5('0x76')][_0x8ae5('0x12e')]:''),'body':_0xbd34ba['Attachment']?_0xbd34ba[_0x8ae5('0xe4')][_0x8ae5('0xe3')]:_0xbd34ba[_0x8ae5('0x37')],'direction':_0xbd34ba[_0x8ae5('0x12d')]==='out'?'A':'C','secret':_0xbd34ba['secret'],'read':_0xbd34ba[_0x8ae5('0x8f')],'attachment':_0xbd34ba[_0x8ae5('0xe4')]};})[_0x8ae5('0x7a')]()};return ejs[_0x8ae5('0x12f')](path[_0x8ae5('0xe8')](config[_0x8ae5('0xe9')],_0x8ae5('0x11a'),_0x8ae5('0x130'),'downloadInteraction.ejs'),{'interaction':_0x4046b7})[_0x8ae5('0x1b')](function(_0x262cba){var _0x245ecc=path[_0x8ae5('0xe8')](_0x4194df,_0x8ae5('0x131')+_0x3b9983['id']+'-'+_0x4d6e79+_0x8ae5('0x132'));var _0x18d8d4={'path':_0x245ecc,'channel':_0x8ae5('0x122'),'interactionId':_0x3b9983['id']};return pdf[_0x8ae5('0x133')](_0x262cba,_0x18d8d4);})['then'](function(){return new BPromise(function(_0x19e6a5,_0x10e76b){zipdir(_0x4194df,{'saveTo':_0x44e9ff},function(_0x5e2e6d,_0x5459d7){if(_0x5e2e6d)return _0x10e76b(_0x5e2e6d);return _0x19e6a5(_0x5459d7);});})['then'](function(){return new BPromise(function(_0x50583a,_0x194984){rimraf(_0x4194df,function(_0x14890a){if(_0x14890a)_0x194984(_0x14890a);return _0x50583a();});});})[_0x8ae5('0x1b')](function(){return _0x4ce880[_0x8ae5('0xec')](_0x44e9ff,_0x56d17b,function(_0x3bc901){if(_0x3bc901){console['log']('err',_0x3bc901);}else{fs[_0x8ae5('0x134')](_0x44e9ff);}});});});}else{return _0x4ce880[_0x8ae5('0x32')](0xc8);}})[_0x8ae5('0x25')](handleError(_0x4ce880,null));};