ff6839822f9ef30750c34011c5b9c6c9d9f83ab2
[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 _0xd4a3=['ChatInteraction','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','hasOwnProperty','nolimit','order','sort','field','color','from','tools_tags','u.id','u.fullname','user_has_chat_interactions','left_join','u.id\x20=\x20ui.UserId','select','chat_interactions','cm_contacts','users','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','chat_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','find','unreadMessages','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','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','buildExpression','some','isEmpty','ChatWebsiteId','where','i.ChatWebsiteId\x20IN\x20?','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','SELECT','clone','t.id\x20IN\x20?','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','user','role','sequelize','count','keyBy','fields','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.*','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','o.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','toString','length','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','rows','show','params','include','create','body','describe','createVidaooSession','ChatWebsite','findOne','vidaooApiKey','vidaooEscalation','vidaooNote','vidaooMetadata','email','contact','POST','https://api-vidaoo.xcally.com/api/v1/meetings','vidaooTopic','isNull','follow','Sequelize','ValidationError','Error\x20in\x20conversion\x20vidaooMetadata','Error\x20in\x20Vidaoo\x20configuration','join_url','updateAttributes','CmContact','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','disposition','AbandonInteraction','attachmentUpload','file','basename','attachmentDownload','Unauthorized','attachId','join','offline-chat/','close','mailTranscript','root','server/files/chat/upload/','format','transcript-%s.txt','now','pathTranscript','ChatMessage','User','Messages','UserId','agentAlias','System','customer','%s%d','Visitor','agentIdentifier','website_alias','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','direction','appendFileSync','MailServerOut','Smtp','service','host','port','secure','auth','pass','sendMail','\x22%s\x22\x20<%s>','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','pick','filter','options','includeAll','findAll','getMyMessages','secret','includeAgent','spread','emit','chatInteractionTags:save','removeTags','download','unix','files','tmp','server','attachments','transcript-%d-%s.zip','firstName','lastName','Attachment','Account','Owner','get','Chat','N.A.','createdAt','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','browserName','referer','customerPort','tail','existsSync','createReadStream','pipe','createWriteStream','out','renderFile','views','downloadInteraction.html','transcript-','.pdf','createPdfFromHTML','log','err','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','request','then','info','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','ChatInteraction,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','offset','undefined','limit','Content-Range','json','apply','update','destroy','name','send','merge','agent','interaction','account','map','fullname','TagIds','Tags','split','forEach','push','index'];(function(_0x4b2993,_0xd46430){var _0x480074=function(_0x37e7fc){while(--_0x37e7fc){_0x4b2993['push'](_0x4b2993['shift']());}};_0x480074(++_0xd46430);}(_0xd4a3,0xf4));var _0x3d4a=function(_0x3e55a5,_0x1959be){_0x3e55a5=_0x3e55a5-0x0;var _0x48e809=_0xd4a3[_0x3e55a5];return _0x48e809;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3d4a('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3d4a('0x1'));var rp=require(_0x3d4a('0x2'));var moment=require(_0x3d4a('0x3'));var BPromise=require(_0x3d4a('0x4'));var Mustache=require(_0x3d4a('0x5'));var util=require(_0x3d4a('0x6'));var path=require(_0x3d4a('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x3d4a('0x8'));var fs=require('fs');var fs_extra=require(_0x3d4a('0x9'));var _=require(_0x3d4a('0xa'));var squel=require(_0x3d4a('0xb'));var crypto=require(_0x3d4a('0xc'));var jsforce=require(_0x3d4a('0xd'));var deskjs=require(_0x3d4a('0xe'));var toCsv=require(_0x3d4a('0xf'));var querystring=require(_0x3d4a('0x10'));var Papa=require(_0x3d4a('0x11'));var Redis=require(_0x3d4a('0x12'));var authService=require(_0x3d4a('0x13'));var qs=require(_0x3d4a('0x14'));var as=require(_0x3d4a('0x15'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x3d4a('0x16'));var logger=require('../../config/logger')(_0x3d4a('0x17'));var utils=require(_0x3d4a('0x18'));var config=require(_0x3d4a('0x19'));var licenseUtil=require(_0x3d4a('0x1a'));var db=require('../../mysqldb')['db'];config[_0x3d4a('0x1b')]=_[_0x3d4a('0x1c')](config[_0x3d4a('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0x3d4a('0x1d'))(new Redis(config['redis']));require(_0x3d4a('0x1e'))[_0x3d4a('0x1f')](socket);var jayson=require(_0x3d4a('0x20'));var client=jayson[_0x3d4a('0x21')][_0x3d4a('0x22')]({'port':0x232b});var client9004=jayson['client']['http']({'port':0x232c});function respondWithRpcPromise(_0x328e38,_0x7ad84b,_0x8aa0c8,_0x42f32c){return new BPromise(function(_0x31edfb,_0x46ef00){var _0x3cd6b4=_0x42f32c||client;return _0x3cd6b4[_0x3d4a('0x23')](_0x328e38,_0x8aa0c8)[_0x3d4a('0x24')](function(_0x197f42){logger[_0x3d4a('0x25')]('ChatInteraction,\x20%s,\x20%s',_0x7ad84b,_0x3d4a('0x26'));logger[_0x3d4a('0x27')](_0x3d4a('0x28'),_0x7ad84b,_0x3d4a('0x26'),JSON[_0x3d4a('0x29')](_0x197f42));if(_0x197f42[_0x3d4a('0x2a')]){if(_0x197f42[_0x3d4a('0x2a')]['code']===0x1f4){logger[_0x3d4a('0x2a')](_0x3d4a('0x2b'),_0x7ad84b,_0x197f42[_0x3d4a('0x2a')][_0x3d4a('0x2c')]);return _0x46ef00(_0x197f42[_0x3d4a('0x2a')][_0x3d4a('0x2c')]);}logger[_0x3d4a('0x2a')](_0x3d4a('0x2b'),_0x7ad84b,_0x197f42[_0x3d4a('0x2a')][_0x3d4a('0x2c')]);return _0x31edfb(_0x197f42['error'][_0x3d4a('0x2c')]);}else{logger[_0x3d4a('0x25')]('ChatInteraction,\x20%s,\x20%s',_0x7ad84b,_0x3d4a('0x26'));_0x31edfb(_0x197f42[_0x3d4a('0x2d')][_0x3d4a('0x2c')]);}})[_0x3d4a('0x2e')](function(_0x34652e){logger[_0x3d4a('0x2a')](_0x3d4a('0x2b'),_0x7ad84b,_0x34652e);_0x46ef00(_0x34652e);});});}function respondWithStatusCode(_0x16e42a,_0x136ccc){_0x136ccc=_0x136ccc||0xcc;return function(_0x3fa046){if(_0x3fa046){return _0x16e42a[_0x3d4a('0x2f')](_0x136ccc);}return _0x16e42a[_0x3d4a('0x30')](_0x136ccc)[_0x3d4a('0x31')]();};}function respondWithResult(_0x4447ec,_0x2d0fcd){_0x2d0fcd=_0x2d0fcd||0xc8;return function(_0x4ddfc5){if(_0x4ddfc5){return _0x4447ec[_0x3d4a('0x30')](_0x2d0fcd)['json'](_0x4ddfc5);}};}function respondWithFilteredResult(_0x165f7c,_0x4630b5){return function(_0xf52d3d){if(_0xf52d3d){var _0x1fade4=typeof _0x4630b5[_0x3d4a('0x32')]===_0x3d4a('0x33')&&typeof _0x4630b5[_0x3d4a('0x34')]===_0x3d4a('0x33');var _0x44573b=_0xf52d3d['count'];var _0x55f2a5=_0x1fade4?0x0:_0x4630b5[_0x3d4a('0x32')];var _0x1c8ddf=_0x1fade4?_0xf52d3d['count']:_0x4630b5[_0x3d4a('0x32')]+_0x4630b5['limit'];var _0x184617;if(_0x1c8ddf>=_0x44573b){_0x1c8ddf=_0x44573b;_0x184617=0xc8;}else{_0x184617=0xce;}_0x165f7c['status'](_0x184617);return _0x165f7c['set'](_0x3d4a('0x35'),_0x55f2a5+'-'+_0x1c8ddf+'/'+_0x44573b)[_0x3d4a('0x36')](_0xf52d3d);}return null;};}function patchUpdates(_0x1013df){return function(_0x1e1146){try{jsonpatch[_0x3d4a('0x37')](_0x1e1146,_0x1013df,!![]);}catch(_0x1d6b1c){return BPromise['reject'](_0x1d6b1c);}return _0x1e1146['save']();};}function saveUpdates(_0x5cd16f,_0x50305f){return function(_0x124297){if(_0x124297){return _0x124297[_0x3d4a('0x38')](_0x5cd16f)[_0x3d4a('0x24')](function(_0x3393ec){return _0x3393ec;});}return null;};}function removeEntity(_0x49fc49,_0x55ee2b){return function(_0x535d30){if(_0x535d30){return _0x535d30[_0x3d4a('0x39')]()[_0x3d4a('0x24')](function(){_0x49fc49[_0x3d4a('0x30')](0xcc)[_0x3d4a('0x31')]();});}};}function handleEntityNotFound(_0x3e9654,_0x971b40){return function(_0x431056){if(!_0x431056){_0x3e9654['sendStatus'](0x194);}return _0x431056;};}function handleError(_0x1f3e94,_0x3d1f4d){_0x3d1f4d=_0x3d1f4d||0x1f4;return function(_0x131826){logger[_0x3d4a('0x2a')](_0x131826['stack']);if(_0x131826[_0x3d4a('0x3a')]){delete _0x131826[_0x3d4a('0x3a')];}_0x1f3e94['status'](_0x3d1f4d)[_0x3d4a('0x3b')](_0x131826);};}function getMustacheRender(_0x275a75,_0x5b861a){return Mustache['render'](_0x275a75,_[_0x3d4a('0x3c')](_0x5b861a['body'],{'contact':_0x5b861a['contact'],'message':_0x5b861a['message'],'agent':_0x5b861a[_0x3d4a('0x3d')],'interaction':_0x5b861a[_0x3d4a('0x3e')],'account':_0x5b861a[_0x3d4a('0x3f')]}))||'';}function getInteractionUsers(_0xa3a018,_0x129f7d){return new BPromise(function(_0x4f1d5c,_0x5203a5){try{if(_0x129f7d[_0xa3a018['id']]){_0xa3a018['Users']=_[_0x3d4a('0x40')](_0x129f7d[_0xa3a018['id']],function(_0x3bb805){return{'id':_0x3bb805['id'],'fullname':_0x3bb805[_0x3d4a('0x41')]};});}}catch(_0xc29014){_0x5203a5(_0xc29014);}_0x4f1d5c(_0xa3a018);});}function getInteractionTags(_0x58f507,_0x4f3eab){return new BPromise(function(_0x5e1631,_0xb60e46){try{if(_0x58f507[_0x3d4a('0x42')]){_0x58f507[_0x3d4a('0x43')]=[];_0x58f507[_0x3d4a('0x42')][_0x3d4a('0x44')](',')[_0x3d4a('0x45')](function(_0x121a04){_0x58f507[_0x3d4a('0x43')][_0x3d4a('0x46')](_0x4f3eab[_0x121a04]);});}delete _0x58f507[_0x3d4a('0x42')];}catch(_0x5f0c8c){_0xb60e46(_0x5f0c8c);}_0x5e1631(_0x58f507);});}function updateChatInteraction(_0x2b023b,_0x3de617,_0x57dbda){return new BPromise(function(_0x5b71d2,_0x48f046){return getInteractionUsers(_0x2b023b,_0x57dbda)[_0x3d4a('0x24')](function(_0x5d490c){return getInteractionTags(_0x5d490c,_0x3de617);})[_0x3d4a('0x24')](function(_0x4bed03){_0x5b71d2(_0x4bed03);})[_0x3d4a('0x2e')](function(_0x32a24c){_0x48f046(_0x32a24c);});});}exports[_0x3d4a('0x47')]=function(_0x3e33c2,_0x4cc8a8){var _0x2df4db={},_0x1d80b6={},_0x5a9343={'count':0x0,'rows':[]};var _0x56aae5=_[_0x3d4a('0x40')](db[_0x3d4a('0x48')][_0x3d4a('0x49')],function(_0x50e3d5){return{'name':_0x50e3d5[_0x3d4a('0x4a')],'type':_0x50e3d5[_0x3d4a('0x4b')][_0x3d4a('0x4c')]};});_0x1d80b6[_0x3d4a('0x4d')]=_[_0x3d4a('0x40')](_0x56aae5,_0x3d4a('0x3a'));_0x1d80b6[_0x3d4a('0x4e')]=_[_0x3d4a('0x4f')](_0x3e33c2[_0x3d4a('0x4e')]);_0x1d80b6[_0x3d4a('0x50')]=_[_0x3d4a('0x51')](_0x1d80b6[_0x3d4a('0x4d')],_0x1d80b6[_0x3d4a('0x4e')]);_0x2df4db['attributes']=_['intersection'](_0x1d80b6[_0x3d4a('0x4d')],qs['fields'](_0x3e33c2[_0x3d4a('0x4e')]['fields']));_0x2df4db[_0x3d4a('0x52')]=_0x2df4db[_0x3d4a('0x52')]['length']?_0x2df4db[_0x3d4a('0x52')]:_0x1d80b6[_0x3d4a('0x4d')];if(!_0x3e33c2['query'][_0x3d4a('0x53')](_0x3d4a('0x54'))){_0x2df4db[_0x3d4a('0x34')]=qs['limit'](_0x3e33c2[_0x3d4a('0x4e')]['limit']);_0x2df4db[_0x3d4a('0x32')]=qs['offset'](_0x3e33c2['query'][_0x3d4a('0x32')]);}_0x2df4db[_0x3d4a('0x55')]=qs[_0x3d4a('0x56')](_0x3e33c2['query'][_0x3d4a('0x56')]);_0x2df4db['where']=qs[_0x3d4a('0x50')](_['pick'](_0x3e33c2[_0x3d4a('0x4e')],_0x1d80b6['filters']),_0x56aae5);var _0x4e687f=[];var _0x76271b=squel['select']()[_0x3d4a('0x57')]('id')['field'](_0x3d4a('0x3a'))[_0x3d4a('0x57')](_0x3d4a('0x58'))[_0x3d4a('0x59')](_0x3d4a('0x5a'));var _0x266d91=squel['select']()[_0x3d4a('0x57')](_0x3d4a('0x5b'))['field'](_0x3d4a('0x5c'))[_0x3d4a('0x57')]('ui.ChatInteractionId')[_0x3d4a('0x59')](_0x3d4a('0x5d'),'ui')[_0x3d4a('0x5e')]('users','u',_0x3d4a('0x5f'));var _0x10e345=squel[_0x3d4a('0x60')]()[_0x3d4a('0x59')](_0x3d4a('0x61'),'i')[_0x3d4a('0x5e')](_0x3d4a('0x62'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x3d4a('0x5e')](_0x3d4a('0x63'),'o',_0x3d4a('0x64'))[_0x3d4a('0x5e')](_0x3d4a('0x65'),'a',_0x3d4a('0x66'))['left_join'](_0x3d4a('0x67'),'me','me.ChatInteractionId\x20=\x20i.id')[_0x3d4a('0x5e')](_0x3d4a('0x68'),'it','it.ChatInteractionId\x20=\x20i.id')[_0x3d4a('0x5e')](_0x3d4a('0x5a'),'t',_0x3d4a('0x69'));var _0x28f2db=squel[_0x3d4a('0x6a')]();var _0x9d6283=[];var _0x5d612f=squel[_0x3d4a('0x6a')]();var _0x172d2c;if(_0x3e33c2[_0x3d4a('0x4e')]['search']){_0x172d2c=as['parseSearch'](_0x3e33c2[_0x3d4a('0x4e')][_0x3d4a('0x6b')]);var _0x5044ed=_0x172d2c[_0x3d4a('0x6c')];for(var _0x56f1cf=0x0;_0x56f1cf<_0x172d2c['conditions']['length'];_0x56f1cf++){var _0x4ae533=_0x172d2c[_0x3d4a('0x6d')][_0x56f1cf];var _0x2ee97d='i';var _0x3f8ecc=_[_0x3d4a('0x6e')](_0x56aae5,[_0x3d4a('0x3a'),_0x4ae533[_0x3d4a('0x57')]]);if(!_0x3f8ecc){switch(_0x4ae533[_0x3d4a('0x57')]){case _0x3d4a('0x6f'):if(_0x4ae533[_0x3d4a('0x70')]==0x1){_0x10e345[_0x3d4a('0x71')]('`'+_0x4ae533[_0x3d4a('0x57')]+_0x3d4a('0x72'));}else{_0x10e345[_0x3d4a('0x71')]('`'+_0x4ae533[_0x3d4a('0x57')]+'`\x20>\x200');}break;case _0x3d4a('0x73'):if(_0x4ae533[_0x3d4a('0x74')]===_0x3d4a('0x75')){if(_0x4ae533['value']['split']('\x20')['length']>0x1){_0x28f2db[_0x5044ed](_0x3d4a('0x76'),qs[_0x3d4a('0x77')](_0x4ae533[_0x3d4a('0x70')]),null);}else{var _0x518b5f='%'+_0x4ae533[_0x3d4a('0x70')]+'%';_0x28f2db[_0x5044ed](_0x3d4a('0x78'),_0x518b5f,_0x518b5f,_0x518b5f);}}else{_0x3f8ecc=_[_0x3d4a('0x6e')](_0x56aae5,[_0x3d4a('0x3a'),_0x3d4a('0x79')]);_0x4ae533[_0x3d4a('0x57')]=_0x3d4a('0x79');_0x87142e=as['buildExpression'](_0x2ee97d,_0x3f8ecc['type'],_0x4ae533);_0x28f2db[_0x5044ed](_0x87142e[_0x3d4a('0x7a')],_0x87142e['value'][_0x3d4a('0x7b')],_0x87142e[_0x3d4a('0x70')][_0x3d4a('0x31')]);}break;case _0x3d4a('0x7c'):var _0x47e931=_0x4ae533[_0x3d4a('0x70')][_0x3d4a('0x44')](',')[_0x3d4a('0x40')](function(_0x3ceb08){return Number(_0x3ceb08);});_0x47e931['forEach'](function(_0x2b66e5){_0x5d612f['or'](_0x3d4a('0x7d'),'%,'+_0x2b66e5+',%');});_0x9d6283=_[_0x3d4a('0x7e')](_0x9d6283,_0x47e931);break;case'User':if(_0x4ae533[_0x3d4a('0x74')]==='$substring'){_0x28f2db[_0x5044ed](_0x3d4a('0x7f'),'%'+_0x4ae533[_0x3d4a('0x70')]+'%',null);}else{_0x3f8ecc=_[_0x3d4a('0x6e')](_0x56aae5,['name','UserId']);_0x4ae533[_0x3d4a('0x57')]='UserId';_0x87142e=as['buildExpression'](_0x2ee97d,_0x3f8ecc['type'],_0x4ae533);_0x28f2db[_0x5044ed](_0x87142e[_0x3d4a('0x7a')],_0x87142e[_0x3d4a('0x70')][_0x3d4a('0x7b')],_0x87142e[_0x3d4a('0x70')][_0x3d4a('0x31')]);}break;case'body':_0x87142e=as[_0x3d4a('0x80')]('me',null,_0x4ae533);_0x28f2db[_0x5044ed](_0x87142e[_0x3d4a('0x7a')],_0x87142e[_0x3d4a('0x70')]['start'],_0x87142e[_0x3d4a('0x70')][_0x3d4a('0x31')]);break;}}else{var _0x87142e=as[_0x3d4a('0x80')](_0x2ee97d,_0x3f8ecc['type'],_0x4ae533);_0x28f2db[_0x5044ed](_0x87142e['text'],_0x87142e['value'][_0x3d4a('0x7b')],_0x87142e[_0x3d4a('0x70')][_0x3d4a('0x31')]);}}}else{var _0x320157=_(_0x3e33c2[_0x3d4a('0x4e')])[_0x3d4a('0x4f')]()[_0x3d4a('0x40')](function(_0x32e8f6){return _[_0x3d4a('0x81')](_0x56aae5,[_0x3d4a('0x3a'),_0x32e8f6])?_0x32e8f6:undefined;})['compact']()[_0x3d4a('0x70')]();if(!_[_0x3d4a('0x82')](_0x320157)){_0x320157['forEach'](function(_0x4109e0){if(_0x4109e0===_0x3d4a('0x83')){_0x10e345[_0x3d4a('0x84')](_0x3d4a('0x85'),[][_0x3d4a('0x86')](_0x3e33c2[_0x3d4a('0x4e')][_0x4109e0]));}else if(_0x4109e0==='createdAt'){var _0x527c76=JSON[_0x3d4a('0x87')](_0x3e33c2[_0x3d4a('0x4e')][_0x4109e0])[_0x3d4a('0x88')];var _0x3666ff=JSON[_0x3d4a('0x87')](_0x3e33c2[_0x3d4a('0x4e')][_0x4109e0])[_0x3d4a('0x89')];_0x10e345['where'](_0x3d4a('0x8a'),_0x527c76,_0x3666ff);}else{if(_0x3e33c2[_0x3d4a('0x4e')][_0x4109e0]===_0x3d4a('0x8b')){_0x10e345[_0x3d4a('0x84')]('i.'+_0x4109e0+'\x20IS\x20NULL');}else{_0x10e345[_0x3d4a('0x84')]('i.'+_0x4109e0+'\x20=\x20?',_0x3e33c2[_0x3d4a('0x4e')][_0x4109e0]);}}});}if(_0x3e33c2[_0x3d4a('0x4e')][_0x3d4a('0x8c')]){if(_0x3e33c2[_0x3d4a('0x4e')][_0x3d4a('0x8c')]==0x1){_0x10e345['having'](_0x3d4a('0x8d'));}else{_0x10e345[_0x3d4a('0x71')](_0x3d4a('0x8e'));}}if(_0x3e33c2[_0x3d4a('0x4e')][_0x3d4a('0x8f')]){_0x9d6283=_['isArray'](_0x3e33c2[_0x3d4a('0x4e')]['tag'])?_0x3e33c2[_0x3d4a('0x4e')][_0x3d4a('0x8f')]:new Array(_0x3e33c2['query'][_0x3d4a('0x8f')]);_0x9d6283[_0x3d4a('0x45')](function(_0x1f0d27){_0x5d612f['or'](_0x3d4a('0x7d'),'%,'+_0x1f0d27+',%');});}if(_0x3e33c2['query']['filter']){var _0x3033bf=_0x3e33c2[_0x3d4a('0x4e')]['filter'][_0x3d4a('0x90')]('\x5c','\x5c\x5c')[_0x3d4a('0x90')](/'/g,'\x27\x27');if(qs[_0x3d4a('0x91')](_0x3033bf)){_0x28f2db['or'](_0x3d4a('0x92'),_0x3033bf+'%');}else{_0x28f2db['or'](_0x3d4a('0x93'),qs[_0x3d4a('0x77')](_0x3033bf))['or'](_0x3d4a('0x94'),_0x3033bf+'%');}}}_0x10e345['where'](_0x28f2db);_0x10e345[_0x3d4a('0x95')](_0x3d4a('0x96'));var _0x2f8089={'type':db['Sequelize']['QueryTypes'][_0x3d4a('0x97')],'raw':!![]};var _0x4816ed=_0x10e345[_0x3d4a('0x98')]();_0x4816ed[_0x3d4a('0x57')]('i.id');_0x4816ed[_0x3d4a('0x57')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x3d4a('0x6f'));if(_0x2df4db[_0x3d4a('0x55')]){_0x2df4db[_0x3d4a('0x55')][_0x3d4a('0x45')](function(_0x3177c8){var _0xb5104c=_0x3177c8[0x0]==='contactName'?_0x3177c8[0x0]:'i.'+_0x3177c8[0x0];_0x10e345['order'](_0xb5104c,_0x3177c8[0x1]==='DESC'?![]:!![]);});}if(!_['isEmpty'](_0x9d6283)){_0x10e345[_0x3d4a('0x71')](_0x5d612f);_0x4816ed[_0x3d4a('0x84')](_0x3d4a('0x99'),_0x9d6283);}BPromise['resolve']()['then'](function(){if(!_0x172d2c){if(_0x3e33c2[_0x3d4a('0x4e')][_0x3d4a('0x83')])return;_0x4816ed['where'](_0x3d4a('0x9a'));_0x10e345[_0x3d4a('0x84')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}if(_0x3e33c2['user']['role']!==_0x3d4a('0x3d'))return;return _0x3e33c2['user'][_0x3d4a('0x9b')]({'attributes':['id'],'raw':!![]})[_0x3d4a('0x24')](function(_0x3bcca4){if(_[_0x3d4a('0x82')](_0x3bcca4)){_0x4816ed[_0x3d4a('0x84')]('i.ChatWebsiteId\x20IS\x20NULL');_0x10e345[_0x3d4a('0x84')](_0x3d4a('0x9c'));}else{_0x4816ed[_0x3d4a('0x84')]('i.ChatWebsiteId\x20IN\x20?',_[_0x3d4a('0x40')](_0x3bcca4,'id'));_0x10e345[_0x3d4a('0x84')](_0x3d4a('0x85'),_[_0x3d4a('0x40')](_0x3bcca4,'id'));}});})[_0x3d4a('0x24')](function(){if(_0x3e33c2[_0x3d4a('0x9d')][_0x3d4a('0x9e')]===_0x3d4a('0x3d')&&!_0x172d2c&&!_0x3e33c2['query'][_0x3d4a('0x83')])return[];return db[_0x3d4a('0x9f')]['query'](_0x4816ed['toString'](),_0x2f8089);})[_0x3d4a('0x24')](function(_0x4c0297){_0x5a9343['count']=_0x4c0297['length'];if(_0x5a9343[_0x3d4a('0xa0')]===0x0)return[];return db[_0x3d4a('0x9f')][_0x3d4a('0x4e')](_0x76271b['toString'](),_0x2f8089)['then'](function(_0x3884f3){_0x4e687f=_[_0x3d4a('0xa1')](_0x3884f3,'id');_0x2f8089=_[_0x3d4a('0x3c')](_0x2f8089,{'model':db[_0x3d4a('0x48')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3e33c2['query'][_0x3d4a('0xa2')]){_0x2df4db[_0x3d4a('0x52')][_0x3d4a('0x45')](function(_0x4c438d){_0x10e345[_0x3d4a('0x57')]('i.'+_0x4c438d);});}else{_0x10e345[_0x3d4a('0x57')](_0x3d4a('0xa3'),'unreadMessages');_0x10e345[_0x3d4a('0x57')]('a.key',_0x3d4a('0xa4'));_0x10e345[_0x3d4a('0x57')](_0x3d4a('0xa5'),_0x3d4a('0xa6'));_0x10e345['field'](_0x3d4a('0xa7'),_0x3d4a('0xa8'));_0x10e345[_0x3d4a('0x57')](_0x3d4a('0xa9'));_0x10e345[_0x3d4a('0x57')]('c.firstName','Contact.firstName');_0x10e345[_0x3d4a('0x57')]('c.lastName','Contact.lastName');_0x10e345[_0x3d4a('0x57')](_0x3d4a('0xaa'),_0x3d4a('0xab'));_0x10e345[_0x3d4a('0x57')](_0x3d4a('0xac'),_0x3d4a('0xad'));_0x10e345[_0x3d4a('0x57')](_0x3d4a('0xae'),_0x3d4a('0xaf'));_0x10e345[_0x3d4a('0x57')]('c.fax','Contact.fax');_0x10e345['field'](_0x3d4a('0xb0'),'Owner.fullname');_0x10e345[_0x3d4a('0x57')]('o.internal',_0x3d4a('0xb1'));_0x10e345['field'](_0x3d4a('0xb2'),_0x3d4a('0x42'));}if(_0x2df4db[_0x3d4a('0x34')])_0x10e345[_0x3d4a('0x34')](_0x2df4db['limit']);if(_0x2df4db[_0x3d4a('0x32')])_0x10e345[_0x3d4a('0x32')](_0x2df4db[_0x3d4a('0x32')]);return db[_0x3d4a('0x9f')][_0x3d4a('0x4e')](_0x10e345[_0x3d4a('0xb3')](),_0x2f8089);})[_0x3d4a('0x24')](function(_0x3b02d4){if(_0x3b02d4[_0x3d4a('0xb4')]>0x0)_0x266d91[_0x3d4a('0x84')](_0x3d4a('0xb5'),_['map'](_0x3b02d4,'id'));return db['sequelize'][_0x3d4a('0x4e')](_0x266d91[_0x3d4a('0xb3')](),_0x2f8089)[_0x3d4a('0x24')](function(_0x263364){var _0x209073=_[_0x3d4a('0xb6')](_0x263364,_0x3d4a('0xb7'));var _0x14a5ae=[];_0x3b02d4[_0x3d4a('0x45')](function(_0x12470d){_0x14a5ae[_0x3d4a('0x46')](updateChatInteraction(_0x12470d,_0x4e687f,_0x209073));});return BPromise[_0x3d4a('0xb8')](_0x14a5ae);});});})[_0x3d4a('0x24')](function(_0x2407e2){_0x5a9343[_0x3d4a('0xb9')]=_0x2407e2;return _0x5a9343;})['then'](respondWithFilteredResult(_0x4cc8a8,_0x2df4db))[_0x3d4a('0x2e')](handleError(_0x4cc8a8,null));};exports[_0x3d4a('0xba')]=function(_0x595e79,_0x144f30){var _0x48c3b3={'raw':![],'where':{'id':_0x595e79[_0x3d4a('0xbb')]['id']}},_0x26b146={};_0x26b146[_0x3d4a('0x4d')]=_[_0x3d4a('0x4f')](db[_0x3d4a('0x48')]['rawAttributes']);_0x26b146[_0x3d4a('0x4e')]=_[_0x3d4a('0x4f')](_0x595e79[_0x3d4a('0x4e')]);_0x26b146['filters']=_[_0x3d4a('0x51')](_0x26b146[_0x3d4a('0x4d')],_0x26b146[_0x3d4a('0x4e')]);_0x48c3b3[_0x3d4a('0x52')]=_[_0x3d4a('0x51')](_0x26b146[_0x3d4a('0x4d')],qs['fields'](_0x595e79[_0x3d4a('0x4e')][_0x3d4a('0xa2')]));_0x48c3b3['attributes']=_0x48c3b3[_0x3d4a('0x52')][_0x3d4a('0xb4')]?_0x48c3b3[_0x3d4a('0x52')]:_0x26b146[_0x3d4a('0x4d')];if(_0x595e79[_0x3d4a('0x4e')]['includeAll']){_0x48c3b3[_0x3d4a('0xbc')]=[{'all':!![]}];}_0x48c3b3=_['merge']({},_0x48c3b3,_0x595e79['options']);return db[_0x3d4a('0x48')][_0x3d4a('0x6e')](_0x48c3b3)[_0x3d4a('0x24')](handleEntityNotFound(_0x144f30,null))['then'](respondWithResult(_0x144f30,null))[_0x3d4a('0x2e')](handleError(_0x144f30,null));};exports[_0x3d4a('0xbd')]=function(_0x57ecad,_0x4054bf){return db[_0x3d4a('0x48')]['create'](_0x57ecad[_0x3d4a('0xbe')],{})['then'](respondWithResult(_0x4054bf,0xc9))[_0x3d4a('0x2e')](handleError(_0x4054bf,null));};exports['update']=function(_0x1fb633,_0x22fe33){if(_0x1fb633[_0x3d4a('0xbe')]['id']){delete _0x1fb633[_0x3d4a('0xbe')]['id'];}return db[_0x3d4a('0x48')][_0x3d4a('0x6e')]({'where':{'id':_0x1fb633[_0x3d4a('0xbb')]['id']}})[_0x3d4a('0x24')](handleEntityNotFound(_0x22fe33,null))[_0x3d4a('0x24')](saveUpdates(_0x1fb633[_0x3d4a('0xbe')],null))[_0x3d4a('0x24')](respondWithResult(_0x22fe33,null))['catch'](handleError(_0x22fe33,null));};exports[_0x3d4a('0x39')]=function(_0xf052e5,_0x326070){return db[_0x3d4a('0x48')]['find']({'where':{'id':_0xf052e5['params']['id']}})[_0x3d4a('0x24')](handleEntityNotFound(_0x326070,null))[_0x3d4a('0x24')](removeEntity(_0x326070,null))[_0x3d4a('0x2e')](handleError(_0x326070,null));};exports[_0x3d4a('0xbf')]=function(_0x8e9402,_0x150257){return db['ChatInteraction'][_0x3d4a('0xbf')]()[_0x3d4a('0x24')](respondWithResult(_0x150257,null))[_0x3d4a('0x2e')](handleError(_0x150257,null));};exports[_0x3d4a('0xc0')]=function(_0x3fbc1a,_0x20218d){var _0x3220be=_0x3fbc1a[_0x3d4a('0xbb')]['id'];var _0x1f796a;var _0x4fb36b;var _0x3ae45c;return db[_0x3d4a('0x48')]['findOne']({'where':{'id':_0x3220be}})['then'](function(_0x307783){_0x1f796a=_0x307783;return db[_0x3d4a('0xc1')][_0x3d4a('0xc2')]({'where':{'id':_0x307783['ChatWebsiteId']},'attributes':['id',_0x3d4a('0xc3'),_0x3d4a('0xc4'),'vidaooTopic',_0x3d4a('0xc5'),_0x3d4a('0xc6')],'raw':!![]});})[_0x3d4a('0x24')](function(_0x5e5489){if(_0x5e5489&&_0x5e5489[_0x3d4a('0xc3')]&&_0x5e5489[_0x3d4a('0xc4')]){_0x4fb36b=_0x5e5489;var _0xa45ec9={'interaction':{'id':_0x3220be},'agent':{'id':_0x3fbc1a['user']['id'],'name':_0x3fbc1a[_0x3d4a('0x9d')][_0x3d4a('0x3a')],'fullname':_0x3fbc1a[_0x3d4a('0x9d')][_0x3d4a('0x41')],'email':_0x3fbc1a[_0x3d4a('0x9d')][_0x3d4a('0xc7')]},'contact':_0x3fbc1a[_0x3d4a('0xbe')][_0x3d4a('0xc8')],'account':_0x3fbc1a[_0x3d4a('0xbe')][_0x3d4a('0x3f')]};var _0x4a786f={'rejectUnauthorized':![],'method':_0x3d4a('0xc9'),'url':_0x3d4a('0xca'),'headers':{'X-APIKEY':_0x5e5489['vidaooApiKey']},'body':{'duration':null,'scheduledAt':null,'participants':[_0x3fbc1a['user'][_0x3d4a('0xc7')]],'buttons':null,'topic':_0x4fb36b[_0x3d4a('0xcb')],'note':_[_0x3d4a('0xcc')](_0x4fb36b[_0x3d4a('0xc5')])?null:getMustacheRender(_0x4fb36b['vidaooNote'],_0xa45ec9),'metadata':null},'redirect':_0x3d4a('0xcd'),'json':!![]};try{if(!_[_0x3d4a('0xcc')](_0x4fb36b[_0x3d4a('0xc6')])){var _0x4788ee=getMustacheRender(_0x4fb36b[_0x3d4a('0xc6')],_0xa45ec9);var _0xc92e3e=JSON[_0x3d4a('0x87')](_0x4788ee);_0x4a786f[_0x3d4a('0xbe')]['metadata']=_0xc92e3e;}}catch(_0x4aba38){throw new db[(_0x3d4a('0xce'))][(_0x3d4a('0xcf'))](_0x3d4a('0xd0'));}return rp(_0x4a786f);}else{throw new db[(_0x3d4a('0xce'))][(_0x3d4a('0xcf'))](_0x3d4a('0xd1'));}})[_0x3d4a('0x24')](function(_0x53ce6e){_0x3ae45c=_0x53ce6e;if(_0x3ae45c['id']){var _0x3a2469={'body':_0x3ae45c[_0x3d4a('0xd2')],'ChatWebsiteId':_0x4fb36b['id'],'ChatInteractionId':_0x1f796a['id'],'direction':'out','UserId':_0x3fbc1a[_0x3d4a('0x9d')]['id']};return db['ChatMessage']['create'](_0x3a2469,{});}else{throw new db[(_0x3d4a('0xce'))]['ValidationError']('Unable\x20to\x20create\x20Vidaoo\x20session');}})['then'](function(){return _0x1f796a[_0x3d4a('0xd3')]({'vidaooSessionId':_0x3ae45c['id']});})[_0x3d4a('0x24')](respondWithResult(_0x20218d,null))['catch'](handleError(_0x20218d,null));};exports['customUpdate']=function(_0x3bd6be,_0x3de17c){if(_0x3bd6be[_0x3d4a('0xbe')]['id']){delete _0x3bd6be[_0x3d4a('0xbe')]['id'];}return db['ChatInteraction']['find']({'where':{'id':_0x3bd6be[_0x3d4a('0xbb')]['id']},'include':[{'model':db[_0x3d4a('0xd4')],'as':_0x3d4a('0x73')}]})[_0x3d4a('0x24')](handleEntityNotFound(_0x3de17c,null))[_0x3d4a('0x24')](saveUpdates(_0x3bd6be[_0x3d4a('0xbe')],null))[_0x3d4a('0x24')](respondWithResult(_0x3de17c,null))[_0x3d4a('0x2e')](handleError(_0x3de17c,null));};exports[_0x3d4a('0xd5')]=function(_0x318d94,_0x3d7a31,_0x4d5713){if(_0x318d94[_0x3d4a('0xbe')]['id']){delete _0x318d94[_0x3d4a('0xbe')]['id'];}return db[_0x3d4a('0x48')][_0x3d4a('0x6e')]({'where':{'id':_0x318d94[_0x3d4a('0xbb')]['id']}})[_0x3d4a('0x24')](function(_0x5d13e1){if(!_0x5d13e1){logger[_0x3d4a('0x2a')](_0x3d4a('0xd6'),_0x3d4a('0xd5'),0x194,_0x3d4a('0xd7'));_0x3d7a31['sendStatus'](0x194);}else{if(_0x5d13e1['UserId']){throw new db[(_0x3d4a('0xce'))][(_0x3d4a('0xcf'))](_0x3d4a('0xd8'));}}return _0x5d13e1;})[_0x3d4a('0x24')](function(_0x533915){if(_0x533915){return _0x533915[_0x3d4a('0x38')]({'closed':_0x318d94[_0x3d4a('0xbe')]['closed'],'disposition':_0x318d94[_0x3d4a('0xbe')][_0x3d4a('0xd9')]})['then'](function(_0x2f3ce2){return _0x2f3ce2;});}})[_0x3d4a('0x24')](function(_0xf6ba36){return respondWithRpcPromise(_0x3d4a('0xda'),'abandon',_0x318d94[_0x3d4a('0xbe')],client9004);})[_0x3d4a('0x24')](respondWithResult(_0x3d7a31,null))['catch'](handleError(_0x3d7a31,null));};exports[_0x3d4a('0xdb')]=function(_0x1a0cb9,_0x465e8d,_0x1ba457){_0x1a0cb9['body'][_0x3d4a('0x3a')]=_0x1a0cb9[_0x3d4a('0xdc')]['originalname'];_0x1a0cb9[_0x3d4a('0xbe')][_0x3d4a('0xdd')]=_0x1a0cb9[_0x3d4a('0xdc')]['filename'];_0x1a0cb9[_0x3d4a('0xbe')][_0x3d4a('0x4b')]=_0x1a0cb9[_0x3d4a('0xdc')]['mimetype'];return db['Attachment'][_0x3d4a('0xbd')](_0x1a0cb9[_0x3d4a('0xbe')])[_0x3d4a('0x24')](respondWithResult(_0x465e8d,0xc9))['catch'](handleError(_0x465e8d,null));};exports[_0x3d4a('0xde')]=function(_0x2e2819,_0x2286a4,_0x251203){return db[_0x3d4a('0x48')][_0x3d4a('0xc2')]({'where':{'id':_0x2e2819[_0x3d4a('0xbb')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x2286a4,null))[_0x3d4a('0x24')](function(_0x32bd9d){if(_0x32bd9d){if(_0x32bd9d['closed']){return _0x2286a4['status'](0x193)[_0x3d4a('0x36')]({'status':0x193,'message':_0x3d4a('0xdf')});}return db['Attachment']['findOne']({'where':{'id':_0x2e2819[_0x3d4a('0x4e')][_0x3d4a('0xe0')]},'raw':!![]})[_0x3d4a('0x24')](handleEntityNotFound(_0x2286a4,null));}})['then'](function(_0x436ad7){if(_0x436ad7){var _0x494b68=_0x436ad7['ChatOfflineMessageId']!==null;var _0x5638bf=path['join'](config['root'],'server/files/attachments/');if(_0x494b68){_0x5638bf=path[_0x3d4a('0xe1')](_0x5638bf,_0x3d4a('0xe2'));}var _0x4a24fa=path[_0x3d4a('0xe1')](_0x5638bf,_0x436ad7[_0x3d4a('0xdd')]);return _0x2286a4['download'](_0x4a24fa);}})[_0x3d4a('0x2e')](handleError(_0x2286a4,null));};exports[_0x3d4a('0xe3')]=function(_0x2223d8,_0xbb3805){var _0x22cc4d=null;var _0x3d7c8e=null;var _0x4c9dc0=null;var _0x33af63=null;if(_0x2223d8[_0x3d4a('0xbe')]['id']){delete _0x2223d8['body']['id'];}if(_0x2223d8[_0x3d4a('0xbe')][_0x3d4a('0xe4')]){_0x33af63=path['join'](config[_0x3d4a('0xe5')],_0x3d4a('0xe6'),util[_0x3d4a('0xe7')](_0x3d4a('0xe8'),Date[_0x3d4a('0xe9')]()));_0x2223d8[_0x3d4a('0xbe')][_0x3d4a('0xea')]=_0x33af63;}return db[_0x3d4a('0x48')][_0x3d4a('0x6e')]({'where':{'id':_0x2223d8[_0x3d4a('0xbb')]['id']},'include':[{'model':db[_0x3d4a('0xeb')],'as':'Messages','include':[{'model':db[_0x3d4a('0xec')],'as':_0x3d4a('0xec')}]}]})[_0x3d4a('0x24')](handleEntityNotFound(_0xbb3805,null))[_0x3d4a('0x24')](saveUpdates(_0x2223d8['body'],null))['then'](function(_0x4c6c07){if(_0x4c6c07){_0x22cc4d=_0x4c6c07;return db[_0x3d4a('0xc1')][_0x3d4a('0x6e')]({'where':{'id':_0x22cc4d['ChatWebsiteId']}});}})[_0x3d4a('0x24')](function(_0x2c3756){if(_0x2c3756){_0x4c9dc0=_0x2c3756;return db[_0x3d4a('0xd4')][_0x3d4a('0x6e')]({'where':{'id':_0x22cc4d[_0x3d4a('0x79')]}});}})[_0x3d4a('0x24')](function(_0x24a6e3){if(_0x24a6e3){_0x3d7c8e=_0x24a6e3;if(_0x33af63){var _0x35eb5f=null;for(var _0x5084a0=0x1;_0x5084a0<_0x22cc4d['Messages']['length'];++_0x5084a0){_0x35eb5f=_0x22cc4d[_0x3d4a('0xed')][_0x5084a0];var _0x558a18=_0x35eb5f[_0x3d4a('0xee')]?util[_0x3d4a('0xe7')]('%s%d',_0x4c9dc0[_0x3d4a('0xef')],_0x35eb5f[_0x3d4a('0xee')]):_0x3d4a('0xf0');var _0x33052c=_0x2223d8[_0x3d4a('0xbe')][_0x3d4a('0xf1')]||util[_0x3d4a('0xe7')](_0x3d4a('0xf2'),_0x3d4a('0xf3'),_0x35eb5f[_0x3d4a('0x79')]);switch(_0x4c9dc0[_0x3d4a('0xf4')]){case _0x3d4a('0xf5'):_0x558a18=_0x35eb5f[_0x3d4a('0xee')]?util['format']('%s%d',_0x4c9dc0[_0x3d4a('0xef')],_0x35eb5f[_0x3d4a('0xee')]):'System';break;case _0x3d4a('0xf6'):_0x558a18=_0x35eb5f['UserId']?_0x35eb5f[_0x3d4a('0xec')][_0x3d4a('0xf7')]||_0x35eb5f['User']['fullname']:_0x3d4a('0xf0');break;case _0x3d4a('0xf8'):_0x558a18=_0x35eb5f[_0x3d4a('0xee')]?_0x35eb5f[_0x3d4a('0xec')][_0x3d4a('0x41')]:'System';break;default:_0x558a18=_0x35eb5f['UserId']?util['format'](_0x3d4a('0xf2'),_0x4c9dc0[_0x3d4a('0xef')],_0x35eb5f[_0x3d4a('0xee')]):'System';}var _0x55f9c0=util[_0x3d4a('0xe7')](_0x3d4a('0xf9'),moment(_0x35eb5f['createdAt'])[_0x3d4a('0xe7')]('MM/DD/YYYY\x20HH:mm:ss'),_0x35eb5f[_0x3d4a('0xfa')]==='in'?_0x33052c:_0x558a18,_0x35eb5f[_0x3d4a('0xbe')]);if(!_0x35eb5f['secret']){fs[_0x3d4a('0xfb')](_0x33af63,_0x55f9c0);}}return db['MailAccount'][_0x3d4a('0xc2')]({'where':{'service':!![]},'include':[{'model':db[_0x3d4a('0xfc')],'as':_0x3d4a('0xfd'),'raw':!![]}]});}}})['then'](function(_0x5c67e5){if(_0x5c67e5&&_0x5c67e5[_0x3d4a('0xfd')]&&_0x2223d8[_0x3d4a('0xbe')]){var _0x47d87={'tls':{'rejectUnauthorized':![]}};if(_0x5c67e5['Smtp'][_0x3d4a('0xfe')]){_0x47d87[_0x3d4a('0xfe')]=_0x5c67e5['Smtp'][_0x3d4a('0xfe')];}else{_0x47d87[_0x3d4a('0xff')]=_0x5c67e5['Smtp'][_0x3d4a('0xff')];_0x47d87[_0x3d4a('0x100')]=_0x5c67e5['Smtp']['port'];_0x47d87[_0x3d4a('0x101')]=_0x5c67e5[_0x3d4a('0xfd')][_0x3d4a('0x101')];}if(_0x5c67e5[_0x3d4a('0xfd')]['authentication']){_0x47d87[_0x3d4a('0x102')]={'user':_0x5c67e5[_0x3d4a('0xfd')]['user'],'pass':_0x5c67e5['Smtp'][_0x3d4a('0x103')]};}return respondWithRpcPromise('SendMail',_0x3d4a('0x104'),{'account':_0x47d87,'message':{'from':util[_0x3d4a('0xe7')](_0x3d4a('0x105'),_0x5c67e5[_0x3d4a('0x3a')],_0x5c67e5['email']||_0x5c67e5[_0x3d4a('0xfd')][_0x3d4a('0x9d')]),'to':_0x2223d8[_0x3d4a('0xbe')][_0x3d4a('0xe4')],'subject':_0x3d4a('0x106'),'text':util[_0x3d4a('0xe7')](_0x3d4a('0x107'),_0x2223d8[_0x3d4a('0xbe')][_0x3d4a('0xe4')]),'attachments':[{'path':_0x33af63}]}})['then'](function(){return _0x22cc4d;})[_0x3d4a('0x2e')](function(_0x35f21f){console[_0x3d4a('0x2a')](_0x35f21f);});}else{return _0x22cc4d;}})[_0x3d4a('0x24')](respondWithStatusCode(_0xbb3805,0xc8))[_0x3d4a('0x2e')](handleError(_0xbb3805,null));};exports['addMessage']=function(_0x39bbb3,_0x4f5d61,_0x37ef50){return db[_0x3d4a('0xeb')][_0x3d4a('0x6e')]({'where':{'id':_0x39bbb3[_0x3d4a('0xbb')]['id']}})['then'](handleEntityNotFound(_0x4f5d61,null))[_0x3d4a('0x24')](function(_0x2fa641){if(_0x2fa641){return _0x2fa641[_0x3d4a('0x108')](_0x39bbb3[_0x3d4a('0xbe')][_0x3d4a('0x109')],_[_0x3d4a('0x10a')](_0x39bbb3[_0x3d4a('0xbe')],[_0x3d4a('0x109'),'id'])||{});}})[_0x3d4a('0x24')](respondWithResult(_0x4f5d61,null))[_0x3d4a('0x2e')](handleError(_0x4f5d61,null));};exports[_0x3d4a('0x10b')]=function(_0x3026eb,_0x3a2d15,_0x1368ca){var _0x176d71={'raw':![],'where':{}};var _0x15faef={};var _0x2725b2={'count':0x0,'rows':[]};return db[_0x3d4a('0x48')]['findOne']({'where':{'id':_0x3026eb[_0x3d4a('0xbb')]['id']}})[_0x3d4a('0x24')](handleEntityNotFound(_0x3a2d15,null))[_0x3d4a('0x24')](function(_0x1c73bb){if(_0x1c73bb){_0x15faef[_0x3d4a('0x4d')]=_[_0x3d4a('0x4f')](db[_0x3d4a('0xeb')][_0x3d4a('0x49')]);_0x15faef[_0x3d4a('0x4e')]=_['keys'](_0x3026eb[_0x3d4a('0x4e')]);_0x15faef[_0x3d4a('0x50')]=_['intersection'](_0x15faef[_0x3d4a('0x4d')],_0x15faef[_0x3d4a('0x4e')]);_0x176d71['attributes']=_[_0x3d4a('0x51')](_0x15faef[_0x3d4a('0x4d')],qs['fields'](_0x3026eb['query'][_0x3d4a('0xa2')]));_0x176d71[_0x3d4a('0x52')]=_0x176d71[_0x3d4a('0x52')][_0x3d4a('0xb4')]?_0x176d71['attributes']:_0x15faef[_0x3d4a('0x4d')];if(!_0x3026eb[_0x3d4a('0x4e')][_0x3d4a('0x53')](_0x3d4a('0x54'))){_0x176d71[_0x3d4a('0x34')]=qs[_0x3d4a('0x34')](_0x3026eb['query'][_0x3d4a('0x34')]);_0x176d71[_0x3d4a('0x32')]=qs[_0x3d4a('0x32')](_0x3026eb[_0x3d4a('0x4e')]['offset']);}_0x176d71[_0x3d4a('0x55')]=qs[_0x3d4a('0x56')](_0x3026eb[_0x3d4a('0x4e')][_0x3d4a('0x56')]);_0x176d71[_0x3d4a('0x84')]=qs[_0x3d4a('0x50')](_[_0x3d4a('0x10c')](_0x3026eb[_0x3d4a('0x4e')],_0x15faef[_0x3d4a('0x50')]));_0x176d71[_0x3d4a('0x84')][_0x3d4a('0xb7')]=_0x1c73bb['id'];if(_0x3026eb[_0x3d4a('0x4e')][_0x3d4a('0x10d')]){_0x176d71[_0x3d4a('0x84')]=_[_0x3d4a('0x3c')](_0x176d71[_0x3d4a('0x84')],{'$or':_[_0x3d4a('0x40')](_0x176d71['attributes'],function(_0x2c782d){var _0x329fb3={};_0x329fb3[_0x2c782d]={'$like':'%'+_0x3026eb[_0x3d4a('0x4e')][_0x3d4a('0x10d')]+'%'};return _0x329fb3;})});}if(_0x3026eb[_0x3d4a('0x4e')][_0x3d4a('0x88')]){var _0x2e6547=_0x3026eb[_0x3d4a('0x4e')]['$gte'][_0x3d4a('0x44')](',');var _0x4a51f3={};_0x4a51f3[_0x2e6547[0x0]]={'$gte':moment(_0x2e6547[0x1])[_0x3d4a('0xe7')]('YYYY-MM-DD\x20HH:mm:ss')};_0x176d71[_0x3d4a('0x84')]=_['merge'](_0x176d71['where'],_0x4a51f3);}_0x176d71=_[_0x3d4a('0x3c')]({},_0x176d71,_0x3026eb[_0x3d4a('0x10e')]);return db[_0x3d4a('0xeb')][_0x3d4a('0xa0')]({'where':_0x176d71[_0x3d4a('0x84')]})[_0x3d4a('0x24')](function(_0x2e55cb){_0x2725b2[_0x3d4a('0xa0')]=_0x2e55cb;if(_0x3026eb[_0x3d4a('0x4e')][_0x3d4a('0x10f')]){_0x176d71[_0x3d4a('0xbc')]=[{'all':!![]}];}return db[_0x3d4a('0xeb')][_0x3d4a('0x110')](_0x176d71);})['then'](function(_0x1766cd){_0x2725b2['rows']=_0x1766cd;return _0x2725b2;});}})[_0x3d4a('0x24')](respondWithFilteredResult(_0x3a2d15,_0x176d71))[_0x3d4a('0x2e')](handleError(_0x3a2d15,null));};exports[_0x3d4a('0x111')]=function(_0x1dffdc,_0x278e17,_0x40b27f){var _0x319356={'where':{}},_0x16f37b={},_0xfd294e={'count':0x0,'rows':[]};return db[_0x3d4a('0x48')][_0x3d4a('0xc2')]({'where':{'id':_0x1dffdc[_0x3d4a('0xbb')]['id']}})[_0x3d4a('0x24')](handleEntityNotFound(_0x278e17,null))[_0x3d4a('0x24')](function(_0x1c8f19){if(_0x1c8f19){_0x16f37b[_0x3d4a('0x4d')]=_[_0x3d4a('0x4f')](db[_0x3d4a('0xeb')]['rawAttributes']);_0x16f37b[_0x3d4a('0x4e')]=_[_0x3d4a('0x4f')](_0x1dffdc[_0x3d4a('0x4e')]);_0x16f37b[_0x3d4a('0x50')]=_[_0x3d4a('0x51')](_0x16f37b[_0x3d4a('0x4d')],_0x16f37b[_0x3d4a('0x4e')]);_0x319356['attributes']=_[_0x3d4a('0x51')](_0x16f37b[_0x3d4a('0x4d')],qs[_0x3d4a('0xa2')](_0x1dffdc[_0x3d4a('0x4e')][_0x3d4a('0xa2')]));_0x319356[_0x3d4a('0x52')]=_0x319356[_0x3d4a('0x52')][_0x3d4a('0xb4')]?_0x319356['attributes']:_0x16f37b[_0x3d4a('0x4d')];if(!_0x1dffdc[_0x3d4a('0x4e')][_0x3d4a('0x53')](_0x3d4a('0x54'))){_0x319356['limit']=qs[_0x3d4a('0x34')](_0x1dffdc[_0x3d4a('0x4e')][_0x3d4a('0x34')]);_0x319356[_0x3d4a('0x32')]=qs['offset'](_0x1dffdc['query'][_0x3d4a('0x32')]);}_0x319356[_0x3d4a('0x55')]=qs[_0x3d4a('0x56')](_0x1dffdc['query'][_0x3d4a('0x56')]);_0x319356['where']=qs[_0x3d4a('0x50')](_['pick'](_0x1dffdc[_0x3d4a('0x4e')],_0x16f37b[_0x3d4a('0x50')]));_0x319356['where']['ChatInteractionId']=_0x1c8f19['id'];if(_0x1dffdc[_0x3d4a('0x4e')][_0x3d4a('0x10d')]){_0x319356['where']=_[_0x3d4a('0x3c')](_0x319356[_0x3d4a('0x84')],{'$or':_[_0x3d4a('0x40')](_0x319356['attributes'],function(_0x50e49b){var _0x1a68b6={};_0x1a68b6[_0x50e49b]={'$like':'%'+_0x1dffdc['query'][_0x3d4a('0x10d')]+'%'};return _0x1a68b6;})});}_0x319356[_0x3d4a('0x84')][_0x3d4a('0x112')]=![];if(_0x1dffdc[_0x3d4a('0x4e')]['id']){_0x319356[_0x3d4a('0x84')]['id']={'$gt':_0x1dffdc[_0x3d4a('0x4e')]['id']};}_0x319356=_[_0x3d4a('0x3c')]({},_0x319356,_0x1dffdc[_0x3d4a('0x10e')]);return db[_0x3d4a('0xeb')][_0x3d4a('0xa0')]({'where':_0x319356[_0x3d4a('0x84')]})[_0x3d4a('0x24')](function(_0x5d7ecc){_0xfd294e[_0x3d4a('0xa0')]=_0x5d7ecc;_0x319356['include']=[];if(_0x1dffdc[_0x3d4a('0x4e')][_0x3d4a('0x113')]){_0x319356[_0x3d4a('0xbc')][_0x3d4a('0x46')]({'model':db[_0x3d4a('0xec')],'as':_0x3d4a('0xec'),'attributes':['id','fullname',_0x3d4a('0xf7')]});}if(_0x1dffdc[_0x3d4a('0x4e')][_0x3d4a('0x10f')]){_0x319356[_0x3d4a('0xbc')]=[{'all':!![]}];}return db['ChatMessage'][_0x3d4a('0x110')](_0x319356);})['then'](function(_0x2964a3){_0xfd294e[_0x3d4a('0xb9')]=_0x2964a3;return _0xfd294e;});}})['then'](respondWithFilteredResult(_0x278e17,_0x319356))[_0x3d4a('0x2e')](handleError(_0x278e17,null));};exports['addTags']=function(_0x199636,_0x33a8bd,_0x34b04d){return db[_0x3d4a('0x48')]['find']({'where':{'id':_0x199636[_0x3d4a('0xbb')]['id']}})[_0x3d4a('0x24')](handleEntityNotFound(_0x33a8bd,null))[_0x3d4a('0x24')](function(_0x2cecd6){if(_0x2cecd6){return _0x2cecd6['setTags'](_0x199636['body'][_0x3d4a('0x109')],_[_0x3d4a('0x10a')](_0x199636[_0x3d4a('0xbe')],[_0x3d4a('0x109'),'id'])||{})[_0x3d4a('0x114')](function(){return db[_0x3d4a('0x7c')][_0x3d4a('0x110')]({'attributes':['id',_0x3d4a('0x3a'),'color'],'where':{'id':_0x199636[_0x3d4a('0xbe')][_0x3d4a('0x109')]}});})[_0x3d4a('0x24')](function(_0x58b8b8){socket[_0x3d4a('0x115')](_0x3d4a('0x116'),{'id':Number(_0x199636[_0x3d4a('0xbb')]['id']),'tags':_0x58b8b8||[]});return{'id':Number(_0x199636[_0x3d4a('0xbb')]['id']),'tags':_0x58b8b8||[]};});}})['then'](respondWithResult(_0x33a8bd,null))[_0x3d4a('0x2e')](handleError(_0x33a8bd,null));};exports['removeTags']=function(_0x3a2218,_0x277a66,_0x3c4da3){return db[_0x3d4a('0x48')][_0x3d4a('0x6e')]({'where':{'id':_0x3a2218[_0x3d4a('0xbb')]['id']}})[_0x3d4a('0x24')](handleEntityNotFound(_0x277a66,null))[_0x3d4a('0x24')](function(_0x3fa46c){if(_0x3fa46c){return _0x3fa46c[_0x3d4a('0x117')](_0x3a2218[_0x3d4a('0x4e')][_0x3d4a('0x109')]);}})[_0x3d4a('0x24')](respondWithStatusCode(_0x277a66,null))[_0x3d4a('0x2e')](handleError(_0x277a66,null));};exports[_0x3d4a('0x118')]=function(_0x1bcab7,_0x2ff212){var _0x261919=moment()[_0x3d4a('0x119')]()['toString']();var _0x4ac151=path[_0x3d4a('0xe1')](config[_0x3d4a('0xe5')],'server',_0x3d4a('0x11a'),_0x3d4a('0x11b'));var _0x84b8fb=path[_0x3d4a('0xe1')](config[_0x3d4a('0xe5')],_0x3d4a('0x11c'),_0x3d4a('0x11a'),_0x3d4a('0x11d'));var _0xa60605=path['join'](_0x4ac151,_0x261919);var _0x183983=util[_0x3d4a('0xe7')](_0x3d4a('0x11e'),_0x1bcab7[_0x3d4a('0xbb')]['id'],_0x261919);var _0x4ff304=path[_0x3d4a('0xe1')](_0x4ac151,_0x183983);var _0xff7e48=[];_0xff7e48[_0x3d4a('0x46')]({'model':db[_0x3d4a('0xec')],'as':'User','attributes':['id',_0x3d4a('0x41')],'raw':!![]});_0xff7e48[_0x3d4a('0x46')]({'model':db[_0x3d4a('0xd4')],'as':_0x3d4a('0x73'),'attributes':['id',_0x3d4a('0x11f'),_0x3d4a('0x120')],'raw':!![]});if(_0x1bcab7[_0x3d4a('0x4e')][_0x3d4a('0x11d')]){_0xff7e48[_0x3d4a('0x46')]({'model':db[_0x3d4a('0x121')],'as':_0x3d4a('0x121'),'raw':!![]});}var _0x3d9daf=[{'model':db['ChatMessage'],'as':_0x3d4a('0xed'),'attributes':['id',_0x3d4a('0xbe'),'createdAt','direction',_0x3d4a('0x112'),_0x3d4a('0x8c')],'include':_0xff7e48}];_0x3d9daf[_0x3d4a('0x46')]({'model':db[_0x3d4a('0xc1')],'as':_0x3d4a('0x122'),'attributes':['id',_0x3d4a('0x3a')]});_0x3d9daf[_0x3d4a('0x46')]({'model':db[_0x3d4a('0xec')],'as':_0x3d4a('0x123'),'attributes':['id',_0x3d4a('0x41')]});return db[_0x3d4a('0x48')][_0x3d4a('0x6e')]({'where':{'id':_0x1bcab7[_0x3d4a('0xbb')]['id']},'include':_0x3d9daf})[_0x3d4a('0x24')](handleEntityNotFound(_0x2ff212,null))[_0x3d4a('0x24')](function(_0x185f24){if(_0x185f24){var _0x4d00fa=_0x185f24[_0x3d4a('0x124')]({'plain':!![]});fs['mkdirSync'](_0xa60605);var _0x284ad7={'channel':_0x3d4a('0x125'),'account':_0x4d00fa[_0x3d4a('0x122')]['name'],'agent':_0x4d00fa['Owner']?_0x4d00fa[_0x3d4a('0x123')]['fullname']:_0x3d4a('0x126'),'createdAt':moment(_0x4d00fa[_0x3d4a('0x127')])[_0x3d4a('0xe7')](_0x3d4a('0x128'))[_0x3d4a('0xb3')](),'closedAt':_0x4d00fa[_0x3d4a('0x129')]?moment(_0x4d00fa[_0x3d4a('0x12a')])[_0x3d4a('0xe7')](_0x3d4a('0x128'))['toString']():'','disposition':_0x4d00fa['disposition'],'chatInfo':{'browser':_0x4d00fa[_0x3d4a('0x12b')],'os':_0x4d00fa['osName'],'referer':_0x4d00fa[_0x3d4a('0x12c')],'customerIp':_0x4d00fa['customerIp'],'customerPort':_0x4d00fa[_0x3d4a('0x12d')]?_0x4d00fa[_0x3d4a('0x12d')]:_0x3d4a('0x126')},'messages':_(_0x4d00fa['Messages'])[_0x3d4a('0x12e')]()[_0x3d4a('0x10d')]({'secret':![]})['map'](function(_0x2cee2f){if(_0x2cee2f[_0x3d4a('0x121')]){var _0x5bb4ce=path[_0x3d4a('0xe1')](_0x84b8fb,_0x2cee2f[_0x3d4a('0x121')][_0x3d4a('0xdd')]);if(fs[_0x3d4a('0x12f')](_0x5bb4ce)){fs[_0x3d4a('0x130')](_0x5bb4ce)[_0x3d4a('0x131')](fs[_0x3d4a('0x132')](path[_0x3d4a('0xe1')](_0xa60605,_0x2cee2f['Attachment'][_0x3d4a('0xdd')])));}}return{'date':moment(_0x2cee2f['createdAt'])[_0x3d4a('0xe7')](_0x3d4a('0x128'))['toString'](),'sender':_0x2cee2f[_0x3d4a('0xfa')]===_0x3d4a('0x133')?_0x2cee2f[_0x3d4a('0xec')]?_0x2cee2f[_0x3d4a('0xec')][_0x3d4a('0x41')]:_0x3d4a('0xf0'):_0x2cee2f['Contact'][_0x3d4a('0x11f')]+(_0x2cee2f[_0x3d4a('0x73')][_0x3d4a('0x120')]?'\x20'+_0x2cee2f[_0x3d4a('0x73')][_0x3d4a('0x120')]:''),'body':_0x2cee2f[_0x3d4a('0x121')]?_0x2cee2f[_0x3d4a('0x121')]['basename']:_0x2cee2f[_0x3d4a('0xbe')],'direction':_0x2cee2f[_0x3d4a('0xfa')]==='out'?'A':'C','secret':_0x2cee2f['secret'],'read':_0x2cee2f[_0x3d4a('0x8c')],'attachment':_0x2cee2f[_0x3d4a('0x121')]};})[_0x3d4a('0x70')]()};return ejs[_0x3d4a('0x134')](path['join'](config[_0x3d4a('0xe5')],_0x3d4a('0x11c'),_0x3d4a('0x135'),_0x3d4a('0x136')),{'interaction':_0x284ad7})['then'](function(_0x4d1c8c){var _0x2d7a59=path[_0x3d4a('0xe1')](_0xa60605,_0x3d4a('0x137')+_0x4d00fa['id']+'-'+_0x261919+_0x3d4a('0x138'));var _0x39b8e5={'path':_0x2d7a59,'channel':_0x3d4a('0x125'),'interactionId':_0x4d00fa['id']};return pdf[_0x3d4a('0x139')](_0x4d1c8c,_0x39b8e5);})['then'](function(){return new BPromise(function(_0x3a480b,_0x2b6b8b){zipdir(_0xa60605,{'saveTo':_0x4ff304},function(_0x3a3e65,_0x43facc){if(_0x3a3e65)return _0x2b6b8b(_0x3a3e65);return _0x3a480b(_0x43facc);});})[_0x3d4a('0x24')](function(){return new BPromise(function(_0x4e2295,_0x48cb95){rimraf(_0xa60605,function(_0xba6330){if(_0xba6330)_0x48cb95(_0xba6330);return _0x4e2295();});});})[_0x3d4a('0x24')](function(){return _0x2ff212[_0x3d4a('0x118')](_0x4ff304,_0x183983,function(_0x38a56d){if(_0x38a56d){console[_0x3d4a('0x13a')](_0x3d4a('0x13b'),_0x38a56d);}else{fs['unlinkSync'](_0x4ff304);}});});});}else{return _0x2ff212[_0x3d4a('0x2f')](0xc8);}})['catch'](handleError(_0x2ff212,null));};