1908f2de64b66cd69efe75d8a786b833a44e69ab
[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 _0xf1e8=['filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','agent','user','getChatWebsites','isEmpty','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','merge','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','i.*','c.firstName','Contact.lastName','c.phone','Contact.phone','c.mobile','Contact.mobile','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','ChatInteractionId','all','rows','show','params','includeAll','options','create','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','ValidationError','ChatMessage','updateAttributes','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','closed','disposition','attachmentUpload','file','basename','filename','mimetype','Attachment','attachmentDownload','Unauthorized','attachId','download','join','root','server/files/attachments/','mailTranscript','server/files/chat/upload/','format','transcript-%s.txt','now','pathTranscript','Messages','%s%d','System','customer','Visitor','agentIdentifier','website_alias','agentAlias','agent_alias','alias','fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','appendFileSync','MailServerOut','Smtp','service','host','port','secure','auth','sendMail','\x22%s\x22\x20<%s>','email','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','omit','ids','nolimit','include','findAll','getMyMessages','secret','includeAgent','setTags','spread','chatInteractionTags:save','removeTags','unix','server','files','tmp','firstName','lastName','attachments','Account','10px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Chat','YYYY-MM-DD','Owner','YYYY-MM-DD\x20HH:mm:ss','closedAt','osName','customerIp','customerPort','tail','existsSync','createReadStream','pipe','createWriteStream','renderFile','views','log','err','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','defaults','redis','localhost','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','info','catch','sendStatus','status','end','json','count','offset','limit','set','reject','save','update','then','destroy','stack','name','map','TagIds','Tags','split','forEach','push','ChatInteraction','rawAttributes','fieldName','type','query','filters','intersection','attributes','model','fields','length','hasOwnProperty','order','sort','where','pick','select','field','color','tools_tags','u.fullname','ui.ChatInteractionId','from','user_has_chat_interactions','left_join','users','chat_interactions','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','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','conditions','unreadMessages','value','having','`\x20=\x200','Contact','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','find','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','keys','compact','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','$gte','parse','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag'];(function(_0x235ae3,_0x2e5f1e){var _0xf631d1=function(_0x51fe40){while(--_0x51fe40){_0x235ae3['push'](_0x235ae3['shift']());}};_0xf631d1(++_0x2e5f1e);}(_0xf1e8,0x1c9));var _0x8f1e=function(_0x124c30,_0x4fdf92){_0x124c30=_0x124c30-0x0;var _0x31bca4=_0xf1e8[_0x124c30];return _0x31bca4;};'use strict';var pdf=require(_0x8f1e('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x8f1e('0x1'));var zipdir=require(_0x8f1e('0x2'));var jsonpatch=require(_0x8f1e('0x3'));var rp=require(_0x8f1e('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x8f1e('0x5'));var util=require(_0x8f1e('0x6'));var path=require(_0x8f1e('0x7'));var sox=require(_0x8f1e('0x8'));var csv=require(_0x8f1e('0x9'));var ejs=require(_0x8f1e('0xa'));var fs=require('fs');var _=require(_0x8f1e('0xb'));var squel=require(_0x8f1e('0xc'));var crypto=require('crypto');var jsforce=require(_0x8f1e('0xd'));var deskjs=require(_0x8f1e('0xe'));var toCsv=require(_0x8f1e('0x9'));var querystring=require(_0x8f1e('0xf'));var Papa=require(_0x8f1e('0x10'));var Redis=require(_0x8f1e('0x11'));var authService=require(_0x8f1e('0x12'));var qs=require(_0x8f1e('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x8f1e('0x14'))(_0x8f1e('0x15'));var utils=require('../../config/utils');var config=require(_0x8f1e('0x16'));var licenseUtil=require(_0x8f1e('0x17'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x8f1e('0x18')](config[_0x8f1e('0x19')],{'host':_0x8f1e('0x1a'),'port':0x18eb});var socket=require(_0x8f1e('0x1b'))(new Redis(config[_0x8f1e('0x19')]));require(_0x8f1e('0x1c'))[_0x8f1e('0x1d')](socket);var jayson=require(_0x8f1e('0x1e'));var client=jayson[_0x8f1e('0x1f')][_0x8f1e('0x20')]({'port':0x232b});var client9004=jayson[_0x8f1e('0x1f')][_0x8f1e('0x20')]({'port':0x232c});function respondWithRpcPromise(_0x52e4c6,_0x2994c6,_0x40bdbb,_0x16a54c){return new BPromise(function(_0x146845,_0x5ab21d){var _0x326303=_0x16a54c||client;return _0x326303['request'](_0x52e4c6,_0x40bdbb)['then'](function(_0x71ddbd){logger['info'](_0x8f1e('0x21'),_0x2994c6,_0x8f1e('0x22'));logger[_0x8f1e('0x23')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x2994c6,'request\x20sent',JSON[_0x8f1e('0x24')](_0x71ddbd));if(_0x71ddbd[_0x8f1e('0x25')]){if(_0x71ddbd[_0x8f1e('0x25')][_0x8f1e('0x26')]===0x1f4){logger['error']('ChatInteraction,\x20%s,\x20%s',_0x2994c6,_0x71ddbd[_0x8f1e('0x25')][_0x8f1e('0x27')]);return _0x5ab21d(_0x71ddbd[_0x8f1e('0x25')][_0x8f1e('0x27')]);}logger[_0x8f1e('0x25')](_0x8f1e('0x21'),_0x2994c6,_0x71ddbd[_0x8f1e('0x25')][_0x8f1e('0x27')]);return _0x146845(_0x71ddbd['error'][_0x8f1e('0x27')]);}else{logger[_0x8f1e('0x28')]('ChatInteraction,\x20%s,\x20%s',_0x2994c6,_0x8f1e('0x22'));_0x146845(_0x71ddbd['result'][_0x8f1e('0x27')]);}})[_0x8f1e('0x29')](function(_0x4c4714){logger[_0x8f1e('0x25')](_0x8f1e('0x21'),_0x2994c6,_0x4c4714);_0x5ab21d(_0x4c4714);});});}function respondWithStatusCode(_0x39ebe8,_0x532054){_0x532054=_0x532054||0xcc;return function(_0x125a0f){if(_0x125a0f){return _0x39ebe8[_0x8f1e('0x2a')](_0x532054);}return _0x39ebe8[_0x8f1e('0x2b')](_0x532054)[_0x8f1e('0x2c')]();};}function respondWithResult(_0x5bb3fb,_0x5f1a05){_0x5f1a05=_0x5f1a05||0xc8;return function(_0x461c73){if(_0x461c73){return _0x5bb3fb[_0x8f1e('0x2b')](_0x5f1a05)[_0x8f1e('0x2d')](_0x461c73);}};}function respondWithFilteredResult(_0xc9f61d,_0x135a45){return function(_0x33764d){if(_0x33764d){var _0x32fdec=_0x33764d[_0x8f1e('0x2e')],_0x5b653e=_0x135a45[_0x8f1e('0x2f')],_0x5df02b=_0x135a45['offset']+_0x135a45[_0x8f1e('0x30')],_0x5cc255;if(_0x5df02b>=_0x32fdec){_0x5df02b=_0x32fdec;_0x5cc255=0xc8;}else{_0x5cc255=0xce;}_0xc9f61d[_0x8f1e('0x2b')](_0x5cc255);return _0xc9f61d[_0x8f1e('0x31')]('Content-Range',_0x5b653e+'-'+_0x5df02b+'/'+_0x32fdec)[_0x8f1e('0x2d')](_0x33764d);}return null;};}function patchUpdates(_0x2f934c){return function(_0x2788fd){try{jsonpatch['apply'](_0x2788fd,_0x2f934c,!![]);}catch(_0x52f238){return BPromise[_0x8f1e('0x32')](_0x52f238);}return _0x2788fd[_0x8f1e('0x33')]();};}function saveUpdates(_0x4e3996,_0xa9de23){return function(_0x1fe24a){if(_0x1fe24a){return _0x1fe24a[_0x8f1e('0x34')](_0x4e3996)[_0x8f1e('0x35')](function(_0x37bb85){return _0x37bb85;});}return null;};}function removeEntity(_0x2fdb5d,_0x32173c){return function(_0x3739c7){if(_0x3739c7){return _0x3739c7[_0x8f1e('0x36')]()[_0x8f1e('0x35')](function(){_0x2fdb5d[_0x8f1e('0x2b')](0xcc)[_0x8f1e('0x2c')]();});}};}function handleEntityNotFound(_0x5e446a,_0x2f6742){return function(_0x4b4109){if(!_0x4b4109){_0x5e446a[_0x8f1e('0x2a')](0x194);}return _0x4b4109;};}function handleError(_0xef9c19,_0x4a781c){_0x4a781c=_0x4a781c||0x1f4;return function(_0x3231bc){logger['error'](_0x3231bc[_0x8f1e('0x37')]);if(_0x3231bc[_0x8f1e('0x38')]){delete _0x3231bc['name'];}_0xef9c19[_0x8f1e('0x2b')](_0x4a781c)['send'](_0x3231bc);};}function getInteractionUsers(_0x450f2f,_0x44437c){return new BPromise(function(_0x274d81,_0x2f32b3){try{if(_0x44437c[_0x450f2f['id']]){_0x450f2f['Users']=_[_0x8f1e('0x39')](_0x44437c[_0x450f2f['id']],function(_0x2915ed){return{'id':_0x2915ed['id'],'fullname':_0x2915ed['fullname']};});}}catch(_0x1d4960){_0x2f32b3(_0x1d4960);}_0x274d81(_0x450f2f);});}function getInteractionTags(_0x254140,_0xe4733b){return new BPromise(function(_0x28e3ec,_0x15f823){try{if(_0x254140[_0x8f1e('0x3a')]){_0x254140[_0x8f1e('0x3b')]=[];_0x254140[_0x8f1e('0x3a')][_0x8f1e('0x3c')](',')[_0x8f1e('0x3d')](function(_0x4e80e5){_0x254140[_0x8f1e('0x3b')][_0x8f1e('0x3e')](_0xe4733b[_0x4e80e5]);});}delete _0x254140[_0x8f1e('0x3a')];}catch(_0x4fd27b){_0x15f823(_0x4fd27b);}_0x28e3ec(_0x254140);});}function updateChatInteraction(_0x41a013,_0x1ff2e0,_0x524f04){return new BPromise(function(_0x4f3cf5,_0x4e1770){return getInteractionUsers(_0x41a013,_0x524f04)['then'](function(_0x38dd64){return getInteractionTags(_0x38dd64,_0x1ff2e0);})[_0x8f1e('0x35')](function(_0x296112){_0x4f3cf5(_0x296112);})['catch'](function(_0x555b7a){_0x4e1770(_0x555b7a);});});}exports['index']=function(_0x53cba5,_0x401084){var _0x1320d6={},_0x946d={},_0x59cf54={'count':0x0,'rows':[]};var _0x4511c2=_[_0x8f1e('0x39')](db[_0x8f1e('0x3f')][_0x8f1e('0x40')],function(_0x45fedd){return{'name':_0x45fedd[_0x8f1e('0x41')],'type':_0x45fedd[_0x8f1e('0x42')]['key']};});_0x946d['model']=_[_0x8f1e('0x39')](_0x4511c2,_0x8f1e('0x38'));_0x946d[_0x8f1e('0x43')]=_['keys'](_0x53cba5[_0x8f1e('0x43')]);_0x946d[_0x8f1e('0x44')]=_[_0x8f1e('0x45')](_0x946d['model'],_0x946d[_0x8f1e('0x43')]);_0x1320d6[_0x8f1e('0x46')]=_[_0x8f1e('0x45')](_0x946d[_0x8f1e('0x47')],qs[_0x8f1e('0x48')](_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x48')]));_0x1320d6[_0x8f1e('0x46')]=_0x1320d6['attributes'][_0x8f1e('0x49')]?_0x1320d6[_0x8f1e('0x46')]:_0x946d[_0x8f1e('0x47')];if(!_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x4a')]('nolimit')){_0x1320d6[_0x8f1e('0x30')]=qs[_0x8f1e('0x30')](_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x30')]);_0x1320d6['offset']=qs[_0x8f1e('0x2f')](_0x53cba5['query']['offset']);}_0x1320d6[_0x8f1e('0x4b')]=qs[_0x8f1e('0x4c')](_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x4c')]);_0x1320d6[_0x8f1e('0x4d')]=qs[_0x8f1e('0x44')](_[_0x8f1e('0x4e')](_0x53cba5[_0x8f1e('0x43')],_0x946d[_0x8f1e('0x44')]),_0x4511c2);var _0x5bc134=[];var _0x560bd6=squel[_0x8f1e('0x4f')]()[_0x8f1e('0x50')]('id')[_0x8f1e('0x50')](_0x8f1e('0x38'))['field'](_0x8f1e('0x51'))['from'](_0x8f1e('0x52'));var _0x8f20a2=squel[_0x8f1e('0x4f')]()['field']('u.id')[_0x8f1e('0x50')](_0x8f1e('0x53'))[_0x8f1e('0x50')](_0x8f1e('0x54'))[_0x8f1e('0x55')](_0x8f1e('0x56'),'ui')[_0x8f1e('0x57')](_0x8f1e('0x58'),'u','u.id\x20=\x20ui.UserId');var _0x41cdbe=squel[_0x8f1e('0x4f')]()['from'](_0x8f1e('0x59'),'i')[_0x8f1e('0x57')](_0x8f1e('0x5a'),'c',_0x8f1e('0x5b'))[_0x8f1e('0x57')]('users','o',_0x8f1e('0x5c'))[_0x8f1e('0x57')](_0x8f1e('0x5d'),'a',_0x8f1e('0x5e'))[_0x8f1e('0x57')](_0x8f1e('0x5f'),'me',_0x8f1e('0x60'))['left_join'](_0x8f1e('0x61'),'it',_0x8f1e('0x62'))[_0x8f1e('0x57')](_0x8f1e('0x52'),'t',_0x8f1e('0x63'));var _0x2b19d8=squel[_0x8f1e('0x64')]();var _0x2d532f=[];var _0x10f634=squel['expr']();var _0x10bf21;if(_0x53cba5['query']['search']){_0x10bf21=as[_0x8f1e('0x65')](_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x66')]);var _0x213f02=_0x10bf21['sqlOperator'];for(var _0x7fd61b=0x0;_0x7fd61b<_0x10bf21[_0x8f1e('0x67')][_0x8f1e('0x49')];_0x7fd61b++){var _0x232660=_0x10bf21[_0x8f1e('0x67')][_0x7fd61b];var _0x507ad4='i';var _0x5915f7=_['find'](_0x4511c2,[_0x8f1e('0x38'),_0x232660[_0x8f1e('0x50')]]);if(!_0x5915f7){switch(_0x232660[_0x8f1e('0x50')]){case _0x8f1e('0x68'):if(_0x232660[_0x8f1e('0x69')]==0x1){_0x41cdbe[_0x8f1e('0x6a')]('`'+_0x232660[_0x8f1e('0x50')]+_0x8f1e('0x6b'));}else{_0x41cdbe[_0x8f1e('0x6a')]('`'+_0x232660[_0x8f1e('0x50')]+'`\x20>\x200');}break;case _0x8f1e('0x6c'):if(_0x232660['operator']===_0x8f1e('0x6d')){if(_0x232660[_0x8f1e('0x69')][_0x8f1e('0x3c')]('\x20')[_0x8f1e('0x49')]>0x1){_0x2b19d8[_0x213f02](_0x8f1e('0x6e'),qs[_0x8f1e('0x6f')](_0x232660[_0x8f1e('0x69')]),null);}else{var _0x491b9b='%'+_0x232660[_0x8f1e('0x69')]+'%';_0x2b19d8[_0x213f02]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x491b9b,_0x491b9b,_0x491b9b);}}else{_0x5915f7=_[_0x8f1e('0x70')](_0x4511c2,[_0x8f1e('0x38'),_0x8f1e('0x71')]);_0x232660[_0x8f1e('0x50')]=_0x8f1e('0x71');_0x265e2c=as[_0x8f1e('0x72')](_0x507ad4,_0x5915f7['type'],_0x232660);_0x2b19d8[_0x213f02](_0x265e2c[_0x8f1e('0x73')],_0x265e2c['value'][_0x8f1e('0x74')],_0x265e2c[_0x8f1e('0x69')][_0x8f1e('0x2c')]);}break;case'Tag':var _0x339ea0=_0x232660['value'][_0x8f1e('0x3c')](',')[_0x8f1e('0x39')](function(_0x133085){return Number(_0x133085);});_0x339ea0[_0x8f1e('0x3d')](function(_0x1cb0be){_0x10f634['or'](_0x8f1e('0x75'),'%,'+_0x1cb0be+',%');});_0x2d532f=_[_0x8f1e('0x76')](_0x2d532f,_0x339ea0);break;case _0x8f1e('0x77'):if(_0x232660[_0x8f1e('0x78')]===_0x8f1e('0x6d')){_0x2b19d8[_0x213f02](_0x8f1e('0x79'),'%'+_0x232660[_0x8f1e('0x69')]+'%',null);}else{_0x5915f7=_[_0x8f1e('0x70')](_0x4511c2,[_0x8f1e('0x38'),_0x8f1e('0x7a')]);_0x232660[_0x8f1e('0x50')]=_0x8f1e('0x7a');_0x265e2c=as['buildExpression'](_0x507ad4,_0x5915f7[_0x8f1e('0x42')],_0x232660);_0x2b19d8[_0x213f02](_0x265e2c[_0x8f1e('0x73')],_0x265e2c['value'][_0x8f1e('0x74')],_0x265e2c[_0x8f1e('0x69')][_0x8f1e('0x2c')]);}break;case _0x8f1e('0x7b'):_0x265e2c=as[_0x8f1e('0x72')]('me',null,_0x232660);_0x2b19d8[_0x213f02](_0x265e2c[_0x8f1e('0x73')],_0x265e2c['value'][_0x8f1e('0x74')],_0x265e2c[_0x8f1e('0x69')][_0x8f1e('0x2c')]);break;}}else{var _0x265e2c=as[_0x8f1e('0x72')](_0x507ad4,_0x5915f7[_0x8f1e('0x42')],_0x232660);_0x2b19d8[_0x213f02](_0x265e2c[_0x8f1e('0x73')],_0x265e2c[_0x8f1e('0x69')][_0x8f1e('0x74')],_0x265e2c[_0x8f1e('0x69')][_0x8f1e('0x2c')]);}}}else{var _0x308ab4=_(_0x53cba5['query'])[_0x8f1e('0x7c')]()[_0x8f1e('0x39')](function(_0xf5f928){return _['some'](_0x4511c2,[_0x8f1e('0x38'),_0xf5f928])?_0xf5f928:undefined;})[_0x8f1e('0x7d')]()[_0x8f1e('0x69')]();if(!_['isEmpty'](_0x308ab4)){_0x308ab4['forEach'](function(_0x319144){if(_0x319144===_0x8f1e('0x7e')){_0x41cdbe[_0x8f1e('0x4d')](_0x8f1e('0x7f'),[][_0x8f1e('0x80')](_0x53cba5['query'][_0x319144]));}else if(_0x319144===_0x8f1e('0x81')){var _0x2a5d8e=JSON['parse'](_0x53cba5[_0x8f1e('0x43')][_0x319144])[_0x8f1e('0x82')];var _0x3d20b4=JSON[_0x8f1e('0x83')](_0x53cba5[_0x8f1e('0x43')][_0x319144])[_0x8f1e('0x84')];_0x41cdbe['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x2a5d8e,_0x3d20b4);}else{if(_0x53cba5[_0x8f1e('0x43')][_0x319144]===_0x8f1e('0x85')){_0x41cdbe[_0x8f1e('0x4d')]('i.'+_0x319144+_0x8f1e('0x86'));}else{_0x41cdbe['where']('i.'+_0x319144+_0x8f1e('0x87'),_0x53cba5['query'][_0x319144]);}}});}if(_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x88')]){if(_0x53cba5[_0x8f1e('0x43')]['read']==0x1){_0x41cdbe[_0x8f1e('0x6a')](_0x8f1e('0x89'));}else{_0x41cdbe[_0x8f1e('0x6a')]('`unreadMessages`\x20>\x200');}}if(_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x8a')]){_0x2d532f=_['isArray'](_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x8a')])?_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x8a')]:new Array(_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x8a')]);_0x2d532f[_0x8f1e('0x3d')](function(_0x52099e){_0x10f634['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x52099e+',%');});}if(_0x53cba5[_0x8f1e('0x43')]['filter']){var _0xbb4b93=_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x8b')][_0x8f1e('0x8c')]('\x5c','\x5c\x5c')[_0x8f1e('0x8c')](/'/g,'\x27\x27');if(qs[_0x8f1e('0x8d')](_0xbb4b93)){_0x2b19d8['or'](_0x8f1e('0x8e'),_0xbb4b93+'%');}else{_0x2b19d8['or'](_0x8f1e('0x8f'),qs[_0x8f1e('0x6f')](_0xbb4b93))['or'](_0x8f1e('0x90'),_0xbb4b93+'%');}}}_0x41cdbe['where'](_0x2b19d8);_0x41cdbe[_0x8f1e('0x91')]('i.id');var _0x3944de={'type':db[_0x8f1e('0x92')][_0x8f1e('0x93')]['SELECT'],'raw':!![]};var _0x3504df=_0x41cdbe[_0x8f1e('0x94')]();_0x3504df['field'](_0x8f1e('0x95'));_0x3504df['field'](_0x8f1e('0x96'),_0x8f1e('0x68'));if(_0x1320d6['order']){_0x1320d6['order']['forEach'](function(_0x2c49dd){var _0x191e91=_0x2c49dd[0x0]===_0x8f1e('0x97')?_0x2c49dd[0x0]:'i.'+_0x2c49dd[0x0];_0x41cdbe['order'](_0x191e91,_0x2c49dd[0x1]===_0x8f1e('0x98')?![]:!![]);});}if(!_['isEmpty'](_0x2d532f)){_0x41cdbe[_0x8f1e('0x6a')](_0x10f634);_0x3504df['where'](_0x8f1e('0x99'),_0x2d532f);}BPromise[_0x8f1e('0x9a')]()[_0x8f1e('0x35')](function(){if(!_0x10bf21){if(_0x53cba5['query'][_0x8f1e('0x7e')])return;_0x3504df[_0x8f1e('0x4d')](_0x8f1e('0x9b'));_0x41cdbe[_0x8f1e('0x4d')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}if(_0x53cba5['user'][_0x8f1e('0x9c')]!==_0x8f1e('0x9d'))return;return _0x53cba5[_0x8f1e('0x9e')][_0x8f1e('0x9f')]({'attributes':['id'],'raw':!![]})[_0x8f1e('0x35')](function(_0x43ed8d){if(_[_0x8f1e('0xa0')](_0x43ed8d)){_0x3504df['where']('i.ChatWebsiteId\x20IS\x20NULL');_0x41cdbe[_0x8f1e('0x4d')](_0x8f1e('0xa1'));}else{_0x3504df['where'](_0x8f1e('0x7f'),_[_0x8f1e('0x39')](_0x43ed8d,'id'));_0x41cdbe[_0x8f1e('0x4d')](_0x8f1e('0x7f'),_[_0x8f1e('0x39')](_0x43ed8d,'id'));}});})[_0x8f1e('0x35')](function(){if(_0x53cba5[_0x8f1e('0x9e')]['role']==='agent'&&!_0x10bf21&&!_0x53cba5[_0x8f1e('0x43')][_0x8f1e('0x7e')])return[];return db[_0x8f1e('0xa2')]['query'](_0x3504df['toString'](),_0x3944de);})[_0x8f1e('0x35')](function(_0x436e7e){_0x59cf54[_0x8f1e('0x2e')]=_0x436e7e[_0x8f1e('0x49')];if(_0x59cf54[_0x8f1e('0x2e')]===0x0)return[];return db['sequelize'][_0x8f1e('0x43')](_0x560bd6[_0x8f1e('0xa3')](),_0x3944de)[_0x8f1e('0x35')](function(_0x30ea44){_0x5bc134=_[_0x8f1e('0xa4')](_0x30ea44,'id');_0x3944de=_[_0x8f1e('0xa5')](_0x3944de,{'model':db[_0x8f1e('0x3f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x53cba5[_0x8f1e('0x43')]['fields']){_0x1320d6[_0x8f1e('0x46')]['forEach'](function(_0x2075aa){_0x41cdbe['field']('i.'+_0x2075aa);});}else{_0x41cdbe[_0x8f1e('0x50')](_0x8f1e('0x96'),_0x8f1e('0x68'));_0x41cdbe['field'](_0x8f1e('0xa6'),_0x8f1e('0xa7'));_0x41cdbe[_0x8f1e('0x50')](_0x8f1e('0xa8'),_0x8f1e('0xa9'));_0x41cdbe[_0x8f1e('0x50')](_0x8f1e('0xaa'),_0x8f1e('0x97'));_0x41cdbe['field'](_0x8f1e('0xab'));_0x41cdbe['field'](_0x8f1e('0xac'),'Contact.firstName');_0x41cdbe[_0x8f1e('0x50')]('c.lastName',_0x8f1e('0xad'));_0x41cdbe[_0x8f1e('0x50')]('c.email','Contact.email');_0x41cdbe['field'](_0x8f1e('0xae'),_0x8f1e('0xaf'));_0x41cdbe[_0x8f1e('0x50')](_0x8f1e('0xb0'),_0x8f1e('0xb1'));_0x41cdbe[_0x8f1e('0x50')]('c.fax',_0x8f1e('0xb2'));_0x41cdbe['field'](_0x8f1e('0xb3'),_0x8f1e('0xb4'));_0x41cdbe[_0x8f1e('0x50')](_0x8f1e('0xb5'),_0x8f1e('0xb6'));_0x41cdbe[_0x8f1e('0x50')](_0x8f1e('0xb7'),_0x8f1e('0x3a'));}if(_0x1320d6[_0x8f1e('0x30')])_0x41cdbe[_0x8f1e('0x30')](_0x1320d6[_0x8f1e('0x30')]);if(_0x1320d6[_0x8f1e('0x2f')])_0x41cdbe['offset'](_0x1320d6[_0x8f1e('0x2f')]);return db[_0x8f1e('0xa2')][_0x8f1e('0x43')](_0x41cdbe[_0x8f1e('0xa3')](),_0x3944de);})['then'](function(_0xb1f9ec){_0x8f20a2[_0x8f1e('0x4d')]('ui.ChatInteractionId\x20IN\x20?',_[_0x8f1e('0x39')](_0xb1f9ec,'id'));return db[_0x8f1e('0xa2')][_0x8f1e('0x43')](_0x8f20a2[_0x8f1e('0xa3')](),_0x3944de)['then'](function(_0x3b566c){var _0x4af090=_[_0x8f1e('0xb8')](_0x3b566c,_0x8f1e('0xb9'));var _0x10e23a=[];_0xb1f9ec['forEach'](function(_0x3fec68){_0x10e23a['push'](updateChatInteraction(_0x3fec68,_0x5bc134,_0x4af090));});return BPromise[_0x8f1e('0xba')](_0x10e23a);});});})[_0x8f1e('0x35')](function(_0x4fd5a7){_0x59cf54[_0x8f1e('0xbb')]=_0x4fd5a7;return _0x59cf54;})[_0x8f1e('0x35')](respondWithFilteredResult(_0x401084,_0x1320d6))['catch'](handleError(_0x401084,null));};exports[_0x8f1e('0xbc')]=function(_0x39c614,_0xb7753b){var _0x3ad360={'raw':![],'where':{'id':_0x39c614[_0x8f1e('0xbd')]['id']}},_0x595213={};_0x595213[_0x8f1e('0x47')]=_[_0x8f1e('0x7c')](db[_0x8f1e('0x3f')][_0x8f1e('0x40')]);_0x595213['query']=_['keys'](_0x39c614[_0x8f1e('0x43')]);_0x595213[_0x8f1e('0x44')]=_[_0x8f1e('0x45')](_0x595213[_0x8f1e('0x47')],_0x595213[_0x8f1e('0x43')]);_0x3ad360[_0x8f1e('0x46')]=_[_0x8f1e('0x45')](_0x595213['model'],qs[_0x8f1e('0x48')](_0x39c614[_0x8f1e('0x43')][_0x8f1e('0x48')]));_0x3ad360[_0x8f1e('0x46')]=_0x3ad360[_0x8f1e('0x46')][_0x8f1e('0x49')]?_0x3ad360[_0x8f1e('0x46')]:_0x595213[_0x8f1e('0x47')];if(_0x39c614[_0x8f1e('0x43')][_0x8f1e('0xbe')]){_0x3ad360['include']=[{'all':!![]}];}_0x3ad360=_[_0x8f1e('0xa5')]({},_0x3ad360,_0x39c614[_0x8f1e('0xbf')]);return db['ChatInteraction']['find'](_0x3ad360)[_0x8f1e('0x35')](handleEntityNotFound(_0xb7753b,null))[_0x8f1e('0x35')](respondWithResult(_0xb7753b,null))['catch'](handleError(_0xb7753b,null));};exports[_0x8f1e('0xc0')]=function(_0x351b54,_0x5a1b15){return db[_0x8f1e('0x3f')][_0x8f1e('0xc0')](_0x351b54['body'],{})[_0x8f1e('0x35')](respondWithResult(_0x5a1b15,0xc9))[_0x8f1e('0x29')](handleError(_0x5a1b15,null));};exports[_0x8f1e('0x34')]=function(_0x5654cf,_0x455016){if(_0x5654cf['body']['id']){delete _0x5654cf[_0x8f1e('0x7b')]['id'];}return db[_0x8f1e('0x3f')][_0x8f1e('0x70')]({'where':{'id':_0x5654cf[_0x8f1e('0xbd')]['id']}})[_0x8f1e('0x35')](handleEntityNotFound(_0x455016,null))[_0x8f1e('0x35')](saveUpdates(_0x5654cf[_0x8f1e('0x7b')],null))['then'](respondWithResult(_0x455016,null))[_0x8f1e('0x29')](handleError(_0x455016,null));};exports[_0x8f1e('0x36')]=function(_0x28daec,_0x422fa1){return db[_0x8f1e('0x3f')]['find']({'where':{'id':_0x28daec[_0x8f1e('0xbd')]['id']}})[_0x8f1e('0x35')](handleEntityNotFound(_0x422fa1,null))['then'](removeEntity(_0x422fa1,null))[_0x8f1e('0x29')](handleError(_0x422fa1,null));};exports['describe']=function(_0x36e913,_0x3db07d){return db[_0x8f1e('0x3f')]['describe']()[_0x8f1e('0x35')](respondWithResult(_0x3db07d,null))['catch'](handleError(_0x3db07d,null));};exports[_0x8f1e('0xc1')]=function(_0x50173f,_0xac03f6){var _0x279e72=_0x50173f[_0x8f1e('0xbd')]['id'];var _0x4a153c;var _0x26458b;var _0x2902ae;return db['ChatInteraction'][_0x8f1e('0xc2')]({'where':{'id':_0x279e72}})['then'](function(_0x6ae236){_0x4a153c=_0x6ae236;return db[_0x8f1e('0xc3')][_0x8f1e('0xc2')]({'where':{'id':_0x6ae236[_0x8f1e('0x7e')]},'attributes':['id',_0x8f1e('0xc4'),_0x8f1e('0xc5')],'raw':!![]});})[_0x8f1e('0x35')](function(_0x3afdec){if(_0x3afdec&&_0x3afdec[_0x8f1e('0xc4')]&&_0x3afdec['vidaooEscalation']){_0x26458b=_0x3afdec;var _0x4637d2={'rejectUnauthorized':![],'method':_0x8f1e('0xc6'),'uri':_0x8f1e('0xc7'),'headers':{'X-APIKEY':_0x3afdec['vidaooApiKey']},'body':{'name':'MotionCWB:'+_0x279e72},'redirect':'follow','json':!![]};return rp(_0x4637d2);}else{throw new db[(_0x8f1e('0x92'))][(_0x8f1e('0xc8'))]('Error\x20in\x20Vidaoo\x20configuration');}})[_0x8f1e('0x35')](function(_0x3da12a){_0x2902ae=_0x3da12a;if(_0x2902ae['id']){var _0x302c09={'body':_0x2902ae['join_url'],'ChatWebsiteId':_0x26458b['id'],'ChatInteractionId':_0x4a153c['id'],'direction':'out','UserId':_0x50173f['user']['id']};return db[_0x8f1e('0xc9')][_0x8f1e('0xc0')](_0x302c09,{});}else{throw new db['Sequelize']['ValidationError']('Unable\x20to\x20create\x20Vidaoo\x20session');}})[_0x8f1e('0x35')](function(){return _0x4a153c[_0x8f1e('0xca')]({'vidaooSessionId':_0x2902ae['id']});})[_0x8f1e('0x35')](respondWithResult(_0xac03f6,null))[_0x8f1e('0x29')](handleError(_0xac03f6,null));};exports['customUpdate']=function(_0x1baf3d,_0x5765dd){if(_0x1baf3d[_0x8f1e('0x7b')]['id']){delete _0x1baf3d['body']['id'];}return db['ChatInteraction'][_0x8f1e('0x70')]({'where':{'id':_0x1baf3d[_0x8f1e('0xbd')]['id']}})['then'](handleEntityNotFound(_0x5765dd,null))[_0x8f1e('0x35')](saveUpdates(_0x1baf3d[_0x8f1e('0x7b')],null))[_0x8f1e('0x35')](respondWithResult(_0x5765dd,null))[_0x8f1e('0x29')](handleError(_0x5765dd,null));};exports[_0x8f1e('0xcb')]=function(_0x3e45ad,_0x8433e1,_0x23a00d){if(_0x3e45ad[_0x8f1e('0x7b')]['id']){delete _0x3e45ad['body']['id'];}return db[_0x8f1e('0x3f')][_0x8f1e('0x70')]({'where':{'id':_0x3e45ad['params']['id']}})[_0x8f1e('0x35')](function(_0x14f954){if(!_0x14f954){logger[_0x8f1e('0x25')](_0x8f1e('0xcc'),_0x8f1e('0xcb'),0x194,_0x8f1e('0xcd'));_0x8433e1[_0x8f1e('0x2a')](0x194);}else{if(_0x14f954[_0x8f1e('0x7a')]){throw new db[(_0x8f1e('0x92'))][(_0x8f1e('0xc8'))](_0x8f1e('0xce'));}}return _0x14f954;})[_0x8f1e('0x35')](function(_0x2987da){if(_0x2987da){return _0x2987da[_0x8f1e('0x34')]({'closed':_0x3e45ad['body'][_0x8f1e('0xcf')],'disposition':_0x3e45ad[_0x8f1e('0x7b')][_0x8f1e('0xd0')]})[_0x8f1e('0x35')](function(_0x37e4e1){return _0x37e4e1;});}})[_0x8f1e('0x35')](function(_0x2cf83a){return respondWithRpcPromise('AbandonInteraction','abandon',_0x3e45ad[_0x8f1e('0x7b')],client9004);})['then'](respondWithResult(_0x8433e1,null))[_0x8f1e('0x29')](handleError(_0x8433e1,null));};exports[_0x8f1e('0xd1')]=function(_0x5ccaa5,_0x2e3eda,_0x382313){_0x5ccaa5[_0x8f1e('0x7b')][_0x8f1e('0x38')]=_0x5ccaa5[_0x8f1e('0xd2')]['originalname'];_0x5ccaa5[_0x8f1e('0x7b')][_0x8f1e('0xd3')]=_0x5ccaa5[_0x8f1e('0xd2')][_0x8f1e('0xd4')];_0x5ccaa5[_0x8f1e('0x7b')][_0x8f1e('0x42')]=_0x5ccaa5['file'][_0x8f1e('0xd5')];return db[_0x8f1e('0xd6')][_0x8f1e('0xc0')](_0x5ccaa5[_0x8f1e('0x7b')])[_0x8f1e('0x35')](respondWithResult(_0x2e3eda,0xc9))[_0x8f1e('0x29')](handleError(_0x2e3eda,null));};exports[_0x8f1e('0xd7')]=function(_0x52f21c,_0x2858f4,_0x2f47e4){return db['ChatInteraction'][_0x8f1e('0xc2')]({'where':{'id':_0x52f21c[_0x8f1e('0xbd')]['id']},'raw':!![]})[_0x8f1e('0x35')](handleEntityNotFound(_0x2858f4,null))['then'](function(_0x28e418){if(_0x28e418){if(_0x28e418['closed']){return _0x2858f4[_0x8f1e('0x2b')](0x193)[_0x8f1e('0x2d')]({'status':0x193,'message':_0x8f1e('0xd8')});}return db[_0x8f1e('0xd6')][_0x8f1e('0xc2')]({'where':{'id':_0x52f21c['query'][_0x8f1e('0xd9')]},'raw':!![]})['then'](handleEntityNotFound(_0x2858f4,null));}})['then'](function(_0x5e41d8){if(_0x5e41d8){return _0x2858f4[_0x8f1e('0xda')](path[_0x8f1e('0xdb')](config[_0x8f1e('0xdc')],_0x8f1e('0xdd'),_0x5e41d8[_0x8f1e('0xd3')]));}})['catch'](handleError(_0x2858f4,null));};exports['close']=function(_0x1be7e9,_0x3e759c){var _0x503be4=null;var _0xc5d551=null;var _0x1288f8=null;var _0x454852=null;if(_0x1be7e9[_0x8f1e('0x7b')]['id']){delete _0x1be7e9[_0x8f1e('0x7b')]['id'];}if(_0x1be7e9[_0x8f1e('0x7b')][_0x8f1e('0xde')]){_0x454852=path['join'](config[_0x8f1e('0xdc')],_0x8f1e('0xdf'),util[_0x8f1e('0xe0')](_0x8f1e('0xe1'),Date[_0x8f1e('0xe2')]()));_0x1be7e9[_0x8f1e('0x7b')][_0x8f1e('0xe3')]=_0x454852;}return db['ChatInteraction'][_0x8f1e('0x70')]({'where':{'id':_0x1be7e9[_0x8f1e('0xbd')]['id']},'include':[{'model':db[_0x8f1e('0xc9')],'as':_0x8f1e('0xe4'),'include':[{'model':db['User'],'as':_0x8f1e('0x77')}]}]})[_0x8f1e('0x35')](handleEntityNotFound(_0x3e759c,null))['then'](saveUpdates(_0x1be7e9[_0x8f1e('0x7b')],null))[_0x8f1e('0x35')](function(_0xef35ea){if(_0xef35ea){_0x503be4=_0xef35ea;return db['ChatWebsite'][_0x8f1e('0x70')]({'where':{'id':_0x503be4[_0x8f1e('0x7e')]}});}})[_0x8f1e('0x35')](function(_0x70b47c){if(_0x70b47c){_0x1288f8=_0x70b47c;return db['CmContact'][_0x8f1e('0x70')]({'where':{'id':_0x503be4[_0x8f1e('0x71')]}});}})[_0x8f1e('0x35')](function(_0x45eb69){if(_0x45eb69){_0xc5d551=_0x45eb69;if(_0x454852){var _0x5ebc5c=null;for(var _0x36c035=0x1;_0x36c035<_0x503be4[_0x8f1e('0xe4')][_0x8f1e('0x49')];++_0x36c035){_0x5ebc5c=_0x503be4[_0x8f1e('0xe4')][_0x36c035];var _0x393b27=_0x5ebc5c['UserId']?util[_0x8f1e('0xe0')](_0x8f1e('0xe5'),_0x1288f8['agentAlias'],_0x5ebc5c[_0x8f1e('0x7a')]):_0x8f1e('0xe6');var _0x4fae2f=_0x1be7e9['body'][_0x8f1e('0xe7')]||util[_0x8f1e('0xe0')]('%s%d',_0x8f1e('0xe8'),_0x5ebc5c['ContactId']);switch(_0x1288f8[_0x8f1e('0xe9')]){case _0x8f1e('0xea'):_0x393b27=_0x5ebc5c[_0x8f1e('0x7a')]?util[_0x8f1e('0xe0')](_0x8f1e('0xe5'),_0x1288f8[_0x8f1e('0xeb')],_0x5ebc5c['UserId']):_0x8f1e('0xe6');break;case _0x8f1e('0xec'):_0x393b27=_0x5ebc5c['UserId']?_0x5ebc5c[_0x8f1e('0x77')][_0x8f1e('0xed')]||_0x5ebc5c[_0x8f1e('0x77')][_0x8f1e('0xee')]:_0x8f1e('0xe6');break;case'agent_fullname':_0x393b27=_0x5ebc5c[_0x8f1e('0x7a')]?_0x5ebc5c[_0x8f1e('0x77')][_0x8f1e('0xee')]:_0x8f1e('0xe6');break;default:_0x393b27=_0x5ebc5c[_0x8f1e('0x7a')]?util[_0x8f1e('0xe0')](_0x8f1e('0xe5'),_0x1288f8[_0x8f1e('0xeb')],_0x5ebc5c[_0x8f1e('0x7a')]):_0x8f1e('0xe6');}var _0xab3f79=util['format'](_0x8f1e('0xef'),moment(_0x5ebc5c[_0x8f1e('0x81')])['format'](_0x8f1e('0xf0')),_0x5ebc5c[_0x8f1e('0xf1')]==='in'?_0x4fae2f:_0x393b27,_0x5ebc5c[_0x8f1e('0x7b')]);if(!_0x5ebc5c['secret']){fs[_0x8f1e('0xf2')](_0x454852,_0xab3f79);}}return db['MailAccount'][_0x8f1e('0xc2')]({'where':{'service':!![]},'include':[{'model':db[_0x8f1e('0xf3')],'as':'Smtp','raw':!![]}]});}}})[_0x8f1e('0x35')](function(_0x5b7bc1){if(_0x5b7bc1&&_0x5b7bc1[_0x8f1e('0xf4')]&&_0x1be7e9[_0x8f1e('0x7b')]){var _0xaa0743={'tls':{'rejectUnauthorized':![]}};if(_0x5b7bc1[_0x8f1e('0xf4')]['service']){_0xaa0743[_0x8f1e('0xf5')]=_0x5b7bc1['Smtp'][_0x8f1e('0xf5')];}else{_0xaa0743[_0x8f1e('0xf6')]=_0x5b7bc1[_0x8f1e('0xf4')][_0x8f1e('0xf6')];_0xaa0743[_0x8f1e('0xf7')]=_0x5b7bc1['Smtp'][_0x8f1e('0xf7')];_0xaa0743[_0x8f1e('0xf8')]=_0x5b7bc1[_0x8f1e('0xf4')][_0x8f1e('0xf8')];}if(_0x5b7bc1[_0x8f1e('0xf4')]['authentication']){_0xaa0743[_0x8f1e('0xf9')]={'user':_0x5b7bc1[_0x8f1e('0xf4')][_0x8f1e('0x9e')],'pass':_0x5b7bc1[_0x8f1e('0xf4')]['pass']};}return respondWithRpcPromise('SendMail',_0x8f1e('0xfa'),{'account':_0xaa0743,'message':{'from':util['format'](_0x8f1e('0xfb'),_0x5b7bc1[_0x8f1e('0x38')],_0x5b7bc1[_0x8f1e('0xfc')]||_0x5b7bc1['Smtp'][_0x8f1e('0x9e')]),'to':_0x1be7e9['body'][_0x8f1e('0xde')],'subject':_0x8f1e('0xfd'),'text':util[_0x8f1e('0xe0')](_0x8f1e('0xfe'),_0x1be7e9['body'][_0x8f1e('0xde')]),'attachments':[{'path':_0x454852}]}})[_0x8f1e('0x35')](function(){return _0x503be4;})[_0x8f1e('0x29')](function(_0xf1764){console[_0x8f1e('0x25')](_0xf1764);});}else{return _0x503be4;}})[_0x8f1e('0x35')](respondWithStatusCode(_0x3e759c,0xc8))[_0x8f1e('0x29')](handleError(_0x3e759c,null));};exports[_0x8f1e('0xff')]=function(_0x3c69c4,_0x348b70,_0x429671){return db[_0x8f1e('0xc9')]['find']({'where':{'id':_0x3c69c4[_0x8f1e('0xbd')]['id']}})[_0x8f1e('0x35')](handleEntityNotFound(_0x348b70,null))[_0x8f1e('0x35')](function(_0x399c55){if(_0x399c55){return _0x399c55[_0x8f1e('0xff')](_0x3c69c4[_0x8f1e('0x7b')]['ids'],_[_0x8f1e('0x100')](_0x3c69c4[_0x8f1e('0x7b')],[_0x8f1e('0x101'),'id'])||{});}})[_0x8f1e('0x35')](respondWithResult(_0x348b70,null))[_0x8f1e('0x29')](handleError(_0x348b70,null));};exports['getMessages']=function(_0x3ddfc2,_0x16856f,_0x22cc22){var _0x440e18={'raw':![],'where':{}};var _0x12c488={};var _0x2df383={'count':0x0,'rows':[]};return db[_0x8f1e('0x3f')]['findOne']({'where':{'id':_0x3ddfc2[_0x8f1e('0xbd')]['id']}})[_0x8f1e('0x35')](handleEntityNotFound(_0x16856f,null))[_0x8f1e('0x35')](function(_0x95ac61){if(_0x95ac61){_0x12c488['model']=_[_0x8f1e('0x7c')](db[_0x8f1e('0xc9')][_0x8f1e('0x40')]);_0x12c488['query']=_['keys'](_0x3ddfc2[_0x8f1e('0x43')]);_0x12c488[_0x8f1e('0x44')]=_[_0x8f1e('0x45')](_0x12c488['model'],_0x12c488[_0x8f1e('0x43')]);_0x440e18[_0x8f1e('0x46')]=_[_0x8f1e('0x45')](_0x12c488[_0x8f1e('0x47')],qs[_0x8f1e('0x48')](_0x3ddfc2[_0x8f1e('0x43')][_0x8f1e('0x48')]));_0x440e18[_0x8f1e('0x46')]=_0x440e18[_0x8f1e('0x46')][_0x8f1e('0x49')]?_0x440e18['attributes']:_0x12c488['model'];if(!_0x3ddfc2['query']['hasOwnProperty'](_0x8f1e('0x102'))){_0x440e18['limit']=qs['limit'](_0x3ddfc2['query'][_0x8f1e('0x30')]);_0x440e18[_0x8f1e('0x2f')]=qs[_0x8f1e('0x2f')](_0x3ddfc2[_0x8f1e('0x43')][_0x8f1e('0x2f')]);}_0x440e18['order']=qs[_0x8f1e('0x4c')](_0x3ddfc2[_0x8f1e('0x43')][_0x8f1e('0x4c')]);_0x440e18[_0x8f1e('0x4d')]=qs['filters'](_['pick'](_0x3ddfc2[_0x8f1e('0x43')],_0x12c488[_0x8f1e('0x44')]));_0x440e18[_0x8f1e('0x4d')][_0x8f1e('0xb9')]=_0x95ac61['id'];if(_0x3ddfc2[_0x8f1e('0x43')][_0x8f1e('0x8b')]){_0x440e18[_0x8f1e('0x4d')]=_[_0x8f1e('0xa5')](_0x440e18[_0x8f1e('0x4d')],{'$or':_[_0x8f1e('0x39')](_0x440e18[_0x8f1e('0x46')],function(_0xa5c658){var _0x4fd099={};_0x4fd099[_0xa5c658]={'$like':'%'+_0x3ddfc2[_0x8f1e('0x43')][_0x8f1e('0x8b')]+'%'};return _0x4fd099;})});}if(_0x3ddfc2[_0x8f1e('0x43')][_0x8f1e('0x82')]){var _0x23c8f7=_0x3ddfc2['query']['$gte'][_0x8f1e('0x3c')](',');var _0x4d40b0={};_0x4d40b0[_0x23c8f7[0x0]]={'$gte':moment(_0x23c8f7[0x1])[_0x8f1e('0xe0')]('YYYY-MM-DD\x20HH:mm:ss')};_0x440e18['where']=_[_0x8f1e('0xa5')](_0x440e18[_0x8f1e('0x4d')],_0x4d40b0);}_0x440e18=_[_0x8f1e('0xa5')]({},_0x440e18,_0x3ddfc2[_0x8f1e('0xbf')]);return db[_0x8f1e('0xc9')][_0x8f1e('0x2e')]({'where':_0x440e18['where']})[_0x8f1e('0x35')](function(_0x8fd866){_0x2df383[_0x8f1e('0x2e')]=_0x8fd866;if(_0x3ddfc2['query']['includeAll']){_0x440e18[_0x8f1e('0x103')]=[{'all':!![]}];}return db['ChatMessage'][_0x8f1e('0x104')](_0x440e18);})[_0x8f1e('0x35')](function(_0x1433ab){_0x2df383[_0x8f1e('0xbb')]=_0x1433ab;return _0x2df383;});}})[_0x8f1e('0x35')](respondWithFilteredResult(_0x16856f,_0x440e18))['catch'](handleError(_0x16856f,null));};exports[_0x8f1e('0x105')]=function(_0x313d5f,_0xbf650f,_0x395161){var _0x338fad={'where':{}},_0x5a6fca={},_0x5dd27e={'count':0x0,'rows':[]};return db[_0x8f1e('0x3f')]['findOne']({'where':{'id':_0x313d5f[_0x8f1e('0xbd')]['id']}})[_0x8f1e('0x35')](handleEntityNotFound(_0xbf650f,null))[_0x8f1e('0x35')](function(_0x16c8bd){if(_0x16c8bd){_0x5a6fca[_0x8f1e('0x47')]=_['keys'](db['ChatMessage']['rawAttributes']);_0x5a6fca[_0x8f1e('0x43')]=_[_0x8f1e('0x7c')](_0x313d5f[_0x8f1e('0x43')]);_0x5a6fca[_0x8f1e('0x44')]=_['intersection'](_0x5a6fca['model'],_0x5a6fca['query']);_0x338fad[_0x8f1e('0x46')]=_[_0x8f1e('0x45')](_0x5a6fca[_0x8f1e('0x47')],qs[_0x8f1e('0x48')](_0x313d5f['query']['fields']));_0x338fad[_0x8f1e('0x46')]=_0x338fad[_0x8f1e('0x46')]['length']?_0x338fad['attributes']:_0x5a6fca[_0x8f1e('0x47')];if(!_0x313d5f['query']['hasOwnProperty']('nolimit')){_0x338fad[_0x8f1e('0x30')]=qs['limit'](_0x313d5f[_0x8f1e('0x43')][_0x8f1e('0x30')]);_0x338fad['offset']=qs[_0x8f1e('0x2f')](_0x313d5f[_0x8f1e('0x43')][_0x8f1e('0x2f')]);}_0x338fad[_0x8f1e('0x4b')]=qs[_0x8f1e('0x4c')](_0x313d5f['query'][_0x8f1e('0x4c')]);_0x338fad[_0x8f1e('0x4d')]=qs[_0x8f1e('0x44')](_[_0x8f1e('0x4e')](_0x313d5f['query'],_0x5a6fca['filters']));_0x338fad[_0x8f1e('0x4d')][_0x8f1e('0xb9')]=_0x16c8bd['id'];if(_0x313d5f[_0x8f1e('0x43')][_0x8f1e('0x8b')]){_0x338fad['where']=_[_0x8f1e('0xa5')](_0x338fad['where'],{'$or':_[_0x8f1e('0x39')](_0x338fad[_0x8f1e('0x46')],function(_0x2f5298){var _0x114956={};_0x114956[_0x2f5298]={'$like':'%'+_0x313d5f[_0x8f1e('0x43')][_0x8f1e('0x8b')]+'%'};return _0x114956;})});}_0x338fad[_0x8f1e('0x4d')][_0x8f1e('0x106')]=![];if(_0x313d5f['query']['id']){_0x338fad['where']['id']={'$gt':_0x313d5f['query']['id']};}_0x338fad=_[_0x8f1e('0xa5')]({},_0x338fad,_0x313d5f[_0x8f1e('0xbf')]);return db[_0x8f1e('0xc9')][_0x8f1e('0x2e')]({'where':_0x338fad[_0x8f1e('0x4d')]})[_0x8f1e('0x35')](function(_0x2abfee){_0x5dd27e[_0x8f1e('0x2e')]=_0x2abfee;_0x338fad[_0x8f1e('0x103')]=[];if(_0x313d5f[_0x8f1e('0x43')][_0x8f1e('0x107')]){_0x338fad[_0x8f1e('0x103')][_0x8f1e('0x3e')]({'model':db[_0x8f1e('0x77')],'as':_0x8f1e('0x77'),'attributes':['id',_0x8f1e('0xee'),'alias']});}if(_0x313d5f[_0x8f1e('0x43')][_0x8f1e('0xbe')]){_0x338fad[_0x8f1e('0x103')]=[{'all':!![]}];}return db['ChatMessage'][_0x8f1e('0x104')](_0x338fad);})[_0x8f1e('0x35')](function(_0x34e8bb){_0x5dd27e[_0x8f1e('0xbb')]=_0x34e8bb;return _0x5dd27e;});}})[_0x8f1e('0x35')](respondWithFilteredResult(_0xbf650f,_0x338fad))['catch'](handleError(_0xbf650f,null));};exports['addTags']=function(_0x488b5d,_0x31eedb,_0x2637d5){return db[_0x8f1e('0x3f')][_0x8f1e('0x70')]({'where':{'id':_0x488b5d[_0x8f1e('0xbd')]['id']}})[_0x8f1e('0x35')](handleEntityNotFound(_0x31eedb,null))['then'](function(_0x298af9){if(_0x298af9){return _0x298af9[_0x8f1e('0x108')](_0x488b5d[_0x8f1e('0x7b')]['ids'],_[_0x8f1e('0x100')](_0x488b5d[_0x8f1e('0x7b')],['ids','id'])||{})[_0x8f1e('0x109')](function(){return db['Tag'][_0x8f1e('0x104')]({'attributes':['id',_0x8f1e('0x38'),'color'],'where':{'id':_0x488b5d[_0x8f1e('0x7b')][_0x8f1e('0x101')]}});})[_0x8f1e('0x35')](function(_0x3491e8){socket['emit'](_0x8f1e('0x10a'),{'id':Number(_0x488b5d['params']['id']),'tags':_0x3491e8||[]});return{'id':Number(_0x488b5d[_0x8f1e('0xbd')]['id']),'tags':_0x3491e8||[]};});}})['then'](respondWithResult(_0x31eedb,null))[_0x8f1e('0x29')](handleError(_0x31eedb,null));};exports[_0x8f1e('0x10b')]=function(_0x56fde5,_0x3dadcb,_0x2ff639){return db[_0x8f1e('0x3f')]['find']({'where':{'id':_0x56fde5[_0x8f1e('0xbd')]['id']}})[_0x8f1e('0x35')](handleEntityNotFound(_0x3dadcb,null))[_0x8f1e('0x35')](function(_0x697588){if(_0x697588){return _0x697588[_0x8f1e('0x10b')](_0x56fde5['query'][_0x8f1e('0x101')]);}})[_0x8f1e('0x35')](respondWithStatusCode(_0x3dadcb,null))[_0x8f1e('0x29')](handleError(_0x3dadcb,null));};exports[_0x8f1e('0xda')]=function(_0xa3aa1,_0x2d0124){var _0x423f1d=moment()[_0x8f1e('0x10c')]()[_0x8f1e('0xa3')]();var _0x2f5b76=path[_0x8f1e('0xdb')](config[_0x8f1e('0xdc')],_0x8f1e('0x10d'),_0x8f1e('0x10e'),_0x8f1e('0x10f'));var _0x50a2af=path['join'](config['root'],_0x8f1e('0x10d'),_0x8f1e('0x10e'),'attachments');var _0xf3aa87=path[_0x8f1e('0xdb')](_0x2f5b76,_0x423f1d);var _0x184de3=util[_0x8f1e('0xe0')]('transcript-%d-%s.zip',_0xa3aa1[_0x8f1e('0xbd')]['id'],_0x423f1d);var _0x37eaf0=path['join'](_0x2f5b76,_0x184de3);var _0x53d882=[];_0x53d882[_0x8f1e('0x3e')]({'model':db[_0x8f1e('0x77')],'as':_0x8f1e('0x77'),'attributes':['id',_0x8f1e('0xee')],'raw':!![]});_0x53d882['push']({'model':db['CmContact'],'as':_0x8f1e('0x6c'),'attributes':['id',_0x8f1e('0x110'),_0x8f1e('0x111')],'raw':!![]});if(_0xa3aa1[_0x8f1e('0x43')][_0x8f1e('0x112')]){_0x53d882[_0x8f1e('0x3e')]({'model':db[_0x8f1e('0xd6')],'as':_0x8f1e('0xd6'),'raw':!![]});}var _0x3a25c6=[{'model':db['ChatMessage'],'as':_0x8f1e('0xe4'),'attributes':['id',_0x8f1e('0x7b'),_0x8f1e('0x81'),_0x8f1e('0xf1'),_0x8f1e('0x106'),'read'],'include':_0x53d882}];_0x3a25c6[_0x8f1e('0x3e')]({'model':db[_0x8f1e('0xc3')],'as':_0x8f1e('0x113'),'attributes':['id','name']});_0x3a25c6[_0x8f1e('0x3e')]({'model':db[_0x8f1e('0x77')],'as':'Owner','attributes':['id',_0x8f1e('0xee')]});return db[_0x8f1e('0x3f')][_0x8f1e('0x70')]({'where':{'id':_0xa3aa1[_0x8f1e('0xbd')]['id']},'include':_0x3a25c6})['then'](handleEntityNotFound(_0x2d0124,null))[_0x8f1e('0x35')](function(_0x365ad2){if(_0x365ad2){var _0x422603=_0x365ad2['get']({'plain':!![]});fs['mkdirSync'](_0xf3aa87);var _0x2c2126={'format':'A4','border':_0x8f1e('0x114'),'header':{'height':'40px','contents':{'first':_0x8f1e('0x115')}},'footer':{'height':_0x8f1e('0x116'),'contents':{'default':util[_0x8f1e('0xe0')](_0x8f1e('0x117'),util[_0x8f1e('0xe0')](_0x8f1e('0x118'),_0x8f1e('0x119'),_0x422603['id']),moment()[_0x8f1e('0xe0')](_0x8f1e('0x11a'))[_0x8f1e('0xa3')]())}}};var _0x4fa446={'channel':_0x8f1e('0x119'),'account':_0x422603[_0x8f1e('0x113')]['name'],'agent':_0x422603['Owner']?_0x422603[_0x8f1e('0x11b')][_0x8f1e('0xee')]:'N.A.','createdAt':moment(_0x422603[_0x8f1e('0x81')])[_0x8f1e('0xe0')](_0x8f1e('0x11c'))[_0x8f1e('0xa3')](),'closedAt':_0x422603[_0x8f1e('0xcf')]?moment(_0x422603[_0x8f1e('0x11d')])[_0x8f1e('0xe0')](_0x8f1e('0x11c'))[_0x8f1e('0xa3')]():'','disposition':_0x422603[_0x8f1e('0xd0')],'chatInfo':{'browser':_0x422603['browserName'],'os':_0x422603[_0x8f1e('0x11e')],'referer':_0x422603['referer'],'customerIp':_0x422603[_0x8f1e('0x11f')],'customerPort':_0x422603[_0x8f1e('0x120')]?_0x422603[_0x8f1e('0x120')]:'N.A.'},'messages':_(_0x422603[_0x8f1e('0xe4')])[_0x8f1e('0x121')]()[_0x8f1e('0x8b')]({'secret':![]})[_0x8f1e('0x39')](function(_0x2fca15){if(_0x2fca15[_0x8f1e('0xd6')]){var _0x324ff9=path[_0x8f1e('0xdb')](_0x50a2af,_0x2fca15[_0x8f1e('0xd6')][_0x8f1e('0xd3')]);if(fs[_0x8f1e('0x122')](_0x324ff9)){fs[_0x8f1e('0x123')](_0x324ff9)[_0x8f1e('0x124')](fs[_0x8f1e('0x125')](path['join'](_0xf3aa87,_0x2fca15[_0x8f1e('0xd6')][_0x8f1e('0xd3')])));}}return{'date':moment(_0x2fca15[_0x8f1e('0x81')])[_0x8f1e('0xe0')](_0x8f1e('0x11c'))['toString'](),'sender':_0x2fca15[_0x8f1e('0xf1')]==='out'?_0x2fca15[_0x8f1e('0x77')]?_0x2fca15[_0x8f1e('0x77')][_0x8f1e('0xee')]:_0x8f1e('0xe6'):_0x2fca15[_0x8f1e('0x6c')][_0x8f1e('0x110')]+(_0x2fca15['Contact']['lastName']?'\x20'+_0x2fca15[_0x8f1e('0x6c')][_0x8f1e('0x111')]:''),'body':_0x2fca15[_0x8f1e('0xd6')]?_0x2fca15[_0x8f1e('0xd6')][_0x8f1e('0xd3')]:_0x2fca15['body'],'direction':_0x2fca15[_0x8f1e('0xf1')]==='out'?'A':'C','secret':_0x2fca15[_0x8f1e('0x106')],'read':_0x2fca15[_0x8f1e('0x88')],'attachment':_0x2fca15[_0x8f1e('0xd6')]};})[_0x8f1e('0x69')]()};return ejs[_0x8f1e('0x126')](path[_0x8f1e('0xdb')](config[_0x8f1e('0xdc')],'server',_0x8f1e('0x127'),'downloadInteraction.html'),{'interaction':_0x4fa446})[_0x8f1e('0x35')](function(_0x44dd40){return new BPromise(function(_0x40bf80,_0x197472){pdf[_0x8f1e('0xc0')](_0x44dd40,_0x2c2126)['toFile'](path[_0x8f1e('0xdb')](_0xf3aa87,'transcript-'+_0x422603['id']+'-'+_0x423f1d+'.pdf'),function(_0x5683cc,_0x5c5fc9){if(_0x5683cc)return _0x197472(_0x5683cc);_0x40bf80(_0x5c5fc9);});});})[_0x8f1e('0x35')](function(){return new BPromise(function(_0x34b9a1,_0x2dd753){zipdir(_0xf3aa87,{'saveTo':_0x37eaf0},function(_0x3370d2,_0x40eeec){if(_0x3370d2)return _0x2dd753(_0x3370d2);return _0x34b9a1(_0x40eeec);});})[_0x8f1e('0x35')](function(){return new BPromise(function(_0x457373,_0x431b15){rimraf(_0xf3aa87,function(_0x3f24e8){if(_0x3f24e8)_0x431b15(_0x3f24e8);return _0x457373();});});})[_0x8f1e('0x35')](function(){return _0x2d0124[_0x8f1e('0xda')](_0x37eaf0,_0x184de3,function(_0x1f4d83){if(_0x1f4d83){console[_0x8f1e('0x128')](_0x8f1e('0x129'),_0x1f4d83);}else{fs['unlinkSync'](_0x37eaf0);}});});});}else{return _0x2d0124[_0x8f1e('0x2a')](0xc8);}})[_0x8f1e('0x29')](handleError(_0x2d0124,null));};