Built motion from commit ddca4d0d.|2.5.47
[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 _0xc8ea=['CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','text','some','compact','isEmpty','ChatWebsiteId','where','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','QueryTypes','clone','i.id','unreadMessages','DESC','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','toString','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','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','contactName','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','c.fax','o.fullname','Owner.fullname','Owner.internal','sequelize','ui.ChatInteractionId\x20IN\x20?','groupBy','all','rows','params','create','describe','createVidaooSession','findOne','ChatWebsite','vidaooEscalation','vidaooTopic','vidaooNote','vidaooMetadata','contact','POST','https://api-vidaoo.xcally.com/api/v1/meetings','vidaooApiKey','email','isNull','follow','Sequelize','ValidationError','Error\x20in\x20conversion\x20vidaooMetadata','Error\x20in\x20Vidaoo\x20configuration','out','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','CmContact','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','sendStatus','Interaction\x20already\x20assigned','AbandonInteraction','attachmentUpload','file','originalname','basename','filename','mimetype','Attachment','attachmentDownload','attachId','ChatOfflineMessageId','join','offline-chat/','download','mailTranscript','root','server/files/chat/upload/','format','pathTranscript','ChatMessage','Messages','agentAlias','System','customer','agentIdentifier','website_alias','%s%d','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','authentication','auth','pass','SendMail','sendMail','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','omit','ids','ChatInteractionId','filter','YYYY-MM-DD\x20HH:mm:ss','options','includeAll','findAll','nolimit','includeAgent','include','spread','emit','chatInteractionTags:save','removeTags','unix','server','files','tmp','attachments','firstName','lastName','read','Account','Owner','get','mkdirSync','N.A.','closedAt','browserName','referer','customerIp','customerPort','tail','existsSync','createWriteStream','renderFile','views','downloadInteraction.ejs','transcript-','Chat','createPdfFromHTML','log','err','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','client','http','request','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','status','end','limit','undefined','count','offset','set','Content-Range','json','apply','reject','save','update','then','destroy','stack','send','render','merge','body','agent','interaction','map','fullname','TagIds','Tags','split','push','catch','waiting','talking','answered','unmanaged','abandoned','total','closed','UserId','disposition','index','ChatInteraction','rawAttributes','fieldName','type','key','model','name','query','keys','attributes','intersection','fields','length','hasOwnProperty','order','sort','filters','pick','select','field','color','from','tools_tags','u.fullname','ui.ChatInteractionId','left_join','users','u.id\x20=\x20ui.UserId','chat_interactions','cm_contacts','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','it.ChatInteractionId\x20=\x20i.id','expr','search','sqlOperator','conditions','find','value','having','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','start','Tag','forEach'];(function(_0x167b1b,_0x579424){var _0x4cc45f=function(_0x575f85){while(--_0x575f85){_0x167b1b['push'](_0x167b1b['shift']());}};_0x4cc45f(++_0x579424);}(_0xc8ea,0xbb));var _0xac8e=function(_0x187ee1,_0x3fd1e6){_0x187ee1=_0x187ee1-0x0;var _0x388160=_0xc8ea[_0x187ee1];return _0x388160;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xac8e('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xac8e('0x1'));var rp=require(_0xac8e('0x2'));var moment=require(_0xac8e('0x3'));var BPromise=require(_0xac8e('0x4'));var Mustache=require(_0xac8e('0x5'));var util=require(_0xac8e('0x6'));var path=require('path');var sox=require(_0xac8e('0x7'));var csv=require(_0xac8e('0x8'));var ejs=require(_0xac8e('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xac8e('0xa'));var squel=require('squel');var crypto=require(_0xac8e('0xb'));var jsforce=require(_0xac8e('0xc'));var deskjs=require(_0xac8e('0xd'));var toCsv=require('to-csv');var querystring=require(_0xac8e('0xe'));var Papa=require(_0xac8e('0xf'));var Redis=require(_0xac8e('0x10'));var authService=require(_0xac8e('0x11'));var qs=require(_0xac8e('0x12'));var as=require(_0xac8e('0x13'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0xac8e('0x14'));var logger=require(_0xac8e('0x15'))(_0xac8e('0x16'));var utils=require(_0xac8e('0x17'));var config=require(_0xac8e('0x18'));var licenseUtil=require(_0xac8e('0x19'));var db=require(_0xac8e('0x1a'))['db'];config[_0xac8e('0x1b')]=_[_0xac8e('0x1c')](config[_0xac8e('0x1b')],{'host':_0xac8e('0x1d'),'port':0x18eb});var socket=require(_0xac8e('0x1e'))(new Redis(config[_0xac8e('0x1b')]));require(_0xac8e('0x1f'))['register'](socket);var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232b});var client9004=jayson[_0xac8e('0x20')][_0xac8e('0x21')]({'port':0x232c});function respondWithRpcPromise(_0x14e975,_0x2837d0,_0x179cf2,_0x274849){return new BPromise(function(_0x14a038,_0x28449e){var _0x22f76e=_0x274849||client;return _0x22f76e[_0xac8e('0x22')](_0x14e975,_0x179cf2)['then'](function(_0x42f2fa){logger[_0xac8e('0x23')](_0xac8e('0x24'),_0x2837d0,_0xac8e('0x25'));logger[_0xac8e('0x26')](_0xac8e('0x27'),_0x2837d0,_0xac8e('0x25'),JSON[_0xac8e('0x28')](_0x42f2fa));if(_0x42f2fa[_0xac8e('0x29')]){if(_0x42f2fa[_0xac8e('0x29')][_0xac8e('0x2a')]===0x1f4){logger[_0xac8e('0x29')](_0xac8e('0x24'),_0x2837d0,_0x42f2fa[_0xac8e('0x29')][_0xac8e('0x2b')]);return _0x28449e(_0x42f2fa['error']['message']);}logger[_0xac8e('0x29')](_0xac8e('0x24'),_0x2837d0,_0x42f2fa[_0xac8e('0x29')][_0xac8e('0x2b')]);return _0x14a038(_0x42f2fa[_0xac8e('0x29')]['message']);}else{logger[_0xac8e('0x23')](_0xac8e('0x24'),_0x2837d0,_0xac8e('0x25'));_0x14a038(_0x42f2fa[_0xac8e('0x2c')][_0xac8e('0x2b')]);}})['catch'](function(_0x3a1a10){logger['error'](_0xac8e('0x24'),_0x2837d0,_0x3a1a10);_0x28449e(_0x3a1a10);});});}function respondWithStatusCode(_0x285f51,_0xee9f44){_0xee9f44=_0xee9f44||0xcc;return function(_0x4ccfc0){if(_0x4ccfc0){return _0x285f51['sendStatus'](_0xee9f44);}return _0x285f51[_0xac8e('0x2d')](_0xee9f44)[_0xac8e('0x2e')]();};}function respondWithResult(_0x291c8a,_0x5a5ba3){_0x5a5ba3=_0x5a5ba3||0xc8;return function(_0x1fff63){if(_0x1fff63){return _0x291c8a[_0xac8e('0x2d')](_0x5a5ba3)['json'](_0x1fff63);}};}function respondWithFilteredResult(_0x466775,_0x53b896){return function(_0x37b508){if(_0x37b508){var _0x36ade7=typeof _0x53b896['offset']==='undefined'&&typeof _0x53b896[_0xac8e('0x2f')]===_0xac8e('0x30');var _0x2340c5=_0x37b508[_0xac8e('0x31')];var _0x2591b2=_0x36ade7?0x0:_0x53b896[_0xac8e('0x32')];var _0x500439=_0x36ade7?_0x37b508[_0xac8e('0x31')]:_0x53b896['offset']+_0x53b896['limit'];var _0x53cf7b;if(_0x500439>=_0x2340c5){_0x500439=_0x2340c5;_0x53cf7b=0xc8;}else{_0x53cf7b=0xce;}_0x466775['status'](_0x53cf7b);return _0x466775[_0xac8e('0x33')](_0xac8e('0x34'),_0x2591b2+'-'+_0x500439+'/'+_0x2340c5)[_0xac8e('0x35')](_0x37b508);}return null;};}function patchUpdates(_0x594acc){return function(_0x30b512){try{jsonpatch[_0xac8e('0x36')](_0x30b512,_0x594acc,!![]);}catch(_0x7c9042){return BPromise[_0xac8e('0x37')](_0x7c9042);}return _0x30b512[_0xac8e('0x38')]();};}function saveUpdates(_0x4f3924,_0x2995fb){return function(_0x3eefda){if(_0x3eefda){return _0x3eefda[_0xac8e('0x39')](_0x4f3924)[_0xac8e('0x3a')](function(_0x5a1440){return _0x5a1440;});}return null;};}function removeEntity(_0x5d430b,_0x28aeb4){return function(_0x2ec3e1){if(_0x2ec3e1){return _0x2ec3e1[_0xac8e('0x3b')]()[_0xac8e('0x3a')](function(){_0x5d430b['status'](0xcc)[_0xac8e('0x2e')]();});}};}function handleEntityNotFound(_0x3df669,_0x4af50a){return function(_0x1c4e8c){if(!_0x1c4e8c){_0x3df669['sendStatus'](0x194);}return _0x1c4e8c;};}function handleError(_0x2bda66,_0x478466){_0x478466=_0x478466||0x1f4;return function(_0x3bc614){logger[_0xac8e('0x29')](_0x3bc614[_0xac8e('0x3c')]);if(_0x3bc614['name']){delete _0x3bc614['name'];}_0x2bda66['status'](_0x478466)[_0xac8e('0x3d')](_0x3bc614);};}function getMustacheRender(_0x302dfa,_0x171800){return Mustache[_0xac8e('0x3e')](_0x302dfa,_[_0xac8e('0x3f')](_0x171800[_0xac8e('0x40')],{'contact':_0x171800['contact'],'message':_0x171800[_0xac8e('0x2b')],'agent':_0x171800[_0xac8e('0x41')],'interaction':_0x171800[_0xac8e('0x42')],'account':_0x171800['account']}))||'';}function getInteractionUsers(_0x396ad2,_0xefb197){return new BPromise(function(_0x4b338a,_0x136403){try{if(_0xefb197[_0x396ad2['id']]){_0x396ad2['Users']=_[_0xac8e('0x43')](_0xefb197[_0x396ad2['id']],function(_0x43be90){return{'id':_0x43be90['id'],'fullname':_0x43be90[_0xac8e('0x44')]};});}}catch(_0x1dca58){_0x136403(_0x1dca58);}_0x4b338a(_0x396ad2);});}function getInteractionTags(_0x29723b,_0x1f3289){return new BPromise(function(_0x50eac5,_0x5ba030){try{if(_0x29723b[_0xac8e('0x45')]){_0x29723b[_0xac8e('0x46')]=[];_0x29723b[_0xac8e('0x45')][_0xac8e('0x47')](',')['forEach'](function(_0x54bf6f){_0x29723b[_0xac8e('0x46')][_0xac8e('0x48')](_0x1f3289[_0x54bf6f]);});}delete _0x29723b[_0xac8e('0x45')];}catch(_0x48f1ff){_0x5ba030(_0x48f1ff);}_0x50eac5(_0x29723b);});}function updateChatInteraction(_0x11b94f,_0x3f89d7,_0x1af24f){return new BPromise(function(_0x3cb8b6,_0x3c8a0f){return getInteractionUsers(_0x11b94f,_0x1af24f)[_0xac8e('0x3a')](function(_0x20f2a0){return getInteractionTags(_0x20f2a0,_0x3f89d7);})[_0xac8e('0x3a')](function(_0x1f8191){return getStateInteraction(_0x1f8191);})['then'](function(_0x4fccc8){_0x3cb8b6(_0x4fccc8);})[_0xac8e('0x49')](function(_0x38b776){_0x3c8a0f(_0x38b776);});});}function getStateInteraction(_0x15d5c7){return new BPromise(function(_0x36c9da){_0x15d5c7[_0xac8e('0x4a')]=0x0;_0x15d5c7[_0xac8e('0x4b')]=0x0;_0x15d5c7[_0xac8e('0x4c')]=0x0;_0x15d5c7[_0xac8e('0x4d')]=0x0;_0x15d5c7[_0xac8e('0x4e')]=0x0;_0x15d5c7[_0xac8e('0x4f')]=0x0;if(!_0x15d5c7[_0xac8e('0x50')]&&!_0x15d5c7[_0xac8e('0x51')]){_0x15d5c7['waiting']+=0x1;}if(!_0x15d5c7[_0xac8e('0x50')]&&_0x15d5c7[_0xac8e('0x51')]){_0x15d5c7[_0xac8e('0x4b')]+=0x1;if(_0x15d5c7['waiting']){_0x15d5c7[_0xac8e('0x4a')]-=0x1;}}if(_0x15d5c7[_0xac8e('0x50')]&&_0x15d5c7['disposition']===_0xac8e('0x4e')){_0x15d5c7[_0xac8e('0x4e')]+=0x1;if(_0x15d5c7[_0xac8e('0x4a')]){_0x15d5c7[_0xac8e('0x4a')]-=0x1;}}else if(_0x15d5c7['closed']&&!_0x15d5c7[_0xac8e('0x51')]&&_0x15d5c7[_0xac8e('0x52')]){_0x15d5c7[_0xac8e('0x4d')]+=0x1;if(_0x15d5c7['waiting']){_0x15d5c7[_0xac8e('0x4a')]-=0x1;}}else if(_0x15d5c7[_0xac8e('0x50')]&&_0x15d5c7[_0xac8e('0x51')]){_0x15d5c7['answered']+=0x1;if(_0x15d5c7[_0xac8e('0x4b')]){_0x15d5c7[_0xac8e('0x4b')]-=0x1;}}_0x15d5c7[_0xac8e('0x4f')]+=0x1;_0x36c9da(_0x15d5c7);});}exports[_0xac8e('0x53')]=function(_0x4ba727,_0x1b2258){var _0x3de622={},_0x2bca0d={},_0x137e2d={'count':0x0,'rows':[]};var _0x54bf92=_[_0xac8e('0x43')](db[_0xac8e('0x54')][_0xac8e('0x55')],function(_0x355f15){return{'name':_0x355f15[_0xac8e('0x56')],'type':_0x355f15[_0xac8e('0x57')][_0xac8e('0x58')]};});_0x2bca0d[_0xac8e('0x59')]=_[_0xac8e('0x43')](_0x54bf92,_0xac8e('0x5a'));_0x2bca0d[_0xac8e('0x5b')]=_[_0xac8e('0x5c')](_0x4ba727['query']);_0x2bca0d['filters']=_['intersection'](_0x2bca0d[_0xac8e('0x59')],_0x2bca0d[_0xac8e('0x5b')]);_0x3de622[_0xac8e('0x5d')]=_[_0xac8e('0x5e')](_0x2bca0d[_0xac8e('0x59')],qs[_0xac8e('0x5f')](_0x4ba727['query']['fields']));_0x3de622['attributes']=_0x3de622[_0xac8e('0x5d')][_0xac8e('0x60')]?_0x3de622[_0xac8e('0x5d')]:_0x2bca0d[_0xac8e('0x59')];if(!_0x4ba727[_0xac8e('0x5b')][_0xac8e('0x61')]('nolimit')){_0x3de622[_0xac8e('0x2f')]=qs[_0xac8e('0x2f')](_0x4ba727[_0xac8e('0x5b')][_0xac8e('0x2f')]);_0x3de622['offset']=qs[_0xac8e('0x32')](_0x4ba727[_0xac8e('0x5b')][_0xac8e('0x32')]);}_0x3de622[_0xac8e('0x62')]=qs[_0xac8e('0x63')](_0x4ba727['query'][_0xac8e('0x63')]);_0x3de622['where']=qs[_0xac8e('0x64')](_[_0xac8e('0x65')](_0x4ba727[_0xac8e('0x5b')],_0x2bca0d[_0xac8e('0x64')]),_0x54bf92);var _0x54e023=[];var _0x53a916=squel[_0xac8e('0x66')]()[_0xac8e('0x67')]('id')['field'](_0xac8e('0x5a'))[_0xac8e('0x67')](_0xac8e('0x68'))[_0xac8e('0x69')](_0xac8e('0x6a'));var _0x36c8f1=squel[_0xac8e('0x66')]()[_0xac8e('0x67')]('u.id')['field'](_0xac8e('0x6b'))['field'](_0xac8e('0x6c'))['from']('user_has_chat_interactions','ui')[_0xac8e('0x6d')](_0xac8e('0x6e'),'u',_0xac8e('0x6f'));var _0x2afe52=squel[_0xac8e('0x66')]()[_0xac8e('0x69')](_0xac8e('0x70'),'i')[_0xac8e('0x6d')](_0xac8e('0x71'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xac8e('0x6d')](_0xac8e('0x6e'),'o',_0xac8e('0x72'))[_0xac8e('0x6d')](_0xac8e('0x73'),'a',_0xac8e('0x74'))[_0xac8e('0x6d')](_0xac8e('0x75'),'me','me.ChatInteractionId\x20=\x20i.id')['left_join']('chat_interaction_has_tags','it',_0xac8e('0x76'))['left_join'](_0xac8e('0x6a'),'t','t.id\x20=\x20it.TagId');var _0x812d4a=squel[_0xac8e('0x77')]();var _0x236e9e=[];var _0x3c7cfe=squel[_0xac8e('0x77')]();var _0x40cd59;if(_0x4ba727['query'][_0xac8e('0x78')]){_0x40cd59=as['parseSearch'](_0x4ba727[_0xac8e('0x5b')][_0xac8e('0x78')]);var _0x95a6d0=_0x40cd59[_0xac8e('0x79')];for(var _0xd3eea5=0x0;_0xd3eea5<_0x40cd59[_0xac8e('0x7a')]['length'];_0xd3eea5++){var _0xd2d29=_0x40cd59[_0xac8e('0x7a')][_0xd3eea5];var _0x1de56d='i';var _0x2fb31d=_[_0xac8e('0x7b')](_0x54bf92,['name',_0xd2d29[_0xac8e('0x67')]]);if(!_0x2fb31d){switch(_0xd2d29['field']){case'unreadMessages':if(_0xd2d29[_0xac8e('0x7c')]==0x1){_0x2afe52[_0xac8e('0x7d')]('`'+_0xd2d29[_0xac8e('0x67')]+'`\x20=\x200');}else{_0x2afe52[_0xac8e('0x7d')]('`'+_0xd2d29[_0xac8e('0x67')]+_0xac8e('0x7e'));}break;case _0xac8e('0x7f'):if(_0xd2d29[_0xac8e('0x80')]===_0xac8e('0x81')){if(_0xd2d29[_0xac8e('0x7c')][_0xac8e('0x47')]('\x20')[_0xac8e('0x60')]>0x1){_0x812d4a[_0x95a6d0](_0xac8e('0x82'),qs[_0xac8e('0x83')](_0xd2d29[_0xac8e('0x7c')]),null);}else{var _0x5841b9='%'+_0xd2d29[_0xac8e('0x7c')]+'%';_0x812d4a[_0x95a6d0]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x5841b9,_0x5841b9,_0x5841b9);}}else{_0x2fb31d=_[_0xac8e('0x7b')](_0x54bf92,[_0xac8e('0x5a'),_0xac8e('0x84')]);_0xd2d29[_0xac8e('0x67')]=_0xac8e('0x84');_0x1ef039=as[_0xac8e('0x85')](_0x1de56d,_0x2fb31d['type'],_0xd2d29);_0x812d4a[_0x95a6d0](_0x1ef039['text'],_0x1ef039[_0xac8e('0x7c')][_0xac8e('0x86')],_0x1ef039[_0xac8e('0x7c')]['end']);}break;case _0xac8e('0x87'):var _0x52c69f=_0xd2d29[_0xac8e('0x7c')]['split'](',')[_0xac8e('0x43')](function(_0x3d13f3){return Number(_0x3d13f3);});_0x52c69f[_0xac8e('0x88')](function(_0x30b494){_0x3c7cfe['or'](_0xac8e('0x89'),'%,'+_0x30b494+',%');});_0x236e9e=_[_0xac8e('0x8a')](_0x236e9e,_0x52c69f);break;case _0xac8e('0x8b'):if(_0xd2d29[_0xac8e('0x80')]===_0xac8e('0x81')){_0x812d4a[_0x95a6d0](_0xac8e('0x8c'),'%'+_0xd2d29[_0xac8e('0x7c')]+'%',null);}else{_0x2fb31d=_['find'](_0x54bf92,[_0xac8e('0x5a'),_0xac8e('0x51')]);_0xd2d29[_0xac8e('0x67')]=_0xac8e('0x51');_0x1ef039=as[_0xac8e('0x85')](_0x1de56d,_0x2fb31d[_0xac8e('0x57')],_0xd2d29);_0x812d4a[_0x95a6d0](_0x1ef039[_0xac8e('0x8d')],_0x1ef039[_0xac8e('0x7c')][_0xac8e('0x86')],_0x1ef039[_0xac8e('0x7c')][_0xac8e('0x2e')]);}break;case _0xac8e('0x40'):_0x1ef039=as['buildExpression']('me',null,_0xd2d29);_0x812d4a[_0x95a6d0](_0x1ef039[_0xac8e('0x8d')],_0x1ef039[_0xac8e('0x7c')][_0xac8e('0x86')],_0x1ef039[_0xac8e('0x7c')][_0xac8e('0x2e')]);break;}}else{var _0x1ef039=as[_0xac8e('0x85')](_0x1de56d,_0x2fb31d[_0xac8e('0x57')],_0xd2d29);_0x812d4a[_0x95a6d0](_0x1ef039[_0xac8e('0x8d')],_0x1ef039['value']['start'],_0x1ef039[_0xac8e('0x7c')][_0xac8e('0x2e')]);}}}else{var _0x103ca1=_(_0x4ba727['query'])[_0xac8e('0x5c')]()[_0xac8e('0x43')](function(_0x36c9fc){return _[_0xac8e('0x8e')](_0x54bf92,['name',_0x36c9fc])?_0x36c9fc:undefined;})[_0xac8e('0x8f')]()[_0xac8e('0x7c')]();if(!_[_0xac8e('0x90')](_0x103ca1)){_0x103ca1['forEach'](function(_0x1844ca){if(_0x1844ca===_0xac8e('0x91')){_0x2afe52[_0xac8e('0x92')](_0xac8e('0x93'),[][_0xac8e('0x94')](_0x4ba727[_0xac8e('0x5b')][_0x1844ca]));}else if(_0x1844ca===_0xac8e('0x95')){var _0x537ddc=JSON[_0xac8e('0x96')](_0x4ba727[_0xac8e('0x5b')][_0x1844ca])[_0xac8e('0x97')];var _0x497895=JSON[_0xac8e('0x96')](_0x4ba727[_0xac8e('0x5b')][_0x1844ca])['$lte'];_0x2afe52['where'](_0xac8e('0x98'),_0x537ddc,_0x497895);}else{if(_0x4ba727[_0xac8e('0x5b')][_0x1844ca]===_0xac8e('0x99')){_0x2afe52[_0xac8e('0x92')]('i.'+_0x1844ca+'\x20IS\x20NULL');}else{_0x2afe52[_0xac8e('0x92')]('i.'+_0x1844ca+_0xac8e('0x9a'),_0x4ba727[_0xac8e('0x5b')][_0x1844ca]);}}});}if(_0x4ba727[_0xac8e('0x5b')]['read']){if(_0x4ba727[_0xac8e('0x5b')]['read']==0x1){_0x2afe52[_0xac8e('0x7d')](_0xac8e('0x9b'));}else{_0x2afe52['having'](_0xac8e('0x9c'));}}if(_0x4ba727[_0xac8e('0x5b')][_0xac8e('0x9d')]){_0x236e9e=_[_0xac8e('0x9e')](_0x4ba727[_0xac8e('0x5b')][_0xac8e('0x9d')])?_0x4ba727[_0xac8e('0x5b')][_0xac8e('0x9d')]:new Array(_0x4ba727['query'][_0xac8e('0x9d')]);_0x236e9e[_0xac8e('0x88')](function(_0x1ccd41){_0x3c7cfe['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x1ccd41+',%');});}if(_0x4ba727['query']['filter']){var _0x404aca=_0x4ba727[_0xac8e('0x5b')]['filter'][_0xac8e('0x9f')]('\x5c','\x5c\x5c')[_0xac8e('0x9f')](/'/g,'\x27\x27');if(qs[_0xac8e('0xa0')](_0x404aca)){_0x812d4a['or'](_0xac8e('0xa1'),_0x404aca+'%');}else{_0x812d4a['or'](_0xac8e('0xa2'),qs[_0xac8e('0x83')](_0x404aca))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x404aca+'%');}}}_0x2afe52[_0xac8e('0x92')](_0x812d4a);_0x2afe52[_0xac8e('0xa3')]('i.id');var _0x585bb9={'type':db['Sequelize'][_0xac8e('0xa4')]['SELECT'],'raw':!![]};var _0x577913=_0x2afe52[_0xac8e('0xa5')]();_0x577913[_0xac8e('0x67')](_0xac8e('0xa6'));_0x577913[_0xac8e('0x67')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xac8e('0xa7'));if(_0x3de622[_0xac8e('0x62')]){_0x3de622[_0xac8e('0x62')][_0xac8e('0x88')](function(_0x5db523){var _0x155383=_0x5db523[0x0]==='contactName'?_0x5db523[0x0]:'i.'+_0x5db523[0x0];_0x2afe52[_0xac8e('0x62')](_0x155383,_0x5db523[0x1]===_0xac8e('0xa8')?![]:!![]);});}if(!_[_0xac8e('0x90')](_0x236e9e)){_0x2afe52[_0xac8e('0x7d')](_0x3c7cfe);_0x577913['where'](_0xac8e('0xa9'),_0x236e9e);}BPromise[_0xac8e('0xaa')]()[_0xac8e('0x3a')](function(){if(!_0x40cd59){if(_0x4ba727['query'][_0xac8e('0x91')])return;_0x577913['where'](_0xac8e('0xab'));_0x2afe52['where']('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}if(_0x4ba727[_0xac8e('0xac')][_0xac8e('0xad')]!=='agent')return;return _0x4ba727[_0xac8e('0xac')][_0xac8e('0xae')]({'attributes':['id'],'raw':!![]})[_0xac8e('0x3a')](function(_0x2373cf){if(_[_0xac8e('0x90')](_0x2373cf)){_0x577913[_0xac8e('0x92')](_0xac8e('0xaf'));_0x2afe52[_0xac8e('0x92')]('i.ChatWebsiteId\x20IS\x20NULL');}else{_0x577913[_0xac8e('0x92')]('i.ChatWebsiteId\x20IN\x20?',_[_0xac8e('0x43')](_0x2373cf,'id'));_0x2afe52['where']('i.ChatWebsiteId\x20IN\x20?',_[_0xac8e('0x43')](_0x2373cf,'id'));}});})[_0xac8e('0x3a')](function(){if(_0x4ba727[_0xac8e('0xac')][_0xac8e('0xad')]===_0xac8e('0x41')&&!_0x40cd59&&!_0x4ba727[_0xac8e('0x5b')][_0xac8e('0x91')])return[];return db['sequelize'][_0xac8e('0x5b')](_0x577913[_0xac8e('0xb0')](),_0x585bb9);})[_0xac8e('0x3a')](function(_0x787f1d){_0x137e2d[_0xac8e('0x31')]=_0x787f1d['length'];if(_0x137e2d[_0xac8e('0x31')]===0x0)return[];return db['sequelize'][_0xac8e('0x5b')](_0x53a916[_0xac8e('0xb0')](),_0x585bb9)[_0xac8e('0x3a')](function(_0x4c3cae){_0x54e023=_['keyBy'](_0x4c3cae,'id');_0x585bb9=_[_0xac8e('0x3f')](_0x585bb9,{'model':db[_0xac8e('0x54')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4ba727['query']['fields']){_0x3de622['attributes'][_0xac8e('0x88')](function(_0x34301a){_0x2afe52[_0xac8e('0x67')]('i.'+_0x34301a);});}else{_0x2afe52[_0xac8e('0x67')](_0xac8e('0xb1'),'unreadMessages');_0x2afe52[_0xac8e('0x67')]('a.key',_0xac8e('0xb2'));_0x2afe52['field'](_0xac8e('0xb3'),_0xac8e('0xb4'));_0x2afe52[_0xac8e('0x67')](_0xac8e('0xb5'),_0xac8e('0xb6'));_0x2afe52['field'](_0xac8e('0xb7'));_0x2afe52[_0xac8e('0x67')]('c.firstName',_0xac8e('0xb8'));_0x2afe52[_0xac8e('0x67')](_0xac8e('0xb9'),_0xac8e('0xba'));_0x2afe52[_0xac8e('0x67')](_0xac8e('0xbb'),'Contact.email');_0x2afe52['field'](_0xac8e('0xbc'),_0xac8e('0xbd'));_0x2afe52[_0xac8e('0x67')](_0xac8e('0xbe'),'Contact.mobile');_0x2afe52[_0xac8e('0x67')](_0xac8e('0xbf'),'Contact.fax');_0x2afe52[_0xac8e('0x67')](_0xac8e('0xc0'),_0xac8e('0xc1'));_0x2afe52[_0xac8e('0x67')]('o.internal',_0xac8e('0xc2'));_0x2afe52[_0xac8e('0x67')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0xac8e('0x45'));}if(_0x3de622[_0xac8e('0x2f')])_0x2afe52[_0xac8e('0x2f')](_0x3de622[_0xac8e('0x2f')]);if(_0x3de622[_0xac8e('0x32')])_0x2afe52[_0xac8e('0x32')](_0x3de622[_0xac8e('0x32')]);return db[_0xac8e('0xc3')]['query'](_0x2afe52[_0xac8e('0xb0')](),_0x585bb9);})[_0xac8e('0x3a')](function(_0xfafc97){if(_0xfafc97[_0xac8e('0x60')]>0x0)_0x36c8f1[_0xac8e('0x92')](_0xac8e('0xc4'),_[_0xac8e('0x43')](_0xfafc97,'id'));return db['sequelize']['query'](_0x36c8f1[_0xac8e('0xb0')](),_0x585bb9)[_0xac8e('0x3a')](function(_0x449cfe){var _0x2f347a=_[_0xac8e('0xc5')](_0x449cfe,'ChatInteractionId');var _0x3aa29f=[];_0xfafc97[_0xac8e('0x88')](function(_0x1e9eea){_0x3aa29f[_0xac8e('0x48')](updateChatInteraction(_0x1e9eea,_0x54e023,_0x2f347a));});return BPromise[_0xac8e('0xc6')](_0x3aa29f);});});})['then'](function(_0x4d5af3){_0x137e2d[_0xac8e('0xc7')]=_0x4d5af3;return _0x137e2d;})[_0xac8e('0x3a')](respondWithFilteredResult(_0x1b2258,_0x3de622))['catch'](handleError(_0x1b2258,null));};exports['show']=function(_0x27065e,_0x150777){var _0x59a9da={'raw':![],'where':{'id':_0x27065e[_0xac8e('0xc8')]['id']}},_0x5d844a={};_0x5d844a[_0xac8e('0x59')]=_['keys'](db[_0xac8e('0x54')]['rawAttributes']);_0x5d844a[_0xac8e('0x5b')]=_[_0xac8e('0x5c')](_0x27065e['query']);_0x5d844a[_0xac8e('0x64')]=_['intersection'](_0x5d844a[_0xac8e('0x59')],_0x5d844a[_0xac8e('0x5b')]);_0x59a9da[_0xac8e('0x5d')]=_[_0xac8e('0x5e')](_0x5d844a[_0xac8e('0x59')],qs[_0xac8e('0x5f')](_0x27065e[_0xac8e('0x5b')][_0xac8e('0x5f')]));_0x59a9da[_0xac8e('0x5d')]=_0x59a9da['attributes'][_0xac8e('0x60')]?_0x59a9da['attributes']:_0x5d844a[_0xac8e('0x59')];if(_0x27065e[_0xac8e('0x5b')]['includeAll']){_0x59a9da['include']=[{'all':!![]}];}_0x59a9da=_['merge']({},_0x59a9da,_0x27065e['options']);return db['ChatInteraction'][_0xac8e('0x7b')](_0x59a9da)['then'](handleEntityNotFound(_0x150777,null))[_0xac8e('0x3a')](respondWithResult(_0x150777,null))['catch'](handleError(_0x150777,null));};exports[_0xac8e('0xc9')]=function(_0x369b9a,_0x41ee61){return db['ChatInteraction'][_0xac8e('0xc9')](_0x369b9a[_0xac8e('0x40')],{})[_0xac8e('0x3a')](respondWithResult(_0x41ee61,0xc9))[_0xac8e('0x49')](handleError(_0x41ee61,null));};exports['update']=function(_0x1e7579,_0x543cc6){if(_0x1e7579[_0xac8e('0x40')]['id']){delete _0x1e7579['body']['id'];}return db[_0xac8e('0x54')]['find']({'where':{'id':_0x1e7579[_0xac8e('0xc8')]['id']}})[_0xac8e('0x3a')](handleEntityNotFound(_0x543cc6,null))[_0xac8e('0x3a')](saveUpdates(_0x1e7579[_0xac8e('0x40')],null))[_0xac8e('0x3a')](respondWithResult(_0x543cc6,null))[_0xac8e('0x49')](handleError(_0x543cc6,null));};exports[_0xac8e('0x3b')]=function(_0x40f277,_0x3db3b7){return db[_0xac8e('0x54')][_0xac8e('0x7b')]({'where':{'id':_0x40f277[_0xac8e('0xc8')]['id']}})[_0xac8e('0x3a')](handleEntityNotFound(_0x3db3b7,null))[_0xac8e('0x3a')](removeEntity(_0x3db3b7,null))[_0xac8e('0x49')](handleError(_0x3db3b7,null));};exports[_0xac8e('0xca')]=function(_0x3d3683,_0x45518f){return db[_0xac8e('0x54')][_0xac8e('0xca')]()[_0xac8e('0x3a')](respondWithResult(_0x45518f,null))['catch'](handleError(_0x45518f,null));};exports[_0xac8e('0xcb')]=function(_0x5077f3,_0x3c8d91){var _0x3cdc5f=_0x5077f3[_0xac8e('0xc8')]['id'];var _0x5a0a53;var _0x3f0cf9;var _0x28ed23;return db['ChatInteraction'][_0xac8e('0xcc')]({'where':{'id':_0x3cdc5f}})['then'](function(_0x56e856){_0x5a0a53=_0x56e856;return db[_0xac8e('0xcd')][_0xac8e('0xcc')]({'where':{'id':_0x56e856[_0xac8e('0x91')]},'attributes':['id','vidaooApiKey',_0xac8e('0xce'),_0xac8e('0xcf'),_0xac8e('0xd0'),_0xac8e('0xd1')],'raw':!![]});})[_0xac8e('0x3a')](function(_0x40cdb1){if(_0x40cdb1&&_0x40cdb1['vidaooApiKey']&&_0x40cdb1[_0xac8e('0xce')]){_0x3f0cf9=_0x40cdb1;var _0x295e0d={'interaction':{'id':_0x3cdc5f},'agent':{'id':_0x5077f3[_0xac8e('0xac')]['id'],'name':_0x5077f3[_0xac8e('0xac')][_0xac8e('0x5a')],'fullname':_0x5077f3['user'][_0xac8e('0x44')],'email':_0x5077f3[_0xac8e('0xac')]['email']},'contact':_0x5077f3[_0xac8e('0x40')][_0xac8e('0xd2')],'account':_0x5077f3[_0xac8e('0x40')]['account']};var _0x505eb7={'rejectUnauthorized':![],'method':_0xac8e('0xd3'),'url':_0xac8e('0xd4'),'headers':{'X-APIKEY':_0x40cdb1[_0xac8e('0xd5')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x5077f3[_0xac8e('0xac')][_0xac8e('0xd6')]],'buttons':null,'topic':_0x3f0cf9[_0xac8e('0xcf')],'note':_[_0xac8e('0xd7')](_0x3f0cf9[_0xac8e('0xd0')])?null:getMustacheRender(_0x3f0cf9[_0xac8e('0xd0')],_0x295e0d),'metadata':null},'redirect':_0xac8e('0xd8'),'json':!![]};try{if(!_[_0xac8e('0xd7')](_0x3f0cf9[_0xac8e('0xd1')])){var _0x16cfdd=getMustacheRender(_0x3f0cf9[_0xac8e('0xd1')],_0x295e0d);var _0x4b52ba=JSON[_0xac8e('0x96')](_0x16cfdd);_0x505eb7[_0xac8e('0x40')]['metadata']=_0x4b52ba;}}catch(_0x42af12){throw new db[(_0xac8e('0xd9'))][(_0xac8e('0xda'))](_0xac8e('0xdb'));}return rp(_0x505eb7);}else{throw new db[(_0xac8e('0xd9'))][(_0xac8e('0xda'))](_0xac8e('0xdc'));}})[_0xac8e('0x3a')](function(_0x1eaeba){_0x28ed23=_0x1eaeba;if(_0x28ed23['id']){var _0x4868e6={'body':_0x28ed23['join_url'],'ChatWebsiteId':_0x3f0cf9['id'],'ChatInteractionId':_0x5a0a53['id'],'direction':_0xac8e('0xdd'),'UserId':_0x5077f3['user']['id']};return db['ChatMessage'][_0xac8e('0xc9')](_0x4868e6,{});}else{throw new db['Sequelize'][(_0xac8e('0xda'))](_0xac8e('0xde'));}})[_0xac8e('0x3a')](function(){return _0x5a0a53[_0xac8e('0xdf')]({'vidaooSessionId':_0x28ed23['id']});})[_0xac8e('0x3a')](respondWithResult(_0x3c8d91,null))['catch'](handleError(_0x3c8d91,null));};exports[_0xac8e('0xe0')]=function(_0x58e1bc,_0x12a2ed){if(_0x58e1bc[_0xac8e('0x40')]['id']){delete _0x58e1bc[_0xac8e('0x40')]['id'];}return db[_0xac8e('0x54')][_0xac8e('0x7b')]({'where':{'id':_0x58e1bc[_0xac8e('0xc8')]['id']},'include':[{'model':db[_0xac8e('0xe1')],'as':_0xac8e('0x7f')}]})[_0xac8e('0x3a')](handleEntityNotFound(_0x12a2ed,null))[_0xac8e('0x3a')](saveUpdates(_0x58e1bc[_0xac8e('0x40')],null))['then'](respondWithResult(_0x12a2ed,null))[_0xac8e('0x49')](handleError(_0x12a2ed,null));};exports[_0xac8e('0xe2')]=function(_0x48d946,_0x14654d,_0x224157){if(_0x48d946[_0xac8e('0x40')]['id']){delete _0x48d946['body']['id'];}return db[_0xac8e('0x54')][_0xac8e('0x7b')]({'where':{'id':_0x48d946[_0xac8e('0xc8')]['id']}})[_0xac8e('0x3a')](function(_0x1d80c7){if(!_0x1d80c7){logger['error'](_0xac8e('0xe3'),'abandon',0x194,_0xac8e('0xe4'));_0x14654d[_0xac8e('0xe5')](0x194);}else{if(_0x1d80c7[_0xac8e('0x51')]){throw new db['Sequelize'][(_0xac8e('0xda'))](_0xac8e('0xe6'));}}return _0x1d80c7;})[_0xac8e('0x3a')](function(_0x31d0cc){if(_0x31d0cc){return _0x31d0cc[_0xac8e('0x39')]({'closed':_0x48d946[_0xac8e('0x40')][_0xac8e('0x50')],'disposition':_0x48d946['body'][_0xac8e('0x52')]})[_0xac8e('0x3a')](function(_0x41d6aa){return _0x41d6aa;});}})[_0xac8e('0x3a')](function(_0x1cb474){return respondWithRpcPromise(_0xac8e('0xe7'),_0xac8e('0xe2'),_0x48d946[_0xac8e('0x40')],client9004);})[_0xac8e('0x3a')](respondWithResult(_0x14654d,null))[_0xac8e('0x49')](handleError(_0x14654d,null));};exports[_0xac8e('0xe8')]=function(_0x312344,_0xe7a4b4,_0x130e20){_0x312344[_0xac8e('0x40')][_0xac8e('0x5a')]=_0x312344[_0xac8e('0xe9')][_0xac8e('0xea')];_0x312344['body'][_0xac8e('0xeb')]=_0x312344[_0xac8e('0xe9')][_0xac8e('0xec')];_0x312344[_0xac8e('0x40')][_0xac8e('0x57')]=_0x312344[_0xac8e('0xe9')][_0xac8e('0xed')];return db[_0xac8e('0xee')][_0xac8e('0xc9')](_0x312344[_0xac8e('0x40')])['then'](respondWithResult(_0xe7a4b4,0xc9))[_0xac8e('0x49')](handleError(_0xe7a4b4,null));};exports[_0xac8e('0xef')]=function(_0x1eab51,_0x5453e1,_0x4e220b){return db[_0xac8e('0x54')][_0xac8e('0xcc')]({'where':{'id':_0x1eab51[_0xac8e('0xc8')]['id']},'raw':!![]})[_0xac8e('0x3a')](handleEntityNotFound(_0x5453e1,null))[_0xac8e('0x3a')](function(_0x1daa07){if(_0x1daa07){if(_0x1daa07[_0xac8e('0x50')]){return _0x5453e1[_0xac8e('0x2d')](0x193)[_0xac8e('0x35')]({'status':0x193,'message':'Unauthorized'});}return db['Attachment'][_0xac8e('0xcc')]({'where':{'id':_0x1eab51[_0xac8e('0x5b')][_0xac8e('0xf0')]},'raw':!![]})['then'](handleEntityNotFound(_0x5453e1,null));}})['then'](function(_0xf5dd07){if(_0xf5dd07){var _0x332a54=_0xf5dd07[_0xac8e('0xf1')]!==null;var _0x1c1af=path[_0xac8e('0xf2')](config['root'],'server/files/attachments/');if(_0x332a54){_0x1c1af=path[_0xac8e('0xf2')](_0x1c1af,_0xac8e('0xf3'));}var _0x406ed5=path[_0xac8e('0xf2')](_0x1c1af,_0xf5dd07[_0xac8e('0xeb')]);return _0x5453e1[_0xac8e('0xf4')](_0x406ed5);}})[_0xac8e('0x49')](handleError(_0x5453e1,null));};exports['close']=function(_0x22cd40,_0x479c70){var _0x55b323=null;var _0x13be50=null;var _0x2a29a2=null;var _0xc15ac6=null;if(_0x22cd40['body']['id']){delete _0x22cd40[_0xac8e('0x40')]['id'];}if(_0x22cd40[_0xac8e('0x40')][_0xac8e('0xf5')]){_0xc15ac6=path[_0xac8e('0xf2')](config[_0xac8e('0xf6')],_0xac8e('0xf7'),util[_0xac8e('0xf8')]('transcript-%s.txt',Date['now']()));_0x22cd40[_0xac8e('0x40')][_0xac8e('0xf9')]=_0xc15ac6;}return db[_0xac8e('0x54')][_0xac8e('0x7b')]({'where':{'id':_0x22cd40[_0xac8e('0xc8')]['id']},'include':[{'model':db[_0xac8e('0xfa')],'as':_0xac8e('0xfb'),'include':[{'model':db['User'],'as':'User'}]}]})[_0xac8e('0x3a')](handleEntityNotFound(_0x479c70,null))['then'](saveUpdates(_0x22cd40[_0xac8e('0x40')],null))[_0xac8e('0x3a')](function(_0x1d1650){if(_0x1d1650){_0x55b323=_0x1d1650;return db['ChatWebsite'][_0xac8e('0x7b')]({'where':{'id':_0x55b323[_0xac8e('0x91')]}});}})[_0xac8e('0x3a')](function(_0x310abb){if(_0x310abb){_0x2a29a2=_0x310abb;return db['CmContact'][_0xac8e('0x7b')]({'where':{'id':_0x55b323[_0xac8e('0x84')]}});}})[_0xac8e('0x3a')](function(_0x9fa022){if(_0x9fa022){_0x13be50=_0x9fa022;if(_0xc15ac6){var _0x502509=null;for(var _0x5b7353=0x1;_0x5b7353<_0x55b323[_0xac8e('0xfb')][_0xac8e('0x60')];++_0x5b7353){_0x502509=_0x55b323[_0xac8e('0xfb')][_0x5b7353];var _0x3f869e=_0x502509[_0xac8e('0x51')]?util[_0xac8e('0xf8')]('%s%d',_0x2a29a2[_0xac8e('0xfc')],_0x502509[_0xac8e('0x51')]):_0xac8e('0xfd');var _0x4e3d1c=_0x22cd40[_0xac8e('0x40')][_0xac8e('0xfe')]||util['format']('%s%d','Visitor',_0x502509[_0xac8e('0x84')]);switch(_0x2a29a2[_0xac8e('0xff')]){case _0xac8e('0x100'):_0x3f869e=_0x502509[_0xac8e('0x51')]?util[_0xac8e('0xf8')](_0xac8e('0x101'),_0x2a29a2[_0xac8e('0xfc')],_0x502509[_0xac8e('0x51')]):_0xac8e('0xfd');break;case _0xac8e('0x102'):_0x3f869e=_0x502509[_0xac8e('0x51')]?_0x502509[_0xac8e('0x8b')][_0xac8e('0x103')]||_0x502509[_0xac8e('0x8b')][_0xac8e('0x44')]:_0xac8e('0xfd');break;case _0xac8e('0x104'):_0x3f869e=_0x502509[_0xac8e('0x51')]?_0x502509[_0xac8e('0x8b')][_0xac8e('0x44')]:_0xac8e('0xfd');break;default:_0x3f869e=_0x502509[_0xac8e('0x51')]?util['format']('%s%d',_0x2a29a2[_0xac8e('0xfc')],_0x502509['UserId']):_0xac8e('0xfd');}var _0x338086=util[_0xac8e('0xf8')](_0xac8e('0x105'),moment(_0x502509[_0xac8e('0x95')])[_0xac8e('0xf8')](_0xac8e('0x106')),_0x502509[_0xac8e('0x107')]==='in'?_0x4e3d1c:_0x3f869e,_0x502509[_0xac8e('0x40')]);if(!_0x502509[_0xac8e('0x108')]){fs[_0xac8e('0x109')](_0xc15ac6,_0x338086);}}return db[_0xac8e('0x10a')][_0xac8e('0xcc')]({'where':{'service':!![]},'include':[{'model':db[_0xac8e('0x10b')],'as':_0xac8e('0x10c'),'raw':!![]}]});}}})[_0xac8e('0x3a')](function(_0x5f3c3a){if(_0x5f3c3a&&_0x5f3c3a['Smtp']&&_0x22cd40[_0xac8e('0x40')]){var _0x50bf76={'tls':{'rejectUnauthorized':![]}};if(_0x5f3c3a[_0xac8e('0x10c')][_0xac8e('0x10d')]){_0x50bf76[_0xac8e('0x10d')]=_0x5f3c3a[_0xac8e('0x10c')][_0xac8e('0x10d')];}else{_0x50bf76[_0xac8e('0x10e')]=_0x5f3c3a[_0xac8e('0x10c')][_0xac8e('0x10e')];_0x50bf76[_0xac8e('0x10f')]=_0x5f3c3a[_0xac8e('0x10c')][_0xac8e('0x10f')];_0x50bf76['secure']=_0x5f3c3a[_0xac8e('0x10c')]['secure'];}if(_0x5f3c3a['Smtp'][_0xac8e('0x110')]){_0x50bf76[_0xac8e('0x111')]={'user':_0x5f3c3a[_0xac8e('0x10c')]['user'],'pass':_0x5f3c3a[_0xac8e('0x10c')][_0xac8e('0x112')]};}return respondWithRpcPromise(_0xac8e('0x113'),_0xac8e('0x114'),{'account':_0x50bf76,'message':{'from':util[_0xac8e('0xf8')]('\x22%s\x22\x20<%s>',_0x5f3c3a[_0xac8e('0x5a')],_0x5f3c3a['email']||_0x5f3c3a[_0xac8e('0x10c')][_0xac8e('0xac')]),'to':_0x22cd40['body'][_0xac8e('0xf5')],'subject':_0xac8e('0x115'),'text':util[_0xac8e('0xf8')](_0xac8e('0x116'),_0x22cd40['body'][_0xac8e('0xf5')]),'attachments':[{'path':_0xc15ac6}]}})['then'](function(){return _0x55b323;})['catch'](function(_0x1eff2f){console['error'](_0x1eff2f);});}else{return _0x55b323;}})[_0xac8e('0x3a')](respondWithStatusCode(_0x479c70,0xc8))[_0xac8e('0x49')](handleError(_0x479c70,null));};exports[_0xac8e('0x117')]=function(_0x1be5fa,_0x463e6e,_0x7a80da){return db[_0xac8e('0xfa')][_0xac8e('0x7b')]({'where':{'id':_0x1be5fa[_0xac8e('0xc8')]['id']}})['then'](handleEntityNotFound(_0x463e6e,null))[_0xac8e('0x3a')](function(_0x307981){if(_0x307981){return _0x307981[_0xac8e('0x117')](_0x1be5fa['body']['ids'],_[_0xac8e('0x118')](_0x1be5fa[_0xac8e('0x40')],[_0xac8e('0x119'),'id'])||{});}})[_0xac8e('0x3a')](respondWithResult(_0x463e6e,null))[_0xac8e('0x49')](handleError(_0x463e6e,null));};exports['getMessages']=function(_0x3ec6c9,_0x3c6dee,_0x5f301a){var _0x57af0a={'raw':![],'where':{}};var _0x15164a={};var _0x32a78b={'count':0x0,'rows':[]};return db['ChatInteraction'][_0xac8e('0xcc')]({'where':{'id':_0x3ec6c9[_0xac8e('0xc8')]['id']}})[_0xac8e('0x3a')](handleEntityNotFound(_0x3c6dee,null))[_0xac8e('0x3a')](function(_0x2c3014){if(_0x2c3014){_0x15164a[_0xac8e('0x59')]=_[_0xac8e('0x5c')](db[_0xac8e('0xfa')]['rawAttributes']);_0x15164a[_0xac8e('0x5b')]=_['keys'](_0x3ec6c9['query']);_0x15164a['filters']=_[_0xac8e('0x5e')](_0x15164a[_0xac8e('0x59')],_0x15164a['query']);_0x57af0a[_0xac8e('0x5d')]=_['intersection'](_0x15164a[_0xac8e('0x59')],qs[_0xac8e('0x5f')](_0x3ec6c9[_0xac8e('0x5b')][_0xac8e('0x5f')]));_0x57af0a[_0xac8e('0x5d')]=_0x57af0a['attributes'][_0xac8e('0x60')]?_0x57af0a['attributes']:_0x15164a['model'];if(!_0x3ec6c9[_0xac8e('0x5b')][_0xac8e('0x61')]('nolimit')){_0x57af0a[_0xac8e('0x2f')]=qs[_0xac8e('0x2f')](_0x3ec6c9[_0xac8e('0x5b')]['limit']);_0x57af0a[_0xac8e('0x32')]=qs[_0xac8e('0x32')](_0x3ec6c9[_0xac8e('0x5b')][_0xac8e('0x32')]);}_0x57af0a[_0xac8e('0x62')]=qs['sort'](_0x3ec6c9[_0xac8e('0x5b')]['sort']);_0x57af0a[_0xac8e('0x92')]=qs[_0xac8e('0x64')](_[_0xac8e('0x65')](_0x3ec6c9[_0xac8e('0x5b')],_0x15164a['filters']));_0x57af0a['where'][_0xac8e('0x11a')]=_0x2c3014['id'];if(_0x3ec6c9[_0xac8e('0x5b')][_0xac8e('0x11b')]){_0x57af0a[_0xac8e('0x92')]=_[_0xac8e('0x3f')](_0x57af0a[_0xac8e('0x92')],{'$or':_[_0xac8e('0x43')](_0x57af0a['attributes'],function(_0x1818ef){var _0x2fcfca={};_0x2fcfca[_0x1818ef]={'$like':'%'+_0x3ec6c9[_0xac8e('0x5b')][_0xac8e('0x11b')]+'%'};return _0x2fcfca;})});}if(_0x3ec6c9[_0xac8e('0x5b')][_0xac8e('0x97')]){var _0xd2c97b=_0x3ec6c9[_0xac8e('0x5b')][_0xac8e('0x97')][_0xac8e('0x47')](',');var _0xe060d7={};_0xe060d7[_0xd2c97b[0x0]]={'$gte':moment(_0xd2c97b[0x1])['format'](_0xac8e('0x11c'))};_0x57af0a[_0xac8e('0x92')]=_[_0xac8e('0x3f')](_0x57af0a['where'],_0xe060d7);}_0x57af0a=_[_0xac8e('0x3f')]({},_0x57af0a,_0x3ec6c9[_0xac8e('0x11d')]);return db[_0xac8e('0xfa')]['count']({'where':_0x57af0a[_0xac8e('0x92')]})['then'](function(_0x46f2db){_0x32a78b['count']=_0x46f2db;if(_0x3ec6c9[_0xac8e('0x5b')][_0xac8e('0x11e')]){_0x57af0a['include']=[{'all':!![]}];}return db['ChatMessage'][_0xac8e('0x11f')](_0x57af0a);})[_0xac8e('0x3a')](function(_0xa12028){_0x32a78b[_0xac8e('0xc7')]=_0xa12028;return _0x32a78b;});}})['then'](respondWithFilteredResult(_0x3c6dee,_0x57af0a))[_0xac8e('0x49')](handleError(_0x3c6dee,null));};exports['getMyMessages']=function(_0x4d0e57,_0x5cb675,_0x4a367f){var _0x56e89d={'where':{}},_0x17120c={},_0x42855a={'count':0x0,'rows':[]};return db[_0xac8e('0x54')]['findOne']({'where':{'id':_0x4d0e57[_0xac8e('0xc8')]['id']}})[_0xac8e('0x3a')](handleEntityNotFound(_0x5cb675,null))[_0xac8e('0x3a')](function(_0x28b5d3){if(_0x28b5d3){_0x17120c['model']=_[_0xac8e('0x5c')](db[_0xac8e('0xfa')][_0xac8e('0x55')]);_0x17120c['query']=_['keys'](_0x4d0e57['query']);_0x17120c['filters']=_[_0xac8e('0x5e')](_0x17120c['model'],_0x17120c['query']);_0x56e89d[_0xac8e('0x5d')]=_[_0xac8e('0x5e')](_0x17120c['model'],qs[_0xac8e('0x5f')](_0x4d0e57['query'][_0xac8e('0x5f')]));_0x56e89d[_0xac8e('0x5d')]=_0x56e89d[_0xac8e('0x5d')]['length']?_0x56e89d[_0xac8e('0x5d')]:_0x17120c[_0xac8e('0x59')];if(!_0x4d0e57[_0xac8e('0x5b')][_0xac8e('0x61')](_0xac8e('0x120'))){_0x56e89d[_0xac8e('0x2f')]=qs[_0xac8e('0x2f')](_0x4d0e57['query'][_0xac8e('0x2f')]);_0x56e89d[_0xac8e('0x32')]=qs[_0xac8e('0x32')](_0x4d0e57['query'][_0xac8e('0x32')]);}_0x56e89d[_0xac8e('0x62')]=qs[_0xac8e('0x63')](_0x4d0e57[_0xac8e('0x5b')][_0xac8e('0x63')]);_0x56e89d[_0xac8e('0x92')]=qs[_0xac8e('0x64')](_['pick'](_0x4d0e57[_0xac8e('0x5b')],_0x17120c[_0xac8e('0x64')]));_0x56e89d[_0xac8e('0x92')][_0xac8e('0x11a')]=_0x28b5d3['id'];if(_0x4d0e57[_0xac8e('0x5b')]['filter']){_0x56e89d['where']=_[_0xac8e('0x3f')](_0x56e89d[_0xac8e('0x92')],{'$or':_['map'](_0x56e89d[_0xac8e('0x5d')],function(_0xfb05dd){var _0x1cfde0={};_0x1cfde0[_0xfb05dd]={'$like':'%'+_0x4d0e57[_0xac8e('0x5b')][_0xac8e('0x11b')]+'%'};return _0x1cfde0;})});}_0x56e89d['where']['secret']=![];if(_0x4d0e57['query']['id']){_0x56e89d['where']['id']={'$gt':_0x4d0e57[_0xac8e('0x5b')]['id']};}_0x56e89d=_[_0xac8e('0x3f')]({},_0x56e89d,_0x4d0e57[_0xac8e('0x11d')]);return db[_0xac8e('0xfa')][_0xac8e('0x31')]({'where':_0x56e89d[_0xac8e('0x92')]})[_0xac8e('0x3a')](function(_0x4db455){_0x42855a[_0xac8e('0x31')]=_0x4db455;_0x56e89d['include']=[];if(_0x4d0e57[_0xac8e('0x5b')][_0xac8e('0x121')]){_0x56e89d[_0xac8e('0x122')][_0xac8e('0x48')]({'model':db[_0xac8e('0x8b')],'as':_0xac8e('0x8b'),'attributes':['id','fullname','alias']});}if(_0x4d0e57[_0xac8e('0x5b')][_0xac8e('0x11e')]){_0x56e89d[_0xac8e('0x122')]=[{'all':!![]}];}return db[_0xac8e('0xfa')][_0xac8e('0x11f')](_0x56e89d);})[_0xac8e('0x3a')](function(_0x25cf80){_0x42855a[_0xac8e('0xc7')]=_0x25cf80;return _0x42855a;});}})[_0xac8e('0x3a')](respondWithFilteredResult(_0x5cb675,_0x56e89d))[_0xac8e('0x49')](handleError(_0x5cb675,null));};exports['addTags']=function(_0xb7aa03,_0x3ecc77,_0x1ffbe8){return db['ChatInteraction']['find']({'where':{'id':_0xb7aa03['params']['id']}})[_0xac8e('0x3a')](handleEntityNotFound(_0x3ecc77,null))[_0xac8e('0x3a')](function(_0x37c594){if(_0x37c594){return _0x37c594['setTags'](_0xb7aa03[_0xac8e('0x40')][_0xac8e('0x119')],_[_0xac8e('0x118')](_0xb7aa03[_0xac8e('0x40')],[_0xac8e('0x119'),'id'])||{})[_0xac8e('0x123')](function(){return db['Tag'][_0xac8e('0x11f')]({'attributes':['id',_0xac8e('0x5a'),'color'],'where':{'id':_0xb7aa03[_0xac8e('0x40')][_0xac8e('0x119')]}});})[_0xac8e('0x3a')](function(_0x15c130){socket[_0xac8e('0x124')](_0xac8e('0x125'),{'id':Number(_0xb7aa03[_0xac8e('0xc8')]['id']),'tags':_0x15c130||[]});return{'id':Number(_0xb7aa03[_0xac8e('0xc8')]['id']),'tags':_0x15c130||[]};});}})[_0xac8e('0x3a')](respondWithResult(_0x3ecc77,null))[_0xac8e('0x49')](handleError(_0x3ecc77,null));};exports[_0xac8e('0x126')]=function(_0x4246d0,_0x4bfe74,_0x83f8d5){return db[_0xac8e('0x54')][_0xac8e('0x7b')]({'where':{'id':_0x4246d0['params']['id']}})['then'](handleEntityNotFound(_0x4bfe74,null))[_0xac8e('0x3a')](function(_0x5c32ce){if(_0x5c32ce){return _0x5c32ce[_0xac8e('0x126')](_0x4246d0[_0xac8e('0x5b')]['ids']);}})[_0xac8e('0x3a')](respondWithStatusCode(_0x4bfe74,null))[_0xac8e('0x49')](handleError(_0x4bfe74,null));};exports['download']=function(_0x4fc79f,_0x3a73b8){var _0x4df8df=moment()[_0xac8e('0x127')]()[_0xac8e('0xb0')]();var _0x166010=path[_0xac8e('0xf2')](config[_0xac8e('0xf6')],_0xac8e('0x128'),_0xac8e('0x129'),_0xac8e('0x12a'));var _0x4337af=path['join'](config[_0xac8e('0xf6')],_0xac8e('0x128'),_0xac8e('0x129'),_0xac8e('0x12b'));var _0x376e14=path[_0xac8e('0xf2')](_0x166010,_0x4df8df);var _0x5ed8be=util[_0xac8e('0xf8')]('transcript-%d-%s.zip',_0x4fc79f[_0xac8e('0xc8')]['id'],_0x4df8df);var _0x3dc90e=path[_0xac8e('0xf2')](_0x166010,_0x5ed8be);var _0x5f5683=[];_0x5f5683['push']({'model':db[_0xac8e('0x8b')],'as':_0xac8e('0x8b'),'attributes':['id',_0xac8e('0x44')],'raw':!![]});_0x5f5683[_0xac8e('0x48')]({'model':db[_0xac8e('0xe1')],'as':_0xac8e('0x7f'),'attributes':['id',_0xac8e('0x12c'),_0xac8e('0x12d')],'raw':!![]});if(_0x4fc79f[_0xac8e('0x5b')][_0xac8e('0x12b')]){_0x5f5683[_0xac8e('0x48')]({'model':db[_0xac8e('0xee')],'as':_0xac8e('0xee'),'raw':!![]});}var _0x2c46f1=[{'model':db['ChatMessage'],'as':_0xac8e('0xfb'),'attributes':['id',_0xac8e('0x40'),_0xac8e('0x95'),_0xac8e('0x107'),_0xac8e('0x108'),_0xac8e('0x12e')],'include':_0x5f5683}];_0x2c46f1[_0xac8e('0x48')]({'model':db[_0xac8e('0xcd')],'as':_0xac8e('0x12f'),'attributes':['id',_0xac8e('0x5a')]});_0x2c46f1['push']({'model':db['User'],'as':_0xac8e('0x130'),'attributes':['id','fullname']});return db['ChatInteraction']['find']({'where':{'id':_0x4fc79f['params']['id']},'include':_0x2c46f1})[_0xac8e('0x3a')](handleEntityNotFound(_0x3a73b8,null))[_0xac8e('0x3a')](function(_0x5c68f4){if(_0x5c68f4){var _0x35c348=_0x5c68f4[_0xac8e('0x131')]({'plain':!![]});fs[_0xac8e('0x132')](_0x376e14);var _0x5630d2={'channel':'Chat','account':_0x35c348[_0xac8e('0x12f')][_0xac8e('0x5a')],'agent':_0x35c348[_0xac8e('0x130')]?_0x35c348[_0xac8e('0x130')]['fullname']:_0xac8e('0x133'),'createdAt':moment(_0x35c348[_0xac8e('0x95')])[_0xac8e('0xf8')](_0xac8e('0x11c'))[_0xac8e('0xb0')](),'closedAt':_0x35c348[_0xac8e('0x50')]?moment(_0x35c348[_0xac8e('0x134')])['format'](_0xac8e('0x11c'))[_0xac8e('0xb0')]():'','disposition':_0x35c348['disposition'],'chatInfo':{'browser':_0x35c348[_0xac8e('0x135')],'os':_0x35c348['osName'],'referer':_0x35c348[_0xac8e('0x136')],'customerIp':_0x35c348[_0xac8e('0x137')],'customerPort':_0x35c348[_0xac8e('0x138')]?_0x35c348[_0xac8e('0x138')]:_0xac8e('0x133')},'messages':_(_0x35c348['Messages'])[_0xac8e('0x139')]()['filter']({'secret':![]})[_0xac8e('0x43')](function(_0x2960cf){if(_0x2960cf[_0xac8e('0xee')]){var _0x47536c=path[_0xac8e('0xf2')](_0x4337af,_0x2960cf['Attachment'][_0xac8e('0xeb')]);if(fs[_0xac8e('0x13a')](_0x47536c)){fs['createReadStream'](_0x47536c)['pipe'](fs[_0xac8e('0x13b')](path[_0xac8e('0xf2')](_0x376e14,_0x2960cf[_0xac8e('0xee')][_0xac8e('0xeb')])));}}return{'date':moment(_0x2960cf[_0xac8e('0x95')])[_0xac8e('0xf8')](_0xac8e('0x11c'))[_0xac8e('0xb0')](),'sender':_0x2960cf[_0xac8e('0x107')]==='out'?_0x2960cf['User']?_0x2960cf['User'][_0xac8e('0x44')]:_0xac8e('0xfd'):_0x2960cf[_0xac8e('0x7f')][_0xac8e('0x12c')]+(_0x2960cf[_0xac8e('0x7f')][_0xac8e('0x12d')]?'\x20'+_0x2960cf['Contact']['lastName']:''),'body':_0x2960cf['Attachment']?_0x2960cf[_0xac8e('0xee')][_0xac8e('0xeb')]:_0x2960cf['body'],'direction':_0x2960cf[_0xac8e('0x107')]===_0xac8e('0xdd')?'A':'C','secret':_0x2960cf['secret'],'read':_0x2960cf[_0xac8e('0x12e')],'attachment':_0x2960cf['Attachment']};})[_0xac8e('0x7c')]()};return ejs[_0xac8e('0x13c')](path['join'](config[_0xac8e('0xf6')],'server',_0xac8e('0x13d'),_0xac8e('0x13e')),{'interaction':_0x5630d2})[_0xac8e('0x3a')](function(_0x3f7dc3){var _0x499c5b=path[_0xac8e('0xf2')](_0x376e14,_0xac8e('0x13f')+_0x35c348['id']+'-'+_0x4df8df+'.pdf');var _0x215837={'path':_0x499c5b,'channel':_0xac8e('0x140'),'interactionId':_0x35c348['id']};return pdf[_0xac8e('0x141')](_0x3f7dc3,_0x215837);})['then'](function(){return new BPromise(function(_0x39ba8b,_0x26c797){zipdir(_0x376e14,{'saveTo':_0x3dc90e},function(_0x33f206,_0x2d3275){if(_0x33f206)return _0x26c797(_0x33f206);return _0x39ba8b(_0x2d3275);});})['then'](function(){return new BPromise(function(_0x33189b,_0x2a2d7c){rimraf(_0x376e14,function(_0x21a0d1){if(_0x21a0d1)_0x2a2d7c(_0x21a0d1);return _0x33189b();});});})['then'](function(){return _0x3a73b8[_0xac8e('0xf4')](_0x3dc90e,_0x5ed8be,function(_0x43af74){if(_0x43af74){console[_0xac8e('0x142')](_0xac8e('0x143'),_0x43af74);}else{fs['unlinkSync'](_0x3dc90e);}});});});}else{return _0x3a73b8[_0xac8e('0xe5')](0xc8);}})[_0xac8e('0x49')](handleError(_0x3a73b8,null));};