5867c97b0ec0747052fc7f5386d3f19fe7306c69
[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 _0x06ef=['attachmentDownload','Unauthorized','attachId','download','join','root','server/files/attachments/','close','server/files/chat/upload/','transcript-%s.txt','now','pathTranscript','Messages','ChatWebsite','%s%d','agentAlias','System','customer','Visitor','agentIdentifier','agent_alias','alias','agent_fullname','format','[%s]\x20%s:\x20%s\x0a','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','auth','pass','\x22%s\x22\x20<%s>','email','mailTranscript','Mail\x20Transcript','addMessage','ids','getMessages','pick','options','includeAll','findAll','getMyMessages','addTags','omit','spread','emit','chatInteractionTags:save','removeTags','unix','server','files','tmp','attachments','transcript-%d-%s.zip','firstName','lastName','direction','read','Account','Owner','get','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>','%s\x20#%d','YYYY-MM-DD','Chat','N.A.','closedAt','YYYY-MM-DD\x20HH:mm:ss','browserName','osName','referer','customerIp','customerPort','tail','createReadStream','pipe','createWriteStream','out','renderFile','views','downloadInteraction.html','.pdf','log','unlinkSync','rimraf','bluebird','mustache','util','sox','to-csv','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','socket.io-emitter','client','http','then','info','ChatInteraction,\x20%s,\x20%s','ChatInteraction,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','destroy','name','Users','map','fullname','TagIds','Tags','split','forEach','index','fieldName','type','keys','filters','intersection','model','query','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','select','field','color','from','u.id','user_has_chat_interactions','u.id\x20=\x20ui.UserId','chat_interactions','left_join','cm_contacts','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','it.ChatInteractionId\x20=\x20i.id','search','parseSearch','conditions','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','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?','find','ContactId','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','UserId','buildExpression','some','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','QueryTypes','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','agent','getChatWebsites','isEmpty','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','ChatInteraction','a.key','Account.key','a.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','Contact.firstName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','push','all','rows','show','params','rawAttributes','include','merge','create','body','findOne','vidaooApiKey','vidaooEscalation','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','follow','join_url','ChatMessage','Sequelize','ValidationError','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','CmContact','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','closed','disposition','attachmentUpload','file','originalname','basename','filename','mimetype','Attachment'];(function(_0x5db71b,_0x2f04eb){var _0x1f2a53=function(_0x18bcfe){while(--_0x18bcfe){_0x5db71b['push'](_0x5db71b['shift']());}};_0x1f2a53(++_0x2f04eb);}(_0x06ef,0x185));var _0xf06e=function(_0x19d060,_0x48acdc){_0x19d060=_0x19d060-0x0;var _0x51900a=_0x06ef[_0x19d060];return _0x51900a;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xf06e('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xf06e('0x1'));var Mustache=require(_0xf06e('0x2'));var util=require(_0xf06e('0x3'));var path=require('path');var sox=require(_0xf06e('0x4'));var csv=require(_0xf06e('0x5'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xf06e('0x6'));var toCsv=require(_0xf06e('0x5'));var querystring=require(_0xf06e('0x7'));var Papa=require(_0xf06e('0x8'));var Redis=require(_0xf06e('0x9'));var authService=require('../../components/auth/service');var qs=require(_0xf06e('0xa'));var as=require(_0xf06e('0xb'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf06e('0xc'))(_0xf06e('0xd'));var utils=require(_0xf06e('0xe'));var config=require(_0xf06e('0xf'));var licenseUtil=require(_0xf06e('0x10'));var db=require(_0xf06e('0x11'))['db'];config['redis']=_[_0xf06e('0x12')](config[_0xf06e('0x13')],{'host':'localhost','port':0x18eb});var socket=require(_0xf06e('0x14'))(new Redis(config[_0xf06e('0x13')]));require('./chatInteraction.socket')['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0xf06e('0x15')][_0xf06e('0x16')]({'port':0x232b});var client9004=jayson[_0xf06e('0x15')]['http']({'port':0x232c});function respondWithRpcPromise(_0x3fdacc,_0x375f90,_0x3629f3,_0xab4288){return new BPromise(function(_0x44157a,_0x240326){var _0x448fb6=_0xab4288||client;return _0x448fb6['request'](_0x3fdacc,_0x3629f3)[_0xf06e('0x17')](function(_0x55dabf){logger[_0xf06e('0x18')](_0xf06e('0x19'),_0x375f90,'request\x20sent');logger['debug'](_0xf06e('0x1a'),_0x375f90,_0xf06e('0x1b'),JSON['stringify'](_0x55dabf));if(_0x55dabf['error']){if(_0x55dabf[_0xf06e('0x1c')][_0xf06e('0x1d')]===0x1f4){logger[_0xf06e('0x1c')]('ChatInteraction,\x20%s,\x20%s',_0x375f90,_0x55dabf[_0xf06e('0x1c')][_0xf06e('0x1e')]);return _0x240326(_0x55dabf['error'][_0xf06e('0x1e')]);}logger[_0xf06e('0x1c')](_0xf06e('0x19'),_0x375f90,_0x55dabf['error'][_0xf06e('0x1e')]);return _0x44157a(_0x55dabf[_0xf06e('0x1c')][_0xf06e('0x1e')]);}else{logger[_0xf06e('0x18')](_0xf06e('0x19'),_0x375f90,'request\x20sent');_0x44157a(_0x55dabf[_0xf06e('0x1f')]['message']);}})[_0xf06e('0x20')](function(_0x36b816){logger[_0xf06e('0x1c')](_0xf06e('0x19'),_0x375f90,_0x36b816);_0x240326(_0x36b816);});});}function respondWithStatusCode(_0x1a7f5e,_0x3dc16b){_0x3dc16b=_0x3dc16b||0xcc;return function(_0x5c09e5){if(_0x5c09e5){return _0x1a7f5e[_0xf06e('0x21')](_0x3dc16b);}return _0x1a7f5e[_0xf06e('0x22')](_0x3dc16b)[_0xf06e('0x23')]();};}function respondWithResult(_0x1b1d2a,_0x164fa9){_0x164fa9=_0x164fa9||0xc8;return function(_0x57063f){if(_0x57063f){return _0x1b1d2a[_0xf06e('0x22')](_0x164fa9)[_0xf06e('0x24')](_0x57063f);}};}function respondWithFilteredResult(_0x126aa9,_0x89a74f){return function(_0x373709){if(_0x373709){var _0x25bacb=_0x373709[_0xf06e('0x25')],_0x4b5185=_0x89a74f['offset'],_0x17c427=_0x89a74f[_0xf06e('0x26')]+_0x89a74f[_0xf06e('0x27')],_0x7870d6;if(_0x17c427>=_0x25bacb){_0x17c427=_0x25bacb;_0x7870d6=0xc8;}else{_0x7870d6=0xce;}_0x126aa9[_0xf06e('0x22')](_0x7870d6);return _0x126aa9[_0xf06e('0x28')](_0xf06e('0x29'),_0x4b5185+'-'+_0x17c427+'/'+_0x25bacb)[_0xf06e('0x24')](_0x373709);}return null;};}function patchUpdates(_0x1b25fc){return function(_0x2c19a5){try{jsonpatch[_0xf06e('0x2a')](_0x2c19a5,_0x1b25fc,!![]);}catch(_0x51a105){return BPromise['reject'](_0x51a105);}return _0x2c19a5[_0xf06e('0x2b')]();};}function saveUpdates(_0x4fb3e9,_0x506cd3){return function(_0x274b47){if(_0x274b47){return _0x274b47[_0xf06e('0x2c')](_0x4fb3e9)[_0xf06e('0x17')](function(_0x165e88){return _0x165e88;});}return null;};}function removeEntity(_0x1331ee,_0x792ea2){return function(_0x4c52e8){if(_0x4c52e8){return _0x4c52e8[_0xf06e('0x2d')]()[_0xf06e('0x17')](function(){_0x1331ee[_0xf06e('0x22')](0xcc)['end']();});}};}function handleEntityNotFound(_0x109218,_0x180721){return function(_0x3941ec){if(!_0x3941ec){_0x109218[_0xf06e('0x21')](0x194);}return _0x3941ec;};}function handleError(_0x1477ae,_0x380a8a){_0x380a8a=_0x380a8a||0x1f4;return function(_0x12387b){logger['error'](_0x12387b['stack']);if(_0x12387b[_0xf06e('0x2e')]){delete _0x12387b['name'];}_0x1477ae[_0xf06e('0x22')](_0x380a8a)['send'](_0x12387b);};}function getInteractionUsers(_0x381dc4,_0x4fb24c){return new BPromise(function(_0x4bc7c1,_0x33fb24){try{if(_0x4fb24c[_0x381dc4['id']]){_0x381dc4[_0xf06e('0x2f')]=_[_0xf06e('0x30')](_0x4fb24c[_0x381dc4['id']],function(_0x2356f0){return{'id':_0x2356f0['id'],'fullname':_0x2356f0[_0xf06e('0x31')]};});}}catch(_0x523f90){_0x33fb24(_0x523f90);}_0x4bc7c1(_0x381dc4);});}function getInteractionTags(_0x2e06a1,_0xb20e60){return new BPromise(function(_0x3ee48e,_0x16a880){try{if(_0x2e06a1[_0xf06e('0x32')]){_0x2e06a1[_0xf06e('0x33')]=[];_0x2e06a1[_0xf06e('0x32')][_0xf06e('0x34')](',')[_0xf06e('0x35')](function(_0x346eef){_0x2e06a1[_0xf06e('0x33')]['push'](_0xb20e60[_0x346eef]);});}delete _0x2e06a1[_0xf06e('0x32')];}catch(_0x38ce94){_0x16a880(_0x38ce94);}_0x3ee48e(_0x2e06a1);});}function updateChatInteraction(_0x2dfbb4,_0x3acf46,_0x4100a3){return new BPromise(function(_0x1c819e,_0x1901de){return getInteractionUsers(_0x2dfbb4,_0x4100a3)['then'](function(_0x27c5f8){return getInteractionTags(_0x27c5f8,_0x3acf46);})[_0xf06e('0x17')](function(_0x5ddceb){_0x1c819e(_0x5ddceb);})['catch'](function(_0x1d6835){_0x1901de(_0x1d6835);});});}exports[_0xf06e('0x36')]=function(_0x3ae06c,_0x7fc745){var _0x3b3f7d={},_0x410772={},_0x48b48e={'count':0x0,'rows':[]};var _0x548a97=_[_0xf06e('0x30')](db['ChatInteraction']['rawAttributes'],function(_0x494974){return{'name':_0x494974[_0xf06e('0x37')],'type':_0x494974[_0xf06e('0x38')]['key']};});_0x410772['model']=_[_0xf06e('0x30')](_0x548a97,_0xf06e('0x2e'));_0x410772['query']=_[_0xf06e('0x39')](_0x3ae06c['query']);_0x410772[_0xf06e('0x3a')]=_[_0xf06e('0x3b')](_0x410772[_0xf06e('0x3c')],_0x410772[_0xf06e('0x3d')]);_0x3b3f7d['attributes']=_[_0xf06e('0x3b')](_0x410772[_0xf06e('0x3c')],qs['fields'](_0x3ae06c[_0xf06e('0x3d')][_0xf06e('0x3e')]));_0x3b3f7d[_0xf06e('0x3f')]=_0x3b3f7d[_0xf06e('0x3f')][_0xf06e('0x40')]?_0x3b3f7d[_0xf06e('0x3f')]:_0x410772[_0xf06e('0x3c')];if(!_0x3ae06c[_0xf06e('0x3d')][_0xf06e('0x41')](_0xf06e('0x42'))){_0x3b3f7d[_0xf06e('0x27')]=qs['limit'](_0x3ae06c['query'][_0xf06e('0x27')]);_0x3b3f7d['offset']=qs['offset'](_0x3ae06c[_0xf06e('0x3d')][_0xf06e('0x26')]);}_0x3b3f7d[_0xf06e('0x43')]=qs[_0xf06e('0x44')](_0x3ae06c[_0xf06e('0x3d')][_0xf06e('0x44')]);_0x3b3f7d[_0xf06e('0x45')]=qs[_0xf06e('0x3a')](_['pick'](_0x3ae06c[_0xf06e('0x3d')],_0x410772[_0xf06e('0x3a')]),_0x548a97);var _0x56a843=[];var _0xa74d67=squel[_0xf06e('0x46')]()[_0xf06e('0x47')]('id')['field']('name')[_0xf06e('0x47')](_0xf06e('0x48'))[_0xf06e('0x49')]('tools_tags');var _0x9ec791=squel[_0xf06e('0x46')]()[_0xf06e('0x47')](_0xf06e('0x4a'))['field']('u.fullname')[_0xf06e('0x47')]('ui.ChatInteractionId')['from'](_0xf06e('0x4b'),'ui')['left_join']('users','u',_0xf06e('0x4c'));var _0x1d20da=squel[_0xf06e('0x46')]()[_0xf06e('0x49')](_0xf06e('0x4d'),'i')[_0xf06e('0x4e')](_0xf06e('0x4f'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xf06e('0x4e')]('users','o',_0xf06e('0x50'))['left_join'](_0xf06e('0x51'),'a',_0xf06e('0x52'))[_0xf06e('0x4e')](_0xf06e('0x53'),'me',_0xf06e('0x54'))[_0xf06e('0x4e')]('chat_interaction_has_tags','it',_0xf06e('0x55'))[_0xf06e('0x4e')]('tools_tags','t','t.id\x20=\x20it.TagId');var _0x4b0124=squel['expr']();var _0xd1b06b=[];var _0x3dc22f=squel['expr']();var _0x29fba6;if(_0x3ae06c[_0xf06e('0x3d')][_0xf06e('0x56')]){_0x29fba6=as[_0xf06e('0x57')](_0x3ae06c['query'][_0xf06e('0x56')]);var _0x23b03f=_0x29fba6['sqlOperator'];for(var _0x3cf2b7=0x0;_0x3cf2b7<_0x29fba6[_0xf06e('0x58')][_0xf06e('0x40')];_0x3cf2b7++){var _0xa1afb9=_0x29fba6[_0xf06e('0x58')][_0x3cf2b7];var _0xbc0cd1='i';var _0x4efff1=_['find'](_0x548a97,[_0xf06e('0x2e'),_0xa1afb9[_0xf06e('0x47')]]);if(!_0x4efff1){switch(_0xa1afb9['field']){case _0xf06e('0x59'):if(_0xa1afb9[_0xf06e('0x5a')]==0x1){_0x1d20da[_0xf06e('0x5b')]('`'+_0xa1afb9[_0xf06e('0x47')]+_0xf06e('0x5c'));}else{_0x1d20da[_0xf06e('0x5b')]('`'+_0xa1afb9['field']+_0xf06e('0x5d'));}break;case _0xf06e('0x5e'):if(_0xa1afb9[_0xf06e('0x5f')]===_0xf06e('0x60')){if(_0xa1afb9[_0xf06e('0x5a')][_0xf06e('0x34')]('\x20')[_0xf06e('0x40')]>0x1){_0x4b0124[_0x23b03f](_0xf06e('0x61'),qs[_0xf06e('0x62')](_0xa1afb9[_0xf06e('0x5a')]),null);}else{var _0x5bf60a='%'+_0xa1afb9[_0xf06e('0x5a')]+'%';_0x4b0124[_0x23b03f](_0xf06e('0x63'),_0x5bf60a,_0x5bf60a,_0x5bf60a);}}else{_0x4efff1=_[_0xf06e('0x64')](_0x548a97,[_0xf06e('0x2e'),'ContactId']);_0xa1afb9[_0xf06e('0x47')]=_0xf06e('0x65');_0x17397b=as['buildExpression'](_0xbc0cd1,_0x4efff1[_0xf06e('0x38')],_0xa1afb9);_0x4b0124[_0x23b03f](_0x17397b[_0xf06e('0x66')],_0x17397b[_0xf06e('0x5a')][_0xf06e('0x67')],_0x17397b[_0xf06e('0x5a')][_0xf06e('0x23')]);}break;case _0xf06e('0x68'):var _0x4ad726=_0xa1afb9[_0xf06e('0x5a')][_0xf06e('0x34')](',')[_0xf06e('0x30')](function(_0x529f11){return Number(_0x529f11);});_0x4ad726[_0xf06e('0x35')](function(_0x3c74f8){_0x3dc22f['or'](_0xf06e('0x69'),'%,'+_0x3c74f8+',%');});_0xd1b06b=_['union'](_0xd1b06b,_0x4ad726);break;case _0xf06e('0x6a'):if(_0xa1afb9[_0xf06e('0x5f')]===_0xf06e('0x60')){_0x4b0124[_0x23b03f]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0xa1afb9[_0xf06e('0x5a')]+'%',null);}else{_0x4efff1=_[_0xf06e('0x64')](_0x548a97,[_0xf06e('0x2e'),_0xf06e('0x6b')]);_0xa1afb9[_0xf06e('0x47')]=_0xf06e('0x6b');_0x17397b=as[_0xf06e('0x6c')](_0xbc0cd1,_0x4efff1['type'],_0xa1afb9);_0x4b0124[_0x23b03f](_0x17397b[_0xf06e('0x66')],_0x17397b[_0xf06e('0x5a')][_0xf06e('0x67')],_0x17397b[_0xf06e('0x5a')][_0xf06e('0x23')]);}break;case'body':_0x17397b=as['buildExpression']('me',null,_0xa1afb9);_0x4b0124[_0x23b03f](_0x17397b[_0xf06e('0x66')],_0x17397b[_0xf06e('0x5a')][_0xf06e('0x67')],_0x17397b[_0xf06e('0x5a')][_0xf06e('0x23')]);break;}}else{var _0x17397b=as[_0xf06e('0x6c')](_0xbc0cd1,_0x4efff1['type'],_0xa1afb9);_0x4b0124[_0x23b03f](_0x17397b[_0xf06e('0x66')],_0x17397b['value'][_0xf06e('0x67')],_0x17397b[_0xf06e('0x5a')][_0xf06e('0x23')]);}}}else{var _0x46b0af=_(_0x3ae06c[_0xf06e('0x3d')])[_0xf06e('0x39')]()['map'](function(_0x2816de){return _[_0xf06e('0x6d')](_0x548a97,[_0xf06e('0x2e'),_0x2816de])?_0x2816de:undefined;})['compact']()[_0xf06e('0x5a')]();if(!_['isEmpty'](_0x46b0af)){_0x46b0af['forEach'](function(_0x1bc1f3){if(_0x1bc1f3===_0xf06e('0x6e')){_0x1d20da['where'](_0xf06e('0x6f'),[][_0xf06e('0x70')](_0x3ae06c[_0xf06e('0x3d')][_0x1bc1f3]));}else if(_0x1bc1f3===_0xf06e('0x71')){var _0x2704d0=JSON[_0xf06e('0x72')](_0x3ae06c['query'][_0x1bc1f3])[_0xf06e('0x73')];var _0x2f2d13=JSON[_0xf06e('0x72')](_0x3ae06c[_0xf06e('0x3d')][_0x1bc1f3])[_0xf06e('0x74')];_0x1d20da[_0xf06e('0x45')](_0xf06e('0x75'),_0x2704d0,_0x2f2d13);}else{if(_0x3ae06c[_0xf06e('0x3d')][_0x1bc1f3]==='null'){_0x1d20da['where']('i.'+_0x1bc1f3+_0xf06e('0x76'));}else{_0x1d20da[_0xf06e('0x45')]('i.'+_0x1bc1f3+_0xf06e('0x77'),_0x3ae06c[_0xf06e('0x3d')][_0x1bc1f3]);}}});}if(_0x3ae06c[_0xf06e('0x3d')]['read']){if(_0x3ae06c[_0xf06e('0x3d')]['read']==0x1){_0x1d20da['having'](_0xf06e('0x78'));}else{_0x1d20da[_0xf06e('0x5b')](_0xf06e('0x79'));}}if(_0x3ae06c[_0xf06e('0x3d')][_0xf06e('0x7a')]){_0xd1b06b=_[_0xf06e('0x7b')](_0x3ae06c[_0xf06e('0x3d')][_0xf06e('0x7a')])?_0x3ae06c[_0xf06e('0x3d')][_0xf06e('0x7a')]:new Array(_0x3ae06c[_0xf06e('0x3d')]['tag']);_0xd1b06b['forEach'](function(_0x2a9d30){_0x3dc22f['or'](_0xf06e('0x69'),'%,'+_0x2a9d30+',%');});}if(_0x3ae06c['query'][_0xf06e('0x7c')]){var _0x274a18=_0x3ae06c['query'][_0xf06e('0x7c')][_0xf06e('0x7d')]('\x5c','\x5c\x5c')[_0xf06e('0x7d')](/'/g,'\x27\x27');if(qs[_0xf06e('0x7e')](_0x274a18)){_0x4b0124['or']('i.id\x20LIKE\x20?',_0x274a18+'%');}else{_0x4b0124['or'](_0xf06e('0x7f'),qs[_0xf06e('0x62')](_0x274a18))['or'](_0xf06e('0x80'),_0x274a18+'%');}}}_0x1d20da[_0xf06e('0x45')](_0x4b0124);_0x1d20da['group']('i.id');var _0x71b2f5={'type':db['Sequelize'][_0xf06e('0x81')][_0xf06e('0x82')],'raw':!![]};var _0x4c531f=_0x1d20da[_0xf06e('0x83')]();_0x4c531f[_0xf06e('0x47')](_0xf06e('0x84'));_0x4c531f[_0xf06e('0x47')](_0xf06e('0x85'),_0xf06e('0x59'));if(_0x3b3f7d[_0xf06e('0x43')]){_0x3b3f7d['order']['forEach'](function(_0x2ff8e1){var _0x1b8544=_0x2ff8e1[0x0]===_0xf06e('0x86')?_0x2ff8e1[0x0]:'i.'+_0x2ff8e1[0x0];_0x1d20da[_0xf06e('0x43')](_0x1b8544,_0x2ff8e1[0x1]==='DESC'?![]:!![]);});}if(!_['isEmpty'](_0xd1b06b)){_0x1d20da['having'](_0x3dc22f);_0x4c531f[_0xf06e('0x45')](_0xf06e('0x87'),_0xd1b06b);}BPromise[_0xf06e('0x88')]()['then'](function(){if(!_0x29fba6){if(_0x3ae06c['query'][_0xf06e('0x6e')])return;_0x4c531f[_0xf06e('0x45')](_0xf06e('0x89'));_0x1d20da[_0xf06e('0x45')](_0xf06e('0x89'));return;}if(_0x3ae06c[_0xf06e('0x8a')][_0xf06e('0x8b')]!==_0xf06e('0x8c'))return;return _0x3ae06c[_0xf06e('0x8a')][_0xf06e('0x8d')]({'attributes':['id'],'raw':!![]})[_0xf06e('0x17')](function(_0x293a8b){if(_[_0xf06e('0x8e')](_0x293a8b)){_0x4c531f[_0xf06e('0x45')]('i.ChatWebsiteId\x20IS\x20NULL');_0x1d20da['where'](_0xf06e('0x8f'));}else{_0x4c531f[_0xf06e('0x45')](_0xf06e('0x6f'),_[_0xf06e('0x30')](_0x293a8b,'id'));_0x1d20da[_0xf06e('0x45')]('i.ChatWebsiteId\x20IN\x20?',_[_0xf06e('0x30')](_0x293a8b,'id'));}});})[_0xf06e('0x17')](function(){if(_0x3ae06c[_0xf06e('0x8a')]['role']===_0xf06e('0x8c')&&!_0x29fba6&&!_0x3ae06c[_0xf06e('0x3d')]['ChatWebsiteId'])return[];return db[_0xf06e('0x90')]['query'](_0x4c531f[_0xf06e('0x91')](),_0x71b2f5);})[_0xf06e('0x17')](function(_0x5bcb4b){_0x48b48e[_0xf06e('0x25')]=_0x5bcb4b[_0xf06e('0x40')];if(_0x48b48e['count']===0x0)return[];return db[_0xf06e('0x90')][_0xf06e('0x3d')](_0xa74d67[_0xf06e('0x91')](),_0x71b2f5)['then'](function(_0xaac51a){_0x56a843=_[_0xf06e('0x92')](_0xaac51a,'id');_0x71b2f5=_['merge'](_0x71b2f5,{'model':db[_0xf06e('0x93')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3ae06c[_0xf06e('0x3d')]['fields']){_0x3b3f7d['attributes'][_0xf06e('0x35')](function(_0x400228){_0x1d20da['field']('i.'+_0x400228);});}else{_0x1d20da[_0xf06e('0x47')](_0xf06e('0x85'),_0xf06e('0x59'));_0x1d20da[_0xf06e('0x47')](_0xf06e('0x94'),_0xf06e('0x95'));_0x1d20da[_0xf06e('0x47')](_0xf06e('0x96'),'Account.mandatoryDisposition');_0x1d20da['field'](_0xf06e('0x97'),'contactName');_0x1d20da[_0xf06e('0x47')](_0xf06e('0x98'));_0x1d20da['field']('c.firstName',_0xf06e('0x99'));_0x1d20da[_0xf06e('0x47')]('c.lastName','Contact.lastName');_0x1d20da[_0xf06e('0x47')](_0xf06e('0x9a'),'Contact.email');_0x1d20da[_0xf06e('0x47')](_0xf06e('0x9b'),_0xf06e('0x9c'));_0x1d20da[_0xf06e('0x47')](_0xf06e('0x9d'),_0xf06e('0x9e'));_0x1d20da[_0xf06e('0x47')](_0xf06e('0x9f'),_0xf06e('0xa0'));_0x1d20da[_0xf06e('0x47')](_0xf06e('0xa1'),_0xf06e('0xa2'));_0x1d20da[_0xf06e('0x47')](_0xf06e('0xa3'),_0xf06e('0xa4'));_0x1d20da[_0xf06e('0x47')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0xf06e('0x32'));}if(_0x3b3f7d[_0xf06e('0x27')])_0x1d20da[_0xf06e('0x27')](_0x3b3f7d[_0xf06e('0x27')]);if(_0x3b3f7d[_0xf06e('0x26')])_0x1d20da[_0xf06e('0x26')](_0x3b3f7d['offset']);return db[_0xf06e('0x90')][_0xf06e('0x3d')](_0x1d20da['toString'](),_0x71b2f5);})[_0xf06e('0x17')](function(_0x3dc30f){_0x9ec791[_0xf06e('0x45')](_0xf06e('0xa5'),_[_0xf06e('0x30')](_0x3dc30f,'id'));return db[_0xf06e('0x90')][_0xf06e('0x3d')](_0x9ec791[_0xf06e('0x91')](),_0x71b2f5)[_0xf06e('0x17')](function(_0x5dfc46){var _0xb826de=_[_0xf06e('0xa6')](_0x5dfc46,_0xf06e('0xa7'));var _0x408aef=[];_0x3dc30f[_0xf06e('0x35')](function(_0x368d32){_0x408aef[_0xf06e('0xa8')](updateChatInteraction(_0x368d32,_0x56a843,_0xb826de));});return BPromise[_0xf06e('0xa9')](_0x408aef);});});})['then'](function(_0x17fefd){_0x48b48e[_0xf06e('0xaa')]=_0x17fefd;return _0x48b48e;})[_0xf06e('0x17')](respondWithFilteredResult(_0x7fc745,_0x3b3f7d))['catch'](handleError(_0x7fc745,null));};exports[_0xf06e('0xab')]=function(_0x541377,_0x815f9a){var _0x13435e={'raw':![],'where':{'id':_0x541377[_0xf06e('0xac')]['id']}},_0x551edf={};_0x551edf['model']=_['keys'](db[_0xf06e('0x93')][_0xf06e('0xad')]);_0x551edf[_0xf06e('0x3d')]=_['keys'](_0x541377[_0xf06e('0x3d')]);_0x551edf[_0xf06e('0x3a')]=_[_0xf06e('0x3b')](_0x551edf[_0xf06e('0x3c')],_0x551edf[_0xf06e('0x3d')]);_0x13435e['attributes']=_['intersection'](_0x551edf[_0xf06e('0x3c')],qs[_0xf06e('0x3e')](_0x541377['query'][_0xf06e('0x3e')]));_0x13435e[_0xf06e('0x3f')]=_0x13435e[_0xf06e('0x3f')][_0xf06e('0x40')]?_0x13435e[_0xf06e('0x3f')]:_0x551edf['model'];if(_0x541377[_0xf06e('0x3d')]['includeAll']){_0x13435e[_0xf06e('0xae')]=[{'all':!![]}];}_0x13435e=_[_0xf06e('0xaf')]({},_0x13435e,_0x541377['options']);return db[_0xf06e('0x93')][_0xf06e('0x64')](_0x13435e)[_0xf06e('0x17')](handleEntityNotFound(_0x815f9a,null))['then'](respondWithResult(_0x815f9a,null))[_0xf06e('0x20')](handleError(_0x815f9a,null));};exports[_0xf06e('0xb0')]=function(_0x52aac7,_0x420aa3){return db[_0xf06e('0x93')][_0xf06e('0xb0')](_0x52aac7[_0xf06e('0xb1')],{})['then'](respondWithResult(_0x420aa3,0xc9))[_0xf06e('0x20')](handleError(_0x420aa3,null));};exports['update']=function(_0x4b4d9b,_0x2206bb){if(_0x4b4d9b['body']['id']){delete _0x4b4d9b[_0xf06e('0xb1')]['id'];}return db[_0xf06e('0x93')]['find']({'where':{'id':_0x4b4d9b[_0xf06e('0xac')]['id']}})[_0xf06e('0x17')](handleEntityNotFound(_0x2206bb,null))[_0xf06e('0x17')](saveUpdates(_0x4b4d9b[_0xf06e('0xb1')],null))[_0xf06e('0x17')](respondWithResult(_0x2206bb,null))['catch'](handleError(_0x2206bb,null));};exports[_0xf06e('0x2d')]=function(_0x28eb93,_0x5d8b7d){return db['ChatInteraction'][_0xf06e('0x64')]({'where':{'id':_0x28eb93['params']['id']}})[_0xf06e('0x17')](handleEntityNotFound(_0x5d8b7d,null))[_0xf06e('0x17')](removeEntity(_0x5d8b7d,null))['catch'](handleError(_0x5d8b7d,null));};exports['describe']=function(_0x58228f,_0x13be13){return db[_0xf06e('0x93')]['describe']()['then'](respondWithResult(_0x13be13,null))[_0xf06e('0x20')](handleError(_0x13be13,null));};exports['createVidaooSession']=function(_0x10fbf2,_0x238ff8){var _0x12451d=_0x10fbf2[_0xf06e('0xac')]['id'];var _0x510346;var _0x1c5b35;var _0x5a17f3;return db[_0xf06e('0x93')][_0xf06e('0xb2')]({'where':{'id':_0x12451d}})[_0xf06e('0x17')](function(_0x1dbe2c){_0x510346=_0x1dbe2c;return db['ChatWebsite']['findOne']({'where':{'id':_0x1dbe2c[_0xf06e('0x6e')]},'attributes':['id',_0xf06e('0xb3'),_0xf06e('0xb4')],'raw':!![]});})[_0xf06e('0x17')](function(_0x419063){if(_0x419063&&_0x419063[_0xf06e('0xb3')]&&_0x419063['vidaooEscalation']){_0x1c5b35=_0x419063;var _0x1c0a9c={'rejectUnauthorized':![],'method':'POST','uri':_0xf06e('0xb5'),'headers':{'X-APIKEY':_0x419063[_0xf06e('0xb3')]},'body':{'name':_0xf06e('0xb6')+_0x12451d},'redirect':_0xf06e('0xb7'),'json':!![]};return rp(_0x1c0a9c);}else{throw new db['Sequelize']['ValidationError']('Error\x20in\x20Vidaoo\x20configuration');}})[_0xf06e('0x17')](function(_0x565a55){_0x5a17f3=_0x565a55;if(_0x5a17f3['id']){var _0x1e71ca={'body':_0x5a17f3[_0xf06e('0xb8')],'ChatWebsiteId':_0x1c5b35['id'],'ChatInteractionId':_0x510346['id'],'direction':'out','UserId':_0x10fbf2[_0xf06e('0x8a')]['id']};return db[_0xf06e('0xb9')][_0xf06e('0xb0')](_0x1e71ca,{});}else{throw new db[(_0xf06e('0xba'))][(_0xf06e('0xbb'))](_0xf06e('0xbc'));}})['then'](function(){return _0x510346[_0xf06e('0xbd')]({'vidaooSessionId':_0x5a17f3['id']});})[_0xf06e('0x17')](respondWithResult(_0x238ff8,null))[_0xf06e('0x20')](handleError(_0x238ff8,null));};exports[_0xf06e('0xbe')]=function(_0x964c6b,_0x5e54d2){if(_0x964c6b['body']['id']){delete _0x964c6b['body']['id'];}return db[_0xf06e('0x93')][_0xf06e('0x64')]({'where':{'id':_0x964c6b[_0xf06e('0xac')]['id']},'include':[{'model':db[_0xf06e('0xbf')],'as':_0xf06e('0x5e')}]})[_0xf06e('0x17')](handleEntityNotFound(_0x5e54d2,null))[_0xf06e('0x17')](saveUpdates(_0x964c6b[_0xf06e('0xb1')],null))['then'](respondWithResult(_0x5e54d2,null))[_0xf06e('0x20')](handleError(_0x5e54d2,null));};exports[_0xf06e('0xc0')]=function(_0x3196a2,_0x2cb5b0,_0xeb9f91){if(_0x3196a2['body']['id']){delete _0x3196a2[_0xf06e('0xb1')]['id'];}return db[_0xf06e('0x93')][_0xf06e('0x64')]({'where':{'id':_0x3196a2[_0xf06e('0xac')]['id']}})['then'](function(_0x3861f7){if(!_0x3861f7){logger[_0xf06e('0x1c')](_0xf06e('0xc1'),_0xf06e('0xc0'),0x194,'entity\x20not\x20found');_0x2cb5b0[_0xf06e('0x21')](0x194);}else{if(_0x3861f7[_0xf06e('0x6b')]){throw new db[(_0xf06e('0xba'))]['ValidationError']('Interaction\x20already\x20assigned');}}return _0x3861f7;})['then'](function(_0x2b9b95){if(_0x2b9b95){return _0x2b9b95[_0xf06e('0x2c')]({'closed':_0x3196a2[_0xf06e('0xb1')][_0xf06e('0xc2')],'disposition':_0x3196a2[_0xf06e('0xb1')][_0xf06e('0xc3')]})[_0xf06e('0x17')](function(_0x3045b4){return _0x3045b4;});}})[_0xf06e('0x17')](function(_0xbd434c){return respondWithRpcPromise('AbandonInteraction',_0xf06e('0xc0'),_0x3196a2[_0xf06e('0xb1')],client9004);})[_0xf06e('0x17')](respondWithResult(_0x2cb5b0,null))['catch'](handleError(_0x2cb5b0,null));};exports[_0xf06e('0xc4')]=function(_0x24920b,_0x372125,_0x2a0031){_0x24920b['body'][_0xf06e('0x2e')]=_0x24920b[_0xf06e('0xc5')][_0xf06e('0xc6')];_0x24920b[_0xf06e('0xb1')][_0xf06e('0xc7')]=_0x24920b[_0xf06e('0xc5')][_0xf06e('0xc8')];_0x24920b[_0xf06e('0xb1')]['type']=_0x24920b[_0xf06e('0xc5')][_0xf06e('0xc9')];return db[_0xf06e('0xca')][_0xf06e('0xb0')](_0x24920b[_0xf06e('0xb1')])['then'](respondWithResult(_0x372125,0xc9))[_0xf06e('0x20')](handleError(_0x372125,null));};exports[_0xf06e('0xcb')]=function(_0x34f31d,_0x12f3ec,_0x4c7358){return db[_0xf06e('0x93')][_0xf06e('0xb2')]({'where':{'id':_0x34f31d['params']['id']},'raw':!![]})[_0xf06e('0x17')](handleEntityNotFound(_0x12f3ec,null))['then'](function(_0x67d15d){if(_0x67d15d){if(_0x67d15d[_0xf06e('0xc2')]){return _0x12f3ec[_0xf06e('0x22')](0x193)['json']({'status':0x193,'message':_0xf06e('0xcc')});}return db[_0xf06e('0xca')][_0xf06e('0xb2')]({'where':{'id':_0x34f31d[_0xf06e('0x3d')][_0xf06e('0xcd')]},'raw':!![]})['then'](handleEntityNotFound(_0x12f3ec,null));}})[_0xf06e('0x17')](function(_0x5492cc){if(_0x5492cc){return _0x12f3ec[_0xf06e('0xce')](path[_0xf06e('0xcf')](config[_0xf06e('0xd0')],_0xf06e('0xd1'),_0x5492cc[_0xf06e('0xc7')]));}})[_0xf06e('0x20')](handleError(_0x12f3ec,null));};exports[_0xf06e('0xd2')]=function(_0x1d181d,_0x3dc1fe){var _0x5ef0b7=null;var _0x51f3b6=null;var _0x170b6e=null;var _0x1aa78f=null;if(_0x1d181d[_0xf06e('0xb1')]['id']){delete _0x1d181d[_0xf06e('0xb1')]['id'];}if(_0x1d181d[_0xf06e('0xb1')]['mailTranscript']){_0x1aa78f=path[_0xf06e('0xcf')](config[_0xf06e('0xd0')],_0xf06e('0xd3'),util['format'](_0xf06e('0xd4'),Date[_0xf06e('0xd5')]()));_0x1d181d['body'][_0xf06e('0xd6')]=_0x1aa78f;}return db['ChatInteraction']['find']({'where':{'id':_0x1d181d[_0xf06e('0xac')]['id']},'include':[{'model':db[_0xf06e('0xb9')],'as':_0xf06e('0xd7'),'include':[{'model':db['User'],'as':_0xf06e('0x6a')}]}]})[_0xf06e('0x17')](handleEntityNotFound(_0x3dc1fe,null))[_0xf06e('0x17')](saveUpdates(_0x1d181d['body'],null))[_0xf06e('0x17')](function(_0xff099a){if(_0xff099a){_0x5ef0b7=_0xff099a;return db[_0xf06e('0xd8')]['find']({'where':{'id':_0x5ef0b7[_0xf06e('0x6e')]}});}})[_0xf06e('0x17')](function(_0x572d3e){if(_0x572d3e){_0x170b6e=_0x572d3e;return db[_0xf06e('0xbf')][_0xf06e('0x64')]({'where':{'id':_0x5ef0b7[_0xf06e('0x65')]}});}})[_0xf06e('0x17')](function(_0x3cbbd9){if(_0x3cbbd9){_0x51f3b6=_0x3cbbd9;if(_0x1aa78f){var _0x2b7dcd=null;for(var _0x21abc7=0x1;_0x21abc7<_0x5ef0b7[_0xf06e('0xd7')][_0xf06e('0x40')];++_0x21abc7){_0x2b7dcd=_0x5ef0b7[_0xf06e('0xd7')][_0x21abc7];var _0x4cf832=_0x2b7dcd[_0xf06e('0x6b')]?util['format'](_0xf06e('0xd9'),_0x170b6e[_0xf06e('0xda')],_0x2b7dcd[_0xf06e('0x6b')]):_0xf06e('0xdb');var _0x2ec865=_0x1d181d[_0xf06e('0xb1')][_0xf06e('0xdc')]||util['format'](_0xf06e('0xd9'),_0xf06e('0xdd'),_0x2b7dcd[_0xf06e('0x65')]);switch(_0x170b6e[_0xf06e('0xde')]){case'website_alias':_0x4cf832=_0x2b7dcd['UserId']?util['format']('%s%d',_0x170b6e[_0xf06e('0xda')],_0x2b7dcd[_0xf06e('0x6b')]):_0xf06e('0xdb');break;case _0xf06e('0xdf'):_0x4cf832=_0x2b7dcd[_0xf06e('0x6b')]?_0x2b7dcd[_0xf06e('0x6a')][_0xf06e('0xe0')]||_0x2b7dcd[_0xf06e('0x6a')]['fullname']:_0xf06e('0xdb');break;case _0xf06e('0xe1'):_0x4cf832=_0x2b7dcd[_0xf06e('0x6b')]?_0x2b7dcd['User'][_0xf06e('0x31')]:'System';break;default:_0x4cf832=_0x2b7dcd['UserId']?util[_0xf06e('0xe2')](_0xf06e('0xd9'),_0x170b6e['agentAlias'],_0x2b7dcd[_0xf06e('0x6b')]):_0xf06e('0xdb');}var _0x25485b=util[_0xf06e('0xe2')](_0xf06e('0xe3'),moment(_0x2b7dcd[_0xf06e('0x71')])[_0xf06e('0xe2')]('MM/DD/YYYY\x20HH:mm:ss'),_0x2b7dcd['direction']==='in'?_0x2ec865:_0x4cf832,_0x2b7dcd[_0xf06e('0xb1')]);if(!_0x2b7dcd[_0xf06e('0xe4')]){fs[_0xf06e('0xe5')](_0x1aa78f,_0x25485b);}}return db[_0xf06e('0xe6')][_0xf06e('0xb2')]({'where':{'service':!![]},'include':[{'model':db[_0xf06e('0xe7')],'as':'Smtp','raw':!![]}]});}}})[_0xf06e('0x17')](function(_0x3f8c2b){if(_0x3f8c2b&&_0x3f8c2b[_0xf06e('0xe8')]&&_0x1d181d[_0xf06e('0xb1')]){var _0x52c329={'tls':{'rejectUnauthorized':![]}};if(_0x3f8c2b[_0xf06e('0xe8')][_0xf06e('0xe9')]){_0x52c329[_0xf06e('0xe9')]=_0x3f8c2b[_0xf06e('0xe8')][_0xf06e('0xe9')];}else{_0x52c329['host']=_0x3f8c2b[_0xf06e('0xe8')][_0xf06e('0xea')];_0x52c329[_0xf06e('0xeb')]=_0x3f8c2b['Smtp'][_0xf06e('0xeb')];_0x52c329[_0xf06e('0xec')]=_0x3f8c2b[_0xf06e('0xe8')][_0xf06e('0xec')];}if(_0x3f8c2b[_0xf06e('0xe8')]['authentication']){_0x52c329[_0xf06e('0xed')]={'user':_0x3f8c2b[_0xf06e('0xe8')][_0xf06e('0x8a')],'pass':_0x3f8c2b[_0xf06e('0xe8')][_0xf06e('0xee')]};}return respondWithRpcPromise('SendMail','sendMail',{'account':_0x52c329,'message':{'from':util[_0xf06e('0xe2')](_0xf06e('0xef'),_0x3f8c2b[_0xf06e('0x2e')],_0x3f8c2b[_0xf06e('0xf0')]||_0x3f8c2b[_0xf06e('0xe8')][_0xf06e('0x8a')]),'to':_0x1d181d[_0xf06e('0xb1')][_0xf06e('0xf1')],'subject':_0xf06e('0xf2'),'text':util[_0xf06e('0xe2')]('Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a',_0x1d181d['body'][_0xf06e('0xf1')]),'attachments':[{'path':_0x1aa78f}]}})[_0xf06e('0x17')](function(){return _0x5ef0b7;})[_0xf06e('0x20')](function(_0x46136c){console[_0xf06e('0x1c')](_0x46136c);});}else{return _0x5ef0b7;}})[_0xf06e('0x17')](respondWithStatusCode(_0x3dc1fe,0xc8))[_0xf06e('0x20')](handleError(_0x3dc1fe,null));};exports['addMessage']=function(_0x563fa4,_0x50a898,_0x1bbd1b){return db[_0xf06e('0xb9')][_0xf06e('0x64')]({'where':{'id':_0x563fa4[_0xf06e('0xac')]['id']}})['then'](handleEntityNotFound(_0x50a898,null))['then'](function(_0x4d2bda){if(_0x4d2bda){return _0x4d2bda[_0xf06e('0xf3')](_0x563fa4['body'][_0xf06e('0xf4')],_['omit'](_0x563fa4[_0xf06e('0xb1')],[_0xf06e('0xf4'),'id'])||{});}})[_0xf06e('0x17')](respondWithResult(_0x50a898,null))[_0xf06e('0x20')](handleError(_0x50a898,null));};exports[_0xf06e('0xf5')]=function(_0x8089bc,_0x2b4514,_0x3e1fe2){var _0x2521cc={'raw':![],'where':{}};var _0x498c6f={};var _0x41eaf2={'count':0x0,'rows':[]};return db[_0xf06e('0x93')][_0xf06e('0xb2')]({'where':{'id':_0x8089bc[_0xf06e('0xac')]['id']}})[_0xf06e('0x17')](handleEntityNotFound(_0x2b4514,null))[_0xf06e('0x17')](function(_0xfd2a38){if(_0xfd2a38){_0x498c6f['model']=_[_0xf06e('0x39')](db[_0xf06e('0xb9')][_0xf06e('0xad')]);_0x498c6f[_0xf06e('0x3d')]=_[_0xf06e('0x39')](_0x8089bc[_0xf06e('0x3d')]);_0x498c6f[_0xf06e('0x3a')]=_[_0xf06e('0x3b')](_0x498c6f[_0xf06e('0x3c')],_0x498c6f[_0xf06e('0x3d')]);_0x2521cc[_0xf06e('0x3f')]=_['intersection'](_0x498c6f['model'],qs[_0xf06e('0x3e')](_0x8089bc[_0xf06e('0x3d')][_0xf06e('0x3e')]));_0x2521cc['attributes']=_0x2521cc[_0xf06e('0x3f')]['length']?_0x2521cc[_0xf06e('0x3f')]:_0x498c6f[_0xf06e('0x3c')];if(!_0x8089bc['query']['hasOwnProperty'](_0xf06e('0x42'))){_0x2521cc[_0xf06e('0x27')]=qs['limit'](_0x8089bc[_0xf06e('0x3d')][_0xf06e('0x27')]);_0x2521cc[_0xf06e('0x26')]=qs['offset'](_0x8089bc[_0xf06e('0x3d')]['offset']);}_0x2521cc['order']=qs[_0xf06e('0x44')](_0x8089bc['query']['sort']);_0x2521cc['where']=qs[_0xf06e('0x3a')](_[_0xf06e('0xf6')](_0x8089bc['query'],_0x498c6f[_0xf06e('0x3a')]));_0x2521cc[_0xf06e('0x45')][_0xf06e('0xa7')]=_0xfd2a38['id'];if(_0x8089bc[_0xf06e('0x3d')]['filter']){_0x2521cc[_0xf06e('0x45')]=_[_0xf06e('0xaf')](_0x2521cc['where'],{'$or':_[_0xf06e('0x30')](_0x2521cc[_0xf06e('0x3f')],function(_0x1a11d2){var _0x484b88={};_0x484b88[_0x1a11d2]={'$like':'%'+_0x8089bc[_0xf06e('0x3d')][_0xf06e('0x7c')]+'%'};return _0x484b88;})});}if(_0x8089bc['query'][_0xf06e('0x73')]){var _0x2b9444=_0x8089bc[_0xf06e('0x3d')][_0xf06e('0x73')]['split'](',');var _0xbdee8e={};_0xbdee8e[_0x2b9444[0x0]]={'$gte':moment(_0x2b9444[0x1])[_0xf06e('0xe2')]('YYYY-MM-DD\x20HH:mm:ss')};_0x2521cc['where']=_[_0xf06e('0xaf')](_0x2521cc[_0xf06e('0x45')],_0xbdee8e);}_0x2521cc=_[_0xf06e('0xaf')]({},_0x2521cc,_0x8089bc[_0xf06e('0xf7')]);return db[_0xf06e('0xb9')][_0xf06e('0x25')]({'where':_0x2521cc['where']})['then'](function(_0x540902){_0x41eaf2[_0xf06e('0x25')]=_0x540902;if(_0x8089bc[_0xf06e('0x3d')][_0xf06e('0xf8')]){_0x2521cc[_0xf06e('0xae')]=[{'all':!![]}];}return db['ChatMessage'][_0xf06e('0xf9')](_0x2521cc);})[_0xf06e('0x17')](function(_0x5dad13){_0x41eaf2[_0xf06e('0xaa')]=_0x5dad13;return _0x41eaf2;});}})[_0xf06e('0x17')](respondWithFilteredResult(_0x2b4514,_0x2521cc))['catch'](handleError(_0x2b4514,null));};exports[_0xf06e('0xfa')]=function(_0x139e39,_0x23c0a9,_0x1ce144){var _0x4d9f28={'where':{}},_0x3cf1f8={},_0x2435f2={'count':0x0,'rows':[]};return db[_0xf06e('0x93')]['findOne']({'where':{'id':_0x139e39['params']['id']}})['then'](handleEntityNotFound(_0x23c0a9,null))[_0xf06e('0x17')](function(_0x1a50b8){if(_0x1a50b8){_0x3cf1f8[_0xf06e('0x3c')]=_[_0xf06e('0x39')](db[_0xf06e('0xb9')][_0xf06e('0xad')]);_0x3cf1f8[_0xf06e('0x3d')]=_['keys'](_0x139e39['query']);_0x3cf1f8['filters']=_[_0xf06e('0x3b')](_0x3cf1f8['model'],_0x3cf1f8['query']);_0x4d9f28[_0xf06e('0x3f')]=_[_0xf06e('0x3b')](_0x3cf1f8[_0xf06e('0x3c')],qs[_0xf06e('0x3e')](_0x139e39[_0xf06e('0x3d')][_0xf06e('0x3e')]));_0x4d9f28[_0xf06e('0x3f')]=_0x4d9f28['attributes'][_0xf06e('0x40')]?_0x4d9f28['attributes']:_0x3cf1f8['model'];if(!_0x139e39[_0xf06e('0x3d')][_0xf06e('0x41')](_0xf06e('0x42'))){_0x4d9f28['limit']=qs[_0xf06e('0x27')](_0x139e39[_0xf06e('0x3d')][_0xf06e('0x27')]);_0x4d9f28['offset']=qs[_0xf06e('0x26')](_0x139e39[_0xf06e('0x3d')]['offset']);}_0x4d9f28[_0xf06e('0x43')]=qs[_0xf06e('0x44')](_0x139e39[_0xf06e('0x3d')][_0xf06e('0x44')]);_0x4d9f28[_0xf06e('0x45')]=qs[_0xf06e('0x3a')](_['pick'](_0x139e39[_0xf06e('0x3d')],_0x3cf1f8[_0xf06e('0x3a')]));_0x4d9f28[_0xf06e('0x45')]['ChatInteractionId']=_0x1a50b8['id'];if(_0x139e39[_0xf06e('0x3d')]['filter']){_0x4d9f28[_0xf06e('0x45')]=_[_0xf06e('0xaf')](_0x4d9f28[_0xf06e('0x45')],{'$or':_[_0xf06e('0x30')](_0x4d9f28['attributes'],function(_0x438df7){var _0x30bdd5={};_0x30bdd5[_0x438df7]={'$like':'%'+_0x139e39[_0xf06e('0x3d')][_0xf06e('0x7c')]+'%'};return _0x30bdd5;})});}_0x4d9f28[_0xf06e('0x45')][_0xf06e('0xe4')]=![];if(_0x139e39[_0xf06e('0x3d')]['id']){_0x4d9f28['where']['id']={'$gt':_0x139e39[_0xf06e('0x3d')]['id']};}_0x4d9f28=_[_0xf06e('0xaf')]({},_0x4d9f28,_0x139e39[_0xf06e('0xf7')]);return db[_0xf06e('0xb9')]['count']({'where':_0x4d9f28[_0xf06e('0x45')]})[_0xf06e('0x17')](function(_0x389839){_0x2435f2[_0xf06e('0x25')]=_0x389839;_0x4d9f28[_0xf06e('0xae')]=[];if(_0x139e39['query']['includeAgent']){_0x4d9f28[_0xf06e('0xae')]['push']({'model':db[_0xf06e('0x6a')],'as':_0xf06e('0x6a'),'attributes':['id',_0xf06e('0x31'),'alias']});}if(_0x139e39[_0xf06e('0x3d')][_0xf06e('0xf8')]){_0x4d9f28[_0xf06e('0xae')]=[{'all':!![]}];}return db[_0xf06e('0xb9')]['findAll'](_0x4d9f28);})[_0xf06e('0x17')](function(_0x5f20ed){_0x2435f2[_0xf06e('0xaa')]=_0x5f20ed;return _0x2435f2;});}})[_0xf06e('0x17')](respondWithFilteredResult(_0x23c0a9,_0x4d9f28))[_0xf06e('0x20')](handleError(_0x23c0a9,null));};exports[_0xf06e('0xfb')]=function(_0x345c15,_0xb9e469,_0x2bf07f){return db[_0xf06e('0x93')][_0xf06e('0x64')]({'where':{'id':_0x345c15[_0xf06e('0xac')]['id']}})[_0xf06e('0x17')](handleEntityNotFound(_0xb9e469,null))['then'](function(_0x8238f3){if(_0x8238f3){return _0x8238f3['setTags'](_0x345c15[_0xf06e('0xb1')][_0xf06e('0xf4')],_[_0xf06e('0xfc')](_0x345c15[_0xf06e('0xb1')],[_0xf06e('0xf4'),'id'])||{})[_0xf06e('0xfd')](function(){return db[_0xf06e('0x68')][_0xf06e('0xf9')]({'attributes':['id',_0xf06e('0x2e'),_0xf06e('0x48')],'where':{'id':_0x345c15[_0xf06e('0xb1')][_0xf06e('0xf4')]}});})[_0xf06e('0x17')](function(_0x536240){socket[_0xf06e('0xfe')](_0xf06e('0xff'),{'id':Number(_0x345c15[_0xf06e('0xac')]['id']),'tags':_0x536240||[]});return{'id':Number(_0x345c15['params']['id']),'tags':_0x536240||[]};});}})['then'](respondWithResult(_0xb9e469,null))[_0xf06e('0x20')](handleError(_0xb9e469,null));};exports[_0xf06e('0x100')]=function(_0x401cc2,_0x4e8f8d,_0x536807){return db[_0xf06e('0x93')]['find']({'where':{'id':_0x401cc2[_0xf06e('0xac')]['id']}})['then'](handleEntityNotFound(_0x4e8f8d,null))[_0xf06e('0x17')](function(_0x4029bd){if(_0x4029bd){return _0x4029bd['removeTags'](_0x401cc2['query'][_0xf06e('0xf4')]);}})[_0xf06e('0x17')](respondWithStatusCode(_0x4e8f8d,null))[_0xf06e('0x20')](handleError(_0x4e8f8d,null));};exports[_0xf06e('0xce')]=function(_0x55be94,_0x450518){var _0x4b536e=moment()[_0xf06e('0x101')]()[_0xf06e('0x91')]();var _0xf43269=path[_0xf06e('0xcf')](config[_0xf06e('0xd0')],_0xf06e('0x102'),_0xf06e('0x103'),_0xf06e('0x104'));var _0x518938=path[_0xf06e('0xcf')](config[_0xf06e('0xd0')],_0xf06e('0x102'),_0xf06e('0x103'),_0xf06e('0x105'));var _0xf2938a=path[_0xf06e('0xcf')](_0xf43269,_0x4b536e);var _0x535af8=util[_0xf06e('0xe2')](_0xf06e('0x106'),_0x55be94[_0xf06e('0xac')]['id'],_0x4b536e);var _0x5e3456=path[_0xf06e('0xcf')](_0xf43269,_0x535af8);var _0x18577a=[];_0x18577a[_0xf06e('0xa8')]({'model':db['User'],'as':_0xf06e('0x6a'),'attributes':['id',_0xf06e('0x31')],'raw':!![]});_0x18577a[_0xf06e('0xa8')]({'model':db['CmContact'],'as':_0xf06e('0x5e'),'attributes':['id',_0xf06e('0x107'),_0xf06e('0x108')],'raw':!![]});if(_0x55be94[_0xf06e('0x3d')][_0xf06e('0x105')]){_0x18577a[_0xf06e('0xa8')]({'model':db[_0xf06e('0xca')],'as':'Attachment','raw':!![]});}var _0x1c21f7=[{'model':db[_0xf06e('0xb9')],'as':_0xf06e('0xd7'),'attributes':['id','body','createdAt',_0xf06e('0x109'),_0xf06e('0xe4'),_0xf06e('0x10a')],'include':_0x18577a}];_0x1c21f7[_0xf06e('0xa8')]({'model':db[_0xf06e('0xd8')],'as':_0xf06e('0x10b'),'attributes':['id','name']});_0x1c21f7[_0xf06e('0xa8')]({'model':db[_0xf06e('0x6a')],'as':_0xf06e('0x10c'),'attributes':['id',_0xf06e('0x31')]});return db[_0xf06e('0x93')][_0xf06e('0x64')]({'where':{'id':_0x55be94[_0xf06e('0xac')]['id']},'include':_0x1c21f7})[_0xf06e('0x17')](handleEntityNotFound(_0x450518,null))[_0xf06e('0x17')](function(_0x2532b2){if(_0x2532b2){var _0x3ca29e=_0x2532b2[_0xf06e('0x10d')]({'plain':!![]});fs[_0xf06e('0x10e')](_0xf2938a);var _0x14c284={'format':'A4','border':'10px','header':{'height':_0xf06e('0x10f'),'contents':{'first':_0xf06e('0x110')}},'footer':{'height':'30px','contents':{'default':util[_0xf06e('0xe2')](_0xf06e('0x111'),util[_0xf06e('0xe2')](_0xf06e('0x112'),'Chat',_0x3ca29e['id']),moment()['format'](_0xf06e('0x113'))[_0xf06e('0x91')]())}}};var _0x5c0692={'channel':_0xf06e('0x114'),'account':_0x3ca29e[_0xf06e('0x10b')][_0xf06e('0x2e')],'agent':_0x3ca29e[_0xf06e('0x10c')]?_0x3ca29e['Owner']['fullname']:_0xf06e('0x115'),'createdAt':moment(_0x3ca29e[_0xf06e('0x71')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0xf06e('0x91')](),'closedAt':_0x3ca29e['closed']?moment(_0x3ca29e[_0xf06e('0x116')])[_0xf06e('0xe2')](_0xf06e('0x117'))[_0xf06e('0x91')]():'','disposition':_0x3ca29e[_0xf06e('0xc3')],'chatInfo':{'browser':_0x3ca29e[_0xf06e('0x118')],'os':_0x3ca29e[_0xf06e('0x119')],'referer':_0x3ca29e[_0xf06e('0x11a')],'customerIp':_0x3ca29e[_0xf06e('0x11b')],'customerPort':_0x3ca29e[_0xf06e('0x11c')]?_0x3ca29e[_0xf06e('0x11c')]:_0xf06e('0x115')},'messages':_(_0x3ca29e[_0xf06e('0xd7')])[_0xf06e('0x11d')]()[_0xf06e('0x7c')]({'secret':![]})[_0xf06e('0x30')](function(_0x1ad898){if(_0x1ad898['Attachment']){var _0x4ef9df=path[_0xf06e('0xcf')](_0x518938,_0x1ad898[_0xf06e('0xca')]['basename']);if(fs['existsSync'](_0x4ef9df)){fs[_0xf06e('0x11e')](_0x4ef9df)[_0xf06e('0x11f')](fs[_0xf06e('0x120')](path[_0xf06e('0xcf')](_0xf2938a,_0x1ad898['Attachment'][_0xf06e('0xc7')])));}}return{'date':moment(_0x1ad898[_0xf06e('0x71')])[_0xf06e('0xe2')](_0xf06e('0x117'))[_0xf06e('0x91')](),'sender':_0x1ad898[_0xf06e('0x109')]===_0xf06e('0x121')?_0x1ad898['User']?_0x1ad898[_0xf06e('0x6a')][_0xf06e('0x31')]:_0xf06e('0xdb'):_0x1ad898[_0xf06e('0x5e')][_0xf06e('0x107')]+(_0x1ad898[_0xf06e('0x5e')]['lastName']?'\x20'+_0x1ad898[_0xf06e('0x5e')]['lastName']:''),'body':_0x1ad898[_0xf06e('0xca')]?_0x1ad898[_0xf06e('0xca')][_0xf06e('0xc7')]:_0x1ad898[_0xf06e('0xb1')],'direction':_0x1ad898[_0xf06e('0x109')]==='out'?'A':'C','secret':_0x1ad898[_0xf06e('0xe4')],'read':_0x1ad898[_0xf06e('0x10a')],'attachment':_0x1ad898[_0xf06e('0xca')]};})[_0xf06e('0x5a')]()};return ejs[_0xf06e('0x122')](path[_0xf06e('0xcf')](config[_0xf06e('0xd0')],'server',_0xf06e('0x123'),_0xf06e('0x124')),{'interaction':_0x5c0692})['then'](function(_0x196e94){return new BPromise(function(_0xd20f9d,_0x4af4d7){pdf['create'](_0x196e94,_0x14c284)['toFile'](path[_0xf06e('0xcf')](_0xf2938a,'transcript-'+_0x3ca29e['id']+'-'+_0x4b536e+_0xf06e('0x125')),function(_0x49c3a2,_0x1aa1aa){if(_0x49c3a2)return _0x4af4d7(_0x49c3a2);_0xd20f9d(_0x1aa1aa);});});})['then'](function(){return new BPromise(function(_0x36e597,_0xf5c609){zipdir(_0xf2938a,{'saveTo':_0x5e3456},function(_0x11496d,_0x5a8123){if(_0x11496d)return _0xf5c609(_0x11496d);return _0x36e597(_0x5a8123);});})[_0xf06e('0x17')](function(){return new BPromise(function(_0x3182cc,_0x576bb5){rimraf(_0xf2938a,function(_0x4d7e57){if(_0x4d7e57)_0x576bb5(_0x4d7e57);return _0x3182cc();});});})[_0xf06e('0x17')](function(){return _0x450518[_0xf06e('0xce')](_0x5e3456,_0x535af8,function(_0x32d641){if(_0x32d641){console[_0xf06e('0x126')]('err',_0x32d641);}else{fs[_0xf06e('0x127')](_0x5e3456);}});});});}else{return _0x450518[_0xf06e('0x21')](0xc8);}})[_0xf06e('0x20')](handleError(_0x450518,null));};