870e5df62e557376bd31b0980f9676321c6c3760
[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 _0xa057=['../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../mysqldb','redis','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','request','then','request\x20sent','ChatInteraction,\x20%s,\x20%s,\x20%s','code','error','ChatInteraction,\x20%s,\x20%s','message','info','result','catch','sendStatus','status','end','count','offset','limit','set','json','reject','save','destroy','stack','name','TagIds','Tags','split','forEach','push','index','map','ChatInteraction','fieldName','type','key','keys','query','intersection','model','attributes','fields','length','nolimit','sort','where','pick','filters','select','field','from','tools_tags','u.id','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','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','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','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?','find','UserId','body','some','compact','isEmpty','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','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','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','DESC','resolve','ChatWebsiteId','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.internal','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','rows','includeAll','include','merge','options','create','update','params','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','Error\x20in\x20Vidaoo\x20configuration','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandon','entity\x20not\x20found','ValidationError','Interaction\x20already\x20assigned','disposition','AbandonInteraction','attachmentUpload','file','originalname','basename','filename','mimetype','Attachment','attachmentDownload','closed','Unauthorized','join','mailTranscript','root','format','transcript-%s.txt','now','pathTranscript','CmContact','Messages','%s%d','agentAlias','System','Visitor','agentIdentifier','website_alias','agent_alias','alias','fullname','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','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','rawAttributes','hasOwnProperty','YYYY-MM-DD\x20HH:mm:ss','getMyMessages','includeAgent','findAll','addTags','setTags','spread','color','emit','chatInteractionTags:save','removeTags','download','server','files','tmp','attachments','transcript-%d-%s.zip','lastName','secret','Account','mkdirSync','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','YYYY-MM-DD','Chat','Owner','N.A.','closedAt','browserName','osName','referer','customerIp','customerPort','tail','createReadStream','pipe','out','Contact','firstName','toFile','transcript-','.pdf','log','err','unlinkSync','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','ejs','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x10fc4a,_0x5a0acf){var _0x1c4ebf=function(_0x497788){while(--_0x497788){_0x10fc4a['push'](_0x10fc4a['shift']());}};_0x1c4ebf(++_0x5a0acf);}(_0xa057,0x123));var _0x7a05=function(_0x276111,_0x13b30f){_0x276111=_0x276111-0x0;var _0x482442=_0xa057[_0x276111];return _0x482442;};'use strict';var pdf=require(_0x7a05('0x0'));var emlformat=require(_0x7a05('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x7a05('0x2'));var jsonpatch=require(_0x7a05('0x3'));var rp=require(_0x7a05('0x4'));var moment=require('moment');var BPromise=require(_0x7a05('0x5'));var Mustache=require(_0x7a05('0x6'));var util=require('util');var path=require(_0x7a05('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x7a05('0x8'));var fs=require('fs');var _=require(_0x7a05('0x9'));var squel=require(_0x7a05('0xa'));var crypto=require('crypto');var jsforce=require(_0x7a05('0xb'));var deskjs=require(_0x7a05('0xc'));var toCsv=require(_0x7a05('0xd'));var querystring=require('querystring');var Papa=require(_0x7a05('0xe'));var Redis=require(_0x7a05('0xf'));var authService=require(_0x7a05('0x10'));var qs=require(_0x7a05('0x11'));var as=require(_0x7a05('0x12'));var hardwareService=require(_0x7a05('0x13'));var logger=require('../../config/logger')(_0x7a05('0x14'));var utils=require(_0x7a05('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x7a05('0x16'))['db'];config[_0x7a05('0x17')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x7a05('0x18'))(new Redis(config[_0x7a05('0x17')]));require(_0x7a05('0x19'))[_0x7a05('0x1a')](socket);var jayson=require(_0x7a05('0x1b'));var client=jayson[_0x7a05('0x1c')][_0x7a05('0x1d')]({'port':0x232b});var client9004=jayson[_0x7a05('0x1c')]['http']({'port':0x232c});function respondWithRpcPromise(_0x49d016,_0x37d394,_0x8ad482,_0x480c8b){return new BPromise(function(_0x5ad0e6,_0x3b45e9){var _0x4cfd13=_0x480c8b||client;return _0x4cfd13[_0x7a05('0x1e')](_0x49d016,_0x8ad482)[_0x7a05('0x1f')](function(_0x9e6a53){logger['info']('ChatInteraction,\x20%s,\x20%s',_0x37d394,_0x7a05('0x20'));logger['debug'](_0x7a05('0x21'),_0x37d394,_0x7a05('0x20'),JSON['stringify'](_0x9e6a53));if(_0x9e6a53['error']){if(_0x9e6a53['error'][_0x7a05('0x22')]===0x1f4){logger[_0x7a05('0x23')](_0x7a05('0x24'),_0x37d394,_0x9e6a53[_0x7a05('0x23')]['message']);return _0x3b45e9(_0x9e6a53[_0x7a05('0x23')][_0x7a05('0x25')]);}logger[_0x7a05('0x23')]('ChatInteraction,\x20%s,\x20%s',_0x37d394,_0x9e6a53[_0x7a05('0x23')][_0x7a05('0x25')]);return _0x5ad0e6(_0x9e6a53[_0x7a05('0x23')][_0x7a05('0x25')]);}else{logger[_0x7a05('0x26')](_0x7a05('0x24'),_0x37d394,_0x7a05('0x20'));_0x5ad0e6(_0x9e6a53[_0x7a05('0x27')][_0x7a05('0x25')]);}})[_0x7a05('0x28')](function(_0x2c2390){logger['error']('ChatInteraction,\x20%s,\x20%s',_0x37d394,_0x2c2390);_0x3b45e9(_0x2c2390);});});}function respondWithStatusCode(_0x5a2fc5,_0x39fb1c){_0x39fb1c=_0x39fb1c||0xcc;return function(_0x172d79){if(_0x172d79){return _0x5a2fc5[_0x7a05('0x29')](_0x39fb1c);}return _0x5a2fc5[_0x7a05('0x2a')](_0x39fb1c)[_0x7a05('0x2b')]();};}function respondWithResult(_0x3406b7,_0x2fafe7){_0x2fafe7=_0x2fafe7||0xc8;return function(_0x1cc98f){if(_0x1cc98f){return _0x3406b7[_0x7a05('0x2a')](_0x2fafe7)['json'](_0x1cc98f);}};}function respondWithFilteredResult(_0x49e37b,_0x20a4f2){return function(_0x57e4e2){if(_0x57e4e2){var _0x4f26bc=_0x57e4e2[_0x7a05('0x2c')],_0x2cd660=_0x20a4f2[_0x7a05('0x2d')],_0x2ceb54=_0x20a4f2['offset']+_0x20a4f2[_0x7a05('0x2e')],_0x76f131;if(_0x2ceb54>=_0x4f26bc){_0x2ceb54=_0x4f26bc;_0x76f131=0xc8;}else{_0x76f131=0xce;}_0x49e37b[_0x7a05('0x2a')](_0x76f131);return _0x49e37b[_0x7a05('0x2f')]('Content-Range',_0x2cd660+'-'+_0x2ceb54+'/'+_0x4f26bc)[_0x7a05('0x30')](_0x57e4e2);}return null;};}function patchUpdates(_0x650099){return function(_0xae8ebe){try{jsonpatch['apply'](_0xae8ebe,_0x650099,!![]);}catch(_0x17579a){return BPromise[_0x7a05('0x31')](_0x17579a);}return _0xae8ebe[_0x7a05('0x32')]();};}function saveUpdates(_0x4919ff,_0x5a8587){return function(_0x3c1b54){if(_0x3c1b54){return _0x3c1b54['update'](_0x4919ff)[_0x7a05('0x1f')](function(_0x41ec2a){return _0x41ec2a;});}return null;};}function removeEntity(_0x560575,_0x3b0d35){return function(_0x195b36){if(_0x195b36){return _0x195b36[_0x7a05('0x33')]()['then'](function(){_0x560575[_0x7a05('0x2a')](0xcc)[_0x7a05('0x2b')]();});}};}function handleEntityNotFound(_0x5a21cc,_0x4828c1){return function(_0x40ed80){if(!_0x40ed80){_0x5a21cc['sendStatus'](0x194);}return _0x40ed80;};}function handleError(_0x5ec5e1,_0x3de609){_0x3de609=_0x3de609||0x1f4;return function(_0x423418){logger['error'](_0x423418[_0x7a05('0x34')]);if(_0x423418[_0x7a05('0x35')]){delete _0x423418[_0x7a05('0x35')];}_0x5ec5e1[_0x7a05('0x2a')](_0x3de609)['send'](_0x423418);};}function getInteractionUsers(_0x44ca67,_0x2a9edd){return new BPromise(function(_0x460a49,_0x418fe7){try{if(_0x2a9edd[_0x44ca67['id']]){_0x44ca67['Users']=_['map'](_0x2a9edd[_0x44ca67['id']],function(_0x3286df){return{'id':_0x3286df['id'],'fullname':_0x3286df['fullname']};});}}catch(_0x19abe5){_0x418fe7(_0x19abe5);}_0x460a49(_0x44ca67);});}function getInteractionTags(_0x5423fc,_0x4d6da8){return new BPromise(function(_0x2a79a5,_0x3068d0){try{if(_0x5423fc[_0x7a05('0x36')]){_0x5423fc[_0x7a05('0x37')]=[];_0x5423fc[_0x7a05('0x36')][_0x7a05('0x38')](',')[_0x7a05('0x39')](function(_0xcace9b){_0x5423fc[_0x7a05('0x37')][_0x7a05('0x3a')](_0x4d6da8[_0xcace9b]);});}delete _0x5423fc['TagIds'];}catch(_0x51e5a3){_0x3068d0(_0x51e5a3);}_0x2a79a5(_0x5423fc);});}function updateChatInteraction(_0x1d2834,_0x2d090d,_0x45e6fc){return new BPromise(function(_0x1979cd,_0x56391c){return getInteractionUsers(_0x1d2834,_0x45e6fc)[_0x7a05('0x1f')](function(_0x2948fe){return getInteractionTags(_0x2948fe,_0x2d090d);})['then'](function(_0x35078e){_0x1979cd(_0x35078e);})[_0x7a05('0x28')](function(_0x254352){_0x56391c(_0x254352);});});}exports[_0x7a05('0x3b')]=function(_0x10b64a,_0x2f8e0e){var _0x2c74ad={},_0x2c7c89={},_0x48ce5b={'count':0x0,'rows':[]};var _0x411f47=_[_0x7a05('0x3c')](db[_0x7a05('0x3d')]['rawAttributes'],function(_0x12d5f0){return{'name':_0x12d5f0[_0x7a05('0x3e')],'type':_0x12d5f0[_0x7a05('0x3f')][_0x7a05('0x40')]};});_0x2c7c89['model']=_[_0x7a05('0x3c')](_0x411f47,'name');_0x2c7c89['query']=_[_0x7a05('0x41')](_0x10b64a[_0x7a05('0x42')]);_0x2c7c89['filters']=_[_0x7a05('0x43')](_0x2c7c89[_0x7a05('0x44')],_0x2c7c89[_0x7a05('0x42')]);_0x2c74ad[_0x7a05('0x45')]=_[_0x7a05('0x43')](_0x2c7c89[_0x7a05('0x44')],qs[_0x7a05('0x46')](_0x10b64a[_0x7a05('0x42')][_0x7a05('0x46')]));_0x2c74ad[_0x7a05('0x45')]=_0x2c74ad[_0x7a05('0x45')][_0x7a05('0x47')]?_0x2c74ad[_0x7a05('0x45')]:_0x2c7c89[_0x7a05('0x44')];if(!_0x10b64a[_0x7a05('0x42')]['hasOwnProperty'](_0x7a05('0x48'))){_0x2c74ad[_0x7a05('0x2e')]=qs[_0x7a05('0x2e')](_0x10b64a[_0x7a05('0x42')]['limit']);_0x2c74ad[_0x7a05('0x2d')]=qs[_0x7a05('0x2d')](_0x10b64a[_0x7a05('0x42')][_0x7a05('0x2d')]);}_0x2c74ad['order']=qs[_0x7a05('0x49')](_0x10b64a['query'][_0x7a05('0x49')]);_0x2c74ad[_0x7a05('0x4a')]=qs['filters'](_[_0x7a05('0x4b')](_0x10b64a[_0x7a05('0x42')],_0x2c7c89[_0x7a05('0x4c')]),_0x411f47);var _0x4f5c84=[];var _0x1d07f9=squel[_0x7a05('0x4d')]()[_0x7a05('0x4e')]('id')[_0x7a05('0x4e')]('name')[_0x7a05('0x4e')]('color')[_0x7a05('0x4f')](_0x7a05('0x50'));var _0x22e141=squel[_0x7a05('0x4d')]()[_0x7a05('0x4e')](_0x7a05('0x51'))[_0x7a05('0x4e')](_0x7a05('0x52'))[_0x7a05('0x4e')](_0x7a05('0x53'))['from'](_0x7a05('0x54'),'ui')[_0x7a05('0x55')](_0x7a05('0x56'),'u',_0x7a05('0x57'));var _0x45ee6e=squel[_0x7a05('0x4d')]()[_0x7a05('0x4f')]('chat_interactions','i')[_0x7a05('0x55')](_0x7a05('0x58'),'c',_0x7a05('0x59'))['left_join']('users','o',_0x7a05('0x5a'))[_0x7a05('0x55')]('chat_websites','a',_0x7a05('0x5b'))[_0x7a05('0x55')](_0x7a05('0x5c'),'me',_0x7a05('0x5d'))[_0x7a05('0x55')](_0x7a05('0x5e'),'it',_0x7a05('0x5f'))['left_join'](_0x7a05('0x50'),'t',_0x7a05('0x60'));var _0x10b4f6=squel[_0x7a05('0x61')]();var _0x58ff5=[];var _0x28ba93=squel[_0x7a05('0x61')]();var _0x33f7a0;if(_0x10b64a[_0x7a05('0x42')][_0x7a05('0x62')]){_0x33f7a0=as[_0x7a05('0x63')](_0x10b64a['query'][_0x7a05('0x62')]);var _0x142d9a=_0x33f7a0[_0x7a05('0x64')];for(var _0x33f320=0x0;_0x33f320<_0x33f7a0[_0x7a05('0x65')]['length'];_0x33f320++){var _0x5f0669=_0x33f7a0[_0x7a05('0x65')][_0x33f320];var _0x5f0feb='i';var _0x53afb4=_['find'](_0x411f47,[_0x7a05('0x35'),_0x5f0669[_0x7a05('0x4e')]]);if(!_0x53afb4){switch(_0x5f0669['field']){case _0x7a05('0x66'):if(_0x5f0669[_0x7a05('0x67')]==0x1){_0x45ee6e[_0x7a05('0x68')]('`'+_0x5f0669[_0x7a05('0x4e')]+_0x7a05('0x69'));}else{_0x45ee6e[_0x7a05('0x68')]('`'+_0x5f0669[_0x7a05('0x4e')]+_0x7a05('0x6a'));}break;case'Contact':if(_0x5f0669[_0x7a05('0x6b')]===_0x7a05('0x6c')){if(_0x5f0669[_0x7a05('0x67')][_0x7a05('0x38')]('\x20')['length']>0x1){_0x10b4f6[_0x142d9a](_0x7a05('0x6d'),qs[_0x7a05('0x6e')](_0x5f0669['value']),null);}else{var _0x5e618f='%'+_0x5f0669['value']+'%';_0x10b4f6[_0x142d9a](_0x7a05('0x6f'),_0x5e618f,_0x5e618f,_0x5e618f);}}else{_0x53afb4=_['find'](_0x411f47,['name',_0x7a05('0x70')]);_0x5f0669['field']=_0x7a05('0x70');_0x4d86af=as[_0x7a05('0x71')](_0x5f0feb,_0x53afb4[_0x7a05('0x3f')],_0x5f0669);_0x10b4f6[_0x142d9a](_0x4d86af[_0x7a05('0x72')],_0x4d86af[_0x7a05('0x67')][_0x7a05('0x73')],_0x4d86af[_0x7a05('0x67')][_0x7a05('0x2b')]);}break;case _0x7a05('0x74'):var _0x409b1a=_0x5f0669[_0x7a05('0x67')][_0x7a05('0x38')](',')['map'](function(_0x452970){return Number(_0x452970);});_0x409b1a[_0x7a05('0x39')](function(_0x1b2143){_0x28ba93['or'](_0x7a05('0x75'),'%,'+_0x1b2143+',%');});_0x58ff5=_[_0x7a05('0x76')](_0x58ff5,_0x409b1a);break;case _0x7a05('0x77'):if(_0x5f0669[_0x7a05('0x6b')]===_0x7a05('0x6c')){_0x10b4f6[_0x142d9a](_0x7a05('0x78'),'%'+_0x5f0669[_0x7a05('0x67')]+'%',null);}else{_0x53afb4=_[_0x7a05('0x79')](_0x411f47,[_0x7a05('0x35'),_0x7a05('0x7a')]);_0x5f0669[_0x7a05('0x4e')]='UserId';_0x4d86af=as['buildExpression'](_0x5f0feb,_0x53afb4[_0x7a05('0x3f')],_0x5f0669);_0x10b4f6[_0x142d9a](_0x4d86af[_0x7a05('0x72')],_0x4d86af[_0x7a05('0x67')]['start'],_0x4d86af['value'][_0x7a05('0x2b')]);}break;case _0x7a05('0x7b'):_0x4d86af=as[_0x7a05('0x71')]('me',null,_0x5f0669);_0x10b4f6[_0x142d9a](_0x4d86af['text'],_0x4d86af[_0x7a05('0x67')]['start'],_0x4d86af[_0x7a05('0x67')]['end']);break;}}else{var _0x4d86af=as[_0x7a05('0x71')](_0x5f0feb,_0x53afb4[_0x7a05('0x3f')],_0x5f0669);_0x10b4f6[_0x142d9a](_0x4d86af[_0x7a05('0x72')],_0x4d86af['value'][_0x7a05('0x73')],_0x4d86af[_0x7a05('0x67')]['end']);}}}else{var _0x3e9dff=_(_0x10b64a[_0x7a05('0x42')])[_0x7a05('0x41')]()[_0x7a05('0x3c')](function(_0x418f4a){return _[_0x7a05('0x7c')](_0x411f47,[_0x7a05('0x35'),_0x418f4a])?_0x418f4a:undefined;})[_0x7a05('0x7d')]()[_0x7a05('0x67')]();if(!_[_0x7a05('0x7e')](_0x3e9dff)){_0x3e9dff['forEach'](function(_0x1cf250){if(_0x1cf250==='ChatWebsiteId'){_0x45ee6e[_0x7a05('0x4a')](_0x7a05('0x7f'),[][_0x7a05('0x80')](_0x10b64a[_0x7a05('0x42')][_0x1cf250]));}else if(_0x1cf250===_0x7a05('0x81')){var _0x4d37e6=JSON['parse'](_0x10b64a['query'][_0x1cf250])['$gte'];var _0xc8c61a=JSON['parse'](_0x10b64a[_0x7a05('0x42')][_0x1cf250])[_0x7a05('0x82')];_0x45ee6e['where'](_0x7a05('0x83'),_0x4d37e6,_0xc8c61a);}else{if(_0x10b64a['query'][_0x1cf250]===_0x7a05('0x84')){_0x45ee6e[_0x7a05('0x4a')]('i.'+_0x1cf250+_0x7a05('0x85'));}else{_0x45ee6e['where']('i.'+_0x1cf250+_0x7a05('0x86'),_0x10b64a['query'][_0x1cf250]);}}});}if(_0x10b64a[_0x7a05('0x42')][_0x7a05('0x87')]){if(_0x10b64a[_0x7a05('0x42')][_0x7a05('0x87')]==0x1){_0x45ee6e[_0x7a05('0x68')](_0x7a05('0x88'));}else{_0x45ee6e['having']('`unreadMessages`\x20>\x200');}}if(_0x10b64a['query'][_0x7a05('0x89')]){_0x58ff5=_['isArray'](_0x10b64a[_0x7a05('0x42')][_0x7a05('0x89')])?_0x10b64a['query'][_0x7a05('0x89')]:new Array(_0x10b64a[_0x7a05('0x42')][_0x7a05('0x89')]);_0x58ff5[_0x7a05('0x39')](function(_0x31f7fa){_0x28ba93['or'](_0x7a05('0x75'),'%,'+_0x31f7fa+',%');});}if(_0x10b64a['query'][_0x7a05('0x8a')]){var _0xfd9395=_0x10b64a['query'][_0x7a05('0x8a')][_0x7a05('0x8b')]('\x5c','\x5c\x5c')[_0x7a05('0x8b')]('\x27\x27',_0x7a05('0x8c'));if(qs[_0x7a05('0x8d')](_0xfd9395)){_0x10b4f6['or'](_0x7a05('0x8e'),_0xfd9395+'%');}else{_0x10b4f6['or'](_0x7a05('0x8f'),qs['getFullTextValue'](_0xfd9395))['or'](_0x7a05('0x90'),_0xfd9395+'%');}}}_0x45ee6e[_0x7a05('0x4a')](_0x10b4f6);_0x45ee6e[_0x7a05('0x91')](_0x7a05('0x92'));var _0x374735={'type':db[_0x7a05('0x93')][_0x7a05('0x94')][_0x7a05('0x95')],'raw':!![]};var _0x40bbaf=_0x45ee6e['clone']();_0x40bbaf[_0x7a05('0x4e')](_0x7a05('0x92'));_0x40bbaf[_0x7a05('0x4e')](_0x7a05('0x96'),_0x7a05('0x66'));if(_0x2c74ad[_0x7a05('0x97')]){_0x2c74ad['order']['forEach'](function(_0x56ae0d){_0x45ee6e['order']('i.'+_0x56ae0d[0x0],_0x56ae0d[0x1]===_0x7a05('0x98')?![]:!![]);});}if(!_[_0x7a05('0x7e')](_0x58ff5)){_0x45ee6e[_0x7a05('0x68')](_0x28ba93);_0x40bbaf[_0x7a05('0x4a')]('t.id\x20IN\x20?',_0x58ff5);}BPromise[_0x7a05('0x99')]()[_0x7a05('0x1f')](function(){if(!_0x33f7a0){if(_0x10b64a[_0x7a05('0x42')][_0x7a05('0x9a')]||_0x10b64a['query']['journey'])return;_0x40bbaf[_0x7a05('0x4a')](_0x7a05('0x9b'));_0x45ee6e[_0x7a05('0x4a')](_0x7a05('0x9b'));return;}return _0x10b64a[_0x7a05('0x9c')]['getChatWebsites']({'attributes':['id'],'raw':!![]})[_0x7a05('0x1f')](function(_0x51a993){if(_['isEmpty'](_0x51a993)){_0x40bbaf[_0x7a05('0x4a')](_0x7a05('0x9d'));_0x45ee6e[_0x7a05('0x4a')]('i.ChatWebsiteId\x20IS\x20NULL');}else{_0x40bbaf[_0x7a05('0x4a')]('i.ChatWebsiteId\x20IN\x20?',_[_0x7a05('0x3c')](_0x51a993,'id'));_0x45ee6e[_0x7a05('0x4a')](_0x7a05('0x7f'),_[_0x7a05('0x3c')](_0x51a993,'id'));}});})[_0x7a05('0x1f')](function(){db[_0x7a05('0x9e')]['query'](_0x40bbaf[_0x7a05('0x9f')](),_0x374735)[_0x7a05('0x1f')](function(_0x45d2f2){_0x48ce5b['count']=_0x45d2f2[_0x7a05('0x47')];if(_0x48ce5b[_0x7a05('0x2c')]===0x0)return[];return db['sequelize'][_0x7a05('0x42')](_0x1d07f9['toString'](),_0x374735)[_0x7a05('0x1f')](function(_0x38576f){_0x4f5c84=_[_0x7a05('0xa0')](_0x38576f,'id');_0x374735=_['merge'](_0x374735,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x10b64a[_0x7a05('0x42')][_0x7a05('0x46')]){_0x2c74ad[_0x7a05('0x45')][_0x7a05('0x39')](function(_0x2061f2){_0x45ee6e['field']('i.'+_0x2061f2);});}else{_0x45ee6e[_0x7a05('0x4e')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x7a05('0x66'));_0x45ee6e[_0x7a05('0x4e')]('a.key',_0x7a05('0xa1'));_0x45ee6e[_0x7a05('0x4e')](_0x7a05('0xa2'),_0x7a05('0xa3'));_0x45ee6e[_0x7a05('0x4e')]('i.*');_0x45ee6e[_0x7a05('0x4e')](_0x7a05('0xa4'),_0x7a05('0xa5'));_0x45ee6e[_0x7a05('0x4e')](_0x7a05('0xa6'),_0x7a05('0xa7'));_0x45ee6e[_0x7a05('0x4e')](_0x7a05('0xa8'),_0x7a05('0xa9'));_0x45ee6e[_0x7a05('0x4e')](_0x7a05('0xaa'),_0x7a05('0xab'));_0x45ee6e[_0x7a05('0x4e')](_0x7a05('0xac'),_0x7a05('0xad'));_0x45ee6e[_0x7a05('0x4e')](_0x7a05('0xae'),_0x7a05('0xaf'));_0x45ee6e[_0x7a05('0x4e')](_0x7a05('0xb0'),'Owner.fullname');_0x45ee6e[_0x7a05('0x4e')]('o.internal',_0x7a05('0xb1'));_0x45ee6e[_0x7a05('0x4e')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x7a05('0x36'));}if(_0x2c74ad['limit'])_0x45ee6e['limit'](_0x2c74ad['limit']);if(_0x2c74ad[_0x7a05('0x2d')])_0x45ee6e[_0x7a05('0x2d')](_0x2c74ad[_0x7a05('0x2d')]);return db[_0x7a05('0x9e')]['query'](_0x45ee6e[_0x7a05('0x9f')](),_0x374735);})[_0x7a05('0x1f')](function(_0x118019){_0x22e141['where'](_0x7a05('0xb2'),_[_0x7a05('0x3c')](_0x118019,'id'));return db['sequelize'][_0x7a05('0x42')](_0x22e141[_0x7a05('0x9f')](),_0x374735)[_0x7a05('0x1f')](function(_0x57cad8){var _0x30bb76=_[_0x7a05('0xb3')](_0x57cad8,_0x7a05('0xb4'));var _0x4fd187=[];_0x118019[_0x7a05('0x39')](function(_0x53cd9c){_0x4fd187[_0x7a05('0x3a')](updateChatInteraction(_0x53cd9c,_0x4f5c84,_0x30bb76));});return BPromise[_0x7a05('0xb5')](_0x4fd187);});});})[_0x7a05('0x1f')](function(_0x5028f2){_0x48ce5b[_0x7a05('0xb6')]=_0x5028f2;return _0x48ce5b;})[_0x7a05('0x1f')](respondWithFilteredResult(_0x2f8e0e,_0x2c74ad));})['catch'](handleError(_0x2f8e0e,null));};exports['show']=function(_0x54604d,_0x516980){var _0x8a1abd={'raw':![],'where':{'id':_0x54604d['params']['id']}},_0x53b1c2={};_0x53b1c2[_0x7a05('0x44')]=_[_0x7a05('0x41')](db[_0x7a05('0x3d')]['rawAttributes']);_0x53b1c2[_0x7a05('0x42')]=_[_0x7a05('0x41')](_0x54604d[_0x7a05('0x42')]);_0x53b1c2[_0x7a05('0x4c')]=_[_0x7a05('0x43')](_0x53b1c2['model'],_0x53b1c2['query']);_0x8a1abd[_0x7a05('0x45')]=_['intersection'](_0x53b1c2['model'],qs[_0x7a05('0x46')](_0x54604d[_0x7a05('0x42')][_0x7a05('0x46')]));_0x8a1abd[_0x7a05('0x45')]=_0x8a1abd[_0x7a05('0x45')][_0x7a05('0x47')]?_0x8a1abd[_0x7a05('0x45')]:_0x53b1c2['model'];if(_0x54604d[_0x7a05('0x42')][_0x7a05('0xb7')]){_0x8a1abd[_0x7a05('0xb8')]=[{'all':!![]}];}_0x8a1abd=_[_0x7a05('0xb9')]({},_0x8a1abd,_0x54604d[_0x7a05('0xba')]);return db['ChatInteraction'][_0x7a05('0x79')](_0x8a1abd)[_0x7a05('0x1f')](handleEntityNotFound(_0x516980,null))['then'](respondWithResult(_0x516980,null))[_0x7a05('0x28')](handleError(_0x516980,null));};exports[_0x7a05('0xbb')]=function(_0x1cb590,_0x1546eb){return db[_0x7a05('0x3d')]['create'](_0x1cb590[_0x7a05('0x7b')],{})[_0x7a05('0x1f')](respondWithResult(_0x1546eb,0xc9))[_0x7a05('0x28')](handleError(_0x1546eb,null));};exports[_0x7a05('0xbc')]=function(_0x3b33e8,_0x3d0e95){if(_0x3b33e8[_0x7a05('0x7b')]['id']){delete _0x3b33e8[_0x7a05('0x7b')]['id'];}return db[_0x7a05('0x3d')][_0x7a05('0x79')]({'where':{'id':_0x3b33e8[_0x7a05('0xbd')]['id']}})[_0x7a05('0x1f')](handleEntityNotFound(_0x3d0e95,null))['then'](saveUpdates(_0x3b33e8[_0x7a05('0x7b')],null))[_0x7a05('0x1f')](respondWithResult(_0x3d0e95,null))[_0x7a05('0x28')](handleError(_0x3d0e95,null));};exports['destroy']=function(_0x2c0378,_0x18cf65){return db[_0x7a05('0x3d')]['find']({'where':{'id':_0x2c0378[_0x7a05('0xbd')]['id']}})[_0x7a05('0x1f')](handleEntityNotFound(_0x18cf65,null))['then'](removeEntity(_0x18cf65,null))[_0x7a05('0x28')](handleError(_0x18cf65,null));};exports['describe']=function(_0x1c3d6e,_0x16fd4f){return db['ChatInteraction'][_0x7a05('0xbe')]()[_0x7a05('0x1f')](respondWithResult(_0x16fd4f,null))['catch'](handleError(_0x16fd4f,null));};exports[_0x7a05('0xbf')]=function(_0x3f7474,_0x520808){var _0x1b55b2=_0x3f7474[_0x7a05('0xbd')]['id'];var _0x2df2ad;var _0xad01dc;var _0x1d59de;return db[_0x7a05('0x3d')][_0x7a05('0xc0')]({'where':{'id':_0x1b55b2}})[_0x7a05('0x1f')](function(_0x15f8b3){_0x2df2ad=_0x15f8b3;return db[_0x7a05('0xc1')][_0x7a05('0xc0')]({'where':{'id':_0x15f8b3[_0x7a05('0x9a')]},'attributes':['id',_0x7a05('0xc2'),'vidaooEscalation'],'raw':!![]});})[_0x7a05('0x1f')](function(_0x551884){if(_0x551884&&_0x551884[_0x7a05('0xc2')]&&_0x551884[_0x7a05('0xc3')]){_0xad01dc=_0x551884;var _0x104044={'rejectUnauthorized':![],'method':_0x7a05('0xc4'),'uri':_0x7a05('0xc5'),'headers':{'X-APIKEY':_0x551884['vidaooApiKey']},'body':{'name':_0x7a05('0xc6')+_0x1b55b2},'redirect':'follow','json':!![]};return rp(_0x104044);}else{throw new db['Sequelize']['ValidationError'](_0x7a05('0xc7'));}})[_0x7a05('0x1f')](function(_0x520a60){_0x1d59de=_0x520a60;if(_0x1d59de['id']){var _0x19427e={'body':_0x1d59de['join_url'],'ChatWebsiteId':_0xad01dc['id'],'ChatInteractionId':_0x2df2ad['id'],'direction':'out','UserId':_0x3f7474[_0x7a05('0x9c')]['id']};return db[_0x7a05('0xc8')][_0x7a05('0xbb')](_0x19427e,{});}else{throw new db[(_0x7a05('0x93'))]['ValidationError'](_0x7a05('0xc9'));}})[_0x7a05('0x1f')](function(){return _0x2df2ad[_0x7a05('0xca')]({'vidaooSessionId':_0x1d59de['id']});})[_0x7a05('0x1f')](respondWithResult(_0x520808,null))[_0x7a05('0x28')](handleError(_0x520808,null));};exports[_0x7a05('0xcb')]=function(_0x206685,_0x31a5d2){if(_0x206685['body']['id']){delete _0x206685[_0x7a05('0x7b')]['id'];}return db[_0x7a05('0x3d')][_0x7a05('0x79')]({'where':{'id':_0x206685['params']['id']}})[_0x7a05('0x1f')](handleEntityNotFound(_0x31a5d2,null))[_0x7a05('0x1f')](saveUpdates(_0x206685[_0x7a05('0x7b')],null))[_0x7a05('0x1f')](respondWithResult(_0x31a5d2,null))[_0x7a05('0x28')](handleError(_0x31a5d2,null));};exports[_0x7a05('0xcc')]=function(_0x14b6f7,_0x854234,_0x11619a){if(_0x14b6f7[_0x7a05('0x7b')]['id']){delete _0x14b6f7[_0x7a05('0x7b')]['id'];}return db[_0x7a05('0x3d')][_0x7a05('0x79')]({'where':{'id':_0x14b6f7[_0x7a05('0xbd')]['id']}})[_0x7a05('0x1f')](function(_0x4d0dfc){if(!_0x4d0dfc){logger[_0x7a05('0x23')]('abandonInteraction,\x20%s,\x20%s,\x20%s',_0x7a05('0xcc'),0x194,_0x7a05('0xcd'));_0x854234['sendStatus'](0x194);}else{if(_0x4d0dfc['UserId']){throw new db['Sequelize'][(_0x7a05('0xce'))](_0x7a05('0xcf'));}}return _0x4d0dfc;})[_0x7a05('0x1f')](function(_0x58fd31){if(_0x58fd31){return _0x58fd31['update']({'closed':_0x14b6f7[_0x7a05('0x7b')]['closed'],'disposition':_0x14b6f7['body'][_0x7a05('0xd0')]})[_0x7a05('0x1f')](function(_0x2ce6dc){return _0x2ce6dc;});}})[_0x7a05('0x1f')](function(_0x3541ab){return respondWithRpcPromise(_0x7a05('0xd1'),_0x7a05('0xcc'),_0x14b6f7[_0x7a05('0x7b')],client9004);})[_0x7a05('0x1f')](respondWithResult(_0x854234,null))[_0x7a05('0x28')](handleError(_0x854234,null));};exports[_0x7a05('0xd2')]=function(_0x56ff33,_0xce120c,_0x172bcb){_0x56ff33[_0x7a05('0x7b')][_0x7a05('0x35')]=_0x56ff33[_0x7a05('0xd3')][_0x7a05('0xd4')];_0x56ff33['body'][_0x7a05('0xd5')]=_0x56ff33[_0x7a05('0xd3')][_0x7a05('0xd6')];_0x56ff33[_0x7a05('0x7b')][_0x7a05('0x3f')]=_0x56ff33[_0x7a05('0xd3')][_0x7a05('0xd7')];return db[_0x7a05('0xd8')]['create'](_0x56ff33['body'])[_0x7a05('0x1f')](respondWithResult(_0xce120c,0xc9))[_0x7a05('0x28')](handleError(_0xce120c,null));};exports[_0x7a05('0xd9')]=function(_0x53b4c6,_0x7bb1b4,_0x1e6827){return db[_0x7a05('0x3d')]['findOne']({'where':{'id':_0x53b4c6[_0x7a05('0xbd')]['id']},'raw':!![]})[_0x7a05('0x1f')](handleEntityNotFound(_0x7bb1b4,null))[_0x7a05('0x1f')](function(_0x2c46bf){if(_0x2c46bf){if(_0x2c46bf[_0x7a05('0xda')]){return _0x7bb1b4['status'](0x193)[_0x7a05('0x30')]({'status':0x193,'message':_0x7a05('0xdb')});}return db['Attachment'][_0x7a05('0xc0')]({'where':{'id':_0x53b4c6['query']['attachId']},'raw':!![]})[_0x7a05('0x1f')](handleEntityNotFound(_0x7bb1b4,null));}})[_0x7a05('0x1f')](function(_0x15252e){if(_0x15252e){return _0x7bb1b4['download'](path[_0x7a05('0xdc')](config['root'],'server/files/attachments/',_0x15252e[_0x7a05('0xd5')]));}})[_0x7a05('0x28')](handleError(_0x7bb1b4,null));};exports['close']=function(_0x45d5d2,_0x2e9e1e){var _0x43937b=null;var _0x3a9aa2=null;var _0x3e6eb6=null;var _0x260c63=null;if(_0x45d5d2[_0x7a05('0x7b')]['id']){delete _0x45d5d2[_0x7a05('0x7b')]['id'];}if(_0x45d5d2[_0x7a05('0x7b')][_0x7a05('0xdd')]){_0x260c63=path[_0x7a05('0xdc')](config[_0x7a05('0xde')],'server/files/chat/upload/',util[_0x7a05('0xdf')](_0x7a05('0xe0'),Date[_0x7a05('0xe1')]()));_0x45d5d2[_0x7a05('0x7b')][_0x7a05('0xe2')]=_0x260c63;}return db[_0x7a05('0x3d')][_0x7a05('0x79')]({'where':{'id':_0x45d5d2['params']['id']},'include':[{'model':db[_0x7a05('0xc8')],'as':'Messages','include':[{'model':db['User'],'as':_0x7a05('0x77')}]}]})[_0x7a05('0x1f')](handleEntityNotFound(_0x2e9e1e,null))['then'](saveUpdates(_0x45d5d2[_0x7a05('0x7b')],null))[_0x7a05('0x1f')](function(_0x32ac27){if(_0x32ac27){_0x43937b=_0x32ac27;return db[_0x7a05('0xc1')][_0x7a05('0x79')]({'where':{'id':_0x43937b['ChatWebsiteId']}});}})['then'](function(_0xa733ea){if(_0xa733ea){_0x3e6eb6=_0xa733ea;return db[_0x7a05('0xe3')]['find']({'where':{'id':_0x43937b[_0x7a05('0x70')]}});}})[_0x7a05('0x1f')](function(_0x170ad8){if(_0x170ad8){_0x3a9aa2=_0x170ad8;if(_0x260c63){var _0x3e68b5=null;for(var _0x2cdd90=0x1;_0x2cdd90<_0x43937b[_0x7a05('0xe4')]['length'];++_0x2cdd90){_0x3e68b5=_0x43937b['Messages'][_0x2cdd90];var _0x216928=_0x3e68b5[_0x7a05('0x7a')]?util[_0x7a05('0xdf')](_0x7a05('0xe5'),_0x3e6eb6[_0x7a05('0xe6')],_0x3e68b5['UserId']):_0x7a05('0xe7');var _0x447055=_0x45d5d2[_0x7a05('0x7b')]['customer']||util[_0x7a05('0xdf')](_0x7a05('0xe5'),_0x7a05('0xe8'),_0x3e68b5['ContactId']);switch(_0x3e6eb6[_0x7a05('0xe9')]){case _0x7a05('0xea'):_0x216928=_0x3e68b5[_0x7a05('0x7a')]?util[_0x7a05('0xdf')](_0x7a05('0xe5'),_0x3e6eb6[_0x7a05('0xe6')],_0x3e68b5[_0x7a05('0x7a')]):_0x7a05('0xe7');break;case _0x7a05('0xeb'):_0x216928=_0x3e68b5[_0x7a05('0x7a')]?_0x3e68b5['User'][_0x7a05('0xec')]||_0x3e68b5[_0x7a05('0x77')][_0x7a05('0xed')]:_0x7a05('0xe7');break;case _0x7a05('0xee'):_0x216928=_0x3e68b5[_0x7a05('0x7a')]?_0x3e68b5[_0x7a05('0x77')]['fullname']:'System';break;default:_0x216928=_0x3e68b5[_0x7a05('0x7a')]?util['format'](_0x7a05('0xe5'),_0x3e6eb6[_0x7a05('0xe6')],_0x3e68b5['UserId']):_0x7a05('0xe7');}var _0x509ff2=util[_0x7a05('0xdf')](_0x7a05('0xef'),moment(_0x3e68b5['createdAt'])['format'](_0x7a05('0xf0')),_0x3e68b5[_0x7a05('0xf1')]==='in'?_0x447055:_0x216928,_0x3e68b5['body']);if(!_0x3e68b5['secret']){fs['appendFileSync'](_0x260c63,_0x509ff2);}}return db[_0x7a05('0xf2')][_0x7a05('0xc0')]({'where':{'service':!![]},'include':[{'model':db[_0x7a05('0xf3')],'as':'Smtp','raw':!![]}]});}}})[_0x7a05('0x1f')](function(_0x79318){if(_0x79318&&_0x79318[_0x7a05('0xf4')]&&_0x45d5d2[_0x7a05('0x7b')]){var _0x2621ce={'tls':{'rejectUnauthorized':![]}};if(_0x79318[_0x7a05('0xf4')]['service']){_0x2621ce[_0x7a05('0xf5')]=_0x79318[_0x7a05('0xf4')][_0x7a05('0xf5')];}else{_0x2621ce[_0x7a05('0xf6')]=_0x79318[_0x7a05('0xf4')]['host'];_0x2621ce['port']=_0x79318[_0x7a05('0xf4')][_0x7a05('0xf7')];_0x2621ce[_0x7a05('0xf8')]=_0x79318[_0x7a05('0xf4')]['secure'];}if(_0x79318[_0x7a05('0xf4')][_0x7a05('0xf9')]){_0x2621ce[_0x7a05('0xfa')]={'user':_0x79318[_0x7a05('0xf4')][_0x7a05('0x9c')],'pass':_0x79318['Smtp'][_0x7a05('0xfb')]};}return respondWithRpcPromise('SendMail',_0x7a05('0xfc'),{'account':_0x2621ce,'message':{'from':util[_0x7a05('0xdf')](_0x7a05('0xfd'),_0x79318[_0x7a05('0x35')],_0x79318['email']||_0x79318['Smtp'][_0x7a05('0x9c')]),'to':_0x45d5d2[_0x7a05('0x7b')][_0x7a05('0xdd')],'subject':_0x7a05('0xfe'),'text':util[_0x7a05('0xdf')](_0x7a05('0xff'),_0x45d5d2[_0x7a05('0x7b')]['mailTranscript']),'attachments':[{'path':_0x260c63}]}})[_0x7a05('0x1f')](function(){return _0x43937b;})[_0x7a05('0x28')](function(_0x8527f3){console['error'](_0x8527f3);});}else{return _0x43937b;}})['then'](respondWithStatusCode(_0x2e9e1e,0xc8))[_0x7a05('0x28')](handleError(_0x2e9e1e,null));};exports[_0x7a05('0x100')]=function(_0x1e5d12,_0x38c26f,_0x35a10f){return db['ChatMessage']['find']({'where':{'id':_0x1e5d12[_0x7a05('0xbd')]['id']}})[_0x7a05('0x1f')](handleEntityNotFound(_0x38c26f,null))[_0x7a05('0x1f')](function(_0x1e3ef2){if(_0x1e3ef2){return _0x1e3ef2[_0x7a05('0x100')](_0x1e5d12[_0x7a05('0x7b')][_0x7a05('0x101')],_[_0x7a05('0x102')](_0x1e5d12[_0x7a05('0x7b')],['ids','id'])||{});}})['then'](respondWithResult(_0x38c26f,null))[_0x7a05('0x28')](handleError(_0x38c26f,null));};exports['getMessages']=function(_0x10d6ff,_0x42d3d4,_0x29c60f){var _0xb65b8f={'raw':![],'where':{}};var _0x55c019={};var _0x49c3f9={'count':0x0,'rows':[]};return db[_0x7a05('0x3d')][_0x7a05('0xc0')]({'where':{'id':_0x10d6ff['params']['id']}})[_0x7a05('0x1f')](handleEntityNotFound(_0x42d3d4,null))[_0x7a05('0x1f')](function(_0x196e18){if(_0x196e18){_0x55c019[_0x7a05('0x44')]=_[_0x7a05('0x41')](db[_0x7a05('0xc8')][_0x7a05('0x103')]);_0x55c019[_0x7a05('0x42')]=_[_0x7a05('0x41')](_0x10d6ff['query']);_0x55c019[_0x7a05('0x4c')]=_[_0x7a05('0x43')](_0x55c019[_0x7a05('0x44')],_0x55c019[_0x7a05('0x42')]);_0xb65b8f[_0x7a05('0x45')]=_['intersection'](_0x55c019[_0x7a05('0x44')],qs[_0x7a05('0x46')](_0x10d6ff['query'][_0x7a05('0x46')]));_0xb65b8f[_0x7a05('0x45')]=_0xb65b8f[_0x7a05('0x45')][_0x7a05('0x47')]?_0xb65b8f[_0x7a05('0x45')]:_0x55c019[_0x7a05('0x44')];if(!_0x10d6ff[_0x7a05('0x42')][_0x7a05('0x104')](_0x7a05('0x48'))){_0xb65b8f[_0x7a05('0x2e')]=qs['limit'](_0x10d6ff[_0x7a05('0x42')][_0x7a05('0x2e')]);_0xb65b8f['offset']=qs[_0x7a05('0x2d')](_0x10d6ff['query'][_0x7a05('0x2d')]);}_0xb65b8f['order']=qs['sort'](_0x10d6ff[_0x7a05('0x42')][_0x7a05('0x49')]);_0xb65b8f[_0x7a05('0x4a')]=qs[_0x7a05('0x4c')](_[_0x7a05('0x4b')](_0x10d6ff[_0x7a05('0x42')],_0x55c019['filters']));_0xb65b8f['where'][_0x7a05('0xb4')]=_0x196e18['id'];if(_0x10d6ff[_0x7a05('0x42')][_0x7a05('0x8a')]){_0xb65b8f[_0x7a05('0x4a')]=_[_0x7a05('0xb9')](_0xb65b8f['where'],{'$or':_[_0x7a05('0x3c')](_0xb65b8f[_0x7a05('0x45')],function(_0x4e9a02){var _0x2030e3={};_0x2030e3[_0x4e9a02]={'$like':'%'+_0x10d6ff[_0x7a05('0x42')][_0x7a05('0x8a')]+'%'};return _0x2030e3;})});}if(_0x10d6ff[_0x7a05('0x42')]['$gte']){var _0x2dc52b=_0x10d6ff[_0x7a05('0x42')]['$gte'][_0x7a05('0x38')](',');var _0x11ffeb={};_0x11ffeb[_0x2dc52b[0x0]]={'$gte':moment(_0x2dc52b[0x1])[_0x7a05('0xdf')](_0x7a05('0x105'))};_0xb65b8f[_0x7a05('0x4a')]=_[_0x7a05('0xb9')](_0xb65b8f['where'],_0x11ffeb);}_0xb65b8f=_[_0x7a05('0xb9')]({},_0xb65b8f,_0x10d6ff[_0x7a05('0xba')]);return db[_0x7a05('0xc8')][_0x7a05('0x2c')]({'where':_0xb65b8f[_0x7a05('0x4a')]})['then'](function(_0xa84c7f){_0x49c3f9[_0x7a05('0x2c')]=_0xa84c7f;if(_0x10d6ff[_0x7a05('0x42')][_0x7a05('0xb7')]){_0xb65b8f[_0x7a05('0xb8')]=[{'all':!![]}];}return db['ChatMessage']['findAll'](_0xb65b8f);})[_0x7a05('0x1f')](function(_0x16e15c){_0x49c3f9[_0x7a05('0xb6')]=_0x16e15c;return _0x49c3f9;});}})[_0x7a05('0x1f')](respondWithFilteredResult(_0x42d3d4,_0xb65b8f))[_0x7a05('0x28')](handleError(_0x42d3d4,null));};exports[_0x7a05('0x106')]=function(_0x545a23,_0x1cfca9,_0x3d6ccf){var _0x3f4dae={'where':{}},_0xd90042={},_0x2887b4={'count':0x0,'rows':[]};return db[_0x7a05('0x3d')][_0x7a05('0xc0')]({'where':{'id':_0x545a23[_0x7a05('0xbd')]['id']}})['then'](handleEntityNotFound(_0x1cfca9,null))[_0x7a05('0x1f')](function(_0x5d41b2){if(_0x5d41b2){_0xd90042[_0x7a05('0x44')]=_[_0x7a05('0x41')](db[_0x7a05('0xc8')][_0x7a05('0x103')]);_0xd90042['query']=_['keys'](_0x545a23[_0x7a05('0x42')]);_0xd90042[_0x7a05('0x4c')]=_[_0x7a05('0x43')](_0xd90042[_0x7a05('0x44')],_0xd90042[_0x7a05('0x42')]);_0x3f4dae['attributes']=_[_0x7a05('0x43')](_0xd90042[_0x7a05('0x44')],qs[_0x7a05('0x46')](_0x545a23[_0x7a05('0x42')]['fields']));_0x3f4dae[_0x7a05('0x45')]=_0x3f4dae['attributes'][_0x7a05('0x47')]?_0x3f4dae[_0x7a05('0x45')]:_0xd90042[_0x7a05('0x44')];if(!_0x545a23[_0x7a05('0x42')][_0x7a05('0x104')]('nolimit')){_0x3f4dae[_0x7a05('0x2e')]=qs['limit'](_0x545a23[_0x7a05('0x42')][_0x7a05('0x2e')]);_0x3f4dae['offset']=qs[_0x7a05('0x2d')](_0x545a23[_0x7a05('0x42')][_0x7a05('0x2d')]);}_0x3f4dae[_0x7a05('0x97')]=qs[_0x7a05('0x49')](_0x545a23[_0x7a05('0x42')]['sort']);_0x3f4dae[_0x7a05('0x4a')]=qs[_0x7a05('0x4c')](_[_0x7a05('0x4b')](_0x545a23[_0x7a05('0x42')],_0xd90042[_0x7a05('0x4c')]));_0x3f4dae[_0x7a05('0x4a')]['ChatInteractionId']=_0x5d41b2['id'];if(_0x545a23[_0x7a05('0x42')][_0x7a05('0x8a')]){_0x3f4dae[_0x7a05('0x4a')]=_['merge'](_0x3f4dae[_0x7a05('0x4a')],{'$or':_[_0x7a05('0x3c')](_0x3f4dae[_0x7a05('0x45')],function(_0x47bfbc){var _0x1dd55d={};_0x1dd55d[_0x47bfbc]={'$like':'%'+_0x545a23[_0x7a05('0x42')][_0x7a05('0x8a')]+'%'};return _0x1dd55d;})});}_0x3f4dae['where']['secret']=![];if(_0x545a23[_0x7a05('0x42')]['id']){_0x3f4dae['where']['id']={'$gt':_0x545a23[_0x7a05('0x42')]['id']};}_0x3f4dae=_['merge']({},_0x3f4dae,_0x545a23['options']);return db['ChatMessage'][_0x7a05('0x2c')]({'where':_0x3f4dae[_0x7a05('0x4a')]})['then'](function(_0xb9295e){_0x2887b4[_0x7a05('0x2c')]=_0xb9295e;_0x3f4dae[_0x7a05('0xb8')]=[];if(_0x545a23[_0x7a05('0x42')][_0x7a05('0x107')]){_0x3f4dae['include'][_0x7a05('0x3a')]({'model':db[_0x7a05('0x77')],'as':_0x7a05('0x77'),'attributes':['id','fullname','alias']});}if(_0x545a23[_0x7a05('0x42')][_0x7a05('0xb7')]){_0x3f4dae['include']=[{'all':!![]}];}return db[_0x7a05('0xc8')][_0x7a05('0x108')](_0x3f4dae);})[_0x7a05('0x1f')](function(_0xf37e93){_0x2887b4['rows']=_0xf37e93;return _0x2887b4;});}})[_0x7a05('0x1f')](respondWithFilteredResult(_0x1cfca9,_0x3f4dae))['catch'](handleError(_0x1cfca9,null));};exports[_0x7a05('0x109')]=function(_0x4b33bb,_0x3d61fb,_0x3080e4){return db[_0x7a05('0x3d')][_0x7a05('0x79')]({'where':{'id':_0x4b33bb[_0x7a05('0xbd')]['id']}})['then'](handleEntityNotFound(_0x3d61fb,null))[_0x7a05('0x1f')](function(_0x442a86){if(_0x442a86){return _0x442a86[_0x7a05('0x10a')](_0x4b33bb['body']['ids'],_['omit'](_0x4b33bb['body'],[_0x7a05('0x101'),'id'])||{})[_0x7a05('0x10b')](function(){return db[_0x7a05('0x74')]['findAll']({'attributes':['id',_0x7a05('0x35'),_0x7a05('0x10c')],'where':{'id':_0x4b33bb['body'][_0x7a05('0x101')]}});})[_0x7a05('0x1f')](function(_0x52b95a){socket[_0x7a05('0x10d')](_0x7a05('0x10e'),{'id':Number(_0x4b33bb['params']['id']),'tags':_0x52b95a||[]});return{'id':Number(_0x4b33bb[_0x7a05('0xbd')]['id']),'tags':_0x52b95a||[]};});}})[_0x7a05('0x1f')](respondWithResult(_0x3d61fb,null))[_0x7a05('0x28')](handleError(_0x3d61fb,null));};exports['removeTags']=function(_0x309a4b,_0x4b03cc,_0x2a78fb){return db[_0x7a05('0x3d')][_0x7a05('0x79')]({'where':{'id':_0x309a4b[_0x7a05('0xbd')]['id']}})['then'](handleEntityNotFound(_0x4b03cc,null))['then'](function(_0x3c178e){if(_0x3c178e){return _0x3c178e[_0x7a05('0x10f')](_0x309a4b[_0x7a05('0x42')][_0x7a05('0x101')]);}})[_0x7a05('0x1f')](respondWithStatusCode(_0x4b03cc,null))[_0x7a05('0x28')](handleError(_0x4b03cc,null));};exports[_0x7a05('0x110')]=function(_0x4e6f94,_0x5e31a2){var _0x1904c4=moment()['unix']()[_0x7a05('0x9f')]();var _0x144648=path[_0x7a05('0xdc')](config['root'],_0x7a05('0x111'),_0x7a05('0x112'),_0x7a05('0x113'));var _0x4862df=path[_0x7a05('0xdc')](config[_0x7a05('0xde')],_0x7a05('0x111'),_0x7a05('0x112'),_0x7a05('0x114'));var _0x2b3bf3=path[_0x7a05('0xdc')](_0x144648,_0x1904c4);var _0x437948=util[_0x7a05('0xdf')](_0x7a05('0x115'),_0x4e6f94[_0x7a05('0xbd')]['id'],_0x1904c4);var _0x9756b6=path[_0x7a05('0xdc')](_0x144648,_0x437948);var _0x1baa9f=[];_0x1baa9f[_0x7a05('0x3a')]({'model':db[_0x7a05('0x77')],'as':_0x7a05('0x77'),'attributes':['id',_0x7a05('0xed')],'raw':!![]});_0x1baa9f[_0x7a05('0x3a')]({'model':db['CmContact'],'as':'Contact','attributes':['id','firstName',_0x7a05('0x116')],'raw':!![]});if(_0x4e6f94[_0x7a05('0x42')]['attachments']){_0x1baa9f[_0x7a05('0x3a')]({'model':db[_0x7a05('0xd8')],'as':_0x7a05('0xd8'),'raw':!![]});}var _0x18b7b0=[{'model':db['ChatMessage'],'as':'Messages','attributes':['id',_0x7a05('0x7b'),'createdAt','direction',_0x7a05('0x117'),_0x7a05('0x87')],'include':_0x1baa9f}];_0x18b7b0[_0x7a05('0x3a')]({'model':db['ChatWebsite'],'as':_0x7a05('0x118'),'attributes':['id',_0x7a05('0x35')]});_0x18b7b0[_0x7a05('0x3a')]({'model':db[_0x7a05('0x77')],'as':'Owner','attributes':['id','fullname']});return db[_0x7a05('0x3d')][_0x7a05('0x79')]({'where':{'id':_0x4e6f94[_0x7a05('0xbd')]['id']},'include':_0x18b7b0})[_0x7a05('0x1f')](handleEntityNotFound(_0x5e31a2,null))[_0x7a05('0x1f')](function(_0x48d9db){if(_0x48d9db){var _0x1cdde0=_0x48d9db['get']({'plain':!![]});fs[_0x7a05('0x119')](_0x2b3bf3);var _0x1c2c9a={'format':'A4','border':_0x7a05('0x11a'),'header':{'height':_0x7a05('0x11b'),'contents':{'first':_0x7a05('0x11c')}},'footer':{'height':_0x7a05('0x11d'),'contents':{'default':util[_0x7a05('0xdf')](_0x7a05('0x11e'),util[_0x7a05('0xdf')]('%s\x20#%d','Chat',_0x1cdde0['id']),moment()[_0x7a05('0xdf')](_0x7a05('0x11f'))[_0x7a05('0x9f')]())}}};var _0x420684={'channel':_0x7a05('0x120'),'account':_0x1cdde0['Account']['name'],'agent':_0x1cdde0[_0x7a05('0x121')]?_0x1cdde0[_0x7a05('0x121')][_0x7a05('0xed')]:_0x7a05('0x122'),'createdAt':moment(_0x1cdde0[_0x7a05('0x81')])[_0x7a05('0xdf')](_0x7a05('0x105'))[_0x7a05('0x9f')](),'closedAt':_0x1cdde0[_0x7a05('0xda')]?moment(_0x1cdde0[_0x7a05('0x123')])[_0x7a05('0xdf')](_0x7a05('0x105'))['toString']():'','disposition':_0x1cdde0[_0x7a05('0xd0')],'chatInfo':{'browser':_0x1cdde0[_0x7a05('0x124')],'os':_0x1cdde0[_0x7a05('0x125')],'referer':_0x1cdde0[_0x7a05('0x126')],'customerIp':_0x1cdde0[_0x7a05('0x127')],'customerPort':_0x1cdde0[_0x7a05('0x128')]?_0x1cdde0[_0x7a05('0x128')]:'N.A.'},'messages':_(_0x1cdde0[_0x7a05('0xe4')])[_0x7a05('0x129')]()[_0x7a05('0x8a')]({'secret':![]})[_0x7a05('0x3c')](function(_0x6ae290){if(_0x6ae290['Attachment']){var _0x256a01=path[_0x7a05('0xdc')](_0x4862df,_0x6ae290['Attachment'][_0x7a05('0xd5')]);if(fs['existsSync'](_0x256a01)){fs[_0x7a05('0x12a')](_0x256a01)[_0x7a05('0x12b')](fs['createWriteStream'](path[_0x7a05('0xdc')](_0x2b3bf3,_0x6ae290[_0x7a05('0xd8')][_0x7a05('0xd5')])));}}return{'date':moment(_0x6ae290[_0x7a05('0x81')])['format']('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'sender':_0x6ae290[_0x7a05('0xf1')]===_0x7a05('0x12c')?_0x6ae290['User']?_0x6ae290[_0x7a05('0x77')]['fullname']:_0x7a05('0xe7'):_0x6ae290[_0x7a05('0x12d')][_0x7a05('0x12e')]+(_0x6ae290[_0x7a05('0x12d')][_0x7a05('0x116')]?'\x20'+_0x6ae290[_0x7a05('0x12d')][_0x7a05('0x116')]:''),'body':_0x6ae290[_0x7a05('0xd8')]?_0x6ae290['Attachment']['basename']:_0x6ae290['body'],'direction':_0x6ae290[_0x7a05('0xf1')]==='out'?'A':'C','secret':_0x6ae290[_0x7a05('0x117')],'read':_0x6ae290[_0x7a05('0x87')],'attachment':_0x6ae290[_0x7a05('0xd8')]};})[_0x7a05('0x67')]()};return ejs['renderFile'](path[_0x7a05('0xdc')](config['root'],'server','views','downloadInteraction.html'),{'interaction':_0x420684})[_0x7a05('0x1f')](function(_0x19a7a2){return new BPromise(function(_0x158572,_0x1c59a9){pdf[_0x7a05('0xbb')](_0x19a7a2,_0x1c2c9a)[_0x7a05('0x12f')](path[_0x7a05('0xdc')](_0x2b3bf3,_0x7a05('0x130')+_0x1cdde0['id']+'-'+_0x1904c4+_0x7a05('0x131')),function(_0x76966b,_0x3c6604){if(_0x76966b)return _0x1c59a9(_0x76966b);_0x158572(_0x3c6604);});});})[_0x7a05('0x1f')](function(){return new BPromise(function(_0x2402a4,_0x23d6da){zipdir(_0x2b3bf3,{'saveTo':_0x9756b6},function(_0x379336,_0xeedaa7){if(_0x379336)return _0x23d6da(_0x379336);return _0x2402a4(_0xeedaa7);});})[_0x7a05('0x1f')](function(){return new BPromise(function(_0x2365d3,_0x4eb152){rimraf(_0x2b3bf3,function(_0xd5b66){if(_0xd5b66)_0x4eb152(_0xd5b66);return _0x2365d3();});});})['then'](function(){return _0x5e31a2[_0x7a05('0x110')](_0x9756b6,_0x437948,function(_0x859862){if(_0x859862){console[_0x7a05('0x132')](_0x7a05('0x133'),_0x859862);}else{fs[_0x7a05('0x134')](_0x9756b6);}});});});}else{return _0x5e31a2[_0x7a05('0x29')](0xc8);}})[_0x7a05('0x28')](handleError(_0x5e31a2,null));};