Built motion from commit e0fa946e.|2.6.5
[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 _0x2dae=['getFullTextValue','value','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','type','text','start','Tag','forEach','union','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','buildExpression','some','compact','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','clone','i.id','contactName','DESC','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','agent','user','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','ChatInteraction','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','i.*','c.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','ChatInteractionId','push','all','rows','show','params','includeAll','create','describe','findOne','vidaooEscalation','vidaooTopic','vidaooMetadata','vidaooApiKey','POST','https://api-vidaoo.xcally.com/api/v1/meetings','email','isNull','vidaooNote','follow','metadata','ValidationError','Error\x20in\x20conversion\x20vidaooMetadata','Error\x20in\x20Vidaoo\x20configuration','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','CmContact','abandon','entity\x20not\x20found','Interaction\x20already\x20assigned','AbandonInteraction','attachmentUpload','file','originalname','basename','mimetype','Attachment','attachmentDownload','Unauthorized','attachId','ChatOfflineMessageId','join','server/files/attachments/','close','mailTranscript','root','server/files/chat/upload/','format','transcript-%s.txt','now','Messages','ChatWebsite','%s%d','agentAlias','System','customer','Visitor','agentIdentifier','website_alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','secret','appendFileSync','MailAccount','MailServerOut','Smtp','CloudProvider','getSmtpOptions','SendMail','sendMail','\x22%s\x22\x20<%s>','Mail\x20Transcript','addMessage','ids','omit','hasOwnProperty','$gte','YYYY-MM-DD\x20HH:mm:ss','include','findAll','options','includeAgent','alias','addTags','setTags','spread','emit','chatInteractionTags:save','removeTags','download','unix','server','files','transcript-%d-%s.zip','firstName','lastName','attachments','direction','Owner','get','mkdirSync','Chat','N.A.','browserName','osName','referer','customerIp','customerPort','tail','existsSync','createReadStream','createWriteStream','renderFile','downloadInteraction.ejs','transcript-','.pdf','err','rimraf','request-promise','moment','bluebird','mustache','util','ejs','lodash','squel','ioredis','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','request','then','info','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','ChatInteraction,\x20%s,\x20%s','result','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','update','destroy','stack','name','send','render','merge','body','contact','interaction','account','Users','fullname','TagIds','Tags','split','catch','waiting','talking','answered','unmanaged','total','closed','UserId','disposition','abandoned','index','map','rawAttributes','fieldName','key','keys','query','intersection','model','fields','attributes','length','nolimit','order','sort','where','filters','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','users','u.id\x20=\x20ui.UserId','chat_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','t.id\x20=\x20it.TagId','search','parseSearch','conditions','find','unreadMessages','having','`\x20=\x200','Contact','$substring'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x2dae,0xc3));var _0xe2da=function(_0x21af3a,_0x386e1d){_0x21af3a=_0x21af3a-0x0;var _0x268a49=_0x2dae[_0x21af3a];return _0x268a49;};'use strict';var rimraf=require(_0xe2da('0x0'));var zipdir=require('zip-dir');var rp=require(_0xe2da('0x1'));var moment=require(_0xe2da('0x2'));var BPromise=require(_0xe2da('0x3'));var Mustache=require(_0xe2da('0x4'));var util=require(_0xe2da('0x5'));var path=require('path');var ejs=require(_0xe2da('0x6'));var fs=require('fs');var _=require(_0xe2da('0x7'));var squel=require(_0xe2da('0x8'));var Redis=require(_0xe2da('0x9'));var qs=require('../../components/parsers/qs');var as=require(_0xe2da('0xa'));var pdf=require(_0xe2da('0xb'));var logger=require(_0xe2da('0xc'))(_0xe2da('0xd'));var config=require(_0xe2da('0xe'));var db=require(_0xe2da('0xf'))['db'];config[_0xe2da('0x10')]=_[_0xe2da('0x11')](config[_0xe2da('0x10')],{'host':'localhost','port':0x18eb});var socket=require(_0xe2da('0x12'))(new Redis(config[_0xe2da('0x10')]));require(_0xe2da('0x13'))[_0xe2da('0x14')](socket);var jayson=require(_0xe2da('0x15'));var client=jayson[_0xe2da('0x16')][_0xe2da('0x17')]({'port':0x232b});var client9004=jayson[_0xe2da('0x16')]['http']({'port':0x232c});function respondWithRpcPromise(_0xb98909,_0x5200b1,_0x4377c6,_0x245ad7){return new BPromise(function(_0x37064e,_0x411b9f){var _0xfab73e=_0x245ad7||client;return _0xfab73e[_0xe2da('0x18')](_0xb98909,_0x4377c6)[_0xe2da('0x19')](function(_0x48584b){logger[_0xe2da('0x1a')]('ChatInteraction,\x20%s,\x20%s',_0x5200b1,'request\x20sent');logger[_0xe2da('0x1b')](_0xe2da('0x1c'),_0x5200b1,_0xe2da('0x1d'),JSON['stringify'](_0x48584b));if(_0x48584b[_0xe2da('0x1e')]){if(_0x48584b[_0xe2da('0x1e')][_0xe2da('0x1f')]===0x1f4){logger[_0xe2da('0x1e')]('ChatInteraction,\x20%s,\x20%s',_0x5200b1,_0x48584b[_0xe2da('0x1e')][_0xe2da('0x20')]);return _0x411b9f(_0x48584b[_0xe2da('0x1e')][_0xe2da('0x20')]);}logger[_0xe2da('0x1e')]('ChatInteraction,\x20%s,\x20%s',_0x5200b1,_0x48584b[_0xe2da('0x1e')][_0xe2da('0x20')]);return _0x37064e(_0x48584b['error'][_0xe2da('0x20')]);}else{logger[_0xe2da('0x1a')](_0xe2da('0x21'),_0x5200b1,_0xe2da('0x1d'));_0x37064e(_0x48584b[_0xe2da('0x22')][_0xe2da('0x20')]);}})['catch'](function(_0x467cd6){logger['error'](_0xe2da('0x21'),_0x5200b1,_0x467cd6);_0x411b9f(_0x467cd6);});});}function respondWithStatusCode(_0x191d38,_0x395af6){_0x395af6=_0x395af6||0xcc;return function(_0x28f1d3){if(_0x28f1d3){return _0x191d38[_0xe2da('0x23')](_0x395af6);}return _0x191d38[_0xe2da('0x24')](_0x395af6)[_0xe2da('0x25')]();};}function respondWithResult(_0x221e98,_0x5a08d6){_0x5a08d6=_0x5a08d6||0xc8;return function(_0x1c901e){if(_0x1c901e){return _0x221e98[_0xe2da('0x24')](_0x5a08d6)[_0xe2da('0x26')](_0x1c901e);}};}function respondWithFilteredResult(_0x14704d,_0x3778dc){return function(_0x230fb8){if(_0x230fb8){var _0x124d93=typeof _0x3778dc['offset']===_0xe2da('0x27')&&typeof _0x3778dc[_0xe2da('0x28')]===_0xe2da('0x27');var _0x38ee5e=_0x230fb8[_0xe2da('0x29')];var _0x2b6c9e=_0x124d93?0x0:_0x3778dc[_0xe2da('0x2a')];var _0x39f60e=_0x124d93?_0x230fb8['count']:_0x3778dc['offset']+_0x3778dc['limit'];var _0x3c4845;if(_0x39f60e>=_0x38ee5e){_0x39f60e=_0x38ee5e;_0x3c4845=0xc8;}else{_0x3c4845=0xce;}_0x14704d[_0xe2da('0x24')](_0x3c4845);return _0x14704d[_0xe2da('0x2b')](_0xe2da('0x2c'),_0x2b6c9e+'-'+_0x39f60e+'/'+_0x38ee5e)['json'](_0x230fb8);}return null;};}function saveUpdates(_0x490794){return function(_0x356ab4){if(_0x356ab4){return _0x356ab4[_0xe2da('0x2d')](_0x490794)[_0xe2da('0x19')](function(_0x39f983){return _0x39f983;});}return null;};}function removeEntity(_0x7ab5ee){return function(_0x15df33){if(_0x15df33){return _0x15df33[_0xe2da('0x2e')]()[_0xe2da('0x19')](function(){_0x7ab5ee[_0xe2da('0x24')](0xcc)['end']();});}};}function handleEntityNotFound(_0x576959){return function(_0x672767){if(!_0x672767){_0x576959[_0xe2da('0x23')](0x194);}return _0x672767;};}function handleError(_0x2cb457,_0x34f5fe){_0x34f5fe=_0x34f5fe||0x1f4;return function(_0x195537){logger[_0xe2da('0x1e')](_0x195537[_0xe2da('0x2f')]);if(_0x195537[_0xe2da('0x30')]){delete _0x195537[_0xe2da('0x30')];}_0x2cb457[_0xe2da('0x24')](_0x34f5fe)[_0xe2da('0x31')](_0x195537);};}function getMustacheRender(_0x2386b8,_0x4ef546){return Mustache[_0xe2da('0x32')](_0x2386b8,_[_0xe2da('0x33')](_0x4ef546[_0xe2da('0x34')],{'contact':_0x4ef546[_0xe2da('0x35')],'message':_0x4ef546[_0xe2da('0x20')],'agent':_0x4ef546['agent'],'interaction':_0x4ef546[_0xe2da('0x36')],'account':_0x4ef546[_0xe2da('0x37')]}))||'';}function getInteractionUsers(_0x39dae5,_0x5e1f39){return new BPromise(function(_0x6d8f39,_0x10b8f5){try{if(_0x5e1f39[_0x39dae5['id']]){_0x39dae5[_0xe2da('0x38')]=_['map'](_0x5e1f39[_0x39dae5['id']],function(_0x4d0963){return{'id':_0x4d0963['id'],'fullname':_0x4d0963[_0xe2da('0x39')]};});}}catch(_0x1f4a5a){_0x10b8f5(_0x1f4a5a);}_0x6d8f39(_0x39dae5);});}function getInteractionTags(_0x4d6e6c,_0x2e7324){return new BPromise(function(_0x15df09,_0x3aefe2){try{if(_0x4d6e6c[_0xe2da('0x3a')]){_0x4d6e6c[_0xe2da('0x3b')]=[];_0x4d6e6c['TagIds'][_0xe2da('0x3c')](',')['forEach'](function(_0x59489e){_0x4d6e6c[_0xe2da('0x3b')]['push'](_0x2e7324[_0x59489e]);});}delete _0x4d6e6c[_0xe2da('0x3a')];}catch(_0x27435b){_0x3aefe2(_0x27435b);}_0x15df09(_0x4d6e6c);});}function updateChatInteraction(_0x54d8a3,_0x365968,_0x3ef0e8){return new BPromise(function(_0x538f1f,_0x4e14a6){return getInteractionUsers(_0x54d8a3,_0x3ef0e8)['then'](function(_0x2d9c0a){return getInteractionTags(_0x2d9c0a,_0x365968);})[_0xe2da('0x19')](function(_0x26ba99){return getStateInteraction(_0x26ba99);})[_0xe2da('0x19')](function(_0x3419c3){_0x538f1f(_0x3419c3);})[_0xe2da('0x3d')](function(_0x14c30f){_0x4e14a6(_0x14c30f);});});}function getStateInteraction(_0x4d4e90){return new BPromise(function(_0x3d1fd){_0x4d4e90[_0xe2da('0x3e')]=0x0;_0x4d4e90[_0xe2da('0x3f')]=0x0;_0x4d4e90[_0xe2da('0x40')]=0x0;_0x4d4e90[_0xe2da('0x41')]=0x0;_0x4d4e90['abandoned']=0x0;_0x4d4e90[_0xe2da('0x42')]=0x0;if(!_0x4d4e90[_0xe2da('0x43')]&&!_0x4d4e90[_0xe2da('0x44')]){_0x4d4e90['waiting']+=0x1;}if(!_0x4d4e90[_0xe2da('0x43')]&&_0x4d4e90[_0xe2da('0x44')]){_0x4d4e90[_0xe2da('0x3f')]+=0x1;if(_0x4d4e90[_0xe2da('0x3e')]){_0x4d4e90[_0xe2da('0x3e')]-=0x1;}}if(_0x4d4e90[_0xe2da('0x43')]&&_0x4d4e90[_0xe2da('0x45')]===_0xe2da('0x46')){_0x4d4e90['abandoned']+=0x1;if(_0x4d4e90[_0xe2da('0x3e')]){_0x4d4e90[_0xe2da('0x3e')]-=0x1;}}else if(_0x4d4e90[_0xe2da('0x43')]&&!_0x4d4e90[_0xe2da('0x44')]&&_0x4d4e90[_0xe2da('0x45')]){_0x4d4e90['unmanaged']+=0x1;if(_0x4d4e90[_0xe2da('0x3e')]){_0x4d4e90[_0xe2da('0x3e')]-=0x1;}}else if(_0x4d4e90[_0xe2da('0x43')]&&_0x4d4e90[_0xe2da('0x44')]){_0x4d4e90[_0xe2da('0x40')]+=0x1;if(_0x4d4e90[_0xe2da('0x3f')]){_0x4d4e90[_0xe2da('0x3f')]-=0x1;}}_0x4d4e90['total']+=0x1;_0x3d1fd(_0x4d4e90);});}exports[_0xe2da('0x47')]=function(_0x4f9ba9,_0x1db1d8){var _0x54b3ad={},_0x366527={},_0x4b569e={'count':0x0,'rows':[]};var _0x2dd7dc=_[_0xe2da('0x48')](db['ChatInteraction'][_0xe2da('0x49')],function(_0x369dea){return{'name':_0x369dea[_0xe2da('0x4a')],'type':_0x369dea['type'][_0xe2da('0x4b')]};});_0x366527['model']=_['map'](_0x2dd7dc,_0xe2da('0x30'));_0x366527['query']=_[_0xe2da('0x4c')](_0x4f9ba9[_0xe2da('0x4d')]);_0x366527['filters']=_[_0xe2da('0x4e')](_0x366527[_0xe2da('0x4f')],_0x366527['query']);_0x54b3ad['attributes']=_[_0xe2da('0x4e')](_0x366527['model'],qs[_0xe2da('0x50')](_0x4f9ba9[_0xe2da('0x4d')][_0xe2da('0x50')]));_0x54b3ad[_0xe2da('0x51')]=_0x54b3ad[_0xe2da('0x51')][_0xe2da('0x52')]?_0x54b3ad[_0xe2da('0x51')]:_0x366527[_0xe2da('0x4f')];if(!_0x4f9ba9[_0xe2da('0x4d')]['hasOwnProperty'](_0xe2da('0x53'))){_0x54b3ad[_0xe2da('0x28')]=qs[_0xe2da('0x28')](_0x4f9ba9['query'][_0xe2da('0x28')]);_0x54b3ad[_0xe2da('0x2a')]=qs[_0xe2da('0x2a')](_0x4f9ba9[_0xe2da('0x4d')][_0xe2da('0x2a')]);}_0x54b3ad[_0xe2da('0x54')]=qs[_0xe2da('0x55')](_0x4f9ba9['query']['sort']);_0x54b3ad[_0xe2da('0x56')]=qs[_0xe2da('0x57')](_[_0xe2da('0x58')](_0x4f9ba9['query'],_0x366527['filters']),_0x2dd7dc);var _0x41d2ca=[];var _0x4a8dc9=squel[_0xe2da('0x59')]()[_0xe2da('0x5a')]('id')[_0xe2da('0x5a')](_0xe2da('0x30'))[_0xe2da('0x5a')](_0xe2da('0x5b'))[_0xe2da('0x5c')](_0xe2da('0x5d'));var _0x21a19e=squel['select']()[_0xe2da('0x5a')](_0xe2da('0x5e'))[_0xe2da('0x5a')](_0xe2da('0x5f'))['field'](_0xe2da('0x60'))[_0xe2da('0x5c')](_0xe2da('0x61'),'ui')['left_join'](_0xe2da('0x62'),'u',_0xe2da('0x63'));var _0x3e6e98=squel[_0xe2da('0x59')]()[_0xe2da('0x5c')](_0xe2da('0x64'),'i')[_0xe2da('0x65')](_0xe2da('0x66'),'c',_0xe2da('0x67'))[_0xe2da('0x65')](_0xe2da('0x62'),'o',_0xe2da('0x68'))['left_join'](_0xe2da('0x69'),'a',_0xe2da('0x6a'))[_0xe2da('0x65')](_0xe2da('0x6b'),'me',_0xe2da('0x6c'))[_0xe2da('0x65')](_0xe2da('0x6d'),'it','it.ChatInteractionId\x20=\x20i.id')[_0xe2da('0x65')]('tools_tags','t',_0xe2da('0x6e'));var _0x18ff95=squel['expr']();var _0x4e6c52=[];var _0x19fd83=squel['expr']();var _0x48e2b1;if(_0x4f9ba9['query'][_0xe2da('0x6f')]){_0x48e2b1=as[_0xe2da('0x70')](_0x4f9ba9[_0xe2da('0x4d')]['search']);var _0x5610db=_0x48e2b1['sqlOperator'];for(var _0x3ef7c7=0x0;_0x3ef7c7<_0x48e2b1[_0xe2da('0x71')][_0xe2da('0x52')];_0x3ef7c7++){var _0x3bd86e=_0x48e2b1['conditions'][_0x3ef7c7];var _0x383c82='i';var _0x2593ac=_[_0xe2da('0x72')](_0x2dd7dc,[_0xe2da('0x30'),_0x3bd86e[_0xe2da('0x5a')]]);if(!_0x2593ac){switch(_0x3bd86e[_0xe2da('0x5a')]){case _0xe2da('0x73'):if(_0x3bd86e['value']==0x1){_0x3e6e98[_0xe2da('0x74')]('`'+_0x3bd86e[_0xe2da('0x5a')]+_0xe2da('0x75'));}else{_0x3e6e98[_0xe2da('0x74')]('`'+_0x3bd86e[_0xe2da('0x5a')]+'`\x20>\x200');}break;case _0xe2da('0x76'):if(_0x3bd86e['operator']===_0xe2da('0x77')){if(_0x3bd86e['value'][_0xe2da('0x3c')]('\x20')['length']>0x1){_0x18ff95[_0x5610db]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xe2da('0x78')](_0x3bd86e[_0xe2da('0x79')]),null);}else{var _0x2cff55='%'+_0x3bd86e[_0xe2da('0x79')]+'%';_0x18ff95[_0x5610db](_0xe2da('0x7a'),_0x2cff55,_0x2cff55,_0x2cff55);}}else{_0x2593ac=_[_0xe2da('0x72')](_0x2dd7dc,[_0xe2da('0x30'),_0xe2da('0x7b')]);_0x3bd86e[_0xe2da('0x5a')]=_0xe2da('0x7b');_0x3dedaa=as['buildExpression'](_0x383c82,_0x2593ac[_0xe2da('0x7c')],_0x3bd86e);_0x18ff95[_0x5610db](_0x3dedaa[_0xe2da('0x7d')],_0x3dedaa[_0xe2da('0x79')][_0xe2da('0x7e')],_0x3dedaa['value'][_0xe2da('0x25')]);}break;case _0xe2da('0x7f'):var _0x36ed64=_0x3bd86e[_0xe2da('0x79')]['split'](',')[_0xe2da('0x48')](function(_0x57bf38){return Number(_0x57bf38);});_0x36ed64[_0xe2da('0x80')](function(_0x3c2294){_0x19fd83['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x3c2294+',%');});_0x4e6c52=_[_0xe2da('0x81')](_0x4e6c52,_0x36ed64);break;case _0xe2da('0x82'):if(_0x3bd86e[_0xe2da('0x83')]===_0xe2da('0x77')){_0x18ff95[_0x5610db](_0xe2da('0x84'),'%'+_0x3bd86e['value']+'%',null);}else{_0x2593ac=_[_0xe2da('0x72')](_0x2dd7dc,['name','UserId']);_0x3bd86e['field']='UserId';_0x3dedaa=as[_0xe2da('0x85')](_0x383c82,_0x2593ac[_0xe2da('0x7c')],_0x3bd86e);_0x18ff95[_0x5610db](_0x3dedaa[_0xe2da('0x7d')],_0x3dedaa[_0xe2da('0x79')][_0xe2da('0x7e')],_0x3dedaa[_0xe2da('0x79')][_0xe2da('0x25')]);}break;case _0xe2da('0x34'):_0x3dedaa=as[_0xe2da('0x85')]('me',null,_0x3bd86e);_0x18ff95[_0x5610db](_0x3dedaa['text'],_0x3dedaa[_0xe2da('0x79')][_0xe2da('0x7e')],_0x3dedaa[_0xe2da('0x79')][_0xe2da('0x25')]);break;}}else{var _0x3dedaa=as[_0xe2da('0x85')](_0x383c82,_0x2593ac[_0xe2da('0x7c')],_0x3bd86e);_0x18ff95[_0x5610db](_0x3dedaa[_0xe2da('0x7d')],_0x3dedaa[_0xe2da('0x79')][_0xe2da('0x7e')],_0x3dedaa['value'][_0xe2da('0x25')]);}}}else{var _0x24637a=_(_0x4f9ba9[_0xe2da('0x4d')])[_0xe2da('0x4c')]()[_0xe2da('0x48')](function(_0x167b14){return _[_0xe2da('0x86')](_0x2dd7dc,[_0xe2da('0x30'),_0x167b14])?_0x167b14:undefined;})[_0xe2da('0x87')]()[_0xe2da('0x79')]();if(!_[_0xe2da('0x88')](_0x24637a)){_0x24637a[_0xe2da('0x80')](function(_0x4c3e20){if(_0x4c3e20===_0xe2da('0x89')){_0x3e6e98['where'](_0xe2da('0x8a'),[][_0xe2da('0x8b')](_0x4f9ba9[_0xe2da('0x4d')][_0x4c3e20]));}else if(_0x4c3e20===_0xe2da('0x8c')){var _0x44984b=JSON[_0xe2da('0x8d')](_0x4f9ba9[_0xe2da('0x4d')][_0x4c3e20])['$gte'];var _0x2a365a=JSON[_0xe2da('0x8d')](_0x4f9ba9[_0xe2da('0x4d')][_0x4c3e20])[_0xe2da('0x8e')];_0x3e6e98[_0xe2da('0x56')](_0xe2da('0x8f'),_0x44984b,_0x2a365a);}else{if(_0x4f9ba9['query'][_0x4c3e20]===_0xe2da('0x90')){_0x3e6e98[_0xe2da('0x56')]('i.'+_0x4c3e20+_0xe2da('0x91'));}else{_0x3e6e98[_0xe2da('0x56')]('i.'+_0x4c3e20+_0xe2da('0x92'),_0x4f9ba9[_0xe2da('0x4d')][_0x4c3e20]);}}});}if(_0x4f9ba9[_0xe2da('0x4d')]['read']){if(_0x4f9ba9[_0xe2da('0x4d')][_0xe2da('0x93')]==0x1){_0x3e6e98[_0xe2da('0x74')](_0xe2da('0x94'));}else{_0x3e6e98[_0xe2da('0x74')](_0xe2da('0x95'));}}if(_0x4f9ba9['query'][_0xe2da('0x96')]){_0x4e6c52=_['isArray'](_0x4f9ba9['query'][_0xe2da('0x96')])?_0x4f9ba9[_0xe2da('0x4d')][_0xe2da('0x96')]:new Array(_0x4f9ba9['query'][_0xe2da('0x96')]);_0x4e6c52[_0xe2da('0x80')](function(_0x20bf30){_0x19fd83['or'](_0xe2da('0x97'),'%,'+_0x20bf30+',%');});}if(_0x4f9ba9['query'][_0xe2da('0x98')]){var _0x4e2325=_0x4f9ba9['query'][_0xe2da('0x98')][_0xe2da('0x99')]('\x5c','\x5c\x5c')[_0xe2da('0x99')](/'/g,'\x27\x27');if(qs[_0xe2da('0x9a')](_0x4e2325)){_0x18ff95['or'](_0xe2da('0x9b'),_0x4e2325+'%');}else{_0x18ff95['or'](_0xe2da('0x9c'),qs['getFullTextValue'](_0x4e2325))['or'](_0xe2da('0x9d'),_0x4e2325+'%');}}}_0x3e6e98[_0xe2da('0x56')](_0x18ff95);_0x3e6e98[_0xe2da('0x9e')]('i.id');var _0x3a4104={'type':db[_0xe2da('0x9f')][_0xe2da('0xa0')]['SELECT'],'raw':!![]};var _0x21ac55=_0x3e6e98[_0xe2da('0xa1')]();_0x21ac55[_0xe2da('0x5a')](_0xe2da('0xa2'));_0x21ac55[_0xe2da('0x5a')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xe2da('0x73'));if(_0x54b3ad[_0xe2da('0x54')]){_0x54b3ad[_0xe2da('0x54')][_0xe2da('0x80')](function(_0xfecbd){var _0x3f6082=_0xfecbd[0x0]===_0xe2da('0xa3')?_0xfecbd[0x0]:'i.'+_0xfecbd[0x0];_0x3e6e98[_0xe2da('0x54')](_0x3f6082,_0xfecbd[0x1]===_0xe2da('0xa4')?![]:!![]);});}if(!_['isEmpty'](_0x4e6c52)){_0x3e6e98[_0xe2da('0x74')](_0x19fd83);_0x21ac55[_0xe2da('0x56')]('t.id\x20IN\x20?',_0x4e6c52);}BPromise[_0xe2da('0xa5')]()['then'](function(){if(!_0x48e2b1){if(_0x4f9ba9['query']['ChatWebsiteId'])return;_0x21ac55[_0xe2da('0x56')](_0xe2da('0xa6'));_0x3e6e98['where'](_0xe2da('0xa6'));return;}if(_0x4f9ba9['user'][_0xe2da('0xa7')]!==_0xe2da('0xa8'))return;return _0x4f9ba9[_0xe2da('0xa9')][_0xe2da('0xaa')]({'attributes':['id'],'raw':!![]})[_0xe2da('0x19')](function(_0x2dd0d9){if(_[_0xe2da('0x88')](_0x2dd0d9)){_0x21ac55['where']('i.ChatWebsiteId\x20IS\x20NULL');_0x3e6e98[_0xe2da('0x56')](_0xe2da('0xab'));}else{_0x21ac55[_0xe2da('0x56')](_0xe2da('0x8a'),_['map'](_0x2dd0d9,'id'));_0x3e6e98[_0xe2da('0x56')]('i.ChatWebsiteId\x20IN\x20?',_[_0xe2da('0x48')](_0x2dd0d9,'id'));}});})[_0xe2da('0x19')](function(){if(_0x4f9ba9[_0xe2da('0xa9')][_0xe2da('0xa7')]===_0xe2da('0xa8')&&!_0x48e2b1&&!_0x4f9ba9[_0xe2da('0x4d')]['ChatWebsiteId'])return[];return db[_0xe2da('0xac')][_0xe2da('0x4d')](_0x21ac55[_0xe2da('0xad')](),_0x3a4104);})[_0xe2da('0x19')](function(_0x3c3385){_0x4b569e[_0xe2da('0x29')]=_0x3c3385[_0xe2da('0x52')];if(_0x4b569e[_0xe2da('0x29')]===0x0)return[];return db['sequelize'][_0xe2da('0x4d')](_0x4a8dc9['toString'](),_0x3a4104)[_0xe2da('0x19')](function(_0x3f42f2){_0x41d2ca=_['keyBy'](_0x3f42f2,'id');_0x3a4104=_['merge'](_0x3a4104,{'model':db[_0xe2da('0xae')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4f9ba9['query'][_0xe2da('0x50')]){_0x54b3ad[_0xe2da('0x51')][_0xe2da('0x80')](function(_0x5054e6){_0x3e6e98[_0xe2da('0x5a')]('i.'+_0x5054e6);});}else{_0x3e6e98['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xe2da('0x73'));_0x3e6e98[_0xe2da('0x5a')]('a.key',_0xe2da('0xaf'));_0x3e6e98['field'](_0xe2da('0xb0'),_0xe2da('0xb1'));_0x3e6e98[_0xe2da('0x5a')](_0xe2da('0xb2'),_0xe2da('0xa3'));_0x3e6e98['field'](_0xe2da('0xb3'));_0x3e6e98[_0xe2da('0x5a')](_0xe2da('0xb4'),'Contact.firstName');_0x3e6e98[_0xe2da('0x5a')](_0xe2da('0xb5'),_0xe2da('0xb6'));_0x3e6e98[_0xe2da('0x5a')](_0xe2da('0xb7'),_0xe2da('0xb8'));_0x3e6e98[_0xe2da('0x5a')](_0xe2da('0xb9'),'Contact.phone');_0x3e6e98['field'](_0xe2da('0xba'),'Contact.mobile');_0x3e6e98[_0xe2da('0x5a')](_0xe2da('0xbb'),_0xe2da('0xbc'));_0x3e6e98[_0xe2da('0x5a')](_0xe2da('0xbd'),_0xe2da('0xbe'));_0x3e6e98[_0xe2da('0x5a')]('o.internal',_0xe2da('0xbf'));_0x3e6e98['field'](_0xe2da('0xc0'),'TagIds');}if(_0x54b3ad['limit'])_0x3e6e98[_0xe2da('0x28')](_0x54b3ad[_0xe2da('0x28')]);if(_0x54b3ad[_0xe2da('0x2a')])_0x3e6e98[_0xe2da('0x2a')](_0x54b3ad[_0xe2da('0x2a')]);return db[_0xe2da('0xac')][_0xe2da('0x4d')](_0x3e6e98['toString'](),_0x3a4104);})[_0xe2da('0x19')](function(_0x2566c3){if(_0x2566c3[_0xe2da('0x52')]>0x0)_0x21a19e['where'](_0xe2da('0xc1'),_['map'](_0x2566c3,'id'));return db['sequelize'][_0xe2da('0x4d')](_0x21a19e[_0xe2da('0xad')](),_0x3a4104)['then'](function(_0x51a4f5){var _0x123fe5=_['groupBy'](_0x51a4f5,_0xe2da('0xc2'));var _0x2da9ab=[];_0x2566c3[_0xe2da('0x80')](function(_0x2b7b18){_0x2da9ab[_0xe2da('0xc3')](updateChatInteraction(_0x2b7b18,_0x41d2ca,_0x123fe5));});return BPromise[_0xe2da('0xc4')](_0x2da9ab);});});})['then'](function(_0x29a89d){_0x4b569e[_0xe2da('0xc5')]=_0x29a89d;return _0x4b569e;})[_0xe2da('0x19')](respondWithFilteredResult(_0x1db1d8,_0x54b3ad))[_0xe2da('0x3d')](handleError(_0x1db1d8,null));};exports[_0xe2da('0xc6')]=function(_0x436ab4,_0x5ed5e0){var _0x2b023d={'raw':![],'where':{'id':_0x436ab4[_0xe2da('0xc7')]['id']}},_0x30eadd={};_0x30eadd['model']=_[_0xe2da('0x4c')](db[_0xe2da('0xae')][_0xe2da('0x49')]);_0x30eadd[_0xe2da('0x4d')]=_[_0xe2da('0x4c')](_0x436ab4[_0xe2da('0x4d')]);_0x30eadd['filters']=_['intersection'](_0x30eadd[_0xe2da('0x4f')],_0x30eadd[_0xe2da('0x4d')]);_0x2b023d['attributes']=_['intersection'](_0x30eadd[_0xe2da('0x4f')],qs['fields'](_0x436ab4[_0xe2da('0x4d')][_0xe2da('0x50')]));_0x2b023d['attributes']=_0x2b023d[_0xe2da('0x51')][_0xe2da('0x52')]?_0x2b023d[_0xe2da('0x51')]:_0x30eadd[_0xe2da('0x4f')];if(_0x436ab4[_0xe2da('0x4d')][_0xe2da('0xc8')]){_0x2b023d['include']=[{'all':!![]}];}_0x2b023d=_[_0xe2da('0x33')]({},_0x2b023d,_0x436ab4['options']);return db[_0xe2da('0xae')][_0xe2da('0x72')](_0x2b023d)[_0xe2da('0x19')](handleEntityNotFound(_0x5ed5e0,null))['then'](respondWithResult(_0x5ed5e0,null))[_0xe2da('0x3d')](handleError(_0x5ed5e0,null));};exports['create']=function(_0x45b82f,_0x53499c){return db['ChatInteraction'][_0xe2da('0xc9')](_0x45b82f['body'],{})[_0xe2da('0x19')](respondWithResult(_0x53499c,0xc9))[_0xe2da('0x3d')](handleError(_0x53499c,null));};exports[_0xe2da('0x2d')]=function(_0x2e4c5e,_0x242092){if(_0x2e4c5e[_0xe2da('0x34')]['id']){delete _0x2e4c5e[_0xe2da('0x34')]['id'];}return db['ChatInteraction']['find']({'where':{'id':_0x2e4c5e[_0xe2da('0xc7')]['id']}})[_0xe2da('0x19')](handleEntityNotFound(_0x242092,null))[_0xe2da('0x19')](saveUpdates(_0x2e4c5e[_0xe2da('0x34')],null))[_0xe2da('0x19')](respondWithResult(_0x242092,null))[_0xe2da('0x3d')](handleError(_0x242092,null));};exports['destroy']=function(_0x4bba1e,_0x446fe1){return db[_0xe2da('0xae')][_0xe2da('0x72')]({'where':{'id':_0x4bba1e['params']['id']}})[_0xe2da('0x19')](handleEntityNotFound(_0x446fe1,null))[_0xe2da('0x19')](removeEntity(_0x446fe1,null))[_0xe2da('0x3d')](handleError(_0x446fe1,null));};exports[_0xe2da('0xca')]=function(_0x53e7d8,_0x32d697){return db['ChatInteraction']['describe']()[_0xe2da('0x19')](respondWithResult(_0x32d697,null))['catch'](handleError(_0x32d697,null));};exports['createVidaooSession']=function(_0xb7c12,_0x7a762c){var _0x378852=_0xb7c12[_0xe2da('0xc7')]['id'];var _0x4be1fe;var _0x1d71c6;var _0x4a4756;return db['ChatInteraction']['findOne']({'where':{'id':_0x378852}})[_0xe2da('0x19')](function(_0x2597d9){_0x4be1fe=_0x2597d9;return db['ChatWebsite'][_0xe2da('0xcb')]({'where':{'id':_0x2597d9[_0xe2da('0x89')]},'attributes':['id','vidaooApiKey',_0xe2da('0xcc'),_0xe2da('0xcd'),'vidaooNote',_0xe2da('0xce')],'raw':!![]});})['then'](function(_0x154dc2){if(_0x154dc2&&_0x154dc2[_0xe2da('0xcf')]&&_0x154dc2['vidaooEscalation']){_0x1d71c6=_0x154dc2;var _0x50ff2c={'interaction':{'id':_0x378852},'agent':{'id':_0xb7c12[_0xe2da('0xa9')]['id'],'name':_0xb7c12[_0xe2da('0xa9')][_0xe2da('0x30')],'fullname':_0xb7c12['user']['fullname'],'email':_0xb7c12['user']['email']},'contact':_0xb7c12[_0xe2da('0x34')][_0xe2da('0x35')],'account':_0xb7c12[_0xe2da('0x34')][_0xe2da('0x37')]};var _0x959f4e={'rejectUnauthorized':![],'method':_0xe2da('0xd0'),'url':_0xe2da('0xd1'),'headers':{'X-APIKEY':_0x154dc2[_0xe2da('0xcf')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0xb7c12[_0xe2da('0xa9')][_0xe2da('0xd2')]],'buttons':null,'topic':_0x1d71c6[_0xe2da('0xcd')],'note':_[_0xe2da('0xd3')](_0x1d71c6['vidaooNote'])?null:getMustacheRender(_0x1d71c6[_0xe2da('0xd4')],_0x50ff2c),'metadata':null},'redirect':_0xe2da('0xd5'),'json':!![]};try{if(!_['isNull'](_0x1d71c6[_0xe2da('0xce')])){var _0x38cf52=getMustacheRender(_0x1d71c6[_0xe2da('0xce')],_0x50ff2c);var _0x16b8c4=JSON['parse'](_0x38cf52);_0x959f4e[_0xe2da('0x34')][_0xe2da('0xd6')]=_0x16b8c4;}}catch(_0x17060b){throw new db[(_0xe2da('0x9f'))][(_0xe2da('0xd7'))](_0xe2da('0xd8'));}return rp(_0x959f4e);}else{throw new db[(_0xe2da('0x9f'))][(_0xe2da('0xd7'))](_0xe2da('0xd9'));}})[_0xe2da('0x19')](function(_0x3f8a80){_0x4a4756=_0x3f8a80;if(_0x4a4756['id']){var _0x3063eb={'body':_0x4a4756['join_url'],'ChatWebsiteId':_0x1d71c6['id'],'ChatInteractionId':_0x4be1fe['id'],'direction':_0xe2da('0xda'),'UserId':_0xb7c12[_0xe2da('0xa9')]['id']};return db[_0xe2da('0xdb')]['create'](_0x3063eb,{});}else{throw new db[(_0xe2da('0x9f'))][(_0xe2da('0xd7'))](_0xe2da('0xdc'));}})[_0xe2da('0x19')](function(){return _0x4be1fe[_0xe2da('0xdd')]({'vidaooSessionId':_0x4a4756['id']});})[_0xe2da('0x19')](respondWithResult(_0x7a762c,null))['catch'](handleError(_0x7a762c,null));};exports[_0xe2da('0xde')]=function(_0x1b8217,_0x540e77){if(_0x1b8217[_0xe2da('0x34')]['id']){delete _0x1b8217[_0xe2da('0x34')]['id'];}return db['ChatInteraction']['find']({'where':{'id':_0x1b8217[_0xe2da('0xc7')]['id']},'include':[{'model':db[_0xe2da('0xdf')],'as':'Contact'}]})[_0xe2da('0x19')](handleEntityNotFound(_0x540e77,null))[_0xe2da('0x19')](saveUpdates(_0x1b8217[_0xe2da('0x34')],null))[_0xe2da('0x19')](respondWithResult(_0x540e77,null))[_0xe2da('0x3d')](handleError(_0x540e77,null));};exports['abandon']=function(_0x3320d4,_0x341a0a){if(_0x3320d4['body']['id']){delete _0x3320d4['body']['id'];}return db['ChatInteraction'][_0xe2da('0x72')]({'where':{'id':_0x3320d4['params']['id']}})['then'](function(_0x4f81b4){if(!_0x4f81b4){logger[_0xe2da('0x1e')]('abandonInteraction,\x20%s,\x20%s,\x20%s',_0xe2da('0xe0'),0x194,_0xe2da('0xe1'));_0x341a0a[_0xe2da('0x23')](0x194);}else{if(_0x4f81b4[_0xe2da('0x44')]){throw new db['Sequelize'][(_0xe2da('0xd7'))](_0xe2da('0xe2'));}}return _0x4f81b4;})[_0xe2da('0x19')](function(_0x253125){if(_0x253125){return _0x253125[_0xe2da('0x2d')]({'closed':_0x3320d4[_0xe2da('0x34')][_0xe2da('0x43')],'disposition':_0x3320d4[_0xe2da('0x34')][_0xe2da('0x45')]})[_0xe2da('0x19')](function(_0x147996){return _0x147996;});}})[_0xe2da('0x19')](function(){return respondWithRpcPromise(_0xe2da('0xe3'),_0xe2da('0xe0'),_0x3320d4['body'],client9004);})[_0xe2da('0x19')](respondWithResult(_0x341a0a,null))['catch'](handleError(_0x341a0a,null));};exports[_0xe2da('0xe4')]=function(_0x410935,_0x20a584){_0x410935['body'][_0xe2da('0x30')]=_0x410935[_0xe2da('0xe5')][_0xe2da('0xe6')];_0x410935[_0xe2da('0x34')][_0xe2da('0xe7')]=_0x410935[_0xe2da('0xe5')]['filename'];_0x410935[_0xe2da('0x34')][_0xe2da('0x7c')]=_0x410935[_0xe2da('0xe5')][_0xe2da('0xe8')];return db[_0xe2da('0xe9')][_0xe2da('0xc9')](_0x410935['body'])[_0xe2da('0x19')](respondWithResult(_0x20a584,0xc9))[_0xe2da('0x3d')](handleError(_0x20a584,null));};exports[_0xe2da('0xea')]=function(_0x5f5cb2,_0x18a7ba){return db['ChatInteraction'][_0xe2da('0xcb')]({'where':{'id':_0x5f5cb2[_0xe2da('0xc7')]['id']},'raw':!![]})[_0xe2da('0x19')](handleEntityNotFound(_0x18a7ba,null))[_0xe2da('0x19')](function(_0x299ffd){if(_0x299ffd){if(_0x299ffd['closed']){return _0x18a7ba[_0xe2da('0x24')](0x193)[_0xe2da('0x26')]({'status':0x193,'message':_0xe2da('0xeb')});}return db[_0xe2da('0xe9')]['findOne']({'where':{'id':_0x5f5cb2[_0xe2da('0x4d')][_0xe2da('0xec')]},'raw':!![]})['then'](handleEntityNotFound(_0x18a7ba,null));}})[_0xe2da('0x19')](function(_0x38270e){if(_0x38270e){var _0x3ea40b=_0x38270e[_0xe2da('0xed')]!==null;var _0x19d561=path[_0xe2da('0xee')](config['root'],_0xe2da('0xef'));if(_0x3ea40b){_0x19d561=path[_0xe2da('0xee')](_0x19d561,'offline-chat/');}var _0x598211=path['join'](_0x19d561,_0x38270e['basename']);return _0x18a7ba['download'](_0x598211);}})[_0xe2da('0x3d')](handleError(_0x18a7ba,null));};exports[_0xe2da('0xf0')]=function(_0x48e43e,_0x20ddc5){var _0x1508c=null;var _0x3ca50e=null;var _0x2b1e1e=null;if(_0x48e43e[_0xe2da('0x34')]['id']){delete _0x48e43e[_0xe2da('0x34')]['id'];}if(_0x48e43e[_0xe2da('0x34')][_0xe2da('0xf1')]){_0x2b1e1e=path[_0xe2da('0xee')](config[_0xe2da('0xf2')],_0xe2da('0xf3'),util[_0xe2da('0xf4')](_0xe2da('0xf5'),Date[_0xe2da('0xf6')]()));_0x48e43e[_0xe2da('0x34')]['pathTranscript']=_0x2b1e1e;}return db['ChatInteraction'][_0xe2da('0x72')]({'where':{'id':_0x48e43e[_0xe2da('0xc7')]['id']},'include':[{'model':db['ChatMessage'],'as':_0xe2da('0xf7'),'include':[{'model':db['User'],'as':_0xe2da('0x82')}]}]})[_0xe2da('0x19')](handleEntityNotFound(_0x20ddc5,null))[_0xe2da('0x19')](saveUpdates(_0x48e43e[_0xe2da('0x34')],null))['then'](function(_0x331445){if(_0x331445){_0x1508c=_0x331445;return db[_0xe2da('0xf8')][_0xe2da('0x72')]({'where':{'id':_0x1508c[_0xe2da('0x89')]}});}})[_0xe2da('0x19')](function(_0x39ac90){if(_0x39ac90){_0x3ca50e=_0x39ac90;return db[_0xe2da('0xdf')][_0xe2da('0x72')]({'where':{'id':_0x1508c[_0xe2da('0x7b')]}});}})[_0xe2da('0x19')](function(_0x159cca){if(_0x159cca){if(_0x2b1e1e){var _0x849448=null;for(var _0x24a33f=0x1;_0x24a33f<_0x1508c['Messages']['length'];++_0x24a33f){_0x849448=_0x1508c[_0xe2da('0xf7')][_0x24a33f];var _0x2e846e=_0x849448['UserId']?util[_0xe2da('0xf4')](_0xe2da('0xf9'),_0x3ca50e[_0xe2da('0xfa')],_0x849448[_0xe2da('0x44')]):_0xe2da('0xfb');var _0x5309ea=_0x48e43e[_0xe2da('0x34')][_0xe2da('0xfc')]||util[_0xe2da('0xf4')](_0xe2da('0xf9'),_0xe2da('0xfd'),_0x849448[_0xe2da('0x7b')]);switch(_0x3ca50e[_0xe2da('0xfe')]){case _0xe2da('0xff'):_0x2e846e=_0x849448['UserId']?util['format'](_0xe2da('0xf9'),_0x3ca50e[_0xe2da('0xfa')],_0x849448[_0xe2da('0x44')]):_0xe2da('0xfb');break;case'agent_alias':_0x2e846e=_0x849448[_0xe2da('0x44')]?_0x849448[_0xe2da('0x82')]['alias']||_0x849448[_0xe2da('0x82')][_0xe2da('0x39')]:_0xe2da('0xfb');break;case _0xe2da('0x100'):_0x2e846e=_0x849448[_0xe2da('0x44')]?_0x849448['User'][_0xe2da('0x39')]:_0xe2da('0xfb');break;default:_0x2e846e=_0x849448[_0xe2da('0x44')]?util[_0xe2da('0xf4')]('%s%d',_0x3ca50e[_0xe2da('0xfa')],_0x849448[_0xe2da('0x44')]):_0xe2da('0xfb');}var _0x4c010d=util['format'](_0xe2da('0x101'),moment(_0x849448[_0xe2da('0x8c')])[_0xe2da('0xf4')](_0xe2da('0x102')),_0x849448['direction']==='in'?_0x5309ea:_0x2e846e,_0x849448[_0xe2da('0x34')]);if(!_0x849448[_0xe2da('0x103')]){fs[_0xe2da('0x104')](_0x2b1e1e,_0x4c010d);}}return db[_0xe2da('0x105')][_0xe2da('0xcb')]({'where':{'service':!![]},'include':[{'model':db[_0xe2da('0x106')],'as':_0xe2da('0x107'),'raw':!![],'include':[{'model':db[_0xe2da('0x108')],'as':'CloudProvider','raw':!![]}]}]});}}})[_0xe2da('0x19')](function(_0xfafbe0){if(!_0xfafbe0||!_0xfafbe0[_0xe2da('0x107')]||!_0x48e43e[_0xe2da('0x34')])return _0x1508c;var _0x5038b0=_0xfafbe0[_0xe2da('0x109')]();return respondWithRpcPromise(_0xe2da('0x10a'),_0xe2da('0x10b'),{'account':_0x5038b0,'message':{'from':util[_0xe2da('0xf4')](_0xe2da('0x10c'),_0xfafbe0[_0xe2da('0x30')],_0xfafbe0[_0xe2da('0xd2')]||_0xfafbe0[_0xe2da('0x107')][_0xe2da('0xa9')]),'to':_0x48e43e[_0xe2da('0x34')]['mailTranscript'],'subject':_0xe2da('0x10d'),'text':util[_0xe2da('0xf4')]('Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a',_0x48e43e[_0xe2da('0x34')][_0xe2da('0xf1')]),'attachments':[{'path':_0x2b1e1e}]}})[_0xe2da('0x19')](function(){return _0x1508c;})[_0xe2da('0x3d')](function(_0x26a5ab){logger[_0xe2da('0x1e')](_0x26a5ab);});})[_0xe2da('0x19')](respondWithStatusCode(_0x20ddc5,0xc8))[_0xe2da('0x3d')](handleError(_0x20ddc5,null));};exports[_0xe2da('0x10e')]=function(_0x295354,_0x144667){return db[_0xe2da('0xdb')][_0xe2da('0x72')]({'where':{'id':_0x295354[_0xe2da('0xc7')]['id']}})[_0xe2da('0x19')](handleEntityNotFound(_0x144667,null))[_0xe2da('0x19')](function(_0x22c905){if(_0x22c905){return _0x22c905[_0xe2da('0x10e')](_0x295354[_0xe2da('0x34')][_0xe2da('0x10f')],_[_0xe2da('0x110')](_0x295354[_0xe2da('0x34')],[_0xe2da('0x10f'),'id'])||{});}})[_0xe2da('0x19')](respondWithResult(_0x144667,null))[_0xe2da('0x3d')](handleError(_0x144667,null));};exports['getMessages']=function(_0xd174a8,_0x13f188){var _0x319b30={'raw':![],'where':{}};var _0x485e7b={};var _0x40be16={'count':0x0,'rows':[]};return db[_0xe2da('0xae')][_0xe2da('0xcb')]({'where':{'id':_0xd174a8[_0xe2da('0xc7')]['id']}})[_0xe2da('0x19')](handleEntityNotFound(_0x13f188,null))[_0xe2da('0x19')](function(_0x309243){if(_0x309243){_0x485e7b[_0xe2da('0x4f')]=_['keys'](db[_0xe2da('0xdb')]['rawAttributes']);_0x485e7b['query']=_[_0xe2da('0x4c')](_0xd174a8['query']);_0x485e7b[_0xe2da('0x57')]=_[_0xe2da('0x4e')](_0x485e7b[_0xe2da('0x4f')],_0x485e7b[_0xe2da('0x4d')]);_0x319b30['attributes']=_['intersection'](_0x485e7b[_0xe2da('0x4f')],qs[_0xe2da('0x50')](_0xd174a8[_0xe2da('0x4d')][_0xe2da('0x50')]));_0x319b30[_0xe2da('0x51')]=_0x319b30[_0xe2da('0x51')][_0xe2da('0x52')]?_0x319b30[_0xe2da('0x51')]:_0x485e7b[_0xe2da('0x4f')];if(!_0xd174a8[_0xe2da('0x4d')][_0xe2da('0x111')](_0xe2da('0x53'))){_0x319b30[_0xe2da('0x28')]=qs['limit'](_0xd174a8[_0xe2da('0x4d')][_0xe2da('0x28')]);_0x319b30[_0xe2da('0x2a')]=qs[_0xe2da('0x2a')](_0xd174a8[_0xe2da('0x4d')][_0xe2da('0x2a')]);}_0x319b30[_0xe2da('0x54')]=qs[_0xe2da('0x55')](_0xd174a8[_0xe2da('0x4d')][_0xe2da('0x55')]);_0x319b30[_0xe2da('0x56')]=qs[_0xe2da('0x57')](_[_0xe2da('0x58')](_0xd174a8['query'],_0x485e7b['filters']));_0x319b30[_0xe2da('0x56')][_0xe2da('0xc2')]=_0x309243['id'];if(_0xd174a8[_0xe2da('0x4d')]['filter']){_0x319b30['where']=_[_0xe2da('0x33')](_0x319b30['where'],{'$or':_[_0xe2da('0x48')](_0x319b30['attributes'],function(_0xda7a4){var _0x3f0e98={};_0x3f0e98[_0xda7a4]={'$like':'%'+_0xd174a8[_0xe2da('0x4d')][_0xe2da('0x98')]+'%'};return _0x3f0e98;})});}if(_0xd174a8[_0xe2da('0x4d')][_0xe2da('0x112')]){var _0x3a3066=_0xd174a8[_0xe2da('0x4d')][_0xe2da('0x112')]['split'](',');var _0x1c0df3={};_0x1c0df3[_0x3a3066[0x0]]={'$gte':moment(_0x3a3066[0x1])[_0xe2da('0xf4')](_0xe2da('0x113'))};_0x319b30[_0xe2da('0x56')]=_[_0xe2da('0x33')](_0x319b30['where'],_0x1c0df3);}_0x319b30=_['merge']({},_0x319b30,_0xd174a8['options']);return db[_0xe2da('0xdb')][_0xe2da('0x29')]({'where':_0x319b30[_0xe2da('0x56')]})['then'](function(_0x871c9b){_0x40be16[_0xe2da('0x29')]=_0x871c9b;if(_0xd174a8[_0xe2da('0x4d')][_0xe2da('0xc8')]){_0x319b30[_0xe2da('0x114')]=[{'all':!![]}];}return db[_0xe2da('0xdb')][_0xe2da('0x115')](_0x319b30);})[_0xe2da('0x19')](function(_0x2d41a9){_0x40be16[_0xe2da('0xc5')]=_0x2d41a9;return _0x40be16;});}})[_0xe2da('0x19')](respondWithFilteredResult(_0x13f188,_0x319b30))[_0xe2da('0x3d')](handleError(_0x13f188,null));};exports['getMyMessages']=function(_0x1b3408,_0x25993d){var _0x48315c={'where':{}},_0x13eeb1={},_0x46c3e0={'count':0x0,'rows':[]};return db[_0xe2da('0xae')][_0xe2da('0xcb')]({'where':{'id':_0x1b3408[_0xe2da('0xc7')]['id']}})[_0xe2da('0x19')](handleEntityNotFound(_0x25993d,null))[_0xe2da('0x19')](function(_0x2edfc3){if(_0x2edfc3){_0x13eeb1['model']=_[_0xe2da('0x4c')](db['ChatMessage'][_0xe2da('0x49')]);_0x13eeb1['query']=_['keys'](_0x1b3408['query']);_0x13eeb1[_0xe2da('0x57')]=_[_0xe2da('0x4e')](_0x13eeb1[_0xe2da('0x4f')],_0x13eeb1['query']);_0x48315c[_0xe2da('0x51')]=_[_0xe2da('0x4e')](_0x13eeb1[_0xe2da('0x4f')],qs[_0xe2da('0x50')](_0x1b3408[_0xe2da('0x4d')][_0xe2da('0x50')]));_0x48315c[_0xe2da('0x51')]=_0x48315c[_0xe2da('0x51')]['length']?_0x48315c[_0xe2da('0x51')]:_0x13eeb1[_0xe2da('0x4f')];if(!_0x1b3408[_0xe2da('0x4d')]['hasOwnProperty'](_0xe2da('0x53'))){_0x48315c[_0xe2da('0x28')]=qs[_0xe2da('0x28')](_0x1b3408['query'][_0xe2da('0x28')]);_0x48315c[_0xe2da('0x2a')]=qs[_0xe2da('0x2a')](_0x1b3408[_0xe2da('0x4d')]['offset']);}_0x48315c[_0xe2da('0x54')]=qs[_0xe2da('0x55')](_0x1b3408[_0xe2da('0x4d')]['sort']);_0x48315c['where']=qs['filters'](_[_0xe2da('0x58')](_0x1b3408[_0xe2da('0x4d')],_0x13eeb1[_0xe2da('0x57')]));_0x48315c[_0xe2da('0x56')][_0xe2da('0xc2')]=_0x2edfc3['id'];if(_0x1b3408[_0xe2da('0x4d')][_0xe2da('0x98')]){_0x48315c[_0xe2da('0x56')]=_[_0xe2da('0x33')](_0x48315c['where'],{'$or':_[_0xe2da('0x48')](_0x48315c[_0xe2da('0x51')],function(_0x440d8b){var _0x5e5de2={};_0x5e5de2[_0x440d8b]={'$like':'%'+_0x1b3408[_0xe2da('0x4d')][_0xe2da('0x98')]+'%'};return _0x5e5de2;})});}_0x48315c['where'][_0xe2da('0x103')]=![];if(_0x1b3408['query']['id']){_0x48315c[_0xe2da('0x56')]['id']={'$gt':_0x1b3408[_0xe2da('0x4d')]['id']};}_0x48315c=_[_0xe2da('0x33')]({},_0x48315c,_0x1b3408[_0xe2da('0x116')]);return db['ChatMessage'][_0xe2da('0x29')]({'where':_0x48315c[_0xe2da('0x56')]})[_0xe2da('0x19')](function(_0x195c9e){_0x46c3e0['count']=_0x195c9e;_0x48315c[_0xe2da('0x114')]=[];if(_0x1b3408[_0xe2da('0x4d')][_0xe2da('0x117')]){_0x48315c['include'][_0xe2da('0xc3')]({'model':db[_0xe2da('0x82')],'as':_0xe2da('0x82'),'attributes':['id','fullname',_0xe2da('0x118')]});}if(_0x1b3408[_0xe2da('0x4d')][_0xe2da('0xc8')]){_0x48315c[_0xe2da('0x114')]=[{'all':!![]}];}return db['ChatMessage'][_0xe2da('0x115')](_0x48315c);})[_0xe2da('0x19')](function(_0x7be107){_0x46c3e0['rows']=_0x7be107;return _0x46c3e0;});}})[_0xe2da('0x19')](respondWithFilteredResult(_0x25993d,_0x48315c))[_0xe2da('0x3d')](handleError(_0x25993d,null));};exports[_0xe2da('0x119')]=function(_0x12b618,_0x47e982){return db[_0xe2da('0xae')][_0xe2da('0x72')]({'where':{'id':_0x12b618[_0xe2da('0xc7')]['id']}})[_0xe2da('0x19')](handleEntityNotFound(_0x47e982,null))['then'](function(_0x54b7d2){if(_0x54b7d2){return _0x54b7d2[_0xe2da('0x11a')](_0x12b618['body'][_0xe2da('0x10f')],_[_0xe2da('0x110')](_0x12b618[_0xe2da('0x34')],[_0xe2da('0x10f'),'id'])||{})[_0xe2da('0x11b')](function(){return db[_0xe2da('0x7f')][_0xe2da('0x115')]({'attributes':['id','name',_0xe2da('0x5b')],'where':{'id':_0x12b618[_0xe2da('0x34')][_0xe2da('0x10f')]}});})[_0xe2da('0x19')](function(_0x1deb3a){socket[_0xe2da('0x11c')](_0xe2da('0x11d'),{'id':Number(_0x12b618[_0xe2da('0xc7')]['id']),'tags':_0x1deb3a||[]});return{'id':Number(_0x12b618[_0xe2da('0xc7')]['id']),'tags':_0x1deb3a||[]};});}})[_0xe2da('0x19')](respondWithResult(_0x47e982,null))[_0xe2da('0x3d')](handleError(_0x47e982,null));};exports[_0xe2da('0x11e')]=function(_0x5297f8,_0x44dde7){return db[_0xe2da('0xae')][_0xe2da('0x72')]({'where':{'id':_0x5297f8[_0xe2da('0xc7')]['id']}})[_0xe2da('0x19')](handleEntityNotFound(_0x44dde7,null))[_0xe2da('0x19')](function(_0x416530){if(_0x416530){return _0x416530['removeTags'](_0x5297f8[_0xe2da('0x4d')][_0xe2da('0x10f')]);}})[_0xe2da('0x19')](respondWithStatusCode(_0x44dde7,null))[_0xe2da('0x3d')](handleError(_0x44dde7,null));};exports[_0xe2da('0x11f')]=function(_0x472778,_0x31c8db){var _0x1db030=moment()[_0xe2da('0x120')]()[_0xe2da('0xad')]();var _0x4f660a=path['join'](config['root'],_0xe2da('0x121'),'files','tmp');var _0x33d1f0=path[_0xe2da('0xee')](config[_0xe2da('0xf2')],'server',_0xe2da('0x122'),'attachments');var _0x37538b=path['join'](_0x4f660a,_0x1db030);var _0x49d7fc=util['format'](_0xe2da('0x123'),_0x472778[_0xe2da('0xc7')]['id'],_0x1db030);var _0x5333e2=path[_0xe2da('0xee')](_0x4f660a,_0x49d7fc);var _0x1a8770=[];_0x1a8770['push']({'model':db['User'],'as':'User','attributes':['id',_0xe2da('0x39')],'raw':!![]});_0x1a8770[_0xe2da('0xc3')]({'model':db[_0xe2da('0xdf')],'as':_0xe2da('0x76'),'attributes':['id',_0xe2da('0x124'),_0xe2da('0x125')],'raw':!![]});if(_0x472778['query'][_0xe2da('0x126')]){_0x1a8770[_0xe2da('0xc3')]({'model':db[_0xe2da('0xe9')],'as':_0xe2da('0xe9'),'raw':!![]});}var _0x518beb=[{'model':db[_0xe2da('0xdb')],'as':_0xe2da('0xf7'),'attributes':['id',_0xe2da('0x34'),_0xe2da('0x8c'),_0xe2da('0x127'),_0xe2da('0x103'),_0xe2da('0x93')],'include':_0x1a8770}];_0x518beb[_0xe2da('0xc3')]({'model':db['ChatWebsite'],'as':'Account','attributes':['id',_0xe2da('0x30')]});_0x518beb['push']({'model':db['User'],'as':_0xe2da('0x128'),'attributes':['id','fullname']});return db['ChatInteraction'][_0xe2da('0x72')]({'where':{'id':_0x472778[_0xe2da('0xc7')]['id']},'include':_0x518beb})[_0xe2da('0x19')](handleEntityNotFound(_0x31c8db,null))['then'](function(_0x5de19e){if(_0x5de19e){var _0x36d61e=_0x5de19e[_0xe2da('0x129')]({'plain':!![]});fs[_0xe2da('0x12a')](_0x37538b);var _0x52b0a={'channel':_0xe2da('0x12b'),'account':_0x36d61e['Account']['name'],'agent':_0x36d61e['Owner']?_0x36d61e['Owner']['fullname']:_0xe2da('0x12c'),'createdAt':moment(_0x36d61e[_0xe2da('0x8c')])[_0xe2da('0xf4')](_0xe2da('0x113'))['toString'](),'closedAt':_0x36d61e['closed']?moment(_0x36d61e['closedAt'])[_0xe2da('0xf4')](_0xe2da('0x113'))['toString']():'','disposition':_0x36d61e[_0xe2da('0x45')],'chatInfo':{'browser':_0x36d61e[_0xe2da('0x12d')],'os':_0x36d61e[_0xe2da('0x12e')],'referer':_0x36d61e[_0xe2da('0x12f')],'customerIp':_0x36d61e[_0xe2da('0x130')],'customerPort':_0x36d61e['customerPort']?_0x36d61e[_0xe2da('0x131')]:'N.A.'},'messages':_(_0x36d61e[_0xe2da('0xf7')])[_0xe2da('0x132')]()[_0xe2da('0x98')]({'secret':![]})['map'](function(_0x34a1ff){if(_0x34a1ff['Attachment']){var _0x3e17b9=path[_0xe2da('0xee')](_0x33d1f0,_0x34a1ff[_0xe2da('0xe9')]['basename']);if(fs[_0xe2da('0x133')](_0x3e17b9)){fs[_0xe2da('0x134')](_0x3e17b9)['pipe'](fs[_0xe2da('0x135')](path[_0xe2da('0xee')](_0x37538b,_0x34a1ff[_0xe2da('0xe9')][_0xe2da('0xe7')])));}}return{'date':moment(_0x34a1ff[_0xe2da('0x8c')])[_0xe2da('0xf4')](_0xe2da('0x113'))[_0xe2da('0xad')](),'sender':_0x34a1ff[_0xe2da('0x127')]===_0xe2da('0xda')?_0x34a1ff[_0xe2da('0x82')]?_0x34a1ff['User'][_0xe2da('0x39')]:'System':_0x34a1ff[_0xe2da('0x76')][_0xe2da('0x124')]+(_0x34a1ff[_0xe2da('0x76')]['lastName']?'\x20'+_0x34a1ff['Contact'][_0xe2da('0x125')]:''),'body':_0x34a1ff[_0xe2da('0xe9')]?_0x34a1ff[_0xe2da('0xe9')][_0xe2da('0xe7')]:_0x34a1ff[_0xe2da('0x34')],'direction':_0x34a1ff[_0xe2da('0x127')]===_0xe2da('0xda')?'A':'C','secret':_0x34a1ff[_0xe2da('0x103')],'read':_0x34a1ff[_0xe2da('0x93')],'attachment':_0x34a1ff[_0xe2da('0xe9')]};})[_0xe2da('0x79')]()};return ejs[_0xe2da('0x136')](path[_0xe2da('0xee')](config[_0xe2da('0xf2')],_0xe2da('0x121'),'views',_0xe2da('0x137')),{'interaction':_0x52b0a})[_0xe2da('0x19')](function(_0x447193){var _0x1afd65=path['join'](_0x37538b,_0xe2da('0x138')+_0x36d61e['id']+'-'+_0x1db030+_0xe2da('0x139'));var _0x1db719={'path':_0x1afd65,'channel':_0xe2da('0x12b'),'interactionId':_0x36d61e['id']};return pdf['createPdfFromHTML'](_0x447193,_0x1db719);})[_0xe2da('0x19')](function(){return new Promise(function(_0x5a5c30,_0x3f5d44){zipdir(_0x37538b,{'saveTo':_0x5333e2},function(_0x282be8,_0x40096e){if(_0x282be8)return _0x3f5d44(_0x282be8);return _0x5a5c30(_0x40096e);});})['then'](function(){return new BPromise(function(_0x35240f,_0x309726){rimraf(_0x37538b,function(_0x5a6db5){if(_0x5a6db5)_0x309726(_0x5a6db5);return _0x35240f();});});})['then'](function(){return _0x31c8db['download'](_0x5333e2,_0x49d7fc,function(_0x3cb46b){if(_0x3cb46b){logger['error'](_0xe2da('0x13a'),_0x3cb46b);}else{fs['unlinkSync'](_0x5333e2);}});});});}else{return _0x31c8db['sendStatus'](0xc8);}})[_0xe2da('0x3d')](handleError(_0x31c8db,null));};