239a4ae3497088b219d9c3173f091a68e6bb0b3f
[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 _0xec56=['Account.key','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','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','rows','show','includeAll','options','create','params','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','vidaooTopic','vidaooNote','vidaooMetadata','email','POST','https://api-vidaoo.xcally.com/api/v1/meetings','isNull','follow','metadata','ValidationError','Error\x20in\x20conversion\x20vidaooMetadata','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','updateAttributes','customUpdate','CmContact','abandonInteraction,\x20%s,\x20%s,\x20%s','abandon','entity\x20not\x20found','Interaction\x20already\x20assigned','AbandonInteraction','attachmentUpload','file','basename','filename','mimetype','Attachment','attachId','ChatOfflineMessageId','join','root','server/files/attachments/','download','close','mailTranscript','server/files/chat/upload/','transcript-%s.txt','now','Messages','%s%d','agentAlias','System','customer','format','Visitor','agentIdentifier','website_alias','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','createdAt','secret','appendFileSync','MailServerOut','Smtp','CloudProvider','getSmtpOptions','sendMail','\x22%s\x22\x20<%s>','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','$gte','YYYY-MM-DD\x20HH:mm:ss','include','findAll','getMyMessages','includeAgent','addTags','setTags','omit','spread','emit','chatInteractionTags:save','removeTags','files','server','attachments','transcript-%d-%s.zip','lastName','direction','read','Account','Owner','mkdirSync','N.A.','closedAt','browserName','osName','referer','customerIp','customerPort','existsSync','createReadStream','firstName','views','downloadInteraction.ejs','Chat','createPdfFromHTML','err','unlinkSync','rimraf','moment','bluebird','mustache','util','path','ejs','lodash','squel','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','json','offset','undefined','limit','count','set','update','destroy','stack','name','send','render','merge','body','contact','agent','account','Users','map','fullname','Tags','TagIds','split','forEach','push','talking','answered','unmanaged','total','closed','waiting','UserId','disposition','abandoned','index','ChatInteraction','rawAttributes','key','model','query','keys','filters','intersection','attributes','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','u.id','ui.ChatInteractionId','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','tools_tags','expr','search','parseSearch','sqlOperator','conditions','length','find','unreadMessages','value','having','`\x20>\x200','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','buildExpression','type','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','$substring','end','some','compact','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','parse','$lte','null','\x20IS\x20NULL','\x20=\x20?','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','getChatWebsites','sequelize','toString','keyBy','fields','a.key'];(function(_0x35181c,_0x82694a){var _0xe14bf9=function(_0x2be9b7){while(--_0x2be9b7){_0x35181c['push'](_0x35181c['shift']());}};_0xe14bf9(++_0x82694a);}(_0xec56,0x1bd));var _0x6ec5=function(_0x318acc,_0x2313ba){_0x318acc=_0x318acc-0x0;var _0x492656=_0xec56[_0x318acc];return _0x492656;};'use strict';var rimraf=require(_0x6ec5('0x0'));var zipdir=require('zip-dir');var rp=require('request-promise');var moment=require(_0x6ec5('0x1'));var BPromise=require(_0x6ec5('0x2'));var Mustache=require(_0x6ec5('0x3'));var util=require(_0x6ec5('0x4'));var path=require(_0x6ec5('0x5'));var ejs=require(_0x6ec5('0x6'));var fs=require('fs');var _=require(_0x6ec5('0x7'));var squel=require(_0x6ec5('0x8'));var Redis=require(_0x6ec5('0x9'));var qs=require(_0x6ec5('0xa'));var as=require(_0x6ec5('0xb'));var pdf=require(_0x6ec5('0xc'));var logger=require(_0x6ec5('0xd'))(_0x6ec5('0xe'));var config=require(_0x6ec5('0xf'));var db=require(_0x6ec5('0x10'))['db'];config[_0x6ec5('0x11')]=_[_0x6ec5('0x12')](config[_0x6ec5('0x11')],{'host':'localhost','port':0x18eb});var socket=require(_0x6ec5('0x13'))(new Redis(config[_0x6ec5('0x11')]));require(_0x6ec5('0x14'))[_0x6ec5('0x15')](socket);var jayson=require(_0x6ec5('0x16'));var client=jayson[_0x6ec5('0x17')][_0x6ec5('0x18')]({'port':0x232b});var client9004=jayson['client'][_0x6ec5('0x18')]({'port':0x232c});function respondWithRpcPromise(_0x1d7180,_0x2b1f61,_0xb04ab6,_0x135aaf){return new BPromise(function(_0x2890fb,_0x2f4c5d){var _0x39125b=_0x135aaf||client;return _0x39125b['request'](_0x1d7180,_0xb04ab6)[_0x6ec5('0x19')](function(_0x4d1510){logger[_0x6ec5('0x1a')](_0x6ec5('0x1b'),_0x2b1f61,_0x6ec5('0x1c'));logger[_0x6ec5('0x1d')](_0x6ec5('0x1e'),_0x2b1f61,'request\x20sent',JSON[_0x6ec5('0x1f')](_0x4d1510));if(_0x4d1510[_0x6ec5('0x20')]){if(_0x4d1510[_0x6ec5('0x20')][_0x6ec5('0x21')]===0x1f4){logger[_0x6ec5('0x20')](_0x6ec5('0x1b'),_0x2b1f61,_0x4d1510[_0x6ec5('0x20')][_0x6ec5('0x22')]);return _0x2f4c5d(_0x4d1510[_0x6ec5('0x20')][_0x6ec5('0x22')]);}logger[_0x6ec5('0x20')](_0x6ec5('0x1b'),_0x2b1f61,_0x4d1510[_0x6ec5('0x20')][_0x6ec5('0x22')]);return _0x2890fb(_0x4d1510[_0x6ec5('0x20')][_0x6ec5('0x22')]);}else{logger[_0x6ec5('0x1a')]('ChatInteraction,\x20%s,\x20%s',_0x2b1f61,_0x6ec5('0x1c'));_0x2890fb(_0x4d1510[_0x6ec5('0x23')][_0x6ec5('0x22')]);}})[_0x6ec5('0x24')](function(_0x3fc9d7){logger[_0x6ec5('0x20')](_0x6ec5('0x1b'),_0x2b1f61,_0x3fc9d7);_0x2f4c5d(_0x3fc9d7);});});}function respondWithStatusCode(_0x48733b,_0x78c52c){_0x78c52c=_0x78c52c||0xcc;return function(_0x2ecdcf){if(_0x2ecdcf){return _0x48733b[_0x6ec5('0x25')](_0x78c52c);}return _0x48733b[_0x6ec5('0x26')](_0x78c52c)['end']();};}function respondWithResult(_0x27f631,_0x280748){_0x280748=_0x280748||0xc8;return function(_0x5be80f){if(_0x5be80f){return _0x27f631[_0x6ec5('0x26')](_0x280748)[_0x6ec5('0x27')](_0x5be80f);}};}function respondWithFilteredResult(_0xb4d269,_0x5078e8){return function(_0x1b779a){if(_0x1b779a){var _0xd0e8d7=typeof _0x5078e8[_0x6ec5('0x28')]===_0x6ec5('0x29')&&typeof _0x5078e8[_0x6ec5('0x2a')]==='undefined';var _0x171e2a=_0x1b779a[_0x6ec5('0x2b')];var _0x4a9860=_0xd0e8d7?0x0:_0x5078e8[_0x6ec5('0x28')];var _0x3f5ee0=_0xd0e8d7?_0x1b779a['count']:_0x5078e8[_0x6ec5('0x28')]+_0x5078e8[_0x6ec5('0x2a')];var _0x3bbf16;if(_0x3f5ee0>=_0x171e2a){_0x3f5ee0=_0x171e2a;_0x3bbf16=0xc8;}else{_0x3bbf16=0xce;}_0xb4d269[_0x6ec5('0x26')](_0x3bbf16);return _0xb4d269[_0x6ec5('0x2c')]('Content-Range',_0x4a9860+'-'+_0x3f5ee0+'/'+_0x171e2a)[_0x6ec5('0x27')](_0x1b779a);}return null;};}function saveUpdates(_0x179f57){return function(_0x24aff9){if(_0x24aff9){return _0x24aff9[_0x6ec5('0x2d')](_0x179f57)[_0x6ec5('0x19')](function(_0x22c3d3){return _0x22c3d3;});}return null;};}function removeEntity(_0x394132){return function(_0x59a6de){if(_0x59a6de){return _0x59a6de[_0x6ec5('0x2e')]()['then'](function(){_0x394132[_0x6ec5('0x26')](0xcc)['end']();});}};}function handleEntityNotFound(_0x424ec7){return function(_0x3115e3){if(!_0x3115e3){_0x424ec7['sendStatus'](0x194);}return _0x3115e3;};}function handleError(_0x5db924,_0x3bfab4){_0x3bfab4=_0x3bfab4||0x1f4;return function(_0x293915){logger['error'](_0x293915[_0x6ec5('0x2f')]);if(_0x293915[_0x6ec5('0x30')]){delete _0x293915['name'];}_0x5db924[_0x6ec5('0x26')](_0x3bfab4)[_0x6ec5('0x31')](_0x293915);};}function getMustacheRender(_0x391c01,_0x12879b){return Mustache[_0x6ec5('0x32')](_0x391c01,_[_0x6ec5('0x33')](_0x12879b[_0x6ec5('0x34')],{'contact':_0x12879b[_0x6ec5('0x35')],'message':_0x12879b['message'],'agent':_0x12879b[_0x6ec5('0x36')],'interaction':_0x12879b['interaction'],'account':_0x12879b[_0x6ec5('0x37')]}))||'';}function getInteractionUsers(_0xe1e58,_0x26ada3){return new BPromise(function(_0x128055,_0x439dd5){try{if(_0x26ada3[_0xe1e58['id']]){_0xe1e58[_0x6ec5('0x38')]=_[_0x6ec5('0x39')](_0x26ada3[_0xe1e58['id']],function(_0xab380e){return{'id':_0xab380e['id'],'fullname':_0xab380e[_0x6ec5('0x3a')]};});}}catch(_0x203756){_0x439dd5(_0x203756);}_0x128055(_0xe1e58);});}function getInteractionTags(_0x1c56e5,_0x496246){return new BPromise(function(_0x5a5cf7,_0x30465b){try{if(_0x1c56e5['TagIds']){_0x1c56e5[_0x6ec5('0x3b')]=[];_0x1c56e5[_0x6ec5('0x3c')][_0x6ec5('0x3d')](',')[_0x6ec5('0x3e')](function(_0x2b47ab){_0x1c56e5[_0x6ec5('0x3b')][_0x6ec5('0x3f')](_0x496246[_0x2b47ab]);});}delete _0x1c56e5['TagIds'];}catch(_0x239920){_0x30465b(_0x239920);}_0x5a5cf7(_0x1c56e5);});}function updateChatInteraction(_0xc79bb3,_0x42b134,_0x3aaf1a){return new BPromise(function(_0x279339,_0x32db57){return getInteractionUsers(_0xc79bb3,_0x3aaf1a)[_0x6ec5('0x19')](function(_0x4354e4){return getInteractionTags(_0x4354e4,_0x42b134);})[_0x6ec5('0x19')](function(_0x53dcd8){return getStateInteraction(_0x53dcd8);})[_0x6ec5('0x19')](function(_0x4a2f6e){_0x279339(_0x4a2f6e);})[_0x6ec5('0x24')](function(_0x58bdd0){_0x32db57(_0x58bdd0);});});}function getStateInteraction(_0x18b409){return new BPromise(function(_0x45de3c){_0x18b409['waiting']=0x0;_0x18b409[_0x6ec5('0x40')]=0x0;_0x18b409[_0x6ec5('0x41')]=0x0;_0x18b409[_0x6ec5('0x42')]=0x0;_0x18b409['abandoned']=0x0;_0x18b409[_0x6ec5('0x43')]=0x0;if(!_0x18b409[_0x6ec5('0x44')]&&!_0x18b409['UserId']){_0x18b409[_0x6ec5('0x45')]+=0x1;}if(!_0x18b409[_0x6ec5('0x44')]&&_0x18b409[_0x6ec5('0x46')]){_0x18b409[_0x6ec5('0x40')]+=0x1;if(_0x18b409[_0x6ec5('0x45')]){_0x18b409[_0x6ec5('0x45')]-=0x1;}}if(_0x18b409[_0x6ec5('0x44')]&&_0x18b409[_0x6ec5('0x47')]===_0x6ec5('0x48')){_0x18b409[_0x6ec5('0x48')]+=0x1;if(_0x18b409[_0x6ec5('0x45')]){_0x18b409['waiting']-=0x1;}}else if(_0x18b409[_0x6ec5('0x44')]&&!_0x18b409[_0x6ec5('0x46')]&&_0x18b409[_0x6ec5('0x47')]){_0x18b409[_0x6ec5('0x42')]+=0x1;if(_0x18b409['waiting']){_0x18b409[_0x6ec5('0x45')]-=0x1;}}else if(_0x18b409[_0x6ec5('0x44')]&&_0x18b409['UserId']){_0x18b409[_0x6ec5('0x41')]+=0x1;if(_0x18b409['talking']){_0x18b409[_0x6ec5('0x40')]-=0x1;}}_0x18b409[_0x6ec5('0x43')]+=0x1;_0x45de3c(_0x18b409);});}exports[_0x6ec5('0x49')]=function(_0xeac39e,_0x51f2ef){var _0x5b0656={},_0x1bbe7f={},_0x56dc23={'count':0x0,'rows':[]};var _0x2e69ff=_[_0x6ec5('0x39')](db[_0x6ec5('0x4a')][_0x6ec5('0x4b')],function(_0x2cf8c7){return{'name':_0x2cf8c7['fieldName'],'type':_0x2cf8c7['type'][_0x6ec5('0x4c')]};});_0x1bbe7f[_0x6ec5('0x4d')]=_[_0x6ec5('0x39')](_0x2e69ff,_0x6ec5('0x30'));_0x1bbe7f[_0x6ec5('0x4e')]=_[_0x6ec5('0x4f')](_0xeac39e[_0x6ec5('0x4e')]);_0x1bbe7f[_0x6ec5('0x50')]=_[_0x6ec5('0x51')](_0x1bbe7f[_0x6ec5('0x4d')],_0x1bbe7f[_0x6ec5('0x4e')]);_0x5b0656[_0x6ec5('0x52')]=_[_0x6ec5('0x51')](_0x1bbe7f[_0x6ec5('0x4d')],qs['fields'](_0xeac39e[_0x6ec5('0x4e')]['fields']));_0x5b0656[_0x6ec5('0x52')]=_0x5b0656[_0x6ec5('0x52')]['length']?_0x5b0656[_0x6ec5('0x52')]:_0x1bbe7f[_0x6ec5('0x4d')];if(!_0xeac39e['query'][_0x6ec5('0x53')](_0x6ec5('0x54'))){_0x5b0656['limit']=qs['limit'](_0xeac39e[_0x6ec5('0x4e')]['limit']);_0x5b0656['offset']=qs[_0x6ec5('0x28')](_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0x28')]);}_0x5b0656[_0x6ec5('0x55')]=qs['sort'](_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0x56')]);_0x5b0656[_0x6ec5('0x57')]=qs[_0x6ec5('0x50')](_[_0x6ec5('0x58')](_0xeac39e[_0x6ec5('0x4e')],_0x1bbe7f[_0x6ec5('0x50')]),_0x2e69ff);var _0x29bf52=[];var _0xc52e91=squel[_0x6ec5('0x59')]()[_0x6ec5('0x5a')]('id')[_0x6ec5('0x5a')](_0x6ec5('0x30'))['field'](_0x6ec5('0x5b'))[_0x6ec5('0x5c')]('tools_tags');var _0x388ddd=squel[_0x6ec5('0x59')]()[_0x6ec5('0x5a')](_0x6ec5('0x5d'))[_0x6ec5('0x5a')]('u.fullname')['field'](_0x6ec5('0x5e'))['from'](_0x6ec5('0x5f'),'ui')[_0x6ec5('0x60')](_0x6ec5('0x61'),'u',_0x6ec5('0x62'));var _0x301e31=squel['select']()[_0x6ec5('0x5c')]('chat_interactions','i')['left_join']('cm_contacts','c',_0x6ec5('0x63'))[_0x6ec5('0x60')]('users','o','o.id\x20=\x20i.UserId')[_0x6ec5('0x60')](_0x6ec5('0x64'),'a',_0x6ec5('0x65'))[_0x6ec5('0x60')](_0x6ec5('0x66'),'me','me.ChatInteractionId\x20=\x20i.id')[_0x6ec5('0x60')](_0x6ec5('0x67'),'it',_0x6ec5('0x68'))[_0x6ec5('0x60')](_0x6ec5('0x69'),'t','t.id\x20=\x20it.TagId');var _0x34a136=squel[_0x6ec5('0x6a')]();var _0x278c00=[];var _0x5c00c4=squel[_0x6ec5('0x6a')]();var _0xe8a888;if(_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0x6b')]){_0xe8a888=as[_0x6ec5('0x6c')](_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0x6b')]);var _0x2393d1=_0xe8a888[_0x6ec5('0x6d')];for(var _0x131ef3=0x0;_0x131ef3<_0xe8a888[_0x6ec5('0x6e')][_0x6ec5('0x6f')];_0x131ef3++){var _0x40c76c=_0xe8a888['conditions'][_0x131ef3];var _0x183353='i';var _0x594ab3=_[_0x6ec5('0x70')](_0x2e69ff,['name',_0x40c76c['field']]);if(!_0x594ab3){switch(_0x40c76c[_0x6ec5('0x5a')]){case _0x6ec5('0x71'):if(_0x40c76c[_0x6ec5('0x72')]==0x1){_0x301e31[_0x6ec5('0x73')]('`'+_0x40c76c[_0x6ec5('0x5a')]+'`\x20=\x200');}else{_0x301e31[_0x6ec5('0x73')]('`'+_0x40c76c[_0x6ec5('0x5a')]+_0x6ec5('0x74'));}break;case _0x6ec5('0x75'):if(_0x40c76c[_0x6ec5('0x76')]==='$substring'){if(_0x40c76c[_0x6ec5('0x72')][_0x6ec5('0x3d')]('\x20')[_0x6ec5('0x6f')]>0x1){_0x34a136[_0x2393d1](_0x6ec5('0x77'),qs['getFullTextValue'](_0x40c76c[_0x6ec5('0x72')]),null);}else{var _0x39f48a='%'+_0x40c76c['value']+'%';_0x34a136[_0x2393d1]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x39f48a,_0x39f48a,_0x39f48a);}}else{_0x594ab3=_[_0x6ec5('0x70')](_0x2e69ff,[_0x6ec5('0x30'),_0x6ec5('0x78')]);_0x40c76c[_0x6ec5('0x5a')]=_0x6ec5('0x78');_0xf44b2b=as[_0x6ec5('0x79')](_0x183353,_0x594ab3[_0x6ec5('0x7a')],_0x40c76c);_0x34a136[_0x2393d1](_0xf44b2b[_0x6ec5('0x7b')],_0xf44b2b[_0x6ec5('0x72')][_0x6ec5('0x7c')],_0xf44b2b[_0x6ec5('0x72')]['end']);}break;case _0x6ec5('0x7d'):var _0x12fdac=_0x40c76c[_0x6ec5('0x72')][_0x6ec5('0x3d')](',')['map'](function(_0x26869d){return Number(_0x26869d);});_0x12fdac[_0x6ec5('0x3e')](function(_0x1d5ee3){_0x5c00c4['or'](_0x6ec5('0x7e'),'%,'+_0x1d5ee3+',%');});_0x278c00=_['union'](_0x278c00,_0x12fdac);break;case _0x6ec5('0x7f'):if(_0x40c76c[_0x6ec5('0x76')]===_0x6ec5('0x80')){_0x34a136[_0x2393d1]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x40c76c['value']+'%',null);}else{_0x594ab3=_[_0x6ec5('0x70')](_0x2e69ff,[_0x6ec5('0x30'),'UserId']);_0x40c76c[_0x6ec5('0x5a')]=_0x6ec5('0x46');_0xf44b2b=as[_0x6ec5('0x79')](_0x183353,_0x594ab3[_0x6ec5('0x7a')],_0x40c76c);_0x34a136[_0x2393d1](_0xf44b2b['text'],_0xf44b2b[_0x6ec5('0x72')][_0x6ec5('0x7c')],_0xf44b2b[_0x6ec5('0x72')]['end']);}break;case _0x6ec5('0x34'):_0xf44b2b=as[_0x6ec5('0x79')]('me',null,_0x40c76c);_0x34a136[_0x2393d1](_0xf44b2b[_0x6ec5('0x7b')],_0xf44b2b[_0x6ec5('0x72')][_0x6ec5('0x7c')],_0xf44b2b[_0x6ec5('0x72')][_0x6ec5('0x81')]);break;}}else{var _0xf44b2b=as['buildExpression'](_0x183353,_0x594ab3[_0x6ec5('0x7a')],_0x40c76c);_0x34a136[_0x2393d1](_0xf44b2b[_0x6ec5('0x7b')],_0xf44b2b['value']['start'],_0xf44b2b[_0x6ec5('0x72')][_0x6ec5('0x81')]);}}}else{var _0x7e9bd5=_(_0xeac39e['query'])[_0x6ec5('0x4f')]()[_0x6ec5('0x39')](function(_0x3255e4){return _[_0x6ec5('0x82')](_0x2e69ff,['name',_0x3255e4])?_0x3255e4:undefined;})[_0x6ec5('0x83')]()[_0x6ec5('0x72')]();if(!_[_0x6ec5('0x84')](_0x7e9bd5)){_0x7e9bd5[_0x6ec5('0x3e')](function(_0x42fa7b){if(_0x42fa7b===_0x6ec5('0x85')){_0x301e31[_0x6ec5('0x57')](_0x6ec5('0x86'),[][_0x6ec5('0x87')](_0xeac39e['query'][_0x42fa7b]));}else if(_0x42fa7b==='createdAt'){var _0x307c53=JSON[_0x6ec5('0x88')](_0xeac39e[_0x6ec5('0x4e')][_0x42fa7b])['$gte'];var _0x31a571=JSON['parse'](_0xeac39e[_0x6ec5('0x4e')][_0x42fa7b])[_0x6ec5('0x89')];_0x301e31['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x307c53,_0x31a571);}else{if(_0xeac39e[_0x6ec5('0x4e')][_0x42fa7b]===_0x6ec5('0x8a')){_0x301e31[_0x6ec5('0x57')]('i.'+_0x42fa7b+_0x6ec5('0x8b'));}else{_0x301e31['where']('i.'+_0x42fa7b+_0x6ec5('0x8c'),_0xeac39e[_0x6ec5('0x4e')][_0x42fa7b]);}}});}if(_0xeac39e[_0x6ec5('0x4e')]['read']){if(_0xeac39e['query']['read']==0x1){_0x301e31[_0x6ec5('0x73')](_0x6ec5('0x8d'));}else{_0x301e31[_0x6ec5('0x73')](_0x6ec5('0x8e'));}}if(_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0x8f')]){_0x278c00=_[_0x6ec5('0x90')](_0xeac39e['query'][_0x6ec5('0x8f')])?_0xeac39e['query'][_0x6ec5('0x8f')]:new Array(_0xeac39e[_0x6ec5('0x4e')]['tag']);_0x278c00[_0x6ec5('0x3e')](function(_0x354187){_0x5c00c4['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x354187+',%');});}if(_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0x91')]){var _0x4bed50=_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0x91')][_0x6ec5('0x92')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x4bed50)){_0x34a136['or'](_0x6ec5('0x93'),_0x4bed50+'%');}else{_0x34a136['or'](_0x6ec5('0x94'),qs[_0x6ec5('0x95')](_0x4bed50))['or'](_0x6ec5('0x96'),_0x4bed50+'%');}}}_0x301e31[_0x6ec5('0x57')](_0x34a136);_0x301e31[_0x6ec5('0x97')](_0x6ec5('0x98'));var _0x3914ca={'type':db[_0x6ec5('0x99')][_0x6ec5('0x9a')][_0x6ec5('0x9b')],'raw':!![]};var _0x3464ba=_0x301e31[_0x6ec5('0x9c')]();_0x3464ba['field'](_0x6ec5('0x98'));_0x3464ba[_0x6ec5('0x5a')](_0x6ec5('0x9d'),_0x6ec5('0x71'));if(_0x5b0656['order']){_0x5b0656[_0x6ec5('0x55')]['forEach'](function(_0x26e2b1){var _0x2e6e33=_0x26e2b1[0x0]===_0x6ec5('0x9e')?_0x26e2b1[0x0]:'i.'+_0x26e2b1[0x0];_0x301e31[_0x6ec5('0x55')](_0x2e6e33,_0x26e2b1[0x1]===_0x6ec5('0x9f')?![]:!![]);});}if(!_[_0x6ec5('0x84')](_0x278c00)){_0x301e31[_0x6ec5('0x73')](_0x5c00c4);_0x3464ba['where'](_0x6ec5('0xa0'),_0x278c00);}BPromise[_0x6ec5('0xa1')]()['then'](function(){if(!_0xe8a888){if(_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0x85')])return;_0x3464ba[_0x6ec5('0x57')](_0x6ec5('0xa2'));_0x301e31[_0x6ec5('0x57')](_0x6ec5('0xa2'));return;}if(_0xeac39e[_0x6ec5('0xa3')][_0x6ec5('0xa4')]!==_0x6ec5('0x36'))return;return _0xeac39e[_0x6ec5('0xa3')][_0x6ec5('0xa5')]({'attributes':['id'],'raw':!![]})[_0x6ec5('0x19')](function(_0xc6dcd){if(_[_0x6ec5('0x84')](_0xc6dcd)){_0x3464ba[_0x6ec5('0x57')]('i.ChatWebsiteId\x20IS\x20NULL');_0x301e31[_0x6ec5('0x57')]('i.ChatWebsiteId\x20IS\x20NULL');}else{_0x3464ba[_0x6ec5('0x57')](_0x6ec5('0x86'),_['map'](_0xc6dcd,'id'));_0x301e31[_0x6ec5('0x57')](_0x6ec5('0x86'),_[_0x6ec5('0x39')](_0xc6dcd,'id'));}});})[_0x6ec5('0x19')](function(){if(_0xeac39e[_0x6ec5('0xa3')][_0x6ec5('0xa4')]===_0x6ec5('0x36')&&!_0xe8a888&&!_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0x85')])return[];return db[_0x6ec5('0xa6')][_0x6ec5('0x4e')](_0x3464ba[_0x6ec5('0xa7')](),_0x3914ca);})['then'](function(_0x45b840){_0x56dc23[_0x6ec5('0x2b')]=_0x45b840['length'];if(_0x56dc23['count']===0x0)return[];return db[_0x6ec5('0xa6')][_0x6ec5('0x4e')](_0xc52e91['toString'](),_0x3914ca)[_0x6ec5('0x19')](function(_0x59025e){_0x29bf52=_[_0x6ec5('0xa8')](_0x59025e,'id');_0x3914ca=_[_0x6ec5('0x33')](_0x3914ca,{'model':db[_0x6ec5('0x4a')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xeac39e[_0x6ec5('0x4e')][_0x6ec5('0xa9')]){_0x5b0656[_0x6ec5('0x52')][_0x6ec5('0x3e')](function(_0x3574fe){_0x301e31['field']('i.'+_0x3574fe);});}else{_0x301e31[_0x6ec5('0x5a')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x6ec5('0x71'));_0x301e31[_0x6ec5('0x5a')](_0x6ec5('0xaa'),_0x6ec5('0xab'));_0x301e31['field']('a.mandatoryDisposition','Account.mandatoryDisposition');_0x301e31[_0x6ec5('0x5a')](_0x6ec5('0xac'),_0x6ec5('0x9e'));_0x301e31[_0x6ec5('0x5a')](_0x6ec5('0xad'));_0x301e31['field'](_0x6ec5('0xae'),'Contact.firstName');_0x301e31[_0x6ec5('0x5a')](_0x6ec5('0xaf'),_0x6ec5('0xb0'));_0x301e31[_0x6ec5('0x5a')]('c.email',_0x6ec5('0xb1'));_0x301e31[_0x6ec5('0x5a')](_0x6ec5('0xb2'),_0x6ec5('0xb3'));_0x301e31[_0x6ec5('0x5a')](_0x6ec5('0xb4'),'Contact.mobile');_0x301e31['field'](_0x6ec5('0xb5'),_0x6ec5('0xb6'));_0x301e31[_0x6ec5('0x5a')](_0x6ec5('0xb7'),_0x6ec5('0xb8'));_0x301e31[_0x6ec5('0x5a')](_0x6ec5('0xb9'),_0x6ec5('0xba'));_0x301e31[_0x6ec5('0x5a')](_0x6ec5('0xbb'),'TagIds');}if(_0x5b0656[_0x6ec5('0x2a')])_0x301e31[_0x6ec5('0x2a')](_0x5b0656[_0x6ec5('0x2a')]);if(_0x5b0656[_0x6ec5('0x28')])_0x301e31['offset'](_0x5b0656['offset']);return db[_0x6ec5('0xa6')][_0x6ec5('0x4e')](_0x301e31['toString'](),_0x3914ca);})[_0x6ec5('0x19')](function(_0x78b13f){if(_0x78b13f[_0x6ec5('0x6f')]>0x0)_0x388ddd['where'](_0x6ec5('0xbc'),_[_0x6ec5('0x39')](_0x78b13f,'id'));return db['sequelize'][_0x6ec5('0x4e')](_0x388ddd['toString'](),_0x3914ca)['then'](function(_0x5783c5){var _0x1db6bf=_[_0x6ec5('0xbd')](_0x5783c5,_0x6ec5('0xbe'));var _0x5c00c7=[];_0x78b13f[_0x6ec5('0x3e')](function(_0x28f3f2){_0x5c00c7[_0x6ec5('0x3f')](updateChatInteraction(_0x28f3f2,_0x29bf52,_0x1db6bf));});return BPromise[_0x6ec5('0xbf')](_0x5c00c7);});});})['then'](function(_0x333385){_0x56dc23[_0x6ec5('0xc0')]=_0x333385;return _0x56dc23;})[_0x6ec5('0x19')](respondWithFilteredResult(_0x51f2ef,_0x5b0656))['catch'](handleError(_0x51f2ef,null));};exports[_0x6ec5('0xc1')]=function(_0x402c19,_0x2d8a14){var _0x474b87={'raw':![],'where':{'id':_0x402c19['params']['id']}},_0x3ce417={};_0x3ce417[_0x6ec5('0x4d')]=_[_0x6ec5('0x4f')](db[_0x6ec5('0x4a')][_0x6ec5('0x4b')]);_0x3ce417[_0x6ec5('0x4e')]=_[_0x6ec5('0x4f')](_0x402c19[_0x6ec5('0x4e')]);_0x3ce417[_0x6ec5('0x50')]=_[_0x6ec5('0x51')](_0x3ce417[_0x6ec5('0x4d')],_0x3ce417[_0x6ec5('0x4e')]);_0x474b87['attributes']=_['intersection'](_0x3ce417[_0x6ec5('0x4d')],qs[_0x6ec5('0xa9')](_0x402c19[_0x6ec5('0x4e')]['fields']));_0x474b87[_0x6ec5('0x52')]=_0x474b87[_0x6ec5('0x52')][_0x6ec5('0x6f')]?_0x474b87[_0x6ec5('0x52')]:_0x3ce417['model'];if(_0x402c19[_0x6ec5('0x4e')][_0x6ec5('0xc2')]){_0x474b87['include']=[{'all':!![]}];}_0x474b87=_[_0x6ec5('0x33')]({},_0x474b87,_0x402c19[_0x6ec5('0xc3')]);return db[_0x6ec5('0x4a')][_0x6ec5('0x70')](_0x474b87)[_0x6ec5('0x19')](handleEntityNotFound(_0x2d8a14,null))[_0x6ec5('0x19')](respondWithResult(_0x2d8a14,null))[_0x6ec5('0x24')](handleError(_0x2d8a14,null));};exports[_0x6ec5('0xc4')]=function(_0x496309,_0x161f78){return db[_0x6ec5('0x4a')][_0x6ec5('0xc4')](_0x496309[_0x6ec5('0x34')],{})[_0x6ec5('0x19')](respondWithResult(_0x161f78,0xc9))['catch'](handleError(_0x161f78,null));};exports[_0x6ec5('0x2d')]=function(_0x5409ed,_0x8dd2e){if(_0x5409ed[_0x6ec5('0x34')]['id']){delete _0x5409ed[_0x6ec5('0x34')]['id'];}return db[_0x6ec5('0x4a')]['find']({'where':{'id':_0x5409ed[_0x6ec5('0xc5')]['id']}})['then'](handleEntityNotFound(_0x8dd2e,null))[_0x6ec5('0x19')](saveUpdates(_0x5409ed[_0x6ec5('0x34')],null))[_0x6ec5('0x19')](respondWithResult(_0x8dd2e,null))['catch'](handleError(_0x8dd2e,null));};exports[_0x6ec5('0x2e')]=function(_0x23d65b,_0x5d3f68){return db[_0x6ec5('0x4a')]['find']({'where':{'id':_0x23d65b[_0x6ec5('0xc5')]['id']}})[_0x6ec5('0x19')](handleEntityNotFound(_0x5d3f68,null))[_0x6ec5('0x19')](removeEntity(_0x5d3f68,null))['catch'](handleError(_0x5d3f68,null));};exports[_0x6ec5('0xc6')]=function(_0x83453e,_0x9cbab1){return db[_0x6ec5('0x4a')]['describe']()[_0x6ec5('0x19')](respondWithResult(_0x9cbab1,null))['catch'](handleError(_0x9cbab1,null));};exports[_0x6ec5('0xc7')]=function(_0x1b9e0d,_0x227438){var _0x31ef77=_0x1b9e0d['params']['id'];var _0x51d321;var _0x1c8568;var _0x34cd17;return db[_0x6ec5('0x4a')][_0x6ec5('0xc8')]({'where':{'id':_0x31ef77}})[_0x6ec5('0x19')](function(_0x55fa60){_0x51d321=_0x55fa60;return db[_0x6ec5('0xc9')][_0x6ec5('0xc8')]({'where':{'id':_0x55fa60[_0x6ec5('0x85')]},'attributes':['id',_0x6ec5('0xca'),_0x6ec5('0xcb'),_0x6ec5('0xcc'),_0x6ec5('0xcd'),_0x6ec5('0xce')],'raw':!![]});})[_0x6ec5('0x19')](function(_0x2902f4){if(_0x2902f4&&_0x2902f4[_0x6ec5('0xca')]&&_0x2902f4[_0x6ec5('0xcb')]){_0x1c8568=_0x2902f4;var _0x280223={'interaction':{'id':_0x31ef77},'agent':{'id':_0x1b9e0d[_0x6ec5('0xa3')]['id'],'name':_0x1b9e0d[_0x6ec5('0xa3')][_0x6ec5('0x30')],'fullname':_0x1b9e0d['user']['fullname'],'email':_0x1b9e0d[_0x6ec5('0xa3')][_0x6ec5('0xcf')]},'contact':_0x1b9e0d[_0x6ec5('0x34')][_0x6ec5('0x35')],'account':_0x1b9e0d[_0x6ec5('0x34')][_0x6ec5('0x37')]};var _0x1e0c0f={'rejectUnauthorized':![],'method':_0x6ec5('0xd0'),'url':_0x6ec5('0xd1'),'headers':{'X-APIKEY':_0x2902f4[_0x6ec5('0xca')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x1b9e0d[_0x6ec5('0xa3')][_0x6ec5('0xcf')]],'buttons':null,'topic':_0x1c8568[_0x6ec5('0xcc')],'note':_[_0x6ec5('0xd2')](_0x1c8568[_0x6ec5('0xcd')])?null:getMustacheRender(_0x1c8568['vidaooNote'],_0x280223),'metadata':null},'redirect':_0x6ec5('0xd3'),'json':!![]};try{if(!_[_0x6ec5('0xd2')](_0x1c8568[_0x6ec5('0xce')])){var _0x26e30f=getMustacheRender(_0x1c8568[_0x6ec5('0xce')],_0x280223);var _0x2dc668=JSON[_0x6ec5('0x88')](_0x26e30f);_0x1e0c0f[_0x6ec5('0x34')][_0x6ec5('0xd4')]=_0x2dc668;}}catch(_0x506acf){throw new db[(_0x6ec5('0x99'))][(_0x6ec5('0xd5'))](_0x6ec5('0xd6'));}return rp(_0x1e0c0f);}else{throw new db['Sequelize'][(_0x6ec5('0xd5'))](_0x6ec5('0xd7'));}})['then'](function(_0x5d2d61){_0x34cd17=_0x5d2d61;if(_0x34cd17['id']){var _0x5618ab={'body':_0x34cd17[_0x6ec5('0xd8')],'ChatWebsiteId':_0x1c8568['id'],'ChatInteractionId':_0x51d321['id'],'direction':_0x6ec5('0xd9'),'UserId':_0x1b9e0d['user']['id']};return db[_0x6ec5('0xda')]['create'](_0x5618ab,{});}else{throw new db[(_0x6ec5('0x99'))][(_0x6ec5('0xd5'))]('Unable\x20to\x20create\x20Vidaoo\x20session');}})[_0x6ec5('0x19')](function(){return _0x51d321[_0x6ec5('0xdb')]({'vidaooSessionId':_0x34cd17['id']});})[_0x6ec5('0x19')](respondWithResult(_0x227438,null))[_0x6ec5('0x24')](handleError(_0x227438,null));};exports[_0x6ec5('0xdc')]=function(_0x40099c,_0x13f7b5){if(_0x40099c[_0x6ec5('0x34')]['id']){delete _0x40099c[_0x6ec5('0x34')]['id'];}return db[_0x6ec5('0x4a')][_0x6ec5('0x70')]({'where':{'id':_0x40099c['params']['id']},'include':[{'model':db[_0x6ec5('0xdd')],'as':'Contact'}]})[_0x6ec5('0x19')](handleEntityNotFound(_0x13f7b5,null))[_0x6ec5('0x19')](saveUpdates(_0x40099c[_0x6ec5('0x34')],null))['then'](respondWithResult(_0x13f7b5,null))[_0x6ec5('0x24')](handleError(_0x13f7b5,null));};exports['abandon']=function(_0x11615,_0x425220){if(_0x11615[_0x6ec5('0x34')]['id']){delete _0x11615[_0x6ec5('0x34')]['id'];}return db[_0x6ec5('0x4a')][_0x6ec5('0x70')]({'where':{'id':_0x11615['params']['id']}})[_0x6ec5('0x19')](function(_0x58925f){if(!_0x58925f){logger[_0x6ec5('0x20')](_0x6ec5('0xde'),_0x6ec5('0xdf'),0x194,_0x6ec5('0xe0'));_0x425220['sendStatus'](0x194);}else{if(_0x58925f[_0x6ec5('0x46')]){throw new db[(_0x6ec5('0x99'))][(_0x6ec5('0xd5'))](_0x6ec5('0xe1'));}}return _0x58925f;})['then'](function(_0x17fdea){if(_0x17fdea){return _0x17fdea['update']({'closed':_0x11615[_0x6ec5('0x34')]['closed'],'disposition':_0x11615[_0x6ec5('0x34')][_0x6ec5('0x47')]})[_0x6ec5('0x19')](function(_0x15cb73){return _0x15cb73;});}})[_0x6ec5('0x19')](function(){return respondWithRpcPromise(_0x6ec5('0xe2'),_0x6ec5('0xdf'),_0x11615['body'],client9004);})[_0x6ec5('0x19')](respondWithResult(_0x425220,null))[_0x6ec5('0x24')](handleError(_0x425220,null));};exports[_0x6ec5('0xe3')]=function(_0x40e9a8,_0x181a77){_0x40e9a8[_0x6ec5('0x34')][_0x6ec5('0x30')]=_0x40e9a8[_0x6ec5('0xe4')]['originalname'];_0x40e9a8['body'][_0x6ec5('0xe5')]=_0x40e9a8['file'][_0x6ec5('0xe6')];_0x40e9a8[_0x6ec5('0x34')][_0x6ec5('0x7a')]=_0x40e9a8['file'][_0x6ec5('0xe7')];return db['Attachment'][_0x6ec5('0xc4')](_0x40e9a8[_0x6ec5('0x34')])[_0x6ec5('0x19')](respondWithResult(_0x181a77,0xc9))[_0x6ec5('0x24')](handleError(_0x181a77,null));};exports['attachmentDownload']=function(_0x2c5cc0,_0x534539){return db['ChatInteraction']['findOne']({'where':{'id':_0x2c5cc0[_0x6ec5('0xc5')]['id']},'raw':!![]})[_0x6ec5('0x19')](handleEntityNotFound(_0x534539,null))['then'](function(_0x2a6b59){if(_0x2a6b59){if(_0x2a6b59[_0x6ec5('0x44')]){return _0x534539[_0x6ec5('0x26')](0x193)['json']({'status':0x193,'message':'Unauthorized'});}return db[_0x6ec5('0xe8')][_0x6ec5('0xc8')]({'where':{'id':_0x2c5cc0[_0x6ec5('0x4e')][_0x6ec5('0xe9')]},'raw':!![]})[_0x6ec5('0x19')](handleEntityNotFound(_0x534539,null));}})[_0x6ec5('0x19')](function(_0x1142fb){if(_0x1142fb){var _0x1253a0=_0x1142fb[_0x6ec5('0xea')]!==null;var _0x5d22b9=path[_0x6ec5('0xeb')](config[_0x6ec5('0xec')],_0x6ec5('0xed'));if(_0x1253a0){_0x5d22b9=path['join'](_0x5d22b9,'offline-chat/');}var _0x3ea6ae=path[_0x6ec5('0xeb')](_0x5d22b9,_0x1142fb[_0x6ec5('0xe5')]);return _0x534539[_0x6ec5('0xee')](_0x3ea6ae);}})[_0x6ec5('0x24')](handleError(_0x534539,null));};exports[_0x6ec5('0xef')]=function(_0x2d0aa9,_0x5c8eff){var _0x4fe4b1=null;var _0x499222=null;var _0x50d19a=null;if(_0x2d0aa9['body']['id']){delete _0x2d0aa9[_0x6ec5('0x34')]['id'];}if(_0x2d0aa9['body'][_0x6ec5('0xf0')]){_0x50d19a=path[_0x6ec5('0xeb')](config[_0x6ec5('0xec')],_0x6ec5('0xf1'),util['format'](_0x6ec5('0xf2'),Date[_0x6ec5('0xf3')]()));_0x2d0aa9[_0x6ec5('0x34')]['pathTranscript']=_0x50d19a;}return db['ChatInteraction'][_0x6ec5('0x70')]({'where':{'id':_0x2d0aa9[_0x6ec5('0xc5')]['id']},'include':[{'model':db[_0x6ec5('0xda')],'as':_0x6ec5('0xf4'),'include':[{'model':db['User'],'as':_0x6ec5('0x7f')}]}]})[_0x6ec5('0x19')](handleEntityNotFound(_0x5c8eff,null))[_0x6ec5('0x19')](saveUpdates(_0x2d0aa9[_0x6ec5('0x34')],null))['then'](function(_0x4e432a){if(_0x4e432a){_0x4fe4b1=_0x4e432a;return db['ChatWebsite'][_0x6ec5('0x70')]({'where':{'id':_0x4fe4b1[_0x6ec5('0x85')]}});}})[_0x6ec5('0x19')](function(_0x3c186d){if(_0x3c186d){_0x499222=_0x3c186d;return db[_0x6ec5('0xdd')][_0x6ec5('0x70')]({'where':{'id':_0x4fe4b1['ContactId']}});}})[_0x6ec5('0x19')](function(_0x47b3dc){if(_0x47b3dc){if(_0x50d19a){var _0x4256fc=null;for(var _0x1ad68c=0x1;_0x1ad68c<_0x4fe4b1['Messages'][_0x6ec5('0x6f')];++_0x1ad68c){_0x4256fc=_0x4fe4b1[_0x6ec5('0xf4')][_0x1ad68c];var _0x2d95a3=_0x4256fc[_0x6ec5('0x46')]?util['format'](_0x6ec5('0xf5'),_0x499222[_0x6ec5('0xf6')],_0x4256fc['UserId']):_0x6ec5('0xf7');var _0x123754=_0x2d0aa9[_0x6ec5('0x34')][_0x6ec5('0xf8')]||util[_0x6ec5('0xf9')]('%s%d',_0x6ec5('0xfa'),_0x4256fc['ContactId']);switch(_0x499222[_0x6ec5('0xfb')]){case _0x6ec5('0xfc'):_0x2d95a3=_0x4256fc['UserId']?util[_0x6ec5('0xf9')](_0x6ec5('0xf5'),_0x499222['agentAlias'],_0x4256fc['UserId']):_0x6ec5('0xf7');break;case _0x6ec5('0xfd'):_0x2d95a3=_0x4256fc[_0x6ec5('0x46')]?_0x4256fc['User'][_0x6ec5('0xfe')]||_0x4256fc[_0x6ec5('0x7f')][_0x6ec5('0x3a')]:_0x6ec5('0xf7');break;case _0x6ec5('0xff'):_0x2d95a3=_0x4256fc[_0x6ec5('0x46')]?_0x4256fc[_0x6ec5('0x7f')][_0x6ec5('0x3a')]:_0x6ec5('0xf7');break;default:_0x2d95a3=_0x4256fc[_0x6ec5('0x46')]?util[_0x6ec5('0xf9')](_0x6ec5('0xf5'),_0x499222[_0x6ec5('0xf6')],_0x4256fc[_0x6ec5('0x46')]):_0x6ec5('0xf7');}var _0x366b80=util[_0x6ec5('0xf9')](_0x6ec5('0x100'),moment(_0x4256fc[_0x6ec5('0x101')])[_0x6ec5('0xf9')]('MM/DD/YYYY\x20HH:mm:ss'),_0x4256fc['direction']==='in'?_0x123754:_0x2d95a3,_0x4256fc[_0x6ec5('0x34')]);if(!_0x4256fc[_0x6ec5('0x102')]){fs[_0x6ec5('0x103')](_0x50d19a,_0x366b80);}}return db['MailAccount'][_0x6ec5('0xc8')]({'where':{'service':!![]},'include':[{'model':db[_0x6ec5('0x104')],'as':_0x6ec5('0x105'),'raw':!![],'include':[{'model':db[_0x6ec5('0x106')],'as':_0x6ec5('0x106'),'raw':!![]}]}]});}}})[_0x6ec5('0x19')](function(_0x8b2ffd){if(!_0x8b2ffd||!_0x8b2ffd[_0x6ec5('0x105')]||!_0x2d0aa9[_0x6ec5('0x34')])return _0x4fe4b1;var _0xb90e78=_0x8b2ffd[_0x6ec5('0x107')]();return respondWithRpcPromise('SendMail',_0x6ec5('0x108'),{'account':_0xb90e78,'message':{'from':util['format'](_0x6ec5('0x109'),_0x8b2ffd['name'],_0x8b2ffd[_0x6ec5('0xcf')]||_0x8b2ffd[_0x6ec5('0x105')][_0x6ec5('0xa3')]),'to':_0x2d0aa9['body'][_0x6ec5('0xf0')],'subject':'Mail\x20Transcript','text':util[_0x6ec5('0xf9')](_0x6ec5('0x10a'),_0x2d0aa9[_0x6ec5('0x34')]['mailTranscript']),'attachments':[{'path':_0x50d19a}]}})[_0x6ec5('0x19')](function(){return _0x4fe4b1;})[_0x6ec5('0x24')](function(_0xd2b9ef){logger['error'](_0xd2b9ef);});})[_0x6ec5('0x19')](respondWithStatusCode(_0x5c8eff,0xc8))[_0x6ec5('0x24')](handleError(_0x5c8eff,null));};exports[_0x6ec5('0x10b')]=function(_0x1c7b04,_0xed8846){return db[_0x6ec5('0xda')]['find']({'where':{'id':_0x1c7b04[_0x6ec5('0xc5')]['id']}})['then'](handleEntityNotFound(_0xed8846,null))[_0x6ec5('0x19')](function(_0x10e4d7){if(_0x10e4d7){return _0x10e4d7[_0x6ec5('0x10b')](_0x1c7b04[_0x6ec5('0x34')][_0x6ec5('0x10c')],_['omit'](_0x1c7b04['body'],['ids','id'])||{});}})['then'](respondWithResult(_0xed8846,null))[_0x6ec5('0x24')](handleError(_0xed8846,null));};exports['getMessages']=function(_0x5a464d,_0x540592){var _0x3bf9ce={'raw':![],'where':{}};var _0x114ca4={};var _0x249219={'count':0x0,'rows':[]};return db['ChatInteraction']['findOne']({'where':{'id':_0x5a464d['params']['id']}})[_0x6ec5('0x19')](handleEntityNotFound(_0x540592,null))['then'](function(_0x212558){if(_0x212558){_0x114ca4[_0x6ec5('0x4d')]=_['keys'](db[_0x6ec5('0xda')][_0x6ec5('0x4b')]);_0x114ca4[_0x6ec5('0x4e')]=_[_0x6ec5('0x4f')](_0x5a464d[_0x6ec5('0x4e')]);_0x114ca4['filters']=_[_0x6ec5('0x51')](_0x114ca4['model'],_0x114ca4[_0x6ec5('0x4e')]);_0x3bf9ce[_0x6ec5('0x52')]=_['intersection'](_0x114ca4[_0x6ec5('0x4d')],qs[_0x6ec5('0xa9')](_0x5a464d[_0x6ec5('0x4e')][_0x6ec5('0xa9')]));_0x3bf9ce['attributes']=_0x3bf9ce[_0x6ec5('0x52')]['length']?_0x3bf9ce[_0x6ec5('0x52')]:_0x114ca4[_0x6ec5('0x4d')];if(!_0x5a464d[_0x6ec5('0x4e')][_0x6ec5('0x53')](_0x6ec5('0x54'))){_0x3bf9ce[_0x6ec5('0x2a')]=qs[_0x6ec5('0x2a')](_0x5a464d[_0x6ec5('0x4e')][_0x6ec5('0x2a')]);_0x3bf9ce[_0x6ec5('0x28')]=qs[_0x6ec5('0x28')](_0x5a464d['query']['offset']);}_0x3bf9ce[_0x6ec5('0x55')]=qs[_0x6ec5('0x56')](_0x5a464d[_0x6ec5('0x4e')][_0x6ec5('0x56')]);_0x3bf9ce['where']=qs[_0x6ec5('0x50')](_[_0x6ec5('0x58')](_0x5a464d[_0x6ec5('0x4e')],_0x114ca4[_0x6ec5('0x50')]));_0x3bf9ce[_0x6ec5('0x57')]['ChatInteractionId']=_0x212558['id'];if(_0x5a464d['query'][_0x6ec5('0x91')]){_0x3bf9ce[_0x6ec5('0x57')]=_['merge'](_0x3bf9ce[_0x6ec5('0x57')],{'$or':_[_0x6ec5('0x39')](_0x3bf9ce['attributes'],function(_0x22d09e){var _0x14d39d={};_0x14d39d[_0x22d09e]={'$like':'%'+_0x5a464d[_0x6ec5('0x4e')]['filter']+'%'};return _0x14d39d;})});}if(_0x5a464d['query'][_0x6ec5('0x10d')]){var _0x58eeb9=_0x5a464d[_0x6ec5('0x4e')][_0x6ec5('0x10d')][_0x6ec5('0x3d')](',');var _0x48ba54={};_0x48ba54[_0x58eeb9[0x0]]={'$gte':moment(_0x58eeb9[0x1])[_0x6ec5('0xf9')](_0x6ec5('0x10e'))};_0x3bf9ce[_0x6ec5('0x57')]=_[_0x6ec5('0x33')](_0x3bf9ce[_0x6ec5('0x57')],_0x48ba54);}_0x3bf9ce=_[_0x6ec5('0x33')]({},_0x3bf9ce,_0x5a464d[_0x6ec5('0xc3')]);return db[_0x6ec5('0xda')][_0x6ec5('0x2b')]({'where':_0x3bf9ce[_0x6ec5('0x57')]})['then'](function(_0x2984e1){_0x249219[_0x6ec5('0x2b')]=_0x2984e1;if(_0x5a464d[_0x6ec5('0x4e')]['includeAll']){_0x3bf9ce[_0x6ec5('0x10f')]=[{'all':!![]}];}return db[_0x6ec5('0xda')][_0x6ec5('0x110')](_0x3bf9ce);})[_0x6ec5('0x19')](function(_0x40beb9){_0x249219[_0x6ec5('0xc0')]=_0x40beb9;return _0x249219;});}})[_0x6ec5('0x19')](respondWithFilteredResult(_0x540592,_0x3bf9ce))[_0x6ec5('0x24')](handleError(_0x540592,null));};exports[_0x6ec5('0x111')]=function(_0x17d28a,_0x59bdf4){var _0x5ea009={'where':{}},_0xfdf0fb={},_0xb10dcd={'count':0x0,'rows':[]};return db[_0x6ec5('0x4a')][_0x6ec5('0xc8')]({'where':{'id':_0x17d28a[_0x6ec5('0xc5')]['id']}})['then'](handleEntityNotFound(_0x59bdf4,null))[_0x6ec5('0x19')](function(_0x4d6ae2){if(_0x4d6ae2){_0xfdf0fb[_0x6ec5('0x4d')]=_['keys'](db[_0x6ec5('0xda')][_0x6ec5('0x4b')]);_0xfdf0fb[_0x6ec5('0x4e')]=_[_0x6ec5('0x4f')](_0x17d28a[_0x6ec5('0x4e')]);_0xfdf0fb['filters']=_[_0x6ec5('0x51')](_0xfdf0fb['model'],_0xfdf0fb['query']);_0x5ea009[_0x6ec5('0x52')]=_[_0x6ec5('0x51')](_0xfdf0fb[_0x6ec5('0x4d')],qs['fields'](_0x17d28a[_0x6ec5('0x4e')][_0x6ec5('0xa9')]));_0x5ea009['attributes']=_0x5ea009['attributes']['length']?_0x5ea009['attributes']:_0xfdf0fb[_0x6ec5('0x4d')];if(!_0x17d28a[_0x6ec5('0x4e')][_0x6ec5('0x53')](_0x6ec5('0x54'))){_0x5ea009[_0x6ec5('0x2a')]=qs['limit'](_0x17d28a[_0x6ec5('0x4e')]['limit']);_0x5ea009[_0x6ec5('0x28')]=qs['offset'](_0x17d28a['query'][_0x6ec5('0x28')]);}_0x5ea009[_0x6ec5('0x55')]=qs['sort'](_0x17d28a[_0x6ec5('0x4e')][_0x6ec5('0x56')]);_0x5ea009[_0x6ec5('0x57')]=qs[_0x6ec5('0x50')](_['pick'](_0x17d28a[_0x6ec5('0x4e')],_0xfdf0fb[_0x6ec5('0x50')]));_0x5ea009[_0x6ec5('0x57')]['ChatInteractionId']=_0x4d6ae2['id'];if(_0x17d28a[_0x6ec5('0x4e')][_0x6ec5('0x91')]){_0x5ea009['where']=_[_0x6ec5('0x33')](_0x5ea009['where'],{'$or':_['map'](_0x5ea009[_0x6ec5('0x52')],function(_0x28c57c){var _0x337c2b={};_0x337c2b[_0x28c57c]={'$like':'%'+_0x17d28a[_0x6ec5('0x4e')]['filter']+'%'};return _0x337c2b;})});}_0x5ea009[_0x6ec5('0x57')][_0x6ec5('0x102')]=![];if(_0x17d28a['query']['id']){_0x5ea009[_0x6ec5('0x57')]['id']={'$gt':_0x17d28a[_0x6ec5('0x4e')]['id']};}_0x5ea009=_[_0x6ec5('0x33')]({},_0x5ea009,_0x17d28a[_0x6ec5('0xc3')]);return db['ChatMessage'][_0x6ec5('0x2b')]({'where':_0x5ea009['where']})[_0x6ec5('0x19')](function(_0x51c78f){_0xb10dcd[_0x6ec5('0x2b')]=_0x51c78f;_0x5ea009[_0x6ec5('0x10f')]=[];if(_0x17d28a[_0x6ec5('0x4e')][_0x6ec5('0x112')]){_0x5ea009[_0x6ec5('0x10f')]['push']({'model':db[_0x6ec5('0x7f')],'as':_0x6ec5('0x7f'),'attributes':['id',_0x6ec5('0x3a'),_0x6ec5('0xfe')]});}if(_0x17d28a[_0x6ec5('0x4e')][_0x6ec5('0xc2')]){_0x5ea009[_0x6ec5('0x10f')]=[{'all':!![]}];}return db[_0x6ec5('0xda')]['findAll'](_0x5ea009);})['then'](function(_0x1f5371){_0xb10dcd[_0x6ec5('0xc0')]=_0x1f5371;return _0xb10dcd;});}})['then'](respondWithFilteredResult(_0x59bdf4,_0x5ea009))[_0x6ec5('0x24')](handleError(_0x59bdf4,null));};exports[_0x6ec5('0x113')]=function(_0x133a0c,_0x23d39e){return db[_0x6ec5('0x4a')][_0x6ec5('0x70')]({'where':{'id':_0x133a0c[_0x6ec5('0xc5')]['id']}})['then'](handleEntityNotFound(_0x23d39e,null))[_0x6ec5('0x19')](function(_0x39c1f3){if(_0x39c1f3){return _0x39c1f3[_0x6ec5('0x114')](_0x133a0c[_0x6ec5('0x34')]['ids'],_[_0x6ec5('0x115')](_0x133a0c[_0x6ec5('0x34')],[_0x6ec5('0x10c'),'id'])||{})[_0x6ec5('0x116')](function(){return db[_0x6ec5('0x7d')]['findAll']({'attributes':['id','name',_0x6ec5('0x5b')],'where':{'id':_0x133a0c[_0x6ec5('0x34')]['ids']}});})['then'](function(_0x5127c9){socket[_0x6ec5('0x117')](_0x6ec5('0x118'),{'id':Number(_0x133a0c[_0x6ec5('0xc5')]['id']),'tags':_0x5127c9||[]});return{'id':Number(_0x133a0c['params']['id']),'tags':_0x5127c9||[]};});}})[_0x6ec5('0x19')](respondWithResult(_0x23d39e,null))['catch'](handleError(_0x23d39e,null));};exports[_0x6ec5('0x119')]=function(_0x3a3ecc,_0x569b84){return db[_0x6ec5('0x4a')][_0x6ec5('0x70')]({'where':{'id':_0x3a3ecc[_0x6ec5('0xc5')]['id']}})[_0x6ec5('0x19')](handleEntityNotFound(_0x569b84,null))[_0x6ec5('0x19')](function(_0x49f6dd){if(_0x49f6dd){return _0x49f6dd['removeTags'](_0x3a3ecc[_0x6ec5('0x4e')][_0x6ec5('0x10c')]);}})[_0x6ec5('0x19')](respondWithStatusCode(_0x569b84,null))[_0x6ec5('0x24')](handleError(_0x569b84,null));};exports[_0x6ec5('0xee')]=function(_0x1b2cb6,_0x1af590){var _0x303b9b=moment()['unix']()[_0x6ec5('0xa7')]();var _0x14f55d=path[_0x6ec5('0xeb')](config[_0x6ec5('0xec')],'server',_0x6ec5('0x11a'),'tmp');var _0x4a4e2=path[_0x6ec5('0xeb')](config[_0x6ec5('0xec')],_0x6ec5('0x11b'),'files',_0x6ec5('0x11c'));var _0x49d151=path['join'](_0x14f55d,_0x303b9b);var _0x29fe92=util[_0x6ec5('0xf9')](_0x6ec5('0x11d'),_0x1b2cb6[_0x6ec5('0xc5')]['id'],_0x303b9b);var _0x5eeb97=path['join'](_0x14f55d,_0x29fe92);var _0x45d55c=[];_0x45d55c[_0x6ec5('0x3f')]({'model':db[_0x6ec5('0x7f')],'as':_0x6ec5('0x7f'),'attributes':['id',_0x6ec5('0x3a')],'raw':!![]});_0x45d55c[_0x6ec5('0x3f')]({'model':db[_0x6ec5('0xdd')],'as':'Contact','attributes':['id','firstName',_0x6ec5('0x11e')],'raw':!![]});if(_0x1b2cb6[_0x6ec5('0x4e')][_0x6ec5('0x11c')]){_0x45d55c[_0x6ec5('0x3f')]({'model':db[_0x6ec5('0xe8')],'as':'Attachment','raw':!![]});}var _0x37f4e0=[{'model':db[_0x6ec5('0xda')],'as':_0x6ec5('0xf4'),'attributes':['id',_0x6ec5('0x34'),_0x6ec5('0x101'),_0x6ec5('0x11f'),_0x6ec5('0x102'),_0x6ec5('0x120')],'include':_0x45d55c}];_0x37f4e0['push']({'model':db[_0x6ec5('0xc9')],'as':_0x6ec5('0x121'),'attributes':['id',_0x6ec5('0x30')]});_0x37f4e0[_0x6ec5('0x3f')]({'model':db[_0x6ec5('0x7f')],'as':_0x6ec5('0x122'),'attributes':['id',_0x6ec5('0x3a')]});return db[_0x6ec5('0x4a')][_0x6ec5('0x70')]({'where':{'id':_0x1b2cb6[_0x6ec5('0xc5')]['id']},'include':_0x37f4e0})[_0x6ec5('0x19')](handleEntityNotFound(_0x1af590,null))['then'](function(_0x576168){if(_0x576168){var _0x1a70bf=_0x576168['get']({'plain':!![]});fs[_0x6ec5('0x123')](_0x49d151);var _0x3aae21={'channel':'Chat','account':_0x1a70bf['Account']['name'],'agent':_0x1a70bf[_0x6ec5('0x122')]?_0x1a70bf[_0x6ec5('0x122')][_0x6ec5('0x3a')]:_0x6ec5('0x124'),'createdAt':moment(_0x1a70bf[_0x6ec5('0x101')])[_0x6ec5('0xf9')](_0x6ec5('0x10e'))[_0x6ec5('0xa7')](),'closedAt':_0x1a70bf[_0x6ec5('0x44')]?moment(_0x1a70bf[_0x6ec5('0x125')])['format'](_0x6ec5('0x10e'))['toString']():'','disposition':_0x1a70bf[_0x6ec5('0x47')],'chatInfo':{'browser':_0x1a70bf[_0x6ec5('0x126')],'os':_0x1a70bf[_0x6ec5('0x127')],'referer':_0x1a70bf[_0x6ec5('0x128')],'customerIp':_0x1a70bf[_0x6ec5('0x129')],'customerPort':_0x1a70bf[_0x6ec5('0x12a')]?_0x1a70bf['customerPort']:_0x6ec5('0x124')},'messages':_(_0x1a70bf[_0x6ec5('0xf4')])['tail']()[_0x6ec5('0x91')]({'secret':![]})[_0x6ec5('0x39')](function(_0x3d417e){if(_0x3d417e[_0x6ec5('0xe8')]){var _0x31e1cc=path[_0x6ec5('0xeb')](_0x4a4e2,_0x3d417e[_0x6ec5('0xe8')][_0x6ec5('0xe5')]);if(fs[_0x6ec5('0x12b')](_0x31e1cc)){fs[_0x6ec5('0x12c')](_0x31e1cc)['pipe'](fs['createWriteStream'](path['join'](_0x49d151,_0x3d417e[_0x6ec5('0xe8')]['basename'])));}}return{'date':moment(_0x3d417e[_0x6ec5('0x101')])[_0x6ec5('0xf9')]('YYYY-MM-DD\x20HH:mm:ss')[_0x6ec5('0xa7')](),'sender':_0x3d417e['direction']===_0x6ec5('0xd9')?_0x3d417e[_0x6ec5('0x7f')]?_0x3d417e[_0x6ec5('0x7f')][_0x6ec5('0x3a')]:_0x6ec5('0xf7'):_0x3d417e['Contact'][_0x6ec5('0x12d')]+(_0x3d417e['Contact'][_0x6ec5('0x11e')]?'\x20'+_0x3d417e[_0x6ec5('0x75')][_0x6ec5('0x11e')]:''),'body':_0x3d417e['Attachment']?_0x3d417e[_0x6ec5('0xe8')][_0x6ec5('0xe5')]:_0x3d417e[_0x6ec5('0x34')],'direction':_0x3d417e[_0x6ec5('0x11f')]==='out'?'A':'C','secret':_0x3d417e[_0x6ec5('0x102')],'read':_0x3d417e['read'],'attachment':_0x3d417e['Attachment']};})[_0x6ec5('0x72')]()};return ejs['renderFile'](path[_0x6ec5('0xeb')](config[_0x6ec5('0xec')],_0x6ec5('0x11b'),_0x6ec5('0x12e'),_0x6ec5('0x12f')),{'interaction':_0x3aae21})[_0x6ec5('0x19')](function(_0x2d91d4){var _0x558c48=path[_0x6ec5('0xeb')](_0x49d151,'transcript-'+_0x1a70bf['id']+'-'+_0x303b9b+'.pdf');var _0x506a5e={'path':_0x558c48,'channel':_0x6ec5('0x130'),'interactionId':_0x1a70bf['id']};return pdf[_0x6ec5('0x131')](_0x2d91d4,_0x506a5e);})['then'](function(){return new Promise(function(_0x5cc6ab,_0x2f47bf){zipdir(_0x49d151,{'saveTo':_0x5eeb97},function(_0x10113c,_0x31ef83){if(_0x10113c)return _0x2f47bf(_0x10113c);return _0x5cc6ab(_0x31ef83);});})[_0x6ec5('0x19')](function(){return new BPromise(function(_0x479825,_0x31be2b){rimraf(_0x49d151,function(_0x11ac51){if(_0x11ac51)_0x31be2b(_0x11ac51);return _0x479825();});});})[_0x6ec5('0x19')](function(){return _0x1af590['download'](_0x5eeb97,_0x29fe92,function(_0x5bd5da){if(_0x5bd5da){logger['error'](_0x6ec5('0x132'),_0x5bd5da);}else{fs[_0x6ec5('0x133')](_0x5eeb97);}});});});}else{return _0x1af590['sendStatus'](0xc8);}})[_0x6ec5('0x24')](handleError(_0x1af590,null));};