Built motion from commit 85328c08.|2.5.50
[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 _0x55e0=['nolimit','order','sort','where','select','field','color','tools_tags','u.fullname','ui.ChatInteractionId','left_join','users','u.id\x20=\x20ui.UserId','from','chat_interactions','chat_websites','a.id\x20=\x20i.ChatWebsiteId','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','search','parseSearch','sqlOperator','conditions','length','find','unreadMessages','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','value','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','compact','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$lte','null','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','SELECT','i.id','DESC','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','role','sequelize','toString','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','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','Contact.firstName','c.lastName','Contact.lastName','Contact.email','Contact.phone','c.mobile','Contact.mobile','Contact.fax','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','ChatInteractionId','all','rows','catch','show','params','includeAll','include','options','create','describe','findOne','vidaooApiKey','vidaooTopic','vidaooNote','vidaooMetadata','POST','https://api-vidaoo.xcally.com/api/v1/meetings','email','follow','isNull','metadata','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','CmContact','abandon','entity\x20not\x20found','Interaction\x20already\x20assigned','AbandonInteraction','attachmentUpload','file','originalname','basename','filename','mimetype','Attachment','attachId','ChatOfflineMessageId','join','server/files/attachments/','offline-chat/','download','close','root','server/files/chat/upload/','transcript-%s.txt','now','pathTranscript','Messages','ChatWebsite','ContactId','%s%d','System','customer','format','Visitor','agentIdentifier','agentAlias','agent_alias','alias','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','appendFileSync','MailAccount','MailServerOut','CloudProvider','Smtp','getSmtpOptions','SendMail','sendMail','\x22%s\x22\x20<%s>','mailTranscript','addMessage','ids','omit','getMessages','$gte','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','pick','secret','includeAgent','addTags','setTags','spread','emit','chatInteractionTags:save','removeTags','unix','server','files','tmp','attachments','transcript-%d-%s.zip','firstName','Account','Owner','mkdirSync','Chat','referer','customerIp','customerPort','N.A.','tail','existsSync','createReadStream','createWriteStream','out','lastName','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','err','unlinkSync','rimraf','zip-dir','request-promise','moment','util','path','ejs','lodash','squel','ioredis','../../components/export/pdf','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','register','http','request','then','info','ChatInteraction,\x20%s,\x20%s','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','result','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','update','destroy','end','name','render','merge','body','contact','agent','interaction','account','map','fullname','TagIds','Tags','split','forEach','push','waiting','talking','answered','abandoned','total','closed','UserId','disposition','unmanaged','index','ChatInteraction','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','hasOwnProperty'];(function(_0x475516,_0x1a8b71){var _0x2732f2=function(_0x5ab274){while(--_0x5ab274){_0x475516['push'](_0x475516['shift']());}};_0x2732f2(++_0x1a8b71);}(_0x55e0,0xdc));var _0x055e=function(_0x3e29bf,_0xc3b103){_0x3e29bf=_0x3e29bf-0x0;var _0x2c1601=_0x55e0[_0x3e29bf];return _0x2c1601;};'use strict';var rimraf=require(_0x055e('0x0'));var zipdir=require(_0x055e('0x1'));var rp=require(_0x055e('0x2'));var moment=require(_0x055e('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x055e('0x4'));var path=require(_0x055e('0x5'));var ejs=require(_0x055e('0x6'));var fs=require('fs');var _=require(_0x055e('0x7'));var squel=require(_0x055e('0x8'));var Redis=require(_0x055e('0x9'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var pdf=require(_0x055e('0xa'));var logger=require('../../config/logger')(_0x055e('0xb'));var config=require(_0x055e('0xc'));var db=require(_0x055e('0xd'))['db'];config[_0x055e('0xe')]=_[_0x055e('0xf')](config['redis'],{'host':_0x055e('0x10'),'port':0x18eb});var socket=require(_0x055e('0x11'))(new Redis(config[_0x055e('0xe')]));require(_0x055e('0x12'))[_0x055e('0x13')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x055e('0x14')]({'port':0x232b});var client9004=jayson['client'][_0x055e('0x14')]({'port':0x232c});function respondWithRpcPromise(_0x466da3,_0x72d424,_0x101bc3,_0xc98c6a){return new BPromise(function(_0x31c649,_0x236a2b){var _0x4bca5d=_0xc98c6a||client;return _0x4bca5d[_0x055e('0x15')](_0x466da3,_0x101bc3)[_0x055e('0x16')](function(_0x3cfd14){logger[_0x055e('0x17')](_0x055e('0x18'),_0x72d424,'request\x20sent');logger[_0x055e('0x19')](_0x055e('0x1a'),_0x72d424,_0x055e('0x1b'),JSON['stringify'](_0x3cfd14));if(_0x3cfd14[_0x055e('0x1c')]){if(_0x3cfd14[_0x055e('0x1c')][_0x055e('0x1d')]===0x1f4){logger[_0x055e('0x1c')](_0x055e('0x18'),_0x72d424,_0x3cfd14['error'][_0x055e('0x1e')]);return _0x236a2b(_0x3cfd14[_0x055e('0x1c')][_0x055e('0x1e')]);}logger[_0x055e('0x1c')]('ChatInteraction,\x20%s,\x20%s',_0x72d424,_0x3cfd14[_0x055e('0x1c')][_0x055e('0x1e')]);return _0x31c649(_0x3cfd14['error'][_0x055e('0x1e')]);}else{logger[_0x055e('0x17')](_0x055e('0x18'),_0x72d424,_0x055e('0x1b'));_0x31c649(_0x3cfd14[_0x055e('0x1f')][_0x055e('0x1e')]);}})['catch'](function(_0x31c355){logger[_0x055e('0x1c')](_0x055e('0x18'),_0x72d424,_0x31c355);_0x236a2b(_0x31c355);});});}function respondWithStatusCode(_0x5930ff,_0x3f444a){_0x3f444a=_0x3f444a||0xcc;return function(_0x2da6b){if(_0x2da6b){return _0x5930ff[_0x055e('0x20')](_0x3f444a);}return _0x5930ff[_0x055e('0x21')](_0x3f444a)['end']();};}function respondWithResult(_0x71a6e1,_0x56c372){_0x56c372=_0x56c372||0xc8;return function(_0x33ffdf){if(_0x33ffdf){return _0x71a6e1[_0x055e('0x21')](_0x56c372)[_0x055e('0x22')](_0x33ffdf);}};}function respondWithFilteredResult(_0x1a76c6,_0x40c62a){return function(_0x4c653c){if(_0x4c653c){var _0x58caf9=typeof _0x40c62a[_0x055e('0x23')]===_0x055e('0x24')&&typeof _0x40c62a[_0x055e('0x25')]==='undefined';var _0x408e38=_0x4c653c[_0x055e('0x26')];var _0x42f2df=_0x58caf9?0x0:_0x40c62a[_0x055e('0x23')];var _0x59539d=_0x58caf9?_0x4c653c[_0x055e('0x26')]:_0x40c62a['offset']+_0x40c62a[_0x055e('0x25')];var _0x35def0;if(_0x59539d>=_0x408e38){_0x59539d=_0x408e38;_0x35def0=0xc8;}else{_0x35def0=0xce;}_0x1a76c6[_0x055e('0x21')](_0x35def0);return _0x1a76c6[_0x055e('0x27')](_0x055e('0x28'),_0x42f2df+'-'+_0x59539d+'/'+_0x408e38)['json'](_0x4c653c);}return null;};}function saveUpdates(_0x99a372){return function(_0x453e5e){if(_0x453e5e){return _0x453e5e[_0x055e('0x29')](_0x99a372)[_0x055e('0x16')](function(_0x36abb2){return _0x36abb2;});}return null;};}function removeEntity(_0x225c88){return function(_0x59f8c4){if(_0x59f8c4){return _0x59f8c4[_0x055e('0x2a')]()['then'](function(){_0x225c88[_0x055e('0x21')](0xcc)[_0x055e('0x2b')]();});}};}function handleEntityNotFound(_0x5cfeea){return function(_0xd9298d){if(!_0xd9298d){_0x5cfeea[_0x055e('0x20')](0x194);}return _0xd9298d;};}function handleError(_0x524344,_0x20717b){_0x20717b=_0x20717b||0x1f4;return function(_0x23c611){logger[_0x055e('0x1c')](_0x23c611['stack']);if(_0x23c611['name']){delete _0x23c611[_0x055e('0x2c')];}_0x524344['status'](_0x20717b)['send'](_0x23c611);};}function getMustacheRender(_0x55a1ee,_0x31ee60){return Mustache[_0x055e('0x2d')](_0x55a1ee,_[_0x055e('0x2e')](_0x31ee60[_0x055e('0x2f')],{'contact':_0x31ee60[_0x055e('0x30')],'message':_0x31ee60[_0x055e('0x1e')],'agent':_0x31ee60[_0x055e('0x31')],'interaction':_0x31ee60[_0x055e('0x32')],'account':_0x31ee60[_0x055e('0x33')]}))||'';}function getInteractionUsers(_0x2f60fa,_0x2f839c){return new BPromise(function(_0x263a81,_0x54539e){try{if(_0x2f839c[_0x2f60fa['id']]){_0x2f60fa['Users']=_[_0x055e('0x34')](_0x2f839c[_0x2f60fa['id']],function(_0x47790a){return{'id':_0x47790a['id'],'fullname':_0x47790a[_0x055e('0x35')]};});}}catch(_0xf3abf6){_0x54539e(_0xf3abf6);}_0x263a81(_0x2f60fa);});}function getInteractionTags(_0x34d5f2,_0x21aaad){return new BPromise(function(_0xb08e29,_0x4f24f8){try{if(_0x34d5f2[_0x055e('0x36')]){_0x34d5f2[_0x055e('0x37')]=[];_0x34d5f2[_0x055e('0x36')][_0x055e('0x38')](',')[_0x055e('0x39')](function(_0x585b8a){_0x34d5f2[_0x055e('0x37')][_0x055e('0x3a')](_0x21aaad[_0x585b8a]);});}delete _0x34d5f2['TagIds'];}catch(_0x39ecd7){_0x4f24f8(_0x39ecd7);}_0xb08e29(_0x34d5f2);});}function updateChatInteraction(_0x1a109f,_0x4a97ab,_0x99688b){return new BPromise(function(_0x2d7815,_0x4e424b){return getInteractionUsers(_0x1a109f,_0x99688b)[_0x055e('0x16')](function(_0x233423){return getInteractionTags(_0x233423,_0x4a97ab);})['then'](function(_0x1012a4){return getStateInteraction(_0x1012a4);})[_0x055e('0x16')](function(_0x1478c2){_0x2d7815(_0x1478c2);})['catch'](function(_0x1715ed){_0x4e424b(_0x1715ed);});});}function getStateInteraction(_0x1dd07b){return new BPromise(function(_0x574ea0){_0x1dd07b[_0x055e('0x3b')]=0x0;_0x1dd07b[_0x055e('0x3c')]=0x0;_0x1dd07b[_0x055e('0x3d')]=0x0;_0x1dd07b['unmanaged']=0x0;_0x1dd07b[_0x055e('0x3e')]=0x0;_0x1dd07b[_0x055e('0x3f')]=0x0;if(!_0x1dd07b[_0x055e('0x40')]&&!_0x1dd07b['UserId']){_0x1dd07b['waiting']+=0x1;}if(!_0x1dd07b[_0x055e('0x40')]&&_0x1dd07b[_0x055e('0x41')]){_0x1dd07b['talking']+=0x1;if(_0x1dd07b[_0x055e('0x3b')]){_0x1dd07b['waiting']-=0x1;}}if(_0x1dd07b[_0x055e('0x40')]&&_0x1dd07b['disposition']===_0x055e('0x3e')){_0x1dd07b[_0x055e('0x3e')]+=0x1;if(_0x1dd07b[_0x055e('0x3b')]){_0x1dd07b['waiting']-=0x1;}}else if(_0x1dd07b['closed']&&!_0x1dd07b[_0x055e('0x41')]&&_0x1dd07b[_0x055e('0x42')]){_0x1dd07b[_0x055e('0x43')]+=0x1;if(_0x1dd07b[_0x055e('0x3b')]){_0x1dd07b['waiting']-=0x1;}}else if(_0x1dd07b['closed']&&_0x1dd07b[_0x055e('0x41')]){_0x1dd07b[_0x055e('0x3d')]+=0x1;if(_0x1dd07b['talking']){_0x1dd07b[_0x055e('0x3c')]-=0x1;}}_0x1dd07b[_0x055e('0x3f')]+=0x1;_0x574ea0(_0x1dd07b);});}exports[_0x055e('0x44')]=function(_0x20eb76,_0x19e29c){var _0x1f3c73={},_0x479f4e={},_0x297edd={'count':0x0,'rows':[]};var _0x118a0e=_['map'](db[_0x055e('0x45')][_0x055e('0x46')],function(_0x341c46){return{'name':_0x341c46[_0x055e('0x47')],'type':_0x341c46[_0x055e('0x48')][_0x055e('0x49')]};});_0x479f4e[_0x055e('0x4a')]=_['map'](_0x118a0e,_0x055e('0x2c'));_0x479f4e['query']=_[_0x055e('0x4b')](_0x20eb76[_0x055e('0x4c')]);_0x479f4e[_0x055e('0x4d')]=_['intersection'](_0x479f4e['model'],_0x479f4e[_0x055e('0x4c')]);_0x1f3c73[_0x055e('0x4e')]=_[_0x055e('0x4f')](_0x479f4e[_0x055e('0x4a')],qs[_0x055e('0x50')](_0x20eb76[_0x055e('0x4c')][_0x055e('0x50')]));_0x1f3c73[_0x055e('0x4e')]=_0x1f3c73[_0x055e('0x4e')]['length']?_0x1f3c73[_0x055e('0x4e')]:_0x479f4e[_0x055e('0x4a')];if(!_0x20eb76[_0x055e('0x4c')][_0x055e('0x51')](_0x055e('0x52'))){_0x1f3c73['limit']=qs[_0x055e('0x25')](_0x20eb76[_0x055e('0x4c')][_0x055e('0x25')]);_0x1f3c73['offset']=qs[_0x055e('0x23')](_0x20eb76['query'][_0x055e('0x23')]);}_0x1f3c73[_0x055e('0x53')]=qs['sort'](_0x20eb76[_0x055e('0x4c')][_0x055e('0x54')]);_0x1f3c73[_0x055e('0x55')]=qs['filters'](_['pick'](_0x20eb76[_0x055e('0x4c')],_0x479f4e[_0x055e('0x4d')]),_0x118a0e);var _0x393717=[];var _0x248e5f=squel[_0x055e('0x56')]()[_0x055e('0x57')]('id')[_0x055e('0x57')](_0x055e('0x2c'))[_0x055e('0x57')](_0x055e('0x58'))['from'](_0x055e('0x59'));var _0x7f03ed=squel[_0x055e('0x56')]()[_0x055e('0x57')]('u.id')[_0x055e('0x57')](_0x055e('0x5a'))[_0x055e('0x57')](_0x055e('0x5b'))['from']('user_has_chat_interactions','ui')[_0x055e('0x5c')](_0x055e('0x5d'),'u',_0x055e('0x5e'));var _0x2fbb1c=squel[_0x055e('0x56')]()[_0x055e('0x5f')](_0x055e('0x60'),'i')[_0x055e('0x5c')]('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x055e('0x5c')](_0x055e('0x5d'),'o','o.id\x20=\x20i.UserId')[_0x055e('0x5c')](_0x055e('0x61'),'a',_0x055e('0x62'))[_0x055e('0x5c')]('chat_messages','me',_0x055e('0x63'))[_0x055e('0x5c')](_0x055e('0x64'),'it',_0x055e('0x65'))[_0x055e('0x5c')](_0x055e('0x59'),'t',_0x055e('0x66'));var _0x31935b=squel['expr']();var _0x3cb600=[];var _0x23794c=squel['expr']();var _0x29b754;if(_0x20eb76[_0x055e('0x4c')][_0x055e('0x67')]){_0x29b754=as[_0x055e('0x68')](_0x20eb76['query'][_0x055e('0x67')]);var _0x18b7f7=_0x29b754[_0x055e('0x69')];for(var _0x4deec3=0x0;_0x4deec3<_0x29b754[_0x055e('0x6a')][_0x055e('0x6b')];_0x4deec3++){var _0xf2c62d=_0x29b754[_0x055e('0x6a')][_0x4deec3];var _0xcc4661='i';var _0x584e60=_[_0x055e('0x6c')](_0x118a0e,[_0x055e('0x2c'),_0xf2c62d[_0x055e('0x57')]]);if(!_0x584e60){switch(_0xf2c62d[_0x055e('0x57')]){case _0x055e('0x6d'):if(_0xf2c62d['value']==0x1){_0x2fbb1c[_0x055e('0x6e')]('`'+_0xf2c62d[_0x055e('0x57')]+_0x055e('0x6f'));}else{_0x2fbb1c['having']('`'+_0xf2c62d[_0x055e('0x57')]+_0x055e('0x70'));}break;case _0x055e('0x71'):if(_0xf2c62d[_0x055e('0x72')]===_0x055e('0x73')){if(_0xf2c62d['value'][_0x055e('0x38')]('\x20')['length']>0x1){_0x31935b[_0x18b7f7](_0x055e('0x74'),qs[_0x055e('0x75')](_0xf2c62d['value']),null);}else{var _0x3137bb='%'+_0xf2c62d[_0x055e('0x76')]+'%';_0x31935b[_0x18b7f7](_0x055e('0x77'),_0x3137bb,_0x3137bb,_0x3137bb);}}else{_0x584e60=_[_0x055e('0x6c')](_0x118a0e,['name','ContactId']);_0xf2c62d[_0x055e('0x57')]='ContactId';_0x200ed2=as[_0x055e('0x78')](_0xcc4661,_0x584e60[_0x055e('0x48')],_0xf2c62d);_0x31935b[_0x18b7f7](_0x200ed2[_0x055e('0x79')],_0x200ed2[_0x055e('0x76')][_0x055e('0x7a')],_0x200ed2[_0x055e('0x76')][_0x055e('0x2b')]);}break;case _0x055e('0x7b'):var _0x3de5f1=_0xf2c62d[_0x055e('0x76')]['split'](',')['map'](function(_0xb8b2a0){return Number(_0xb8b2a0);});_0x3de5f1[_0x055e('0x39')](function(_0x52a6e9){_0x23794c['or'](_0x055e('0x7c'),'%,'+_0x52a6e9+',%');});_0x3cb600=_['union'](_0x3cb600,_0x3de5f1);break;case _0x055e('0x7d'):if(_0xf2c62d[_0x055e('0x72')]===_0x055e('0x73')){_0x31935b[_0x18b7f7](_0x055e('0x7e'),'%'+_0xf2c62d[_0x055e('0x76')]+'%',null);}else{_0x584e60=_[_0x055e('0x6c')](_0x118a0e,[_0x055e('0x2c'),_0x055e('0x41')]);_0xf2c62d['field']=_0x055e('0x41');_0x200ed2=as[_0x055e('0x78')](_0xcc4661,_0x584e60[_0x055e('0x48')],_0xf2c62d);_0x31935b[_0x18b7f7](_0x200ed2[_0x055e('0x79')],_0x200ed2[_0x055e('0x76')][_0x055e('0x7a')],_0x200ed2[_0x055e('0x76')][_0x055e('0x2b')]);}break;case _0x055e('0x2f'):_0x200ed2=as['buildExpression']('me',null,_0xf2c62d);_0x31935b[_0x18b7f7](_0x200ed2[_0x055e('0x79')],_0x200ed2[_0x055e('0x76')]['start'],_0x200ed2[_0x055e('0x76')][_0x055e('0x2b')]);break;}}else{var _0x200ed2=as[_0x055e('0x78')](_0xcc4661,_0x584e60['type'],_0xf2c62d);_0x31935b[_0x18b7f7](_0x200ed2[_0x055e('0x79')],_0x200ed2[_0x055e('0x76')][_0x055e('0x7a')],_0x200ed2[_0x055e('0x76')][_0x055e('0x2b')]);}}}else{var _0x525d4f=_(_0x20eb76[_0x055e('0x4c')])[_0x055e('0x4b')]()[_0x055e('0x34')](function(_0xe21a0e){return _['some'](_0x118a0e,[_0x055e('0x2c'),_0xe21a0e])?_0xe21a0e:undefined;})[_0x055e('0x7f')]()[_0x055e('0x76')]();if(!_[_0x055e('0x80')](_0x525d4f)){_0x525d4f[_0x055e('0x39')](function(_0x59e669){if(_0x59e669===_0x055e('0x81')){_0x2fbb1c[_0x055e('0x55')](_0x055e('0x82'),[][_0x055e('0x83')](_0x20eb76['query'][_0x59e669]));}else if(_0x59e669===_0x055e('0x84')){var _0x94e3e=JSON[_0x055e('0x85')](_0x20eb76[_0x055e('0x4c')][_0x59e669])['$gte'];var _0x22f4db=JSON[_0x055e('0x85')](_0x20eb76[_0x055e('0x4c')][_0x59e669])[_0x055e('0x86')];_0x2fbb1c[_0x055e('0x55')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x94e3e,_0x22f4db);}else{if(_0x20eb76[_0x055e('0x4c')][_0x59e669]===_0x055e('0x87')){_0x2fbb1c[_0x055e('0x55')]('i.'+_0x59e669+'\x20IS\x20NULL');}else{_0x2fbb1c['where']('i.'+_0x59e669+_0x055e('0x88'),_0x20eb76['query'][_0x59e669]);}}});}if(_0x20eb76[_0x055e('0x4c')][_0x055e('0x89')]){if(_0x20eb76['query'][_0x055e('0x89')]==0x1){_0x2fbb1c[_0x055e('0x6e')](_0x055e('0x8a'));}else{_0x2fbb1c[_0x055e('0x6e')](_0x055e('0x8b'));}}if(_0x20eb76[_0x055e('0x4c')][_0x055e('0x8c')]){_0x3cb600=_[_0x055e('0x8d')](_0x20eb76[_0x055e('0x4c')][_0x055e('0x8c')])?_0x20eb76[_0x055e('0x4c')][_0x055e('0x8c')]:new Array(_0x20eb76[_0x055e('0x4c')][_0x055e('0x8c')]);_0x3cb600[_0x055e('0x39')](function(_0xba91c3){_0x23794c['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0xba91c3+',%');});}if(_0x20eb76[_0x055e('0x4c')]['filter']){var _0x5d2993=_0x20eb76[_0x055e('0x4c')][_0x055e('0x8e')][_0x055e('0x8f')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x055e('0x90')](_0x5d2993)){_0x31935b['or'](_0x055e('0x91'),_0x5d2993+'%');}else{_0x31935b['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x055e('0x75')](_0x5d2993))['or'](_0x055e('0x92'),_0x5d2993+'%');}}}_0x2fbb1c['where'](_0x31935b);_0x2fbb1c[_0x055e('0x93')]('i.id');var _0xc825b0={'type':db[_0x055e('0x94')][_0x055e('0x95')][_0x055e('0x96')],'raw':!![]};var _0x49db81=_0x2fbb1c['clone']();_0x49db81['field'](_0x055e('0x97'));_0x49db81['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x055e('0x6d'));if(_0x1f3c73['order']){_0x1f3c73[_0x055e('0x53')][_0x055e('0x39')](function(_0x15a107){var _0x1c3a1a=_0x15a107[0x0]==='contactName'?_0x15a107[0x0]:'i.'+_0x15a107[0x0];_0x2fbb1c['order'](_0x1c3a1a,_0x15a107[0x1]===_0x055e('0x98')?![]:!![]);});}if(!_[_0x055e('0x80')](_0x3cb600)){_0x2fbb1c[_0x055e('0x6e')](_0x23794c);_0x49db81[_0x055e('0x55')](_0x055e('0x99'),_0x3cb600);}BPromise[_0x055e('0x9a')]()[_0x055e('0x16')](function(){if(!_0x29b754){if(_0x20eb76['query'][_0x055e('0x81')])return;_0x49db81['where']('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');_0x2fbb1c[_0x055e('0x55')](_0x055e('0x9b'));return;}if(_0x20eb76[_0x055e('0x9c')]['role']!==_0x055e('0x31'))return;return _0x20eb76[_0x055e('0x9c')][_0x055e('0x9d')]({'attributes':['id'],'raw':!![]})['then'](function(_0x785c9c){if(_[_0x055e('0x80')](_0x785c9c)){_0x49db81[_0x055e('0x55')](_0x055e('0x9e'));_0x2fbb1c[_0x055e('0x55')](_0x055e('0x9e'));}else{_0x49db81[_0x055e('0x55')](_0x055e('0x82'),_[_0x055e('0x34')](_0x785c9c,'id'));_0x2fbb1c[_0x055e('0x55')](_0x055e('0x82'),_[_0x055e('0x34')](_0x785c9c,'id'));}});})[_0x055e('0x16')](function(){if(_0x20eb76[_0x055e('0x9c')][_0x055e('0x9f')]===_0x055e('0x31')&&!_0x29b754&&!_0x20eb76['query'][_0x055e('0x81')])return[];return db[_0x055e('0xa0')][_0x055e('0x4c')](_0x49db81['toString'](),_0xc825b0);})['then'](function(_0x4fd7e2){_0x297edd[_0x055e('0x26')]=_0x4fd7e2[_0x055e('0x6b')];if(_0x297edd[_0x055e('0x26')]===0x0)return[];return db[_0x055e('0xa0')][_0x055e('0x4c')](_0x248e5f[_0x055e('0xa1')](),_0xc825b0)[_0x055e('0x16')](function(_0x2f9a0f){_0x393717=_['keyBy'](_0x2f9a0f,'id');_0xc825b0=_[_0x055e('0x2e')](_0xc825b0,{'model':db[_0x055e('0x45')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x20eb76[_0x055e('0x4c')][_0x055e('0x50')]){_0x1f3c73[_0x055e('0x4e')][_0x055e('0x39')](function(_0x46e8f4){_0x2fbb1c[_0x055e('0x57')]('i.'+_0x46e8f4);});}else{_0x2fbb1c[_0x055e('0x57')](_0x055e('0xa2'),_0x055e('0x6d'));_0x2fbb1c[_0x055e('0x57')]('a.key','Account.key');_0x2fbb1c[_0x055e('0x57')](_0x055e('0xa3'),_0x055e('0xa4'));_0x2fbb1c['field'](_0x055e('0xa5'),_0x055e('0xa6'));_0x2fbb1c[_0x055e('0x57')]('i.*');_0x2fbb1c[_0x055e('0x57')]('c.firstName',_0x055e('0xa7'));_0x2fbb1c['field'](_0x055e('0xa8'),_0x055e('0xa9'));_0x2fbb1c['field']('c.email',_0x055e('0xaa'));_0x2fbb1c['field']('c.phone',_0x055e('0xab'));_0x2fbb1c[_0x055e('0x57')](_0x055e('0xac'),_0x055e('0xad'));_0x2fbb1c[_0x055e('0x57')]('c.fax',_0x055e('0xae'));_0x2fbb1c[_0x055e('0x57')]('o.fullname',_0x055e('0xaf'));_0x2fbb1c[_0x055e('0x57')](_0x055e('0xb0'),_0x055e('0xb1'));_0x2fbb1c[_0x055e('0x57')](_0x055e('0xb2'),_0x055e('0x36'));}if(_0x1f3c73[_0x055e('0x25')])_0x2fbb1c['limit'](_0x1f3c73[_0x055e('0x25')]);if(_0x1f3c73[_0x055e('0x23')])_0x2fbb1c[_0x055e('0x23')](_0x1f3c73[_0x055e('0x23')]);return db[_0x055e('0xa0')][_0x055e('0x4c')](_0x2fbb1c[_0x055e('0xa1')](),_0xc825b0);})[_0x055e('0x16')](function(_0x21ae7c){if(_0x21ae7c[_0x055e('0x6b')]>0x0)_0x7f03ed[_0x055e('0x55')]('ui.ChatInteractionId\x20IN\x20?',_[_0x055e('0x34')](_0x21ae7c,'id'));return db[_0x055e('0xa0')][_0x055e('0x4c')](_0x7f03ed['toString'](),_0xc825b0)['then'](function(_0x35e203){var _0x27b463=_[_0x055e('0xb3')](_0x35e203,_0x055e('0xb4'));var _0xe63e29=[];_0x21ae7c[_0x055e('0x39')](function(_0x505cc4){_0xe63e29[_0x055e('0x3a')](updateChatInteraction(_0x505cc4,_0x393717,_0x27b463));});return BPromise[_0x055e('0xb5')](_0xe63e29);});});})[_0x055e('0x16')](function(_0x324a3d){_0x297edd[_0x055e('0xb6')]=_0x324a3d;return _0x297edd;})[_0x055e('0x16')](respondWithFilteredResult(_0x19e29c,_0x1f3c73))[_0x055e('0xb7')](handleError(_0x19e29c,null));};exports[_0x055e('0xb8')]=function(_0x207f31,_0x4abd2e){var _0x58bf27={'raw':![],'where':{'id':_0x207f31[_0x055e('0xb9')]['id']}},_0x478da3={};_0x478da3[_0x055e('0x4a')]=_[_0x055e('0x4b')](db['ChatInteraction'][_0x055e('0x46')]);_0x478da3[_0x055e('0x4c')]=_[_0x055e('0x4b')](_0x207f31[_0x055e('0x4c')]);_0x478da3[_0x055e('0x4d')]=_[_0x055e('0x4f')](_0x478da3[_0x055e('0x4a')],_0x478da3[_0x055e('0x4c')]);_0x58bf27['attributes']=_[_0x055e('0x4f')](_0x478da3[_0x055e('0x4a')],qs['fields'](_0x207f31['query'][_0x055e('0x50')]));_0x58bf27[_0x055e('0x4e')]=_0x58bf27[_0x055e('0x4e')][_0x055e('0x6b')]?_0x58bf27['attributes']:_0x478da3['model'];if(_0x207f31[_0x055e('0x4c')][_0x055e('0xba')]){_0x58bf27[_0x055e('0xbb')]=[{'all':!![]}];}_0x58bf27=_[_0x055e('0x2e')]({},_0x58bf27,_0x207f31[_0x055e('0xbc')]);return db['ChatInteraction'][_0x055e('0x6c')](_0x58bf27)[_0x055e('0x16')](handleEntityNotFound(_0x4abd2e,null))['then'](respondWithResult(_0x4abd2e,null))[_0x055e('0xb7')](handleError(_0x4abd2e,null));};exports['create']=function(_0x495d7d,_0x47f131){return db[_0x055e('0x45')][_0x055e('0xbd')](_0x495d7d['body'],{})[_0x055e('0x16')](respondWithResult(_0x47f131,0xc9))[_0x055e('0xb7')](handleError(_0x47f131,null));};exports['update']=function(_0xae5b5a,_0x5dffc3){if(_0xae5b5a[_0x055e('0x2f')]['id']){delete _0xae5b5a['body']['id'];}return db[_0x055e('0x45')][_0x055e('0x6c')]({'where':{'id':_0xae5b5a[_0x055e('0xb9')]['id']}})[_0x055e('0x16')](handleEntityNotFound(_0x5dffc3,null))['then'](saveUpdates(_0xae5b5a[_0x055e('0x2f')],null))[_0x055e('0x16')](respondWithResult(_0x5dffc3,null))['catch'](handleError(_0x5dffc3,null));};exports[_0x055e('0x2a')]=function(_0x116f84,_0x174a30){return db[_0x055e('0x45')][_0x055e('0x6c')]({'where':{'id':_0x116f84[_0x055e('0xb9')]['id']}})[_0x055e('0x16')](handleEntityNotFound(_0x174a30,null))[_0x055e('0x16')](removeEntity(_0x174a30,null))[_0x055e('0xb7')](handleError(_0x174a30,null));};exports[_0x055e('0xbe')]=function(_0x1bd652,_0x32bf47){return db[_0x055e('0x45')][_0x055e('0xbe')]()[_0x055e('0x16')](respondWithResult(_0x32bf47,null))[_0x055e('0xb7')](handleError(_0x32bf47,null));};exports['createVidaooSession']=function(_0x2d5bf8,_0x484ee0){var _0x204fef=_0x2d5bf8[_0x055e('0xb9')]['id'];var _0x5ca835;var _0xfb3b6d;var _0x5ee76f;return db[_0x055e('0x45')]['findOne']({'where':{'id':_0x204fef}})[_0x055e('0x16')](function(_0x127c91){_0x5ca835=_0x127c91;return db['ChatWebsite'][_0x055e('0xbf')]({'where':{'id':_0x127c91[_0x055e('0x81')]},'attributes':['id',_0x055e('0xc0'),'vidaooEscalation',_0x055e('0xc1'),_0x055e('0xc2'),_0x055e('0xc3')],'raw':!![]});})[_0x055e('0x16')](function(_0x9d0c0f){if(_0x9d0c0f&&_0x9d0c0f[_0x055e('0xc0')]&&_0x9d0c0f['vidaooEscalation']){_0xfb3b6d=_0x9d0c0f;var _0x41b2af={'interaction':{'id':_0x204fef},'agent':{'id':_0x2d5bf8['user']['id'],'name':_0x2d5bf8[_0x055e('0x9c')][_0x055e('0x2c')],'fullname':_0x2d5bf8['user']['fullname'],'email':_0x2d5bf8[_0x055e('0x9c')]['email']},'contact':_0x2d5bf8['body'][_0x055e('0x30')],'account':_0x2d5bf8['body'][_0x055e('0x33')]};var _0x51c37b={'rejectUnauthorized':![],'method':_0x055e('0xc4'),'url':_0x055e('0xc5'),'headers':{'X-APIKEY':_0x9d0c0f[_0x055e('0xc0')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x2d5bf8[_0x055e('0x9c')][_0x055e('0xc6')]],'buttons':null,'topic':_0xfb3b6d['vidaooTopic'],'note':_['isNull'](_0xfb3b6d[_0x055e('0xc2')])?null:getMustacheRender(_0xfb3b6d[_0x055e('0xc2')],_0x41b2af),'metadata':null},'redirect':_0x055e('0xc7'),'json':!![]};try{if(!_[_0x055e('0xc8')](_0xfb3b6d['vidaooMetadata'])){var _0x2b4096=getMustacheRender(_0xfb3b6d[_0x055e('0xc3')],_0x41b2af);var _0x5ed6a5=JSON[_0x055e('0x85')](_0x2b4096);_0x51c37b[_0x055e('0x2f')][_0x055e('0xc9')]=_0x5ed6a5;}}catch(_0x45a14b){throw new db[(_0x055e('0x94'))][(_0x055e('0xca'))]('Error\x20in\x20conversion\x20vidaooMetadata');}return rp(_0x51c37b);}else{throw new db[(_0x055e('0x94'))][(_0x055e('0xca'))](_0x055e('0xcb'));}})['then'](function(_0x38a846){_0x5ee76f=_0x38a846;if(_0x5ee76f['id']){var _0x7d100={'body':_0x5ee76f[_0x055e('0xcc')],'ChatWebsiteId':_0xfb3b6d['id'],'ChatInteractionId':_0x5ca835['id'],'direction':'out','UserId':_0x2d5bf8['user']['id']};return db[_0x055e('0xcd')][_0x055e('0xbd')](_0x7d100,{});}else{throw new db['Sequelize']['ValidationError'](_0x055e('0xce'));}})['then'](function(){return _0x5ca835[_0x055e('0xcf')]({'vidaooSessionId':_0x5ee76f['id']});})[_0x055e('0x16')](respondWithResult(_0x484ee0,null))[_0x055e('0xb7')](handleError(_0x484ee0,null));};exports['customUpdate']=function(_0x1423f4,_0x31db97){if(_0x1423f4[_0x055e('0x2f')]['id']){delete _0x1423f4['body']['id'];}return db[_0x055e('0x45')]['find']({'where':{'id':_0x1423f4[_0x055e('0xb9')]['id']},'include':[{'model':db[_0x055e('0xd0')],'as':_0x055e('0x71')}]})[_0x055e('0x16')](handleEntityNotFound(_0x31db97,null))[_0x055e('0x16')](saveUpdates(_0x1423f4[_0x055e('0x2f')],null))[_0x055e('0x16')](respondWithResult(_0x31db97,null))[_0x055e('0xb7')](handleError(_0x31db97,null));};exports[_0x055e('0xd1')]=function(_0x2b3b85,_0xb88a07){if(_0x2b3b85['body']['id']){delete _0x2b3b85['body']['id'];}return db[_0x055e('0x45')][_0x055e('0x6c')]({'where':{'id':_0x2b3b85[_0x055e('0xb9')]['id']}})[_0x055e('0x16')](function(_0x2704a1){if(!_0x2704a1){logger[_0x055e('0x1c')]('abandonInteraction,\x20%s,\x20%s,\x20%s',_0x055e('0xd1'),0x194,_0x055e('0xd2'));_0xb88a07[_0x055e('0x20')](0x194);}else{if(_0x2704a1[_0x055e('0x41')]){throw new db[(_0x055e('0x94'))][(_0x055e('0xca'))](_0x055e('0xd3'));}}return _0x2704a1;})[_0x055e('0x16')](function(_0x4900bc){if(_0x4900bc){return _0x4900bc[_0x055e('0x29')]({'closed':_0x2b3b85[_0x055e('0x2f')]['closed'],'disposition':_0x2b3b85[_0x055e('0x2f')][_0x055e('0x42')]})['then'](function(_0x2a3726){return _0x2a3726;});}})[_0x055e('0x16')](function(){return respondWithRpcPromise(_0x055e('0xd4'),'abandon',_0x2b3b85[_0x055e('0x2f')],client9004);})['then'](respondWithResult(_0xb88a07,null))['catch'](handleError(_0xb88a07,null));};exports[_0x055e('0xd5')]=function(_0x400ab5,_0x324439){_0x400ab5[_0x055e('0x2f')][_0x055e('0x2c')]=_0x400ab5[_0x055e('0xd6')][_0x055e('0xd7')];_0x400ab5[_0x055e('0x2f')][_0x055e('0xd8')]=_0x400ab5[_0x055e('0xd6')][_0x055e('0xd9')];_0x400ab5[_0x055e('0x2f')]['type']=_0x400ab5[_0x055e('0xd6')][_0x055e('0xda')];return db[_0x055e('0xdb')][_0x055e('0xbd')](_0x400ab5[_0x055e('0x2f')])[_0x055e('0x16')](respondWithResult(_0x324439,0xc9))[_0x055e('0xb7')](handleError(_0x324439,null));};exports['attachmentDownload']=function(_0xfbb46b,_0x148aae){return db[_0x055e('0x45')][_0x055e('0xbf')]({'where':{'id':_0xfbb46b[_0x055e('0xb9')]['id']},'raw':!![]})[_0x055e('0x16')](handleEntityNotFound(_0x148aae,null))[_0x055e('0x16')](function(_0x36ae94){if(_0x36ae94){if(_0x36ae94[_0x055e('0x40')]){return _0x148aae[_0x055e('0x21')](0x193)['json']({'status':0x193,'message':'Unauthorized'});}return db[_0x055e('0xdb')][_0x055e('0xbf')]({'where':{'id':_0xfbb46b[_0x055e('0x4c')][_0x055e('0xdc')]},'raw':!![]})[_0x055e('0x16')](handleEntityNotFound(_0x148aae,null));}})['then'](function(_0xa60f8e){if(_0xa60f8e){var _0x115d2b=_0xa60f8e[_0x055e('0xdd')]!==null;var _0x1d00ab=path[_0x055e('0xde')](config['root'],_0x055e('0xdf'));if(_0x115d2b){_0x1d00ab=path[_0x055e('0xde')](_0x1d00ab,_0x055e('0xe0'));}var _0x444324=path[_0x055e('0xde')](_0x1d00ab,_0xa60f8e[_0x055e('0xd8')]);return _0x148aae[_0x055e('0xe1')](_0x444324);}})[_0x055e('0xb7')](handleError(_0x148aae,null));};exports[_0x055e('0xe2')]=function(_0x42077b,_0x6aeb60){var _0x5b00e4=null;var _0x2fb64a=null;var _0x4d3029=null;if(_0x42077b[_0x055e('0x2f')]['id']){delete _0x42077b[_0x055e('0x2f')]['id'];}if(_0x42077b['body']['mailTranscript']){_0x4d3029=path['join'](config[_0x055e('0xe3')],_0x055e('0xe4'),util['format'](_0x055e('0xe5'),Date[_0x055e('0xe6')]()));_0x42077b[_0x055e('0x2f')][_0x055e('0xe7')]=_0x4d3029;}return db[_0x055e('0x45')][_0x055e('0x6c')]({'where':{'id':_0x42077b['params']['id']},'include':[{'model':db[_0x055e('0xcd')],'as':_0x055e('0xe8'),'include':[{'model':db['User'],'as':_0x055e('0x7d')}]}]})[_0x055e('0x16')](handleEntityNotFound(_0x6aeb60,null))['then'](saveUpdates(_0x42077b[_0x055e('0x2f')],null))[_0x055e('0x16')](function(_0x49db7a){if(_0x49db7a){_0x5b00e4=_0x49db7a;return db[_0x055e('0xe9')]['find']({'where':{'id':_0x5b00e4[_0x055e('0x81')]}});}})['then'](function(_0xb60055){if(_0xb60055){_0x2fb64a=_0xb60055;return db['CmContact'][_0x055e('0x6c')]({'where':{'id':_0x5b00e4[_0x055e('0xea')]}});}})[_0x055e('0x16')](function(_0x25011f){if(_0x25011f){if(_0x4d3029){var _0xe83c1f=null;for(var _0x3084c7=0x1;_0x3084c7<_0x5b00e4[_0x055e('0xe8')][_0x055e('0x6b')];++_0x3084c7){_0xe83c1f=_0x5b00e4['Messages'][_0x3084c7];var _0x1dc506=_0xe83c1f['UserId']?util['format'](_0x055e('0xeb'),_0x2fb64a['agentAlias'],_0xe83c1f[_0x055e('0x41')]):_0x055e('0xec');var _0x2c4cc6=_0x42077b[_0x055e('0x2f')][_0x055e('0xed')]||util[_0x055e('0xee')](_0x055e('0xeb'),_0x055e('0xef'),_0xe83c1f[_0x055e('0xea')]);switch(_0x2fb64a[_0x055e('0xf0')]){case'website_alias':_0x1dc506=_0xe83c1f[_0x055e('0x41')]?util[_0x055e('0xee')](_0x055e('0xeb'),_0x2fb64a[_0x055e('0xf1')],_0xe83c1f[_0x055e('0x41')]):_0x055e('0xec');break;case _0x055e('0xf2'):_0x1dc506=_0xe83c1f['UserId']?_0xe83c1f[_0x055e('0x7d')][_0x055e('0xf3')]||_0xe83c1f['User']['fullname']:_0x055e('0xec');break;case'agent_fullname':_0x1dc506=_0xe83c1f[_0x055e('0x41')]?_0xe83c1f['User'][_0x055e('0x35')]:'System';break;default:_0x1dc506=_0xe83c1f[_0x055e('0x41')]?util[_0x055e('0xee')](_0x055e('0xeb'),_0x2fb64a['agentAlias'],_0xe83c1f[_0x055e('0x41')]):_0x055e('0xec');}var _0x43038c=util[_0x055e('0xee')](_0x055e('0xf4'),moment(_0xe83c1f[_0x055e('0x84')])[_0x055e('0xee')](_0x055e('0xf5')),_0xe83c1f[_0x055e('0xf6')]==='in'?_0x2c4cc6:_0x1dc506,_0xe83c1f['body']);if(!_0xe83c1f['secret']){fs[_0x055e('0xf7')](_0x4d3029,_0x43038c);}}return db[_0x055e('0xf8')][_0x055e('0xbf')]({'where':{'service':!![]},'include':[{'model':db[_0x055e('0xf9')],'as':'Smtp','raw':!![],'include':[{'model':db[_0x055e('0xfa')],'as':'CloudProvider','raw':!![]}]}]});}}})[_0x055e('0x16')](function(_0x133c5a){if(!_0x133c5a||!_0x133c5a[_0x055e('0xfb')]||!_0x42077b[_0x055e('0x2f')])return _0x5b00e4;var _0x5c9dfb=_0x133c5a[_0x055e('0xfc')]();return respondWithRpcPromise(_0x055e('0xfd'),_0x055e('0xfe'),{'account':_0x5c9dfb,'message':{'from':util[_0x055e('0xee')](_0x055e('0xff'),_0x133c5a[_0x055e('0x2c')],_0x133c5a['email']||_0x133c5a[_0x055e('0xfb')][_0x055e('0x9c')]),'to':_0x42077b[_0x055e('0x2f')][_0x055e('0x100')],'subject':'Mail\x20Transcript','text':util[_0x055e('0xee')]('Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a',_0x42077b['body'][_0x055e('0x100')]),'attachments':[{'path':_0x4d3029}]}})['then'](function(){return _0x5b00e4;})['catch'](function(_0x11025e){logger[_0x055e('0x1c')](_0x11025e);});})['then'](respondWithStatusCode(_0x6aeb60,0xc8))['catch'](handleError(_0x6aeb60,null));};exports[_0x055e('0x101')]=function(_0x1458fc,_0x5be45a){return db[_0x055e('0xcd')][_0x055e('0x6c')]({'where':{'id':_0x1458fc['params']['id']}})[_0x055e('0x16')](handleEntityNotFound(_0x5be45a,null))[_0x055e('0x16')](function(_0x1ac372){if(_0x1ac372){return _0x1ac372[_0x055e('0x101')](_0x1458fc[_0x055e('0x2f')][_0x055e('0x102')],_[_0x055e('0x103')](_0x1458fc['body'],[_0x055e('0x102'),'id'])||{});}})['then'](respondWithResult(_0x5be45a,null))['catch'](handleError(_0x5be45a,null));};exports[_0x055e('0x104')]=function(_0x3168db,_0x293731){var _0x3b58fa={'raw':![],'where':{}};var _0x47bc47={};var _0x5c9091={'count':0x0,'rows':[]};return db[_0x055e('0x45')][_0x055e('0xbf')]({'where':{'id':_0x3168db['params']['id']}})[_0x055e('0x16')](handleEntityNotFound(_0x293731,null))[_0x055e('0x16')](function(_0x5b3e5f){if(_0x5b3e5f){_0x47bc47[_0x055e('0x4a')]=_[_0x055e('0x4b')](db[_0x055e('0xcd')]['rawAttributes']);_0x47bc47['query']=_[_0x055e('0x4b')](_0x3168db['query']);_0x47bc47[_0x055e('0x4d')]=_['intersection'](_0x47bc47['model'],_0x47bc47[_0x055e('0x4c')]);_0x3b58fa[_0x055e('0x4e')]=_[_0x055e('0x4f')](_0x47bc47[_0x055e('0x4a')],qs['fields'](_0x3168db[_0x055e('0x4c')]['fields']));_0x3b58fa['attributes']=_0x3b58fa[_0x055e('0x4e')][_0x055e('0x6b')]?_0x3b58fa[_0x055e('0x4e')]:_0x47bc47[_0x055e('0x4a')];if(!_0x3168db[_0x055e('0x4c')][_0x055e('0x51')]('nolimit')){_0x3b58fa[_0x055e('0x25')]=qs[_0x055e('0x25')](_0x3168db[_0x055e('0x4c')][_0x055e('0x25')]);_0x3b58fa[_0x055e('0x23')]=qs['offset'](_0x3168db[_0x055e('0x4c')]['offset']);}_0x3b58fa['order']=qs[_0x055e('0x54')](_0x3168db['query'][_0x055e('0x54')]);_0x3b58fa[_0x055e('0x55')]=qs[_0x055e('0x4d')](_['pick'](_0x3168db[_0x055e('0x4c')],_0x47bc47[_0x055e('0x4d')]));_0x3b58fa['where'][_0x055e('0xb4')]=_0x5b3e5f['id'];if(_0x3168db[_0x055e('0x4c')][_0x055e('0x8e')]){_0x3b58fa[_0x055e('0x55')]=_[_0x055e('0x2e')](_0x3b58fa[_0x055e('0x55')],{'$or':_[_0x055e('0x34')](_0x3b58fa[_0x055e('0x4e')],function(_0x2a9661){var _0x5e7e2e={};_0x5e7e2e[_0x2a9661]={'$like':'%'+_0x3168db['query']['filter']+'%'};return _0x5e7e2e;})});}if(_0x3168db['query'][_0x055e('0x105')]){var _0x496b08=_0x3168db[_0x055e('0x4c')]['$gte']['split'](',');var _0x366512={};_0x366512[_0x496b08[0x0]]={'$gte':moment(_0x496b08[0x1])[_0x055e('0xee')](_0x055e('0x106'))};_0x3b58fa[_0x055e('0x55')]=_[_0x055e('0x2e')](_0x3b58fa[_0x055e('0x55')],_0x366512);}_0x3b58fa=_['merge']({},_0x3b58fa,_0x3168db['options']);return db[_0x055e('0xcd')][_0x055e('0x26')]({'where':_0x3b58fa[_0x055e('0x55')]})[_0x055e('0x16')](function(_0x56456b){_0x5c9091[_0x055e('0x26')]=_0x56456b;if(_0x3168db[_0x055e('0x4c')][_0x055e('0xba')]){_0x3b58fa[_0x055e('0xbb')]=[{'all':!![]}];}return db[_0x055e('0xcd')][_0x055e('0x107')](_0x3b58fa);})[_0x055e('0x16')](function(_0x5ad564){_0x5c9091[_0x055e('0xb6')]=_0x5ad564;return _0x5c9091;});}})[_0x055e('0x16')](respondWithFilteredResult(_0x293731,_0x3b58fa))[_0x055e('0xb7')](handleError(_0x293731,null));};exports[_0x055e('0x108')]=function(_0x52414e,_0x1b69f8){var _0xdaddd0={'where':{}},_0x5b7239={},_0x456ce6={'count':0x0,'rows':[]};return db['ChatInteraction'][_0x055e('0xbf')]({'where':{'id':_0x52414e[_0x055e('0xb9')]['id']}})['then'](handleEntityNotFound(_0x1b69f8,null))['then'](function(_0x3f6e40){if(_0x3f6e40){_0x5b7239[_0x055e('0x4a')]=_[_0x055e('0x4b')](db[_0x055e('0xcd')]['rawAttributes']);_0x5b7239[_0x055e('0x4c')]=_[_0x055e('0x4b')](_0x52414e['query']);_0x5b7239[_0x055e('0x4d')]=_[_0x055e('0x4f')](_0x5b7239[_0x055e('0x4a')],_0x5b7239[_0x055e('0x4c')]);_0xdaddd0[_0x055e('0x4e')]=_[_0x055e('0x4f')](_0x5b7239[_0x055e('0x4a')],qs['fields'](_0x52414e[_0x055e('0x4c')][_0x055e('0x50')]));_0xdaddd0['attributes']=_0xdaddd0['attributes'][_0x055e('0x6b')]?_0xdaddd0[_0x055e('0x4e')]:_0x5b7239['model'];if(!_0x52414e['query']['hasOwnProperty'](_0x055e('0x52'))){_0xdaddd0[_0x055e('0x25')]=qs[_0x055e('0x25')](_0x52414e[_0x055e('0x4c')]['limit']);_0xdaddd0[_0x055e('0x23')]=qs[_0x055e('0x23')](_0x52414e[_0x055e('0x4c')][_0x055e('0x23')]);}_0xdaddd0[_0x055e('0x53')]=qs[_0x055e('0x54')](_0x52414e[_0x055e('0x4c')][_0x055e('0x54')]);_0xdaddd0[_0x055e('0x55')]=qs[_0x055e('0x4d')](_[_0x055e('0x109')](_0x52414e['query'],_0x5b7239[_0x055e('0x4d')]));_0xdaddd0[_0x055e('0x55')][_0x055e('0xb4')]=_0x3f6e40['id'];if(_0x52414e[_0x055e('0x4c')]['filter']){_0xdaddd0['where']=_['merge'](_0xdaddd0['where'],{'$or':_['map'](_0xdaddd0['attributes'],function(_0x348631){var _0x57d1a6={};_0x57d1a6[_0x348631]={'$like':'%'+_0x52414e['query']['filter']+'%'};return _0x57d1a6;})});}_0xdaddd0['where'][_0x055e('0x10a')]=![];if(_0x52414e['query']['id']){_0xdaddd0[_0x055e('0x55')]['id']={'$gt':_0x52414e['query']['id']};}_0xdaddd0=_[_0x055e('0x2e')]({},_0xdaddd0,_0x52414e['options']);return db[_0x055e('0xcd')]['count']({'where':_0xdaddd0[_0x055e('0x55')]})[_0x055e('0x16')](function(_0x411090){_0x456ce6['count']=_0x411090;_0xdaddd0[_0x055e('0xbb')]=[];if(_0x52414e['query'][_0x055e('0x10b')]){_0xdaddd0[_0x055e('0xbb')][_0x055e('0x3a')]({'model':db[_0x055e('0x7d')],'as':_0x055e('0x7d'),'attributes':['id','fullname',_0x055e('0xf3')]});}if(_0x52414e['query'][_0x055e('0xba')]){_0xdaddd0[_0x055e('0xbb')]=[{'all':!![]}];}return db[_0x055e('0xcd')][_0x055e('0x107')](_0xdaddd0);})['then'](function(_0x597e1d){_0x456ce6[_0x055e('0xb6')]=_0x597e1d;return _0x456ce6;});}})[_0x055e('0x16')](respondWithFilteredResult(_0x1b69f8,_0xdaddd0))[_0x055e('0xb7')](handleError(_0x1b69f8,null));};exports[_0x055e('0x10c')]=function(_0x5c7de1,_0x1f14d1){return db['ChatInteraction'][_0x055e('0x6c')]({'where':{'id':_0x5c7de1[_0x055e('0xb9')]['id']}})[_0x055e('0x16')](handleEntityNotFound(_0x1f14d1,null))[_0x055e('0x16')](function(_0x419b3d){if(_0x419b3d){return _0x419b3d[_0x055e('0x10d')](_0x5c7de1['body'][_0x055e('0x102')],_[_0x055e('0x103')](_0x5c7de1[_0x055e('0x2f')],['ids','id'])||{})[_0x055e('0x10e')](function(){return db[_0x055e('0x7b')][_0x055e('0x107')]({'attributes':['id',_0x055e('0x2c'),'color'],'where':{'id':_0x5c7de1[_0x055e('0x2f')]['ids']}});})[_0x055e('0x16')](function(_0x342b10){socket[_0x055e('0x10f')](_0x055e('0x110'),{'id':Number(_0x5c7de1[_0x055e('0xb9')]['id']),'tags':_0x342b10||[]});return{'id':Number(_0x5c7de1[_0x055e('0xb9')]['id']),'tags':_0x342b10||[]};});}})['then'](respondWithResult(_0x1f14d1,null))[_0x055e('0xb7')](handleError(_0x1f14d1,null));};exports[_0x055e('0x111')]=function(_0x2fdf9b,_0x27e111){return db[_0x055e('0x45')][_0x055e('0x6c')]({'where':{'id':_0x2fdf9b['params']['id']}})[_0x055e('0x16')](handleEntityNotFound(_0x27e111,null))['then'](function(_0x1feb0f){if(_0x1feb0f){return _0x1feb0f[_0x055e('0x111')](_0x2fdf9b[_0x055e('0x4c')]['ids']);}})[_0x055e('0x16')](respondWithStatusCode(_0x27e111,null))[_0x055e('0xb7')](handleError(_0x27e111,null));};exports['download']=function(_0x199b86,_0x4c8dcf){var _0x433494=moment()[_0x055e('0x112')]()[_0x055e('0xa1')]();var _0x2c1052=path[_0x055e('0xde')](config[_0x055e('0xe3')],_0x055e('0x113'),_0x055e('0x114'),_0x055e('0x115'));var _0xebbb8c=path['join'](config[_0x055e('0xe3')],_0x055e('0x113'),_0x055e('0x114'),_0x055e('0x116'));var _0x43cf78=path[_0x055e('0xde')](_0x2c1052,_0x433494);var _0x3b27ba=util[_0x055e('0xee')](_0x055e('0x117'),_0x199b86[_0x055e('0xb9')]['id'],_0x433494);var _0x56cd75=path[_0x055e('0xde')](_0x2c1052,_0x3b27ba);var _0xc967a1=[];_0xc967a1[_0x055e('0x3a')]({'model':db[_0x055e('0x7d')],'as':_0x055e('0x7d'),'attributes':['id',_0x055e('0x35')],'raw':!![]});_0xc967a1[_0x055e('0x3a')]({'model':db['CmContact'],'as':_0x055e('0x71'),'attributes':['id',_0x055e('0x118'),'lastName'],'raw':!![]});if(_0x199b86[_0x055e('0x4c')][_0x055e('0x116')]){_0xc967a1['push']({'model':db[_0x055e('0xdb')],'as':_0x055e('0xdb'),'raw':!![]});}var _0x41313e=[{'model':db[_0x055e('0xcd')],'as':_0x055e('0xe8'),'attributes':['id',_0x055e('0x2f'),_0x055e('0x84'),'direction',_0x055e('0x10a'),_0x055e('0x89')],'include':_0xc967a1}];_0x41313e['push']({'model':db[_0x055e('0xe9')],'as':_0x055e('0x119'),'attributes':['id','name']});_0x41313e[_0x055e('0x3a')]({'model':db[_0x055e('0x7d')],'as':_0x055e('0x11a'),'attributes':['id',_0x055e('0x35')]});return db[_0x055e('0x45')][_0x055e('0x6c')]({'where':{'id':_0x199b86['params']['id']},'include':_0x41313e})['then'](handleEntityNotFound(_0x4c8dcf,null))['then'](function(_0x43b91c){if(_0x43b91c){var _0x26028f=_0x43b91c['get']({'plain':!![]});fs[_0x055e('0x11b')](_0x43cf78);var _0x1167e6={'channel':_0x055e('0x11c'),'account':_0x26028f[_0x055e('0x119')][_0x055e('0x2c')],'agent':_0x26028f[_0x055e('0x11a')]?_0x26028f[_0x055e('0x11a')]['fullname']:'N.A.','createdAt':moment(_0x26028f[_0x055e('0x84')])['format'](_0x055e('0x106'))[_0x055e('0xa1')](),'closedAt':_0x26028f['closed']?moment(_0x26028f['closedAt'])[_0x055e('0xee')](_0x055e('0x106'))['toString']():'','disposition':_0x26028f[_0x055e('0x42')],'chatInfo':{'browser':_0x26028f['browserName'],'os':_0x26028f['osName'],'referer':_0x26028f[_0x055e('0x11d')],'customerIp':_0x26028f[_0x055e('0x11e')],'customerPort':_0x26028f[_0x055e('0x11f')]?_0x26028f[_0x055e('0x11f')]:_0x055e('0x120')},'messages':_(_0x26028f[_0x055e('0xe8')])[_0x055e('0x121')]()[_0x055e('0x8e')]({'secret':![]})['map'](function(_0x45acae){if(_0x45acae[_0x055e('0xdb')]){var _0x1b3fc7=path[_0x055e('0xde')](_0xebbb8c,_0x45acae['Attachment'][_0x055e('0xd8')]);if(fs[_0x055e('0x122')](_0x1b3fc7)){fs[_0x055e('0x123')](_0x1b3fc7)['pipe'](fs[_0x055e('0x124')](path[_0x055e('0xde')](_0x43cf78,_0x45acae[_0x055e('0xdb')]['basename'])));}}return{'date':moment(_0x45acae['createdAt'])[_0x055e('0xee')](_0x055e('0x106'))[_0x055e('0xa1')](),'sender':_0x45acae['direction']===_0x055e('0x125')?_0x45acae[_0x055e('0x7d')]?_0x45acae['User'][_0x055e('0x35')]:_0x055e('0xec'):_0x45acae[_0x055e('0x71')][_0x055e('0x118')]+(_0x45acae[_0x055e('0x71')][_0x055e('0x126')]?'\x20'+_0x45acae[_0x055e('0x71')][_0x055e('0x126')]:''),'body':_0x45acae['Attachment']?_0x45acae[_0x055e('0xdb')][_0x055e('0xd8')]:_0x45acae[_0x055e('0x2f')],'direction':_0x45acae[_0x055e('0xf6')]===_0x055e('0x125')?'A':'C','secret':_0x45acae[_0x055e('0x10a')],'read':_0x45acae[_0x055e('0x89')],'attachment':_0x45acae[_0x055e('0xdb')]};})['value']()};return ejs[_0x055e('0x127')](path['join'](config[_0x055e('0xe3')],_0x055e('0x113'),_0x055e('0x128'),_0x055e('0x129')),{'interaction':_0x1167e6})[_0x055e('0x16')](function(_0x1990c8){var _0x45b0dd=path[_0x055e('0xde')](_0x43cf78,_0x055e('0x12a')+_0x26028f['id']+'-'+_0x433494+_0x055e('0x12b'));var _0x4fac37={'path':_0x45b0dd,'channel':_0x055e('0x11c'),'interactionId':_0x26028f['id']};return pdf['createPdfFromHTML'](_0x1990c8,_0x4fac37);})['then'](function(){return new Promise(function(_0x551a21,_0x365f1c){zipdir(_0x43cf78,{'saveTo':_0x56cd75},function(_0x2bd1a9,_0x2a888e){if(_0x2bd1a9)return _0x365f1c(_0x2bd1a9);return _0x551a21(_0x2a888e);});})[_0x055e('0x16')](function(){return new BPromise(function(_0x3420fc,_0x9b5222){rimraf(_0x43cf78,function(_0xce341b){if(_0xce341b)_0x9b5222(_0xce341b);return _0x3420fc();});});})['then'](function(){return _0x4c8dcf[_0x055e('0xe1')](_0x56cd75,_0x3b27ba,function(_0x8509c7){if(_0x8509c7){logger['error'](_0x055e('0x12c'),_0x8509c7);}else{fs[_0x055e('0x12d')](_0x56cd75);}});});});}else{return _0x4c8dcf[_0x055e('0x20')](0xc8);}})[_0x055e('0xb7')](handleError(_0x4c8dcf,null));};