912679a16d9db50dc36e4e9a11d4c60b5c827990
[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 _0xc2a2=['Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','all','rows','includeAll','merge','options','create','update','params','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','POST','MotionCWB:','follow','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','closed','disposition','file','originalname','mimetype','Attachment','attachmentDownload','attachId','download','root','server/files/attachments/','basename','close','join','server/files/chat/upload/','format','transcript-%s.txt','now','pathTranscript','Messages','CmContact','%s%d','System','customer','Visitor','agentAlias','agent_alias','alias','[%s]\x20%s:\x20%s\x0a','secret','appendFileSync','MailAccount','Smtp','service','host','port','secure','authentication','pass','SendMail','sendMail','\x22%s\x22\x20<%s>','email','mailTranscript','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','hasOwnProperty','ChatInteractionId','$gte','YYYY-MM-DD\x20HH:mm:ss','include','findAll','getMyMessages','includeAgent','addTags','setTags','spread','emit','removeTags','server','files','attachments','transcript-%d-%s.zip','Contact','firstName','lastName','direction','Account','10px','<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','Chat','YYYY-MM-DD','Owner','closedAt','browserName','osName','referer','customerPort','N.A.','existsSync','renderFile','views','downloadInteraction.html','toFile','transcript-','log','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','client','http','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','name','send','Users','map','fullname','TagIds','split','forEach','Tags','push','ChatInteraction','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','nolimit','order','sort','pick','filters','field','color','from','select','u.id','user_has_chat_interactions','u.id\x20=\x20ui.UserId','chat_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','tools_tags','expr','search','parseSearch','sqlOperator','conditions','length','find','unreadMessages','having','`\x20=\x200','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','buildExpression','text','start','Tag','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','compact','isEmpty','ChatWebsiteId','createdAt','parse','$lte','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','i.id','Sequelize','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','user','agent','sequelize','toString','keyBy','a.key','Account.key','Account.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.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','c.mobile'];(function(_0x40d5cc,_0xf9d2c7){var _0x6950af=function(_0x295221){while(--_0x295221){_0x40d5cc['push'](_0x40d5cc['shift']());}};_0x6950af(++_0xf9d2c7);}(_0xc2a2,0x84));var _0x2c2a=function(_0x36bf50,_0x4fbf4e){_0x36bf50=_0x36bf50-0x0;var _0x35babc=_0xc2a2[_0x36bf50];return _0x35babc;};'use strict';var pdf=require(_0x2c2a('0x0'));var emlformat=require(_0x2c2a('0x1'));var rimraf=require(_0x2c2a('0x2'));var zipdir=require(_0x2c2a('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2c2a('0x4'));var moment=require(_0x2c2a('0x5'));var BPromise=require(_0x2c2a('0x6'));var Mustache=require('mustache');var util=require(_0x2c2a('0x7'));var path=require(_0x2c2a('0x8'));var sox=require(_0x2c2a('0x9'));var csv=require(_0x2c2a('0xa'));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(_0x2c2a('0xb'));var toCsv=require('to-csv');var querystring=require(_0x2c2a('0xc'));var Papa=require('papaparse');var Redis=require(_0x2c2a('0xd'));var authService=require(_0x2c2a('0xe'));var qs=require(_0x2c2a('0xf'));var as=require(_0x2c2a('0x10'));var hardwareService=require(_0x2c2a('0x11'));var logger=require(_0x2c2a('0x12'))('api');var utils=require('../../config/utils');var config=require(_0x2c2a('0x13'));var licenseUtil=require(_0x2c2a('0x14'));var db=require(_0x2c2a('0x15'))['db'];config[_0x2c2a('0x16')]=_[_0x2c2a('0x17')](config[_0x2c2a('0x16')],{'host':'localhost','port':0x18eb});var socket=require(_0x2c2a('0x18'))(new Redis(config[_0x2c2a('0x16')]));require('./chatInteraction.socket')[_0x2c2a('0x19')](socket);var jayson=require('jayson/promise');var client=jayson[_0x2c2a('0x1a')]['http']({'port':0x232b});var client9004=jayson[_0x2c2a('0x1a')][_0x2c2a('0x1b')]({'port':0x232c});function respondWithRpcPromise(_0x523692,_0x10b98e,_0x1c9a04,_0x250d08){return new BPromise(function(_0x7af854,_0x93d544){var _0x14486f=_0x250d08||client;return _0x14486f['request'](_0x523692,_0x1c9a04)['then'](function(_0x4149e2){logger['info'](_0x2c2a('0x1c'),_0x10b98e,_0x2c2a('0x1d'));logger[_0x2c2a('0x1e')](_0x2c2a('0x1f'),_0x10b98e,_0x2c2a('0x1d'),JSON[_0x2c2a('0x20')](_0x4149e2));if(_0x4149e2[_0x2c2a('0x21')]){if(_0x4149e2[_0x2c2a('0x21')][_0x2c2a('0x22')]===0x1f4){logger[_0x2c2a('0x21')]('ChatInteraction,\x20%s,\x20%s',_0x10b98e,_0x4149e2[_0x2c2a('0x21')]['message']);return _0x93d544(_0x4149e2[_0x2c2a('0x21')][_0x2c2a('0x23')]);}logger['error'](_0x2c2a('0x1c'),_0x10b98e,_0x4149e2[_0x2c2a('0x21')][_0x2c2a('0x23')]);return _0x7af854(_0x4149e2['error'][_0x2c2a('0x23')]);}else{logger[_0x2c2a('0x24')](_0x2c2a('0x1c'),_0x10b98e,_0x2c2a('0x1d'));_0x7af854(_0x4149e2[_0x2c2a('0x25')][_0x2c2a('0x23')]);}})[_0x2c2a('0x26')](function(_0x459aee){logger['error']('ChatInteraction,\x20%s,\x20%s',_0x10b98e,_0x459aee);_0x93d544(_0x459aee);});});}function respondWithStatusCode(_0x5afa5f,_0x5b0530){_0x5b0530=_0x5b0530||0xcc;return function(_0x35f048){if(_0x35f048){return _0x5afa5f[_0x2c2a('0x27')](_0x5b0530);}return _0x5afa5f[_0x2c2a('0x28')](_0x5b0530)[_0x2c2a('0x29')]();};}function respondWithResult(_0x39e3d6,_0x43239d){_0x43239d=_0x43239d||0xc8;return function(_0x51b536){if(_0x51b536){return _0x39e3d6['status'](_0x43239d)[_0x2c2a('0x2a')](_0x51b536);}};}function respondWithFilteredResult(_0x1d907f,_0x10e371){return function(_0x27dc1b){if(_0x27dc1b){var _0x5c2fbb=_0x27dc1b[_0x2c2a('0x2b')],_0xe8bd4b=_0x10e371[_0x2c2a('0x2c')],_0x735b1b=_0x10e371[_0x2c2a('0x2c')]+_0x10e371[_0x2c2a('0x2d')],_0x134a64;if(_0x735b1b>=_0x5c2fbb){_0x735b1b=_0x5c2fbb;_0x134a64=0xc8;}else{_0x134a64=0xce;}_0x1d907f[_0x2c2a('0x28')](_0x134a64);return _0x1d907f[_0x2c2a('0x2e')](_0x2c2a('0x2f'),_0xe8bd4b+'-'+_0x735b1b+'/'+_0x5c2fbb)[_0x2c2a('0x2a')](_0x27dc1b);}return null;};}function patchUpdates(_0x19a2f6){return function(_0x3fa5e7){try{jsonpatch[_0x2c2a('0x30')](_0x3fa5e7,_0x19a2f6,!![]);}catch(_0x570152){return BPromise[_0x2c2a('0x31')](_0x570152);}return _0x3fa5e7[_0x2c2a('0x32')]();};}function saveUpdates(_0x19b86f,_0x42db35){return function(_0x10f66f){if(_0x10f66f){return _0x10f66f['update'](_0x19b86f)[_0x2c2a('0x33')](function(_0x307c07){return _0x307c07;});}return null;};}function removeEntity(_0x51536b,_0x1c734c){return function(_0x4d94f2){if(_0x4d94f2){return _0x4d94f2[_0x2c2a('0x34')]()[_0x2c2a('0x33')](function(){_0x51536b[_0x2c2a('0x28')](0xcc)[_0x2c2a('0x29')]();});}};}function handleEntityNotFound(_0x1d3152,_0x39d341){return function(_0x3ff77b){if(!_0x3ff77b){_0x1d3152['sendStatus'](0x194);}return _0x3ff77b;};}function handleError(_0x3e9678,_0x385a19){_0x385a19=_0x385a19||0x1f4;return function(_0x231a98){logger['error'](_0x231a98['stack']);if(_0x231a98[_0x2c2a('0x35')]){delete _0x231a98['name'];}_0x3e9678[_0x2c2a('0x28')](_0x385a19)[_0x2c2a('0x36')](_0x231a98);};}function getInteractionUsers(_0x126730,_0x3e6b12){return new BPromise(function(_0x223302,_0x4e4130){try{if(_0x3e6b12[_0x126730['id']]){_0x126730[_0x2c2a('0x37')]=_[_0x2c2a('0x38')](_0x3e6b12[_0x126730['id']],function(_0x439aad){return{'id':_0x439aad['id'],'fullname':_0x439aad[_0x2c2a('0x39')]};});}}catch(_0x38e289){_0x4e4130(_0x38e289);}_0x223302(_0x126730);});}function getInteractionTags(_0x25eec5,_0x10452e){return new BPromise(function(_0x3adb1f,_0x2e7061){try{if(_0x25eec5[_0x2c2a('0x3a')]){_0x25eec5['Tags']=[];_0x25eec5['TagIds'][_0x2c2a('0x3b')](',')[_0x2c2a('0x3c')](function(_0x3c38ed){_0x25eec5[_0x2c2a('0x3d')][_0x2c2a('0x3e')](_0x10452e[_0x3c38ed]);});}delete _0x25eec5[_0x2c2a('0x3a')];}catch(_0x5d4fc4){_0x2e7061(_0x5d4fc4);}_0x3adb1f(_0x25eec5);});}function updateChatInteraction(_0x57e2a4,_0x46928,_0x8eadc3){return new BPromise(function(_0x2589b9,_0x42d135){return getInteractionUsers(_0x57e2a4,_0x8eadc3)[_0x2c2a('0x33')](function(_0x178269){return getInteractionTags(_0x178269,_0x46928);})[_0x2c2a('0x33')](function(_0x1b9ab3){_0x2589b9(_0x1b9ab3);})[_0x2c2a('0x26')](function(_0xa05230){_0x42d135(_0xa05230);});});}exports['index']=function(_0x87a74,_0x5ab83d){var _0x349f9b={},_0x3e339f={},_0x3d6ba6={'count':0x0,'rows':[]};var _0x381b6d=_['map'](db[_0x2c2a('0x3f')][_0x2c2a('0x40')],function(_0x5706f2){return{'name':_0x5706f2[_0x2c2a('0x41')],'type':_0x5706f2[_0x2c2a('0x42')][_0x2c2a('0x43')]};});_0x3e339f[_0x2c2a('0x44')]=_[_0x2c2a('0x38')](_0x381b6d,_0x2c2a('0x35'));_0x3e339f[_0x2c2a('0x45')]=_[_0x2c2a('0x46')](_0x87a74['query']);_0x3e339f['filters']=_[_0x2c2a('0x47')](_0x3e339f['model'],_0x3e339f[_0x2c2a('0x45')]);_0x349f9b['attributes']=_[_0x2c2a('0x47')](_0x3e339f['model'],qs[_0x2c2a('0x48')](_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x48')]));_0x349f9b[_0x2c2a('0x49')]=_0x349f9b['attributes']['length']?_0x349f9b[_0x2c2a('0x49')]:_0x3e339f['model'];if(!_0x87a74[_0x2c2a('0x45')]['hasOwnProperty'](_0x2c2a('0x4a'))){_0x349f9b[_0x2c2a('0x2d')]=qs['limit'](_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x2d')]);_0x349f9b['offset']=qs['offset'](_0x87a74[_0x2c2a('0x45')]['offset']);}_0x349f9b[_0x2c2a('0x4b')]=qs[_0x2c2a('0x4c')](_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x4c')]);_0x349f9b['where']=qs['filters'](_[_0x2c2a('0x4d')](_0x87a74[_0x2c2a('0x45')],_0x3e339f[_0x2c2a('0x4e')]),_0x381b6d);var _0x2030b7=[];var _0x5370cc=squel['select']()[_0x2c2a('0x4f')]('id')['field'](_0x2c2a('0x35'))['field'](_0x2c2a('0x50'))[_0x2c2a('0x51')]('tools_tags');var _0x4e2602=squel[_0x2c2a('0x52')]()[_0x2c2a('0x4f')](_0x2c2a('0x53'))[_0x2c2a('0x4f')]('u.fullname')[_0x2c2a('0x4f')]('ui.ChatInteractionId')[_0x2c2a('0x51')](_0x2c2a('0x54'),'ui')['left_join']('users','u',_0x2c2a('0x55'));var _0x3b3dec=squel[_0x2c2a('0x52')]()[_0x2c2a('0x51')](_0x2c2a('0x56'),'i')[_0x2c2a('0x57')](_0x2c2a('0x58'),'c',_0x2c2a('0x59'))['left_join'](_0x2c2a('0x5a'),'o',_0x2c2a('0x5b'))['left_join'](_0x2c2a('0x5c'),'a',_0x2c2a('0x5d'))[_0x2c2a('0x57')]('chat_messages','me','me.ChatInteractionId\x20=\x20i.id')['left_join'](_0x2c2a('0x5e'),'it',_0x2c2a('0x5f'))[_0x2c2a('0x57')](_0x2c2a('0x60'),'t','t.id\x20=\x20it.TagId');var _0x1702d2=squel[_0x2c2a('0x61')]();var _0x15c1af=[];var _0x4f1bed=squel[_0x2c2a('0x61')]();var _0x5eca2d;if(_0x87a74['query'][_0x2c2a('0x62')]){_0x5eca2d=as[_0x2c2a('0x63')](_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x62')]);var _0x157967=_0x5eca2d[_0x2c2a('0x64')];for(var _0x5b65be=0x0;_0x5b65be<_0x5eca2d[_0x2c2a('0x65')][_0x2c2a('0x66')];_0x5b65be++){var _0x106de3=_0x5eca2d[_0x2c2a('0x65')][_0x5b65be];var _0x3b243f='i';var _0x2f2529=_[_0x2c2a('0x67')](_0x381b6d,[_0x2c2a('0x35'),_0x106de3[_0x2c2a('0x4f')]]);if(!_0x2f2529){switch(_0x106de3[_0x2c2a('0x4f')]){case _0x2c2a('0x68'):if(_0x106de3['value']==0x1){_0x3b3dec[_0x2c2a('0x69')]('`'+_0x106de3['field']+_0x2c2a('0x6a'));}else{_0x3b3dec[_0x2c2a('0x69')]('`'+_0x106de3[_0x2c2a('0x4f')]+'`\x20>\x200');}break;case'Contact':if(_0x106de3['operator']===_0x2c2a('0x6b')){if(_0x106de3[_0x2c2a('0x6c')]['split']('\x20')[_0x2c2a('0x66')]>0x1){_0x1702d2[_0x157967](_0x2c2a('0x6d'),qs['getFullTextValue'](_0x106de3['value']),null);}else{var _0x38087e='%'+_0x106de3['value']+'%';_0x1702d2[_0x157967]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x38087e,_0x38087e,_0x38087e);}}else{_0x2f2529=_['find'](_0x381b6d,[_0x2c2a('0x35'),_0x2c2a('0x6e')]);_0x106de3['field']=_0x2c2a('0x6e');_0x3097af=as[_0x2c2a('0x6f')](_0x3b243f,_0x2f2529[_0x2c2a('0x42')],_0x106de3);_0x1702d2[_0x157967](_0x3097af[_0x2c2a('0x70')],_0x3097af['value'][_0x2c2a('0x71')],_0x3097af['value']['end']);}break;case _0x2c2a('0x72'):var _0x503821=_0x106de3[_0x2c2a('0x6c')][_0x2c2a('0x3b')](',')[_0x2c2a('0x38')](function(_0x120770){return Number(_0x120770);});_0x503821[_0x2c2a('0x3c')](function(_0x2b4032){_0x4f1bed['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x2b4032+',%');});_0x15c1af=_[_0x2c2a('0x73')](_0x15c1af,_0x503821);break;case _0x2c2a('0x74'):if(_0x106de3['operator']===_0x2c2a('0x6b')){_0x1702d2[_0x157967](_0x2c2a('0x75'),'%'+_0x106de3[_0x2c2a('0x6c')]+'%',null);}else{_0x2f2529=_[_0x2c2a('0x67')](_0x381b6d,[_0x2c2a('0x35'),_0x2c2a('0x76')]);_0x106de3[_0x2c2a('0x4f')]='UserId';_0x3097af=as[_0x2c2a('0x6f')](_0x3b243f,_0x2f2529[_0x2c2a('0x42')],_0x106de3);_0x1702d2[_0x157967](_0x3097af['text'],_0x3097af['value'][_0x2c2a('0x71')],_0x3097af[_0x2c2a('0x6c')][_0x2c2a('0x29')]);}break;case _0x2c2a('0x77'):_0x3097af=as[_0x2c2a('0x6f')]('me',null,_0x106de3);_0x1702d2[_0x157967](_0x3097af['text'],_0x3097af[_0x2c2a('0x6c')][_0x2c2a('0x71')],_0x3097af['value'][_0x2c2a('0x29')]);break;}}else{var _0x3097af=as[_0x2c2a('0x6f')](_0x3b243f,_0x2f2529[_0x2c2a('0x42')],_0x106de3);_0x1702d2[_0x157967](_0x3097af['text'],_0x3097af[_0x2c2a('0x6c')][_0x2c2a('0x71')],_0x3097af['value'][_0x2c2a('0x29')]);}}}else{var _0x16dbc3=_(_0x87a74['query'])[_0x2c2a('0x46')]()[_0x2c2a('0x38')](function(_0x484165){return _['some'](_0x381b6d,[_0x2c2a('0x35'),_0x484165])?_0x484165:undefined;})[_0x2c2a('0x78')]()[_0x2c2a('0x6c')]();if(!_[_0x2c2a('0x79')](_0x16dbc3)){_0x16dbc3[_0x2c2a('0x3c')](function(_0x4d01a6){if(_0x4d01a6===_0x2c2a('0x7a')){_0x3b3dec['where']('i.ChatWebsiteId\x20IN\x20?',[]['concat'](_0x87a74['query'][_0x4d01a6]));}else if(_0x4d01a6===_0x2c2a('0x7b')){var _0x1a1725=JSON[_0x2c2a('0x7c')](_0x87a74[_0x2c2a('0x45')][_0x4d01a6])['$gte'];var _0x3acb44=JSON[_0x2c2a('0x7c')](_0x87a74[_0x2c2a('0x45')][_0x4d01a6])[_0x2c2a('0x7d')];_0x3b3dec[_0x2c2a('0x7e')](_0x2c2a('0x7f'),_0x1a1725,_0x3acb44);}else{if(_0x87a74[_0x2c2a('0x45')][_0x4d01a6]===_0x2c2a('0x80')){_0x3b3dec[_0x2c2a('0x7e')]('i.'+_0x4d01a6+'\x20IS\x20NULL');}else{_0x3b3dec['where']('i.'+_0x4d01a6+_0x2c2a('0x81'),_0x87a74[_0x2c2a('0x45')][_0x4d01a6]);}}});}if(_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x82')]){if(_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x82')]==0x1){_0x3b3dec[_0x2c2a('0x69')](_0x2c2a('0x83'));}else{_0x3b3dec[_0x2c2a('0x69')](_0x2c2a('0x84'));}}if(_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x85')]){_0x15c1af=_['isArray'](_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x85')])?_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x85')]:new Array(_0x87a74['query'][_0x2c2a('0x85')]);_0x15c1af[_0x2c2a('0x3c')](function(_0x40aefe){_0x4f1bed['or'](_0x2c2a('0x86'),'%,'+_0x40aefe+',%');});}if(_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x87')]){var _0x37440a=_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x87')]['replace']('\x5c','\x5c\x5c')[_0x2c2a('0x88')](/'/g,'\x27\x27');if(qs[_0x2c2a('0x89')](_0x37440a)){_0x1702d2['or']('i.id\x20LIKE\x20?',_0x37440a+'%');}else{_0x1702d2['or'](_0x2c2a('0x8a'),qs[_0x2c2a('0x8b')](_0x37440a))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x37440a+'%');}}}_0x3b3dec[_0x2c2a('0x7e')](_0x1702d2);_0x3b3dec['group'](_0x2c2a('0x8c'));var _0x2ce170={'type':db[_0x2c2a('0x8d')][_0x2c2a('0x8e')]['SELECT'],'raw':!![]};var _0x135250=_0x3b3dec[_0x2c2a('0x8f')]();_0x135250['field']('i.id');_0x135250[_0x2c2a('0x4f')](_0x2c2a('0x90'),_0x2c2a('0x68'));if(_0x349f9b['order']){_0x349f9b[_0x2c2a('0x4b')][_0x2c2a('0x3c')](function(_0x92f953){var _0x56cc77=_0x92f953[0x0]===_0x2c2a('0x91')?_0x92f953[0x0]:'i.'+_0x92f953[0x0];_0x3b3dec[_0x2c2a('0x4b')](_0x56cc77,_0x92f953[0x1]===_0x2c2a('0x92')?![]:!![]);});}if(!_[_0x2c2a('0x79')](_0x15c1af)){_0x3b3dec['having'](_0x4f1bed);_0x135250[_0x2c2a('0x7e')](_0x2c2a('0x93'),_0x15c1af);}BPromise[_0x2c2a('0x94')]()[_0x2c2a('0x33')](function(){if(!_0x5eca2d){if(_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x7a')]||_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x95')])return;_0x135250[_0x2c2a('0x7e')](_0x2c2a('0x96'));_0x3b3dec['where'](_0x2c2a('0x96'));return;}if(_0x87a74['user'][_0x2c2a('0x97')]!=='agent')return;return _0x87a74['user'][_0x2c2a('0x98')]({'attributes':['id'],'raw':!![]})[_0x2c2a('0x33')](function(_0x41bc3b){if(_['isEmpty'](_0x41bc3b)){_0x135250[_0x2c2a('0x7e')](_0x2c2a('0x99'));_0x3b3dec[_0x2c2a('0x7e')](_0x2c2a('0x99'));}else{_0x135250[_0x2c2a('0x7e')](_0x2c2a('0x9a'),_[_0x2c2a('0x38')](_0x41bc3b,'id'));_0x3b3dec[_0x2c2a('0x7e')]('i.ChatWebsiteId\x20IN\x20?',_[_0x2c2a('0x38')](_0x41bc3b,'id'));}});})[_0x2c2a('0x33')](function(){if(_0x87a74[_0x2c2a('0x9b')][_0x2c2a('0x97')]===_0x2c2a('0x9c')&&!_0x5eca2d&&!_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x7a')])return[];return db[_0x2c2a('0x9d')][_0x2c2a('0x45')](_0x135250['toString'](),_0x2ce170);})[_0x2c2a('0x33')](function(_0x2d63c2){_0x3d6ba6[_0x2c2a('0x2b')]=_0x2d63c2[_0x2c2a('0x66')];if(_0x3d6ba6[_0x2c2a('0x2b')]===0x0)return[];return db[_0x2c2a('0x9d')][_0x2c2a('0x45')](_0x5370cc[_0x2c2a('0x9e')](),_0x2ce170)['then'](function(_0x7d7d53){_0x2030b7=_[_0x2c2a('0x9f')](_0x7d7d53,'id');_0x2ce170=_['merge'](_0x2ce170,{'model':db[_0x2c2a('0x3f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x87a74[_0x2c2a('0x45')][_0x2c2a('0x48')]){_0x349f9b[_0x2c2a('0x49')][_0x2c2a('0x3c')](function(_0x3c23e6){_0x3b3dec[_0x2c2a('0x4f')]('i.'+_0x3c23e6);});}else{_0x3b3dec['field'](_0x2c2a('0x90'),_0x2c2a('0x68'));_0x3b3dec[_0x2c2a('0x4f')](_0x2c2a('0xa0'),_0x2c2a('0xa1'));_0x3b3dec[_0x2c2a('0x4f')]('a.mandatoryDisposition',_0x2c2a('0xa2'));_0x3b3dec[_0x2c2a('0x4f')](_0x2c2a('0xa3'),_0x2c2a('0x91'));_0x3b3dec[_0x2c2a('0x4f')](_0x2c2a('0xa4'));_0x3b3dec['field'](_0x2c2a('0xa5'),_0x2c2a('0xa6'));_0x3b3dec[_0x2c2a('0x4f')](_0x2c2a('0xa7'),_0x2c2a('0xa8'));_0x3b3dec[_0x2c2a('0x4f')](_0x2c2a('0xa9'),'Contact.email');_0x3b3dec[_0x2c2a('0x4f')]('c.phone','Contact.phone');_0x3b3dec['field'](_0x2c2a('0xaa'),_0x2c2a('0xab'));_0x3b3dec[_0x2c2a('0x4f')](_0x2c2a('0xac'),_0x2c2a('0xad'));_0x3b3dec[_0x2c2a('0x4f')](_0x2c2a('0xae'),_0x2c2a('0xaf'));_0x3b3dec[_0x2c2a('0x4f')](_0x2c2a('0xb0'),_0x2c2a('0xb1'));_0x3b3dec[_0x2c2a('0x4f')](_0x2c2a('0xb2'),_0x2c2a('0x3a'));}if(_0x349f9b[_0x2c2a('0x2d')])_0x3b3dec[_0x2c2a('0x2d')](_0x349f9b[_0x2c2a('0x2d')]);if(_0x349f9b[_0x2c2a('0x2c')])_0x3b3dec[_0x2c2a('0x2c')](_0x349f9b['offset']);return db[_0x2c2a('0x9d')][_0x2c2a('0x45')](_0x3b3dec['toString'](),_0x2ce170);})[_0x2c2a('0x33')](function(_0x2d0479){_0x4e2602['where']('ui.ChatInteractionId\x20IN\x20?',_[_0x2c2a('0x38')](_0x2d0479,'id'));return db['sequelize'][_0x2c2a('0x45')](_0x4e2602[_0x2c2a('0x9e')](),_0x2ce170)['then'](function(_0x51560b){var _0x5bbc9f=_[_0x2c2a('0xb3')](_0x51560b,'ChatInteractionId');var _0x281c59=[];_0x2d0479[_0x2c2a('0x3c')](function(_0x2f10cf){_0x281c59['push'](updateChatInteraction(_0x2f10cf,_0x2030b7,_0x5bbc9f));});return BPromise[_0x2c2a('0xb4')](_0x281c59);});});})['then'](function(_0x1af3ed){_0x3d6ba6[_0x2c2a('0xb5')]=_0x1af3ed;return _0x3d6ba6;})[_0x2c2a('0x33')](respondWithFilteredResult(_0x5ab83d,_0x349f9b))[_0x2c2a('0x26')](handleError(_0x5ab83d,null));};exports['show']=function(_0x3d6f59,_0x3c6617){var _0x5e60cc={'raw':![],'where':{'id':_0x3d6f59['params']['id']}},_0x49698d={};_0x49698d['model']=_[_0x2c2a('0x46')](db[_0x2c2a('0x3f')][_0x2c2a('0x40')]);_0x49698d[_0x2c2a('0x45')]=_[_0x2c2a('0x46')](_0x3d6f59[_0x2c2a('0x45')]);_0x49698d[_0x2c2a('0x4e')]=_[_0x2c2a('0x47')](_0x49698d['model'],_0x49698d[_0x2c2a('0x45')]);_0x5e60cc[_0x2c2a('0x49')]=_[_0x2c2a('0x47')](_0x49698d[_0x2c2a('0x44')],qs[_0x2c2a('0x48')](_0x3d6f59[_0x2c2a('0x45')][_0x2c2a('0x48')]));_0x5e60cc[_0x2c2a('0x49')]=_0x5e60cc[_0x2c2a('0x49')][_0x2c2a('0x66')]?_0x5e60cc['attributes']:_0x49698d['model'];if(_0x3d6f59[_0x2c2a('0x45')][_0x2c2a('0xb6')]){_0x5e60cc['include']=[{'all':!![]}];}_0x5e60cc=_[_0x2c2a('0xb7')]({},_0x5e60cc,_0x3d6f59[_0x2c2a('0xb8')]);return db['ChatInteraction'][_0x2c2a('0x67')](_0x5e60cc)[_0x2c2a('0x33')](handleEntityNotFound(_0x3c6617,null))[_0x2c2a('0x33')](respondWithResult(_0x3c6617,null))[_0x2c2a('0x26')](handleError(_0x3c6617,null));};exports[_0x2c2a('0xb9')]=function(_0x39fc80,_0x345c30){return db['ChatInteraction'][_0x2c2a('0xb9')](_0x39fc80[_0x2c2a('0x77')],{})[_0x2c2a('0x33')](respondWithResult(_0x345c30,0xc9))['catch'](handleError(_0x345c30,null));};exports[_0x2c2a('0xba')]=function(_0x4c48b2,_0x2b1ef3){if(_0x4c48b2['body']['id']){delete _0x4c48b2[_0x2c2a('0x77')]['id'];}return db[_0x2c2a('0x3f')][_0x2c2a('0x67')]({'where':{'id':_0x4c48b2['params']['id']}})['then'](handleEntityNotFound(_0x2b1ef3,null))['then'](saveUpdates(_0x4c48b2[_0x2c2a('0x77')],null))[_0x2c2a('0x33')](respondWithResult(_0x2b1ef3,null))[_0x2c2a('0x26')](handleError(_0x2b1ef3,null));};exports[_0x2c2a('0x34')]=function(_0x946ea1,_0x4e1813){return db[_0x2c2a('0x3f')][_0x2c2a('0x67')]({'where':{'id':_0x946ea1[_0x2c2a('0xbb')]['id']}})['then'](handleEntityNotFound(_0x4e1813,null))['then'](removeEntity(_0x4e1813,null))[_0x2c2a('0x26')](handleError(_0x4e1813,null));};exports['describe']=function(_0x1e3eeb,_0x4b1719){return db[_0x2c2a('0x3f')][_0x2c2a('0xbc')]()[_0x2c2a('0x33')](respondWithResult(_0x4b1719,null))[_0x2c2a('0x26')](handleError(_0x4b1719,null));};exports[_0x2c2a('0xbd')]=function(_0x4fbb13,_0x4c74f1){var _0xecbe68=_0x4fbb13[_0x2c2a('0xbb')]['id'];var _0x19b35f;var _0x8cc163;var _0x20b867;return db[_0x2c2a('0x3f')][_0x2c2a('0xbe')]({'where':{'id':_0xecbe68}})[_0x2c2a('0x33')](function(_0x379cc7){_0x19b35f=_0x379cc7;return db[_0x2c2a('0xbf')][_0x2c2a('0xbe')]({'where':{'id':_0x379cc7[_0x2c2a('0x7a')]},'attributes':['id',_0x2c2a('0xc0'),_0x2c2a('0xc1')],'raw':!![]});})[_0x2c2a('0x33')](function(_0x66f592){if(_0x66f592&&_0x66f592[_0x2c2a('0xc0')]&&_0x66f592[_0x2c2a('0xc1')]){_0x8cc163=_0x66f592;var _0x4c9014={'rejectUnauthorized':![],'method':_0x2c2a('0xc2'),'uri':'https://api-vidaoo.xcally.com/api/v1/sessions','headers':{'X-APIKEY':_0x66f592[_0x2c2a('0xc0')]},'body':{'name':_0x2c2a('0xc3')+_0xecbe68},'redirect':_0x2c2a('0xc4'),'json':!![]};return rp(_0x4c9014);}else{throw new db[(_0x2c2a('0x8d'))][(_0x2c2a('0xc5'))](_0x2c2a('0xc6'));}})[_0x2c2a('0x33')](function(_0x45f138){_0x20b867=_0x45f138;if(_0x20b867['id']){var _0x21d734={'body':_0x20b867[_0x2c2a('0xc7')],'ChatWebsiteId':_0x8cc163['id'],'ChatInteractionId':_0x19b35f['id'],'direction':_0x2c2a('0xc8'),'UserId':_0x4fbb13[_0x2c2a('0x9b')]['id']};return db[_0x2c2a('0xc9')][_0x2c2a('0xb9')](_0x21d734,{});}else{throw new db[(_0x2c2a('0x8d'))]['ValidationError'](_0x2c2a('0xca'));}})[_0x2c2a('0x33')](function(){return _0x19b35f[_0x2c2a('0xcb')]({'vidaooSessionId':_0x20b867['id']});})[_0x2c2a('0x33')](respondWithResult(_0x4c74f1,null))[_0x2c2a('0x26')](handleError(_0x4c74f1,null));};exports[_0x2c2a('0xcc')]=function(_0x4d50ed,_0x51f687){if(_0x4d50ed[_0x2c2a('0x77')]['id']){delete _0x4d50ed[_0x2c2a('0x77')]['id'];}return db[_0x2c2a('0x3f')][_0x2c2a('0x67')]({'where':{'id':_0x4d50ed[_0x2c2a('0xbb')]['id']}})[_0x2c2a('0x33')](handleEntityNotFound(_0x51f687,null))[_0x2c2a('0x33')](saveUpdates(_0x4d50ed[_0x2c2a('0x77')],null))[_0x2c2a('0x33')](respondWithResult(_0x51f687,null))[_0x2c2a('0x26')](handleError(_0x51f687,null));};exports[_0x2c2a('0xcd')]=function(_0x1ab982,_0x5354a7,_0x3f4982){if(_0x1ab982[_0x2c2a('0x77')]['id']){delete _0x1ab982[_0x2c2a('0x77')]['id'];}return db[_0x2c2a('0x3f')][_0x2c2a('0x67')]({'where':{'id':_0x1ab982[_0x2c2a('0xbb')]['id']}})[_0x2c2a('0x33')](function(_0xe91256){if(!_0xe91256){logger[_0x2c2a('0x21')](_0x2c2a('0xce'),'abandon',0x194,_0x2c2a('0xcf'));_0x5354a7[_0x2c2a('0x27')](0x194);}else{if(_0xe91256[_0x2c2a('0x76')]){throw new db['Sequelize'][(_0x2c2a('0xc5'))](_0x2c2a('0xd0'));}}return _0xe91256;})['then'](function(_0x40a1b5){if(_0x40a1b5){return _0x40a1b5[_0x2c2a('0xba')]({'closed':_0x1ab982['body'][_0x2c2a('0xd1')],'disposition':_0x1ab982[_0x2c2a('0x77')][_0x2c2a('0xd2')]})[_0x2c2a('0x33')](function(_0x134606){return _0x134606;});}})[_0x2c2a('0x33')](function(_0x17d2ed){return respondWithRpcPromise('AbandonInteraction',_0x2c2a('0xcd'),_0x1ab982[_0x2c2a('0x77')],client9004);})[_0x2c2a('0x33')](respondWithResult(_0x5354a7,null))[_0x2c2a('0x26')](handleError(_0x5354a7,null));};exports['attachmentUpload']=function(_0x3d12c5,_0x13c073,_0xeec6a8){_0x3d12c5[_0x2c2a('0x77')]['name']=_0x3d12c5[_0x2c2a('0xd3')][_0x2c2a('0xd4')];_0x3d12c5[_0x2c2a('0x77')]['basename']=_0x3d12c5[_0x2c2a('0xd3')]['filename'];_0x3d12c5[_0x2c2a('0x77')]['type']=_0x3d12c5[_0x2c2a('0xd3')][_0x2c2a('0xd5')];return db[_0x2c2a('0xd6')][_0x2c2a('0xb9')](_0x3d12c5[_0x2c2a('0x77')])[_0x2c2a('0x33')](respondWithResult(_0x13c073,0xc9))[_0x2c2a('0x26')](handleError(_0x13c073,null));};exports[_0x2c2a('0xd7')]=function(_0x541f0e,_0x4858f1,_0x421205){return db[_0x2c2a('0x3f')][_0x2c2a('0xbe')]({'where':{'id':_0x541f0e[_0x2c2a('0xbb')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x4858f1,null))['then'](function(_0x2aee0d){if(_0x2aee0d){if(_0x2aee0d[_0x2c2a('0xd1')]){return _0x4858f1[_0x2c2a('0x28')](0x193)[_0x2c2a('0x2a')]({'status':0x193,'message':'Unauthorized'});}return db[_0x2c2a('0xd6')][_0x2c2a('0xbe')]({'where':{'id':_0x541f0e[_0x2c2a('0x45')][_0x2c2a('0xd8')]},'raw':!![]})['then'](handleEntityNotFound(_0x4858f1,null));}})[_0x2c2a('0x33')](function(_0x2a3be2){if(_0x2a3be2){return _0x4858f1[_0x2c2a('0xd9')](path['join'](config[_0x2c2a('0xda')],_0x2c2a('0xdb'),_0x2a3be2[_0x2c2a('0xdc')]));}})[_0x2c2a('0x26')](handleError(_0x4858f1,null));};exports[_0x2c2a('0xdd')]=function(_0x3396fe,_0x2af202){var _0x162068=null;var _0x35dd7b=null;var _0x1a58ea=null;var _0x57250f=null;if(_0x3396fe[_0x2c2a('0x77')]['id']){delete _0x3396fe[_0x2c2a('0x77')]['id'];}if(_0x3396fe[_0x2c2a('0x77')]['mailTranscript']){_0x57250f=path[_0x2c2a('0xde')](config[_0x2c2a('0xda')],_0x2c2a('0xdf'),util[_0x2c2a('0xe0')](_0x2c2a('0xe1'),Date[_0x2c2a('0xe2')]()));_0x3396fe[_0x2c2a('0x77')][_0x2c2a('0xe3')]=_0x57250f;}return db[_0x2c2a('0x3f')][_0x2c2a('0x67')]({'where':{'id':_0x3396fe[_0x2c2a('0xbb')]['id']},'include':[{'model':db['ChatMessage'],'as':_0x2c2a('0xe4'),'include':[{'model':db[_0x2c2a('0x74')],'as':_0x2c2a('0x74')}]}]})['then'](handleEntityNotFound(_0x2af202,null))[_0x2c2a('0x33')](saveUpdates(_0x3396fe['body'],null))[_0x2c2a('0x33')](function(_0x53c345){if(_0x53c345){_0x162068=_0x53c345;return db['ChatWebsite'][_0x2c2a('0x67')]({'where':{'id':_0x162068[_0x2c2a('0x7a')]}});}})[_0x2c2a('0x33')](function(_0x2712fb){if(_0x2712fb){_0x1a58ea=_0x2712fb;return db[_0x2c2a('0xe5')][_0x2c2a('0x67')]({'where':{'id':_0x162068[_0x2c2a('0x6e')]}});}})['then'](function(_0x425073){if(_0x425073){_0x35dd7b=_0x425073;if(_0x57250f){var _0x52b938=null;for(var _0x2ab1b8=0x1;_0x2ab1b8<_0x162068['Messages'][_0x2c2a('0x66')];++_0x2ab1b8){_0x52b938=_0x162068[_0x2c2a('0xe4')][_0x2ab1b8];var _0x2c2816=_0x52b938[_0x2c2a('0x76')]?util[_0x2c2a('0xe0')](_0x2c2a('0xe6'),_0x1a58ea['agentAlias'],_0x52b938[_0x2c2a('0x76')]):_0x2c2a('0xe7');var _0x42abcb=_0x3396fe['body'][_0x2c2a('0xe8')]||util[_0x2c2a('0xe0')](_0x2c2a('0xe6'),_0x2c2a('0xe9'),_0x52b938[_0x2c2a('0x6e')]);switch(_0x1a58ea['agentIdentifier']){case'website_alias':_0x2c2816=_0x52b938[_0x2c2a('0x76')]?util[_0x2c2a('0xe0')](_0x2c2a('0xe6'),_0x1a58ea[_0x2c2a('0xea')],_0x52b938[_0x2c2a('0x76')]):_0x2c2a('0xe7');break;case _0x2c2a('0xeb'):_0x2c2816=_0x52b938['UserId']?_0x52b938[_0x2c2a('0x74')][_0x2c2a('0xec')]||_0x52b938[_0x2c2a('0x74')][_0x2c2a('0x39')]:'System';break;case'agent_fullname':_0x2c2816=_0x52b938[_0x2c2a('0x76')]?_0x52b938[_0x2c2a('0x74')][_0x2c2a('0x39')]:_0x2c2a('0xe7');break;default:_0x2c2816=_0x52b938[_0x2c2a('0x76')]?util[_0x2c2a('0xe0')](_0x2c2a('0xe6'),_0x1a58ea['agentAlias'],_0x52b938[_0x2c2a('0x76')]):_0x2c2a('0xe7');}var _0x569e5a=util[_0x2c2a('0xe0')](_0x2c2a('0xed'),moment(_0x52b938[_0x2c2a('0x7b')])[_0x2c2a('0xe0')]('MM/DD/YYYY\x20HH:mm:ss'),_0x52b938['direction']==='in'?_0x42abcb:_0x2c2816,_0x52b938[_0x2c2a('0x77')]);if(!_0x52b938[_0x2c2a('0xee')]){fs[_0x2c2a('0xef')](_0x57250f,_0x569e5a);}}return db[_0x2c2a('0xf0')][_0x2c2a('0xbe')]({'where':{'service':!![]},'include':[{'model':db['MailServerOut'],'as':_0x2c2a('0xf1'),'raw':!![]}]});}}})['then'](function(_0x4acb27){if(_0x4acb27&&_0x4acb27['Smtp']&&_0x3396fe['body']){var _0x5b2238={'tls':{'rejectUnauthorized':![]}};if(_0x4acb27[_0x2c2a('0xf1')][_0x2c2a('0xf2')]){_0x5b2238[_0x2c2a('0xf2')]=_0x4acb27['Smtp'][_0x2c2a('0xf2')];}else{_0x5b2238[_0x2c2a('0xf3')]=_0x4acb27[_0x2c2a('0xf1')][_0x2c2a('0xf3')];_0x5b2238[_0x2c2a('0xf4')]=_0x4acb27[_0x2c2a('0xf1')][_0x2c2a('0xf4')];_0x5b2238[_0x2c2a('0xf5')]=_0x4acb27[_0x2c2a('0xf1')][_0x2c2a('0xf5')];}if(_0x4acb27['Smtp'][_0x2c2a('0xf6')]){_0x5b2238['auth']={'user':_0x4acb27[_0x2c2a('0xf1')]['user'],'pass':_0x4acb27[_0x2c2a('0xf1')][_0x2c2a('0xf7')]};}return respondWithRpcPromise(_0x2c2a('0xf8'),_0x2c2a('0xf9'),{'account':_0x5b2238,'message':{'from':util[_0x2c2a('0xe0')](_0x2c2a('0xfa'),_0x4acb27[_0x2c2a('0x35')],_0x4acb27[_0x2c2a('0xfb')]||_0x4acb27[_0x2c2a('0xf1')][_0x2c2a('0x9b')]),'to':_0x3396fe[_0x2c2a('0x77')][_0x2c2a('0xfc')],'subject':_0x2c2a('0xfd'),'text':util[_0x2c2a('0xe0')](_0x2c2a('0xfe'),_0x3396fe['body'][_0x2c2a('0xfc')]),'attachments':[{'path':_0x57250f}]}})[_0x2c2a('0x33')](function(){return _0x162068;})[_0x2c2a('0x26')](function(_0x1879ac){console[_0x2c2a('0x21')](_0x1879ac);});}else{return _0x162068;}})['then'](respondWithStatusCode(_0x2af202,0xc8))[_0x2c2a('0x26')](handleError(_0x2af202,null));};exports[_0x2c2a('0xff')]=function(_0x4c7e40,_0x46ffb0,_0x4d657c){return db['ChatMessage'][_0x2c2a('0x67')]({'where':{'id':_0x4c7e40['params']['id']}})[_0x2c2a('0x33')](handleEntityNotFound(_0x46ffb0,null))[_0x2c2a('0x33')](function(_0x3965c6){if(_0x3965c6){return _0x3965c6[_0x2c2a('0xff')](_0x4c7e40[_0x2c2a('0x77')][_0x2c2a('0x100')],_[_0x2c2a('0x101')](_0x4c7e40['body'],[_0x2c2a('0x100'),'id'])||{});}})['then'](respondWithResult(_0x46ffb0,null))[_0x2c2a('0x26')](handleError(_0x46ffb0,null));};exports[_0x2c2a('0x102')]=function(_0x2dec23,_0x56645b,_0x50d056){var _0x1a2ff5={'raw':![],'where':{}};var _0x286d07={};var _0x472f9a={'count':0x0,'rows':[]};return db[_0x2c2a('0x3f')][_0x2c2a('0xbe')]({'where':{'id':_0x2dec23[_0x2c2a('0xbb')]['id']}})[_0x2c2a('0x33')](handleEntityNotFound(_0x56645b,null))[_0x2c2a('0x33')](function(_0x346d05){if(_0x346d05){_0x286d07['model']=_[_0x2c2a('0x46')](db[_0x2c2a('0xc9')][_0x2c2a('0x40')]);_0x286d07[_0x2c2a('0x45')]=_[_0x2c2a('0x46')](_0x2dec23[_0x2c2a('0x45')]);_0x286d07[_0x2c2a('0x4e')]=_['intersection'](_0x286d07[_0x2c2a('0x44')],_0x286d07[_0x2c2a('0x45')]);_0x1a2ff5[_0x2c2a('0x49')]=_[_0x2c2a('0x47')](_0x286d07[_0x2c2a('0x44')],qs[_0x2c2a('0x48')](_0x2dec23['query'][_0x2c2a('0x48')]));_0x1a2ff5[_0x2c2a('0x49')]=_0x1a2ff5[_0x2c2a('0x49')][_0x2c2a('0x66')]?_0x1a2ff5['attributes']:_0x286d07[_0x2c2a('0x44')];if(!_0x2dec23['query'][_0x2c2a('0x103')]('nolimit')){_0x1a2ff5[_0x2c2a('0x2d')]=qs['limit'](_0x2dec23[_0x2c2a('0x45')][_0x2c2a('0x2d')]);_0x1a2ff5['offset']=qs[_0x2c2a('0x2c')](_0x2dec23[_0x2c2a('0x45')]['offset']);}_0x1a2ff5[_0x2c2a('0x4b')]=qs[_0x2c2a('0x4c')](_0x2dec23['query'][_0x2c2a('0x4c')]);_0x1a2ff5['where']=qs[_0x2c2a('0x4e')](_[_0x2c2a('0x4d')](_0x2dec23['query'],_0x286d07[_0x2c2a('0x4e')]));_0x1a2ff5[_0x2c2a('0x7e')][_0x2c2a('0x104')]=_0x346d05['id'];if(_0x2dec23[_0x2c2a('0x45')]['filter']){_0x1a2ff5['where']=_['merge'](_0x1a2ff5['where'],{'$or':_['map'](_0x1a2ff5[_0x2c2a('0x49')],function(_0x5978e8){var _0x55ed61={};_0x55ed61[_0x5978e8]={'$like':'%'+_0x2dec23[_0x2c2a('0x45')][_0x2c2a('0x87')]+'%'};return _0x55ed61;})});}if(_0x2dec23['query'][_0x2c2a('0x105')]){var _0x200e2c=_0x2dec23[_0x2c2a('0x45')][_0x2c2a('0x105')][_0x2c2a('0x3b')](',');var _0xa61691={};_0xa61691[_0x200e2c[0x0]]={'$gte':moment(_0x200e2c[0x1])[_0x2c2a('0xe0')](_0x2c2a('0x106'))};_0x1a2ff5[_0x2c2a('0x7e')]=_['merge'](_0x1a2ff5['where'],_0xa61691);}_0x1a2ff5=_[_0x2c2a('0xb7')]({},_0x1a2ff5,_0x2dec23[_0x2c2a('0xb8')]);return db[_0x2c2a('0xc9')][_0x2c2a('0x2b')]({'where':_0x1a2ff5[_0x2c2a('0x7e')]})[_0x2c2a('0x33')](function(_0x2d1891){_0x472f9a[_0x2c2a('0x2b')]=_0x2d1891;if(_0x2dec23[_0x2c2a('0x45')][_0x2c2a('0xb6')]){_0x1a2ff5[_0x2c2a('0x107')]=[{'all':!![]}];}return db[_0x2c2a('0xc9')][_0x2c2a('0x108')](_0x1a2ff5);})[_0x2c2a('0x33')](function(_0x39788b){_0x472f9a[_0x2c2a('0xb5')]=_0x39788b;return _0x472f9a;});}})[_0x2c2a('0x33')](respondWithFilteredResult(_0x56645b,_0x1a2ff5))[_0x2c2a('0x26')](handleError(_0x56645b,null));};exports[_0x2c2a('0x109')]=function(_0x5744b9,_0x14f473,_0x4e40ee){var _0x129699={'where':{}},_0x434aa2={},_0x67184={'count':0x0,'rows':[]};return db[_0x2c2a('0x3f')][_0x2c2a('0xbe')]({'where':{'id':_0x5744b9['params']['id']}})[_0x2c2a('0x33')](handleEntityNotFound(_0x14f473,null))[_0x2c2a('0x33')](function(_0x4b218a){if(_0x4b218a){_0x434aa2[_0x2c2a('0x44')]=_[_0x2c2a('0x46')](db['ChatMessage'][_0x2c2a('0x40')]);_0x434aa2['query']=_['keys'](_0x5744b9[_0x2c2a('0x45')]);_0x434aa2[_0x2c2a('0x4e')]=_[_0x2c2a('0x47')](_0x434aa2[_0x2c2a('0x44')],_0x434aa2[_0x2c2a('0x45')]);_0x129699[_0x2c2a('0x49')]=_[_0x2c2a('0x47')](_0x434aa2['model'],qs[_0x2c2a('0x48')](_0x5744b9['query'][_0x2c2a('0x48')]));_0x129699['attributes']=_0x129699['attributes']['length']?_0x129699[_0x2c2a('0x49')]:_0x434aa2[_0x2c2a('0x44')];if(!_0x5744b9[_0x2c2a('0x45')][_0x2c2a('0x103')](_0x2c2a('0x4a'))){_0x129699[_0x2c2a('0x2d')]=qs[_0x2c2a('0x2d')](_0x5744b9[_0x2c2a('0x45')][_0x2c2a('0x2d')]);_0x129699[_0x2c2a('0x2c')]=qs['offset'](_0x5744b9[_0x2c2a('0x45')][_0x2c2a('0x2c')]);}_0x129699['order']=qs[_0x2c2a('0x4c')](_0x5744b9[_0x2c2a('0x45')][_0x2c2a('0x4c')]);_0x129699['where']=qs[_0x2c2a('0x4e')](_['pick'](_0x5744b9[_0x2c2a('0x45')],_0x434aa2['filters']));_0x129699[_0x2c2a('0x7e')][_0x2c2a('0x104')]=_0x4b218a['id'];if(_0x5744b9[_0x2c2a('0x45')][_0x2c2a('0x87')]){_0x129699['where']=_['merge'](_0x129699[_0x2c2a('0x7e')],{'$or':_['map'](_0x129699['attributes'],function(_0x252c62){var _0x2e74a2={};_0x2e74a2[_0x252c62]={'$like':'%'+_0x5744b9[_0x2c2a('0x45')][_0x2c2a('0x87')]+'%'};return _0x2e74a2;})});}_0x129699[_0x2c2a('0x7e')][_0x2c2a('0xee')]=![];if(_0x5744b9[_0x2c2a('0x45')]['id']){_0x129699[_0x2c2a('0x7e')]['id']={'$gt':_0x5744b9[_0x2c2a('0x45')]['id']};}_0x129699=_[_0x2c2a('0xb7')]({},_0x129699,_0x5744b9[_0x2c2a('0xb8')]);return db['ChatMessage'][_0x2c2a('0x2b')]({'where':_0x129699[_0x2c2a('0x7e')]})[_0x2c2a('0x33')](function(_0x5aa471){_0x67184[_0x2c2a('0x2b')]=_0x5aa471;_0x129699[_0x2c2a('0x107')]=[];if(_0x5744b9[_0x2c2a('0x45')][_0x2c2a('0x10a')]){_0x129699[_0x2c2a('0x107')][_0x2c2a('0x3e')]({'model':db[_0x2c2a('0x74')],'as':_0x2c2a('0x74'),'attributes':['id',_0x2c2a('0x39'),'alias']});}if(_0x5744b9['query']['includeAll']){_0x129699[_0x2c2a('0x107')]=[{'all':!![]}];}return db[_0x2c2a('0xc9')][_0x2c2a('0x108')](_0x129699);})[_0x2c2a('0x33')](function(_0x13265b){_0x67184[_0x2c2a('0xb5')]=_0x13265b;return _0x67184;});}})[_0x2c2a('0x33')](respondWithFilteredResult(_0x14f473,_0x129699))[_0x2c2a('0x26')](handleError(_0x14f473,null));};exports[_0x2c2a('0x10b')]=function(_0xd8110,_0x585549,_0x1cc531){return db['ChatInteraction']['find']({'where':{'id':_0xd8110['params']['id']}})[_0x2c2a('0x33')](handleEntityNotFound(_0x585549,null))['then'](function(_0x177bda){if(_0x177bda){return _0x177bda[_0x2c2a('0x10c')](_0xd8110[_0x2c2a('0x77')][_0x2c2a('0x100')],_[_0x2c2a('0x101')](_0xd8110[_0x2c2a('0x77')],['ids','id'])||{})[_0x2c2a('0x10d')](function(){return db[_0x2c2a('0x72')]['findAll']({'attributes':['id','name',_0x2c2a('0x50')],'where':{'id':_0xd8110['body'][_0x2c2a('0x100')]}});})['then'](function(_0x1831ee){socket[_0x2c2a('0x10e')]('chatInteractionTags:save',{'id':Number(_0xd8110['params']['id']),'tags':_0x1831ee||[]});return{'id':Number(_0xd8110['params']['id']),'tags':_0x1831ee||[]};});}})[_0x2c2a('0x33')](respondWithResult(_0x585549,null))[_0x2c2a('0x26')](handleError(_0x585549,null));};exports[_0x2c2a('0x10f')]=function(_0x4b71f9,_0x41c59f,_0x1494ea){return db[_0x2c2a('0x3f')]['find']({'where':{'id':_0x4b71f9['params']['id']}})['then'](handleEntityNotFound(_0x41c59f,null))[_0x2c2a('0x33')](function(_0x21ec57){if(_0x21ec57){return _0x21ec57[_0x2c2a('0x10f')](_0x4b71f9[_0x2c2a('0x45')][_0x2c2a('0x100')]);}})[_0x2c2a('0x33')](respondWithStatusCode(_0x41c59f,null))[_0x2c2a('0x26')](handleError(_0x41c59f,null));};exports[_0x2c2a('0xd9')]=function(_0x5a08ad,_0x17f768){var _0x350478=moment()['unix']()[_0x2c2a('0x9e')]();var _0xd5472f=path['join'](config[_0x2c2a('0xda')],_0x2c2a('0x110'),_0x2c2a('0x111'),'tmp');var _0x10a692=path['join'](config['root'],'server',_0x2c2a('0x111'),_0x2c2a('0x112'));var _0x158af7=path[_0x2c2a('0xde')](_0xd5472f,_0x350478);var _0x47f278=util[_0x2c2a('0xe0')](_0x2c2a('0x113'),_0x5a08ad[_0x2c2a('0xbb')]['id'],_0x350478);var _0x4cef8a=path['join'](_0xd5472f,_0x47f278);var _0x58e5a8=[];_0x58e5a8[_0x2c2a('0x3e')]({'model':db[_0x2c2a('0x74')],'as':'User','attributes':['id',_0x2c2a('0x39')],'raw':!![]});_0x58e5a8[_0x2c2a('0x3e')]({'model':db[_0x2c2a('0xe5')],'as':_0x2c2a('0x114'),'attributes':['id',_0x2c2a('0x115'),_0x2c2a('0x116')],'raw':!![]});if(_0x5a08ad[_0x2c2a('0x45')][_0x2c2a('0x112')]){_0x58e5a8[_0x2c2a('0x3e')]({'model':db[_0x2c2a('0xd6')],'as':'Attachment','raw':!![]});}var _0x136d62=[{'model':db[_0x2c2a('0xc9')],'as':_0x2c2a('0xe4'),'attributes':['id','body','createdAt',_0x2c2a('0x117'),_0x2c2a('0xee'),'read'],'include':_0x58e5a8}];_0x136d62[_0x2c2a('0x3e')]({'model':db[_0x2c2a('0xbf')],'as':_0x2c2a('0x118'),'attributes':['id',_0x2c2a('0x35')]});_0x136d62[_0x2c2a('0x3e')]({'model':db[_0x2c2a('0x74')],'as':'Owner','attributes':['id','fullname']});return db[_0x2c2a('0x3f')][_0x2c2a('0x67')]({'where':{'id':_0x5a08ad['params']['id']},'include':_0x136d62})[_0x2c2a('0x33')](handleEntityNotFound(_0x17f768,null))[_0x2c2a('0x33')](function(_0x125b91){if(_0x125b91){var _0x55a008=_0x125b91['get']({'plain':!![]});fs['mkdirSync'](_0x158af7);var _0x1edc3d={'format':'A4','border':_0x2c2a('0x119'),'header':{'height':'40px','contents':{'first':_0x2c2a('0x11a')}},'footer':{'height':'30px','contents':{'default':util['format'](_0x2c2a('0x11b'),util['format'](_0x2c2a('0x11c'),_0x2c2a('0x11d'),_0x55a008['id']),moment()[_0x2c2a('0xe0')](_0x2c2a('0x11e'))[_0x2c2a('0x9e')]())}}};var _0x401adf={'channel':_0x2c2a('0x11d'),'account':_0x55a008[_0x2c2a('0x118')]['name'],'agent':_0x55a008[_0x2c2a('0x11f')]?_0x55a008[_0x2c2a('0x11f')][_0x2c2a('0x39')]:'N.A.','createdAt':moment(_0x55a008['createdAt'])[_0x2c2a('0xe0')](_0x2c2a('0x106'))['toString'](),'closedAt':_0x55a008['closed']?moment(_0x55a008[_0x2c2a('0x120')])[_0x2c2a('0xe0')](_0x2c2a('0x106'))[_0x2c2a('0x9e')]():'','disposition':_0x55a008[_0x2c2a('0xd2')],'chatInfo':{'browser':_0x55a008[_0x2c2a('0x121')],'os':_0x55a008[_0x2c2a('0x122')],'referer':_0x55a008[_0x2c2a('0x123')],'customerIp':_0x55a008['customerIp'],'customerPort':_0x55a008[_0x2c2a('0x124')]?_0x55a008[_0x2c2a('0x124')]:_0x2c2a('0x125')},'messages':_(_0x55a008[_0x2c2a('0xe4')])['tail']()['filter']({'secret':![]})[_0x2c2a('0x38')](function(_0x292568){if(_0x292568[_0x2c2a('0xd6')]){var _0x2cc34c=path[_0x2c2a('0xde')](_0x10a692,_0x292568[_0x2c2a('0xd6')][_0x2c2a('0xdc')]);if(fs[_0x2c2a('0x126')](_0x2cc34c)){fs['createReadStream'](_0x2cc34c)['pipe'](fs['createWriteStream'](path[_0x2c2a('0xde')](_0x158af7,_0x292568[_0x2c2a('0xd6')][_0x2c2a('0xdc')])));}}return{'date':moment(_0x292568[_0x2c2a('0x7b')])[_0x2c2a('0xe0')](_0x2c2a('0x106'))['toString'](),'sender':_0x292568['direction']===_0x2c2a('0xc8')?_0x292568['User']?_0x292568[_0x2c2a('0x74')][_0x2c2a('0x39')]:_0x2c2a('0xe7'):_0x292568[_0x2c2a('0x114')][_0x2c2a('0x115')]+(_0x292568[_0x2c2a('0x114')]['lastName']?'\x20'+_0x292568[_0x2c2a('0x114')][_0x2c2a('0x116')]:''),'body':_0x292568[_0x2c2a('0xd6')]?_0x292568[_0x2c2a('0xd6')][_0x2c2a('0xdc')]:_0x292568[_0x2c2a('0x77')],'direction':_0x292568['direction']===_0x2c2a('0xc8')?'A':'C','secret':_0x292568[_0x2c2a('0xee')],'read':_0x292568['read'],'attachment':_0x292568[_0x2c2a('0xd6')]};})[_0x2c2a('0x6c')]()};return ejs[_0x2c2a('0x127')](path['join'](config[_0x2c2a('0xda')],'server',_0x2c2a('0x128'),_0x2c2a('0x129')),{'interaction':_0x401adf})[_0x2c2a('0x33')](function(_0x386419){return new BPromise(function(_0x4657e4,_0x421bdc){pdf[_0x2c2a('0xb9')](_0x386419,_0x1edc3d)[_0x2c2a('0x12a')](path['join'](_0x158af7,_0x2c2a('0x12b')+_0x55a008['id']+'-'+_0x350478+'.pdf'),function(_0x5e1827,_0xe3dc9c){if(_0x5e1827)return _0x421bdc(_0x5e1827);_0x4657e4(_0xe3dc9c);});});})[_0x2c2a('0x33')](function(){return new BPromise(function(_0x10b942,_0x1530ae){zipdir(_0x158af7,{'saveTo':_0x4cef8a},function(_0x40e555,_0x2af57a){if(_0x40e555)return _0x1530ae(_0x40e555);return _0x10b942(_0x2af57a);});})[_0x2c2a('0x33')](function(){return new BPromise(function(_0x37339b,_0x3aa78e){rimraf(_0x158af7,function(_0x2642ee){if(_0x2642ee)_0x3aa78e(_0x2642ee);return _0x37339b();});});})['then'](function(){return _0x17f768[_0x2c2a('0xd9')](_0x4cef8a,_0x47f278,function(_0x546b24){if(_0x546b24){console[_0x2c2a('0x12c')](_0x2c2a('0x12d'),_0x546b24);}else{fs[_0x2c2a('0x12e')](_0x4cef8a);}});});});}else{return _0x17f768[_0x2c2a('0x27')](0xc8);}})['catch'](handleError(_0x17f768,null));};