Built motion from commit 753c950e.|2.5.42
[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 _0x24c6=['MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','start','body','compact','isEmpty','where','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','group','i.id','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','ChatWebsiteId','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','user','toString','sequelize','ChatInteraction','a.key','Account.key','Account.mandatoryDisposition','i.*','c.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','Owner.fullname','Owner.internal','ui.ChatInteractionId\x20IN\x20?','groupBy','rows','show','includeAll','include','options','create','params','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','vidaooTopic','vidaooNote','email','POST','https://api-vidaoo.xcally.com/api/v1/meetings','isNull','follow','vidaooMetadata','ValidationError','Error\x20in\x20conversion\x20vidaooMetadata','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','CmContact','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','attachmentUpload','file','originalname','mimetype','attachmentDownload','Attachment','attachId','ChatOfflineMessageId','join','root','offline-chat/','mailTranscript','server/files/chat/upload/','format','transcript-%s.txt','now','pathTranscript','Messages','%s%d','agentAlias','System','customer','Visitor','website_alias','agent_alias','alias','agent_fullname','fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','pass','sendMail','\x22%s\x22\x20<%s>','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','getMessages','hasOwnProperty','ChatInteractionId','$gte','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','setTags','omit','spread','emit','chatInteractionTags:save','removeTags','download','unix','files','tmp','server','attachments','transcript-%d-%s.zip','firstName','lastName','direction','read','Account','get','mkdirSync','Chat','Owner','N.A.','closedAt','browserName','osName','customerIp','customerPort','tail','basename','existsSync','pipe','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','err','unlinkSync','rimraf','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/export/pdf','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','error','code','message','catch','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','destroy','stack','send','render','merge','contact','agent','interaction','account','map','TagIds','Tags','split','forEach','push','waiting','answered','unmanaged','abandoned','total','closed','UserId','talking','disposition','index','rawAttributes','fieldName','type','key','name','keys','filters','intersection','model','query','attributes','fields','length','nolimit','order','sort','pick','select','field','color','from','tools_tags','u.id','u.fullname','users','chat_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20>\x200','Contact','operator','$substring'];(function(_0x43017b,_0x33c9b1){var _0x66fb3d=function(_0x5d232e){while(--_0x5d232e){_0x43017b['push'](_0x43017b['shift']());}};_0x66fb3d(++_0x33c9b1);}(_0x24c6,0xc0));var _0x624c=function(_0x22499e,_0x88757a){_0x22499e=_0x22499e-0x0;var _0x2c25c4=_0x24c6[_0x22499e];return _0x2c25c4;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x624c('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x624c('0x1'));var rp=require(_0x624c('0x2'));var moment=require('moment');var BPromise=require(_0x624c('0x3'));var Mustache=require(_0x624c('0x4'));var util=require('util');var path=require(_0x624c('0x5'));var sox=require(_0x624c('0x6'));var csv=require(_0x624c('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x624c('0x8'));var _=require('lodash');var squel=require(_0x624c('0x9'));var crypto=require(_0x624c('0xa'));var jsforce=require(_0x624c('0xb'));var deskjs=require(_0x624c('0xc'));var toCsv=require(_0x624c('0x7'));var querystring=require('querystring');var Papa=require(_0x624c('0xd'));var Redis=require(_0x624c('0xe'));var authService=require(_0x624c('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var pdf=require(_0x624c('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x624c('0x11'));var utils=require(_0x624c('0x12'));var config=require(_0x624c('0x13'));var licenseUtil=require(_0x624c('0x14'));var db=require('../../mysqldb')['db'];config[_0x624c('0x15')]=_[_0x624c('0x16')](config[_0x624c('0x15')],{'host':_0x624c('0x17'),'port':0x18eb});var socket=require(_0x624c('0x18'))(new Redis(config[_0x624c('0x15')]));require(_0x624c('0x19'))[_0x624c('0x1a')](socket);var jayson=require(_0x624c('0x1b'));var client=jayson[_0x624c('0x1c')][_0x624c('0x1d')]({'port':0x232b});var client9004=jayson[_0x624c('0x1c')][_0x624c('0x1d')]({'port':0x232c});function respondWithRpcPromise(_0x3637e8,_0x336920,_0x4a5015,_0x4f3ed1){return new BPromise(function(_0x17f7e3,_0x4ec0b0){var _0x30fbf9=_0x4f3ed1||client;return _0x30fbf9[_0x624c('0x1e')](_0x3637e8,_0x4a5015)[_0x624c('0x1f')](function(_0x352e8d){logger[_0x624c('0x20')](_0x624c('0x21'),_0x336920,_0x624c('0x22'));logger[_0x624c('0x23')](_0x624c('0x24'),_0x336920,'request\x20sent',JSON['stringify'](_0x352e8d));if(_0x352e8d[_0x624c('0x25')]){if(_0x352e8d[_0x624c('0x25')][_0x624c('0x26')]===0x1f4){logger[_0x624c('0x25')](_0x624c('0x21'),_0x336920,_0x352e8d[_0x624c('0x25')]['message']);return _0x4ec0b0(_0x352e8d[_0x624c('0x25')][_0x624c('0x27')]);}logger[_0x624c('0x25')]('ChatInteraction,\x20%s,\x20%s',_0x336920,_0x352e8d['error']['message']);return _0x17f7e3(_0x352e8d['error'][_0x624c('0x27')]);}else{logger['info']('ChatInteraction,\x20%s,\x20%s',_0x336920,_0x624c('0x22'));_0x17f7e3(_0x352e8d['result'][_0x624c('0x27')]);}})[_0x624c('0x28')](function(_0x3978a3){logger[_0x624c('0x25')](_0x624c('0x21'),_0x336920,_0x3978a3);_0x4ec0b0(_0x3978a3);});});}function respondWithStatusCode(_0x168c25,_0x1ae9cd){_0x1ae9cd=_0x1ae9cd||0xcc;return function(_0x29c91d){if(_0x29c91d){return _0x168c25[_0x624c('0x29')](_0x1ae9cd);}return _0x168c25['status'](_0x1ae9cd)[_0x624c('0x2a')]();};}function respondWithResult(_0x465a51,_0x7d8d93){_0x7d8d93=_0x7d8d93||0xc8;return function(_0x3282af){if(_0x3282af){return _0x465a51[_0x624c('0x2b')](_0x7d8d93)[_0x624c('0x2c')](_0x3282af);}};}function respondWithFilteredResult(_0x32a354,_0x4d1546){return function(_0x1232a0){if(_0x1232a0){var _0x4462ed=typeof _0x4d1546[_0x624c('0x2d')]===_0x624c('0x2e')&&typeof _0x4d1546[_0x624c('0x2f')]===_0x624c('0x2e');var _0x54e2b9=_0x1232a0[_0x624c('0x30')];var _0x208236=_0x4462ed?0x0:_0x4d1546['offset'];var _0x1bee93=_0x4462ed?_0x1232a0[_0x624c('0x30')]:_0x4d1546[_0x624c('0x2d')]+_0x4d1546[_0x624c('0x2f')];var _0x3113aa;if(_0x1bee93>=_0x54e2b9){_0x1bee93=_0x54e2b9;_0x3113aa=0xc8;}else{_0x3113aa=0xce;}_0x32a354[_0x624c('0x2b')](_0x3113aa);return _0x32a354[_0x624c('0x31')](_0x624c('0x32'),_0x208236+'-'+_0x1bee93+'/'+_0x54e2b9)[_0x624c('0x2c')](_0x1232a0);}return null;};}function patchUpdates(_0x1bc601){return function(_0x1a9f69){try{jsonpatch[_0x624c('0x33')](_0x1a9f69,_0x1bc601,!![]);}catch(_0x1e05be){return BPromise[_0x624c('0x34')](_0x1e05be);}return _0x1a9f69['save']();};}function saveUpdates(_0x4145d9,_0x428008){return function(_0x48855c){if(_0x48855c){return _0x48855c[_0x624c('0x35')](_0x4145d9)['then'](function(_0x143793){return _0x143793;});}return null;};}function removeEntity(_0xf92dd5,_0x2753b3){return function(_0x378ce7){if(_0x378ce7){return _0x378ce7[_0x624c('0x36')]()[_0x624c('0x1f')](function(){_0xf92dd5[_0x624c('0x2b')](0xcc)[_0x624c('0x2a')]();});}};}function handleEntityNotFound(_0x58e308,_0x291973){return function(_0x18b771){if(!_0x18b771){_0x58e308[_0x624c('0x29')](0x194);}return _0x18b771;};}function handleError(_0x3ffa98,_0x4e4445){_0x4e4445=_0x4e4445||0x1f4;return function(_0x24c241){logger[_0x624c('0x25')](_0x24c241[_0x624c('0x37')]);if(_0x24c241['name']){delete _0x24c241['name'];}_0x3ffa98['status'](_0x4e4445)[_0x624c('0x38')](_0x24c241);};}function getMustacheRender(_0x26d546,_0x540fb2){return Mustache[_0x624c('0x39')](_0x26d546,_[_0x624c('0x3a')](_0x540fb2['body'],{'contact':_0x540fb2[_0x624c('0x3b')],'message':_0x540fb2[_0x624c('0x27')],'agent':_0x540fb2[_0x624c('0x3c')],'interaction':_0x540fb2[_0x624c('0x3d')],'account':_0x540fb2[_0x624c('0x3e')]}))||'';}function getInteractionUsers(_0x3de920,_0x517d24){return new BPromise(function(_0x39cab9,_0x25ebb0){try{if(_0x517d24[_0x3de920['id']]){_0x3de920['Users']=_[_0x624c('0x3f')](_0x517d24[_0x3de920['id']],function(_0x1d6a7e){return{'id':_0x1d6a7e['id'],'fullname':_0x1d6a7e['fullname']};});}}catch(_0x1c1f85){_0x25ebb0(_0x1c1f85);}_0x39cab9(_0x3de920);});}function getInteractionTags(_0x3d75e9,_0x41a3ca){return new BPromise(function(_0x3f3119,_0x23c451){try{if(_0x3d75e9[_0x624c('0x40')]){_0x3d75e9[_0x624c('0x41')]=[];_0x3d75e9[_0x624c('0x40')][_0x624c('0x42')](',')[_0x624c('0x43')](function(_0x3b63fa){_0x3d75e9[_0x624c('0x41')][_0x624c('0x44')](_0x41a3ca[_0x3b63fa]);});}delete _0x3d75e9['TagIds'];}catch(_0x570d18){_0x23c451(_0x570d18);}_0x3f3119(_0x3d75e9);});}function updateChatInteraction(_0x28c2e2,_0x579d62,_0x2b2250){return new BPromise(function(_0x5d5e2d,_0x24c99d){return getInteractionUsers(_0x28c2e2,_0x2b2250)[_0x624c('0x1f')](function(_0x5541aa){return getInteractionTags(_0x5541aa,_0x579d62);})[_0x624c('0x1f')](function(_0x1d9cb8){return getStateInteraction(_0x1d9cb8);})['then'](function(_0x46dfde){_0x5d5e2d(_0x46dfde);})[_0x624c('0x28')](function(_0x2f6209){_0x24c99d(_0x2f6209);});});}function getStateInteraction(_0x94cabc){return new BPromise(function(_0xbe7e67){_0x94cabc[_0x624c('0x45')]=0x0;_0x94cabc['talking']=0x0;_0x94cabc[_0x624c('0x46')]=0x0;_0x94cabc[_0x624c('0x47')]=0x0;_0x94cabc[_0x624c('0x48')]=0x0;_0x94cabc[_0x624c('0x49')]=0x0;if(!_0x94cabc[_0x624c('0x4a')]&&!_0x94cabc[_0x624c('0x4b')]){_0x94cabc['waiting']+=0x1;}if(!_0x94cabc[_0x624c('0x4a')]&&_0x94cabc[_0x624c('0x4b')]){_0x94cabc[_0x624c('0x4c')]+=0x1;if(_0x94cabc['waiting']){_0x94cabc['waiting']-=0x1;}}if(_0x94cabc['closed']&&_0x94cabc[_0x624c('0x4d')]===_0x624c('0x48')){_0x94cabc['abandoned']+=0x1;if(_0x94cabc[_0x624c('0x45')]){_0x94cabc[_0x624c('0x45')]-=0x1;}}else if(_0x94cabc[_0x624c('0x4a')]&&!_0x94cabc[_0x624c('0x4b')]&&_0x94cabc[_0x624c('0x4d')]){_0x94cabc[_0x624c('0x47')]+=0x1;if(_0x94cabc[_0x624c('0x45')]){_0x94cabc[_0x624c('0x45')]-=0x1;}}else if(_0x94cabc[_0x624c('0x4a')]&&_0x94cabc['UserId']){_0x94cabc['answered']+=0x1;if(_0x94cabc[_0x624c('0x4c')]){_0x94cabc[_0x624c('0x4c')]-=0x1;}}_0x94cabc[_0x624c('0x49')]+=0x1;_0xbe7e67(_0x94cabc);});}exports[_0x624c('0x4e')]=function(_0x41b40e,_0x549e51){var _0xf7e838={},_0x237764={},_0x29c28f={'count':0x0,'rows':[]};var _0x241520=_[_0x624c('0x3f')](db['ChatInteraction'][_0x624c('0x4f')],function(_0x3da2cf){return{'name':_0x3da2cf[_0x624c('0x50')],'type':_0x3da2cf[_0x624c('0x51')][_0x624c('0x52')]};});_0x237764['model']=_[_0x624c('0x3f')](_0x241520,_0x624c('0x53'));_0x237764['query']=_[_0x624c('0x54')](_0x41b40e['query']);_0x237764[_0x624c('0x55')]=_[_0x624c('0x56')](_0x237764[_0x624c('0x57')],_0x237764[_0x624c('0x58')]);_0xf7e838[_0x624c('0x59')]=_[_0x624c('0x56')](_0x237764[_0x624c('0x57')],qs[_0x624c('0x5a')](_0x41b40e[_0x624c('0x58')][_0x624c('0x5a')]));_0xf7e838[_0x624c('0x59')]=_0xf7e838[_0x624c('0x59')][_0x624c('0x5b')]?_0xf7e838[_0x624c('0x59')]:_0x237764[_0x624c('0x57')];if(!_0x41b40e[_0x624c('0x58')]['hasOwnProperty'](_0x624c('0x5c'))){_0xf7e838[_0x624c('0x2f')]=qs['limit'](_0x41b40e['query'][_0x624c('0x2f')]);_0xf7e838['offset']=qs[_0x624c('0x2d')](_0x41b40e[_0x624c('0x58')]['offset']);}_0xf7e838[_0x624c('0x5d')]=qs['sort'](_0x41b40e['query'][_0x624c('0x5e')]);_0xf7e838['where']=qs[_0x624c('0x55')](_[_0x624c('0x5f')](_0x41b40e[_0x624c('0x58')],_0x237764['filters']),_0x241520);var _0x2fe809=[];var _0x2de3cf=squel[_0x624c('0x60')]()[_0x624c('0x61')]('id')[_0x624c('0x61')](_0x624c('0x53'))[_0x624c('0x61')](_0x624c('0x62'))[_0x624c('0x63')](_0x624c('0x64'));var _0x531f6c=squel[_0x624c('0x60')]()[_0x624c('0x61')](_0x624c('0x65'))[_0x624c('0x61')](_0x624c('0x66'))[_0x624c('0x61')]('ui.ChatInteractionId')[_0x624c('0x63')]('user_has_chat_interactions','ui')['left_join'](_0x624c('0x67'),'u','u.id\x20=\x20ui.UserId');var _0x3f8f93=squel[_0x624c('0x60')]()[_0x624c('0x63')](_0x624c('0x68'),'i')[_0x624c('0x69')](_0x624c('0x6a'),'c',_0x624c('0x6b'))['left_join']('users','o',_0x624c('0x6c'))['left_join']('chat_websites','a',_0x624c('0x6d'))[_0x624c('0x69')](_0x624c('0x6e'),'me',_0x624c('0x6f'))['left_join'](_0x624c('0x70'),'it',_0x624c('0x71'))[_0x624c('0x69')](_0x624c('0x64'),'t','t.id\x20=\x20it.TagId');var _0x2f7afd=squel[_0x624c('0x72')]();var _0x295c6b=[];var _0x58714f=squel[_0x624c('0x72')]();var _0x1cc29b;if(_0x41b40e[_0x624c('0x58')][_0x624c('0x73')]){_0x1cc29b=as[_0x624c('0x74')](_0x41b40e[_0x624c('0x58')][_0x624c('0x73')]);var _0xaeb1de=_0x1cc29b[_0x624c('0x75')];for(var _0x3de64d=0x0;_0x3de64d<_0x1cc29b[_0x624c('0x76')][_0x624c('0x5b')];_0x3de64d++){var _0x24f1b0=_0x1cc29b[_0x624c('0x76')][_0x3de64d];var _0x231252='i';var _0xe0b7d9=_[_0x624c('0x77')](_0x241520,['name',_0x24f1b0['field']]);if(!_0xe0b7d9){switch(_0x24f1b0['field']){case _0x624c('0x78'):if(_0x24f1b0[_0x624c('0x79')]==0x1){_0x3f8f93[_0x624c('0x7a')]('`'+_0x24f1b0['field']+'`\x20=\x200');}else{_0x3f8f93[_0x624c('0x7a')]('`'+_0x24f1b0[_0x624c('0x61')]+_0x624c('0x7b'));}break;case _0x624c('0x7c'):if(_0x24f1b0[_0x624c('0x7d')]===_0x624c('0x7e')){if(_0x24f1b0[_0x624c('0x79')][_0x624c('0x42')]('\x20')[_0x624c('0x5b')]>0x1){_0x2f7afd[_0xaeb1de](_0x624c('0x7f'),qs['getFullTextValue'](_0x24f1b0['value']),null);}else{var _0x2337fa='%'+_0x24f1b0[_0x624c('0x79')]+'%';_0x2f7afd[_0xaeb1de](_0x624c('0x80'),_0x2337fa,_0x2337fa,_0x2337fa);}}else{_0xe0b7d9=_[_0x624c('0x77')](_0x241520,[_0x624c('0x53'),_0x624c('0x81')]);_0x24f1b0['field']=_0x624c('0x81');_0x1b0813=as[_0x624c('0x82')](_0x231252,_0xe0b7d9[_0x624c('0x51')],_0x24f1b0);_0x2f7afd[_0xaeb1de](_0x1b0813[_0x624c('0x83')],_0x1b0813[_0x624c('0x79')]['start'],_0x1b0813[_0x624c('0x79')][_0x624c('0x2a')]);}break;case _0x624c('0x84'):var _0x1c4ca6=_0x24f1b0['value'][_0x624c('0x42')](',')[_0x624c('0x3f')](function(_0x2252c0){return Number(_0x2252c0);});_0x1c4ca6[_0x624c('0x43')](function(_0x5e9c9b){_0x58714f['or'](_0x624c('0x85'),'%,'+_0x5e9c9b+',%');});_0x295c6b=_['union'](_0x295c6b,_0x1c4ca6);break;case _0x624c('0x86'):if(_0x24f1b0['operator']==='$substring'){_0x2f7afd[_0xaeb1de]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x24f1b0[_0x624c('0x79')]+'%',null);}else{_0xe0b7d9=_[_0x624c('0x77')](_0x241520,[_0x624c('0x53'),_0x624c('0x4b')]);_0x24f1b0[_0x624c('0x61')]=_0x624c('0x4b');_0x1b0813=as[_0x624c('0x82')](_0x231252,_0xe0b7d9[_0x624c('0x51')],_0x24f1b0);_0x2f7afd[_0xaeb1de](_0x1b0813[_0x624c('0x83')],_0x1b0813['value'][_0x624c('0x87')],_0x1b0813[_0x624c('0x79')][_0x624c('0x2a')]);}break;case _0x624c('0x88'):_0x1b0813=as[_0x624c('0x82')]('me',null,_0x24f1b0);_0x2f7afd[_0xaeb1de](_0x1b0813[_0x624c('0x83')],_0x1b0813[_0x624c('0x79')][_0x624c('0x87')],_0x1b0813[_0x624c('0x79')][_0x624c('0x2a')]);break;}}else{var _0x1b0813=as['buildExpression'](_0x231252,_0xe0b7d9['type'],_0x24f1b0);_0x2f7afd[_0xaeb1de](_0x1b0813[_0x624c('0x83')],_0x1b0813['value'][_0x624c('0x87')],_0x1b0813[_0x624c('0x79')][_0x624c('0x2a')]);}}}else{var _0x29f717=_(_0x41b40e[_0x624c('0x58')])['keys']()['map'](function(_0x1b6a0c){return _['some'](_0x241520,['name',_0x1b6a0c])?_0x1b6a0c:undefined;})[_0x624c('0x89')]()[_0x624c('0x79')]();if(!_[_0x624c('0x8a')](_0x29f717)){_0x29f717[_0x624c('0x43')](function(_0x47d84a){if(_0x47d84a==='ChatWebsiteId'){_0x3f8f93[_0x624c('0x8b')](_0x624c('0x8c'),[][_0x624c('0x8d')](_0x41b40e[_0x624c('0x58')][_0x47d84a]));}else if(_0x47d84a===_0x624c('0x8e')){var _0x183526=JSON[_0x624c('0x8f')](_0x41b40e[_0x624c('0x58')][_0x47d84a])['$gte'];var _0x1d9ea6=JSON[_0x624c('0x8f')](_0x41b40e[_0x624c('0x58')][_0x47d84a])[_0x624c('0x90')];_0x3f8f93[_0x624c('0x8b')](_0x624c('0x91'),_0x183526,_0x1d9ea6);}else{if(_0x41b40e['query'][_0x47d84a]==='null'){_0x3f8f93[_0x624c('0x8b')]('i.'+_0x47d84a+_0x624c('0x92'));}else{_0x3f8f93[_0x624c('0x8b')]('i.'+_0x47d84a+_0x624c('0x93'),_0x41b40e[_0x624c('0x58')][_0x47d84a]);}}});}if(_0x41b40e['query']['read']){if(_0x41b40e[_0x624c('0x58')]['read']==0x1){_0x3f8f93[_0x624c('0x7a')](_0x624c('0x94'));}else{_0x3f8f93['having'](_0x624c('0x95'));}}if(_0x41b40e['query'][_0x624c('0x96')]){_0x295c6b=_[_0x624c('0x97')](_0x41b40e[_0x624c('0x58')][_0x624c('0x96')])?_0x41b40e[_0x624c('0x58')][_0x624c('0x96')]:new Array(_0x41b40e['query'][_0x624c('0x96')]);_0x295c6b[_0x624c('0x43')](function(_0x5d5842){_0x58714f['or'](_0x624c('0x85'),'%,'+_0x5d5842+',%');});}if(_0x41b40e[_0x624c('0x58')][_0x624c('0x98')]){var _0x4188e1=_0x41b40e['query'][_0x624c('0x98')][_0x624c('0x99')]('\x5c','\x5c\x5c')[_0x624c('0x99')](/'/g,'\x27\x27');if(qs[_0x624c('0x9a')](_0x4188e1)){_0x2f7afd['or'](_0x624c('0x9b'),_0x4188e1+'%');}else{_0x2f7afd['or'](_0x624c('0x9c'),qs[_0x624c('0x9d')](_0x4188e1))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x4188e1+'%');}}}_0x3f8f93['where'](_0x2f7afd);_0x3f8f93[_0x624c('0x9e')](_0x624c('0x9f'));var _0x23a0e0={'type':db[_0x624c('0xa0')][_0x624c('0xa1')][_0x624c('0xa2')],'raw':!![]};var _0x3abbce=_0x3f8f93['clone']();_0x3abbce[_0x624c('0x61')](_0x624c('0x9f'));_0x3abbce[_0x624c('0x61')](_0x624c('0xa3'),_0x624c('0x78'));if(_0xf7e838[_0x624c('0x5d')]){_0xf7e838[_0x624c('0x5d')][_0x624c('0x43')](function(_0x2d45ac){var _0x35f5c8=_0x2d45ac[0x0]===_0x624c('0xa4')?_0x2d45ac[0x0]:'i.'+_0x2d45ac[0x0];_0x3f8f93[_0x624c('0x5d')](_0x35f5c8,_0x2d45ac[0x1]===_0x624c('0xa5')?![]:!![]);});}if(!_['isEmpty'](_0x295c6b)){_0x3f8f93['having'](_0x58714f);_0x3abbce[_0x624c('0x8b')](_0x624c('0xa6'),_0x295c6b);}BPromise['resolve']()['then'](function(){if(!_0x1cc29b){if(_0x41b40e[_0x624c('0x58')][_0x624c('0xa7')])return;_0x3abbce[_0x624c('0x8b')](_0x624c('0xa8'));_0x3f8f93[_0x624c('0x8b')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}if(_0x41b40e['user'][_0x624c('0xa9')]!==_0x624c('0x3c'))return;return _0x41b40e['user'][_0x624c('0xaa')]({'attributes':['id'],'raw':!![]})['then'](function(_0xca20ff){if(_[_0x624c('0x8a')](_0xca20ff)){_0x3abbce[_0x624c('0x8b')](_0x624c('0xab'));_0x3f8f93[_0x624c('0x8b')](_0x624c('0xab'));}else{_0x3abbce[_0x624c('0x8b')]('i.ChatWebsiteId\x20IN\x20?',_[_0x624c('0x3f')](_0xca20ff,'id'));_0x3f8f93[_0x624c('0x8b')](_0x624c('0x8c'),_['map'](_0xca20ff,'id'));}});})['then'](function(){if(_0x41b40e[_0x624c('0xac')][_0x624c('0xa9')]===_0x624c('0x3c')&&!_0x1cc29b&&!_0x41b40e[_0x624c('0x58')]['ChatWebsiteId'])return[];return db['sequelize']['query'](_0x3abbce[_0x624c('0xad')](),_0x23a0e0);})[_0x624c('0x1f')](function(_0x5e9b93){_0x29c28f[_0x624c('0x30')]=_0x5e9b93['length'];if(_0x29c28f[_0x624c('0x30')]===0x0)return[];return db[_0x624c('0xae')][_0x624c('0x58')](_0x2de3cf['toString'](),_0x23a0e0)[_0x624c('0x1f')](function(_0x591f0d){_0x2fe809=_['keyBy'](_0x591f0d,'id');_0x23a0e0=_['merge'](_0x23a0e0,{'model':db[_0x624c('0xaf')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x41b40e[_0x624c('0x58')][_0x624c('0x5a')]){_0xf7e838[_0x624c('0x59')][_0x624c('0x43')](function(_0x3df09a){_0x3f8f93[_0x624c('0x61')]('i.'+_0x3df09a);});}else{_0x3f8f93[_0x624c('0x61')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');_0x3f8f93[_0x624c('0x61')](_0x624c('0xb0'),_0x624c('0xb1'));_0x3f8f93[_0x624c('0x61')]('a.mandatoryDisposition',_0x624c('0xb2'));_0x3f8f93[_0x624c('0x61')]('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',_0x624c('0xa4'));_0x3f8f93['field'](_0x624c('0xb3'));_0x3f8f93[_0x624c('0x61')](_0x624c('0xb4'),'Contact.firstName');_0x3f8f93['field'](_0x624c('0xb5'),_0x624c('0xb6'));_0x3f8f93[_0x624c('0x61')](_0x624c('0xb7'),'Contact.email');_0x3f8f93[_0x624c('0x61')](_0x624c('0xb8'),_0x624c('0xb9'));_0x3f8f93[_0x624c('0x61')](_0x624c('0xba'),_0x624c('0xbb'));_0x3f8f93['field']('c.fax','Contact.fax');_0x3f8f93[_0x624c('0x61')]('o.fullname',_0x624c('0xbc'));_0x3f8f93[_0x624c('0x61')]('o.internal',_0x624c('0xbd'));_0x3f8f93[_0x624c('0x61')]('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0xf7e838[_0x624c('0x2f')])_0x3f8f93[_0x624c('0x2f')](_0xf7e838[_0x624c('0x2f')]);if(_0xf7e838['offset'])_0x3f8f93['offset'](_0xf7e838[_0x624c('0x2d')]);return db[_0x624c('0xae')]['query'](_0x3f8f93[_0x624c('0xad')](),_0x23a0e0);})['then'](function(_0x5cd839){if(_0x5cd839[_0x624c('0x5b')]>0x0)_0x531f6c['where'](_0x624c('0xbe'),_[_0x624c('0x3f')](_0x5cd839,'id'));return db[_0x624c('0xae')][_0x624c('0x58')](_0x531f6c[_0x624c('0xad')](),_0x23a0e0)['then'](function(_0x602662){var _0x579264=_[_0x624c('0xbf')](_0x602662,'ChatInteractionId');var _0x40a209=[];_0x5cd839['forEach'](function(_0x4d1e83){_0x40a209['push'](updateChatInteraction(_0x4d1e83,_0x2fe809,_0x579264));});return BPromise['all'](_0x40a209);});});})[_0x624c('0x1f')](function(_0x333522){_0x29c28f[_0x624c('0xc0')]=_0x333522;return _0x29c28f;})['then'](respondWithFilteredResult(_0x549e51,_0xf7e838))[_0x624c('0x28')](handleError(_0x549e51,null));};exports[_0x624c('0xc1')]=function(_0x37302e,_0x528848){var _0x85f0f1={'raw':![],'where':{'id':_0x37302e['params']['id']}},_0x38b1d9={};_0x38b1d9['model']=_[_0x624c('0x54')](db[_0x624c('0xaf')][_0x624c('0x4f')]);_0x38b1d9[_0x624c('0x58')]=_[_0x624c('0x54')](_0x37302e[_0x624c('0x58')]);_0x38b1d9['filters']=_['intersection'](_0x38b1d9[_0x624c('0x57')],_0x38b1d9[_0x624c('0x58')]);_0x85f0f1[_0x624c('0x59')]=_[_0x624c('0x56')](_0x38b1d9[_0x624c('0x57')],qs[_0x624c('0x5a')](_0x37302e[_0x624c('0x58')][_0x624c('0x5a')]));_0x85f0f1[_0x624c('0x59')]=_0x85f0f1[_0x624c('0x59')][_0x624c('0x5b')]?_0x85f0f1['attributes']:_0x38b1d9[_0x624c('0x57')];if(_0x37302e[_0x624c('0x58')][_0x624c('0xc2')]){_0x85f0f1[_0x624c('0xc3')]=[{'all':!![]}];}_0x85f0f1=_[_0x624c('0x3a')]({},_0x85f0f1,_0x37302e[_0x624c('0xc4')]);return db['ChatInteraction'][_0x624c('0x77')](_0x85f0f1)['then'](handleEntityNotFound(_0x528848,null))[_0x624c('0x1f')](respondWithResult(_0x528848,null))['catch'](handleError(_0x528848,null));};exports[_0x624c('0xc5')]=function(_0x489af6,_0x2b9e81){return db[_0x624c('0xaf')][_0x624c('0xc5')](_0x489af6[_0x624c('0x88')],{})[_0x624c('0x1f')](respondWithResult(_0x2b9e81,0xc9))[_0x624c('0x28')](handleError(_0x2b9e81,null));};exports[_0x624c('0x35')]=function(_0x45250b,_0xfbf862){if(_0x45250b[_0x624c('0x88')]['id']){delete _0x45250b[_0x624c('0x88')]['id'];}return db[_0x624c('0xaf')]['find']({'where':{'id':_0x45250b[_0x624c('0xc6')]['id']}})[_0x624c('0x1f')](handleEntityNotFound(_0xfbf862,null))['then'](saveUpdates(_0x45250b[_0x624c('0x88')],null))[_0x624c('0x1f')](respondWithResult(_0xfbf862,null))['catch'](handleError(_0xfbf862,null));};exports[_0x624c('0x36')]=function(_0x2487b0,_0x1d4e1c){return db[_0x624c('0xaf')][_0x624c('0x77')]({'where':{'id':_0x2487b0[_0x624c('0xc6')]['id']}})[_0x624c('0x1f')](handleEntityNotFound(_0x1d4e1c,null))[_0x624c('0x1f')](removeEntity(_0x1d4e1c,null))[_0x624c('0x28')](handleError(_0x1d4e1c,null));};exports[_0x624c('0xc7')]=function(_0x1bdcd6,_0xeaa8ba){return db[_0x624c('0xaf')][_0x624c('0xc7')]()['then'](respondWithResult(_0xeaa8ba,null))[_0x624c('0x28')](handleError(_0xeaa8ba,null));};exports[_0x624c('0xc8')]=function(_0x53c766,_0x3faa3c){var _0xd44842=_0x53c766[_0x624c('0xc6')]['id'];var _0x6fed5e;var _0x30c598;var _0x51e46c;return db[_0x624c('0xaf')][_0x624c('0xc9')]({'where':{'id':_0xd44842}})[_0x624c('0x1f')](function(_0x29166f){_0x6fed5e=_0x29166f;return db[_0x624c('0xca')][_0x624c('0xc9')]({'where':{'id':_0x29166f[_0x624c('0xa7')]},'attributes':['id',_0x624c('0xcb'),_0x624c('0xcc'),_0x624c('0xcd'),_0x624c('0xce'),'vidaooMetadata'],'raw':!![]});})['then'](function(_0x44711c){if(_0x44711c&&_0x44711c[_0x624c('0xcb')]&&_0x44711c['vidaooEscalation']){_0x30c598=_0x44711c;var _0x228b1a={'interaction':{'id':_0xd44842},'agent':{'id':_0x53c766[_0x624c('0xac')]['id'],'name':_0x53c766[_0x624c('0xac')][_0x624c('0x53')],'fullname':_0x53c766[_0x624c('0xac')]['fullname'],'email':_0x53c766[_0x624c('0xac')][_0x624c('0xcf')]},'contact':_0x53c766[_0x624c('0x88')][_0x624c('0x3b')],'account':_0x53c766[_0x624c('0x88')][_0x624c('0x3e')]};var _0x46686e={'rejectUnauthorized':![],'method':_0x624c('0xd0'),'url':_0x624c('0xd1'),'headers':{'X-APIKEY':_0x44711c[_0x624c('0xcb')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x53c766[_0x624c('0xac')]['email']],'buttons':null,'topic':_0x30c598['vidaooTopic'],'note':_[_0x624c('0xd2')](_0x30c598['vidaooNote'])?null:getMustacheRender(_0x30c598[_0x624c('0xce')],_0x228b1a),'metadata':null},'redirect':_0x624c('0xd3'),'json':!![]};try{if(!_[_0x624c('0xd2')](_0x30c598[_0x624c('0xd4')])){var _0x2e9e6b=getMustacheRender(_0x30c598[_0x624c('0xd4')],_0x228b1a);var _0xcf2e6=JSON[_0x624c('0x8f')](_0x2e9e6b);_0x46686e[_0x624c('0x88')]['metadata']=_0xcf2e6;}}catch(_0x1f7a63){throw new db['Sequelize'][(_0x624c('0xd5'))](_0x624c('0xd6'));}return rp(_0x46686e);}else{throw new db['Sequelize'][(_0x624c('0xd5'))](_0x624c('0xd7'));}})[_0x624c('0x1f')](function(_0x2293c5){_0x51e46c=_0x2293c5;if(_0x51e46c['id']){var _0x450aa7={'body':_0x51e46c[_0x624c('0xd8')],'ChatWebsiteId':_0x30c598['id'],'ChatInteractionId':_0x6fed5e['id'],'direction':_0x624c('0xd9'),'UserId':_0x53c766['user']['id']};return db[_0x624c('0xda')][_0x624c('0xc5')](_0x450aa7,{});}else{throw new db['Sequelize']['ValidationError'](_0x624c('0xdb'));}})[_0x624c('0x1f')](function(){return _0x6fed5e[_0x624c('0xdc')]({'vidaooSessionId':_0x51e46c['id']});})[_0x624c('0x1f')](respondWithResult(_0x3faa3c,null))[_0x624c('0x28')](handleError(_0x3faa3c,null));};exports[_0x624c('0xdd')]=function(_0x535f4d,_0x418664){if(_0x535f4d[_0x624c('0x88')]['id']){delete _0x535f4d[_0x624c('0x88')]['id'];}return db[_0x624c('0xaf')][_0x624c('0x77')]({'where':{'id':_0x535f4d['params']['id']},'include':[{'model':db[_0x624c('0xde')],'as':_0x624c('0x7c')}]})['then'](handleEntityNotFound(_0x418664,null))['then'](saveUpdates(_0x535f4d[_0x624c('0x88')],null))[_0x624c('0x1f')](respondWithResult(_0x418664,null))[_0x624c('0x28')](handleError(_0x418664,null));};exports[_0x624c('0xdf')]=function(_0x1c5de1,_0x27502f,_0x5932b3){if(_0x1c5de1['body']['id']){delete _0x1c5de1[_0x624c('0x88')]['id'];}return db[_0x624c('0xaf')][_0x624c('0x77')]({'where':{'id':_0x1c5de1[_0x624c('0xc6')]['id']}})[_0x624c('0x1f')](function(_0x29ca04){if(!_0x29ca04){logger[_0x624c('0x25')](_0x624c('0xe0'),_0x624c('0xdf'),0x194,_0x624c('0xe1'));_0x27502f[_0x624c('0x29')](0x194);}else{if(_0x29ca04[_0x624c('0x4b')]){throw new db[(_0x624c('0xa0'))]['ValidationError']('Interaction\x20already\x20assigned');}}return _0x29ca04;})[_0x624c('0x1f')](function(_0x5384e3){if(_0x5384e3){return _0x5384e3[_0x624c('0x35')]({'closed':_0x1c5de1[_0x624c('0x88')][_0x624c('0x4a')],'disposition':_0x1c5de1[_0x624c('0x88')]['disposition']})[_0x624c('0x1f')](function(_0x31d590){return _0x31d590;});}})[_0x624c('0x1f')](function(_0x54b76b){return respondWithRpcPromise('AbandonInteraction','abandon',_0x1c5de1['body'],client9004);})[_0x624c('0x1f')](respondWithResult(_0x27502f,null))[_0x624c('0x28')](handleError(_0x27502f,null));};exports[_0x624c('0xe2')]=function(_0x435411,_0x4fe044,_0x3caf9a){_0x435411[_0x624c('0x88')][_0x624c('0x53')]=_0x435411[_0x624c('0xe3')][_0x624c('0xe4')];_0x435411[_0x624c('0x88')]['basename']=_0x435411[_0x624c('0xe3')]['filename'];_0x435411['body'][_0x624c('0x51')]=_0x435411[_0x624c('0xe3')][_0x624c('0xe5')];return db['Attachment'][_0x624c('0xc5')](_0x435411[_0x624c('0x88')])[_0x624c('0x1f')](respondWithResult(_0x4fe044,0xc9))[_0x624c('0x28')](handleError(_0x4fe044,null));};exports[_0x624c('0xe6')]=function(_0x4b52f5,_0x1b2dc6,_0x92a0ff){return db[_0x624c('0xaf')][_0x624c('0xc9')]({'where':{'id':_0x4b52f5[_0x624c('0xc6')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x1b2dc6,null))['then'](function(_0x25e504){if(_0x25e504){if(_0x25e504[_0x624c('0x4a')]){return _0x1b2dc6[_0x624c('0x2b')](0x193)[_0x624c('0x2c')]({'status':0x193,'message':'Unauthorized'});}return db[_0x624c('0xe7')]['findOne']({'where':{'id':_0x4b52f5[_0x624c('0x58')][_0x624c('0xe8')]},'raw':!![]})['then'](handleEntityNotFound(_0x1b2dc6,null));}})[_0x624c('0x1f')](function(_0x3f3665){if(_0x3f3665){var _0x172384=_0x3f3665[_0x624c('0xe9')]!==null;var _0x2b6ff0=path[_0x624c('0xea')](config[_0x624c('0xeb')],'server/files/attachments/');if(_0x172384){_0x2b6ff0=path[_0x624c('0xea')](_0x2b6ff0,_0x624c('0xec'));}var _0x51fbb7=path[_0x624c('0xea')](_0x2b6ff0,_0x3f3665['basename']);return _0x1b2dc6['download'](_0x51fbb7);}})[_0x624c('0x28')](handleError(_0x1b2dc6,null));};exports['close']=function(_0x5a3dff,_0x507e62){var _0x214bfa=null;var _0x42bf8f=null;var _0x446a53=null;var _0x341d6b=null;if(_0x5a3dff[_0x624c('0x88')]['id']){delete _0x5a3dff[_0x624c('0x88')]['id'];}if(_0x5a3dff[_0x624c('0x88')][_0x624c('0xed')]){_0x341d6b=path[_0x624c('0xea')](config[_0x624c('0xeb')],_0x624c('0xee'),util[_0x624c('0xef')](_0x624c('0xf0'),Date[_0x624c('0xf1')]()));_0x5a3dff['body'][_0x624c('0xf2')]=_0x341d6b;}return db[_0x624c('0xaf')][_0x624c('0x77')]({'where':{'id':_0x5a3dff[_0x624c('0xc6')]['id']},'include':[{'model':db['ChatMessage'],'as':_0x624c('0xf3'),'include':[{'model':db[_0x624c('0x86')],'as':_0x624c('0x86')}]}]})[_0x624c('0x1f')](handleEntityNotFound(_0x507e62,null))[_0x624c('0x1f')](saveUpdates(_0x5a3dff['body'],null))[_0x624c('0x1f')](function(_0x12768b){if(_0x12768b){_0x214bfa=_0x12768b;return db[_0x624c('0xca')][_0x624c('0x77')]({'where':{'id':_0x214bfa[_0x624c('0xa7')]}});}})[_0x624c('0x1f')](function(_0x1b2964){if(_0x1b2964){_0x446a53=_0x1b2964;return db[_0x624c('0xde')][_0x624c('0x77')]({'where':{'id':_0x214bfa[_0x624c('0x81')]}});}})[_0x624c('0x1f')](function(_0x425f8c){if(_0x425f8c){_0x42bf8f=_0x425f8c;if(_0x341d6b){var _0x43c65a=null;for(var _0x415aff=0x1;_0x415aff<_0x214bfa[_0x624c('0xf3')][_0x624c('0x5b')];++_0x415aff){_0x43c65a=_0x214bfa[_0x624c('0xf3')][_0x415aff];var _0x45d69e=_0x43c65a[_0x624c('0x4b')]?util[_0x624c('0xef')](_0x624c('0xf4'),_0x446a53[_0x624c('0xf5')],_0x43c65a[_0x624c('0x4b')]):_0x624c('0xf6');var _0x292248=_0x5a3dff[_0x624c('0x88')][_0x624c('0xf7')]||util['format'](_0x624c('0xf4'),_0x624c('0xf8'),_0x43c65a[_0x624c('0x81')]);switch(_0x446a53['agentIdentifier']){case _0x624c('0xf9'):_0x45d69e=_0x43c65a[_0x624c('0x4b')]?util[_0x624c('0xef')]('%s%d',_0x446a53['agentAlias'],_0x43c65a[_0x624c('0x4b')]):'System';break;case _0x624c('0xfa'):_0x45d69e=_0x43c65a[_0x624c('0x4b')]?_0x43c65a['User'][_0x624c('0xfb')]||_0x43c65a['User']['fullname']:'System';break;case _0x624c('0xfc'):_0x45d69e=_0x43c65a[_0x624c('0x4b')]?_0x43c65a[_0x624c('0x86')][_0x624c('0xfd')]:_0x624c('0xf6');break;default:_0x45d69e=_0x43c65a[_0x624c('0x4b')]?util['format'](_0x624c('0xf4'),_0x446a53[_0x624c('0xf5')],_0x43c65a[_0x624c('0x4b')]):_0x624c('0xf6');}var _0x292e38=util[_0x624c('0xef')](_0x624c('0xfe'),moment(_0x43c65a[_0x624c('0x8e')])[_0x624c('0xef')](_0x624c('0xff')),_0x43c65a['direction']==='in'?_0x292248:_0x45d69e,_0x43c65a['body']);if(!_0x43c65a[_0x624c('0x100')]){fs[_0x624c('0x101')](_0x341d6b,_0x292e38);}}return db[_0x624c('0x102')][_0x624c('0xc9')]({'where':{'service':!![]},'include':[{'model':db[_0x624c('0x103')],'as':_0x624c('0x104'),'raw':!![]}]});}}})[_0x624c('0x1f')](function(_0x303662){if(_0x303662&&_0x303662['Smtp']&&_0x5a3dff[_0x624c('0x88')]){var _0x57e5ca={'tls':{'rejectUnauthorized':![]}};if(_0x303662[_0x624c('0x104')][_0x624c('0x105')]){_0x57e5ca[_0x624c('0x105')]=_0x303662['Smtp'][_0x624c('0x105')];}else{_0x57e5ca[_0x624c('0x106')]=_0x303662[_0x624c('0x104')]['host'];_0x57e5ca['port']=_0x303662[_0x624c('0x104')][_0x624c('0x107')];_0x57e5ca['secure']=_0x303662[_0x624c('0x104')][_0x624c('0x108')];}if(_0x303662[_0x624c('0x104')][_0x624c('0x109')]){_0x57e5ca['auth']={'user':_0x303662[_0x624c('0x104')][_0x624c('0xac')],'pass':_0x303662[_0x624c('0x104')][_0x624c('0x10a')]};}return respondWithRpcPromise('SendMail',_0x624c('0x10b'),{'account':_0x57e5ca,'message':{'from':util[_0x624c('0xef')](_0x624c('0x10c'),_0x303662[_0x624c('0x53')],_0x303662[_0x624c('0xcf')]||_0x303662[_0x624c('0x104')][_0x624c('0xac')]),'to':_0x5a3dff['body']['mailTranscript'],'subject':'Mail\x20Transcript','text':util[_0x624c('0xef')](_0x624c('0x10d'),_0x5a3dff[_0x624c('0x88')][_0x624c('0xed')]),'attachments':[{'path':_0x341d6b}]}})[_0x624c('0x1f')](function(){return _0x214bfa;})['catch'](function(_0x55a2dd){console['error'](_0x55a2dd);});}else{return _0x214bfa;}})[_0x624c('0x1f')](respondWithStatusCode(_0x507e62,0xc8))['catch'](handleError(_0x507e62,null));};exports[_0x624c('0x10e')]=function(_0x1a2bee,_0xedf637,_0x22d8ae){return db[_0x624c('0xda')][_0x624c('0x77')]({'where':{'id':_0x1a2bee[_0x624c('0xc6')]['id']}})[_0x624c('0x1f')](handleEntityNotFound(_0xedf637,null))[_0x624c('0x1f')](function(_0x28b0fb){if(_0x28b0fb){return _0x28b0fb[_0x624c('0x10e')](_0x1a2bee['body']['ids'],_['omit'](_0x1a2bee[_0x624c('0x88')],[_0x624c('0x10f'),'id'])||{});}})['then'](respondWithResult(_0xedf637,null))['catch'](handleError(_0xedf637,null));};exports[_0x624c('0x110')]=function(_0x36bd81,_0x58d9a5,_0x2d8bbb){var _0x56c7dd={'raw':![],'where':{}};var _0x4e9c5c={};var _0x27d9f1={'count':0x0,'rows':[]};return db['ChatInteraction'][_0x624c('0xc9')]({'where':{'id':_0x36bd81[_0x624c('0xc6')]['id']}})[_0x624c('0x1f')](handleEntityNotFound(_0x58d9a5,null))[_0x624c('0x1f')](function(_0x5ab52b){if(_0x5ab52b){_0x4e9c5c[_0x624c('0x57')]=_[_0x624c('0x54')](db[_0x624c('0xda')][_0x624c('0x4f')]);_0x4e9c5c[_0x624c('0x58')]=_['keys'](_0x36bd81[_0x624c('0x58')]);_0x4e9c5c[_0x624c('0x55')]=_[_0x624c('0x56')](_0x4e9c5c['model'],_0x4e9c5c[_0x624c('0x58')]);_0x56c7dd[_0x624c('0x59')]=_['intersection'](_0x4e9c5c['model'],qs[_0x624c('0x5a')](_0x36bd81['query']['fields']));_0x56c7dd[_0x624c('0x59')]=_0x56c7dd[_0x624c('0x59')][_0x624c('0x5b')]?_0x56c7dd['attributes']:_0x4e9c5c[_0x624c('0x57')];if(!_0x36bd81[_0x624c('0x58')][_0x624c('0x111')](_0x624c('0x5c'))){_0x56c7dd[_0x624c('0x2f')]=qs[_0x624c('0x2f')](_0x36bd81[_0x624c('0x58')][_0x624c('0x2f')]);_0x56c7dd['offset']=qs[_0x624c('0x2d')](_0x36bd81[_0x624c('0x58')][_0x624c('0x2d')]);}_0x56c7dd[_0x624c('0x5d')]=qs[_0x624c('0x5e')](_0x36bd81[_0x624c('0x58')][_0x624c('0x5e')]);_0x56c7dd[_0x624c('0x8b')]=qs['filters'](_['pick'](_0x36bd81[_0x624c('0x58')],_0x4e9c5c[_0x624c('0x55')]));_0x56c7dd[_0x624c('0x8b')][_0x624c('0x112')]=_0x5ab52b['id'];if(_0x36bd81['query'][_0x624c('0x98')]){_0x56c7dd[_0x624c('0x8b')]=_['merge'](_0x56c7dd[_0x624c('0x8b')],{'$or':_[_0x624c('0x3f')](_0x56c7dd[_0x624c('0x59')],function(_0x207f78){var _0x275f23={};_0x275f23[_0x207f78]={'$like':'%'+_0x36bd81['query'][_0x624c('0x98')]+'%'};return _0x275f23;})});}if(_0x36bd81[_0x624c('0x58')][_0x624c('0x113')]){var _0x508f20=_0x36bd81[_0x624c('0x58')][_0x624c('0x113')][_0x624c('0x42')](',');var _0x259b28={};_0x259b28[_0x508f20[0x0]]={'$gte':moment(_0x508f20[0x1])['format'](_0x624c('0x114'))};_0x56c7dd[_0x624c('0x8b')]=_[_0x624c('0x3a')](_0x56c7dd[_0x624c('0x8b')],_0x259b28);}_0x56c7dd=_[_0x624c('0x3a')]({},_0x56c7dd,_0x36bd81['options']);return db[_0x624c('0xda')]['count']({'where':_0x56c7dd[_0x624c('0x8b')]})['then'](function(_0x2d01a4){_0x27d9f1[_0x624c('0x30')]=_0x2d01a4;if(_0x36bd81[_0x624c('0x58')]['includeAll']){_0x56c7dd[_0x624c('0xc3')]=[{'all':!![]}];}return db[_0x624c('0xda')][_0x624c('0x115')](_0x56c7dd);})[_0x624c('0x1f')](function(_0x430777){_0x27d9f1[_0x624c('0xc0')]=_0x430777;return _0x27d9f1;});}})['then'](respondWithFilteredResult(_0x58d9a5,_0x56c7dd))[_0x624c('0x28')](handleError(_0x58d9a5,null));};exports[_0x624c('0x116')]=function(_0x48f16a,_0x5e1353,_0x9d45ee){var _0x2920af={'where':{}},_0x5b6243={},_0x48b705={'count':0x0,'rows':[]};return db[_0x624c('0xaf')][_0x624c('0xc9')]({'where':{'id':_0x48f16a[_0x624c('0xc6')]['id']}})[_0x624c('0x1f')](handleEntityNotFound(_0x5e1353,null))[_0x624c('0x1f')](function(_0x2a690f){if(_0x2a690f){_0x5b6243[_0x624c('0x57')]=_[_0x624c('0x54')](db[_0x624c('0xda')][_0x624c('0x4f')]);_0x5b6243[_0x624c('0x58')]=_[_0x624c('0x54')](_0x48f16a[_0x624c('0x58')]);_0x5b6243[_0x624c('0x55')]=_['intersection'](_0x5b6243[_0x624c('0x57')],_0x5b6243[_0x624c('0x58')]);_0x2920af['attributes']=_[_0x624c('0x56')](_0x5b6243[_0x624c('0x57')],qs['fields'](_0x48f16a[_0x624c('0x58')]['fields']));_0x2920af[_0x624c('0x59')]=_0x2920af['attributes']['length']?_0x2920af[_0x624c('0x59')]:_0x5b6243[_0x624c('0x57')];if(!_0x48f16a[_0x624c('0x58')][_0x624c('0x111')](_0x624c('0x5c'))){_0x2920af[_0x624c('0x2f')]=qs[_0x624c('0x2f')](_0x48f16a[_0x624c('0x58')][_0x624c('0x2f')]);_0x2920af[_0x624c('0x2d')]=qs[_0x624c('0x2d')](_0x48f16a[_0x624c('0x58')][_0x624c('0x2d')]);}_0x2920af[_0x624c('0x5d')]=qs[_0x624c('0x5e')](_0x48f16a['query'][_0x624c('0x5e')]);_0x2920af[_0x624c('0x8b')]=qs[_0x624c('0x55')](_[_0x624c('0x5f')](_0x48f16a[_0x624c('0x58')],_0x5b6243[_0x624c('0x55')]));_0x2920af['where'][_0x624c('0x112')]=_0x2a690f['id'];if(_0x48f16a['query']['filter']){_0x2920af[_0x624c('0x8b')]=_[_0x624c('0x3a')](_0x2920af['where'],{'$or':_[_0x624c('0x3f')](_0x2920af['attributes'],function(_0x40003a){var _0x317a57={};_0x317a57[_0x40003a]={'$like':'%'+_0x48f16a[_0x624c('0x58')][_0x624c('0x98')]+'%'};return _0x317a57;})});}_0x2920af[_0x624c('0x8b')][_0x624c('0x100')]=![];if(_0x48f16a['query']['id']){_0x2920af[_0x624c('0x8b')]['id']={'$gt':_0x48f16a[_0x624c('0x58')]['id']};}_0x2920af=_[_0x624c('0x3a')]({},_0x2920af,_0x48f16a[_0x624c('0xc4')]);return db['ChatMessage']['count']({'where':_0x2920af[_0x624c('0x8b')]})[_0x624c('0x1f')](function(_0x1fdb00){_0x48b705['count']=_0x1fdb00;_0x2920af[_0x624c('0xc3')]=[];if(_0x48f16a[_0x624c('0x58')]['includeAgent']){_0x2920af[_0x624c('0xc3')]['push']({'model':db[_0x624c('0x86')],'as':'User','attributes':['id',_0x624c('0xfd'),_0x624c('0xfb')]});}if(_0x48f16a[_0x624c('0x58')][_0x624c('0xc2')]){_0x2920af[_0x624c('0xc3')]=[{'all':!![]}];}return db['ChatMessage'][_0x624c('0x115')](_0x2920af);})[_0x624c('0x1f')](function(_0xd3eb09){_0x48b705['rows']=_0xd3eb09;return _0x48b705;});}})[_0x624c('0x1f')](respondWithFilteredResult(_0x5e1353,_0x2920af))['catch'](handleError(_0x5e1353,null));};exports['addTags']=function(_0x2eeba9,_0x56c601,_0x1fdf79){return db[_0x624c('0xaf')]['find']({'where':{'id':_0x2eeba9[_0x624c('0xc6')]['id']}})[_0x624c('0x1f')](handleEntityNotFound(_0x56c601,null))['then'](function(_0x25073d){if(_0x25073d){return _0x25073d[_0x624c('0x117')](_0x2eeba9[_0x624c('0x88')][_0x624c('0x10f')],_[_0x624c('0x118')](_0x2eeba9['body'],[_0x624c('0x10f'),'id'])||{})[_0x624c('0x119')](function(){return db[_0x624c('0x84')][_0x624c('0x115')]({'attributes':['id',_0x624c('0x53'),_0x624c('0x62')],'where':{'id':_0x2eeba9[_0x624c('0x88')]['ids']}});})[_0x624c('0x1f')](function(_0xa0aee7){socket[_0x624c('0x11a')](_0x624c('0x11b'),{'id':Number(_0x2eeba9[_0x624c('0xc6')]['id']),'tags':_0xa0aee7||[]});return{'id':Number(_0x2eeba9['params']['id']),'tags':_0xa0aee7||[]};});}})[_0x624c('0x1f')](respondWithResult(_0x56c601,null))[_0x624c('0x28')](handleError(_0x56c601,null));};exports[_0x624c('0x11c')]=function(_0x4768db,_0x283de5,_0x34c83c){return db[_0x624c('0xaf')]['find']({'where':{'id':_0x4768db[_0x624c('0xc6')]['id']}})[_0x624c('0x1f')](handleEntityNotFound(_0x283de5,null))[_0x624c('0x1f')](function(_0x2145f2){if(_0x2145f2){return _0x2145f2['removeTags'](_0x4768db[_0x624c('0x58')][_0x624c('0x10f')]);}})[_0x624c('0x1f')](respondWithStatusCode(_0x283de5,null))[_0x624c('0x28')](handleError(_0x283de5,null));};exports[_0x624c('0x11d')]=function(_0x4ebe03,_0x393462){var _0x1615f7=moment()[_0x624c('0x11e')]()[_0x624c('0xad')]();var _0x53af06=path[_0x624c('0xea')](config[_0x624c('0xeb')],'server',_0x624c('0x11f'),_0x624c('0x120'));var _0xa601f6=path[_0x624c('0xea')](config[_0x624c('0xeb')],_0x624c('0x121'),_0x624c('0x11f'),_0x624c('0x122'));var _0x405192=path[_0x624c('0xea')](_0x53af06,_0x1615f7);var _0x1ac4d2=util[_0x624c('0xef')](_0x624c('0x123'),_0x4ebe03[_0x624c('0xc6')]['id'],_0x1615f7);var _0x18238f=path[_0x624c('0xea')](_0x53af06,_0x1ac4d2);var _0x238942=[];_0x238942['push']({'model':db[_0x624c('0x86')],'as':_0x624c('0x86'),'attributes':['id',_0x624c('0xfd')],'raw':!![]});_0x238942['push']({'model':db['CmContact'],'as':_0x624c('0x7c'),'attributes':['id',_0x624c('0x124'),_0x624c('0x125')],'raw':!![]});if(_0x4ebe03['query'][_0x624c('0x122')]){_0x238942[_0x624c('0x44')]({'model':db[_0x624c('0xe7')],'as':_0x624c('0xe7'),'raw':!![]});}var _0x1036e3=[{'model':db[_0x624c('0xda')],'as':_0x624c('0xf3'),'attributes':['id','body',_0x624c('0x8e'),_0x624c('0x126'),_0x624c('0x100'),_0x624c('0x127')],'include':_0x238942}];_0x1036e3[_0x624c('0x44')]({'model':db[_0x624c('0xca')],'as':_0x624c('0x128'),'attributes':['id',_0x624c('0x53')]});_0x1036e3[_0x624c('0x44')]({'model':db[_0x624c('0x86')],'as':'Owner','attributes':['id',_0x624c('0xfd')]});return db[_0x624c('0xaf')][_0x624c('0x77')]({'where':{'id':_0x4ebe03[_0x624c('0xc6')]['id']},'include':_0x1036e3})['then'](handleEntityNotFound(_0x393462,null))['then'](function(_0x4c5de2){if(_0x4c5de2){var _0x24e63a=_0x4c5de2[_0x624c('0x129')]({'plain':!![]});fs[_0x624c('0x12a')](_0x405192);var _0x4dc40b={'channel':_0x624c('0x12b'),'account':_0x24e63a[_0x624c('0x128')][_0x624c('0x53')],'agent':_0x24e63a[_0x624c('0x12c')]?_0x24e63a[_0x624c('0x12c')][_0x624c('0xfd')]:_0x624c('0x12d'),'createdAt':moment(_0x24e63a['createdAt'])[_0x624c('0xef')](_0x624c('0x114'))[_0x624c('0xad')](),'closedAt':_0x24e63a[_0x624c('0x4a')]?moment(_0x24e63a[_0x624c('0x12e')])[_0x624c('0xef')](_0x624c('0x114'))[_0x624c('0xad')]():'','disposition':_0x24e63a['disposition'],'chatInfo':{'browser':_0x24e63a[_0x624c('0x12f')],'os':_0x24e63a[_0x624c('0x130')],'referer':_0x24e63a['referer'],'customerIp':_0x24e63a[_0x624c('0x131')],'customerPort':_0x24e63a[_0x624c('0x132')]?_0x24e63a[_0x624c('0x132')]:_0x624c('0x12d')},'messages':_(_0x24e63a[_0x624c('0xf3')])[_0x624c('0x133')]()['filter']({'secret':![]})[_0x624c('0x3f')](function(_0x7894fe){if(_0x7894fe[_0x624c('0xe7')]){var _0xb6b0cc=path['join'](_0xa601f6,_0x7894fe[_0x624c('0xe7')][_0x624c('0x134')]);if(fs[_0x624c('0x135')](_0xb6b0cc)){fs['createReadStream'](_0xb6b0cc)[_0x624c('0x136')](fs['createWriteStream'](path['join'](_0x405192,_0x7894fe['Attachment'][_0x624c('0x134')])));}}return{'date':moment(_0x7894fe[_0x624c('0x8e')])['format'](_0x624c('0x114'))[_0x624c('0xad')](),'sender':_0x7894fe[_0x624c('0x126')]==='out'?_0x7894fe[_0x624c('0x86')]?_0x7894fe[_0x624c('0x86')][_0x624c('0xfd')]:_0x624c('0xf6'):_0x7894fe[_0x624c('0x7c')][_0x624c('0x124')]+(_0x7894fe[_0x624c('0x7c')][_0x624c('0x125')]?'\x20'+_0x7894fe[_0x624c('0x7c')][_0x624c('0x125')]:''),'body':_0x7894fe[_0x624c('0xe7')]?_0x7894fe[_0x624c('0xe7')][_0x624c('0x134')]:_0x7894fe[_0x624c('0x88')],'direction':_0x7894fe['direction']===_0x624c('0xd9')?'A':'C','secret':_0x7894fe[_0x624c('0x100')],'read':_0x7894fe['read'],'attachment':_0x7894fe[_0x624c('0xe7')]};})[_0x624c('0x79')]()};return ejs[_0x624c('0x137')](path[_0x624c('0xea')](config['root'],_0x624c('0x121'),_0x624c('0x138'),_0x624c('0x139')),{'interaction':_0x4dc40b})[_0x624c('0x1f')](function(_0xec9890){var _0x1c0cfa=path[_0x624c('0xea')](_0x405192,_0x624c('0x13a')+_0x24e63a['id']+'-'+_0x1615f7+_0x624c('0x13b'));var _0x249aa6={'path':_0x1c0cfa,'channel':_0x624c('0x12b'),'interactionId':_0x24e63a['id']};return pdf[_0x624c('0x13c')](_0xec9890,_0x249aa6);})[_0x624c('0x1f')](function(){return new BPromise(function(_0x38bbfe,_0x2c6087){zipdir(_0x405192,{'saveTo':_0x18238f},function(_0x30b433,_0x4f2648){if(_0x30b433)return _0x2c6087(_0x30b433);return _0x38bbfe(_0x4f2648);});})['then'](function(){return new BPromise(function(_0x3fb38,_0x14dd00){rimraf(_0x405192,function(_0x2fb487){if(_0x2fb487)_0x14dd00(_0x2fb487);return _0x3fb38();});});})[_0x624c('0x1f')](function(){return _0x393462[_0x624c('0x11d')](_0x18238f,_0x1ac4d2,function(_0x581859){if(_0x581859){console['log'](_0x624c('0x13d'),_0x581859);}else{fs[_0x624c('0x13e')](_0x18238f);}});});});}else{return _0x393462[_0x624c('0x29')](0xc8);}})['catch'](handleError(_0x393462,null));};