Built motion from commit f7863d46.|2.5.41
[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 _0x0409=['CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','SELECT','clone','DESC','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','user','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','ChatInteraction','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.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','c.fax','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','rows','show','params','includeAll','include','options','create','update','describe','createVidaooSession','findOne','vidaooApiKey','vidaooEscalation','vidaooTopic','vidaooNote','email','POST','isNull','follow','vidaooMetadata','metadata','Sequelize','Error\x20in\x20conversion\x20vidaooMetadata','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','ValidationError','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','AbandonInteraction','file','originalname','filename','mimetype','attachmentDownload','Unauthorized','Attachment','attachId','join','server/files/attachments/','offline-chat/','basename','close','mailTranscript','root','format','transcript-%s.txt','now','Messages','User','ChatWebsite','CmContact','%s%d','agentAlias','System','customer','Visitor','agentIdentifier','website_alias','agent_alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','createdAt','direction','MailServerOut','Smtp','service','host','port','secure','authentication','auth','SendMail','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','nolimit','ChatInteractionId','$gte','YYYY-MM-DD\x20HH:mm:ss','includeAgent','alias','addTags','setTags','omit','findAll','emit','chatInteractionTags:save','removeTags','download','unix','files','tmp','server','attachments','firstName','secret','Account','Owner','get','mkdirSync','Chat','closedAt','browserName','osName','customerPort','N.A.','createReadStream','lastName','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','log','err','unlinkSync','rimraf','fast-json-patch','request-promise','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','redis','defaults','localhost','./chatInteraction.socket','jayson/promise','client','http','request','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','sendStatus','status','offset','undefined','count','limit','set','Content-Range','json','apply','save','destroy','then','end','name','send','render','merge','body','contact','agent','interaction','Users','fullname','TagIds','Tags','split','forEach','push','waiting','unmanaged','UserId','talking','closed','disposition','abandoned','answered','total','index','map','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','pick','field','color','from','tools_tags','select','u.id','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','users','u.id\x20=\x20ui.UserId','chat_interactions','cm_contacts','o.id\x20=\x20i.UserId','left_join','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','length','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','text','some','compact','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','parse','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric'];(function(_0x23143e,_0x57e325){var _0x54898c=function(_0x4dc8ab){while(--_0x4dc8ab){_0x23143e['push'](_0x23143e['shift']());}};_0x54898c(++_0x57e325);}(_0x0409,0x1da));var _0x9040=function(_0x618414,_0x1a7a60){_0x618414=_0x618414-0x0;var _0x21c19a=_0x0409[_0x618414];return _0x21c19a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9040('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9040('0x1'));var rp=require(_0x9040('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x9040('0x3'));var csv=require(_0x9040('0x4'));var ejs=require(_0x9040('0x5'));var fs=require('fs');var fs_extra=require(_0x9040('0x6'));var _=require(_0x9040('0x7'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x9040('0x8'));var deskjs=require(_0x9040('0x9'));var toCsv=require(_0x9040('0x4'));var querystring=require('querystring');var Papa=require(_0x9040('0xa'));var Redis=require(_0x9040('0xb'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x9040('0xc'));var pdf=require(_0x9040('0xd'));var hardwareService=require(_0x9040('0xe'));var logger=require(_0x9040('0xf'))('api');var utils=require('../../config/utils');var config=require(_0x9040('0x10'));var licenseUtil=require('../../config/license/util');var db=require(_0x9040('0x11'))['db'];config[_0x9040('0x12')]=_[_0x9040('0x13')](config['redis'],{'host':_0x9040('0x14'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x9040('0x15'))['register'](socket);var jayson=require(_0x9040('0x16'));var client=jayson[_0x9040('0x17')][_0x9040('0x18')]({'port':0x232b});var client9004=jayson[_0x9040('0x17')]['http']({'port':0x232c});function respondWithRpcPromise(_0x22d340,_0x5ec249,_0x3a7895,_0x52dc25){return new BPromise(function(_0x4c1af9,_0x373c75){var _0x24e62c=_0x52dc25||client;return _0x24e62c[_0x9040('0x19')](_0x22d340,_0x3a7895)['then'](function(_0x567c5f){logger[_0x9040('0x1a')](_0x9040('0x1b'),_0x5ec249,_0x9040('0x1c'));logger[_0x9040('0x1d')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x5ec249,_0x9040('0x1c'),JSON[_0x9040('0x1e')](_0x567c5f));if(_0x567c5f[_0x9040('0x1f')]){if(_0x567c5f['error'][_0x9040('0x20')]===0x1f4){logger[_0x9040('0x1f')](_0x9040('0x1b'),_0x5ec249,_0x567c5f[_0x9040('0x1f')]['message']);return _0x373c75(_0x567c5f[_0x9040('0x1f')][_0x9040('0x21')]);}logger[_0x9040('0x1f')]('ChatInteraction,\x20%s,\x20%s',_0x5ec249,_0x567c5f['error'][_0x9040('0x21')]);return _0x4c1af9(_0x567c5f[_0x9040('0x1f')][_0x9040('0x21')]);}else{logger[_0x9040('0x1a')](_0x9040('0x1b'),_0x5ec249,_0x9040('0x1c'));_0x4c1af9(_0x567c5f[_0x9040('0x22')][_0x9040('0x21')]);}})[_0x9040('0x23')](function(_0x636bca){logger[_0x9040('0x1f')](_0x9040('0x1b'),_0x5ec249,_0x636bca);_0x373c75(_0x636bca);});});}function respondWithStatusCode(_0x328dbc,_0x4d5fc3){_0x4d5fc3=_0x4d5fc3||0xcc;return function(_0x48ae53){if(_0x48ae53){return _0x328dbc[_0x9040('0x24')](_0x4d5fc3);}return _0x328dbc['status'](_0x4d5fc3)['end']();};}function respondWithResult(_0x531865,_0x52c515){_0x52c515=_0x52c515||0xc8;return function(_0x1e20e1){if(_0x1e20e1){return _0x531865[_0x9040('0x25')](_0x52c515)['json'](_0x1e20e1);}};}function respondWithFilteredResult(_0xe9db08,_0xdfbcc4){return function(_0x414c89){if(_0x414c89){var _0x367252=typeof _0xdfbcc4[_0x9040('0x26')]===_0x9040('0x27')&&typeof _0xdfbcc4['limit']===_0x9040('0x27');var _0x5204a0=_0x414c89['count'];var _0x56c3d0=_0x367252?0x0:_0xdfbcc4[_0x9040('0x26')];var _0x499d5f=_0x367252?_0x414c89[_0x9040('0x28')]:_0xdfbcc4[_0x9040('0x26')]+_0xdfbcc4[_0x9040('0x29')];var _0x406909;if(_0x499d5f>=_0x5204a0){_0x499d5f=_0x5204a0;_0x406909=0xc8;}else{_0x406909=0xce;}_0xe9db08[_0x9040('0x25')](_0x406909);return _0xe9db08[_0x9040('0x2a')](_0x9040('0x2b'),_0x56c3d0+'-'+_0x499d5f+'/'+_0x5204a0)[_0x9040('0x2c')](_0x414c89);}return null;};}function patchUpdates(_0x27bc0f){return function(_0x16de0b){try{jsonpatch[_0x9040('0x2d')](_0x16de0b,_0x27bc0f,!![]);}catch(_0x18e649){return BPromise['reject'](_0x18e649);}return _0x16de0b[_0x9040('0x2e')]();};}function saveUpdates(_0x3c2686,_0xbbf79c){return function(_0x4b86e4){if(_0x4b86e4){return _0x4b86e4['update'](_0x3c2686)['then'](function(_0x2bd749){return _0x2bd749;});}return null;};}function removeEntity(_0x136d2e,_0x167363){return function(_0x52ef68){if(_0x52ef68){return _0x52ef68[_0x9040('0x2f')]()[_0x9040('0x30')](function(){_0x136d2e[_0x9040('0x25')](0xcc)[_0x9040('0x31')]();});}};}function handleEntityNotFound(_0x232998,_0x4584a9){return function(_0xde85d5){if(!_0xde85d5){_0x232998[_0x9040('0x24')](0x194);}return _0xde85d5;};}function handleError(_0x1084cb,_0xa09397){_0xa09397=_0xa09397||0x1f4;return function(_0x37f3af){logger['error'](_0x37f3af['stack']);if(_0x37f3af['name']){delete _0x37f3af[_0x9040('0x32')];}_0x1084cb[_0x9040('0x25')](_0xa09397)[_0x9040('0x33')](_0x37f3af);};}function getMustacheRender(_0x406479,_0x400dd4){return Mustache[_0x9040('0x34')](_0x406479,_[_0x9040('0x35')](_0x400dd4[_0x9040('0x36')],{'contact':_0x400dd4[_0x9040('0x37')],'message':_0x400dd4[_0x9040('0x21')],'agent':_0x400dd4[_0x9040('0x38')],'interaction':_0x400dd4[_0x9040('0x39')],'account':_0x400dd4['account']}))||'';}function getInteractionUsers(_0x122706,_0x45745d){return new BPromise(function(_0x388b16,_0x3bd574){try{if(_0x45745d[_0x122706['id']]){_0x122706[_0x9040('0x3a')]=_['map'](_0x45745d[_0x122706['id']],function(_0x3ea83c){return{'id':_0x3ea83c['id'],'fullname':_0x3ea83c[_0x9040('0x3b')]};});}}catch(_0x25e15a){_0x3bd574(_0x25e15a);}_0x388b16(_0x122706);});}function getInteractionTags(_0x22f58c,_0x20e79a){return new BPromise(function(_0xac164f,_0x431fc0){try{if(_0x22f58c[_0x9040('0x3c')]){_0x22f58c[_0x9040('0x3d')]=[];_0x22f58c[_0x9040('0x3c')][_0x9040('0x3e')](',')[_0x9040('0x3f')](function(_0x1e89ad){_0x22f58c['Tags'][_0x9040('0x40')](_0x20e79a[_0x1e89ad]);});}delete _0x22f58c[_0x9040('0x3c')];}catch(_0x2cb6e5){_0x431fc0(_0x2cb6e5);}_0xac164f(_0x22f58c);});}function updateChatInteraction(_0x5a938a,_0x479427,_0x1e8445){return new BPromise(function(_0x4306ed,_0x5e61c9){return getInteractionUsers(_0x5a938a,_0x1e8445)[_0x9040('0x30')](function(_0x34529b){return getInteractionTags(_0x34529b,_0x479427);})[_0x9040('0x30')](function(_0x1a3766){return getStateInteraction(_0x1a3766);})['then'](function(_0x453724){_0x4306ed(_0x453724);})[_0x9040('0x23')](function(_0x35ba16){_0x5e61c9(_0x35ba16);});});}function getStateInteraction(_0x38afed){return new BPromise(function(_0x3f0a10){_0x38afed[_0x9040('0x41')]=0x0;_0x38afed['talking']=0x0;_0x38afed['answered']=0x0;_0x38afed[_0x9040('0x42')]=0x0;_0x38afed['abandoned']=0x0;_0x38afed['total']=0x0;if(!_0x38afed['closed']&&!_0x38afed[_0x9040('0x43')]){_0x38afed[_0x9040('0x41')]+=0x1;}if(!_0x38afed['closed']&&_0x38afed['UserId']){_0x38afed[_0x9040('0x44')]+=0x1;if(_0x38afed[_0x9040('0x41')]){_0x38afed[_0x9040('0x41')]-=0x1;}}if(_0x38afed[_0x9040('0x45')]&&_0x38afed[_0x9040('0x46')]===_0x9040('0x47')){_0x38afed['abandoned']+=0x1;if(_0x38afed[_0x9040('0x41')]){_0x38afed[_0x9040('0x41')]-=0x1;}}else if(_0x38afed['closed']&&!_0x38afed[_0x9040('0x43')]&&_0x38afed['disposition']){_0x38afed['unmanaged']+=0x1;if(_0x38afed[_0x9040('0x41')]){_0x38afed[_0x9040('0x41')]-=0x1;}}else if(_0x38afed[_0x9040('0x45')]&&_0x38afed['UserId']){_0x38afed[_0x9040('0x48')]+=0x1;if(_0x38afed[_0x9040('0x44')]){_0x38afed['talking']-=0x1;}}_0x38afed[_0x9040('0x49')]+=0x1;_0x3f0a10(_0x38afed);});}exports[_0x9040('0x4a')]=function(_0xe6a40e,_0x241631){var _0x5df49c={},_0x29067a={},_0x4a8d1d={'count':0x0,'rows':[]};var _0x489cc8=_[_0x9040('0x4b')](db['ChatInteraction'][_0x9040('0x4c')],function(_0x589352){return{'name':_0x589352['fieldName'],'type':_0x589352[_0x9040('0x4d')]['key']};});_0x29067a[_0x9040('0x4e')]=_[_0x9040('0x4b')](_0x489cc8,'name');_0x29067a[_0x9040('0x4f')]=_[_0x9040('0x50')](_0xe6a40e[_0x9040('0x4f')]);_0x29067a[_0x9040('0x51')]=_[_0x9040('0x52')](_0x29067a[_0x9040('0x4e')],_0x29067a['query']);_0x5df49c[_0x9040('0x53')]=_[_0x9040('0x52')](_0x29067a[_0x9040('0x4e')],qs[_0x9040('0x54')](_0xe6a40e[_0x9040('0x4f')]['fields']));_0x5df49c[_0x9040('0x53')]=_0x5df49c[_0x9040('0x53')]['length']?_0x5df49c[_0x9040('0x53')]:_0x29067a['model'];if(!_0xe6a40e[_0x9040('0x4f')][_0x9040('0x55')]('nolimit')){_0x5df49c[_0x9040('0x29')]=qs[_0x9040('0x29')](_0xe6a40e[_0x9040('0x4f')][_0x9040('0x29')]);_0x5df49c[_0x9040('0x26')]=qs[_0x9040('0x26')](_0xe6a40e['query']['offset']);}_0x5df49c[_0x9040('0x56')]=qs[_0x9040('0x57')](_0xe6a40e['query'][_0x9040('0x57')]);_0x5df49c['where']=qs[_0x9040('0x51')](_[_0x9040('0x58')](_0xe6a40e[_0x9040('0x4f')],_0x29067a[_0x9040('0x51')]),_0x489cc8);var _0x5ad2c0=[];var _0x575552=squel['select']()[_0x9040('0x59')]('id')[_0x9040('0x59')](_0x9040('0x32'))[_0x9040('0x59')](_0x9040('0x5a'))[_0x9040('0x5b')](_0x9040('0x5c'));var _0x1df78a=squel[_0x9040('0x5d')]()[_0x9040('0x59')](_0x9040('0x5e'))[_0x9040('0x59')](_0x9040('0x5f'))[_0x9040('0x59')](_0x9040('0x60'))[_0x9040('0x5b')](_0x9040('0x61'),'ui')['left_join'](_0x9040('0x62'),'u',_0x9040('0x63'));var _0xa35b1f=squel[_0x9040('0x5d')]()[_0x9040('0x5b')](_0x9040('0x64'),'i')['left_join'](_0x9040('0x65'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0x9040('0x62'),'o',_0x9040('0x66'))[_0x9040('0x67')](_0x9040('0x68'),'a',_0x9040('0x69'))['left_join']('chat_messages','me','me.ChatInteractionId\x20=\x20i.id')['left_join'](_0x9040('0x6a'),'it',_0x9040('0x6b'))['left_join'](_0x9040('0x5c'),'t',_0x9040('0x6c'));var _0x2f97ea=squel[_0x9040('0x6d')]();var _0x4d9c12=[];var _0x3ca200=squel[_0x9040('0x6d')]();var _0x5c8d2a;if(_0xe6a40e[_0x9040('0x4f')][_0x9040('0x6e')]){_0x5c8d2a=as[_0x9040('0x6f')](_0xe6a40e[_0x9040('0x4f')][_0x9040('0x6e')]);var _0x2c46c4=_0x5c8d2a[_0x9040('0x70')];for(var _0x1fb940=0x0;_0x1fb940<_0x5c8d2a['conditions']['length'];_0x1fb940++){var _0x96dfe2=_0x5c8d2a[_0x9040('0x71')][_0x1fb940];var _0x5def54='i';var _0x2c2bc4=_[_0x9040('0x72')](_0x489cc8,['name',_0x96dfe2['field']]);if(!_0x2c2bc4){switch(_0x96dfe2['field']){case _0x9040('0x73'):if(_0x96dfe2[_0x9040('0x74')]==0x1){_0xa35b1f[_0x9040('0x75')]('`'+_0x96dfe2[_0x9040('0x59')]+_0x9040('0x76'));}else{_0xa35b1f[_0x9040('0x75')]('`'+_0x96dfe2[_0x9040('0x59')]+_0x9040('0x77'));}break;case _0x9040('0x78'):if(_0x96dfe2[_0x9040('0x79')]===_0x9040('0x7a')){if(_0x96dfe2[_0x9040('0x74')]['split']('\x20')[_0x9040('0x7b')]>0x1){_0x2f97ea[_0x2c46c4](_0x9040('0x7c'),qs[_0x9040('0x7d')](_0x96dfe2[_0x9040('0x74')]),null);}else{var _0x2e1ba3='%'+_0x96dfe2[_0x9040('0x74')]+'%';_0x2f97ea[_0x2c46c4]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x2e1ba3,_0x2e1ba3,_0x2e1ba3);}}else{_0x2c2bc4=_[_0x9040('0x72')](_0x489cc8,[_0x9040('0x32'),_0x9040('0x7e')]);_0x96dfe2[_0x9040('0x59')]=_0x9040('0x7e');_0x56b4e4=as[_0x9040('0x7f')](_0x5def54,_0x2c2bc4[_0x9040('0x4d')],_0x96dfe2);_0x2f97ea[_0x2c46c4](_0x56b4e4['text'],_0x56b4e4[_0x9040('0x74')][_0x9040('0x80')],_0x56b4e4[_0x9040('0x74')][_0x9040('0x31')]);}break;case _0x9040('0x81'):var _0x423b53=_0x96dfe2[_0x9040('0x74')]['split'](',')[_0x9040('0x4b')](function(_0x3470a9){return Number(_0x3470a9);});_0x423b53[_0x9040('0x3f')](function(_0x56c813){_0x3ca200['or'](_0x9040('0x82'),'%,'+_0x56c813+',%');});_0x4d9c12=_[_0x9040('0x83')](_0x4d9c12,_0x423b53);break;case'User':if(_0x96dfe2[_0x9040('0x79')]==='$substring'){_0x2f97ea[_0x2c46c4](_0x9040('0x84'),'%'+_0x96dfe2[_0x9040('0x74')]+'%',null);}else{_0x2c2bc4=_['find'](_0x489cc8,[_0x9040('0x32'),'UserId']);_0x96dfe2[_0x9040('0x59')]=_0x9040('0x43');_0x56b4e4=as[_0x9040('0x7f')](_0x5def54,_0x2c2bc4[_0x9040('0x4d')],_0x96dfe2);_0x2f97ea[_0x2c46c4](_0x56b4e4[_0x9040('0x85')],_0x56b4e4[_0x9040('0x74')][_0x9040('0x80')],_0x56b4e4[_0x9040('0x74')][_0x9040('0x31')]);}break;case _0x9040('0x36'):_0x56b4e4=as[_0x9040('0x7f')]('me',null,_0x96dfe2);_0x2f97ea[_0x2c46c4](_0x56b4e4[_0x9040('0x85')],_0x56b4e4[_0x9040('0x74')]['start'],_0x56b4e4['value'][_0x9040('0x31')]);break;}}else{var _0x56b4e4=as[_0x9040('0x7f')](_0x5def54,_0x2c2bc4[_0x9040('0x4d')],_0x96dfe2);_0x2f97ea[_0x2c46c4](_0x56b4e4['text'],_0x56b4e4[_0x9040('0x74')][_0x9040('0x80')],_0x56b4e4[_0x9040('0x74')]['end']);}}}else{var _0x2ce9cc=_(_0xe6a40e[_0x9040('0x4f')])[_0x9040('0x50')]()[_0x9040('0x4b')](function(_0x2eb1c6){return _[_0x9040('0x86')](_0x489cc8,[_0x9040('0x32'),_0x2eb1c6])?_0x2eb1c6:undefined;})[_0x9040('0x87')]()[_0x9040('0x74')]();if(!_[_0x9040('0x88')](_0x2ce9cc)){_0x2ce9cc[_0x9040('0x3f')](function(_0x1473e8){if(_0x1473e8===_0x9040('0x89')){_0xa35b1f['where'](_0x9040('0x8a'),[][_0x9040('0x8b')](_0xe6a40e[_0x9040('0x4f')][_0x1473e8]));}else if(_0x1473e8==='createdAt'){var _0x16b827=JSON[_0x9040('0x8c')](_0xe6a40e[_0x9040('0x4f')][_0x1473e8])['$gte'];var _0x191a11=JSON[_0x9040('0x8c')](_0xe6a40e[_0x9040('0x4f')][_0x1473e8])['$lte'];_0xa35b1f[_0x9040('0x8d')](_0x9040('0x8e'),_0x16b827,_0x191a11);}else{if(_0xe6a40e[_0x9040('0x4f')][_0x1473e8]==='null'){_0xa35b1f['where']('i.'+_0x1473e8+'\x20IS\x20NULL');}else{_0xa35b1f['where']('i.'+_0x1473e8+_0x9040('0x8f'),_0xe6a40e['query'][_0x1473e8]);}}});}if(_0xe6a40e['query'][_0x9040('0x90')]){if(_0xe6a40e[_0x9040('0x4f')][_0x9040('0x90')]==0x1){_0xa35b1f[_0x9040('0x75')](_0x9040('0x91'));}else{_0xa35b1f[_0x9040('0x75')](_0x9040('0x92'));}}if(_0xe6a40e[_0x9040('0x4f')][_0x9040('0x93')]){_0x4d9c12=_[_0x9040('0x94')](_0xe6a40e[_0x9040('0x4f')][_0x9040('0x93')])?_0xe6a40e[_0x9040('0x4f')][_0x9040('0x93')]:new Array(_0xe6a40e[_0x9040('0x4f')]['tag']);_0x4d9c12['forEach'](function(_0x255994){_0x3ca200['or'](_0x9040('0x82'),'%,'+_0x255994+',%');});}if(_0xe6a40e[_0x9040('0x4f')][_0x9040('0x95')]){var _0x36943d=_0xe6a40e['query'][_0x9040('0x95')]['replace']('\x5c','\x5c\x5c')[_0x9040('0x96')](/'/g,'\x27\x27');if(qs[_0x9040('0x97')](_0x36943d)){_0x2f97ea['or']('i.id\x20LIKE\x20?',_0x36943d+'%');}else{_0x2f97ea['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x9040('0x7d')](_0x36943d))['or'](_0x9040('0x98'),_0x36943d+'%');}}}_0xa35b1f[_0x9040('0x8d')](_0x2f97ea);_0xa35b1f[_0x9040('0x99')](_0x9040('0x9a'));var _0x32aec3={'type':db['Sequelize'][_0x9040('0x9b')][_0x9040('0x9c')],'raw':!![]};var _0x145961=_0xa35b1f[_0x9040('0x9d')]();_0x145961['field']('i.id');_0x145961['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x9040('0x73'));if(_0x5df49c[_0x9040('0x56')]){_0x5df49c[_0x9040('0x56')][_0x9040('0x3f')](function(_0xbac7ca){var _0x1fcf23=_0xbac7ca[0x0]==='contactName'?_0xbac7ca[0x0]:'i.'+_0xbac7ca[0x0];_0xa35b1f[_0x9040('0x56')](_0x1fcf23,_0xbac7ca[0x1]===_0x9040('0x9e')?![]:!![]);});}if(!_[_0x9040('0x88')](_0x4d9c12)){_0xa35b1f[_0x9040('0x75')](_0x3ca200);_0x145961['where']('t.id\x20IN\x20?',_0x4d9c12);}BPromise[_0x9040('0x9f')]()[_0x9040('0x30')](function(){if(!_0x5c8d2a){if(_0xe6a40e[_0x9040('0x4f')][_0x9040('0x89')])return;_0x145961[_0x9040('0x8d')](_0x9040('0xa0'));_0xa35b1f[_0x9040('0x8d')](_0x9040('0xa0'));return;}if(_0xe6a40e['user'][_0x9040('0xa1')]!==_0x9040('0x38'))return;return _0xe6a40e[_0x9040('0xa2')][_0x9040('0xa3')]({'attributes':['id'],'raw':!![]})['then'](function(_0x17f50f){if(_[_0x9040('0x88')](_0x17f50f)){_0x145961['where'](_0x9040('0xa4'));_0xa35b1f[_0x9040('0x8d')](_0x9040('0xa4'));}else{_0x145961[_0x9040('0x8d')]('i.ChatWebsiteId\x20IN\x20?',_[_0x9040('0x4b')](_0x17f50f,'id'));_0xa35b1f[_0x9040('0x8d')](_0x9040('0x8a'),_[_0x9040('0x4b')](_0x17f50f,'id'));}});})[_0x9040('0x30')](function(){if(_0xe6a40e[_0x9040('0xa2')][_0x9040('0xa1')]===_0x9040('0x38')&&!_0x5c8d2a&&!_0xe6a40e['query']['ChatWebsiteId'])return[];return db[_0x9040('0xa5')]['query'](_0x145961[_0x9040('0xa6')](),_0x32aec3);})[_0x9040('0x30')](function(_0x17c1c4){_0x4a8d1d[_0x9040('0x28')]=_0x17c1c4[_0x9040('0x7b')];if(_0x4a8d1d['count']===0x0)return[];return db[_0x9040('0xa5')][_0x9040('0x4f')](_0x575552[_0x9040('0xa6')](),_0x32aec3)[_0x9040('0x30')](function(_0x131346){_0x5ad2c0=_[_0x9040('0xa7')](_0x131346,'id');_0x32aec3=_[_0x9040('0x35')](_0x32aec3,{'model':db[_0x9040('0xa8')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xe6a40e['query'][_0x9040('0x54')]){_0x5df49c[_0x9040('0x53')][_0x9040('0x3f')](function(_0x521091){_0xa35b1f[_0x9040('0x59')]('i.'+_0x521091);});}else{_0xa35b1f['field'](_0x9040('0xa9'),_0x9040('0x73'));_0xa35b1f[_0x9040('0x59')]('a.key',_0x9040('0xaa'));_0xa35b1f[_0x9040('0x59')](_0x9040('0xab'),_0x9040('0xac'));_0xa35b1f[_0x9040('0x59')](_0x9040('0xad'),_0x9040('0xae'));_0xa35b1f[_0x9040('0x59')](_0x9040('0xaf'));_0xa35b1f['field'](_0x9040('0xb0'),_0x9040('0xb1'));_0xa35b1f[_0x9040('0x59')](_0x9040('0xb2'),_0x9040('0xb3'));_0xa35b1f['field'](_0x9040('0xb4'),_0x9040('0xb5'));_0xa35b1f['field']('c.phone',_0x9040('0xb6'));_0xa35b1f[_0x9040('0x59')](_0x9040('0xb7'),'Contact.mobile');_0xa35b1f[_0x9040('0x59')](_0x9040('0xb8'),'Contact.fax');_0xa35b1f[_0x9040('0x59')]('o.fullname',_0x9040('0xb9'));_0xa35b1f['field'](_0x9040('0xba'),'Owner.internal');_0xa35b1f[_0x9040('0x59')](_0x9040('0xbb'),_0x9040('0x3c'));}if(_0x5df49c[_0x9040('0x29')])_0xa35b1f[_0x9040('0x29')](_0x5df49c['limit']);if(_0x5df49c[_0x9040('0x26')])_0xa35b1f[_0x9040('0x26')](_0x5df49c[_0x9040('0x26')]);return db['sequelize'][_0x9040('0x4f')](_0xa35b1f[_0x9040('0xa6')](),_0x32aec3);})['then'](function(_0x9d015f){if(_0x9d015f[_0x9040('0x7b')]>0x0)_0x1df78a[_0x9040('0x8d')]('ui.ChatInteractionId\x20IN\x20?',_[_0x9040('0x4b')](_0x9d015f,'id'));return db['sequelize'][_0x9040('0x4f')](_0x1df78a[_0x9040('0xa6')](),_0x32aec3)[_0x9040('0x30')](function(_0xea3087){var _0x2cd4c2=_[_0x9040('0xbc')](_0xea3087,'ChatInteractionId');var _0x50432a=[];_0x9d015f['forEach'](function(_0x201906){_0x50432a[_0x9040('0x40')](updateChatInteraction(_0x201906,_0x5ad2c0,_0x2cd4c2));});return BPromise['all'](_0x50432a);});});})[_0x9040('0x30')](function(_0x155c0e){_0x4a8d1d[_0x9040('0xbd')]=_0x155c0e;return _0x4a8d1d;})['then'](respondWithFilteredResult(_0x241631,_0x5df49c))[_0x9040('0x23')](handleError(_0x241631,null));};exports[_0x9040('0xbe')]=function(_0x23480e,_0x3943d9){var _0x1cd9de={'raw':![],'where':{'id':_0x23480e[_0x9040('0xbf')]['id']}},_0x22fae7={};_0x22fae7[_0x9040('0x4e')]=_['keys'](db[_0x9040('0xa8')][_0x9040('0x4c')]);_0x22fae7[_0x9040('0x4f')]=_[_0x9040('0x50')](_0x23480e[_0x9040('0x4f')]);_0x22fae7['filters']=_[_0x9040('0x52')](_0x22fae7[_0x9040('0x4e')],_0x22fae7[_0x9040('0x4f')]);_0x1cd9de[_0x9040('0x53')]=_['intersection'](_0x22fae7[_0x9040('0x4e')],qs[_0x9040('0x54')](_0x23480e['query'][_0x9040('0x54')]));_0x1cd9de[_0x9040('0x53')]=_0x1cd9de[_0x9040('0x53')]['length']?_0x1cd9de['attributes']:_0x22fae7[_0x9040('0x4e')];if(_0x23480e[_0x9040('0x4f')][_0x9040('0xc0')]){_0x1cd9de[_0x9040('0xc1')]=[{'all':!![]}];}_0x1cd9de=_[_0x9040('0x35')]({},_0x1cd9de,_0x23480e[_0x9040('0xc2')]);return db[_0x9040('0xa8')][_0x9040('0x72')](_0x1cd9de)[_0x9040('0x30')](handleEntityNotFound(_0x3943d9,null))['then'](respondWithResult(_0x3943d9,null))[_0x9040('0x23')](handleError(_0x3943d9,null));};exports[_0x9040('0xc3')]=function(_0x1ee86d,_0x40e581){return db['ChatInteraction'][_0x9040('0xc3')](_0x1ee86d[_0x9040('0x36')],{})[_0x9040('0x30')](respondWithResult(_0x40e581,0xc9))[_0x9040('0x23')](handleError(_0x40e581,null));};exports[_0x9040('0xc4')]=function(_0x2b574e,_0x405221){if(_0x2b574e[_0x9040('0x36')]['id']){delete _0x2b574e[_0x9040('0x36')]['id'];}return db[_0x9040('0xa8')][_0x9040('0x72')]({'where':{'id':_0x2b574e['params']['id']}})[_0x9040('0x30')](handleEntityNotFound(_0x405221,null))[_0x9040('0x30')](saveUpdates(_0x2b574e[_0x9040('0x36')],null))[_0x9040('0x30')](respondWithResult(_0x405221,null))[_0x9040('0x23')](handleError(_0x405221,null));};exports['destroy']=function(_0x51a2a9,_0x131ef7){return db[_0x9040('0xa8')][_0x9040('0x72')]({'where':{'id':_0x51a2a9[_0x9040('0xbf')]['id']}})[_0x9040('0x30')](handleEntityNotFound(_0x131ef7,null))['then'](removeEntity(_0x131ef7,null))['catch'](handleError(_0x131ef7,null));};exports[_0x9040('0xc5')]=function(_0x44afb3,_0x19a1b1){return db[_0x9040('0xa8')][_0x9040('0xc5')]()['then'](respondWithResult(_0x19a1b1,null))['catch'](handleError(_0x19a1b1,null));};exports[_0x9040('0xc6')]=function(_0x4f1b37,_0x373ae5){var _0x53b7f4=_0x4f1b37[_0x9040('0xbf')]['id'];var _0x44a069;var _0x1e9239;var _0x3618e5;return db[_0x9040('0xa8')][_0x9040('0xc7')]({'where':{'id':_0x53b7f4}})['then'](function(_0x441536){_0x44a069=_0x441536;return db['ChatWebsite'][_0x9040('0xc7')]({'where':{'id':_0x441536[_0x9040('0x89')]},'attributes':['id',_0x9040('0xc8'),_0x9040('0xc9'),_0x9040('0xca'),_0x9040('0xcb'),'vidaooMetadata'],'raw':!![]});})[_0x9040('0x30')](function(_0x254198){if(_0x254198&&_0x254198[_0x9040('0xc8')]&&_0x254198['vidaooEscalation']){_0x1e9239=_0x254198;var _0x54739f={'interaction':{'id':_0x53b7f4},'agent':{'id':_0x4f1b37[_0x9040('0xa2')]['id'],'name':_0x4f1b37[_0x9040('0xa2')][_0x9040('0x32')],'fullname':_0x4f1b37['user'][_0x9040('0x3b')],'email':_0x4f1b37[_0x9040('0xa2')][_0x9040('0xcc')]},'contact':_0x4f1b37['body'][_0x9040('0x37')],'account':_0x4f1b37[_0x9040('0x36')]['account']};var _0x2d8bd5={'rejectUnauthorized':![],'method':_0x9040('0xcd'),'url':'https://api-vidaoo.xcally.com/api/v1/meetings','headers':{'X-APIKEY':_0x254198[_0x9040('0xc8')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x4f1b37[_0x9040('0xa2')][_0x9040('0xcc')]],'buttons':null,'topic':_0x1e9239[_0x9040('0xca')],'note':_[_0x9040('0xce')](_0x1e9239[_0x9040('0xcb')])?null:getMustacheRender(_0x1e9239[_0x9040('0xcb')],_0x54739f),'metadata':null},'redirect':_0x9040('0xcf'),'json':!![]};try{if(!_[_0x9040('0xce')](_0x1e9239[_0x9040('0xd0')])){var _0x120e82=getMustacheRender(_0x1e9239[_0x9040('0xd0')],_0x54739f);var _0x448997=JSON[_0x9040('0x8c')](_0x120e82);_0x2d8bd5['body'][_0x9040('0xd1')]=_0x448997;}}catch(_0x567657){throw new db[(_0x9040('0xd2'))]['ValidationError'](_0x9040('0xd3'));}return rp(_0x2d8bd5);}else{throw new db[(_0x9040('0xd2'))]['ValidationError'](_0x9040('0xd4'));}})[_0x9040('0x30')](function(_0x3c0aa4){_0x3618e5=_0x3c0aa4;if(_0x3618e5['id']){var _0x1684b6={'body':_0x3618e5[_0x9040('0xd5')],'ChatWebsiteId':_0x1e9239['id'],'ChatInteractionId':_0x44a069['id'],'direction':_0x9040('0xd6'),'UserId':_0x4f1b37[_0x9040('0xa2')]['id']};return db[_0x9040('0xd7')][_0x9040('0xc3')](_0x1684b6,{});}else{throw new db[(_0x9040('0xd2'))][(_0x9040('0xd8'))](_0x9040('0xd9'));}})[_0x9040('0x30')](function(){return _0x44a069[_0x9040('0xda')]({'vidaooSessionId':_0x3618e5['id']});})['then'](respondWithResult(_0x373ae5,null))[_0x9040('0x23')](handleError(_0x373ae5,null));};exports[_0x9040('0xdb')]=function(_0x319501,_0x4d0d9c){if(_0x319501[_0x9040('0x36')]['id']){delete _0x319501[_0x9040('0x36')]['id'];}return db[_0x9040('0xa8')][_0x9040('0x72')]({'where':{'id':_0x319501['params']['id']},'include':[{'model':db['CmContact'],'as':_0x9040('0x78')}]})[_0x9040('0x30')](handleEntityNotFound(_0x4d0d9c,null))['then'](saveUpdates(_0x319501[_0x9040('0x36')],null))[_0x9040('0x30')](respondWithResult(_0x4d0d9c,null))[_0x9040('0x23')](handleError(_0x4d0d9c,null));};exports[_0x9040('0xdc')]=function(_0xc5d8a1,_0x346cf1,_0x593fb4){if(_0xc5d8a1['body']['id']){delete _0xc5d8a1[_0x9040('0x36')]['id'];}return db[_0x9040('0xa8')][_0x9040('0x72')]({'where':{'id':_0xc5d8a1[_0x9040('0xbf')]['id']}})[_0x9040('0x30')](function(_0x138341){if(!_0x138341){logger[_0x9040('0x1f')](_0x9040('0xdd'),'abandon',0x194,_0x9040('0xde'));_0x346cf1[_0x9040('0x24')](0x194);}else{if(_0x138341[_0x9040('0x43')]){throw new db[(_0x9040('0xd2'))]['ValidationError'](_0x9040('0xdf'));}}return _0x138341;})[_0x9040('0x30')](function(_0x111a48){if(_0x111a48){return _0x111a48[_0x9040('0xc4')]({'closed':_0xc5d8a1['body'][_0x9040('0x45')],'disposition':_0xc5d8a1[_0x9040('0x36')][_0x9040('0x46')]})[_0x9040('0x30')](function(_0x372200){return _0x372200;});}})[_0x9040('0x30')](function(_0x1b7890){return respondWithRpcPromise(_0x9040('0xe0'),'abandon',_0xc5d8a1[_0x9040('0x36')],client9004);})[_0x9040('0x30')](respondWithResult(_0x346cf1,null))[_0x9040('0x23')](handleError(_0x346cf1,null));};exports['attachmentUpload']=function(_0x6a542,_0x2c9faf,_0x4624a1){_0x6a542[_0x9040('0x36')][_0x9040('0x32')]=_0x6a542[_0x9040('0xe1')][_0x9040('0xe2')];_0x6a542[_0x9040('0x36')]['basename']=_0x6a542[_0x9040('0xe1')][_0x9040('0xe3')];_0x6a542[_0x9040('0x36')][_0x9040('0x4d')]=_0x6a542[_0x9040('0xe1')][_0x9040('0xe4')];return db['Attachment'][_0x9040('0xc3')](_0x6a542[_0x9040('0x36')])[_0x9040('0x30')](respondWithResult(_0x2c9faf,0xc9))[_0x9040('0x23')](handleError(_0x2c9faf,null));};exports[_0x9040('0xe5')]=function(_0x5d9968,_0x1b0716,_0x574f22){return db[_0x9040('0xa8')][_0x9040('0xc7')]({'where':{'id':_0x5d9968['params']['id']},'raw':!![]})[_0x9040('0x30')](handleEntityNotFound(_0x1b0716,null))[_0x9040('0x30')](function(_0x4a2dad){if(_0x4a2dad){if(_0x4a2dad[_0x9040('0x45')]){return _0x1b0716[_0x9040('0x25')](0x193)[_0x9040('0x2c')]({'status':0x193,'message':_0x9040('0xe6')});}return db[_0x9040('0xe7')][_0x9040('0xc7')]({'where':{'id':_0x5d9968['query'][_0x9040('0xe8')]},'raw':!![]})[_0x9040('0x30')](handleEntityNotFound(_0x1b0716,null));}})['then'](function(_0x55cecb){if(_0x55cecb){var _0x3f5524=_0x55cecb['ChatOfflineMessageId']!==null;var _0x43eb1c=path[_0x9040('0xe9')](config['root'],_0x9040('0xea'));if(_0x3f5524){_0x43eb1c=path[_0x9040('0xe9')](_0x43eb1c,_0x9040('0xeb'));}var _0x505df1=path[_0x9040('0xe9')](_0x43eb1c,_0x55cecb[_0x9040('0xec')]);return _0x1b0716['download'](_0x505df1);}})['catch'](handleError(_0x1b0716,null));};exports[_0x9040('0xed')]=function(_0x44a41c,_0x14935f){var _0x50b248=null;var _0x39b331=null;var _0x5132d5=null;var _0x485552=null;if(_0x44a41c[_0x9040('0x36')]['id']){delete _0x44a41c[_0x9040('0x36')]['id'];}if(_0x44a41c[_0x9040('0x36')][_0x9040('0xee')]){_0x485552=path[_0x9040('0xe9')](config[_0x9040('0xef')],'server/files/chat/upload/',util[_0x9040('0xf0')](_0x9040('0xf1'),Date[_0x9040('0xf2')]()));_0x44a41c[_0x9040('0x36')]['pathTranscript']=_0x485552;}return db[_0x9040('0xa8')][_0x9040('0x72')]({'where':{'id':_0x44a41c[_0x9040('0xbf')]['id']},'include':[{'model':db['ChatMessage'],'as':_0x9040('0xf3'),'include':[{'model':db[_0x9040('0xf4')],'as':_0x9040('0xf4')}]}]})['then'](handleEntityNotFound(_0x14935f,null))[_0x9040('0x30')](saveUpdates(_0x44a41c[_0x9040('0x36')],null))[_0x9040('0x30')](function(_0x1965aa){if(_0x1965aa){_0x50b248=_0x1965aa;return db[_0x9040('0xf5')][_0x9040('0x72')]({'where':{'id':_0x50b248[_0x9040('0x89')]}});}})[_0x9040('0x30')](function(_0xd9dc3b){if(_0xd9dc3b){_0x5132d5=_0xd9dc3b;return db[_0x9040('0xf6')]['find']({'where':{'id':_0x50b248[_0x9040('0x7e')]}});}})[_0x9040('0x30')](function(_0x4729e7){if(_0x4729e7){_0x39b331=_0x4729e7;if(_0x485552){var _0x33a24c=null;for(var _0x5a3654=0x1;_0x5a3654<_0x50b248[_0x9040('0xf3')]['length'];++_0x5a3654){_0x33a24c=_0x50b248['Messages'][_0x5a3654];var _0x4bf964=_0x33a24c[_0x9040('0x43')]?util[_0x9040('0xf0')](_0x9040('0xf7'),_0x5132d5[_0x9040('0xf8')],_0x33a24c['UserId']):_0x9040('0xf9');var _0x5bc7e0=_0x44a41c[_0x9040('0x36')][_0x9040('0xfa')]||util[_0x9040('0xf0')]('%s%d',_0x9040('0xfb'),_0x33a24c[_0x9040('0x7e')]);switch(_0x5132d5[_0x9040('0xfc')]){case _0x9040('0xfd'):_0x4bf964=_0x33a24c[_0x9040('0x43')]?util[_0x9040('0xf0')]('%s%d',_0x5132d5[_0x9040('0xf8')],_0x33a24c[_0x9040('0x43')]):_0x9040('0xf9');break;case _0x9040('0xfe'):_0x4bf964=_0x33a24c[_0x9040('0x43')]?_0x33a24c[_0x9040('0xf4')]['alias']||_0x33a24c[_0x9040('0xf4')][_0x9040('0x3b')]:_0x9040('0xf9');break;case _0x9040('0xff'):_0x4bf964=_0x33a24c[_0x9040('0x43')]?_0x33a24c['User']['fullname']:_0x9040('0xf9');break;default:_0x4bf964=_0x33a24c[_0x9040('0x43')]?util[_0x9040('0xf0')](_0x9040('0xf7'),_0x5132d5[_0x9040('0xf8')],_0x33a24c['UserId']):_0x9040('0xf9');}var _0x262144=util[_0x9040('0xf0')](_0x9040('0x100'),moment(_0x33a24c[_0x9040('0x101')])[_0x9040('0xf0')]('MM/DD/YYYY\x20HH:mm:ss'),_0x33a24c[_0x9040('0x102')]==='in'?_0x5bc7e0:_0x4bf964,_0x33a24c['body']);if(!_0x33a24c['secret']){fs['appendFileSync'](_0x485552,_0x262144);}}return db['MailAccount']['findOne']({'where':{'service':!![]},'include':[{'model':db[_0x9040('0x103')],'as':'Smtp','raw':!![]}]});}}})['then'](function(_0x4f807f){if(_0x4f807f&&_0x4f807f['Smtp']&&_0x44a41c[_0x9040('0x36')]){var _0x334e9b={'tls':{'rejectUnauthorized':![]}};if(_0x4f807f[_0x9040('0x104')][_0x9040('0x105')]){_0x334e9b[_0x9040('0x105')]=_0x4f807f[_0x9040('0x104')][_0x9040('0x105')];}else{_0x334e9b[_0x9040('0x106')]=_0x4f807f[_0x9040('0x104')]['host'];_0x334e9b[_0x9040('0x107')]=_0x4f807f[_0x9040('0x104')][_0x9040('0x107')];_0x334e9b[_0x9040('0x108')]=_0x4f807f[_0x9040('0x104')]['secure'];}if(_0x4f807f[_0x9040('0x104')][_0x9040('0x109')]){_0x334e9b[_0x9040('0x10a')]={'user':_0x4f807f[_0x9040('0x104')][_0x9040('0xa2')],'pass':_0x4f807f['Smtp']['pass']};}return respondWithRpcPromise(_0x9040('0x10b'),'sendMail',{'account':_0x334e9b,'message':{'from':util[_0x9040('0xf0')]('\x22%s\x22\x20<%s>',_0x4f807f['name'],_0x4f807f[_0x9040('0xcc')]||_0x4f807f[_0x9040('0x104')][_0x9040('0xa2')]),'to':_0x44a41c[_0x9040('0x36')]['mailTranscript'],'subject':_0x9040('0x10c'),'text':util['format'](_0x9040('0x10d'),_0x44a41c[_0x9040('0x36')][_0x9040('0xee')]),'attachments':[{'path':_0x485552}]}})['then'](function(){return _0x50b248;})[_0x9040('0x23')](function(_0x27db9a){console[_0x9040('0x1f')](_0x27db9a);});}else{return _0x50b248;}})[_0x9040('0x30')](respondWithStatusCode(_0x14935f,0xc8))['catch'](handleError(_0x14935f,null));};exports[_0x9040('0x10e')]=function(_0xca29d6,_0x2883c5,_0x2d7a2c){return db[_0x9040('0xd7')]['find']({'where':{'id':_0xca29d6[_0x9040('0xbf')]['id']}})[_0x9040('0x30')](handleEntityNotFound(_0x2883c5,null))['then'](function(_0x8c3574){if(_0x8c3574){return _0x8c3574[_0x9040('0x10e')](_0xca29d6[_0x9040('0x36')][_0x9040('0x10f')],_['omit'](_0xca29d6[_0x9040('0x36')],[_0x9040('0x10f'),'id'])||{});}})[_0x9040('0x30')](respondWithResult(_0x2883c5,null))['catch'](handleError(_0x2883c5,null));};exports['getMessages']=function(_0x327397,_0xea8d4b,_0xf7de73){var _0x2c972c={'raw':![],'where':{}};var _0x3e2774={};var _0x532132={'count':0x0,'rows':[]};return db[_0x9040('0xa8')][_0x9040('0xc7')]({'where':{'id':_0x327397[_0x9040('0xbf')]['id']}})[_0x9040('0x30')](handleEntityNotFound(_0xea8d4b,null))[_0x9040('0x30')](function(_0x416855){if(_0x416855){_0x3e2774['model']=_[_0x9040('0x50')](db[_0x9040('0xd7')]['rawAttributes']);_0x3e2774['query']=_[_0x9040('0x50')](_0x327397[_0x9040('0x4f')]);_0x3e2774[_0x9040('0x51')]=_[_0x9040('0x52')](_0x3e2774[_0x9040('0x4e')],_0x3e2774['query']);_0x2c972c[_0x9040('0x53')]=_[_0x9040('0x52')](_0x3e2774[_0x9040('0x4e')],qs['fields'](_0x327397['query'][_0x9040('0x54')]));_0x2c972c[_0x9040('0x53')]=_0x2c972c['attributes'][_0x9040('0x7b')]?_0x2c972c[_0x9040('0x53')]:_0x3e2774[_0x9040('0x4e')];if(!_0x327397[_0x9040('0x4f')][_0x9040('0x55')](_0x9040('0x110'))){_0x2c972c[_0x9040('0x29')]=qs['limit'](_0x327397[_0x9040('0x4f')][_0x9040('0x29')]);_0x2c972c[_0x9040('0x26')]=qs[_0x9040('0x26')](_0x327397['query'][_0x9040('0x26')]);}_0x2c972c['order']=qs[_0x9040('0x57')](_0x327397[_0x9040('0x4f')][_0x9040('0x57')]);_0x2c972c[_0x9040('0x8d')]=qs['filters'](_[_0x9040('0x58')](_0x327397['query'],_0x3e2774[_0x9040('0x51')]));_0x2c972c[_0x9040('0x8d')][_0x9040('0x111')]=_0x416855['id'];if(_0x327397['query'][_0x9040('0x95')]){_0x2c972c[_0x9040('0x8d')]=_['merge'](_0x2c972c['where'],{'$or':_['map'](_0x2c972c[_0x9040('0x53')],function(_0x596cf0){var _0x4836c2={};_0x4836c2[_0x596cf0]={'$like':'%'+_0x327397[_0x9040('0x4f')][_0x9040('0x95')]+'%'};return _0x4836c2;})});}if(_0x327397[_0x9040('0x4f')][_0x9040('0x112')]){var _0x1cf3b5=_0x327397['query'][_0x9040('0x112')][_0x9040('0x3e')](',');var _0x2dd055={};_0x2dd055[_0x1cf3b5[0x0]]={'$gte':moment(_0x1cf3b5[0x1])[_0x9040('0xf0')](_0x9040('0x113'))};_0x2c972c[_0x9040('0x8d')]=_[_0x9040('0x35')](_0x2c972c[_0x9040('0x8d')],_0x2dd055);}_0x2c972c=_[_0x9040('0x35')]({},_0x2c972c,_0x327397[_0x9040('0xc2')]);return db[_0x9040('0xd7')]['count']({'where':_0x2c972c[_0x9040('0x8d')]})[_0x9040('0x30')](function(_0x1564ca){_0x532132[_0x9040('0x28')]=_0x1564ca;if(_0x327397[_0x9040('0x4f')][_0x9040('0xc0')]){_0x2c972c['include']=[{'all':!![]}];}return db['ChatMessage']['findAll'](_0x2c972c);})['then'](function(_0x5cf1f0){_0x532132[_0x9040('0xbd')]=_0x5cf1f0;return _0x532132;});}})[_0x9040('0x30')](respondWithFilteredResult(_0xea8d4b,_0x2c972c))[_0x9040('0x23')](handleError(_0xea8d4b,null));};exports['getMyMessages']=function(_0x2cc7e5,_0x4248e0,_0x1cdcdf){var _0x5b45eb={'where':{}},_0x154471={},_0x291fa2={'count':0x0,'rows':[]};return db[_0x9040('0xa8')][_0x9040('0xc7')]({'where':{'id':_0x2cc7e5[_0x9040('0xbf')]['id']}})[_0x9040('0x30')](handleEntityNotFound(_0x4248e0,null))[_0x9040('0x30')](function(_0x3ef6c8){if(_0x3ef6c8){_0x154471[_0x9040('0x4e')]=_[_0x9040('0x50')](db[_0x9040('0xd7')][_0x9040('0x4c')]);_0x154471[_0x9040('0x4f')]=_['keys'](_0x2cc7e5[_0x9040('0x4f')]);_0x154471[_0x9040('0x51')]=_[_0x9040('0x52')](_0x154471[_0x9040('0x4e')],_0x154471[_0x9040('0x4f')]);_0x5b45eb[_0x9040('0x53')]=_[_0x9040('0x52')](_0x154471[_0x9040('0x4e')],qs['fields'](_0x2cc7e5['query'][_0x9040('0x54')]));_0x5b45eb[_0x9040('0x53')]=_0x5b45eb['attributes'][_0x9040('0x7b')]?_0x5b45eb['attributes']:_0x154471[_0x9040('0x4e')];if(!_0x2cc7e5['query']['hasOwnProperty'](_0x9040('0x110'))){_0x5b45eb['limit']=qs[_0x9040('0x29')](_0x2cc7e5[_0x9040('0x4f')]['limit']);_0x5b45eb[_0x9040('0x26')]=qs['offset'](_0x2cc7e5['query'][_0x9040('0x26')]);}_0x5b45eb['order']=qs[_0x9040('0x57')](_0x2cc7e5['query'][_0x9040('0x57')]);_0x5b45eb[_0x9040('0x8d')]=qs[_0x9040('0x51')](_[_0x9040('0x58')](_0x2cc7e5['query'],_0x154471['filters']));_0x5b45eb[_0x9040('0x8d')][_0x9040('0x111')]=_0x3ef6c8['id'];if(_0x2cc7e5[_0x9040('0x4f')][_0x9040('0x95')]){_0x5b45eb[_0x9040('0x8d')]=_[_0x9040('0x35')](_0x5b45eb[_0x9040('0x8d')],{'$or':_[_0x9040('0x4b')](_0x5b45eb[_0x9040('0x53')],function(_0x5032ca){var _0x57eca9={};_0x57eca9[_0x5032ca]={'$like':'%'+_0x2cc7e5[_0x9040('0x4f')][_0x9040('0x95')]+'%'};return _0x57eca9;})});}_0x5b45eb[_0x9040('0x8d')]['secret']=![];if(_0x2cc7e5['query']['id']){_0x5b45eb[_0x9040('0x8d')]['id']={'$gt':_0x2cc7e5[_0x9040('0x4f')]['id']};}_0x5b45eb=_[_0x9040('0x35')]({},_0x5b45eb,_0x2cc7e5[_0x9040('0xc2')]);return db['ChatMessage'][_0x9040('0x28')]({'where':_0x5b45eb[_0x9040('0x8d')]})['then'](function(_0x1eb879){_0x291fa2['count']=_0x1eb879;_0x5b45eb[_0x9040('0xc1')]=[];if(_0x2cc7e5['query'][_0x9040('0x114')]){_0x5b45eb[_0x9040('0xc1')][_0x9040('0x40')]({'model':db[_0x9040('0xf4')],'as':_0x9040('0xf4'),'attributes':['id',_0x9040('0x3b'),_0x9040('0x115')]});}if(_0x2cc7e5[_0x9040('0x4f')][_0x9040('0xc0')]){_0x5b45eb[_0x9040('0xc1')]=[{'all':!![]}];}return db['ChatMessage']['findAll'](_0x5b45eb);})[_0x9040('0x30')](function(_0x3affd6){_0x291fa2['rows']=_0x3affd6;return _0x291fa2;});}})[_0x9040('0x30')](respondWithFilteredResult(_0x4248e0,_0x5b45eb))['catch'](handleError(_0x4248e0,null));};exports[_0x9040('0x116')]=function(_0x1f5b0e,_0x48fd48,_0x3d172d){return db[_0x9040('0xa8')][_0x9040('0x72')]({'where':{'id':_0x1f5b0e['params']['id']}})[_0x9040('0x30')](handleEntityNotFound(_0x48fd48,null))[_0x9040('0x30')](function(_0x499457){if(_0x499457){return _0x499457[_0x9040('0x117')](_0x1f5b0e[_0x9040('0x36')]['ids'],_[_0x9040('0x118')](_0x1f5b0e[_0x9040('0x36')],[_0x9040('0x10f'),'id'])||{})['spread'](function(){return db[_0x9040('0x81')][_0x9040('0x119')]({'attributes':['id',_0x9040('0x32'),_0x9040('0x5a')],'where':{'id':_0x1f5b0e['body'][_0x9040('0x10f')]}});})['then'](function(_0x4e5b7e){socket[_0x9040('0x11a')](_0x9040('0x11b'),{'id':Number(_0x1f5b0e[_0x9040('0xbf')]['id']),'tags':_0x4e5b7e||[]});return{'id':Number(_0x1f5b0e[_0x9040('0xbf')]['id']),'tags':_0x4e5b7e||[]};});}})[_0x9040('0x30')](respondWithResult(_0x48fd48,null))[_0x9040('0x23')](handleError(_0x48fd48,null));};exports[_0x9040('0x11c')]=function(_0x38dc95,_0x5635b3,_0x81bfa8){return db[_0x9040('0xa8')]['find']({'where':{'id':_0x38dc95[_0x9040('0xbf')]['id']}})[_0x9040('0x30')](handleEntityNotFound(_0x5635b3,null))[_0x9040('0x30')](function(_0x5c07fe){if(_0x5c07fe){return _0x5c07fe[_0x9040('0x11c')](_0x38dc95['query']['ids']);}})[_0x9040('0x30')](respondWithStatusCode(_0x5635b3,null))[_0x9040('0x23')](handleError(_0x5635b3,null));};exports[_0x9040('0x11d')]=function(_0x2219df,_0x3b6929){var _0x299f1c=moment()[_0x9040('0x11e')]()[_0x9040('0xa6')]();var _0x4a62fe=path[_0x9040('0xe9')](config[_0x9040('0xef')],'server',_0x9040('0x11f'),_0x9040('0x120'));var _0x403a5c=path[_0x9040('0xe9')](config[_0x9040('0xef')],_0x9040('0x121'),_0x9040('0x11f'),_0x9040('0x122'));var _0xbefee6=path['join'](_0x4a62fe,_0x299f1c);var _0xa12b5f=util[_0x9040('0xf0')]('transcript-%d-%s.zip',_0x2219df['params']['id'],_0x299f1c);var _0x2db7ab=path[_0x9040('0xe9')](_0x4a62fe,_0xa12b5f);var _0x833858=[];_0x833858[_0x9040('0x40')]({'model':db[_0x9040('0xf4')],'as':'User','attributes':['id','fullname'],'raw':!![]});_0x833858[_0x9040('0x40')]({'model':db[_0x9040('0xf6')],'as':_0x9040('0x78'),'attributes':['id',_0x9040('0x123'),'lastName'],'raw':!![]});if(_0x2219df[_0x9040('0x4f')][_0x9040('0x122')]){_0x833858[_0x9040('0x40')]({'model':db[_0x9040('0xe7')],'as':_0x9040('0xe7'),'raw':!![]});}var _0x4fc02e=[{'model':db['ChatMessage'],'as':_0x9040('0xf3'),'attributes':['id',_0x9040('0x36'),_0x9040('0x101'),_0x9040('0x102'),_0x9040('0x124'),'read'],'include':_0x833858}];_0x4fc02e[_0x9040('0x40')]({'model':db[_0x9040('0xf5')],'as':_0x9040('0x125'),'attributes':['id',_0x9040('0x32')]});_0x4fc02e[_0x9040('0x40')]({'model':db[_0x9040('0xf4')],'as':_0x9040('0x126'),'attributes':['id','fullname']});return db[_0x9040('0xa8')][_0x9040('0x72')]({'where':{'id':_0x2219df['params']['id']},'include':_0x4fc02e})[_0x9040('0x30')](handleEntityNotFound(_0x3b6929,null))[_0x9040('0x30')](function(_0xb893c8){if(_0xb893c8){var _0x4534a1=_0xb893c8[_0x9040('0x127')]({'plain':!![]});fs[_0x9040('0x128')](_0xbefee6);var _0x22a9c3={'channel':_0x9040('0x129'),'account':_0x4534a1[_0x9040('0x125')][_0x9040('0x32')],'agent':_0x4534a1[_0x9040('0x126')]?_0x4534a1[_0x9040('0x126')][_0x9040('0x3b')]:'N.A.','createdAt':moment(_0x4534a1[_0x9040('0x101')])['format']('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'closedAt':_0x4534a1['closed']?moment(_0x4534a1[_0x9040('0x12a')])[_0x9040('0xf0')]('YYYY-MM-DD\x20HH:mm:ss')[_0x9040('0xa6')]():'','disposition':_0x4534a1['disposition'],'chatInfo':{'browser':_0x4534a1[_0x9040('0x12b')],'os':_0x4534a1[_0x9040('0x12c')],'referer':_0x4534a1['referer'],'customerIp':_0x4534a1['customerIp'],'customerPort':_0x4534a1[_0x9040('0x12d')]?_0x4534a1['customerPort']:_0x9040('0x12e')},'messages':_(_0x4534a1[_0x9040('0xf3')])['tail']()[_0x9040('0x95')]({'secret':![]})['map'](function(_0x1b5661){if(_0x1b5661['Attachment']){var _0x4e1711=path[_0x9040('0xe9')](_0x403a5c,_0x1b5661[_0x9040('0xe7')]['basename']);if(fs['existsSync'](_0x4e1711)){fs[_0x9040('0x12f')](_0x4e1711)['pipe'](fs['createWriteStream'](path[_0x9040('0xe9')](_0xbefee6,_0x1b5661[_0x9040('0xe7')][_0x9040('0xec')])));}}return{'date':moment(_0x1b5661['createdAt'])[_0x9040('0xf0')]('YYYY-MM-DD\x20HH:mm:ss')[_0x9040('0xa6')](),'sender':_0x1b5661[_0x9040('0x102')]===_0x9040('0xd6')?_0x1b5661[_0x9040('0xf4')]?_0x1b5661[_0x9040('0xf4')]['fullname']:'System':_0x1b5661[_0x9040('0x78')][_0x9040('0x123')]+(_0x1b5661[_0x9040('0x78')][_0x9040('0x130')]?'\x20'+_0x1b5661[_0x9040('0x78')][_0x9040('0x130')]:''),'body':_0x1b5661[_0x9040('0xe7')]?_0x1b5661['Attachment'][_0x9040('0xec')]:_0x1b5661[_0x9040('0x36')],'direction':_0x1b5661[_0x9040('0x102')]===_0x9040('0xd6')?'A':'C','secret':_0x1b5661[_0x9040('0x124')],'read':_0x1b5661[_0x9040('0x90')],'attachment':_0x1b5661[_0x9040('0xe7')]};})[_0x9040('0x74')]()};return ejs[_0x9040('0x131')](path['join'](config[_0x9040('0xef')],_0x9040('0x121'),_0x9040('0x132'),_0x9040('0x133')),{'interaction':_0x22a9c3})[_0x9040('0x30')](function(_0x3b90e6){var _0x3cd141=path[_0x9040('0xe9')](_0xbefee6,_0x9040('0x134')+_0x4534a1['id']+'-'+_0x299f1c+_0x9040('0x135'));var _0x40732f={'path':_0x3cd141,'channel':_0x9040('0x129'),'interactionId':_0x4534a1['id']};return pdf['createPdfFromHTML'](_0x3b90e6,_0x40732f);})['then'](function(){return new BPromise(function(_0xe3c6a0,_0x1ded58){zipdir(_0xbefee6,{'saveTo':_0x2db7ab},function(_0x3ec0f2,_0x154d8e){if(_0x3ec0f2)return _0x1ded58(_0x3ec0f2);return _0xe3c6a0(_0x154d8e);});})[_0x9040('0x30')](function(){return new BPromise(function(_0x350230,_0x4027ec){rimraf(_0xbefee6,function(_0x4d46de){if(_0x4d46de)_0x4027ec(_0x4d46de);return _0x350230();});});})[_0x9040('0x30')](function(){return _0x3b6929[_0x9040('0x11d')](_0x2db7ab,_0xa12b5f,function(_0x2988aa){if(_0x2988aa){console[_0x9040('0x136')](_0x9040('0x137'),_0x2988aa);}else{fs[_0x9040('0x138')](_0x2db7ab);}});});});}else{return _0x3b6929[_0x9040('0x24')](0xc8);}})[_0x9040('0x23')](handleError(_0x3b6929,null));};