1e243f0056a85cdfc3e504246b660d24e698074f
[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 _0x4283=['ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./chatInteraction.socket','register','client','http','then','info','ChatInteraction,\x20%s,\x20%s','debug','stringify','error','code','message','request\x20sent','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','destroy','stack','name','send','render','merge','agent','Users','map','TagIds','Tags','split','waiting','talking','answered','unmanaged','abandoned','total','closed','UserId','disposition','index','rawAttributes','fieldName','type','key','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','pick','field','color','from','tools_tags','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','select','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','chat_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','having','`\x20>\x200','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','start','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','text','body','some','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','filter','replace','isNumeric','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','isEmpty','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','i.ChatWebsiteId\x20IS\x20NULL','role','sequelize','toString','keyBy','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.*','c.firstName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.fax','o.fullname','Owner.fullname','Owner.internal','ui.ChatInteractionId\x20IN\x20?','groupBy','push','all','show','model','ChatInteraction','includeAll','include','options','create','update','params','describe','createVidaooSession','ChatWebsite','findOne','vidaooEscalation','vidaooMetadata','fullname','email','contact','POST','https://api-vidaoo.xcally.com/api/v1/meetings','vidaooApiKey','vidaooTopic','isNull','vidaooNote','follow','ValidationError','out','ChatMessage','customUpdate','Contact','abandon','entity\x20not\x20found','AbandonInteraction','attachmentUpload','file','originalname','basename','filename','mimetype','Attachment','attachmentDownload','Unauthorized','attachId','ChatOfflineMessageId','root','server/files/attachments/','join','offline-chat/','close','mailTranscript','server/files/chat/upload/','format','transcript-%s.txt','now','pathTranscript','Messages','CmContact','%s%d','agentAlias','System','customer','Visitor','agentIdentifier','website_alias','agent_alias','alias','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','SendMail','sendMail','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','getMessages','nolimit','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','ChatInteractionId','rows','setTags','omit','spread','emit','chatInteractionTags:save','removeTags','download','server','files','tmp','attachments','transcript-%d-%s.zip','firstName','lastName','Account','Owner','mkdirSync','Chat','N.A.','closedAt','osName','referer','customerPort','tail','existsSync','createReadStream','pipe','createWriteStream','renderFile','views','downloadInteraction.ejs','.pdf','createPdfFromHTML','err','unlinkSync','eml-format','rimraf','request-promise','mustache','path','sox','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse'];(function(_0x217ef3,_0x56c439){var _0x17708d=function(_0x2eec67){while(--_0x2eec67){_0x217ef3['push'](_0x217ef3['shift']());}};_0x17708d(++_0x56c439);}(_0x4283,0x134));var _0x3428=function(_0x45ea87,_0x3d7e17){_0x45ea87=_0x45ea87-0x0;var _0x25dac0=_0x4283[_0x45ea87];return _0x25dac0;};'use strict';var emlformat=require(_0x3428('0x0'));var rimraf=require(_0x3428('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x3428('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x3428('0x3'));var util=require('util');var path=require(_0x3428('0x4'));var sox=require(_0x3428('0x5'));var csv=require(_0x3428('0x6'));var ejs=require(_0x3428('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3428('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x3428('0x9'));var deskjs=require(_0x3428('0xa'));var toCsv=require(_0x3428('0x6'));var querystring=require(_0x3428('0xb'));var Papa=require(_0x3428('0xc'));var Redis=require(_0x3428('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x3428('0xe'));var as=require(_0x3428('0xf'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x3428('0x10'));var logger=require('../../config/logger')(_0x3428('0x11'));var utils=require(_0x3428('0x12'));var config=require(_0x3428('0x13'));var licenseUtil=require(_0x3428('0x14'));var db=require(_0x3428('0x15'))['db'];config[_0x3428('0x16')]=_['defaults'](config[_0x3428('0x16')],{'host':_0x3428('0x17'),'port':0x18eb});var socket=require(_0x3428('0x18'))(new Redis(config['redis']));require(_0x3428('0x19'))[_0x3428('0x1a')](socket);var jayson=require('jayson/promise');var client=jayson[_0x3428('0x1b')][_0x3428('0x1c')]({'port':0x232b});var client9004=jayson[_0x3428('0x1b')][_0x3428('0x1c')]({'port':0x232c});function respondWithRpcPromise(_0x41df3f,_0x263968,_0x4e4907,_0x781d49){return new BPromise(function(_0x16a4e1,_0x3f2499){var _0x47a06e=_0x781d49||client;return _0x47a06e['request'](_0x41df3f,_0x4e4907)[_0x3428('0x1d')](function(_0x5fa43){logger[_0x3428('0x1e')](_0x3428('0x1f'),_0x263968,'request\x20sent');logger[_0x3428('0x20')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x263968,'request\x20sent',JSON[_0x3428('0x21')](_0x5fa43));if(_0x5fa43['error']){if(_0x5fa43[_0x3428('0x22')][_0x3428('0x23')]===0x1f4){logger['error'](_0x3428('0x1f'),_0x263968,_0x5fa43[_0x3428('0x22')][_0x3428('0x24')]);return _0x3f2499(_0x5fa43[_0x3428('0x22')][_0x3428('0x24')]);}logger['error'](_0x3428('0x1f'),_0x263968,_0x5fa43[_0x3428('0x22')][_0x3428('0x24')]);return _0x16a4e1(_0x5fa43[_0x3428('0x22')][_0x3428('0x24')]);}else{logger[_0x3428('0x1e')]('ChatInteraction,\x20%s,\x20%s',_0x263968,_0x3428('0x25'));_0x16a4e1(_0x5fa43[_0x3428('0x26')][_0x3428('0x24')]);}})[_0x3428('0x27')](function(_0x41a65a){logger['error'](_0x3428('0x1f'),_0x263968,_0x41a65a);_0x3f2499(_0x41a65a);});});}function respondWithStatusCode(_0x37aca9,_0x153caa){_0x153caa=_0x153caa||0xcc;return function(_0x47bf14){if(_0x47bf14){return _0x37aca9[_0x3428('0x28')](_0x153caa);}return _0x37aca9[_0x3428('0x29')](_0x153caa)[_0x3428('0x2a')]();};}function respondWithResult(_0x471b5c,_0x32da3d){_0x32da3d=_0x32da3d||0xc8;return function(_0x42a92d){if(_0x42a92d){return _0x471b5c[_0x3428('0x29')](_0x32da3d)[_0x3428('0x2b')](_0x42a92d);}};}function respondWithFilteredResult(_0x54fb61,_0x3be3f5){return function(_0x32631e){if(_0x32631e){var _0x2bd1e0=typeof _0x3be3f5[_0x3428('0x2c')]===_0x3428('0x2d')&&typeof _0x3be3f5[_0x3428('0x2e')]==='undefined';var _0x45fccb=_0x32631e['count'];var _0x4fc793=_0x2bd1e0?0x0:_0x3be3f5[_0x3428('0x2c')];var _0x5c0056=_0x2bd1e0?_0x32631e[_0x3428('0x2f')]:_0x3be3f5[_0x3428('0x2c')]+_0x3be3f5[_0x3428('0x2e')];var _0x359149;if(_0x5c0056>=_0x45fccb){_0x5c0056=_0x45fccb;_0x359149=0xc8;}else{_0x359149=0xce;}_0x54fb61[_0x3428('0x29')](_0x359149);return _0x54fb61['set'](_0x3428('0x30'),_0x4fc793+'-'+_0x5c0056+'/'+_0x45fccb)[_0x3428('0x2b')](_0x32631e);}return null;};}function patchUpdates(_0x484c30){return function(_0xec2772){try{jsonpatch[_0x3428('0x31')](_0xec2772,_0x484c30,!![]);}catch(_0x287465){return BPromise[_0x3428('0x32')](_0x287465);}return _0xec2772[_0x3428('0x33')]();};}function saveUpdates(_0x3f3e9a,_0xd25a5){return function(_0x59e77e){if(_0x59e77e){return _0x59e77e['update'](_0x3f3e9a)[_0x3428('0x1d')](function(_0x429737){return _0x429737;});}return null;};}function removeEntity(_0x209fca,_0x5e228f){return function(_0x50c39f){if(_0x50c39f){return _0x50c39f[_0x3428('0x34')]()['then'](function(){_0x209fca['status'](0xcc)[_0x3428('0x2a')]();});}};}function handleEntityNotFound(_0x9b5362,_0x27b69d){return function(_0x341cfc){if(!_0x341cfc){_0x9b5362[_0x3428('0x28')](0x194);}return _0x341cfc;};}function handleError(_0x139903,_0x4c4f12){_0x4c4f12=_0x4c4f12||0x1f4;return function(_0x3e2c16){logger[_0x3428('0x22')](_0x3e2c16[_0x3428('0x35')]);if(_0x3e2c16[_0x3428('0x36')]){delete _0x3e2c16['name'];}_0x139903[_0x3428('0x29')](_0x4c4f12)[_0x3428('0x37')](_0x3e2c16);};}function getMustacheRender(_0x343eb1,_0x2dd1b4){return Mustache[_0x3428('0x38')](_0x343eb1,_[_0x3428('0x39')](_0x2dd1b4['body'],{'contact':_0x2dd1b4['contact'],'message':_0x2dd1b4[_0x3428('0x24')],'agent':_0x2dd1b4[_0x3428('0x3a')],'interaction':_0x2dd1b4['interaction'],'account':_0x2dd1b4['account']}))||'';}function getInteractionUsers(_0x3a84f1,_0x44de01){return new BPromise(function(_0x4bb2d4,_0x3c2d01){try{if(_0x44de01[_0x3a84f1['id']]){_0x3a84f1[_0x3428('0x3b')]=_[_0x3428('0x3c')](_0x44de01[_0x3a84f1['id']],function(_0x3d65a0){return{'id':_0x3d65a0['id'],'fullname':_0x3d65a0['fullname']};});}}catch(_0x386db1){_0x3c2d01(_0x386db1);}_0x4bb2d4(_0x3a84f1);});}function getInteractionTags(_0x5efb55,_0x13fdfb){return new BPromise(function(_0x2088ad,_0x4d4bcb){try{if(_0x5efb55[_0x3428('0x3d')]){_0x5efb55[_0x3428('0x3e')]=[];_0x5efb55[_0x3428('0x3d')][_0x3428('0x3f')](',')['forEach'](function(_0x3657ac){_0x5efb55['Tags']['push'](_0x13fdfb[_0x3657ac]);});}delete _0x5efb55[_0x3428('0x3d')];}catch(_0xb87a11){_0x4d4bcb(_0xb87a11);}_0x2088ad(_0x5efb55);});}function updateChatInteraction(_0x5e0760,_0x16f225,_0x4566b5){return new BPromise(function(_0x911c70,_0x405ffb){return getInteractionUsers(_0x5e0760,_0x4566b5)[_0x3428('0x1d')](function(_0x2699a1){return getInteractionTags(_0x2699a1,_0x16f225);})[_0x3428('0x1d')](function(_0x2a1cda){return getStateInteraction(_0x2a1cda);})[_0x3428('0x1d')](function(_0x572e90){_0x911c70(_0x572e90);})['catch'](function(_0x3dff69){_0x405ffb(_0x3dff69);});});}function getStateInteraction(_0x48f8f7){return new BPromise(function(_0x327f41){_0x48f8f7[_0x3428('0x40')]=0x0;_0x48f8f7[_0x3428('0x41')]=0x0;_0x48f8f7[_0x3428('0x42')]=0x0;_0x48f8f7[_0x3428('0x43')]=0x0;_0x48f8f7[_0x3428('0x44')]=0x0;_0x48f8f7[_0x3428('0x45')]=0x0;if(!_0x48f8f7[_0x3428('0x46')]&&!_0x48f8f7[_0x3428('0x47')]){_0x48f8f7[_0x3428('0x40')]+=0x1;}if(!_0x48f8f7['closed']&&_0x48f8f7[_0x3428('0x47')]){_0x48f8f7['talking']+=0x1;if(_0x48f8f7['waiting']){_0x48f8f7[_0x3428('0x40')]-=0x1;}}if(_0x48f8f7['closed']&&_0x48f8f7[_0x3428('0x48')]===_0x3428('0x44')){_0x48f8f7['abandoned']+=0x1;if(_0x48f8f7[_0x3428('0x40')]){_0x48f8f7[_0x3428('0x40')]-=0x1;}}else if(_0x48f8f7[_0x3428('0x46')]&&!_0x48f8f7[_0x3428('0x47')]&&_0x48f8f7[_0x3428('0x48')]){_0x48f8f7['unmanaged']+=0x1;if(_0x48f8f7[_0x3428('0x40')]){_0x48f8f7[_0x3428('0x40')]-=0x1;}}else if(_0x48f8f7[_0x3428('0x46')]&&_0x48f8f7[_0x3428('0x47')]){_0x48f8f7[_0x3428('0x42')]+=0x1;if(_0x48f8f7[_0x3428('0x41')]){_0x48f8f7[_0x3428('0x41')]-=0x1;}}_0x48f8f7['total']+=0x1;_0x327f41(_0x48f8f7);});}exports[_0x3428('0x49')]=function(_0x35b4eb,_0x2007e0){var _0x8b93e2={},_0x32baa7={},_0x324396={'count':0x0,'rows':[]};var _0x2aff31=_['map'](db['ChatInteraction'][_0x3428('0x4a')],function(_0xaeeae4){return{'name':_0xaeeae4[_0x3428('0x4b')],'type':_0xaeeae4[_0x3428('0x4c')][_0x3428('0x4d')]};});_0x32baa7['model']=_[_0x3428('0x3c')](_0x2aff31,_0x3428('0x36'));_0x32baa7[_0x3428('0x4e')]=_[_0x3428('0x4f')](_0x35b4eb[_0x3428('0x4e')]);_0x32baa7[_0x3428('0x50')]=_[_0x3428('0x51')](_0x32baa7['model'],_0x32baa7['query']);_0x8b93e2['attributes']=_[_0x3428('0x51')](_0x32baa7['model'],qs[_0x3428('0x52')](_0x35b4eb[_0x3428('0x4e')]['fields']));_0x8b93e2[_0x3428('0x53')]=_0x8b93e2['attributes'][_0x3428('0x54')]?_0x8b93e2['attributes']:_0x32baa7['model'];if(!_0x35b4eb[_0x3428('0x4e')][_0x3428('0x55')]('nolimit')){_0x8b93e2['limit']=qs[_0x3428('0x2e')](_0x35b4eb[_0x3428('0x4e')]['limit']);_0x8b93e2[_0x3428('0x2c')]=qs[_0x3428('0x2c')](_0x35b4eb[_0x3428('0x4e')][_0x3428('0x2c')]);}_0x8b93e2[_0x3428('0x56')]=qs[_0x3428('0x57')](_0x35b4eb[_0x3428('0x4e')][_0x3428('0x57')]);_0x8b93e2['where']=qs['filters'](_[_0x3428('0x58')](_0x35b4eb[_0x3428('0x4e')],_0x32baa7[_0x3428('0x50')]),_0x2aff31);var _0x2f26ab=[];var _0x4f059a=squel['select']()['field']('id')[_0x3428('0x59')](_0x3428('0x36'))[_0x3428('0x59')](_0x3428('0x5a'))[_0x3428('0x5b')](_0x3428('0x5c'));var _0x4bba8a=squel['select']()[_0x3428('0x59')]('u.id')['field'](_0x3428('0x5d'))['field'](_0x3428('0x5e'))[_0x3428('0x5b')](_0x3428('0x5f'),'ui')[_0x3428('0x60')](_0x3428('0x61'),'u',_0x3428('0x62'));var _0x3804a8=squel[_0x3428('0x63')]()[_0x3428('0x5b')]('chat_interactions','i')[_0x3428('0x60')](_0x3428('0x64'),'c',_0x3428('0x65'))[_0x3428('0x60')](_0x3428('0x61'),'o',_0x3428('0x66'))[_0x3428('0x60')](_0x3428('0x67'),'a',_0x3428('0x68'))[_0x3428('0x60')](_0x3428('0x69'),'me','me.ChatInteractionId\x20=\x20i.id')[_0x3428('0x60')](_0x3428('0x6a'),'it','it.ChatInteractionId\x20=\x20i.id')[_0x3428('0x60')](_0x3428('0x5c'),'t',_0x3428('0x6b'));var _0x679872=squel[_0x3428('0x6c')]();var _0x5108d7=[];var _0x37699d=squel[_0x3428('0x6c')]();var _0x3dd1e2;if(_0x35b4eb['query'][_0x3428('0x6d')]){_0x3dd1e2=as[_0x3428('0x6e')](_0x35b4eb[_0x3428('0x4e')]['search']);var _0x4593a1=_0x3dd1e2[_0x3428('0x6f')];for(var _0x44d3bd=0x0;_0x44d3bd<_0x3dd1e2[_0x3428('0x70')][_0x3428('0x54')];_0x44d3bd++){var _0x519de2=_0x3dd1e2[_0x3428('0x70')][_0x44d3bd];var _0x3cef79='i';var _0x4e1b59=_[_0x3428('0x71')](_0x2aff31,[_0x3428('0x36'),_0x519de2['field']]);if(!_0x4e1b59){switch(_0x519de2[_0x3428('0x59')]){case _0x3428('0x72'):if(_0x519de2['value']==0x1){_0x3804a8[_0x3428('0x73')]('`'+_0x519de2[_0x3428('0x59')]+'`\x20=\x200');}else{_0x3804a8[_0x3428('0x73')]('`'+_0x519de2[_0x3428('0x59')]+_0x3428('0x74'));}break;case'Contact':if(_0x519de2[_0x3428('0x75')]===_0x3428('0x76')){if(_0x519de2[_0x3428('0x77')][_0x3428('0x3f')]('\x20')[_0x3428('0x54')]>0x1){_0x679872[_0x4593a1](_0x3428('0x78'),qs[_0x3428('0x79')](_0x519de2['value']),null);}else{var _0x20d882='%'+_0x519de2[_0x3428('0x77')]+'%';_0x679872[_0x4593a1](_0x3428('0x7a'),_0x20d882,_0x20d882,_0x20d882);}}else{_0x4e1b59=_[_0x3428('0x71')](_0x2aff31,[_0x3428('0x36'),_0x3428('0x7b')]);_0x519de2['field']='ContactId';_0x278eb3=as[_0x3428('0x7c')](_0x3cef79,_0x4e1b59[_0x3428('0x4c')],_0x519de2);_0x679872[_0x4593a1](_0x278eb3['text'],_0x278eb3[_0x3428('0x77')][_0x3428('0x7d')],_0x278eb3[_0x3428('0x77')][_0x3428('0x2a')]);}break;case _0x3428('0x7e'):var _0x1760d3=_0x519de2['value'][_0x3428('0x3f')](',')[_0x3428('0x3c')](function(_0x5dca9c){return Number(_0x5dca9c);});_0x1760d3[_0x3428('0x7f')](function(_0x116ca0){_0x37699d['or'](_0x3428('0x80'),'%,'+_0x116ca0+',%');});_0x5108d7=_[_0x3428('0x81')](_0x5108d7,_0x1760d3);break;case _0x3428('0x82'):if(_0x519de2[_0x3428('0x75')]===_0x3428('0x76')){_0x679872[_0x4593a1](_0x3428('0x83'),'%'+_0x519de2[_0x3428('0x77')]+'%',null);}else{_0x4e1b59=_[_0x3428('0x71')](_0x2aff31,[_0x3428('0x36'),_0x3428('0x47')]);_0x519de2[_0x3428('0x59')]=_0x3428('0x47');_0x278eb3=as['buildExpression'](_0x3cef79,_0x4e1b59[_0x3428('0x4c')],_0x519de2);_0x679872[_0x4593a1](_0x278eb3[_0x3428('0x84')],_0x278eb3[_0x3428('0x77')][_0x3428('0x7d')],_0x278eb3[_0x3428('0x77')][_0x3428('0x2a')]);}break;case _0x3428('0x85'):_0x278eb3=as[_0x3428('0x7c')]('me',null,_0x519de2);_0x679872[_0x4593a1](_0x278eb3[_0x3428('0x84')],_0x278eb3[_0x3428('0x77')]['start'],_0x278eb3[_0x3428('0x77')][_0x3428('0x2a')]);break;}}else{var _0x278eb3=as[_0x3428('0x7c')](_0x3cef79,_0x4e1b59[_0x3428('0x4c')],_0x519de2);_0x679872[_0x4593a1](_0x278eb3['text'],_0x278eb3[_0x3428('0x77')][_0x3428('0x7d')],_0x278eb3[_0x3428('0x77')][_0x3428('0x2a')]);}}}else{var _0x12dd60=_(_0x35b4eb[_0x3428('0x4e')])[_0x3428('0x4f')]()['map'](function(_0x5883b8){return _[_0x3428('0x86')](_0x2aff31,[_0x3428('0x36'),_0x5883b8])?_0x5883b8:undefined;})['compact']()[_0x3428('0x77')]();if(!_['isEmpty'](_0x12dd60)){_0x12dd60[_0x3428('0x7f')](function(_0xb36640){if(_0xb36640===_0x3428('0x87')){_0x3804a8['where'](_0x3428('0x88'),[][_0x3428('0x89')](_0x35b4eb[_0x3428('0x4e')][_0xb36640]));}else if(_0xb36640===_0x3428('0x8a')){var _0x21bec5=JSON[_0x3428('0x8b')](_0x35b4eb['query'][_0xb36640])[_0x3428('0x8c')];var _0x5e8819=JSON['parse'](_0x35b4eb['query'][_0xb36640])[_0x3428('0x8d')];_0x3804a8[_0x3428('0x8e')](_0x3428('0x8f'),_0x21bec5,_0x5e8819);}else{if(_0x35b4eb[_0x3428('0x4e')][_0xb36640]===_0x3428('0x90')){_0x3804a8['where']('i.'+_0xb36640+_0x3428('0x91'));}else{_0x3804a8[_0x3428('0x8e')]('i.'+_0xb36640+_0x3428('0x92'),_0x35b4eb[_0x3428('0x4e')][_0xb36640]);}}});}if(_0x35b4eb['query']['read']){if(_0x35b4eb[_0x3428('0x4e')][_0x3428('0x93')]==0x1){_0x3804a8['having'](_0x3428('0x94'));}else{_0x3804a8[_0x3428('0x73')]('`unreadMessages`\x20>\x200');}}if(_0x35b4eb[_0x3428('0x4e')]['tag']){_0x5108d7=_['isArray'](_0x35b4eb[_0x3428('0x4e')][_0x3428('0x95')])?_0x35b4eb[_0x3428('0x4e')]['tag']:new Array(_0x35b4eb[_0x3428('0x4e')][_0x3428('0x95')]);_0x5108d7[_0x3428('0x7f')](function(_0x5dd631){_0x37699d['or'](_0x3428('0x80'),'%,'+_0x5dd631+',%');});}if(_0x35b4eb[_0x3428('0x4e')][_0x3428('0x96')]){var _0x2d4760=_0x35b4eb[_0x3428('0x4e')][_0x3428('0x96')][_0x3428('0x97')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x3428('0x98')](_0x2d4760)){_0x679872['or'](_0x3428('0x99'),_0x2d4760+'%');}else{_0x679872['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x2d4760))['or'](_0x3428('0x9a'),_0x2d4760+'%');}}}_0x3804a8[_0x3428('0x8e')](_0x679872);_0x3804a8[_0x3428('0x9b')](_0x3428('0x9c'));var _0x2f1786={'type':db[_0x3428('0x9d')][_0x3428('0x9e')][_0x3428('0x9f')],'raw':!![]};var _0x35a2d5=_0x3804a8[_0x3428('0xa0')]();_0x35a2d5[_0x3428('0x59')]('i.id');_0x35a2d5[_0x3428('0x59')](_0x3428('0xa1'),_0x3428('0x72'));if(_0x8b93e2['order']){_0x8b93e2[_0x3428('0x56')][_0x3428('0x7f')](function(_0x2d1e6d){var _0x589837=_0x2d1e6d[0x0]===_0x3428('0xa2')?_0x2d1e6d[0x0]:'i.'+_0x2d1e6d[0x0];_0x3804a8[_0x3428('0x56')](_0x589837,_0x2d1e6d[0x1]==='DESC'?![]:!![]);});}if(!_[_0x3428('0xa3')](_0x5108d7)){_0x3804a8[_0x3428('0x73')](_0x37699d);_0x35a2d5[_0x3428('0x8e')](_0x3428('0xa4'),_0x5108d7);}BPromise[_0x3428('0xa5')]()[_0x3428('0x1d')](function(){if(!_0x3dd1e2){if(_0x35b4eb['query']['ChatWebsiteId'])return;_0x35a2d5[_0x3428('0x8e')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');_0x3804a8['where'](_0x3428('0xa6'));return;}if(_0x35b4eb[_0x3428('0xa7')]['role']!=='agent')return;return _0x35b4eb['user']['getChatWebsites']({'attributes':['id'],'raw':!![]})['then'](function(_0x1c4a9a){if(_[_0x3428('0xa3')](_0x1c4a9a)){_0x35a2d5[_0x3428('0x8e')](_0x3428('0xa8'));_0x3804a8[_0x3428('0x8e')](_0x3428('0xa8'));}else{_0x35a2d5['where'](_0x3428('0x88'),_['map'](_0x1c4a9a,'id'));_0x3804a8[_0x3428('0x8e')]('i.ChatWebsiteId\x20IN\x20?',_['map'](_0x1c4a9a,'id'));}});})[_0x3428('0x1d')](function(){if(_0x35b4eb['user'][_0x3428('0xa9')]===_0x3428('0x3a')&&!_0x3dd1e2&&!_0x35b4eb['query'][_0x3428('0x87')])return[];return db[_0x3428('0xaa')]['query'](_0x35a2d5['toString'](),_0x2f1786);})[_0x3428('0x1d')](function(_0x28f06b){_0x324396[_0x3428('0x2f')]=_0x28f06b[_0x3428('0x54')];if(_0x324396[_0x3428('0x2f')]===0x0)return[];return db[_0x3428('0xaa')][_0x3428('0x4e')](_0x4f059a[_0x3428('0xab')](),_0x2f1786)[_0x3428('0x1d')](function(_0x985112){_0x2f26ab=_[_0x3428('0xac')](_0x985112,'id');_0x2f1786=_[_0x3428('0x39')](_0x2f1786,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x35b4eb['query'][_0x3428('0x52')]){_0x8b93e2[_0x3428('0x53')]['forEach'](function(_0x567653){_0x3804a8[_0x3428('0x59')]('i.'+_0x567653);});}else{_0x3804a8[_0x3428('0x59')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x3428('0x72'));_0x3804a8[_0x3428('0x59')](_0x3428('0xad'),_0x3428('0xae'));_0x3804a8[_0x3428('0x59')](_0x3428('0xaf'),'Account.mandatoryDisposition');_0x3804a8[_0x3428('0x59')](_0x3428('0xb0'),'contactName');_0x3804a8['field'](_0x3428('0xb1'));_0x3804a8[_0x3428('0x59')](_0x3428('0xb2'),'Contact.firstName');_0x3804a8['field']('c.lastName',_0x3428('0xb3'));_0x3804a8[_0x3428('0x59')](_0x3428('0xb4'),'Contact.email');_0x3804a8[_0x3428('0x59')](_0x3428('0xb5'),_0x3428('0xb6'));_0x3804a8[_0x3428('0x59')](_0x3428('0xb7'),'Contact.mobile');_0x3804a8['field']('c.fax',_0x3428('0xb8'));_0x3804a8['field'](_0x3428('0xb9'),_0x3428('0xba'));_0x3804a8[_0x3428('0x59')]('o.internal',_0x3428('0xbb'));_0x3804a8[_0x3428('0x59')]('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0x8b93e2[_0x3428('0x2e')])_0x3804a8[_0x3428('0x2e')](_0x8b93e2[_0x3428('0x2e')]);if(_0x8b93e2[_0x3428('0x2c')])_0x3804a8[_0x3428('0x2c')](_0x8b93e2[_0x3428('0x2c')]);return db[_0x3428('0xaa')][_0x3428('0x4e')](_0x3804a8['toString'](),_0x2f1786);})[_0x3428('0x1d')](function(_0x3d3c44){if(_0x3d3c44[_0x3428('0x54')]>0x0)_0x4bba8a[_0x3428('0x8e')](_0x3428('0xbc'),_['map'](_0x3d3c44,'id'));return db[_0x3428('0xaa')]['query'](_0x4bba8a[_0x3428('0xab')](),_0x2f1786)[_0x3428('0x1d')](function(_0x4de9d6){var _0x50ac02=_[_0x3428('0xbd')](_0x4de9d6,'ChatInteractionId');var _0x46ddb3=[];_0x3d3c44[_0x3428('0x7f')](function(_0x587e35){_0x46ddb3[_0x3428('0xbe')](updateChatInteraction(_0x587e35,_0x2f26ab,_0x50ac02));});return BPromise[_0x3428('0xbf')](_0x46ddb3);});});})[_0x3428('0x1d')](function(_0x3cfda3){_0x324396['rows']=_0x3cfda3;return _0x324396;})['then'](respondWithFilteredResult(_0x2007e0,_0x8b93e2))[_0x3428('0x27')](handleError(_0x2007e0,null));};exports[_0x3428('0xc0')]=function(_0x28e88b,_0x3ad829){var _0x25fe28={'raw':![],'where':{'id':_0x28e88b['params']['id']}},_0x34ff92={};_0x34ff92[_0x3428('0xc1')]=_[_0x3428('0x4f')](db[_0x3428('0xc2')][_0x3428('0x4a')]);_0x34ff92[_0x3428('0x4e')]=_[_0x3428('0x4f')](_0x28e88b[_0x3428('0x4e')]);_0x34ff92[_0x3428('0x50')]=_[_0x3428('0x51')](_0x34ff92[_0x3428('0xc1')],_0x34ff92[_0x3428('0x4e')]);_0x25fe28[_0x3428('0x53')]=_[_0x3428('0x51')](_0x34ff92['model'],qs[_0x3428('0x52')](_0x28e88b[_0x3428('0x4e')][_0x3428('0x52')]));_0x25fe28[_0x3428('0x53')]=_0x25fe28[_0x3428('0x53')][_0x3428('0x54')]?_0x25fe28['attributes']:_0x34ff92[_0x3428('0xc1')];if(_0x28e88b[_0x3428('0x4e')][_0x3428('0xc3')]){_0x25fe28[_0x3428('0xc4')]=[{'all':!![]}];}_0x25fe28=_[_0x3428('0x39')]({},_0x25fe28,_0x28e88b[_0x3428('0xc5')]);return db[_0x3428('0xc2')][_0x3428('0x71')](_0x25fe28)[_0x3428('0x1d')](handleEntityNotFound(_0x3ad829,null))['then'](respondWithResult(_0x3ad829,null))[_0x3428('0x27')](handleError(_0x3ad829,null));};exports[_0x3428('0xc6')]=function(_0x5c7c3a,_0x59525a){return db[_0x3428('0xc2')][_0x3428('0xc6')](_0x5c7c3a[_0x3428('0x85')],{})[_0x3428('0x1d')](respondWithResult(_0x59525a,0xc9))[_0x3428('0x27')](handleError(_0x59525a,null));};exports[_0x3428('0xc7')]=function(_0x44e4f0,_0x5c19b6){if(_0x44e4f0[_0x3428('0x85')]['id']){delete _0x44e4f0[_0x3428('0x85')]['id'];}return db[_0x3428('0xc2')]['find']({'where':{'id':_0x44e4f0[_0x3428('0xc8')]['id']}})['then'](handleEntityNotFound(_0x5c19b6,null))[_0x3428('0x1d')](saveUpdates(_0x44e4f0[_0x3428('0x85')],null))[_0x3428('0x1d')](respondWithResult(_0x5c19b6,null))[_0x3428('0x27')](handleError(_0x5c19b6,null));};exports[_0x3428('0x34')]=function(_0x3be07f,_0x4ccb62){return db['ChatInteraction']['find']({'where':{'id':_0x3be07f['params']['id']}})['then'](handleEntityNotFound(_0x4ccb62,null))[_0x3428('0x1d')](removeEntity(_0x4ccb62,null))[_0x3428('0x27')](handleError(_0x4ccb62,null));};exports[_0x3428('0xc9')]=function(_0x7d2481,_0x49f992){return db[_0x3428('0xc2')]['describe']()[_0x3428('0x1d')](respondWithResult(_0x49f992,null))[_0x3428('0x27')](handleError(_0x49f992,null));};exports[_0x3428('0xca')]=function(_0x41e03c,_0x4519b8){var _0x216636=_0x41e03c[_0x3428('0xc8')]['id'];var _0x213aee;var _0x26080e;var _0x5af57d;return db['ChatInteraction']['findOne']({'where':{'id':_0x216636}})[_0x3428('0x1d')](function(_0x21ed17){_0x213aee=_0x21ed17;return db[_0x3428('0xcb')][_0x3428('0xcc')]({'where':{'id':_0x21ed17[_0x3428('0x87')]},'attributes':['id','vidaooApiKey',_0x3428('0xcd'),'vidaooTopic','vidaooNote',_0x3428('0xce')],'raw':!![]});})['then'](function(_0x5cf589){if(_0x5cf589&&_0x5cf589['vidaooApiKey']&&_0x5cf589[_0x3428('0xcd')]){_0x26080e=_0x5cf589;var _0x41414a={'interaction':{'id':_0x216636},'agent':{'id':_0x41e03c['user']['id'],'name':_0x41e03c['user'][_0x3428('0x36')],'fullname':_0x41e03c[_0x3428('0xa7')][_0x3428('0xcf')],'email':_0x41e03c[_0x3428('0xa7')][_0x3428('0xd0')]},'contact':_0x41e03c[_0x3428('0x85')][_0x3428('0xd1')],'account':_0x41e03c[_0x3428('0x85')]['account']};var _0x1ef6a8={'rejectUnauthorized':![],'method':_0x3428('0xd2'),'url':_0x3428('0xd3'),'headers':{'X-APIKEY':_0x5cf589[_0x3428('0xd4')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x41e03c['user'][_0x3428('0xd0')]],'buttons':null,'topic':_0x26080e[_0x3428('0xd5')],'note':_[_0x3428('0xd6')](_0x26080e[_0x3428('0xd7')])?null:getMustacheRender(_0x26080e[_0x3428('0xd7')],_0x41414a),'metadata':null},'redirect':_0x3428('0xd8'),'json':!![]};try{if(!_['isNull'](_0x26080e[_0x3428('0xce')])){var _0x503c0e=getMustacheRender(_0x26080e[_0x3428('0xce')],_0x41414a);var _0x2c3959=JSON[_0x3428('0x8b')](_0x503c0e);_0x1ef6a8[_0x3428('0x85')]['metadata']=_0x2c3959;}}catch(_0x461bdb){throw new db[(_0x3428('0x9d'))][(_0x3428('0xd9'))]('Error\x20in\x20conversion\x20vidaooMetadata');}return rp(_0x1ef6a8);}else{throw new db[(_0x3428('0x9d'))][(_0x3428('0xd9'))]('Error\x20in\x20Vidaoo\x20configuration');}})[_0x3428('0x1d')](function(_0x4c12be){_0x5af57d=_0x4c12be;if(_0x5af57d['id']){var _0x4e4183={'body':_0x5af57d['join_url'],'ChatWebsiteId':_0x26080e['id'],'ChatInteractionId':_0x213aee['id'],'direction':_0x3428('0xda'),'UserId':_0x41e03c[_0x3428('0xa7')]['id']};return db[_0x3428('0xdb')]['create'](_0x4e4183,{});}else{throw new db['Sequelize'][(_0x3428('0xd9'))]('Unable\x20to\x20create\x20Vidaoo\x20session');}})[_0x3428('0x1d')](function(){return _0x213aee['updateAttributes']({'vidaooSessionId':_0x5af57d['id']});})[_0x3428('0x1d')](respondWithResult(_0x4519b8,null))[_0x3428('0x27')](handleError(_0x4519b8,null));};exports[_0x3428('0xdc')]=function(_0x3a5107,_0x1b36e1){if(_0x3a5107['body']['id']){delete _0x3a5107[_0x3428('0x85')]['id'];}return db[_0x3428('0xc2')]['find']({'where':{'id':_0x3a5107['params']['id']},'include':[{'model':db['CmContact'],'as':_0x3428('0xdd')}]})['then'](handleEntityNotFound(_0x1b36e1,null))[_0x3428('0x1d')](saveUpdates(_0x3a5107[_0x3428('0x85')],null))[_0x3428('0x1d')](respondWithResult(_0x1b36e1,null))[_0x3428('0x27')](handleError(_0x1b36e1,null));};exports[_0x3428('0xde')]=function(_0x5be91d,_0x5d53ea,_0x12f45c){if(_0x5be91d[_0x3428('0x85')]['id']){delete _0x5be91d[_0x3428('0x85')]['id'];}return db['ChatInteraction']['find']({'where':{'id':_0x5be91d[_0x3428('0xc8')]['id']}})[_0x3428('0x1d')](function(_0x537068){if(!_0x537068){logger['error']('abandonInteraction,\x20%s,\x20%s,\x20%s',_0x3428('0xde'),0x194,_0x3428('0xdf'));_0x5d53ea[_0x3428('0x28')](0x194);}else{if(_0x537068[_0x3428('0x47')]){throw new db[(_0x3428('0x9d'))][(_0x3428('0xd9'))]('Interaction\x20already\x20assigned');}}return _0x537068;})['then'](function(_0x2a6182){if(_0x2a6182){return _0x2a6182['update']({'closed':_0x5be91d[_0x3428('0x85')][_0x3428('0x46')],'disposition':_0x5be91d[_0x3428('0x85')][_0x3428('0x48')]})['then'](function(_0x15a897){return _0x15a897;});}})[_0x3428('0x1d')](function(_0x4fd89e){return respondWithRpcPromise(_0x3428('0xe0'),'abandon',_0x5be91d[_0x3428('0x85')],client9004);})[_0x3428('0x1d')](respondWithResult(_0x5d53ea,null))[_0x3428('0x27')](handleError(_0x5d53ea,null));};exports[_0x3428('0xe1')]=function(_0x5d7226,_0x59be70,_0x38fd4e){_0x5d7226[_0x3428('0x85')][_0x3428('0x36')]=_0x5d7226[_0x3428('0xe2')][_0x3428('0xe3')];_0x5d7226[_0x3428('0x85')][_0x3428('0xe4')]=_0x5d7226[_0x3428('0xe2')][_0x3428('0xe5')];_0x5d7226['body']['type']=_0x5d7226[_0x3428('0xe2')][_0x3428('0xe6')];return db[_0x3428('0xe7')][_0x3428('0xc6')](_0x5d7226[_0x3428('0x85')])['then'](respondWithResult(_0x59be70,0xc9))[_0x3428('0x27')](handleError(_0x59be70,null));};exports[_0x3428('0xe8')]=function(_0x302780,_0x12bbc4,_0x26ddea){return db[_0x3428('0xc2')][_0x3428('0xcc')]({'where':{'id':_0x302780[_0x3428('0xc8')]['id']},'raw':!![]})[_0x3428('0x1d')](handleEntityNotFound(_0x12bbc4,null))[_0x3428('0x1d')](function(_0x111b2e){if(_0x111b2e){if(_0x111b2e[_0x3428('0x46')]){return _0x12bbc4[_0x3428('0x29')](0x193)[_0x3428('0x2b')]({'status':0x193,'message':_0x3428('0xe9')});}return db[_0x3428('0xe7')][_0x3428('0xcc')]({'where':{'id':_0x302780['query'][_0x3428('0xea')]},'raw':!![]})['then'](handleEntityNotFound(_0x12bbc4,null));}})['then'](function(_0x176770){if(_0x176770){var _0x2b567f=_0x176770[_0x3428('0xeb')]!==null;var _0x1aec1f=path['join'](config[_0x3428('0xec')],_0x3428('0xed'));if(_0x2b567f){_0x1aec1f=path[_0x3428('0xee')](_0x1aec1f,_0x3428('0xef'));}var _0xc3ed3f=path[_0x3428('0xee')](_0x1aec1f,_0x176770['basename']);return _0x12bbc4['download'](_0xc3ed3f);}})[_0x3428('0x27')](handleError(_0x12bbc4,null));};exports[_0x3428('0xf0')]=function(_0x5b9523,_0x52432f){var _0x3b933c=null;var _0x3b7987=null;var _0x3ab1c5=null;var _0x172ffd=null;if(_0x5b9523[_0x3428('0x85')]['id']){delete _0x5b9523[_0x3428('0x85')]['id'];}if(_0x5b9523[_0x3428('0x85')][_0x3428('0xf1')]){_0x172ffd=path[_0x3428('0xee')](config[_0x3428('0xec')],_0x3428('0xf2'),util[_0x3428('0xf3')](_0x3428('0xf4'),Date[_0x3428('0xf5')]()));_0x5b9523[_0x3428('0x85')][_0x3428('0xf6')]=_0x172ffd;}return db[_0x3428('0xc2')][_0x3428('0x71')]({'where':{'id':_0x5b9523['params']['id']},'include':[{'model':db[_0x3428('0xdb')],'as':_0x3428('0xf7'),'include':[{'model':db[_0x3428('0x82')],'as':'User'}]}]})['then'](handleEntityNotFound(_0x52432f,null))[_0x3428('0x1d')](saveUpdates(_0x5b9523[_0x3428('0x85')],null))['then'](function(_0x1c3b8b){if(_0x1c3b8b){_0x3b933c=_0x1c3b8b;return db['ChatWebsite'][_0x3428('0x71')]({'where':{'id':_0x3b933c[_0x3428('0x87')]}});}})[_0x3428('0x1d')](function(_0x26ef1b){if(_0x26ef1b){_0x3ab1c5=_0x26ef1b;return db[_0x3428('0xf8')][_0x3428('0x71')]({'where':{'id':_0x3b933c[_0x3428('0x7b')]}});}})[_0x3428('0x1d')](function(_0x20e1c7){if(_0x20e1c7){_0x3b7987=_0x20e1c7;if(_0x172ffd){var _0x496a43=null;for(var _0x1e362d=0x1;_0x1e362d<_0x3b933c[_0x3428('0xf7')]['length'];++_0x1e362d){_0x496a43=_0x3b933c['Messages'][_0x1e362d];var _0x3ea286=_0x496a43[_0x3428('0x47')]?util[_0x3428('0xf3')](_0x3428('0xf9'),_0x3ab1c5[_0x3428('0xfa')],_0x496a43['UserId']):_0x3428('0xfb');var _0x16e520=_0x5b9523[_0x3428('0x85')][_0x3428('0xfc')]||util[_0x3428('0xf3')]('%s%d',_0x3428('0xfd'),_0x496a43[_0x3428('0x7b')]);switch(_0x3ab1c5[_0x3428('0xfe')]){case _0x3428('0xff'):_0x3ea286=_0x496a43[_0x3428('0x47')]?util['format']('%s%d',_0x3ab1c5['agentAlias'],_0x496a43[_0x3428('0x47')]):_0x3428('0xfb');break;case _0x3428('0x100'):_0x3ea286=_0x496a43[_0x3428('0x47')]?_0x496a43[_0x3428('0x82')][_0x3428('0x101')]||_0x496a43[_0x3428('0x82')][_0x3428('0xcf')]:_0x3428('0xfb');break;case'agent_fullname':_0x3ea286=_0x496a43[_0x3428('0x47')]?_0x496a43[_0x3428('0x82')][_0x3428('0xcf')]:_0x3428('0xfb');break;default:_0x3ea286=_0x496a43[_0x3428('0x47')]?util[_0x3428('0xf3')](_0x3428('0xf9'),_0x3ab1c5[_0x3428('0xfa')],_0x496a43[_0x3428('0x47')]):_0x3428('0xfb');}var _0x2807e7=util[_0x3428('0xf3')](_0x3428('0x102'),moment(_0x496a43[_0x3428('0x8a')])[_0x3428('0xf3')](_0x3428('0x103')),_0x496a43[_0x3428('0x104')]==='in'?_0x16e520:_0x3ea286,_0x496a43['body']);if(!_0x496a43[_0x3428('0x105')]){fs[_0x3428('0x106')](_0x172ffd,_0x2807e7);}}return db[_0x3428('0x107')][_0x3428('0xcc')]({'where':{'service':!![]},'include':[{'model':db[_0x3428('0x108')],'as':_0x3428('0x109'),'raw':!![]}]});}}})[_0x3428('0x1d')](function(_0x3553cf){if(_0x3553cf&&_0x3553cf['Smtp']&&_0x5b9523[_0x3428('0x85')]){var _0x1e4f8a={'tls':{'rejectUnauthorized':![]}};if(_0x3553cf[_0x3428('0x109')][_0x3428('0x10a')]){_0x1e4f8a[_0x3428('0x10a')]=_0x3553cf[_0x3428('0x109')][_0x3428('0x10a')];}else{_0x1e4f8a[_0x3428('0x10b')]=_0x3553cf[_0x3428('0x109')][_0x3428('0x10b')];_0x1e4f8a[_0x3428('0x10c')]=_0x3553cf[_0x3428('0x109')]['port'];_0x1e4f8a['secure']=_0x3553cf[_0x3428('0x109')][_0x3428('0x10d')];}if(_0x3553cf[_0x3428('0x109')][_0x3428('0x10e')]){_0x1e4f8a[_0x3428('0x10f')]={'user':_0x3553cf['Smtp'][_0x3428('0xa7')],'pass':_0x3553cf[_0x3428('0x109')][_0x3428('0x110')]};}return respondWithRpcPromise(_0x3428('0x111'),_0x3428('0x112'),{'account':_0x1e4f8a,'message':{'from':util[_0x3428('0xf3')]('\x22%s\x22\x20<%s>',_0x3553cf[_0x3428('0x36')],_0x3553cf['email']||_0x3553cf[_0x3428('0x109')][_0x3428('0xa7')]),'to':_0x5b9523[_0x3428('0x85')][_0x3428('0xf1')],'subject':_0x3428('0x113'),'text':util[_0x3428('0xf3')](_0x3428('0x114'),_0x5b9523[_0x3428('0x85')]['mailTranscript']),'attachments':[{'path':_0x172ffd}]}})['then'](function(){return _0x3b933c;})[_0x3428('0x27')](function(_0x1a048c){console['error'](_0x1a048c);});}else{return _0x3b933c;}})[_0x3428('0x1d')](respondWithStatusCode(_0x52432f,0xc8))[_0x3428('0x27')](handleError(_0x52432f,null));};exports[_0x3428('0x115')]=function(_0x1da5a7,_0x6dd780,_0x8db487){return db['ChatMessage'][_0x3428('0x71')]({'where':{'id':_0x1da5a7['params']['id']}})[_0x3428('0x1d')](handleEntityNotFound(_0x6dd780,null))[_0x3428('0x1d')](function(_0xff556d){if(_0xff556d){return _0xff556d[_0x3428('0x115')](_0x1da5a7[_0x3428('0x85')]['ids'],_['omit'](_0x1da5a7['body'],[_0x3428('0x116'),'id'])||{});}})['then'](respondWithResult(_0x6dd780,null))['catch'](handleError(_0x6dd780,null));};exports[_0x3428('0x117')]=function(_0x10050a,_0x3fd9b5,_0x31b6ec){var _0xbda25e={'raw':![],'where':{}};var _0x57f7d0={};var _0x4b8c9b={'count':0x0,'rows':[]};return db[_0x3428('0xc2')][_0x3428('0xcc')]({'where':{'id':_0x10050a[_0x3428('0xc8')]['id']}})[_0x3428('0x1d')](handleEntityNotFound(_0x3fd9b5,null))[_0x3428('0x1d')](function(_0x51c7c6){if(_0x51c7c6){_0x57f7d0[_0x3428('0xc1')]=_['keys'](db[_0x3428('0xdb')][_0x3428('0x4a')]);_0x57f7d0[_0x3428('0x4e')]=_['keys'](_0x10050a['query']);_0x57f7d0[_0x3428('0x50')]=_[_0x3428('0x51')](_0x57f7d0['model'],_0x57f7d0[_0x3428('0x4e')]);_0xbda25e[_0x3428('0x53')]=_[_0x3428('0x51')](_0x57f7d0[_0x3428('0xc1')],qs[_0x3428('0x52')](_0x10050a[_0x3428('0x4e')][_0x3428('0x52')]));_0xbda25e[_0x3428('0x53')]=_0xbda25e['attributes'][_0x3428('0x54')]?_0xbda25e['attributes']:_0x57f7d0[_0x3428('0xc1')];if(!_0x10050a[_0x3428('0x4e')][_0x3428('0x55')](_0x3428('0x118'))){_0xbda25e[_0x3428('0x2e')]=qs[_0x3428('0x2e')](_0x10050a[_0x3428('0x4e')]['limit']);_0xbda25e[_0x3428('0x2c')]=qs[_0x3428('0x2c')](_0x10050a[_0x3428('0x4e')][_0x3428('0x2c')]);}_0xbda25e['order']=qs[_0x3428('0x57')](_0x10050a[_0x3428('0x4e')]['sort']);_0xbda25e[_0x3428('0x8e')]=qs[_0x3428('0x50')](_[_0x3428('0x58')](_0x10050a['query'],_0x57f7d0[_0x3428('0x50')]));_0xbda25e[_0x3428('0x8e')]['ChatInteractionId']=_0x51c7c6['id'];if(_0x10050a['query'][_0x3428('0x96')]){_0xbda25e['where']=_[_0x3428('0x39')](_0xbda25e[_0x3428('0x8e')],{'$or':_[_0x3428('0x3c')](_0xbda25e[_0x3428('0x53')],function(_0x57d7b1){var _0x2f6922={};_0x2f6922[_0x57d7b1]={'$like':'%'+_0x10050a['query'][_0x3428('0x96')]+'%'};return _0x2f6922;})});}if(_0x10050a[_0x3428('0x4e')][_0x3428('0x8c')]){var _0x5274b6=_0x10050a[_0x3428('0x4e')]['$gte'][_0x3428('0x3f')](',');var _0x4f6311={};_0x4f6311[_0x5274b6[0x0]]={'$gte':moment(_0x5274b6[0x1])[_0x3428('0xf3')](_0x3428('0x119'))};_0xbda25e['where']=_['merge'](_0xbda25e[_0x3428('0x8e')],_0x4f6311);}_0xbda25e=_['merge']({},_0xbda25e,_0x10050a[_0x3428('0xc5')]);return db[_0x3428('0xdb')][_0x3428('0x2f')]({'where':_0xbda25e[_0x3428('0x8e')]})[_0x3428('0x1d')](function(_0x4e29bb){_0x4b8c9b[_0x3428('0x2f')]=_0x4e29bb;if(_0x10050a[_0x3428('0x4e')][_0x3428('0xc3')]){_0xbda25e['include']=[{'all':!![]}];}return db[_0x3428('0xdb')][_0x3428('0x11a')](_0xbda25e);})[_0x3428('0x1d')](function(_0x14823b){_0x4b8c9b['rows']=_0x14823b;return _0x4b8c9b;});}})[_0x3428('0x1d')](respondWithFilteredResult(_0x3fd9b5,_0xbda25e))[_0x3428('0x27')](handleError(_0x3fd9b5,null));};exports[_0x3428('0x11b')]=function(_0xa90a79,_0x5761a9,_0x55f347){var _0x14e24a={'where':{}},_0x27f16c={},_0xd1bd3a={'count':0x0,'rows':[]};return db[_0x3428('0xc2')][_0x3428('0xcc')]({'where':{'id':_0xa90a79[_0x3428('0xc8')]['id']}})[_0x3428('0x1d')](handleEntityNotFound(_0x5761a9,null))[_0x3428('0x1d')](function(_0x2fd135){if(_0x2fd135){_0x27f16c['model']=_[_0x3428('0x4f')](db[_0x3428('0xdb')]['rawAttributes']);_0x27f16c['query']=_[_0x3428('0x4f')](_0xa90a79[_0x3428('0x4e')]);_0x27f16c[_0x3428('0x50')]=_[_0x3428('0x51')](_0x27f16c[_0x3428('0xc1')],_0x27f16c['query']);_0x14e24a[_0x3428('0x53')]=_['intersection'](_0x27f16c[_0x3428('0xc1')],qs['fields'](_0xa90a79[_0x3428('0x4e')][_0x3428('0x52')]));_0x14e24a[_0x3428('0x53')]=_0x14e24a[_0x3428('0x53')][_0x3428('0x54')]?_0x14e24a[_0x3428('0x53')]:_0x27f16c['model'];if(!_0xa90a79[_0x3428('0x4e')][_0x3428('0x55')]('nolimit')){_0x14e24a[_0x3428('0x2e')]=qs[_0x3428('0x2e')](_0xa90a79[_0x3428('0x4e')]['limit']);_0x14e24a[_0x3428('0x2c')]=qs[_0x3428('0x2c')](_0xa90a79['query'][_0x3428('0x2c')]);}_0x14e24a[_0x3428('0x56')]=qs['sort'](_0xa90a79[_0x3428('0x4e')][_0x3428('0x57')]);_0x14e24a[_0x3428('0x8e')]=qs[_0x3428('0x50')](_[_0x3428('0x58')](_0xa90a79[_0x3428('0x4e')],_0x27f16c[_0x3428('0x50')]));_0x14e24a[_0x3428('0x8e')][_0x3428('0x11c')]=_0x2fd135['id'];if(_0xa90a79[_0x3428('0x4e')]['filter']){_0x14e24a[_0x3428('0x8e')]=_[_0x3428('0x39')](_0x14e24a[_0x3428('0x8e')],{'$or':_[_0x3428('0x3c')](_0x14e24a[_0x3428('0x53')],function(_0x5b7994){var _0x5b7f4e={};_0x5b7f4e[_0x5b7994]={'$like':'%'+_0xa90a79['query'][_0x3428('0x96')]+'%'};return _0x5b7f4e;})});}_0x14e24a[_0x3428('0x8e')][_0x3428('0x105')]=![];if(_0xa90a79[_0x3428('0x4e')]['id']){_0x14e24a[_0x3428('0x8e')]['id']={'$gt':_0xa90a79[_0x3428('0x4e')]['id']};}_0x14e24a=_[_0x3428('0x39')]({},_0x14e24a,_0xa90a79[_0x3428('0xc5')]);return db[_0x3428('0xdb')][_0x3428('0x2f')]({'where':_0x14e24a['where']})[_0x3428('0x1d')](function(_0x231d66){_0xd1bd3a[_0x3428('0x2f')]=_0x231d66;_0x14e24a[_0x3428('0xc4')]=[];if(_0xa90a79[_0x3428('0x4e')]['includeAgent']){_0x14e24a[_0x3428('0xc4')][_0x3428('0xbe')]({'model':db[_0x3428('0x82')],'as':_0x3428('0x82'),'attributes':['id',_0x3428('0xcf'),_0x3428('0x101')]});}if(_0xa90a79[_0x3428('0x4e')][_0x3428('0xc3')]){_0x14e24a[_0x3428('0xc4')]=[{'all':!![]}];}return db[_0x3428('0xdb')][_0x3428('0x11a')](_0x14e24a);})[_0x3428('0x1d')](function(_0x3ab5e3){_0xd1bd3a[_0x3428('0x11d')]=_0x3ab5e3;return _0xd1bd3a;});}})[_0x3428('0x1d')](respondWithFilteredResult(_0x5761a9,_0x14e24a))[_0x3428('0x27')](handleError(_0x5761a9,null));};exports['addTags']=function(_0x689928,_0x54888f,_0x29f745){return db[_0x3428('0xc2')][_0x3428('0x71')]({'where':{'id':_0x689928['params']['id']}})[_0x3428('0x1d')](handleEntityNotFound(_0x54888f,null))[_0x3428('0x1d')](function(_0x3c9a05){if(_0x3c9a05){return _0x3c9a05[_0x3428('0x11e')](_0x689928[_0x3428('0x85')][_0x3428('0x116')],_[_0x3428('0x11f')](_0x689928['body'],['ids','id'])||{})[_0x3428('0x120')](function(){return db[_0x3428('0x7e')][_0x3428('0x11a')]({'attributes':['id','name',_0x3428('0x5a')],'where':{'id':_0x689928[_0x3428('0x85')][_0x3428('0x116')]}});})[_0x3428('0x1d')](function(_0x17c593){socket[_0x3428('0x121')](_0x3428('0x122'),{'id':Number(_0x689928[_0x3428('0xc8')]['id']),'tags':_0x17c593||[]});return{'id':Number(_0x689928[_0x3428('0xc8')]['id']),'tags':_0x17c593||[]};});}})[_0x3428('0x1d')](respondWithResult(_0x54888f,null))[_0x3428('0x27')](handleError(_0x54888f,null));};exports[_0x3428('0x123')]=function(_0x3f9169,_0x4d3196,_0x4f0cd9){return db[_0x3428('0xc2')][_0x3428('0x71')]({'where':{'id':_0x3f9169[_0x3428('0xc8')]['id']}})['then'](handleEntityNotFound(_0x4d3196,null))[_0x3428('0x1d')](function(_0x54c94f){if(_0x54c94f){return _0x54c94f[_0x3428('0x123')](_0x3f9169[_0x3428('0x4e')][_0x3428('0x116')]);}})[_0x3428('0x1d')](respondWithStatusCode(_0x4d3196,null))[_0x3428('0x27')](handleError(_0x4d3196,null));};exports[_0x3428('0x124')]=function(_0xb826ec,_0xf62f49){var _0x4d34a7=moment()['unix']()[_0x3428('0xab')]();var _0x2e6542=path['join'](config[_0x3428('0xec')],_0x3428('0x125'),_0x3428('0x126'),_0x3428('0x127'));var _0x47734d=path[_0x3428('0xee')](config['root'],_0x3428('0x125'),_0x3428('0x126'),_0x3428('0x128'));var _0x3956c7=path[_0x3428('0xee')](_0x2e6542,_0x4d34a7);var _0x2803b9=util['format'](_0x3428('0x129'),_0xb826ec[_0x3428('0xc8')]['id'],_0x4d34a7);var _0x1d1890=path[_0x3428('0xee')](_0x2e6542,_0x2803b9);var _0x5d121e=[];_0x5d121e[_0x3428('0xbe')]({'model':db['User'],'as':_0x3428('0x82'),'attributes':['id',_0x3428('0xcf')],'raw':!![]});_0x5d121e[_0x3428('0xbe')]({'model':db[_0x3428('0xf8')],'as':_0x3428('0xdd'),'attributes':['id',_0x3428('0x12a'),_0x3428('0x12b')],'raw':!![]});if(_0xb826ec[_0x3428('0x4e')][_0x3428('0x128')]){_0x5d121e[_0x3428('0xbe')]({'model':db[_0x3428('0xe7')],'as':_0x3428('0xe7'),'raw':!![]});}var _0x552bfc=[{'model':db[_0x3428('0xdb')],'as':'Messages','attributes':['id','body',_0x3428('0x8a'),_0x3428('0x104'),'secret',_0x3428('0x93')],'include':_0x5d121e}];_0x552bfc[_0x3428('0xbe')]({'model':db[_0x3428('0xcb')],'as':_0x3428('0x12c'),'attributes':['id',_0x3428('0x36')]});_0x552bfc['push']({'model':db['User'],'as':_0x3428('0x12d'),'attributes':['id',_0x3428('0xcf')]});return db[_0x3428('0xc2')][_0x3428('0x71')]({'where':{'id':_0xb826ec[_0x3428('0xc8')]['id']},'include':_0x552bfc})[_0x3428('0x1d')](handleEntityNotFound(_0xf62f49,null))[_0x3428('0x1d')](function(_0xfb450b){if(_0xfb450b){var _0x478ba7=_0xfb450b['get']({'plain':!![]});fs[_0x3428('0x12e')](_0x3956c7);var _0x681459={'channel':_0x3428('0x12f'),'account':_0x478ba7[_0x3428('0x12c')][_0x3428('0x36')],'agent':_0x478ba7[_0x3428('0x12d')]?_0x478ba7[_0x3428('0x12d')]['fullname']:_0x3428('0x130'),'createdAt':moment(_0x478ba7[_0x3428('0x8a')])['format'](_0x3428('0x119'))[_0x3428('0xab')](),'closedAt':_0x478ba7['closed']?moment(_0x478ba7[_0x3428('0x131')])['format'](_0x3428('0x119'))['toString']():'','disposition':_0x478ba7['disposition'],'chatInfo':{'browser':_0x478ba7['browserName'],'os':_0x478ba7[_0x3428('0x132')],'referer':_0x478ba7[_0x3428('0x133')],'customerIp':_0x478ba7['customerIp'],'customerPort':_0x478ba7[_0x3428('0x134')]?_0x478ba7[_0x3428('0x134')]:_0x3428('0x130')},'messages':_(_0x478ba7[_0x3428('0xf7')])[_0x3428('0x135')]()[_0x3428('0x96')]({'secret':![]})[_0x3428('0x3c')](function(_0x33ac9c){if(_0x33ac9c[_0x3428('0xe7')]){var _0x5e7a62=path[_0x3428('0xee')](_0x47734d,_0x33ac9c[_0x3428('0xe7')]['basename']);if(fs[_0x3428('0x136')](_0x5e7a62)){fs[_0x3428('0x137')](_0x5e7a62)[_0x3428('0x138')](fs[_0x3428('0x139')](path['join'](_0x3956c7,_0x33ac9c[_0x3428('0xe7')]['basename'])));}}return{'date':moment(_0x33ac9c['createdAt'])['format'](_0x3428('0x119'))['toString'](),'sender':_0x33ac9c[_0x3428('0x104')]===_0x3428('0xda')?_0x33ac9c[_0x3428('0x82')]?_0x33ac9c[_0x3428('0x82')][_0x3428('0xcf')]:_0x3428('0xfb'):_0x33ac9c['Contact'][_0x3428('0x12a')]+(_0x33ac9c[_0x3428('0xdd')][_0x3428('0x12b')]?'\x20'+_0x33ac9c[_0x3428('0xdd')][_0x3428('0x12b')]:''),'body':_0x33ac9c[_0x3428('0xe7')]?_0x33ac9c[_0x3428('0xe7')][_0x3428('0xe4')]:_0x33ac9c[_0x3428('0x85')],'direction':_0x33ac9c['direction']==='out'?'A':'C','secret':_0x33ac9c[_0x3428('0x105')],'read':_0x33ac9c[_0x3428('0x93')],'attachment':_0x33ac9c[_0x3428('0xe7')]};})[_0x3428('0x77')]()};return ejs[_0x3428('0x13a')](path[_0x3428('0xee')](config[_0x3428('0xec')],_0x3428('0x125'),_0x3428('0x13b'),_0x3428('0x13c')),{'interaction':_0x681459})[_0x3428('0x1d')](function(_0x11bad0){var _0x5601eb=path[_0x3428('0xee')](_0x3956c7,'transcript-'+_0x478ba7['id']+'-'+_0x4d34a7+_0x3428('0x13d'));var _0x5f2c96={'path':_0x5601eb,'channel':'Chat','interactionId':_0x478ba7['id']};return pdf[_0x3428('0x13e')](_0x11bad0,_0x5f2c96);})['then'](function(){return new BPromise(function(_0x4803ce,_0x5bd91e){zipdir(_0x3956c7,{'saveTo':_0x1d1890},function(_0x449954,_0x1a190f){if(_0x449954)return _0x5bd91e(_0x449954);return _0x4803ce(_0x1a190f);});})[_0x3428('0x1d')](function(){return new BPromise(function(_0x1f0852,_0x1324a0){rimraf(_0x3956c7,function(_0x316854){if(_0x316854)_0x1324a0(_0x316854);return _0x1f0852();});});})[_0x3428('0x1d')](function(){return _0xf62f49[_0x3428('0x124')](_0x1d1890,_0x2803b9,function(_0x36613){if(_0x36613){console['log'](_0x3428('0x13f'),_0x36613);}else{fs[_0x3428('0x140')](_0x1d1890);}});});});}else{return _0xf62f49[_0x3428('0x28')](0xc8);}})['catch'](handleError(_0xf62f49,null));};