fe6b064eb1035da017e66d80af66372c4717057c
[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 _0x1883=['i.ChatWebsiteId\x20IN\x20?','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','read','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','\x27\x27\x27\x27','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','SELECT','clone','DESC','isEmpty','t.id\x20IN\x20?','resolve','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','getChatWebsites','sequelize','toString','keyBy','merge','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','c.lastName','c.email','Contact.email','c.phone','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','rows','params','keys','includeAll','options','create','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','follow','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','customUpdate','abandonInteraction,\x20%s,\x20%s,\x20%s','abandon','entity\x20not\x20found','closed','AbandonInteraction','attachmentUpload','file','originalname','basename','filename','mimetype','Attachment','attachmentDownload','Unauthorized','attachId','join','root','server/files/attachments/','close','mailTranscript','server/files/chat/upload/','transcript-%s.txt','now','pathTranscript','Messages','CmContact','format','%s%d','agentAlias','customer','Visitor','agentIdentifier','website_alias','System','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','direction','secret','appendFileSync','MailAccount','Smtp','service','host','port','secure','authentication','pass','SendMail','sendMail','\x22%s\x22\x20<%s>','Mail\x20Transcript','addMessage','ids','omit','$gte','YYYY-MM-DD\x20HH:mm:ss','include','findAll','getMyMessages','push','addTags','setTags','spread','color','emit','chatInteractionTags:save','removeTags','server','files','attachments','firstName','Account','Owner','mkdirSync','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','Chat','YYYY-MM-DD','closedAt','referer','customerPort','N.A.','tail','existsSync','createReadStream','lastName','renderFile','views','downloadInteraction.html','toFile','.pdf','download','log','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','redis','defaults','localhost','socket.io-emitter','register','http','test','Sequelize','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','ChatInteraction,\x20%s,\x20%s','message','info','result','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','stack','name','send','Users','map','fullname','Tags','TagIds','split','forEach','index','ChatInteraction','rawAttributes','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','pick','select','field','from','user_has_chat_interactions','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','parseSearch','search','conditions','length','unreadMessages','value','having','`\x20>\x200','Contact','operator','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','start','Tag','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','body','text','some','ChatWebsiteId','where'];(function(_0x3a5304,_0x435da8){var _0x5ce3a5=function(_0x16fdc4){while(--_0x16fdc4){_0x3a5304['push'](_0x3a5304['shift']());}};_0x5ce3a5(++_0x435da8);}(_0x1883,0xab));var _0x3188=function(_0x91a6b1,_0x45bf86){_0x91a6b1=_0x91a6b1-0x0;var _0x101dbe=_0x1883[_0x91a6b1];return _0x101dbe;};'use strict';var pdf=require(_0x3188('0x0'));var emlformat=require(_0x3188('0x1'));var rimraf=require(_0x3188('0x2'));var zipdir=require(_0x3188('0x3'));var jsonpatch=require(_0x3188('0x4'));var rp=require(_0x3188('0x5'));var moment=require(_0x3188('0x6'));var BPromise=require(_0x3188('0x7'));var Mustache=require(_0x3188('0x8'));var util=require(_0x3188('0x9'));var path=require(_0x3188('0xa'));var sox=require(_0x3188('0xb'));var csv=require(_0x3188('0xc'));var ejs=require(_0x3188('0xd'));var fs=require('fs');var _=require(_0x3188('0xe'));var squel=require(_0x3188('0xf'));var crypto=require(_0x3188('0x10'));var jsforce=require('jsforce');var deskjs=require(_0x3188('0x11'));var toCsv=require(_0x3188('0xc'));var querystring=require('querystring');var Papa=require(_0x3188('0x12'));var Redis=require('ioredis');var authService=require(_0x3188('0x13'));var qs=require(_0x3188('0x14'));var as=require(_0x3188('0x15'));var hardwareService=require(_0x3188('0x16'));var logger=require('../../config/logger')(_0x3188('0x17'));var utils=require(_0x3188('0x18'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config[_0x3188('0x19')]=_[_0x3188('0x1a')](config[_0x3188('0x19')],{'host':_0x3188('0x1b'),'port':0x18eb});var socket=require(_0x3188('0x1c'))(new Redis(config[_0x3188('0x19')]));require('./chatInteraction.socket')[_0x3188('0x1d')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x3188('0x1e')]({'port':0x232b});var client9004=jayson['client']['http']({'port':0x232c});function checkPasswordPattern(_0x32c239,_0x1beead,_0xa2269){if(_0xa2269){var _0x195d8e=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x195d8e[_0x3188('0x1f')](_0x1beead)){return _0x32c239;}else{throw new db[(_0x3188('0x20'))]['ValidationError'](_0x3188('0x21'));}}else{return _0x32c239;}}function respondWithRpcPromise(_0x1c3598,_0x3f5b35,_0x37e646,_0x18a71a){return new BPromise(function(_0x4f27b0,_0xac7f48){var _0x4602c6=_0x18a71a||client;return _0x4602c6['request'](_0x1c3598,_0x37e646)[_0x3188('0x22')](function(_0x36050a){logger['info']('ChatInteraction,\x20%s,\x20%s',_0x3f5b35,'request\x20sent');logger[_0x3188('0x23')](_0x3188('0x24'),_0x3f5b35,_0x3188('0x25'),JSON['stringify'](_0x36050a));if(_0x36050a['error']){if(_0x36050a[_0x3188('0x26')][_0x3188('0x27')]===0x1f4){logger[_0x3188('0x26')](_0x3188('0x28'),_0x3f5b35,_0x36050a[_0x3188('0x26')]['message']);return _0xac7f48(_0x36050a[_0x3188('0x26')][_0x3188('0x29')]);}logger['error'](_0x3188('0x28'),_0x3f5b35,_0x36050a['error']['message']);return _0x4f27b0(_0x36050a[_0x3188('0x26')][_0x3188('0x29')]);}else{logger[_0x3188('0x2a')](_0x3188('0x28'),_0x3f5b35,_0x3188('0x25'));_0x4f27b0(_0x36050a[_0x3188('0x2b')][_0x3188('0x29')]);}})[_0x3188('0x2c')](function(_0x4b4675){logger[_0x3188('0x26')](_0x3188('0x28'),_0x3f5b35,_0x4b4675);_0xac7f48(_0x4b4675);});});}function respondWithStatusCode(_0x52bb13,_0xd3ee40){_0xd3ee40=_0xd3ee40||0xcc;return function(_0x14299b){if(_0x14299b){return _0x52bb13[_0x3188('0x2d')](_0xd3ee40);}return _0x52bb13[_0x3188('0x2e')](_0xd3ee40)[_0x3188('0x2f')]();};}function respondWithResult(_0x1f1c6f,_0x8f810f){_0x8f810f=_0x8f810f||0xc8;return function(_0x472926){if(_0x472926){return _0x1f1c6f['status'](_0x8f810f)[_0x3188('0x30')](_0x472926);}};}function respondWithFilteredResult(_0x5d97d0,_0xaead48){return function(_0x5623f1){if(_0x5623f1){var _0x3f82ce=_0x5623f1[_0x3188('0x31')],_0x80f9a8=_0xaead48[_0x3188('0x32')],_0x3be4f7=_0xaead48[_0x3188('0x32')]+_0xaead48[_0x3188('0x33')],_0xacdad7;if(_0x3be4f7>=_0x3f82ce){_0x3be4f7=_0x3f82ce;_0xacdad7=0xc8;}else{_0xacdad7=0xce;}_0x5d97d0[_0x3188('0x2e')](_0xacdad7);return _0x5d97d0[_0x3188('0x34')](_0x3188('0x35'),_0x80f9a8+'-'+_0x3be4f7+'/'+_0x3f82ce)[_0x3188('0x30')](_0x5623f1);}return null;};}function patchUpdates(_0x2c1d68){return function(_0x461c3d){try{jsonpatch[_0x3188('0x36')](_0x461c3d,_0x2c1d68,!![]);}catch(_0x41c4cd){return BPromise[_0x3188('0x37')](_0x41c4cd);}return _0x461c3d[_0x3188('0x38')]();};}function saveUpdates(_0x5866bd,_0x47374b){return function(_0x4c9182){if(_0x4c9182){return _0x4c9182[_0x3188('0x39')](_0x5866bd)[_0x3188('0x22')](function(_0x577b5a){return _0x577b5a;});}return null;};}function removeEntity(_0x7848a6,_0x286a8b){return function(_0x1d5695){if(_0x1d5695){return _0x1d5695[_0x3188('0x3a')]()[_0x3188('0x22')](function(){_0x7848a6[_0x3188('0x2e')](0xcc)[_0x3188('0x2f')]();});}};}function handleEntityNotFound(_0x51b7a9,_0x4e4710){return function(_0xa876c8){if(!_0xa876c8){_0x51b7a9[_0x3188('0x2d')](0x194);}return _0xa876c8;};}function handleError(_0x3d298b,_0x1aa732){_0x1aa732=_0x1aa732||0x1f4;return function(_0x4a64a4){logger[_0x3188('0x26')](_0x4a64a4[_0x3188('0x3b')]);if(_0x4a64a4[_0x3188('0x3c')]){delete _0x4a64a4[_0x3188('0x3c')];}_0x3d298b['status'](_0x1aa732)[_0x3188('0x3d')](_0x4a64a4);};}function getInteractionUsers(_0x4a290f,_0x130e73){return new BPromise(function(_0x57895f,_0x2bd31e){try{if(_0x130e73[_0x4a290f['id']]){_0x4a290f[_0x3188('0x3e')]=_[_0x3188('0x3f')](_0x130e73[_0x4a290f['id']],function(_0x2990c4){return{'id':_0x2990c4['id'],'fullname':_0x2990c4[_0x3188('0x40')]};});}}catch(_0x2305bf){_0x2bd31e(_0x2305bf);}_0x57895f(_0x4a290f);});}function getInteractionTags(_0x4666b2,_0xa8443){return new BPromise(function(_0x6fa7e4,_0x138d90){try{if(_0x4666b2['TagIds']){_0x4666b2[_0x3188('0x41')]=[];_0x4666b2[_0x3188('0x42')][_0x3188('0x43')](',')[_0x3188('0x44')](function(_0x7b2f4b){_0x4666b2[_0x3188('0x41')]['push'](_0xa8443[_0x7b2f4b]);});}delete _0x4666b2[_0x3188('0x42')];}catch(_0x4aca31){_0x138d90(_0x4aca31);}_0x6fa7e4(_0x4666b2);});}function updateChatInteraction(_0x410935,_0x459a58,_0xb9a025){return new BPromise(function(_0x8f3756,_0x42c47b){return getInteractionUsers(_0x410935,_0xb9a025)['then'](function(_0x484eeb){return getInteractionTags(_0x484eeb,_0x459a58);})['then'](function(_0x4e6db6){_0x8f3756(_0x4e6db6);})['catch'](function(_0x763943){_0x42c47b(_0x763943);});});}exports[_0x3188('0x45')]=function(_0x3e5f90,_0x1b40b1){var _0x9b70b1={},_0x599345={},_0x2147a9={'count':0x0,'rows':[]};var _0x4e2b9c=_[_0x3188('0x3f')](db[_0x3188('0x46')][_0x3188('0x47')],function(_0x3e149e){return{'name':_0x3e149e['fieldName'],'type':_0x3e149e[_0x3188('0x48')][_0x3188('0x49')]};});_0x599345[_0x3188('0x4a')]=_[_0x3188('0x3f')](_0x4e2b9c,_0x3188('0x3c'));_0x599345['query']=_['keys'](_0x3e5f90[_0x3188('0x4b')]);_0x599345[_0x3188('0x4c')]=_['intersection'](_0x599345[_0x3188('0x4a')],_0x599345[_0x3188('0x4b')]);_0x9b70b1['attributes']=_[_0x3188('0x4d')](_0x599345[_0x3188('0x4a')],qs[_0x3188('0x4e')](_0x3e5f90[_0x3188('0x4b')][_0x3188('0x4e')]));_0x9b70b1['attributes']=_0x9b70b1[_0x3188('0x4f')]['length']?_0x9b70b1[_0x3188('0x4f')]:_0x599345[_0x3188('0x4a')];if(!_0x3e5f90[_0x3188('0x4b')][_0x3188('0x50')](_0x3188('0x51'))){_0x9b70b1[_0x3188('0x33')]=qs[_0x3188('0x33')](_0x3e5f90[_0x3188('0x4b')][_0x3188('0x33')]);_0x9b70b1[_0x3188('0x32')]=qs[_0x3188('0x32')](_0x3e5f90['query']['offset']);}_0x9b70b1[_0x3188('0x52')]=qs['sort'](_0x3e5f90[_0x3188('0x4b')][_0x3188('0x53')]);_0x9b70b1['where']=qs[_0x3188('0x4c')](_[_0x3188('0x54')](_0x3e5f90[_0x3188('0x4b')],_0x599345[_0x3188('0x4c')]),_0x4e2b9c);var _0xdaf748=[];var _0x2ceb79=squel[_0x3188('0x55')]()[_0x3188('0x56')]('id')['field'](_0x3188('0x3c'))[_0x3188('0x56')]('color')[_0x3188('0x57')]('tools_tags');var _0x152f3b=squel[_0x3188('0x55')]()[_0x3188('0x56')]('u.id')['field']('u.fullname')['field']('ui.ChatInteractionId')[_0x3188('0x57')](_0x3188('0x58'),'ui')['left_join'](_0x3188('0x59'),'u',_0x3188('0x5a'));var _0x47dd5b=squel['select']()['from']('chat_interactions','i')['left_join'](_0x3188('0x5b'),'c',_0x3188('0x5c'))[_0x3188('0x5d')](_0x3188('0x59'),'o',_0x3188('0x5e'))['left_join'](_0x3188('0x5f'),'a',_0x3188('0x60'))['left_join']('chat_messages','me','me.ChatInteractionId\x20=\x20i.id')[_0x3188('0x5d')](_0x3188('0x61'),'it',_0x3188('0x62'))['left_join'](_0x3188('0x63'),'t',_0x3188('0x64'));var _0x137c7b=squel[_0x3188('0x65')]();var _0x2fe303=[];var _0x4cd62c=squel[_0x3188('0x65')]();var _0x3aeac4;if(_0x3e5f90[_0x3188('0x4b')]['search']){_0x3aeac4=as[_0x3188('0x66')](_0x3e5f90[_0x3188('0x4b')][_0x3188('0x67')]);var _0x2a13bc=_0x3aeac4['sqlOperator'];for(var _0x33d751=0x0;_0x33d751<_0x3aeac4[_0x3188('0x68')][_0x3188('0x69')];_0x33d751++){var _0x19a36b=_0x3aeac4[_0x3188('0x68')][_0x33d751];var _0x1b8c54='i';var _0x36baff=_['find'](_0x4e2b9c,[_0x3188('0x3c'),_0x19a36b[_0x3188('0x56')]]);if(!_0x36baff){switch(_0x19a36b[_0x3188('0x56')]){case _0x3188('0x6a'):if(_0x19a36b[_0x3188('0x6b')]==0x1){_0x47dd5b[_0x3188('0x6c')]('`'+_0x19a36b[_0x3188('0x56')]+'`\x20=\x200');}else{_0x47dd5b[_0x3188('0x6c')]('`'+_0x19a36b[_0x3188('0x56')]+_0x3188('0x6d'));}break;case _0x3188('0x6e'):if(_0x19a36b[_0x3188('0x6f')]==='$substring'){if(_0x19a36b[_0x3188('0x6b')][_0x3188('0x43')]('\x20')['length']>0x1){_0x137c7b[_0x2a13bc]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x3188('0x70')](_0x19a36b[_0x3188('0x6b')]),null);}else{var _0x1ef665='%'+_0x19a36b[_0x3188('0x6b')]+'%';_0x137c7b[_0x2a13bc](_0x3188('0x71'),_0x1ef665,_0x1ef665,_0x1ef665);}}else{_0x36baff=_[_0x3188('0x72')](_0x4e2b9c,[_0x3188('0x3c'),_0x3188('0x73')]);_0x19a36b[_0x3188('0x56')]=_0x3188('0x73');_0x156c9a=as['buildExpression'](_0x1b8c54,_0x36baff[_0x3188('0x48')],_0x19a36b);_0x137c7b[_0x2a13bc](_0x156c9a['text'],_0x156c9a['value'][_0x3188('0x74')],_0x156c9a['value'][_0x3188('0x2f')]);}break;case _0x3188('0x75'):var _0x7aa116=_0x19a36b[_0x3188('0x6b')][_0x3188('0x43')](',')[_0x3188('0x3f')](function(_0x5485dd){return Number(_0x5485dd);});_0x7aa116[_0x3188('0x44')](function(_0x325eab){_0x4cd62c['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x325eab+',%');});_0x2fe303=_[_0x3188('0x76')](_0x2fe303,_0x7aa116);break;case _0x3188('0x77'):if(_0x19a36b[_0x3188('0x6f')]===_0x3188('0x78')){_0x137c7b[_0x2a13bc](_0x3188('0x79'),'%'+_0x19a36b[_0x3188('0x6b')]+'%',null);}else{_0x36baff=_['find'](_0x4e2b9c,[_0x3188('0x3c'),_0x3188('0x7a')]);_0x19a36b['field']=_0x3188('0x7a');_0x156c9a=as[_0x3188('0x7b')](_0x1b8c54,_0x36baff[_0x3188('0x48')],_0x19a36b);_0x137c7b[_0x2a13bc](_0x156c9a['text'],_0x156c9a[_0x3188('0x6b')][_0x3188('0x74')],_0x156c9a[_0x3188('0x6b')][_0x3188('0x2f')]);}break;case _0x3188('0x7c'):_0x156c9a=as[_0x3188('0x7b')]('me',null,_0x19a36b);_0x137c7b[_0x2a13bc](_0x156c9a[_0x3188('0x7d')],_0x156c9a['value']['start'],_0x156c9a['value']['end']);break;}}else{var _0x156c9a=as[_0x3188('0x7b')](_0x1b8c54,_0x36baff[_0x3188('0x48')],_0x19a36b);_0x137c7b[_0x2a13bc](_0x156c9a[_0x3188('0x7d')],_0x156c9a[_0x3188('0x6b')]['start'],_0x156c9a[_0x3188('0x6b')]['end']);}}}else{var _0x4553cc=_(_0x3e5f90[_0x3188('0x4b')])['keys']()[_0x3188('0x3f')](function(_0x5470b1){return _[_0x3188('0x7e')](_0x4e2b9c,[_0x3188('0x3c'),_0x5470b1])?_0x5470b1:undefined;})['compact']()[_0x3188('0x6b')]();if(!_['isEmpty'](_0x4553cc)){_0x4553cc[_0x3188('0x44')](function(_0x1a7df0){if(_0x1a7df0===_0x3188('0x7f')){_0x47dd5b[_0x3188('0x80')](_0x3188('0x81'),[]['concat'](_0x3e5f90[_0x3188('0x4b')][_0x1a7df0]));}else if(_0x1a7df0===_0x3188('0x82')){var _0x562449=JSON[_0x3188('0x83')](_0x3e5f90[_0x3188('0x4b')][_0x1a7df0])['$gte'];var _0x47da9c=JSON[_0x3188('0x83')](_0x3e5f90[_0x3188('0x4b')][_0x1a7df0])[_0x3188('0x84')];_0x47dd5b[_0x3188('0x80')](_0x3188('0x85'),_0x562449,_0x47da9c);}else{if(_0x3e5f90[_0x3188('0x4b')][_0x1a7df0]==='null'){_0x47dd5b[_0x3188('0x80')]('i.'+_0x1a7df0+_0x3188('0x86'));}else{_0x47dd5b[_0x3188('0x80')]('i.'+_0x1a7df0+'\x20=\x20?',_0x3e5f90[_0x3188('0x4b')][_0x1a7df0]);}}});}if(_0x3e5f90[_0x3188('0x4b')][_0x3188('0x87')]){if(_0x3e5f90[_0x3188('0x4b')][_0x3188('0x87')]==0x1){_0x47dd5b[_0x3188('0x6c')]('`unreadMessages`\x20=\x200');}else{_0x47dd5b['having']('`unreadMessages`\x20>\x200');}}if(_0x3e5f90[_0x3188('0x4b')][_0x3188('0x88')]){_0x2fe303=_['isArray'](_0x3e5f90[_0x3188('0x4b')][_0x3188('0x88')])?_0x3e5f90[_0x3188('0x4b')][_0x3188('0x88')]:new Array(_0x3e5f90[_0x3188('0x4b')][_0x3188('0x88')]);_0x2fe303['forEach'](function(_0x1cd313){_0x4cd62c['or'](_0x3188('0x89'),'%,'+_0x1cd313+',%');});}if(_0x3e5f90[_0x3188('0x4b')][_0x3188('0x8a')]){var _0xc02fb5=_0x3e5f90[_0x3188('0x4b')][_0x3188('0x8a')][_0x3188('0x8b')]('\x5c','\x5c\x5c')[_0x3188('0x8b')]('\x27\x27',_0x3188('0x8c'));if(qs[_0x3188('0x8d')](_0xc02fb5)){_0x137c7b['or'](_0x3188('0x8e'),_0xc02fb5+'%');}else{_0x137c7b['or'](_0x3188('0x8f'),qs[_0x3188('0x70')](_0xc02fb5))['or'](_0x3188('0x90'),_0xc02fb5+'%');}}}_0x47dd5b[_0x3188('0x80')](_0x137c7b);_0x47dd5b[_0x3188('0x91')](_0x3188('0x92'));var _0x4d4578={'type':db[_0x3188('0x20')][_0x3188('0x93')][_0x3188('0x94')],'raw':!![]};var _0x24246d=_0x47dd5b[_0x3188('0x95')]();_0x24246d['field'](_0x3188('0x92'));_0x24246d[_0x3188('0x56')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x3188('0x6a'));if(_0x9b70b1[_0x3188('0x52')]){_0x9b70b1[_0x3188('0x52')]['forEach'](function(_0x3470ad){_0x47dd5b['order']('i.'+_0x3470ad[0x0],_0x3470ad[0x1]===_0x3188('0x96')?![]:!![]);});}if(!_[_0x3188('0x97')](_0x2fe303)){_0x47dd5b[_0x3188('0x6c')](_0x4cd62c);_0x24246d[_0x3188('0x80')](_0x3188('0x98'),_0x2fe303);}BPromise[_0x3188('0x99')]()['then'](function(){if(!_0x3aeac4){if(_0x3e5f90['query'][_0x3188('0x7f')]||_0x3e5f90[_0x3188('0x4b')][_0x3188('0x9a')])return;_0x24246d[_0x3188('0x80')](_0x3188('0x9b'));_0x47dd5b[_0x3188('0x80')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}return _0x3e5f90[_0x3188('0x9c')][_0x3188('0x9d')]({'attributes':['id'],'raw':!![]})[_0x3188('0x22')](function(_0x3cc024){if(_['isEmpty'](_0x3cc024)){_0x24246d[_0x3188('0x80')]('i.ChatWebsiteId\x20IS\x20NULL');_0x47dd5b['where']('i.ChatWebsiteId\x20IS\x20NULL');}else{_0x24246d['where'](_0x3188('0x81'),_[_0x3188('0x3f')](_0x3cc024,'id'));_0x47dd5b['where'](_0x3188('0x81'),_[_0x3188('0x3f')](_0x3cc024,'id'));}});})['then'](function(){db[_0x3188('0x9e')]['query'](_0x24246d[_0x3188('0x9f')](),_0x4d4578)[_0x3188('0x22')](function(_0x5d98a3){_0x2147a9[_0x3188('0x31')]=_0x5d98a3[_0x3188('0x69')];if(_0x2147a9[_0x3188('0x31')]===0x0)return[];return db[_0x3188('0x9e')][_0x3188('0x4b')](_0x2ceb79[_0x3188('0x9f')](),_0x4d4578)[_0x3188('0x22')](function(_0x915b26){_0xdaf748=_[_0x3188('0xa0')](_0x915b26,'id');_0x4d4578=_[_0x3188('0xa1')](_0x4d4578,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3e5f90[_0x3188('0x4b')][_0x3188('0x4e')]){_0x9b70b1[_0x3188('0x4f')]['forEach'](function(_0x96eda5){_0x47dd5b['field']('i.'+_0x96eda5);});}else{_0x47dd5b[_0x3188('0x56')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');_0x47dd5b['field']('a.key',_0x3188('0xa2'));_0x47dd5b[_0x3188('0x56')](_0x3188('0xa3'),_0x3188('0xa4'));_0x47dd5b[_0x3188('0x56')]('i.*');_0x47dd5b[_0x3188('0x56')]('c.firstName','Contact.firstName');_0x47dd5b[_0x3188('0x56')](_0x3188('0xa5'),'Contact.lastName');_0x47dd5b[_0x3188('0x56')](_0x3188('0xa6'),_0x3188('0xa7'));_0x47dd5b[_0x3188('0x56')](_0x3188('0xa8'),_0x3188('0xa9'));_0x47dd5b[_0x3188('0x56')]('c.mobile',_0x3188('0xaa'));_0x47dd5b[_0x3188('0x56')](_0x3188('0xab'),_0x3188('0xac'));_0x47dd5b[_0x3188('0x56')](_0x3188('0xad'),_0x3188('0xae'));_0x47dd5b[_0x3188('0x56')](_0x3188('0xaf'),'Owner.internal');_0x47dd5b[_0x3188('0x56')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x3188('0x42'));}if(_0x9b70b1[_0x3188('0x33')])_0x47dd5b[_0x3188('0x33')](_0x9b70b1[_0x3188('0x33')]);if(_0x9b70b1[_0x3188('0x32')])_0x47dd5b[_0x3188('0x32')](_0x9b70b1[_0x3188('0x32')]);return db[_0x3188('0x9e')][_0x3188('0x4b')](_0x47dd5b[_0x3188('0x9f')](),_0x4d4578);})[_0x3188('0x22')](function(_0x43f2eb){_0x152f3b['where'](_0x3188('0xb0'),_[_0x3188('0x3f')](_0x43f2eb,'id'));return db[_0x3188('0x9e')][_0x3188('0x4b')](_0x152f3b[_0x3188('0x9f')](),_0x4d4578)[_0x3188('0x22')](function(_0xc24617){var _0x5a2819=_[_0x3188('0xb1')](_0xc24617,_0x3188('0xb2'));var _0x9d24f7=[];_0x43f2eb[_0x3188('0x44')](function(_0x2f937c){_0x9d24f7['push'](updateChatInteraction(_0x2f937c,_0xdaf748,_0x5a2819));});return BPromise['all'](_0x9d24f7);});});})[_0x3188('0x22')](function(_0x35d216){_0x2147a9[_0x3188('0xb3')]=_0x35d216;return _0x2147a9;})[_0x3188('0x22')](respondWithFilteredResult(_0x1b40b1,_0x9b70b1));})[_0x3188('0x2c')](handleError(_0x1b40b1,null));};exports['show']=function(_0x2f1fd0,_0x1d3d26){var _0x403ac1={'raw':![],'where':{'id':_0x2f1fd0[_0x3188('0xb4')]['id']}},_0x5a98c8={};_0x5a98c8[_0x3188('0x4a')]=_[_0x3188('0xb5')](db[_0x3188('0x46')][_0x3188('0x47')]);_0x5a98c8[_0x3188('0x4b')]=_[_0x3188('0xb5')](_0x2f1fd0['query']);_0x5a98c8[_0x3188('0x4c')]=_[_0x3188('0x4d')](_0x5a98c8[_0x3188('0x4a')],_0x5a98c8['query']);_0x403ac1['attributes']=_[_0x3188('0x4d')](_0x5a98c8[_0x3188('0x4a')],qs['fields'](_0x2f1fd0['query']['fields']));_0x403ac1['attributes']=_0x403ac1['attributes'][_0x3188('0x69')]?_0x403ac1[_0x3188('0x4f')]:_0x5a98c8['model'];if(_0x2f1fd0['query'][_0x3188('0xb6')]){_0x403ac1['include']=[{'all':!![]}];}_0x403ac1=_[_0x3188('0xa1')]({},_0x403ac1,_0x2f1fd0[_0x3188('0xb7')]);return db['ChatInteraction'][_0x3188('0x72')](_0x403ac1)[_0x3188('0x22')](handleEntityNotFound(_0x1d3d26,null))[_0x3188('0x22')](respondWithResult(_0x1d3d26,null))[_0x3188('0x2c')](handleError(_0x1d3d26,null));};exports[_0x3188('0xb8')]=function(_0x54a1b8,_0x4ae7d2){return db['ChatInteraction'][_0x3188('0xb8')](_0x54a1b8[_0x3188('0x7c')],{})[_0x3188('0x22')](respondWithResult(_0x4ae7d2,0xc9))['catch'](handleError(_0x4ae7d2,null));};exports[_0x3188('0x39')]=function(_0x42787d,_0x518cbc){if(_0x42787d[_0x3188('0x7c')]['id']){delete _0x42787d['body']['id'];}return db[_0x3188('0x46')]['find']({'where':{'id':_0x42787d[_0x3188('0xb4')]['id']}})[_0x3188('0x22')](handleEntityNotFound(_0x518cbc,null))[_0x3188('0x22')](saveUpdates(_0x42787d['body'],null))['then'](respondWithResult(_0x518cbc,null))[_0x3188('0x2c')](handleError(_0x518cbc,null));};exports['destroy']=function(_0xf3bec7,_0x45a140){return db[_0x3188('0x46')][_0x3188('0x72')]({'where':{'id':_0xf3bec7[_0x3188('0xb4')]['id']}})[_0x3188('0x22')](handleEntityNotFound(_0x45a140,null))['then'](removeEntity(_0x45a140,null))[_0x3188('0x2c')](handleError(_0x45a140,null));};exports[_0x3188('0xb9')]=function(_0x5b8403,_0x3865ca){return db[_0x3188('0x46')][_0x3188('0xb9')]()['then'](respondWithResult(_0x3865ca,null))[_0x3188('0x2c')](handleError(_0x3865ca,null));};exports[_0x3188('0xba')]=function(_0x311456,_0x42e5d0){var _0x3b031a=_0x311456['params']['id'];var _0x3b0510;var _0x26e0b7;var _0x5cf347;return db[_0x3188('0x46')][_0x3188('0xbb')]({'where':{'id':_0x3b031a}})['then'](function(_0x1d14fd){_0x3b0510=_0x1d14fd;return db[_0x3188('0xbc')][_0x3188('0xbb')]({'where':{'id':_0x1d14fd['ChatWebsiteId']},'attributes':['id',_0x3188('0xbd'),_0x3188('0xbe')],'raw':!![]});})[_0x3188('0x22')](function(_0x57960b){if(_0x57960b&&_0x57960b[_0x3188('0xbd')]&&_0x57960b['vidaooEscalation']){_0x26e0b7=_0x57960b;var _0xdf7c6b={'rejectUnauthorized':![],'method':_0x3188('0xbf'),'uri':_0x3188('0xc0'),'headers':{'X-APIKEY':_0x57960b[_0x3188('0xbd')]},'body':{'name':_0x3188('0xc1')+_0x3b031a},'redirect':_0x3188('0xc2'),'json':!![]};return rp(_0xdf7c6b);}else{throw new db[(_0x3188('0x20'))][(_0x3188('0xc3'))](_0x3188('0xc4'));}})[_0x3188('0x22')](function(_0x166f22){_0x5cf347=_0x166f22;if(_0x5cf347['id']){var _0x1deff4={'body':_0x5cf347[_0x3188('0xc5')],'ChatWebsiteId':_0x26e0b7['id'],'ChatInteractionId':_0x3b0510['id'],'direction':_0x3188('0xc6'),'UserId':_0x311456['user']['id']};return db[_0x3188('0xc7')][_0x3188('0xb8')](_0x1deff4,{});}else{throw new db['Sequelize'][(_0x3188('0xc3'))](_0x3188('0xc8'));}})['then'](function(){return _0x3b0510['updateAttributes']({'vidaooSessionId':_0x5cf347['id']});})[_0x3188('0x22')](respondWithResult(_0x42e5d0,null))[_0x3188('0x2c')](handleError(_0x42e5d0,null));};exports[_0x3188('0xc9')]=function(_0x8607bf,_0x4a2d1f){if(_0x8607bf[_0x3188('0x7c')]['id']){delete _0x8607bf[_0x3188('0x7c')]['id'];}return db['ChatInteraction'][_0x3188('0x72')]({'where':{'id':_0x8607bf[_0x3188('0xb4')]['id']}})['then'](handleEntityNotFound(_0x4a2d1f,null))[_0x3188('0x22')](saveUpdates(_0x8607bf[_0x3188('0x7c')],null))['then'](respondWithResult(_0x4a2d1f,null))['catch'](handleError(_0x4a2d1f,null));};exports['abandon']=function(_0x4c18de,_0x2028b6,_0x282354){if(_0x4c18de[_0x3188('0x7c')]['id']){delete _0x4c18de[_0x3188('0x7c')]['id'];}return db[_0x3188('0x46')][_0x3188('0x72')]({'where':{'id':_0x4c18de['params']['id']}})[_0x3188('0x22')](function(_0x528aea){if(!_0x528aea){logger[_0x3188('0x26')](_0x3188('0xca'),_0x3188('0xcb'),0x194,_0x3188('0xcc'));_0x2028b6[_0x3188('0x2d')](0x194);}else{if(_0x528aea[_0x3188('0x7a')]){throw new db[(_0x3188('0x20'))][(_0x3188('0xc3'))]('Interaction\x20already\x20assigned');}}return _0x528aea;})[_0x3188('0x22')](function(_0x203b1c){if(_0x203b1c){return _0x203b1c[_0x3188('0x39')]({'closed':_0x4c18de['body'][_0x3188('0xcd')],'disposition':_0x4c18de['body']['disposition']})[_0x3188('0x22')](function(_0x48b4ac){return _0x48b4ac;});}})['then'](function(_0x8a3be9){return respondWithRpcPromise(_0x3188('0xce'),_0x3188('0xcb'),_0x4c18de[_0x3188('0x7c')],client9004);})[_0x3188('0x22')](respondWithResult(_0x2028b6,null))[_0x3188('0x2c')](handleError(_0x2028b6,null));};exports[_0x3188('0xcf')]=function(_0x43beaf,_0x5c95df,_0x55d345){_0x43beaf['body'][_0x3188('0x3c')]=_0x43beaf[_0x3188('0xd0')][_0x3188('0xd1')];_0x43beaf[_0x3188('0x7c')][_0x3188('0xd2')]=_0x43beaf[_0x3188('0xd0')][_0x3188('0xd3')];_0x43beaf['body'][_0x3188('0x48')]=_0x43beaf[_0x3188('0xd0')][_0x3188('0xd4')];return db[_0x3188('0xd5')][_0x3188('0xb8')](_0x43beaf[_0x3188('0x7c')])['then'](respondWithResult(_0x5c95df,0xc9))[_0x3188('0x2c')](handleError(_0x5c95df,null));};exports[_0x3188('0xd6')]=function(_0x393954,_0x4af360,_0x39fe8e){return db[_0x3188('0x46')]['findOne']({'where':{'id':_0x393954['params']['id']},'raw':!![]})[_0x3188('0x22')](handleEntityNotFound(_0x4af360,null))[_0x3188('0x22')](function(_0x759c96){if(_0x759c96){if(_0x759c96[_0x3188('0xcd')]){return _0x4af360[_0x3188('0x2e')](0x193)[_0x3188('0x30')]({'status':0x193,'message':_0x3188('0xd7')});}return db[_0x3188('0xd5')][_0x3188('0xbb')]({'where':{'id':_0x393954[_0x3188('0x4b')][_0x3188('0xd8')]},'raw':!![]})[_0x3188('0x22')](handleEntityNotFound(_0x4af360,null));}})[_0x3188('0x22')](function(_0x5706c4){if(_0x5706c4){return _0x4af360['download'](path[_0x3188('0xd9')](config[_0x3188('0xda')],_0x3188('0xdb'),_0x5706c4[_0x3188('0xd2')]));}})[_0x3188('0x2c')](handleError(_0x4af360,null));};exports[_0x3188('0xdc')]=function(_0x59504e,_0x3a57f6){var _0x57599d=null;var _0x5a9793=null;var _0x1d2ad6=null;var _0x40dd00=null;if(_0x59504e[_0x3188('0x7c')]['id']){delete _0x59504e['body']['id'];}if(_0x59504e[_0x3188('0x7c')][_0x3188('0xdd')]){_0x40dd00=path[_0x3188('0xd9')](config[_0x3188('0xda')],_0x3188('0xde'),util['format'](_0x3188('0xdf'),Date[_0x3188('0xe0')]()));_0x59504e[_0x3188('0x7c')][_0x3188('0xe1')]=_0x40dd00;}return db['ChatInteraction'][_0x3188('0x72')]({'where':{'id':_0x59504e['params']['id']},'include':[{'model':db[_0x3188('0xc7')],'as':_0x3188('0xe2'),'include':[{'model':db[_0x3188('0x77')],'as':_0x3188('0x77')}]}]})['then'](handleEntityNotFound(_0x3a57f6,null))[_0x3188('0x22')](saveUpdates(_0x59504e[_0x3188('0x7c')],null))[_0x3188('0x22')](function(_0x4f0bdf){if(_0x4f0bdf){_0x57599d=_0x4f0bdf;return db[_0x3188('0xbc')][_0x3188('0x72')]({'where':{'id':_0x57599d['ChatWebsiteId']}});}})[_0x3188('0x22')](function(_0x4c1e27){if(_0x4c1e27){_0x1d2ad6=_0x4c1e27;return db[_0x3188('0xe3')][_0x3188('0x72')]({'where':{'id':_0x57599d['ContactId']}});}})[_0x3188('0x22')](function(_0x2dc3c2){if(_0x2dc3c2){_0x5a9793=_0x2dc3c2;if(_0x40dd00){var _0x2f4272=null;for(var _0x1f1d1e=0x1;_0x1f1d1e<_0x57599d['Messages'][_0x3188('0x69')];++_0x1f1d1e){_0x2f4272=_0x57599d['Messages'][_0x1f1d1e];var _0x483827=_0x2f4272[_0x3188('0x7a')]?util[_0x3188('0xe4')](_0x3188('0xe5'),_0x1d2ad6[_0x3188('0xe6')],_0x2f4272[_0x3188('0x7a')]):'System';var _0x462b12=_0x59504e[_0x3188('0x7c')][_0x3188('0xe7')]||util[_0x3188('0xe4')](_0x3188('0xe5'),_0x3188('0xe8'),_0x2f4272[_0x3188('0x73')]);switch(_0x1d2ad6[_0x3188('0xe9')]){case _0x3188('0xea'):_0x483827=_0x2f4272[_0x3188('0x7a')]?util[_0x3188('0xe4')](_0x3188('0xe5'),_0x1d2ad6[_0x3188('0xe6')],_0x2f4272[_0x3188('0x7a')]):_0x3188('0xeb');break;case _0x3188('0xec'):_0x483827=_0x2f4272[_0x3188('0x7a')]?_0x2f4272[_0x3188('0x77')][_0x3188('0xed')]||_0x2f4272[_0x3188('0x77')][_0x3188('0x40')]:_0x3188('0xeb');break;case _0x3188('0xee'):_0x483827=_0x2f4272[_0x3188('0x7a')]?_0x2f4272['User'][_0x3188('0x40')]:_0x3188('0xeb');break;default:_0x483827=_0x2f4272[_0x3188('0x7a')]?util['format'](_0x3188('0xe5'),_0x1d2ad6[_0x3188('0xe6')],_0x2f4272[_0x3188('0x7a')]):'System';}var _0x1dddc5=util[_0x3188('0xe4')](_0x3188('0xef'),moment(_0x2f4272[_0x3188('0x82')])[_0x3188('0xe4')]('MM/DD/YYYY\x20HH:mm:ss'),_0x2f4272[_0x3188('0xf0')]==='in'?_0x462b12:_0x483827,_0x2f4272[_0x3188('0x7c')]);if(!_0x2f4272[_0x3188('0xf1')]){fs[_0x3188('0xf2')](_0x40dd00,_0x1dddc5);}}return db[_0x3188('0xf3')][_0x3188('0xbb')]({'where':{'service':!![]},'include':[{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]});}}})[_0x3188('0x22')](function(_0x6e1592){if(_0x6e1592&&_0x6e1592[_0x3188('0xf4')]&&_0x59504e[_0x3188('0x7c')]){var _0x3eaa43={'tls':{'rejectUnauthorized':![]}};if(_0x6e1592[_0x3188('0xf4')][_0x3188('0xf5')]){_0x3eaa43['service']=_0x6e1592[_0x3188('0xf4')]['service'];}else{_0x3eaa43['host']=_0x6e1592[_0x3188('0xf4')][_0x3188('0xf6')];_0x3eaa43['port']=_0x6e1592[_0x3188('0xf4')][_0x3188('0xf7')];_0x3eaa43[_0x3188('0xf8')]=_0x6e1592[_0x3188('0xf4')][_0x3188('0xf8')];}if(_0x6e1592['Smtp'][_0x3188('0xf9')]){_0x3eaa43['auth']={'user':_0x6e1592[_0x3188('0xf4')][_0x3188('0x9c')],'pass':_0x6e1592[_0x3188('0xf4')][_0x3188('0xfa')]};}return respondWithRpcPromise(_0x3188('0xfb'),_0x3188('0xfc'),{'account':_0x3eaa43,'message':{'from':util[_0x3188('0xe4')](_0x3188('0xfd'),_0x6e1592[_0x3188('0x3c')],_0x6e1592['email']||_0x6e1592[_0x3188('0xf4')][_0x3188('0x9c')]),'to':_0x59504e[_0x3188('0x7c')][_0x3188('0xdd')],'subject':_0x3188('0xfe'),'text':util[_0x3188('0xe4')]('Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a',_0x59504e[_0x3188('0x7c')][_0x3188('0xdd')]),'attachments':[{'path':_0x40dd00}]}})[_0x3188('0x22')](function(){return _0x57599d;})['catch'](function(_0x1d241a){console[_0x3188('0x26')](_0x1d241a);});}else{return _0x57599d;}})[_0x3188('0x22')](respondWithStatusCode(_0x3a57f6,0xc8))[_0x3188('0x2c')](handleError(_0x3a57f6,null));};exports[_0x3188('0xff')]=function(_0x2eb168,_0x1743f6,_0x52498b){return db[_0x3188('0xc7')][_0x3188('0x72')]({'where':{'id':_0x2eb168[_0x3188('0xb4')]['id']}})[_0x3188('0x22')](handleEntityNotFound(_0x1743f6,null))['then'](function(_0x4ec6aa){if(_0x4ec6aa){return _0x4ec6aa[_0x3188('0xff')](_0x2eb168[_0x3188('0x7c')][_0x3188('0x100')],_[_0x3188('0x101')](_0x2eb168[_0x3188('0x7c')],['ids','id'])||{});}})['then'](respondWithResult(_0x1743f6,null))['catch'](handleError(_0x1743f6,null));};exports['getMessages']=function(_0x466c57,_0x14687d,_0x26a3fc){var _0x3f0132={'raw':![],'where':{}};var _0x27cdb7={};var _0xf4fcb={'count':0x0,'rows':[]};return db[_0x3188('0x46')]['findOne']({'where':{'id':_0x466c57[_0x3188('0xb4')]['id']}})['then'](handleEntityNotFound(_0x14687d,null))[_0x3188('0x22')](function(_0x349c3a){if(_0x349c3a){_0x27cdb7[_0x3188('0x4a')]=_[_0x3188('0xb5')](db['ChatMessage'][_0x3188('0x47')]);_0x27cdb7[_0x3188('0x4b')]=_[_0x3188('0xb5')](_0x466c57[_0x3188('0x4b')]);_0x27cdb7[_0x3188('0x4c')]=_[_0x3188('0x4d')](_0x27cdb7[_0x3188('0x4a')],_0x27cdb7[_0x3188('0x4b')]);_0x3f0132[_0x3188('0x4f')]=_[_0x3188('0x4d')](_0x27cdb7['model'],qs['fields'](_0x466c57[_0x3188('0x4b')][_0x3188('0x4e')]));_0x3f0132[_0x3188('0x4f')]=_0x3f0132[_0x3188('0x4f')][_0x3188('0x69')]?_0x3f0132[_0x3188('0x4f')]:_0x27cdb7['model'];if(!_0x466c57[_0x3188('0x4b')][_0x3188('0x50')](_0x3188('0x51'))){_0x3f0132[_0x3188('0x33')]=qs[_0x3188('0x33')](_0x466c57['query'][_0x3188('0x33')]);_0x3f0132['offset']=qs[_0x3188('0x32')](_0x466c57[_0x3188('0x4b')][_0x3188('0x32')]);}_0x3f0132['order']=qs['sort'](_0x466c57['query'][_0x3188('0x53')]);_0x3f0132['where']=qs[_0x3188('0x4c')](_[_0x3188('0x54')](_0x466c57['query'],_0x27cdb7[_0x3188('0x4c')]));_0x3f0132[_0x3188('0x80')][_0x3188('0xb2')]=_0x349c3a['id'];if(_0x466c57[_0x3188('0x4b')][_0x3188('0x8a')]){_0x3f0132[_0x3188('0x80')]=_[_0x3188('0xa1')](_0x3f0132[_0x3188('0x80')],{'$or':_[_0x3188('0x3f')](_0x3f0132[_0x3188('0x4f')],function(_0x1ce0d5){var _0x1c9a2a={};_0x1c9a2a[_0x1ce0d5]={'$like':'%'+_0x466c57[_0x3188('0x4b')][_0x3188('0x8a')]+'%'};return _0x1c9a2a;})});}if(_0x466c57[_0x3188('0x4b')][_0x3188('0x102')]){var _0x42362f=_0x466c57[_0x3188('0x4b')][_0x3188('0x102')][_0x3188('0x43')](',');var _0x284710={};_0x284710[_0x42362f[0x0]]={'$gte':moment(_0x42362f[0x1])[_0x3188('0xe4')](_0x3188('0x103'))};_0x3f0132[_0x3188('0x80')]=_[_0x3188('0xa1')](_0x3f0132[_0x3188('0x80')],_0x284710);}_0x3f0132=_[_0x3188('0xa1')]({},_0x3f0132,_0x466c57[_0x3188('0xb7')]);return db[_0x3188('0xc7')][_0x3188('0x31')]({'where':_0x3f0132['where']})[_0x3188('0x22')](function(_0x29a690){_0xf4fcb['count']=_0x29a690;if(_0x466c57[_0x3188('0x4b')][_0x3188('0xb6')]){_0x3f0132[_0x3188('0x104')]=[{'all':!![]}];}return db[_0x3188('0xc7')][_0x3188('0x105')](_0x3f0132);})[_0x3188('0x22')](function(_0x477fd3){_0xf4fcb['rows']=_0x477fd3;return _0xf4fcb;});}})[_0x3188('0x22')](respondWithFilteredResult(_0x14687d,_0x3f0132))[_0x3188('0x2c')](handleError(_0x14687d,null));};exports[_0x3188('0x106')]=function(_0x304d45,_0x12b058,_0x233112){var _0x168e37={'where':{}},_0x4571ae={},_0x1e767a={'count':0x0,'rows':[]};return db[_0x3188('0x46')][_0x3188('0xbb')]({'where':{'id':_0x304d45[_0x3188('0xb4')]['id']}})['then'](handleEntityNotFound(_0x12b058,null))['then'](function(_0x262875){if(_0x262875){_0x4571ae['model']=_[_0x3188('0xb5')](db['ChatMessage'][_0x3188('0x47')]);_0x4571ae['query']=_[_0x3188('0xb5')](_0x304d45['query']);_0x4571ae['filters']=_[_0x3188('0x4d')](_0x4571ae[_0x3188('0x4a')],_0x4571ae[_0x3188('0x4b')]);_0x168e37[_0x3188('0x4f')]=_[_0x3188('0x4d')](_0x4571ae['model'],qs[_0x3188('0x4e')](_0x304d45['query']['fields']));_0x168e37['attributes']=_0x168e37[_0x3188('0x4f')][_0x3188('0x69')]?_0x168e37[_0x3188('0x4f')]:_0x4571ae[_0x3188('0x4a')];if(!_0x304d45[_0x3188('0x4b')]['hasOwnProperty'](_0x3188('0x51'))){_0x168e37[_0x3188('0x33')]=qs[_0x3188('0x33')](_0x304d45['query'][_0x3188('0x33')]);_0x168e37[_0x3188('0x32')]=qs[_0x3188('0x32')](_0x304d45[_0x3188('0x4b')]['offset']);}_0x168e37[_0x3188('0x52')]=qs[_0x3188('0x53')](_0x304d45[_0x3188('0x4b')][_0x3188('0x53')]);_0x168e37[_0x3188('0x80')]=qs[_0x3188('0x4c')](_[_0x3188('0x54')](_0x304d45[_0x3188('0x4b')],_0x4571ae[_0x3188('0x4c')]));_0x168e37[_0x3188('0x80')]['ChatInteractionId']=_0x262875['id'];if(_0x304d45[_0x3188('0x4b')][_0x3188('0x8a')]){_0x168e37['where']=_[_0x3188('0xa1')](_0x168e37[_0x3188('0x80')],{'$or':_[_0x3188('0x3f')](_0x168e37['attributes'],function(_0x3253b8){var _0x432d8b={};_0x432d8b[_0x3253b8]={'$like':'%'+_0x304d45[_0x3188('0x4b')][_0x3188('0x8a')]+'%'};return _0x432d8b;})});}_0x168e37[_0x3188('0x80')][_0x3188('0xf1')]=![];if(_0x304d45[_0x3188('0x4b')]['id']){_0x168e37['where']['id']={'$gt':_0x304d45['query']['id']};}_0x168e37=_[_0x3188('0xa1')]({},_0x168e37,_0x304d45[_0x3188('0xb7')]);return db[_0x3188('0xc7')]['count']({'where':_0x168e37['where']})[_0x3188('0x22')](function(_0x261fa1){_0x1e767a[_0x3188('0x31')]=_0x261fa1;_0x168e37[_0x3188('0x104')]=[];if(_0x304d45['query']['includeAgent']){_0x168e37['include'][_0x3188('0x107')]({'model':db['User'],'as':_0x3188('0x77'),'attributes':['id','fullname',_0x3188('0xed')]});}if(_0x304d45[_0x3188('0x4b')][_0x3188('0xb6')]){_0x168e37[_0x3188('0x104')]=[{'all':!![]}];}return db[_0x3188('0xc7')][_0x3188('0x105')](_0x168e37);})[_0x3188('0x22')](function(_0x3887fc){_0x1e767a['rows']=_0x3887fc;return _0x1e767a;});}})[_0x3188('0x22')](respondWithFilteredResult(_0x12b058,_0x168e37))[_0x3188('0x2c')](handleError(_0x12b058,null));};exports[_0x3188('0x108')]=function(_0x5e413f,_0x422c37,_0x29836d){return db['ChatInteraction'][_0x3188('0x72')]({'where':{'id':_0x5e413f[_0x3188('0xb4')]['id']}})[_0x3188('0x22')](handleEntityNotFound(_0x422c37,null))['then'](function(_0x1f413b){if(_0x1f413b){return _0x1f413b[_0x3188('0x109')](_0x5e413f[_0x3188('0x7c')][_0x3188('0x100')],_[_0x3188('0x101')](_0x5e413f[_0x3188('0x7c')],[_0x3188('0x100'),'id'])||{})[_0x3188('0x10a')](function(){return db[_0x3188('0x75')][_0x3188('0x105')]({'attributes':['id','name',_0x3188('0x10b')],'where':{'id':_0x5e413f[_0x3188('0x7c')][_0x3188('0x100')]}});})[_0x3188('0x22')](function(_0x454cee){socket[_0x3188('0x10c')](_0x3188('0x10d'),{'id':Number(_0x5e413f[_0x3188('0xb4')]['id']),'tags':_0x454cee||[]});return{'id':Number(_0x5e413f['params']['id']),'tags':_0x454cee||[]};});}})[_0x3188('0x22')](respondWithResult(_0x422c37,null))['catch'](handleError(_0x422c37,null));};exports[_0x3188('0x10e')]=function(_0x560a72,_0x2d8386,_0x2994a6){return db['ChatInteraction'][_0x3188('0x72')]({'where':{'id':_0x560a72[_0x3188('0xb4')]['id']}})[_0x3188('0x22')](handleEntityNotFound(_0x2d8386,null))[_0x3188('0x22')](function(_0x48357f){if(_0x48357f){return _0x48357f[_0x3188('0x10e')](_0x560a72[_0x3188('0x4b')]['ids']);}})[_0x3188('0x22')](respondWithStatusCode(_0x2d8386,null))[_0x3188('0x2c')](handleError(_0x2d8386,null));};exports['download']=function(_0x2127f7,_0x184232){var _0x3e7e17=moment()['unix']()[_0x3188('0x9f')]();var _0x82566d=path[_0x3188('0xd9')](config['root'],_0x3188('0x10f'),_0x3188('0x110'),'tmp');var _0x27540e=path[_0x3188('0xd9')](config[_0x3188('0xda')],_0x3188('0x10f'),_0x3188('0x110'),_0x3188('0x111'));var _0x1820f3=path[_0x3188('0xd9')](_0x82566d,_0x3e7e17);var _0x14ceef=util[_0x3188('0xe4')]('transcript-%d-%s.zip',_0x2127f7[_0x3188('0xb4')]['id'],_0x3e7e17);var _0x6a7b8e=path[_0x3188('0xd9')](_0x82566d,_0x14ceef);var _0x9e17f0=[];_0x9e17f0['push']({'model':db[_0x3188('0x77')],'as':'User','attributes':['id',_0x3188('0x40')],'raw':!![]});_0x9e17f0[_0x3188('0x107')]({'model':db['CmContact'],'as':'Contact','attributes':['id',_0x3188('0x112'),'lastName'],'raw':!![]});if(_0x2127f7[_0x3188('0x4b')][_0x3188('0x111')]){_0x9e17f0['push']({'model':db[_0x3188('0xd5')],'as':'Attachment','raw':!![]});}var _0x3d1d35=[{'model':db[_0x3188('0xc7')],'as':_0x3188('0xe2'),'attributes':['id',_0x3188('0x7c'),_0x3188('0x82'),_0x3188('0xf0'),_0x3188('0xf1'),_0x3188('0x87')],'include':_0x9e17f0}];_0x3d1d35[_0x3188('0x107')]({'model':db['ChatWebsite'],'as':_0x3188('0x113'),'attributes':['id',_0x3188('0x3c')]});_0x3d1d35[_0x3188('0x107')]({'model':db['User'],'as':_0x3188('0x114'),'attributes':['id',_0x3188('0x40')]});return db[_0x3188('0x46')]['find']({'where':{'id':_0x2127f7['params']['id']},'include':_0x3d1d35})[_0x3188('0x22')](handleEntityNotFound(_0x184232,null))['then'](function(_0x48d482){if(_0x48d482){var _0x52e2e5=_0x48d482['get']({'plain':!![]});fs[_0x3188('0x115')](_0x1820f3);var _0x5d618b={'format':'A4','border':'10px','header':{'height':_0x3188('0x116'),'contents':{'first':_0x3188('0x117')}},'footer':{'height':'30px','contents':{'default':util['format'](_0x3188('0x118'),util[_0x3188('0xe4')]('%s\x20#%d',_0x3188('0x119'),_0x52e2e5['id']),moment()[_0x3188('0xe4')](_0x3188('0x11a'))[_0x3188('0x9f')]())}}};var _0x5ab950={'channel':_0x3188('0x119'),'account':_0x52e2e5[_0x3188('0x113')][_0x3188('0x3c')],'agent':_0x52e2e5[_0x3188('0x114')]?_0x52e2e5['Owner'][_0x3188('0x40')]:'N.A.','createdAt':moment(_0x52e2e5['createdAt'])[_0x3188('0xe4')]('YYYY-MM-DD\x20HH:mm:ss')[_0x3188('0x9f')](),'closedAt':_0x52e2e5[_0x3188('0xcd')]?moment(_0x52e2e5[_0x3188('0x11b')])[_0x3188('0xe4')](_0x3188('0x103'))[_0x3188('0x9f')]():'','disposition':_0x52e2e5['disposition'],'chatInfo':{'browser':_0x52e2e5['browserName'],'os':_0x52e2e5['osName'],'referer':_0x52e2e5[_0x3188('0x11c')],'customerIp':_0x52e2e5['customerIp'],'customerPort':_0x52e2e5['customerPort']?_0x52e2e5[_0x3188('0x11d')]:_0x3188('0x11e')},'messages':_(_0x52e2e5['Messages'])[_0x3188('0x11f')]()[_0x3188('0x8a')]({'secret':![]})['map'](function(_0x1f83f3){if(_0x1f83f3['Attachment']){var _0x279885=path['join'](_0x27540e,_0x1f83f3[_0x3188('0xd5')][_0x3188('0xd2')]);if(fs[_0x3188('0x120')](_0x279885)){fs[_0x3188('0x121')](_0x279885)['pipe'](fs['createWriteStream'](path[_0x3188('0xd9')](_0x1820f3,_0x1f83f3['Attachment'][_0x3188('0xd2')])));}}return{'date':moment(_0x1f83f3[_0x3188('0x82')])['format'](_0x3188('0x103'))['toString'](),'sender':_0x1f83f3[_0x3188('0xf0')]===_0x3188('0xc6')?_0x1f83f3[_0x3188('0x77')]?_0x1f83f3[_0x3188('0x77')][_0x3188('0x40')]:_0x3188('0xeb'):_0x1f83f3['Contact']['firstName']+(_0x1f83f3[_0x3188('0x6e')][_0x3188('0x122')]?'\x20'+_0x1f83f3[_0x3188('0x6e')][_0x3188('0x122')]:''),'body':_0x1f83f3[_0x3188('0xd5')]?_0x1f83f3[_0x3188('0xd5')][_0x3188('0xd2')]:_0x1f83f3['body'],'direction':_0x1f83f3[_0x3188('0xf0')]==='out'?'A':'C','secret':_0x1f83f3[_0x3188('0xf1')],'read':_0x1f83f3[_0x3188('0x87')],'attachment':_0x1f83f3[_0x3188('0xd5')]};})[_0x3188('0x6b')]()};return ejs[_0x3188('0x123')](path[_0x3188('0xd9')](config[_0x3188('0xda')],_0x3188('0x10f'),_0x3188('0x124'),_0x3188('0x125')),{'interaction':_0x5ab950})[_0x3188('0x22')](function(_0x86e17b){return new BPromise(function(_0x43a38f,_0x156798){pdf['create'](_0x86e17b,_0x5d618b)[_0x3188('0x126')](path[_0x3188('0xd9')](_0x1820f3,'transcript-'+_0x52e2e5['id']+'-'+_0x3e7e17+_0x3188('0x127')),function(_0x3bf24,_0x3ea0c8){if(_0x3bf24)return _0x156798(_0x3bf24);_0x43a38f(_0x3ea0c8);});});})[_0x3188('0x22')](function(){return new BPromise(function(_0x1b805e,_0x302e3d){zipdir(_0x1820f3,{'saveTo':_0x6a7b8e},function(_0x5f3fca,_0xf58395){if(_0x5f3fca)return _0x302e3d(_0x5f3fca);return _0x1b805e(_0xf58395);});})[_0x3188('0x22')](function(){return new BPromise(function(_0x4f5100,_0x35a0e2){rimraf(_0x1820f3,function(_0x1e8ff9){if(_0x1e8ff9)_0x35a0e2(_0x1e8ff9);return _0x4f5100();});});})['then'](function(){return _0x184232[_0x3188('0x128')](_0x6a7b8e,_0x14ceef,function(_0x41e1be){if(_0x41e1be){console[_0x3188('0x129')](_0x3188('0x12a'),_0x41e1be);}else{fs[_0x3188('0x12b')](_0x6a7b8e);}});});});}else{return _0x184232[_0x3188('0x2d')](0xc8);}})[_0x3188('0x2c')](handleError(_0x184232,null));};