Built motion from commit (unavailable).|2.5.29
[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 _0x9bde=['tools_tags','ui.ChatInteractionId','user_has_chat_interactions','users','u.id\x20=\x20ui.UserId','chat_interactions','left_join','cm_contacts','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','search','parseSearch','sqlOperator','length','conditions','find','unreadMessages','value','having','`\x20>\x200','Contact','operator','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','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','$substring','UserId','buildExpression','start','some','compact','isEmpty','ChatWebsiteId','concat','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','t.id\x20IN\x20?','resolve','user','role','agent','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','sequelize','toString','a.key','Account.key','a.mandatoryDisposition','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','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','Contact.mobile','Contact.fax','o.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','ChatInteractionId','all','rows','show','params','options','create','body','describe','createVidaooSession','ChatWebsite','findOne','vidaooApiKey','vidaooEscalation','POST','follow','Error\x20in\x20Vidaoo\x20configuration','join_url','ChatMessage','ValidationError','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','CmContact','abandon','entity\x20not\x20found','Interaction\x20already\x20assigned','closed','disposition','AbandonInteraction','attachmentUpload','file','originalname','basename','filename','mimetype','Attachment','attachmentDownload','Unauthorized','attachId','join','root','server/files/attachments/','offline-chat/','download','close','server/files/chat/upload/','format','transcript-%s.txt','now','pathTranscript','Messages','User','%s%d','Visitor','agentIdentifier','website_alias','agentAlias','agent_alias','alias','agent_fullname','fullname','System','[%s]\x20%s:\x20%s\x0a','createdAt','direction','secret','appendFileSync','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','SendMail','sendMail','mailTranscript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','getMessages','pick','merge','YYYY-MM-DD\x20HH:mm:ss','includeAll','include','findAll','getMyMessages','includeAgent','addTags','omit','spread','emit','chatInteractionTags:save','removeTags','unix','server','files','attachments','transcript-%d-%s.zip','lastName','Account','Owner','get','mkdirSync','N.A.','closedAt','browserName','osName','referer','customerIp','customerPort','tail','existsSync','pipe','out','firstName','renderFile','views','downloadInteraction.html','transcript-','.pdf','Chat','createPdfFromHTML','log','err','unlinkSync','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','register','jayson/promise','client','http','request','then','ChatInteraction,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','result','catch','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','destroy','stack','name','send','Users','TagIds','Tags','split','forEach','push','map','ChatInteraction','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','sort','where','select','field','from'];(function(_0x46d4a2,_0x3a21c3){var _0x5e032c=function(_0x14fa1a){while(--_0x14fa1a){_0x46d4a2['push'](_0x46d4a2['shift']());}};_0x5e032c(++_0x3a21c3);}(_0x9bde,0xe1));var _0xe9bd=function(_0x341702,_0x1ab8d5){_0x341702=_0x341702-0x0;var _0x4940f5=_0x9bde[_0x341702];return _0x4940f5;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe9bd('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe9bd('0x1'));var rp=require('request-promise');var moment=require(_0xe9bd('0x2'));var BPromise=require(_0xe9bd('0x3'));var Mustache=require(_0xe9bd('0x4'));var util=require(_0xe9bd('0x5'));var path=require(_0xe9bd('0x6'));var sox=require(_0xe9bd('0x7'));var csv=require(_0xe9bd('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe9bd('0x9'));var _=require(_0xe9bd('0xa'));var squel=require(_0xe9bd('0xb'));var crypto=require(_0xe9bd('0xc'));var jsforce=require(_0xe9bd('0xd'));var deskjs=require(_0xe9bd('0xe'));var toCsv=require(_0xe9bd('0x8'));var querystring=require(_0xe9bd('0xf'));var Papa=require(_0xe9bd('0x10'));var Redis=require(_0xe9bd('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xe9bd('0x12'));var pdf=require(_0xe9bd('0x13'));var hardwareService=require(_0xe9bd('0x14'));var logger=require('../../config/logger')(_0xe9bd('0x15'));var utils=require(_0xe9bd('0x16'));var config=require(_0xe9bd('0x17'));var licenseUtil=require(_0xe9bd('0x18'));var db=require('../../mysqldb')['db'];config[_0xe9bd('0x19')]=_['defaults'](config[_0xe9bd('0x19')],{'host':_0xe9bd('0x1a'),'port':0x18eb});var socket=require(_0xe9bd('0x1b'))(new Redis(config['redis']));require('./chatInteraction.socket')[_0xe9bd('0x1c')](socket);var jayson=require(_0xe9bd('0x1d'));var client=jayson[_0xe9bd('0x1e')][_0xe9bd('0x1f')]({'port':0x232b});var client9004=jayson[_0xe9bd('0x1e')][_0xe9bd('0x1f')]({'port':0x232c});function respondWithRpcPromise(_0x45a9f2,_0x573350,_0x1d11a0,_0x464a1b){return new BPromise(function(_0x160281,_0x494b27){var _0x36f03d=_0x464a1b||client;return _0x36f03d[_0xe9bd('0x20')](_0x45a9f2,_0x1d11a0)[_0xe9bd('0x21')](function(_0x330733){logger['info'](_0xe9bd('0x22'),_0x573350,'request\x20sent');logger[_0xe9bd('0x23')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x573350,_0xe9bd('0x24'),JSON[_0xe9bd('0x25')](_0x330733));if(_0x330733[_0xe9bd('0x26')]){if(_0x330733[_0xe9bd('0x26')][_0xe9bd('0x27')]===0x1f4){logger[_0xe9bd('0x26')](_0xe9bd('0x22'),_0x573350,_0x330733['error'][_0xe9bd('0x28')]);return _0x494b27(_0x330733[_0xe9bd('0x26')]['message']);}logger[_0xe9bd('0x26')]('ChatInteraction,\x20%s,\x20%s',_0x573350,_0x330733[_0xe9bd('0x26')][_0xe9bd('0x28')]);return _0x160281(_0x330733[_0xe9bd('0x26')][_0xe9bd('0x28')]);}else{logger['info'](_0xe9bd('0x22'),_0x573350,_0xe9bd('0x24'));_0x160281(_0x330733[_0xe9bd('0x29')][_0xe9bd('0x28')]);}})[_0xe9bd('0x2a')](function(_0xb52d45){logger[_0xe9bd('0x26')](_0xe9bd('0x22'),_0x573350,_0xb52d45);_0x494b27(_0xb52d45);});});}function respondWithStatusCode(_0x1ae889,_0x5987af){_0x5987af=_0x5987af||0xcc;return function(_0x3c211a){if(_0x3c211a){return _0x1ae889[_0xe9bd('0x2b')](_0x5987af);}return _0x1ae889['status'](_0x5987af)[_0xe9bd('0x2c')]();};}function respondWithResult(_0xc25248,_0x119672){_0x119672=_0x119672||0xc8;return function(_0x429055){if(_0x429055){return _0xc25248[_0xe9bd('0x2d')](_0x119672)[_0xe9bd('0x2e')](_0x429055);}};}function respondWithFilteredResult(_0x519f48,_0x5b7f1d){return function(_0x1de54c){if(_0x1de54c){var _0x56e409=typeof _0x5b7f1d[_0xe9bd('0x2f')]===_0xe9bd('0x30')&&typeof _0x5b7f1d[_0xe9bd('0x31')]===_0xe9bd('0x30');var _0x4057df=_0x1de54c['count'];var _0x4b7bc2=_0x56e409?0x0:_0x5b7f1d[_0xe9bd('0x2f')];var _0x3b6682=_0x56e409?_0x1de54c[_0xe9bd('0x32')]:_0x5b7f1d[_0xe9bd('0x2f')]+_0x5b7f1d[_0xe9bd('0x31')];var _0x1f0f9e;if(_0x3b6682>=_0x4057df){_0x3b6682=_0x4057df;_0x1f0f9e=0xc8;}else{_0x1f0f9e=0xce;}_0x519f48[_0xe9bd('0x2d')](_0x1f0f9e);return _0x519f48[_0xe9bd('0x33')](_0xe9bd('0x34'),_0x4b7bc2+'-'+_0x3b6682+'/'+_0x4057df)['json'](_0x1de54c);}return null;};}function patchUpdates(_0x426004){return function(_0x81a31f){try{jsonpatch[_0xe9bd('0x35')](_0x81a31f,_0x426004,!![]);}catch(_0x5117bc){return BPromise['reject'](_0x5117bc);}return _0x81a31f[_0xe9bd('0x36')]();};}function saveUpdates(_0x2e9593,_0x601649){return function(_0x3ed60a){if(_0x3ed60a){return _0x3ed60a[_0xe9bd('0x37')](_0x2e9593)[_0xe9bd('0x21')](function(_0x1e50ac){return _0x1e50ac;});}return null;};}function removeEntity(_0x1c6173,_0x1a1a29){return function(_0x32b3e3){if(_0x32b3e3){return _0x32b3e3[_0xe9bd('0x38')]()[_0xe9bd('0x21')](function(){_0x1c6173[_0xe9bd('0x2d')](0xcc)[_0xe9bd('0x2c')]();});}};}function handleEntityNotFound(_0xc50476,_0x8ff624){return function(_0x264ba0){if(!_0x264ba0){_0xc50476[_0xe9bd('0x2b')](0x194);}return _0x264ba0;};}function handleError(_0x4c689d,_0x3f3cf5){_0x3f3cf5=_0x3f3cf5||0x1f4;return function(_0x32e764){logger['error'](_0x32e764[_0xe9bd('0x39')]);if(_0x32e764[_0xe9bd('0x3a')]){delete _0x32e764['name'];}_0x4c689d['status'](_0x3f3cf5)[_0xe9bd('0x3b')](_0x32e764);};}function getInteractionUsers(_0xdf43b9,_0x4d2f3d){return new BPromise(function(_0x2d1289,_0x3ea705){try{if(_0x4d2f3d[_0xdf43b9['id']]){_0xdf43b9[_0xe9bd('0x3c')]=_['map'](_0x4d2f3d[_0xdf43b9['id']],function(_0x19740b){return{'id':_0x19740b['id'],'fullname':_0x19740b['fullname']};});}}catch(_0x3c8f7e){_0x3ea705(_0x3c8f7e);}_0x2d1289(_0xdf43b9);});}function getInteractionTags(_0x42238a,_0x63d67c){return new BPromise(function(_0x1366f2,_0x4e1538){try{if(_0x42238a[_0xe9bd('0x3d')]){_0x42238a[_0xe9bd('0x3e')]=[];_0x42238a[_0xe9bd('0x3d')][_0xe9bd('0x3f')](',')[_0xe9bd('0x40')](function(_0x1e061d){_0x42238a[_0xe9bd('0x3e')][_0xe9bd('0x41')](_0x63d67c[_0x1e061d]);});}delete _0x42238a[_0xe9bd('0x3d')];}catch(_0x1d5d93){_0x4e1538(_0x1d5d93);}_0x1366f2(_0x42238a);});}function updateChatInteraction(_0x4e8565,_0x5e3604,_0xcf9a0c){return new BPromise(function(_0x499e13,_0x4608a0){return getInteractionUsers(_0x4e8565,_0xcf9a0c)[_0xe9bd('0x21')](function(_0x41881a){return getInteractionTags(_0x41881a,_0x5e3604);})['then'](function(_0x1ba613){_0x499e13(_0x1ba613);})[_0xe9bd('0x2a')](function(_0x1a2d94){_0x4608a0(_0x1a2d94);});});}exports['index']=function(_0x2ef01b,_0x3a5703){var _0x2b3cd7={},_0x388132={},_0x1e1b87={'count':0x0,'rows':[]};var _0x40f87c=_[_0xe9bd('0x42')](db[_0xe9bd('0x43')][_0xe9bd('0x44')],function(_0x300e07){return{'name':_0x300e07[_0xe9bd('0x45')],'type':_0x300e07[_0xe9bd('0x46')][_0xe9bd('0x47')]};});_0x388132[_0xe9bd('0x48')]=_[_0xe9bd('0x42')](_0x40f87c,'name');_0x388132['query']=_[_0xe9bd('0x49')](_0x2ef01b[_0xe9bd('0x4a')]);_0x388132[_0xe9bd('0x4b')]=_['intersection'](_0x388132['model'],_0x388132[_0xe9bd('0x4a')]);_0x2b3cd7[_0xe9bd('0x4c')]=_[_0xe9bd('0x4d')](_0x388132[_0xe9bd('0x48')],qs[_0xe9bd('0x4e')](_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x4e')]));_0x2b3cd7['attributes']=_0x2b3cd7[_0xe9bd('0x4c')]['length']?_0x2b3cd7[_0xe9bd('0x4c')]:_0x388132[_0xe9bd('0x48')];if(!_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x4f')](_0xe9bd('0x50'))){_0x2b3cd7['limit']=qs[_0xe9bd('0x31')](_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x31')]);_0x2b3cd7['offset']=qs[_0xe9bd('0x2f')](_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x2f')]);}_0x2b3cd7['order']=qs[_0xe9bd('0x51')](_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x51')]);_0x2b3cd7[_0xe9bd('0x52')]=qs[_0xe9bd('0x4b')](_['pick'](_0x2ef01b[_0xe9bd('0x4a')],_0x388132['filters']),_0x40f87c);var _0x835697=[];var _0x239be9=squel[_0xe9bd('0x53')]()[_0xe9bd('0x54')]('id')[_0xe9bd('0x54')]('name')[_0xe9bd('0x54')]('color')[_0xe9bd('0x55')](_0xe9bd('0x56'));var _0x5e08ae=squel['select']()[_0xe9bd('0x54')]('u.id')[_0xe9bd('0x54')]('u.fullname')[_0xe9bd('0x54')](_0xe9bd('0x57'))['from'](_0xe9bd('0x58'),'ui')['left_join'](_0xe9bd('0x59'),'u',_0xe9bd('0x5a'));var _0x321050=squel['select']()[_0xe9bd('0x55')](_0xe9bd('0x5b'),'i')[_0xe9bd('0x5c')](_0xe9bd('0x5d'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0xe9bd('0x59'),'o','o.id\x20=\x20i.UserId')[_0xe9bd('0x5c')](_0xe9bd('0x5e'),'a',_0xe9bd('0x5f'))[_0xe9bd('0x5c')](_0xe9bd('0x60'),'me',_0xe9bd('0x61'))[_0xe9bd('0x5c')](_0xe9bd('0x62'),'it',_0xe9bd('0x63'))[_0xe9bd('0x5c')](_0xe9bd('0x56'),'t',_0xe9bd('0x64'));var _0x51500d=squel['expr']();var _0x566dd8=[];var _0x10e685=squel['expr']();var _0x2c4ca7;if(_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x65')]){_0x2c4ca7=as[_0xe9bd('0x66')](_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x65')]);var _0x3bb2ba=_0x2c4ca7[_0xe9bd('0x67')];for(var _0x61b691=0x0;_0x61b691<_0x2c4ca7['conditions'][_0xe9bd('0x68')];_0x61b691++){var _0x2abc41=_0x2c4ca7[_0xe9bd('0x69')][_0x61b691];var _0x3f848d='i';var _0x4d58c1=_[_0xe9bd('0x6a')](_0x40f87c,[_0xe9bd('0x3a'),_0x2abc41[_0xe9bd('0x54')]]);if(!_0x4d58c1){switch(_0x2abc41['field']){case _0xe9bd('0x6b'):if(_0x2abc41[_0xe9bd('0x6c')]==0x1){_0x321050[_0xe9bd('0x6d')]('`'+_0x2abc41[_0xe9bd('0x54')]+'`\x20=\x200');}else{_0x321050['having']('`'+_0x2abc41[_0xe9bd('0x54')]+_0xe9bd('0x6e'));}break;case _0xe9bd('0x6f'):if(_0x2abc41[_0xe9bd('0x70')]==='$substring'){if(_0x2abc41['value'][_0xe9bd('0x3f')]('\x20')[_0xe9bd('0x68')]>0x1){_0x51500d[_0x3bb2ba](_0xe9bd('0x71'),qs[_0xe9bd('0x72')](_0x2abc41[_0xe9bd('0x6c')]),null);}else{var _0x23f476='%'+_0x2abc41['value']+'%';_0x51500d[_0x3bb2ba](_0xe9bd('0x73'),_0x23f476,_0x23f476,_0x23f476);}}else{_0x4d58c1=_['find'](_0x40f87c,[_0xe9bd('0x3a'),_0xe9bd('0x74')]);_0x2abc41[_0xe9bd('0x54')]=_0xe9bd('0x74');_0x337284=as['buildExpression'](_0x3f848d,_0x4d58c1[_0xe9bd('0x46')],_0x2abc41);_0x51500d[_0x3bb2ba](_0x337284[_0xe9bd('0x75')],_0x337284[_0xe9bd('0x6c')]['start'],_0x337284[_0xe9bd('0x6c')][_0xe9bd('0x2c')]);}break;case _0xe9bd('0x76'):var _0x3e3e05=_0x2abc41[_0xe9bd('0x6c')][_0xe9bd('0x3f')](',')[_0xe9bd('0x42')](function(_0x336222){return Number(_0x336222);});_0x3e3e05[_0xe9bd('0x40')](function(_0x37bb08){_0x10e685['or'](_0xe9bd('0x77'),'%,'+_0x37bb08+',%');});_0x566dd8=_[_0xe9bd('0x78')](_0x566dd8,_0x3e3e05);break;case'User':if(_0x2abc41[_0xe9bd('0x70')]===_0xe9bd('0x79')){_0x51500d[_0x3bb2ba]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x2abc41[_0xe9bd('0x6c')]+'%',null);}else{_0x4d58c1=_[_0xe9bd('0x6a')](_0x40f87c,['name','UserId']);_0x2abc41[_0xe9bd('0x54')]=_0xe9bd('0x7a');_0x337284=as['buildExpression'](_0x3f848d,_0x4d58c1['type'],_0x2abc41);_0x51500d[_0x3bb2ba](_0x337284['text'],_0x337284[_0xe9bd('0x6c')]['start'],_0x337284['value']['end']);}break;case'body':_0x337284=as[_0xe9bd('0x7b')]('me',null,_0x2abc41);_0x51500d[_0x3bb2ba](_0x337284[_0xe9bd('0x75')],_0x337284[_0xe9bd('0x6c')]['start'],_0x337284[_0xe9bd('0x6c')][_0xe9bd('0x2c')]);break;}}else{var _0x337284=as[_0xe9bd('0x7b')](_0x3f848d,_0x4d58c1['type'],_0x2abc41);_0x51500d[_0x3bb2ba](_0x337284[_0xe9bd('0x75')],_0x337284[_0xe9bd('0x6c')][_0xe9bd('0x7c')],_0x337284['value']['end']);}}}else{var _0x3e68fb=_(_0x2ef01b[_0xe9bd('0x4a')])[_0xe9bd('0x49')]()[_0xe9bd('0x42')](function(_0x5bea46){return _[_0xe9bd('0x7d')](_0x40f87c,[_0xe9bd('0x3a'),_0x5bea46])?_0x5bea46:undefined;})[_0xe9bd('0x7e')]()['value']();if(!_[_0xe9bd('0x7f')](_0x3e68fb)){_0x3e68fb[_0xe9bd('0x40')](function(_0x3c18ca){if(_0x3c18ca===_0xe9bd('0x80')){_0x321050[_0xe9bd('0x52')]('i.ChatWebsiteId\x20IN\x20?',[][_0xe9bd('0x81')](_0x2ef01b['query'][_0x3c18ca]));}else if(_0x3c18ca==='createdAt'){var _0x12aef8=JSON[_0xe9bd('0x82')](_0x2ef01b['query'][_0x3c18ca])[_0xe9bd('0x83')];var _0x2d1e63=JSON[_0xe9bd('0x82')](_0x2ef01b[_0xe9bd('0x4a')][_0x3c18ca])['$lte'];_0x321050[_0xe9bd('0x52')](_0xe9bd('0x84'),_0x12aef8,_0x2d1e63);}else{if(_0x2ef01b['query'][_0x3c18ca]===_0xe9bd('0x85')){_0x321050[_0xe9bd('0x52')]('i.'+_0x3c18ca+_0xe9bd('0x86'));}else{_0x321050[_0xe9bd('0x52')]('i.'+_0x3c18ca+_0xe9bd('0x87'),_0x2ef01b[_0xe9bd('0x4a')][_0x3c18ca]);}}});}if(_0x2ef01b[_0xe9bd('0x4a')]['read']){if(_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x88')]==0x1){_0x321050[_0xe9bd('0x6d')](_0xe9bd('0x89'));}else{_0x321050[_0xe9bd('0x6d')](_0xe9bd('0x8a'));}}if(_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x8b')]){_0x566dd8=_[_0xe9bd('0x8c')](_0x2ef01b['query'][_0xe9bd('0x8b')])?_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x8b')]:new Array(_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x8b')]);_0x566dd8[_0xe9bd('0x40')](function(_0x1bad42){_0x10e685['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x1bad42+',%');});}if(_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x8d')]){var _0x56e916=_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x8d')][_0xe9bd('0x8e')]('\x5c','\x5c\x5c')[_0xe9bd('0x8e')](/'/g,'\x27\x27');if(qs[_0xe9bd('0x8f')](_0x56e916)){_0x51500d['or'](_0xe9bd('0x90'),_0x56e916+'%');}else{_0x51500d['or'](_0xe9bd('0x91'),qs['getFullTextValue'](_0x56e916))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x56e916+'%');}}}_0x321050[_0xe9bd('0x52')](_0x51500d);_0x321050[_0xe9bd('0x92')](_0xe9bd('0x93'));var _0x1b863f={'type':db[_0xe9bd('0x94')][_0xe9bd('0x95')][_0xe9bd('0x96')],'raw':!![]};var _0x4948d9=_0x321050[_0xe9bd('0x97')]();_0x4948d9[_0xe9bd('0x54')](_0xe9bd('0x93'));_0x4948d9[_0xe9bd('0x54')](_0xe9bd('0x98'),_0xe9bd('0x6b'));if(_0x2b3cd7[_0xe9bd('0x99')]){_0x2b3cd7['order']['forEach'](function(_0x589776){var _0x274e83=_0x589776[0x0]==='contactName'?_0x589776[0x0]:'i.'+_0x589776[0x0];_0x321050['order'](_0x274e83,_0x589776[0x1]==='DESC'?![]:!![]);});}if(!_[_0xe9bd('0x7f')](_0x566dd8)){_0x321050[_0xe9bd('0x6d')](_0x10e685);_0x4948d9[_0xe9bd('0x52')](_0xe9bd('0x9a'),_0x566dd8);}BPromise[_0xe9bd('0x9b')]()[_0xe9bd('0x21')](function(){if(!_0x2c4ca7){if(_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x80')])return;_0x4948d9[_0xe9bd('0x52')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');_0x321050[_0xe9bd('0x52')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}if(_0x2ef01b[_0xe9bd('0x9c')][_0xe9bd('0x9d')]!==_0xe9bd('0x9e'))return;return _0x2ef01b[_0xe9bd('0x9c')][_0xe9bd('0x9f')]({'attributes':['id'],'raw':!![]})['then'](function(_0x5b14e5){if(_['isEmpty'](_0x5b14e5)){_0x4948d9[_0xe9bd('0x52')](_0xe9bd('0xa0'));_0x321050['where'](_0xe9bd('0xa0'));}else{_0x4948d9[_0xe9bd('0x52')](_0xe9bd('0xa1'),_[_0xe9bd('0x42')](_0x5b14e5,'id'));_0x321050[_0xe9bd('0x52')]('i.ChatWebsiteId\x20IN\x20?',_[_0xe9bd('0x42')](_0x5b14e5,'id'));}});})[_0xe9bd('0x21')](function(){if(_0x2ef01b[_0xe9bd('0x9c')][_0xe9bd('0x9d')]===_0xe9bd('0x9e')&&!_0x2c4ca7&&!_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x80')])return[];return db[_0xe9bd('0xa2')][_0xe9bd('0x4a')](_0x4948d9[_0xe9bd('0xa3')](),_0x1b863f);})['then'](function(_0x4d5288){_0x1e1b87['count']=_0x4d5288['length'];if(_0x1e1b87[_0xe9bd('0x32')]===0x0)return[];return db[_0xe9bd('0xa2')][_0xe9bd('0x4a')](_0x239be9['toString'](),_0x1b863f)[_0xe9bd('0x21')](function(_0x36df30){_0x835697=_['keyBy'](_0x36df30,'id');_0x1b863f=_['merge'](_0x1b863f,{'model':db[_0xe9bd('0x43')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2ef01b[_0xe9bd('0x4a')][_0xe9bd('0x4e')]){_0x2b3cd7[_0xe9bd('0x4c')][_0xe9bd('0x40')](function(_0x59364c){_0x321050['field']('i.'+_0x59364c);});}else{_0x321050['field'](_0xe9bd('0x98'),_0xe9bd('0x6b'));_0x321050[_0xe9bd('0x54')](_0xe9bd('0xa4'),_0xe9bd('0xa5'));_0x321050[_0xe9bd('0x54')](_0xe9bd('0xa6'),_0xe9bd('0xa7'));_0x321050[_0xe9bd('0x54')](_0xe9bd('0xa8'),'contactName');_0x321050[_0xe9bd('0x54')]('i.*');_0x321050[_0xe9bd('0x54')]('c.firstName','Contact.firstName');_0x321050[_0xe9bd('0x54')]('c.lastName',_0xe9bd('0xa9'));_0x321050['field'](_0xe9bd('0xaa'),_0xe9bd('0xab'));_0x321050[_0xe9bd('0x54')](_0xe9bd('0xac'),_0xe9bd('0xad'));_0x321050[_0xe9bd('0x54')]('c.mobile',_0xe9bd('0xae'));_0x321050[_0xe9bd('0x54')]('c.fax',_0xe9bd('0xaf'));_0x321050[_0xe9bd('0x54')](_0xe9bd('0xb0'),'Owner.fullname');_0x321050[_0xe9bd('0x54')](_0xe9bd('0xb1'),_0xe9bd('0xb2'));_0x321050[_0xe9bd('0x54')](_0xe9bd('0xb3'),'TagIds');}if(_0x2b3cd7[_0xe9bd('0x31')])_0x321050[_0xe9bd('0x31')](_0x2b3cd7['limit']);if(_0x2b3cd7[_0xe9bd('0x2f')])_0x321050[_0xe9bd('0x2f')](_0x2b3cd7[_0xe9bd('0x2f')]);return db[_0xe9bd('0xa2')]['query'](_0x321050[_0xe9bd('0xa3')](),_0x1b863f);})[_0xe9bd('0x21')](function(_0x209899){if(_0x209899[_0xe9bd('0x68')]>0x0)_0x5e08ae[_0xe9bd('0x52')](_0xe9bd('0xb4'),_[_0xe9bd('0x42')](_0x209899,'id'));return db['sequelize'][_0xe9bd('0x4a')](_0x5e08ae['toString'](),_0x1b863f)[_0xe9bd('0x21')](function(_0x3a2d9f){var _0x11ac8d=_['groupBy'](_0x3a2d9f,_0xe9bd('0xb5'));var _0x4ae8d1=[];_0x209899[_0xe9bd('0x40')](function(_0x3c350f){_0x4ae8d1[_0xe9bd('0x41')](updateChatInteraction(_0x3c350f,_0x835697,_0x11ac8d));});return BPromise[_0xe9bd('0xb6')](_0x4ae8d1);});});})[_0xe9bd('0x21')](function(_0x2e2f30){_0x1e1b87[_0xe9bd('0xb7')]=_0x2e2f30;return _0x1e1b87;})[_0xe9bd('0x21')](respondWithFilteredResult(_0x3a5703,_0x2b3cd7))[_0xe9bd('0x2a')](handleError(_0x3a5703,null));};exports[_0xe9bd('0xb8')]=function(_0x55a2a2,_0x5cf7c2){var _0x2361f0={'raw':![],'where':{'id':_0x55a2a2[_0xe9bd('0xb9')]['id']}},_0x111896={};_0x111896['model']=_[_0xe9bd('0x49')](db[_0xe9bd('0x43')]['rawAttributes']);_0x111896['query']=_['keys'](_0x55a2a2['query']);_0x111896[_0xe9bd('0x4b')]=_[_0xe9bd('0x4d')](_0x111896[_0xe9bd('0x48')],_0x111896['query']);_0x2361f0[_0xe9bd('0x4c')]=_[_0xe9bd('0x4d')](_0x111896['model'],qs[_0xe9bd('0x4e')](_0x55a2a2[_0xe9bd('0x4a')][_0xe9bd('0x4e')]));_0x2361f0[_0xe9bd('0x4c')]=_0x2361f0[_0xe9bd('0x4c')]['length']?_0x2361f0[_0xe9bd('0x4c')]:_0x111896[_0xe9bd('0x48')];if(_0x55a2a2['query']['includeAll']){_0x2361f0['include']=[{'all':!![]}];}_0x2361f0=_['merge']({},_0x2361f0,_0x55a2a2[_0xe9bd('0xba')]);return db[_0xe9bd('0x43')][_0xe9bd('0x6a')](_0x2361f0)[_0xe9bd('0x21')](handleEntityNotFound(_0x5cf7c2,null))['then'](respondWithResult(_0x5cf7c2,null))['catch'](handleError(_0x5cf7c2,null));};exports[_0xe9bd('0xbb')]=function(_0x1b763d,_0x159f26){return db['ChatInteraction'][_0xe9bd('0xbb')](_0x1b763d[_0xe9bd('0xbc')],{})['then'](respondWithResult(_0x159f26,0xc9))['catch'](handleError(_0x159f26,null));};exports[_0xe9bd('0x37')]=function(_0x90b3d7,_0x346da7){if(_0x90b3d7[_0xe9bd('0xbc')]['id']){delete _0x90b3d7[_0xe9bd('0xbc')]['id'];}return db[_0xe9bd('0x43')][_0xe9bd('0x6a')]({'where':{'id':_0x90b3d7[_0xe9bd('0xb9')]['id']}})[_0xe9bd('0x21')](handleEntityNotFound(_0x346da7,null))['then'](saveUpdates(_0x90b3d7[_0xe9bd('0xbc')],null))[_0xe9bd('0x21')](respondWithResult(_0x346da7,null))[_0xe9bd('0x2a')](handleError(_0x346da7,null));};exports[_0xe9bd('0x38')]=function(_0x213a08,_0x3145e8){return db['ChatInteraction'][_0xe9bd('0x6a')]({'where':{'id':_0x213a08['params']['id']}})[_0xe9bd('0x21')](handleEntityNotFound(_0x3145e8,null))['then'](removeEntity(_0x3145e8,null))[_0xe9bd('0x2a')](handleError(_0x3145e8,null));};exports[_0xe9bd('0xbd')]=function(_0x555a98,_0x343479){return db[_0xe9bd('0x43')]['describe']()[_0xe9bd('0x21')](respondWithResult(_0x343479,null))[_0xe9bd('0x2a')](handleError(_0x343479,null));};exports[_0xe9bd('0xbe')]=function(_0x402d07,_0x56133d){var _0x209720=_0x402d07[_0xe9bd('0xb9')]['id'];var _0x57df6e;var _0x16b9bf;var _0x1dab51;return db[_0xe9bd('0x43')]['findOne']({'where':{'id':_0x209720}})[_0xe9bd('0x21')](function(_0x23ee4e){_0x57df6e=_0x23ee4e;return db[_0xe9bd('0xbf')][_0xe9bd('0xc0')]({'where':{'id':_0x23ee4e[_0xe9bd('0x80')]},'attributes':['id',_0xe9bd('0xc1'),_0xe9bd('0xc2')],'raw':!![]});})['then'](function(_0x121498){if(_0x121498&&_0x121498[_0xe9bd('0xc1')]&&_0x121498[_0xe9bd('0xc2')]){_0x16b9bf=_0x121498;var _0x5a0758={'rejectUnauthorized':![],'method':_0xe9bd('0xc3'),'uri':'https://api-vidaoo.xcally.com/api/v1/sessions','headers':{'X-APIKEY':_0x121498['vidaooApiKey']},'body':{'name':'MotionCWB:'+_0x209720},'redirect':_0xe9bd('0xc4'),'json':!![]};return rp(_0x5a0758);}else{throw new db['Sequelize']['ValidationError'](_0xe9bd('0xc5'));}})[_0xe9bd('0x21')](function(_0x4a4c36){_0x1dab51=_0x4a4c36;if(_0x1dab51['id']){var _0x9592d4={'body':_0x1dab51[_0xe9bd('0xc6')],'ChatWebsiteId':_0x16b9bf['id'],'ChatInteractionId':_0x57df6e['id'],'direction':'out','UserId':_0x402d07['user']['id']};return db[_0xe9bd('0xc7')]['create'](_0x9592d4,{});}else{throw new db['Sequelize'][(_0xe9bd('0xc8'))](_0xe9bd('0xc9'));}})[_0xe9bd('0x21')](function(){return _0x57df6e[_0xe9bd('0xca')]({'vidaooSessionId':_0x1dab51['id']});})[_0xe9bd('0x21')](respondWithResult(_0x56133d,null))[_0xe9bd('0x2a')](handleError(_0x56133d,null));};exports[_0xe9bd('0xcb')]=function(_0x5ebe24,_0x254a3b){if(_0x5ebe24['body']['id']){delete _0x5ebe24['body']['id'];}return db[_0xe9bd('0x43')][_0xe9bd('0x6a')]({'where':{'id':_0x5ebe24[_0xe9bd('0xb9')]['id']},'include':[{'model':db[_0xe9bd('0xcc')],'as':_0xe9bd('0x6f')}]})['then'](handleEntityNotFound(_0x254a3b,null))[_0xe9bd('0x21')](saveUpdates(_0x5ebe24[_0xe9bd('0xbc')],null))[_0xe9bd('0x21')](respondWithResult(_0x254a3b,null))[_0xe9bd('0x2a')](handleError(_0x254a3b,null));};exports[_0xe9bd('0xcd')]=function(_0x1279a9,_0x56067b,_0x1373e9){if(_0x1279a9[_0xe9bd('0xbc')]['id']){delete _0x1279a9[_0xe9bd('0xbc')]['id'];}return db[_0xe9bd('0x43')][_0xe9bd('0x6a')]({'where':{'id':_0x1279a9[_0xe9bd('0xb9')]['id']}})['then'](function(_0x23655f){if(!_0x23655f){logger[_0xe9bd('0x26')]('abandonInteraction,\x20%s,\x20%s,\x20%s',_0xe9bd('0xcd'),0x194,_0xe9bd('0xce'));_0x56067b[_0xe9bd('0x2b')](0x194);}else{if(_0x23655f[_0xe9bd('0x7a')]){throw new db['Sequelize'][(_0xe9bd('0xc8'))](_0xe9bd('0xcf'));}}return _0x23655f;})[_0xe9bd('0x21')](function(_0xcee066){if(_0xcee066){return _0xcee066[_0xe9bd('0x37')]({'closed':_0x1279a9[_0xe9bd('0xbc')][_0xe9bd('0xd0')],'disposition':_0x1279a9[_0xe9bd('0xbc')][_0xe9bd('0xd1')]})['then'](function(_0x2fa992){return _0x2fa992;});}})[_0xe9bd('0x21')](function(_0x1f2100){return respondWithRpcPromise(_0xe9bd('0xd2'),_0xe9bd('0xcd'),_0x1279a9[_0xe9bd('0xbc')],client9004);})[_0xe9bd('0x21')](respondWithResult(_0x56067b,null))['catch'](handleError(_0x56067b,null));};exports[_0xe9bd('0xd3')]=function(_0x4eb2ce,_0x43fa2a,_0xbc686e){_0x4eb2ce[_0xe9bd('0xbc')][_0xe9bd('0x3a')]=_0x4eb2ce[_0xe9bd('0xd4')][_0xe9bd('0xd5')];_0x4eb2ce['body'][_0xe9bd('0xd6')]=_0x4eb2ce[_0xe9bd('0xd4')][_0xe9bd('0xd7')];_0x4eb2ce['body'][_0xe9bd('0x46')]=_0x4eb2ce[_0xe9bd('0xd4')][_0xe9bd('0xd8')];return db[_0xe9bd('0xd9')][_0xe9bd('0xbb')](_0x4eb2ce[_0xe9bd('0xbc')])[_0xe9bd('0x21')](respondWithResult(_0x43fa2a,0xc9))[_0xe9bd('0x2a')](handleError(_0x43fa2a,null));};exports[_0xe9bd('0xda')]=function(_0x3b0874,_0x5c0b2d,_0x464f7a){return db[_0xe9bd('0x43')][_0xe9bd('0xc0')]({'where':{'id':_0x3b0874['params']['id']},'raw':!![]})[_0xe9bd('0x21')](handleEntityNotFound(_0x5c0b2d,null))[_0xe9bd('0x21')](function(_0x42ecb4){if(_0x42ecb4){if(_0x42ecb4['closed']){return _0x5c0b2d['status'](0x193)[_0xe9bd('0x2e')]({'status':0x193,'message':_0xe9bd('0xdb')});}return db[_0xe9bd('0xd9')][_0xe9bd('0xc0')]({'where':{'id':_0x3b0874[_0xe9bd('0x4a')][_0xe9bd('0xdc')]},'raw':!![]})[_0xe9bd('0x21')](handleEntityNotFound(_0x5c0b2d,null));}})['then'](function(_0xe72f64){if(_0xe72f64){var _0x297ccc=_0xe72f64['ChatOfflineMessageId']!==null;var _0x767a44=path[_0xe9bd('0xdd')](config[_0xe9bd('0xde')],_0xe9bd('0xdf'));if(_0x297ccc){_0x767a44=path[_0xe9bd('0xdd')](_0x767a44,_0xe9bd('0xe0'));}var _0x428a2e=path[_0xe9bd('0xdd')](_0x767a44,_0xe72f64[_0xe9bd('0xd6')]);return _0x5c0b2d[_0xe9bd('0xe1')](_0x428a2e);}})[_0xe9bd('0x2a')](handleError(_0x5c0b2d,null));};exports[_0xe9bd('0xe2')]=function(_0x12dc5d,_0x2337e7){var _0x24ea7b=null;var _0x58f68a=null;var _0x17c8e8=null;var _0x16ceab=null;if(_0x12dc5d[_0xe9bd('0xbc')]['id']){delete _0x12dc5d[_0xe9bd('0xbc')]['id'];}if(_0x12dc5d[_0xe9bd('0xbc')]['mailTranscript']){_0x16ceab=path[_0xe9bd('0xdd')](config[_0xe9bd('0xde')],_0xe9bd('0xe3'),util[_0xe9bd('0xe4')](_0xe9bd('0xe5'),Date[_0xe9bd('0xe6')]()));_0x12dc5d[_0xe9bd('0xbc')][_0xe9bd('0xe7')]=_0x16ceab;}return db[_0xe9bd('0x43')][_0xe9bd('0x6a')]({'where':{'id':_0x12dc5d[_0xe9bd('0xb9')]['id']},'include':[{'model':db[_0xe9bd('0xc7')],'as':_0xe9bd('0xe8'),'include':[{'model':db['User'],'as':_0xe9bd('0xe9')}]}]})[_0xe9bd('0x21')](handleEntityNotFound(_0x2337e7,null))[_0xe9bd('0x21')](saveUpdates(_0x12dc5d[_0xe9bd('0xbc')],null))[_0xe9bd('0x21')](function(_0x3541d0){if(_0x3541d0){_0x24ea7b=_0x3541d0;return db[_0xe9bd('0xbf')][_0xe9bd('0x6a')]({'where':{'id':_0x24ea7b[_0xe9bd('0x80')]}});}})[_0xe9bd('0x21')](function(_0xad2195){if(_0xad2195){_0x17c8e8=_0xad2195;return db[_0xe9bd('0xcc')]['find']({'where':{'id':_0x24ea7b[_0xe9bd('0x74')]}});}})[_0xe9bd('0x21')](function(_0x62dd82){if(_0x62dd82){_0x58f68a=_0x62dd82;if(_0x16ceab){var _0x22a7ec=null;for(var _0x1958fa=0x1;_0x1958fa<_0x24ea7b['Messages'][_0xe9bd('0x68')];++_0x1958fa){_0x22a7ec=_0x24ea7b[_0xe9bd('0xe8')][_0x1958fa];var _0x39f6f=_0x22a7ec['UserId']?util[_0xe9bd('0xe4')](_0xe9bd('0xea'),_0x17c8e8['agentAlias'],_0x22a7ec['UserId']):'System';var _0x28e51a=_0x12dc5d[_0xe9bd('0xbc')]['customer']||util[_0xe9bd('0xe4')](_0xe9bd('0xea'),_0xe9bd('0xeb'),_0x22a7ec['ContactId']);switch(_0x17c8e8[_0xe9bd('0xec')]){case _0xe9bd('0xed'):_0x39f6f=_0x22a7ec[_0xe9bd('0x7a')]?util[_0xe9bd('0xe4')]('%s%d',_0x17c8e8[_0xe9bd('0xee')],_0x22a7ec[_0xe9bd('0x7a')]):'System';break;case _0xe9bd('0xef'):_0x39f6f=_0x22a7ec[_0xe9bd('0x7a')]?_0x22a7ec[_0xe9bd('0xe9')][_0xe9bd('0xf0')]||_0x22a7ec['User']['fullname']:'System';break;case _0xe9bd('0xf1'):_0x39f6f=_0x22a7ec['UserId']?_0x22a7ec[_0xe9bd('0xe9')][_0xe9bd('0xf2')]:_0xe9bd('0xf3');break;default:_0x39f6f=_0x22a7ec[_0xe9bd('0x7a')]?util[_0xe9bd('0xe4')](_0xe9bd('0xea'),_0x17c8e8['agentAlias'],_0x22a7ec[_0xe9bd('0x7a')]):_0xe9bd('0xf3');}var _0x39cf76=util[_0xe9bd('0xe4')](_0xe9bd('0xf4'),moment(_0x22a7ec[_0xe9bd('0xf5')])[_0xe9bd('0xe4')]('MM/DD/YYYY\x20HH:mm:ss'),_0x22a7ec[_0xe9bd('0xf6')]==='in'?_0x28e51a:_0x39f6f,_0x22a7ec[_0xe9bd('0xbc')]);if(!_0x22a7ec[_0xe9bd('0xf7')]){fs[_0xe9bd('0xf8')](_0x16ceab,_0x39cf76);}}return db['MailAccount'][_0xe9bd('0xc0')]({'where':{'service':!![]},'include':[{'model':db[_0xe9bd('0xf9')],'as':_0xe9bd('0xfa'),'raw':!![]}]});}}})[_0xe9bd('0x21')](function(_0x3bcc04){if(_0x3bcc04&&_0x3bcc04[_0xe9bd('0xfa')]&&_0x12dc5d[_0xe9bd('0xbc')]){var _0x566907={'tls':{'rejectUnauthorized':![]}};if(_0x3bcc04[_0xe9bd('0xfa')][_0xe9bd('0xfb')]){_0x566907[_0xe9bd('0xfb')]=_0x3bcc04[_0xe9bd('0xfa')][_0xe9bd('0xfb')];}else{_0x566907['host']=_0x3bcc04[_0xe9bd('0xfa')][_0xe9bd('0xfc')];_0x566907['port']=_0x3bcc04[_0xe9bd('0xfa')][_0xe9bd('0xfd')];_0x566907[_0xe9bd('0xfe')]=_0x3bcc04['Smtp'][_0xe9bd('0xfe')];}if(_0x3bcc04[_0xe9bd('0xfa')][_0xe9bd('0xff')]){_0x566907[_0xe9bd('0x100')]={'user':_0x3bcc04['Smtp'][_0xe9bd('0x9c')],'pass':_0x3bcc04[_0xe9bd('0xfa')][_0xe9bd('0x101')]};}return respondWithRpcPromise(_0xe9bd('0x102'),_0xe9bd('0x103'),{'account':_0x566907,'message':{'from':util[_0xe9bd('0xe4')]('\x22%s\x22\x20<%s>',_0x3bcc04[_0xe9bd('0x3a')],_0x3bcc04['email']||_0x3bcc04['Smtp'][_0xe9bd('0x9c')]),'to':_0x12dc5d['body'][_0xe9bd('0x104')],'subject':'Mail\x20Transcript','text':util[_0xe9bd('0xe4')](_0xe9bd('0x105'),_0x12dc5d['body'][_0xe9bd('0x104')]),'attachments':[{'path':_0x16ceab}]}})[_0xe9bd('0x21')](function(){return _0x24ea7b;})[_0xe9bd('0x2a')](function(_0x1ce834){console[_0xe9bd('0x26')](_0x1ce834);});}else{return _0x24ea7b;}})[_0xe9bd('0x21')](respondWithStatusCode(_0x2337e7,0xc8))[_0xe9bd('0x2a')](handleError(_0x2337e7,null));};exports['addMessage']=function(_0x23be6d,_0x1e8c01,_0x2deeb6){return db[_0xe9bd('0xc7')][_0xe9bd('0x6a')]({'where':{'id':_0x23be6d[_0xe9bd('0xb9')]['id']}})['then'](handleEntityNotFound(_0x1e8c01,null))[_0xe9bd('0x21')](function(_0x2d8ea5){if(_0x2d8ea5){return _0x2d8ea5[_0xe9bd('0x106')](_0x23be6d[_0xe9bd('0xbc')][_0xe9bd('0x107')],_['omit'](_0x23be6d['body'],['ids','id'])||{});}})[_0xe9bd('0x21')](respondWithResult(_0x1e8c01,null))['catch'](handleError(_0x1e8c01,null));};exports[_0xe9bd('0x108')]=function(_0x1c340c,_0x4d3c1b,_0x1547e1){var _0x3b91ff={'raw':![],'where':{}};var _0x29dce8={};var _0x3d9732={'count':0x0,'rows':[]};return db[_0xe9bd('0x43')][_0xe9bd('0xc0')]({'where':{'id':_0x1c340c[_0xe9bd('0xb9')]['id']}})['then'](handleEntityNotFound(_0x4d3c1b,null))['then'](function(_0x9b078){if(_0x9b078){_0x29dce8['model']=_['keys'](db[_0xe9bd('0xc7')][_0xe9bd('0x44')]);_0x29dce8[_0xe9bd('0x4a')]=_[_0xe9bd('0x49')](_0x1c340c[_0xe9bd('0x4a')]);_0x29dce8[_0xe9bd('0x4b')]=_[_0xe9bd('0x4d')](_0x29dce8[_0xe9bd('0x48')],_0x29dce8[_0xe9bd('0x4a')]);_0x3b91ff[_0xe9bd('0x4c')]=_[_0xe9bd('0x4d')](_0x29dce8['model'],qs[_0xe9bd('0x4e')](_0x1c340c['query'][_0xe9bd('0x4e')]));_0x3b91ff[_0xe9bd('0x4c')]=_0x3b91ff[_0xe9bd('0x4c')][_0xe9bd('0x68')]?_0x3b91ff['attributes']:_0x29dce8[_0xe9bd('0x48')];if(!_0x1c340c[_0xe9bd('0x4a')][_0xe9bd('0x4f')]('nolimit')){_0x3b91ff['limit']=qs[_0xe9bd('0x31')](_0x1c340c[_0xe9bd('0x4a')][_0xe9bd('0x31')]);_0x3b91ff[_0xe9bd('0x2f')]=qs[_0xe9bd('0x2f')](_0x1c340c[_0xe9bd('0x4a')]['offset']);}_0x3b91ff[_0xe9bd('0x99')]=qs[_0xe9bd('0x51')](_0x1c340c[_0xe9bd('0x4a')][_0xe9bd('0x51')]);_0x3b91ff['where']=qs[_0xe9bd('0x4b')](_[_0xe9bd('0x109')](_0x1c340c[_0xe9bd('0x4a')],_0x29dce8['filters']));_0x3b91ff[_0xe9bd('0x52')][_0xe9bd('0xb5')]=_0x9b078['id'];if(_0x1c340c[_0xe9bd('0x4a')][_0xe9bd('0x8d')]){_0x3b91ff[_0xe9bd('0x52')]=_[_0xe9bd('0x10a')](_0x3b91ff[_0xe9bd('0x52')],{'$or':_['map'](_0x3b91ff['attributes'],function(_0x25ef59){var _0x3428d6={};_0x3428d6[_0x25ef59]={'$like':'%'+_0x1c340c[_0xe9bd('0x4a')]['filter']+'%'};return _0x3428d6;})});}if(_0x1c340c['query'][_0xe9bd('0x83')]){var _0x3fbc8d=_0x1c340c[_0xe9bd('0x4a')]['$gte'][_0xe9bd('0x3f')](',');var _0x59021d={};_0x59021d[_0x3fbc8d[0x0]]={'$gte':moment(_0x3fbc8d[0x1])[_0xe9bd('0xe4')](_0xe9bd('0x10b'))};_0x3b91ff[_0xe9bd('0x52')]=_[_0xe9bd('0x10a')](_0x3b91ff[_0xe9bd('0x52')],_0x59021d);}_0x3b91ff=_[_0xe9bd('0x10a')]({},_0x3b91ff,_0x1c340c[_0xe9bd('0xba')]);return db[_0xe9bd('0xc7')][_0xe9bd('0x32')]({'where':_0x3b91ff['where']})['then'](function(_0x8ebe70){_0x3d9732[_0xe9bd('0x32')]=_0x8ebe70;if(_0x1c340c[_0xe9bd('0x4a')][_0xe9bd('0x10c')]){_0x3b91ff[_0xe9bd('0x10d')]=[{'all':!![]}];}return db[_0xe9bd('0xc7')][_0xe9bd('0x10e')](_0x3b91ff);})[_0xe9bd('0x21')](function(_0x593e55){_0x3d9732[_0xe9bd('0xb7')]=_0x593e55;return _0x3d9732;});}})[_0xe9bd('0x21')](respondWithFilteredResult(_0x4d3c1b,_0x3b91ff))['catch'](handleError(_0x4d3c1b,null));};exports[_0xe9bd('0x10f')]=function(_0x4c4890,_0x3b32f7,_0x19b33f){var _0x401924={'where':{}},_0x5a7a61={},_0x4c7419={'count':0x0,'rows':[]};return db[_0xe9bd('0x43')]['findOne']({'where':{'id':_0x4c4890[_0xe9bd('0xb9')]['id']}})[_0xe9bd('0x21')](handleEntityNotFound(_0x3b32f7,null))[_0xe9bd('0x21')](function(_0xf4d98f){if(_0xf4d98f){_0x5a7a61[_0xe9bd('0x48')]=_['keys'](db[_0xe9bd('0xc7')][_0xe9bd('0x44')]);_0x5a7a61[_0xe9bd('0x4a')]=_[_0xe9bd('0x49')](_0x4c4890[_0xe9bd('0x4a')]);_0x5a7a61[_0xe9bd('0x4b')]=_['intersection'](_0x5a7a61[_0xe9bd('0x48')],_0x5a7a61['query']);_0x401924[_0xe9bd('0x4c')]=_['intersection'](_0x5a7a61[_0xe9bd('0x48')],qs[_0xe9bd('0x4e')](_0x4c4890['query'][_0xe9bd('0x4e')]));_0x401924[_0xe9bd('0x4c')]=_0x401924['attributes'][_0xe9bd('0x68')]?_0x401924['attributes']:_0x5a7a61['model'];if(!_0x4c4890['query'][_0xe9bd('0x4f')](_0xe9bd('0x50'))){_0x401924['limit']=qs['limit'](_0x4c4890[_0xe9bd('0x4a')]['limit']);_0x401924[_0xe9bd('0x2f')]=qs[_0xe9bd('0x2f')](_0x4c4890['query'][_0xe9bd('0x2f')]);}_0x401924[_0xe9bd('0x99')]=qs[_0xe9bd('0x51')](_0x4c4890[_0xe9bd('0x4a')][_0xe9bd('0x51')]);_0x401924[_0xe9bd('0x52')]=qs[_0xe9bd('0x4b')](_[_0xe9bd('0x109')](_0x4c4890[_0xe9bd('0x4a')],_0x5a7a61[_0xe9bd('0x4b')]));_0x401924[_0xe9bd('0x52')][_0xe9bd('0xb5')]=_0xf4d98f['id'];if(_0x4c4890[_0xe9bd('0x4a')]['filter']){_0x401924[_0xe9bd('0x52')]=_[_0xe9bd('0x10a')](_0x401924[_0xe9bd('0x52')],{'$or':_[_0xe9bd('0x42')](_0x401924[_0xe9bd('0x4c')],function(_0x58e4be){var _0x643c80={};_0x643c80[_0x58e4be]={'$like':'%'+_0x4c4890[_0xe9bd('0x4a')][_0xe9bd('0x8d')]+'%'};return _0x643c80;})});}_0x401924[_0xe9bd('0x52')][_0xe9bd('0xf7')]=![];if(_0x4c4890[_0xe9bd('0x4a')]['id']){_0x401924[_0xe9bd('0x52')]['id']={'$gt':_0x4c4890['query']['id']};}_0x401924=_[_0xe9bd('0x10a')]({},_0x401924,_0x4c4890[_0xe9bd('0xba')]);return db['ChatMessage'][_0xe9bd('0x32')]({'where':_0x401924[_0xe9bd('0x52')]})[_0xe9bd('0x21')](function(_0x271ab8){_0x4c7419[_0xe9bd('0x32')]=_0x271ab8;_0x401924[_0xe9bd('0x10d')]=[];if(_0x4c4890[_0xe9bd('0x4a')][_0xe9bd('0x110')]){_0x401924['include'][_0xe9bd('0x41')]({'model':db[_0xe9bd('0xe9')],'as':_0xe9bd('0xe9'),'attributes':['id','fullname',_0xe9bd('0xf0')]});}if(_0x4c4890[_0xe9bd('0x4a')]['includeAll']){_0x401924['include']=[{'all':!![]}];}return db[_0xe9bd('0xc7')]['findAll'](_0x401924);})[_0xe9bd('0x21')](function(_0xe7e799){_0x4c7419[_0xe9bd('0xb7')]=_0xe7e799;return _0x4c7419;});}})[_0xe9bd('0x21')](respondWithFilteredResult(_0x3b32f7,_0x401924))[_0xe9bd('0x2a')](handleError(_0x3b32f7,null));};exports[_0xe9bd('0x111')]=function(_0x356e47,_0x3712d1,_0x554002){return db[_0xe9bd('0x43')][_0xe9bd('0x6a')]({'where':{'id':_0x356e47[_0xe9bd('0xb9')]['id']}})[_0xe9bd('0x21')](handleEntityNotFound(_0x3712d1,null))[_0xe9bd('0x21')](function(_0x35f4d8){if(_0x35f4d8){return _0x35f4d8['setTags'](_0x356e47[_0xe9bd('0xbc')][_0xe9bd('0x107')],_[_0xe9bd('0x112')](_0x356e47[_0xe9bd('0xbc')],[_0xe9bd('0x107'),'id'])||{})[_0xe9bd('0x113')](function(){return db[_0xe9bd('0x76')][_0xe9bd('0x10e')]({'attributes':['id','name','color'],'where':{'id':_0x356e47[_0xe9bd('0xbc')][_0xe9bd('0x107')]}});})[_0xe9bd('0x21')](function(_0xc219e9){socket[_0xe9bd('0x114')](_0xe9bd('0x115'),{'id':Number(_0x356e47[_0xe9bd('0xb9')]['id']),'tags':_0xc219e9||[]});return{'id':Number(_0x356e47[_0xe9bd('0xb9')]['id']),'tags':_0xc219e9||[]};});}})[_0xe9bd('0x21')](respondWithResult(_0x3712d1,null))[_0xe9bd('0x2a')](handleError(_0x3712d1,null));};exports['removeTags']=function(_0x3a0e69,_0x2f3cdf,_0x183796){return db[_0xe9bd('0x43')][_0xe9bd('0x6a')]({'where':{'id':_0x3a0e69[_0xe9bd('0xb9')]['id']}})[_0xe9bd('0x21')](handleEntityNotFound(_0x2f3cdf,null))['then'](function(_0x9bfce3){if(_0x9bfce3){return _0x9bfce3[_0xe9bd('0x116')](_0x3a0e69[_0xe9bd('0x4a')][_0xe9bd('0x107')]);}})[_0xe9bd('0x21')](respondWithStatusCode(_0x2f3cdf,null))['catch'](handleError(_0x2f3cdf,null));};exports[_0xe9bd('0xe1')]=function(_0x28406f,_0x3fd3fb){var _0x2cd552=moment()[_0xe9bd('0x117')]()['toString']();var _0x302497=path['join'](config[_0xe9bd('0xde')],_0xe9bd('0x118'),_0xe9bd('0x119'),'tmp');var _0x5b3190=path[_0xe9bd('0xdd')](config[_0xe9bd('0xde')],_0xe9bd('0x118'),'files',_0xe9bd('0x11a'));var _0x44e657=path[_0xe9bd('0xdd')](_0x302497,_0x2cd552);var _0x1d6363=util[_0xe9bd('0xe4')](_0xe9bd('0x11b'),_0x28406f[_0xe9bd('0xb9')]['id'],_0x2cd552);var _0x259530=path[_0xe9bd('0xdd')](_0x302497,_0x1d6363);var _0x4064e6=[];_0x4064e6[_0xe9bd('0x41')]({'model':db[_0xe9bd('0xe9')],'as':_0xe9bd('0xe9'),'attributes':['id',_0xe9bd('0xf2')],'raw':!![]});_0x4064e6['push']({'model':db[_0xe9bd('0xcc')],'as':_0xe9bd('0x6f'),'attributes':['id','firstName',_0xe9bd('0x11c')],'raw':!![]});if(_0x28406f[_0xe9bd('0x4a')][_0xe9bd('0x11a')]){_0x4064e6[_0xe9bd('0x41')]({'model':db['Attachment'],'as':_0xe9bd('0xd9'),'raw':!![]});}var _0x40f28b=[{'model':db[_0xe9bd('0xc7')],'as':_0xe9bd('0xe8'),'attributes':['id',_0xe9bd('0xbc'),'createdAt',_0xe9bd('0xf6'),'secret',_0xe9bd('0x88')],'include':_0x4064e6}];_0x40f28b[_0xe9bd('0x41')]({'model':db[_0xe9bd('0xbf')],'as':_0xe9bd('0x11d'),'attributes':['id',_0xe9bd('0x3a')]});_0x40f28b['push']({'model':db[_0xe9bd('0xe9')],'as':_0xe9bd('0x11e'),'attributes':['id',_0xe9bd('0xf2')]});return db[_0xe9bd('0x43')][_0xe9bd('0x6a')]({'where':{'id':_0x28406f[_0xe9bd('0xb9')]['id']},'include':_0x40f28b})[_0xe9bd('0x21')](handleEntityNotFound(_0x3fd3fb,null))['then'](function(_0x45c400){if(_0x45c400){var _0x428e75=_0x45c400[_0xe9bd('0x11f')]({'plain':!![]});fs[_0xe9bd('0x120')](_0x44e657);var _0x1b346d={'channel':'Chat','account':_0x428e75[_0xe9bd('0x11d')][_0xe9bd('0x3a')],'agent':_0x428e75[_0xe9bd('0x11e')]?_0x428e75[_0xe9bd('0x11e')][_0xe9bd('0xf2')]:_0xe9bd('0x121'),'createdAt':moment(_0x428e75[_0xe9bd('0xf5')])[_0xe9bd('0xe4')](_0xe9bd('0x10b'))[_0xe9bd('0xa3')](),'closedAt':_0x428e75[_0xe9bd('0xd0')]?moment(_0x428e75[_0xe9bd('0x122')])[_0xe9bd('0xe4')](_0xe9bd('0x10b'))[_0xe9bd('0xa3')]():'','disposition':_0x428e75[_0xe9bd('0xd1')],'chatInfo':{'browser':_0x428e75[_0xe9bd('0x123')],'os':_0x428e75[_0xe9bd('0x124')],'referer':_0x428e75[_0xe9bd('0x125')],'customerIp':_0x428e75[_0xe9bd('0x126')],'customerPort':_0x428e75['customerPort']?_0x428e75[_0xe9bd('0x127')]:_0xe9bd('0x121')},'messages':_(_0x428e75[_0xe9bd('0xe8')])[_0xe9bd('0x128')]()['filter']({'secret':![]})[_0xe9bd('0x42')](function(_0x5e04d5){if(_0x5e04d5['Attachment']){var _0x5d44c0=path['join'](_0x5b3190,_0x5e04d5[_0xe9bd('0xd9')][_0xe9bd('0xd6')]);if(fs[_0xe9bd('0x129')](_0x5d44c0)){fs['createReadStream'](_0x5d44c0)[_0xe9bd('0x12a')](fs['createWriteStream'](path[_0xe9bd('0xdd')](_0x44e657,_0x5e04d5[_0xe9bd('0xd9')]['basename'])));}}return{'date':moment(_0x5e04d5[_0xe9bd('0xf5')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0xe9bd('0xa3')](),'sender':_0x5e04d5[_0xe9bd('0xf6')]===_0xe9bd('0x12b')?_0x5e04d5['User']?_0x5e04d5[_0xe9bd('0xe9')]['fullname']:_0xe9bd('0xf3'):_0x5e04d5['Contact'][_0xe9bd('0x12c')]+(_0x5e04d5[_0xe9bd('0x6f')][_0xe9bd('0x11c')]?'\x20'+_0x5e04d5['Contact'][_0xe9bd('0x11c')]:''),'body':_0x5e04d5['Attachment']?_0x5e04d5[_0xe9bd('0xd9')][_0xe9bd('0xd6')]:_0x5e04d5[_0xe9bd('0xbc')],'direction':_0x5e04d5[_0xe9bd('0xf6')]===_0xe9bd('0x12b')?'A':'C','secret':_0x5e04d5[_0xe9bd('0xf7')],'read':_0x5e04d5[_0xe9bd('0x88')],'attachment':_0x5e04d5[_0xe9bd('0xd9')]};})[_0xe9bd('0x6c')]()};return ejs[_0xe9bd('0x12d')](path[_0xe9bd('0xdd')](config[_0xe9bd('0xde')],_0xe9bd('0x118'),_0xe9bd('0x12e'),_0xe9bd('0x12f')),{'interaction':_0x1b346d})[_0xe9bd('0x21')](function(_0x11cfb5){var _0x360444=path[_0xe9bd('0xdd')](_0x44e657,_0xe9bd('0x130')+_0x428e75['id']+'-'+_0x2cd552+_0xe9bd('0x131'));var _0x53eb33={'path':_0x360444,'channel':_0xe9bd('0x132'),'interactionId':_0x428e75['id']};return pdf[_0xe9bd('0x133')](_0x11cfb5,_0x53eb33);})['then'](function(){return new BPromise(function(_0x1011de,_0x424938){zipdir(_0x44e657,{'saveTo':_0x259530},function(_0x285a8e,_0xa28496){if(_0x285a8e)return _0x424938(_0x285a8e);return _0x1011de(_0xa28496);});})[_0xe9bd('0x21')](function(){return new BPromise(function(_0x57e12b,_0x1fc4ce){rimraf(_0x44e657,function(_0x2d7c18){if(_0x2d7c18)_0x1fc4ce(_0x2d7c18);return _0x57e12b();});});})[_0xe9bd('0x21')](function(){return _0x3fd3fb[_0xe9bd('0xe1')](_0x259530,_0x1d6363,function(_0x36c8aa){if(_0x36c8aa){console[_0xe9bd('0x134')](_0xe9bd('0x135'),_0x36c8aa);}else{fs[_0xe9bd('0x136')](_0x259530);}});});});}else{return _0x3fd3fb[_0xe9bd('0x2b')](0xc8);}})[_0xe9bd('0x2a')](handleError(_0x3fd3fb,null));};