21887b72cdfd7b6e047ba872d2d550b86c7b6d33
[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 _0xf8af=['a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','groupBy','push','rows','params','includeAll','options','body','describe','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','follow','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','create','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','CmContact','Interaction\x20already\x20assigned','AbandonInteraction','abandon','file','basename','mimetype','closed','Unauthorized','Attachment','ChatOfflineMessageId','root','server/files/attachments/','join','offline-chat/','download','server/files/chat/upload/','transcript-%s.txt','pathTranscript','Messages','%s%d','agentAlias','System','customer','format','website_alias','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','pass','SendMail','sendMail','\x22%s\x22\x20<%s>','email','mailTranscript','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','nolimit','merge','YYYY-MM-DD\x20HH:mm:ss','include','getMyMessages','ChatInteractionId','includeAgent','findAll','spread','emit','removeTags','server','files','tmp','attachments','firstName','lastName','Account','get','Owner','N.A.','closedAt','disposition','browserName','osName','referer','customerIp','customerPort','existsSync','createReadStream','pipe','renderFile','transcript-','.pdf','Chat','createPdfFromHTML','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','util','path','to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','localhost','socket.io-emitter','redis','register','jayson/promise','client','http','request','info','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','error','ChatInteraction,\x20%s,\x20%s','message','result','sendStatus','status','end','json','offset','set','Content-Range','apply','update','then','destroy','stack','name','map','fullname','TagIds','Tags','split','forEach','catch','index','ChatInteraction','rawAttributes','fieldName','type','model','keys','filters','query','attributes','intersection','fields','hasOwnProperty','limit','order','sort','pick','select','field','color','from','tools_tags','u.id','ui.ChatInteractionId','user_has_chat_interactions','users','chat_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','a.id\x20=\x20i.ChatWebsiteId','chat_messages','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','length','find','unreadMessages','value','having','`\x20=\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','Tag','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','start','compact','isEmpty','ChatWebsiteId','where','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20=\x20?','read','`unreadMessages`\x20>\x200','isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','sequelize','count','toString','keyBy'];(function(_0x445e2a,_0x854489){var _0x426e52=function(_0x222e47){while(--_0x222e47){_0x445e2a['push'](_0x445e2a['shift']());}};_0x426e52(++_0x854489);}(_0xf8af,0x1a8));var _0xff8a=function(_0x1cc8fe,_0x105328){_0x1cc8fe=_0x1cc8fe-0x0;var _0x230054=_0xf8af[_0x1cc8fe];return _0x230054;};'use strict';var emlformat=require(_0xff8a('0x0'));var rimraf=require(_0xff8a('0x1'));var zipdir=require(_0xff8a('0x2'));var jsonpatch=require(_0xff8a('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xff8a('0x4'));var Mustache=require('mustache');var util=require(_0xff8a('0x5'));var path=require(_0xff8a('0x6'));var sox=require('sox');var csv=require(_0xff8a('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xff8a('0x8'));var _=require(_0xff8a('0x9'));var squel=require(_0xff8a('0xa'));var crypto=require(_0xff8a('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xff8a('0xc'));var toCsv=require(_0xff8a('0x7'));var querystring=require(_0xff8a('0xd'));var Papa=require(_0xff8a('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xff8a('0xf'));var as=require(_0xff8a('0x10'));var pdf=require(_0xff8a('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xff8a('0x12'))(_0xff8a('0x13'));var utils=require(_0xff8a('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xff8a('0x15'));var db=require(_0xff8a('0x16'))['db'];config['redis']=_[_0xff8a('0x17')](config['redis'],{'host':_0xff8a('0x18'),'port':0x18eb});var socket=require(_0xff8a('0x19'))(new Redis(config[_0xff8a('0x1a')]));require('./chatInteraction.socket')[_0xff8a('0x1b')](socket);var jayson=require(_0xff8a('0x1c'));var client=jayson[_0xff8a('0x1d')][_0xff8a('0x1e')]({'port':0x232b});var client9004=jayson[_0xff8a('0x1d')][_0xff8a('0x1e')]({'port':0x232c});function respondWithRpcPromise(_0x3a1a86,_0x23a6a2,_0x2f5550,_0x2b851b){return new BPromise(function(_0x2d0fbf,_0x2fc053){var _0x556cc9=_0x2b851b||client;return _0x556cc9[_0xff8a('0x1f')](_0x3a1a86,_0x2f5550)['then'](function(_0x388654){logger[_0xff8a('0x20')]('ChatInteraction,\x20%s,\x20%s',_0x23a6a2,_0xff8a('0x21'));logger[_0xff8a('0x22')](_0xff8a('0x23'),_0x23a6a2,_0xff8a('0x21'),JSON['stringify'](_0x388654));if(_0x388654[_0xff8a('0x24')]){if(_0x388654[_0xff8a('0x24')]['code']===0x1f4){logger[_0xff8a('0x24')](_0xff8a('0x25'),_0x23a6a2,_0x388654[_0xff8a('0x24')][_0xff8a('0x26')]);return _0x2fc053(_0x388654[_0xff8a('0x24')][_0xff8a('0x26')]);}logger[_0xff8a('0x24')](_0xff8a('0x25'),_0x23a6a2,_0x388654[_0xff8a('0x24')]['message']);return _0x2d0fbf(_0x388654[_0xff8a('0x24')][_0xff8a('0x26')]);}else{logger[_0xff8a('0x20')](_0xff8a('0x25'),_0x23a6a2,_0xff8a('0x21'));_0x2d0fbf(_0x388654[_0xff8a('0x27')][_0xff8a('0x26')]);}})['catch'](function(_0x3726e4){logger[_0xff8a('0x24')](_0xff8a('0x25'),_0x23a6a2,_0x3726e4);_0x2fc053(_0x3726e4);});});}function respondWithStatusCode(_0x1ba2ca,_0x57058b){_0x57058b=_0x57058b||0xcc;return function(_0x335d16){if(_0x335d16){return _0x1ba2ca[_0xff8a('0x28')](_0x57058b);}return _0x1ba2ca[_0xff8a('0x29')](_0x57058b)[_0xff8a('0x2a')]();};}function respondWithResult(_0x115400,_0x337a15){_0x337a15=_0x337a15||0xc8;return function(_0x2c5fdb){if(_0x2c5fdb){return _0x115400['status'](_0x337a15)[_0xff8a('0x2b')](_0x2c5fdb);}};}function respondWithFilteredResult(_0x1140dd,_0x49f78b){return function(_0x45b28b){if(_0x45b28b){var _0x4f4587=_0x45b28b['count'],_0x921452=_0x49f78b['offset'],_0x46b8ea=_0x49f78b[_0xff8a('0x2c')]+_0x49f78b['limit'],_0x358aff;if(_0x46b8ea>=_0x4f4587){_0x46b8ea=_0x4f4587;_0x358aff=0xc8;}else{_0x358aff=0xce;}_0x1140dd['status'](_0x358aff);return _0x1140dd[_0xff8a('0x2d')](_0xff8a('0x2e'),_0x921452+'-'+_0x46b8ea+'/'+_0x4f4587)['json'](_0x45b28b);}return null;};}function patchUpdates(_0x10829c){return function(_0x4d86bc){try{jsonpatch[_0xff8a('0x2f')](_0x4d86bc,_0x10829c,!![]);}catch(_0x5af64e){return BPromise['reject'](_0x5af64e);}return _0x4d86bc['save']();};}function saveUpdates(_0x457ea2,_0x4ecfa7){return function(_0x3c17cd){if(_0x3c17cd){return _0x3c17cd[_0xff8a('0x30')](_0x457ea2)[_0xff8a('0x31')](function(_0x5a52cf){return _0x5a52cf;});}return null;};}function removeEntity(_0x23d0c7,_0x3e3dd9){return function(_0x18716a){if(_0x18716a){return _0x18716a[_0xff8a('0x32')]()[_0xff8a('0x31')](function(){_0x23d0c7[_0xff8a('0x29')](0xcc)[_0xff8a('0x2a')]();});}};}function handleEntityNotFound(_0x546fb6,_0x56978e){return function(_0x1a1691){if(!_0x1a1691){_0x546fb6['sendStatus'](0x194);}return _0x1a1691;};}function handleError(_0xb60eca,_0x4648ac){_0x4648ac=_0x4648ac||0x1f4;return function(_0x1a4e47){logger['error'](_0x1a4e47[_0xff8a('0x33')]);if(_0x1a4e47[_0xff8a('0x34')]){delete _0x1a4e47['name'];}_0xb60eca[_0xff8a('0x29')](_0x4648ac)['send'](_0x1a4e47);};}function getInteractionUsers(_0x31bce5,_0x4059db){return new BPromise(function(_0x4d60bc,_0x30a57d){try{if(_0x4059db[_0x31bce5['id']]){_0x31bce5['Users']=_[_0xff8a('0x35')](_0x4059db[_0x31bce5['id']],function(_0x576cee){return{'id':_0x576cee['id'],'fullname':_0x576cee[_0xff8a('0x36')]};});}}catch(_0x53f851){_0x30a57d(_0x53f851);}_0x4d60bc(_0x31bce5);});}function getInteractionTags(_0x3a3e77,_0x3b442e){return new BPromise(function(_0x233929,_0x186122){try{if(_0x3a3e77[_0xff8a('0x37')]){_0x3a3e77[_0xff8a('0x38')]=[];_0x3a3e77[_0xff8a('0x37')][_0xff8a('0x39')](',')[_0xff8a('0x3a')](function(_0x55ab2e){_0x3a3e77['Tags']['push'](_0x3b442e[_0x55ab2e]);});}delete _0x3a3e77[_0xff8a('0x37')];}catch(_0x34dc78){_0x186122(_0x34dc78);}_0x233929(_0x3a3e77);});}function updateChatInteraction(_0x2b5fe0,_0x27b443,_0x33da37){return new BPromise(function(_0x52fbe4,_0x2b3f33){return getInteractionUsers(_0x2b5fe0,_0x33da37)['then'](function(_0x457310){return getInteractionTags(_0x457310,_0x27b443);})['then'](function(_0x2dba24){_0x52fbe4(_0x2dba24);})[_0xff8a('0x3b')](function(_0x1931db){_0x2b3f33(_0x1931db);});});}exports[_0xff8a('0x3c')]=function(_0x2d8fbb,_0x152094){var _0x152360={},_0x38610c={},_0x249995={'count':0x0,'rows':[]};var _0x2d94c4=_[_0xff8a('0x35')](db[_0xff8a('0x3d')][_0xff8a('0x3e')],function(_0x517c75){return{'name':_0x517c75[_0xff8a('0x3f')],'type':_0x517c75[_0xff8a('0x40')]['key']};});_0x38610c[_0xff8a('0x41')]=_[_0xff8a('0x35')](_0x2d94c4,_0xff8a('0x34'));_0x38610c['query']=_[_0xff8a('0x42')](_0x2d8fbb['query']);_0x38610c[_0xff8a('0x43')]=_['intersection'](_0x38610c[_0xff8a('0x41')],_0x38610c[_0xff8a('0x44')]);_0x152360[_0xff8a('0x45')]=_[_0xff8a('0x46')](_0x38610c[_0xff8a('0x41')],qs['fields'](_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x47')]));_0x152360[_0xff8a('0x45')]=_0x152360[_0xff8a('0x45')]['length']?_0x152360['attributes']:_0x38610c['model'];if(!_0x2d8fbb['query'][_0xff8a('0x48')]('nolimit')){_0x152360[_0xff8a('0x49')]=qs['limit'](_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x49')]);_0x152360[_0xff8a('0x2c')]=qs[_0xff8a('0x2c')](_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x2c')]);}_0x152360[_0xff8a('0x4a')]=qs[_0xff8a('0x4b')](_0x2d8fbb[_0xff8a('0x44')]['sort']);_0x152360['where']=qs['filters'](_[_0xff8a('0x4c')](_0x2d8fbb[_0xff8a('0x44')],_0x38610c[_0xff8a('0x43')]),_0x2d94c4);var _0x23f9cf=[];var _0x4419dd=squel[_0xff8a('0x4d')]()['field']('id')[_0xff8a('0x4e')](_0xff8a('0x34'))[_0xff8a('0x4e')](_0xff8a('0x4f'))[_0xff8a('0x50')](_0xff8a('0x51'));var _0x1624a9=squel[_0xff8a('0x4d')]()[_0xff8a('0x4e')](_0xff8a('0x52'))[_0xff8a('0x4e')]('u.fullname')['field'](_0xff8a('0x53'))['from'](_0xff8a('0x54'),'ui')['left_join'](_0xff8a('0x55'),'u','u.id\x20=\x20ui.UserId');var _0x13b6fd=squel[_0xff8a('0x4d')]()['from'](_0xff8a('0x56'),'i')[_0xff8a('0x57')](_0xff8a('0x58'),'c',_0xff8a('0x59'))[_0xff8a('0x57')]('users','o','o.id\x20=\x20i.UserId')['left_join']('chat_websites','a',_0xff8a('0x5a'))[_0xff8a('0x57')](_0xff8a('0x5b'),'me','me.ChatInteractionId\x20=\x20i.id')[_0xff8a('0x57')]('chat_interaction_has_tags','it',_0xff8a('0x5c'))[_0xff8a('0x57')](_0xff8a('0x51'),'t',_0xff8a('0x5d'));var _0x27c098=squel[_0xff8a('0x5e')]();var _0x3d2ba7=[];var _0x3cc908=squel[_0xff8a('0x5e')]();var _0x4be3e4;if(_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x5f')]){_0x4be3e4=as[_0xff8a('0x60')](_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x5f')]);var _0x1b2f1a=_0x4be3e4[_0xff8a('0x61')];for(var _0x12d8a4=0x0;_0x12d8a4<_0x4be3e4[_0xff8a('0x62')][_0xff8a('0x63')];_0x12d8a4++){var _0x4a68fb=_0x4be3e4[_0xff8a('0x62')][_0x12d8a4];var _0x50d08b='i';var _0x4f538e=_[_0xff8a('0x64')](_0x2d94c4,[_0xff8a('0x34'),_0x4a68fb['field']]);if(!_0x4f538e){switch(_0x4a68fb[_0xff8a('0x4e')]){case _0xff8a('0x65'):if(_0x4a68fb[_0xff8a('0x66')]==0x1){_0x13b6fd[_0xff8a('0x67')]('`'+_0x4a68fb['field']+_0xff8a('0x68'));}else{_0x13b6fd[_0xff8a('0x67')]('`'+_0x4a68fb[_0xff8a('0x4e')]+'`\x20>\x200');}break;case _0xff8a('0x69'):if(_0x4a68fb[_0xff8a('0x6a')]===_0xff8a('0x6b')){if(_0x4a68fb['value']['split']('\x20')['length']>0x1){_0x27c098[_0x1b2f1a](_0xff8a('0x6c'),qs[_0xff8a('0x6d')](_0x4a68fb[_0xff8a('0x66')]),null);}else{var _0x35587b='%'+_0x4a68fb[_0xff8a('0x66')]+'%';_0x27c098[_0x1b2f1a](_0xff8a('0x6e'),_0x35587b,_0x35587b,_0x35587b);}}else{_0x4f538e=_['find'](_0x2d94c4,['name','ContactId']);_0x4a68fb['field']=_0xff8a('0x6f');_0x3c0960=as[_0xff8a('0x70')](_0x50d08b,_0x4f538e['type'],_0x4a68fb);_0x27c098[_0x1b2f1a](_0x3c0960[_0xff8a('0x71')],_0x3c0960['value']['start'],_0x3c0960[_0xff8a('0x66')][_0xff8a('0x2a')]);}break;case _0xff8a('0x72'):var _0x423a91=_0x4a68fb[_0xff8a('0x66')][_0xff8a('0x39')](',')[_0xff8a('0x35')](function(_0x5be34c){return Number(_0x5be34c);});_0x423a91['forEach'](function(_0x1343af){_0x3cc908['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x1343af+',%');});_0x3d2ba7=_['union'](_0x3d2ba7,_0x423a91);break;case _0xff8a('0x73'):if(_0x4a68fb[_0xff8a('0x6a')]===_0xff8a('0x6b')){_0x27c098[_0x1b2f1a](_0xff8a('0x74'),'%'+_0x4a68fb[_0xff8a('0x66')]+'%',null);}else{_0x4f538e=_[_0xff8a('0x64')](_0x2d94c4,[_0xff8a('0x34'),_0xff8a('0x75')]);_0x4a68fb[_0xff8a('0x4e')]=_0xff8a('0x75');_0x3c0960=as[_0xff8a('0x70')](_0x50d08b,_0x4f538e[_0xff8a('0x40')],_0x4a68fb);_0x27c098[_0x1b2f1a](_0x3c0960[_0xff8a('0x71')],_0x3c0960[_0xff8a('0x66')][_0xff8a('0x76')],_0x3c0960[_0xff8a('0x66')][_0xff8a('0x2a')]);}break;case'body':_0x3c0960=as[_0xff8a('0x70')]('me',null,_0x4a68fb);_0x27c098[_0x1b2f1a](_0x3c0960[_0xff8a('0x71')],_0x3c0960[_0xff8a('0x66')][_0xff8a('0x76')],_0x3c0960['value'][_0xff8a('0x2a')]);break;}}else{var _0x3c0960=as[_0xff8a('0x70')](_0x50d08b,_0x4f538e[_0xff8a('0x40')],_0x4a68fb);_0x27c098[_0x1b2f1a](_0x3c0960[_0xff8a('0x71')],_0x3c0960['value']['start'],_0x3c0960[_0xff8a('0x66')][_0xff8a('0x2a')]);}}}else{var _0x351124=_(_0x2d8fbb[_0xff8a('0x44')])['keys']()[_0xff8a('0x35')](function(_0x282029){return _['some'](_0x2d94c4,[_0xff8a('0x34'),_0x282029])?_0x282029:undefined;})[_0xff8a('0x77')]()['value']();if(!_[_0xff8a('0x78')](_0x351124)){_0x351124[_0xff8a('0x3a')](function(_0x59072a){if(_0x59072a===_0xff8a('0x79')){_0x13b6fd[_0xff8a('0x7a')](_0xff8a('0x7b'),[][_0xff8a('0x7c')](_0x2d8fbb[_0xff8a('0x44')][_0x59072a]));}else if(_0x59072a===_0xff8a('0x7d')){var _0xfc1c6=JSON[_0xff8a('0x7e')](_0x2d8fbb[_0xff8a('0x44')][_0x59072a])[_0xff8a('0x7f')];var _0x3cdedf=JSON[_0xff8a('0x7e')](_0x2d8fbb['query'][_0x59072a])[_0xff8a('0x80')];_0x13b6fd[_0xff8a('0x7a')](_0xff8a('0x81'),_0xfc1c6,_0x3cdedf);}else{if(_0x2d8fbb[_0xff8a('0x44')][_0x59072a]==='null'){_0x13b6fd[_0xff8a('0x7a')]('i.'+_0x59072a+'\x20IS\x20NULL');}else{_0x13b6fd[_0xff8a('0x7a')]('i.'+_0x59072a+_0xff8a('0x82'),_0x2d8fbb[_0xff8a('0x44')][_0x59072a]);}}});}if(_0x2d8fbb['query'][_0xff8a('0x83')]){if(_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x83')]==0x1){_0x13b6fd[_0xff8a('0x67')]('`unreadMessages`\x20=\x200');}else{_0x13b6fd[_0xff8a('0x67')](_0xff8a('0x84'));}}if(_0x2d8fbb[_0xff8a('0x44')]['tag']){_0x3d2ba7=_[_0xff8a('0x85')](_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x86')])?_0x2d8fbb['query'][_0xff8a('0x86')]:new Array(_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x86')]);_0x3d2ba7['forEach'](function(_0x25038b){_0x3cc908['or'](_0xff8a('0x87'),'%,'+_0x25038b+',%');});}if(_0x2d8fbb[_0xff8a('0x44')]['filter']){var _0x1d4ec4=_0x2d8fbb['query'][_0xff8a('0x88')][_0xff8a('0x89')]('\x5c','\x5c\x5c')[_0xff8a('0x89')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x1d4ec4)){_0x27c098['or'](_0xff8a('0x8a'),_0x1d4ec4+'%');}else{_0x27c098['or'](_0xff8a('0x8b'),qs[_0xff8a('0x6d')](_0x1d4ec4))['or'](_0xff8a('0x8c'),_0x1d4ec4+'%');}}}_0x13b6fd[_0xff8a('0x7a')](_0x27c098);_0x13b6fd[_0xff8a('0x8d')](_0xff8a('0x8e'));var _0x1dfb5a={'type':db[_0xff8a('0x8f')][_0xff8a('0x90')]['SELECT'],'raw':!![]};var _0x547080=_0x13b6fd['clone']();_0x547080[_0xff8a('0x4e')]('i.id');_0x547080[_0xff8a('0x4e')](_0xff8a('0x91'),_0xff8a('0x65'));if(_0x152360['order']){_0x152360[_0xff8a('0x4a')]['forEach'](function(_0x10dcf3){var _0x1ed66a=_0x10dcf3[0x0]===_0xff8a('0x92')?_0x10dcf3[0x0]:'i.'+_0x10dcf3[0x0];_0x13b6fd['order'](_0x1ed66a,_0x10dcf3[0x1]==='DESC'?![]:!![]);});}if(!_[_0xff8a('0x78')](_0x3d2ba7)){_0x13b6fd[_0xff8a('0x67')](_0x3cc908);_0x547080['where']('t.id\x20IN\x20?',_0x3d2ba7);}BPromise['resolve']()[_0xff8a('0x31')](function(){if(!_0x4be3e4){if(_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x79')])return;_0x547080[_0xff8a('0x7a')](_0xff8a('0x93'));_0x13b6fd[_0xff8a('0x7a')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}if(_0x2d8fbb[_0xff8a('0x94')][_0xff8a('0x95')]!=='agent')return;return _0x2d8fbb[_0xff8a('0x94')][_0xff8a('0x96')]({'attributes':['id'],'raw':!![]})[_0xff8a('0x31')](function(_0x21d82f){if(_['isEmpty'](_0x21d82f)){_0x547080[_0xff8a('0x7a')](_0xff8a('0x97'));_0x13b6fd[_0xff8a('0x7a')](_0xff8a('0x97'));}else{_0x547080[_0xff8a('0x7a')]('i.ChatWebsiteId\x20IN\x20?',_[_0xff8a('0x35')](_0x21d82f,'id'));_0x13b6fd[_0xff8a('0x7a')](_0xff8a('0x7b'),_[_0xff8a('0x35')](_0x21d82f,'id'));}});})[_0xff8a('0x31')](function(){if(_0x2d8fbb[_0xff8a('0x94')]['role']==='agent'&&!_0x4be3e4&&!_0x2d8fbb[_0xff8a('0x44')][_0xff8a('0x79')])return[];return db[_0xff8a('0x98')]['query'](_0x547080['toString'](),_0x1dfb5a);})[_0xff8a('0x31')](function(_0x813e53){_0x249995[_0xff8a('0x99')]=_0x813e53[_0xff8a('0x63')];if(_0x249995[_0xff8a('0x99')]===0x0)return[];return db['sequelize'][_0xff8a('0x44')](_0x4419dd[_0xff8a('0x9a')](),_0x1dfb5a)[_0xff8a('0x31')](function(_0x542aa7){_0x23f9cf=_[_0xff8a('0x9b')](_0x542aa7,'id');_0x1dfb5a=_['merge'](_0x1dfb5a,{'model':db[_0xff8a('0x3d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2d8fbb['query'][_0xff8a('0x47')]){_0x152360['attributes'][_0xff8a('0x3a')](function(_0x1a730f){_0x13b6fd[_0xff8a('0x4e')]('i.'+_0x1a730f);});}else{_0x13b6fd['field'](_0xff8a('0x91'),_0xff8a('0x65'));_0x13b6fd[_0xff8a('0x4e')](_0xff8a('0x9c'),_0xff8a('0x9d'));_0x13b6fd[_0xff8a('0x4e')](_0xff8a('0x9e'),_0xff8a('0x9f'));_0x13b6fd['field']('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');_0x13b6fd['field'](_0xff8a('0xa0'));_0x13b6fd[_0xff8a('0x4e')](_0xff8a('0xa1'),_0xff8a('0xa2'));_0x13b6fd['field'](_0xff8a('0xa3'),_0xff8a('0xa4'));_0x13b6fd[_0xff8a('0x4e')](_0xff8a('0xa5'),'Contact.email');_0x13b6fd[_0xff8a('0x4e')](_0xff8a('0xa6'),_0xff8a('0xa7'));_0x13b6fd[_0xff8a('0x4e')](_0xff8a('0xa8'),'Contact.mobile');_0x13b6fd['field'](_0xff8a('0xa9'),_0xff8a('0xaa'));_0x13b6fd[_0xff8a('0x4e')](_0xff8a('0xab'),_0xff8a('0xac'));_0x13b6fd[_0xff8a('0x4e')](_0xff8a('0xad'),'Owner.internal');_0x13b6fd[_0xff8a('0x4e')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0xff8a('0x37'));}if(_0x152360['limit'])_0x13b6fd['limit'](_0x152360[_0xff8a('0x49')]);if(_0x152360[_0xff8a('0x2c')])_0x13b6fd[_0xff8a('0x2c')](_0x152360[_0xff8a('0x2c')]);return db[_0xff8a('0x98')][_0xff8a('0x44')](_0x13b6fd[_0xff8a('0x9a')](),_0x1dfb5a);})[_0xff8a('0x31')](function(_0x3153bb){_0x1624a9[_0xff8a('0x7a')]('ui.ChatInteractionId\x20IN\x20?',_[_0xff8a('0x35')](_0x3153bb,'id'));return db[_0xff8a('0x98')][_0xff8a('0x44')](_0x1624a9[_0xff8a('0x9a')](),_0x1dfb5a)[_0xff8a('0x31')](function(_0x2c600a){var _0x32ab41=_[_0xff8a('0xae')](_0x2c600a,'ChatInteractionId');var _0x2655bd=[];_0x3153bb['forEach'](function(_0x5c0809){_0x2655bd[_0xff8a('0xaf')](updateChatInteraction(_0x5c0809,_0x23f9cf,_0x32ab41));});return BPromise['all'](_0x2655bd);});});})[_0xff8a('0x31')](function(_0xa3e428){_0x249995[_0xff8a('0xb0')]=_0xa3e428;return _0x249995;})[_0xff8a('0x31')](respondWithFilteredResult(_0x152094,_0x152360))[_0xff8a('0x3b')](handleError(_0x152094,null));};exports['show']=function(_0x1ee377,_0x2917a8){var _0x1e30a9={'raw':![],'where':{'id':_0x1ee377[_0xff8a('0xb1')]['id']}},_0x34fb70={};_0x34fb70['model']=_['keys'](db['ChatInteraction'][_0xff8a('0x3e')]);_0x34fb70['query']=_[_0xff8a('0x42')](_0x1ee377['query']);_0x34fb70[_0xff8a('0x43')]=_[_0xff8a('0x46')](_0x34fb70['model'],_0x34fb70[_0xff8a('0x44')]);_0x1e30a9['attributes']=_[_0xff8a('0x46')](_0x34fb70[_0xff8a('0x41')],qs[_0xff8a('0x47')](_0x1ee377['query'][_0xff8a('0x47')]));_0x1e30a9['attributes']=_0x1e30a9[_0xff8a('0x45')][_0xff8a('0x63')]?_0x1e30a9[_0xff8a('0x45')]:_0x34fb70[_0xff8a('0x41')];if(_0x1ee377[_0xff8a('0x44')][_0xff8a('0xb2')]){_0x1e30a9['include']=[{'all':!![]}];}_0x1e30a9=_['merge']({},_0x1e30a9,_0x1ee377[_0xff8a('0xb3')]);return db[_0xff8a('0x3d')]['find'](_0x1e30a9)[_0xff8a('0x31')](handleEntityNotFound(_0x2917a8,null))[_0xff8a('0x31')](respondWithResult(_0x2917a8,null))[_0xff8a('0x3b')](handleError(_0x2917a8,null));};exports['create']=function(_0x2d3c51,_0x23c4cb){return db['ChatInteraction']['create'](_0x2d3c51['body'],{})[_0xff8a('0x31')](respondWithResult(_0x23c4cb,0xc9))[_0xff8a('0x3b')](handleError(_0x23c4cb,null));};exports[_0xff8a('0x30')]=function(_0x4fcbe2,_0x589c90){if(_0x4fcbe2[_0xff8a('0xb4')]['id']){delete _0x4fcbe2[_0xff8a('0xb4')]['id'];}return db[_0xff8a('0x3d')][_0xff8a('0x64')]({'where':{'id':_0x4fcbe2['params']['id']}})['then'](handleEntityNotFound(_0x589c90,null))[_0xff8a('0x31')](saveUpdates(_0x4fcbe2[_0xff8a('0xb4')],null))[_0xff8a('0x31')](respondWithResult(_0x589c90,null))['catch'](handleError(_0x589c90,null));};exports[_0xff8a('0x32')]=function(_0xf9bd16,_0x87a0ba){return db[_0xff8a('0x3d')][_0xff8a('0x64')]({'where':{'id':_0xf9bd16[_0xff8a('0xb1')]['id']}})[_0xff8a('0x31')](handleEntityNotFound(_0x87a0ba,null))['then'](removeEntity(_0x87a0ba,null))[_0xff8a('0x3b')](handleError(_0x87a0ba,null));};exports[_0xff8a('0xb5')]=function(_0x37faea,_0x58f187){return db[_0xff8a('0x3d')]['describe']()['then'](respondWithResult(_0x58f187,null))['catch'](handleError(_0x58f187,null));};exports['createVidaooSession']=function(_0x43ede4,_0x4251af){var _0x46a633=_0x43ede4[_0xff8a('0xb1')]['id'];var _0x2705b8;var _0x53de9a;var _0x464e5c;return db['ChatInteraction'][_0xff8a('0xb6')]({'where':{'id':_0x46a633}})[_0xff8a('0x31')](function(_0x56daa0){_0x2705b8=_0x56daa0;return db[_0xff8a('0xb7')]['findOne']({'where':{'id':_0x56daa0[_0xff8a('0x79')]},'attributes':['id',_0xff8a('0xb8'),_0xff8a('0xb9')],'raw':!![]});})[_0xff8a('0x31')](function(_0x4f2dc2){if(_0x4f2dc2&&_0x4f2dc2[_0xff8a('0xb8')]&&_0x4f2dc2['vidaooEscalation']){_0x53de9a=_0x4f2dc2;var _0x50629a={'rejectUnauthorized':![],'method':_0xff8a('0xba'),'uri':_0xff8a('0xbb'),'headers':{'X-APIKEY':_0x4f2dc2[_0xff8a('0xb8')]},'body':{'name':'MotionCWB:'+_0x46a633},'redirect':_0xff8a('0xbc'),'json':!![]};return rp(_0x50629a);}else{throw new db[(_0xff8a('0x8f'))][(_0xff8a('0xbd'))](_0xff8a('0xbe'));}})[_0xff8a('0x31')](function(_0x34b508){_0x464e5c=_0x34b508;if(_0x464e5c['id']){var _0x3aded7={'body':_0x464e5c[_0xff8a('0xbf')],'ChatWebsiteId':_0x53de9a['id'],'ChatInteractionId':_0x2705b8['id'],'direction':_0xff8a('0xc0'),'UserId':_0x43ede4[_0xff8a('0x94')]['id']};return db[_0xff8a('0xc1')][_0xff8a('0xc2')](_0x3aded7,{});}else{throw new db['Sequelize']['ValidationError'](_0xff8a('0xc3'));}})[_0xff8a('0x31')](function(){return _0x2705b8[_0xff8a('0xc4')]({'vidaooSessionId':_0x464e5c['id']});})[_0xff8a('0x31')](respondWithResult(_0x4251af,null))['catch'](handleError(_0x4251af,null));};exports[_0xff8a('0xc5')]=function(_0x3ec366,_0x29b2c8){if(_0x3ec366[_0xff8a('0xb4')]['id']){delete _0x3ec366[_0xff8a('0xb4')]['id'];}return db['ChatInteraction']['find']({'where':{'id':_0x3ec366[_0xff8a('0xb1')]['id']},'include':[{'model':db[_0xff8a('0xc6')],'as':_0xff8a('0x69')}]})[_0xff8a('0x31')](handleEntityNotFound(_0x29b2c8,null))[_0xff8a('0x31')](saveUpdates(_0x3ec366[_0xff8a('0xb4')],null))[_0xff8a('0x31')](respondWithResult(_0x29b2c8,null))[_0xff8a('0x3b')](handleError(_0x29b2c8,null));};exports['abandon']=function(_0x502a69,_0x186651,_0x394f68){if(_0x502a69[_0xff8a('0xb4')]['id']){delete _0x502a69[_0xff8a('0xb4')]['id'];}return db[_0xff8a('0x3d')][_0xff8a('0x64')]({'where':{'id':_0x502a69[_0xff8a('0xb1')]['id']}})[_0xff8a('0x31')](function(_0x403669){if(!_0x403669){logger[_0xff8a('0x24')]('abandonInteraction,\x20%s,\x20%s,\x20%s','abandon',0x194,'entity\x20not\x20found');_0x186651[_0xff8a('0x28')](0x194);}else{if(_0x403669[_0xff8a('0x75')]){throw new db[(_0xff8a('0x8f'))]['ValidationError'](_0xff8a('0xc7'));}}return _0x403669;})['then'](function(_0x5e7830){if(_0x5e7830){return _0x5e7830[_0xff8a('0x30')]({'closed':_0x502a69[_0xff8a('0xb4')]['closed'],'disposition':_0x502a69[_0xff8a('0xb4')]['disposition']})[_0xff8a('0x31')](function(_0x573823){return _0x573823;});}})[_0xff8a('0x31')](function(_0x2988dc){return respondWithRpcPromise(_0xff8a('0xc8'),_0xff8a('0xc9'),_0x502a69[_0xff8a('0xb4')],client9004);})['then'](respondWithResult(_0x186651,null))['catch'](handleError(_0x186651,null));};exports['attachmentUpload']=function(_0x126ef1,_0x3946f2,_0x3a7560){_0x126ef1[_0xff8a('0xb4')]['name']=_0x126ef1[_0xff8a('0xca')]['originalname'];_0x126ef1[_0xff8a('0xb4')][_0xff8a('0xcb')]=_0x126ef1[_0xff8a('0xca')]['filename'];_0x126ef1['body']['type']=_0x126ef1[_0xff8a('0xca')][_0xff8a('0xcc')];return db['Attachment'][_0xff8a('0xc2')](_0x126ef1[_0xff8a('0xb4')])['then'](respondWithResult(_0x3946f2,0xc9))[_0xff8a('0x3b')](handleError(_0x3946f2,null));};exports['attachmentDownload']=function(_0x352045,_0x470993,_0x53a0f9){return db[_0xff8a('0x3d')][_0xff8a('0xb6')]({'where':{'id':_0x352045[_0xff8a('0xb1')]['id']},'raw':!![]})[_0xff8a('0x31')](handleEntityNotFound(_0x470993,null))[_0xff8a('0x31')](function(_0x2c4d94){if(_0x2c4d94){if(_0x2c4d94[_0xff8a('0xcd')]){return _0x470993[_0xff8a('0x29')](0x193)[_0xff8a('0x2b')]({'status':0x193,'message':_0xff8a('0xce')});}return db[_0xff8a('0xcf')][_0xff8a('0xb6')]({'where':{'id':_0x352045[_0xff8a('0x44')]['attachId']},'raw':!![]})['then'](handleEntityNotFound(_0x470993,null));}})[_0xff8a('0x31')](function(_0x164968){if(_0x164968){var _0x494b70=_0x164968[_0xff8a('0xd0')]!==null;var _0x2626d3=path['join'](config[_0xff8a('0xd1')],_0xff8a('0xd2'));if(_0x494b70){_0x2626d3=path[_0xff8a('0xd3')](_0x2626d3,_0xff8a('0xd4'));}var _0x4723d8=path[_0xff8a('0xd3')](_0x2626d3,_0x164968['basename']);return _0x470993[_0xff8a('0xd5')](_0x4723d8);}})[_0xff8a('0x3b')](handleError(_0x470993,null));};exports['close']=function(_0x2dbdb9,_0x34318e){var _0x56246d=null;var _0x5d5861=null;var _0xbf08e5=null;var _0x34f55e=null;if(_0x2dbdb9[_0xff8a('0xb4')]['id']){delete _0x2dbdb9['body']['id'];}if(_0x2dbdb9[_0xff8a('0xb4')]['mailTranscript']){_0x34f55e=path[_0xff8a('0xd3')](config[_0xff8a('0xd1')],_0xff8a('0xd6'),util['format'](_0xff8a('0xd7'),Date['now']()));_0x2dbdb9[_0xff8a('0xb4')][_0xff8a('0xd8')]=_0x34f55e;}return db[_0xff8a('0x3d')][_0xff8a('0x64')]({'where':{'id':_0x2dbdb9[_0xff8a('0xb1')]['id']},'include':[{'model':db['ChatMessage'],'as':_0xff8a('0xd9'),'include':[{'model':db[_0xff8a('0x73')],'as':_0xff8a('0x73')}]}]})[_0xff8a('0x31')](handleEntityNotFound(_0x34318e,null))['then'](saveUpdates(_0x2dbdb9['body'],null))[_0xff8a('0x31')](function(_0x5bb22b){if(_0x5bb22b){_0x56246d=_0x5bb22b;return db[_0xff8a('0xb7')][_0xff8a('0x64')]({'where':{'id':_0x56246d[_0xff8a('0x79')]}});}})[_0xff8a('0x31')](function(_0x42a5a2){if(_0x42a5a2){_0xbf08e5=_0x42a5a2;return db[_0xff8a('0xc6')][_0xff8a('0x64')]({'where':{'id':_0x56246d[_0xff8a('0x6f')]}});}})[_0xff8a('0x31')](function(_0x29fc56){if(_0x29fc56){_0x5d5861=_0x29fc56;if(_0x34f55e){var _0x3bd74e=null;for(var _0x4a689c=0x1;_0x4a689c<_0x56246d[_0xff8a('0xd9')][_0xff8a('0x63')];++_0x4a689c){_0x3bd74e=_0x56246d[_0xff8a('0xd9')][_0x4a689c];var _0x4dacca=_0x3bd74e[_0xff8a('0x75')]?util['format'](_0xff8a('0xda'),_0xbf08e5[_0xff8a('0xdb')],_0x3bd74e['UserId']):_0xff8a('0xdc');var _0x476515=_0x2dbdb9[_0xff8a('0xb4')][_0xff8a('0xdd')]||util[_0xff8a('0xde')]('%s%d','Visitor',_0x3bd74e[_0xff8a('0x6f')]);switch(_0xbf08e5['agentIdentifier']){case _0xff8a('0xdf'):_0x4dacca=_0x3bd74e['UserId']?util[_0xff8a('0xde')](_0xff8a('0xda'),_0xbf08e5[_0xff8a('0xdb')],_0x3bd74e['UserId']):_0xff8a('0xdc');break;case _0xff8a('0xe0'):_0x4dacca=_0x3bd74e[_0xff8a('0x75')]?_0x3bd74e[_0xff8a('0x73')][_0xff8a('0xe1')]||_0x3bd74e[_0xff8a('0x73')][_0xff8a('0x36')]:_0xff8a('0xdc');break;case _0xff8a('0xe2'):_0x4dacca=_0x3bd74e['UserId']?_0x3bd74e[_0xff8a('0x73')]['fullname']:'System';break;default:_0x4dacca=_0x3bd74e[_0xff8a('0x75')]?util['format']('%s%d',_0xbf08e5['agentAlias'],_0x3bd74e[_0xff8a('0x75')]):_0xff8a('0xdc');}var _0x3d0298=util['format'](_0xff8a('0xe3'),moment(_0x3bd74e['createdAt'])[_0xff8a('0xde')](_0xff8a('0xe4')),_0x3bd74e[_0xff8a('0xe5')]==='in'?_0x476515:_0x4dacca,_0x3bd74e['body']);if(!_0x3bd74e[_0xff8a('0xe6')]){fs[_0xff8a('0xe7')](_0x34f55e,_0x3d0298);}}return db[_0xff8a('0xe8')][_0xff8a('0xb6')]({'where':{'service':!![]},'include':[{'model':db[_0xff8a('0xe9')],'as':_0xff8a('0xea'),'raw':!![]}]});}}})[_0xff8a('0x31')](function(_0x401c81){if(_0x401c81&&_0x401c81['Smtp']&&_0x2dbdb9[_0xff8a('0xb4')]){var _0x2341c1={'tls':{'rejectUnauthorized':![]}};if(_0x401c81[_0xff8a('0xea')][_0xff8a('0xeb')]){_0x2341c1['service']=_0x401c81[_0xff8a('0xea')][_0xff8a('0xeb')];}else{_0x2341c1[_0xff8a('0xec')]=_0x401c81[_0xff8a('0xea')][_0xff8a('0xec')];_0x2341c1[_0xff8a('0xed')]=_0x401c81['Smtp'][_0xff8a('0xed')];_0x2341c1[_0xff8a('0xee')]=_0x401c81[_0xff8a('0xea')][_0xff8a('0xee')];}if(_0x401c81[_0xff8a('0xea')][_0xff8a('0xef')]){_0x2341c1['auth']={'user':_0x401c81[_0xff8a('0xea')][_0xff8a('0x94')],'pass':_0x401c81[_0xff8a('0xea')][_0xff8a('0xf0')]};}return respondWithRpcPromise(_0xff8a('0xf1'),_0xff8a('0xf2'),{'account':_0x2341c1,'message':{'from':util[_0xff8a('0xde')](_0xff8a('0xf3'),_0x401c81[_0xff8a('0x34')],_0x401c81[_0xff8a('0xf4')]||_0x401c81[_0xff8a('0xea')][_0xff8a('0x94')]),'to':_0x2dbdb9[_0xff8a('0xb4')][_0xff8a('0xf5')],'subject':_0xff8a('0xf6'),'text':util[_0xff8a('0xde')](_0xff8a('0xf7'),_0x2dbdb9[_0xff8a('0xb4')]['mailTranscript']),'attachments':[{'path':_0x34f55e}]}})[_0xff8a('0x31')](function(){return _0x56246d;})[_0xff8a('0x3b')](function(_0x4b514a){console[_0xff8a('0x24')](_0x4b514a);});}else{return _0x56246d;}})['then'](respondWithStatusCode(_0x34318e,0xc8))['catch'](handleError(_0x34318e,null));};exports[_0xff8a('0xf8')]=function(_0x39c153,_0xb0c0a6,_0x43a16c){return db[_0xff8a('0xc1')]['find']({'where':{'id':_0x39c153[_0xff8a('0xb1')]['id']}})[_0xff8a('0x31')](handleEntityNotFound(_0xb0c0a6,null))[_0xff8a('0x31')](function(_0x3be833){if(_0x3be833){return _0x3be833[_0xff8a('0xf8')](_0x39c153[_0xff8a('0xb4')][_0xff8a('0xf9')],_[_0xff8a('0xfa')](_0x39c153[_0xff8a('0xb4')],[_0xff8a('0xf9'),'id'])||{});}})['then'](respondWithResult(_0xb0c0a6,null))[_0xff8a('0x3b')](handleError(_0xb0c0a6,null));};exports[_0xff8a('0xfb')]=function(_0x55fc7b,_0x4dba5a,_0x5e38ed){var _0x2341af={'raw':![],'where':{}};var _0x4279c1={};var _0x10a030={'count':0x0,'rows':[]};return db[_0xff8a('0x3d')][_0xff8a('0xb6')]({'where':{'id':_0x55fc7b[_0xff8a('0xb1')]['id']}})[_0xff8a('0x31')](handleEntityNotFound(_0x4dba5a,null))[_0xff8a('0x31')](function(_0x4cd1d4){if(_0x4cd1d4){_0x4279c1[_0xff8a('0x41')]=_[_0xff8a('0x42')](db[_0xff8a('0xc1')]['rawAttributes']);_0x4279c1['query']=_[_0xff8a('0x42')](_0x55fc7b[_0xff8a('0x44')]);_0x4279c1['filters']=_[_0xff8a('0x46')](_0x4279c1['model'],_0x4279c1[_0xff8a('0x44')]);_0x2341af['attributes']=_[_0xff8a('0x46')](_0x4279c1[_0xff8a('0x41')],qs[_0xff8a('0x47')](_0x55fc7b[_0xff8a('0x44')]['fields']));_0x2341af[_0xff8a('0x45')]=_0x2341af[_0xff8a('0x45')][_0xff8a('0x63')]?_0x2341af[_0xff8a('0x45')]:_0x4279c1[_0xff8a('0x41')];if(!_0x55fc7b['query'][_0xff8a('0x48')](_0xff8a('0xfc'))){_0x2341af[_0xff8a('0x49')]=qs['limit'](_0x55fc7b[_0xff8a('0x44')]['limit']);_0x2341af[_0xff8a('0x2c')]=qs['offset'](_0x55fc7b['query'][_0xff8a('0x2c')]);}_0x2341af[_0xff8a('0x4a')]=qs['sort'](_0x55fc7b[_0xff8a('0x44')]['sort']);_0x2341af[_0xff8a('0x7a')]=qs[_0xff8a('0x43')](_['pick'](_0x55fc7b[_0xff8a('0x44')],_0x4279c1[_0xff8a('0x43')]));_0x2341af[_0xff8a('0x7a')]['ChatInteractionId']=_0x4cd1d4['id'];if(_0x55fc7b[_0xff8a('0x44')][_0xff8a('0x88')]){_0x2341af[_0xff8a('0x7a')]=_[_0xff8a('0xfd')](_0x2341af['where'],{'$or':_[_0xff8a('0x35')](_0x2341af[_0xff8a('0x45')],function(_0x416964){var _0xa0cded={};_0xa0cded[_0x416964]={'$like':'%'+_0x55fc7b[_0xff8a('0x44')][_0xff8a('0x88')]+'%'};return _0xa0cded;})});}if(_0x55fc7b[_0xff8a('0x44')][_0xff8a('0x7f')]){var _0x516f97=_0x55fc7b[_0xff8a('0x44')][_0xff8a('0x7f')][_0xff8a('0x39')](',');var _0x36700a={};_0x36700a[_0x516f97[0x0]]={'$gte':moment(_0x516f97[0x1])[_0xff8a('0xde')](_0xff8a('0xfe'))};_0x2341af[_0xff8a('0x7a')]=_[_0xff8a('0xfd')](_0x2341af[_0xff8a('0x7a')],_0x36700a);}_0x2341af=_[_0xff8a('0xfd')]({},_0x2341af,_0x55fc7b['options']);return db['ChatMessage'][_0xff8a('0x99')]({'where':_0x2341af['where']})[_0xff8a('0x31')](function(_0x1a0305){_0x10a030[_0xff8a('0x99')]=_0x1a0305;if(_0x55fc7b['query']['includeAll']){_0x2341af[_0xff8a('0xff')]=[{'all':!![]}];}return db[_0xff8a('0xc1')]['findAll'](_0x2341af);})['then'](function(_0x1d79c0){_0x10a030[_0xff8a('0xb0')]=_0x1d79c0;return _0x10a030;});}})[_0xff8a('0x31')](respondWithFilteredResult(_0x4dba5a,_0x2341af))['catch'](handleError(_0x4dba5a,null));};exports[_0xff8a('0x100')]=function(_0x3d8804,_0x3030c1,_0x385aaa){var _0x5eda8d={'where':{}},_0x9cc46e={},_0x54716b={'count':0x0,'rows':[]};return db[_0xff8a('0x3d')][_0xff8a('0xb6')]({'where':{'id':_0x3d8804[_0xff8a('0xb1')]['id']}})[_0xff8a('0x31')](handleEntityNotFound(_0x3030c1,null))[_0xff8a('0x31')](function(_0x5879f4){if(_0x5879f4){_0x9cc46e[_0xff8a('0x41')]=_[_0xff8a('0x42')](db[_0xff8a('0xc1')][_0xff8a('0x3e')]);_0x9cc46e[_0xff8a('0x44')]=_[_0xff8a('0x42')](_0x3d8804['query']);_0x9cc46e['filters']=_[_0xff8a('0x46')](_0x9cc46e[_0xff8a('0x41')],_0x9cc46e[_0xff8a('0x44')]);_0x5eda8d['attributes']=_[_0xff8a('0x46')](_0x9cc46e[_0xff8a('0x41')],qs[_0xff8a('0x47')](_0x3d8804[_0xff8a('0x44')][_0xff8a('0x47')]));_0x5eda8d['attributes']=_0x5eda8d['attributes'][_0xff8a('0x63')]?_0x5eda8d[_0xff8a('0x45')]:_0x9cc46e['model'];if(!_0x3d8804[_0xff8a('0x44')][_0xff8a('0x48')](_0xff8a('0xfc'))){_0x5eda8d[_0xff8a('0x49')]=qs[_0xff8a('0x49')](_0x3d8804[_0xff8a('0x44')][_0xff8a('0x49')]);_0x5eda8d[_0xff8a('0x2c')]=qs[_0xff8a('0x2c')](_0x3d8804[_0xff8a('0x44')]['offset']);}_0x5eda8d[_0xff8a('0x4a')]=qs[_0xff8a('0x4b')](_0x3d8804[_0xff8a('0x44')][_0xff8a('0x4b')]);_0x5eda8d[_0xff8a('0x7a')]=qs[_0xff8a('0x43')](_[_0xff8a('0x4c')](_0x3d8804[_0xff8a('0x44')],_0x9cc46e[_0xff8a('0x43')]));_0x5eda8d[_0xff8a('0x7a')][_0xff8a('0x101')]=_0x5879f4['id'];if(_0x3d8804[_0xff8a('0x44')]['filter']){_0x5eda8d[_0xff8a('0x7a')]=_[_0xff8a('0xfd')](_0x5eda8d[_0xff8a('0x7a')],{'$or':_[_0xff8a('0x35')](_0x5eda8d[_0xff8a('0x45')],function(_0x170390){var _0x319db1={};_0x319db1[_0x170390]={'$like':'%'+_0x3d8804[_0xff8a('0x44')][_0xff8a('0x88')]+'%'};return _0x319db1;})});}_0x5eda8d[_0xff8a('0x7a')][_0xff8a('0xe6')]=![];if(_0x3d8804[_0xff8a('0x44')]['id']){_0x5eda8d[_0xff8a('0x7a')]['id']={'$gt':_0x3d8804[_0xff8a('0x44')]['id']};}_0x5eda8d=_[_0xff8a('0xfd')]({},_0x5eda8d,_0x3d8804[_0xff8a('0xb3')]);return db[_0xff8a('0xc1')][_0xff8a('0x99')]({'where':_0x5eda8d[_0xff8a('0x7a')]})[_0xff8a('0x31')](function(_0xdc9f7){_0x54716b[_0xff8a('0x99')]=_0xdc9f7;_0x5eda8d[_0xff8a('0xff')]=[];if(_0x3d8804[_0xff8a('0x44')][_0xff8a('0x102')]){_0x5eda8d['include'][_0xff8a('0xaf')]({'model':db[_0xff8a('0x73')],'as':_0xff8a('0x73'),'attributes':['id','fullname',_0xff8a('0xe1')]});}if(_0x3d8804[_0xff8a('0x44')]['includeAll']){_0x5eda8d[_0xff8a('0xff')]=[{'all':!![]}];}return db[_0xff8a('0xc1')][_0xff8a('0x103')](_0x5eda8d);})[_0xff8a('0x31')](function(_0x5a8af7){_0x54716b[_0xff8a('0xb0')]=_0x5a8af7;return _0x54716b;});}})['then'](respondWithFilteredResult(_0x3030c1,_0x5eda8d))[_0xff8a('0x3b')](handleError(_0x3030c1,null));};exports['addTags']=function(_0x3e4df7,_0x40f2f8,_0x2ace7b){return db['ChatInteraction']['find']({'where':{'id':_0x3e4df7[_0xff8a('0xb1')]['id']}})[_0xff8a('0x31')](handleEntityNotFound(_0x40f2f8,null))[_0xff8a('0x31')](function(_0x1a2532){if(_0x1a2532){return _0x1a2532['setTags'](_0x3e4df7[_0xff8a('0xb4')]['ids'],_[_0xff8a('0xfa')](_0x3e4df7['body'],[_0xff8a('0xf9'),'id'])||{})[_0xff8a('0x104')](function(){return db[_0xff8a('0x72')][_0xff8a('0x103')]({'attributes':['id',_0xff8a('0x34'),_0xff8a('0x4f')],'where':{'id':_0x3e4df7[_0xff8a('0xb4')][_0xff8a('0xf9')]}});})[_0xff8a('0x31')](function(_0x3747ee){socket[_0xff8a('0x105')]('chatInteractionTags:save',{'id':Number(_0x3e4df7[_0xff8a('0xb1')]['id']),'tags':_0x3747ee||[]});return{'id':Number(_0x3e4df7['params']['id']),'tags':_0x3747ee||[]};});}})[_0xff8a('0x31')](respondWithResult(_0x40f2f8,null))[_0xff8a('0x3b')](handleError(_0x40f2f8,null));};exports[_0xff8a('0x106')]=function(_0x4d50f8,_0x52be2e,_0x28158b){return db[_0xff8a('0x3d')]['find']({'where':{'id':_0x4d50f8[_0xff8a('0xb1')]['id']}})[_0xff8a('0x31')](handleEntityNotFound(_0x52be2e,null))[_0xff8a('0x31')](function(_0x555976){if(_0x555976){return _0x555976[_0xff8a('0x106')](_0x4d50f8['query']['ids']);}})['then'](respondWithStatusCode(_0x52be2e,null))[_0xff8a('0x3b')](handleError(_0x52be2e,null));};exports[_0xff8a('0xd5')]=function(_0x185b48,_0x3fffcd){var _0x13603f=moment()['unix']()[_0xff8a('0x9a')]();var _0x848eed=path['join'](config[_0xff8a('0xd1')],_0xff8a('0x107'),_0xff8a('0x108'),_0xff8a('0x109'));var _0x337367=path[_0xff8a('0xd3')](config[_0xff8a('0xd1')],_0xff8a('0x107'),_0xff8a('0x108'),_0xff8a('0x10a'));var _0x319ea5=path[_0xff8a('0xd3')](_0x848eed,_0x13603f);var _0x5eb3a4=util[_0xff8a('0xde')]('transcript-%d-%s.zip',_0x185b48['params']['id'],_0x13603f);var _0x34f925=path['join'](_0x848eed,_0x5eb3a4);var _0x257dc2=[];_0x257dc2[_0xff8a('0xaf')]({'model':db[_0xff8a('0x73')],'as':'User','attributes':['id',_0xff8a('0x36')],'raw':!![]});_0x257dc2['push']({'model':db['CmContact'],'as':'Contact','attributes':['id',_0xff8a('0x10b'),_0xff8a('0x10c')],'raw':!![]});if(_0x185b48[_0xff8a('0x44')]['attachments']){_0x257dc2['push']({'model':db[_0xff8a('0xcf')],'as':_0xff8a('0xcf'),'raw':!![]});}var _0x273c49=[{'model':db[_0xff8a('0xc1')],'as':'Messages','attributes':['id','body',_0xff8a('0x7d'),_0xff8a('0xe5'),'secret',_0xff8a('0x83')],'include':_0x257dc2}];_0x273c49[_0xff8a('0xaf')]({'model':db[_0xff8a('0xb7')],'as':_0xff8a('0x10d'),'attributes':['id',_0xff8a('0x34')]});_0x273c49[_0xff8a('0xaf')]({'model':db[_0xff8a('0x73')],'as':'Owner','attributes':['id',_0xff8a('0x36')]});return db[_0xff8a('0x3d')]['find']({'where':{'id':_0x185b48['params']['id']},'include':_0x273c49})['then'](handleEntityNotFound(_0x3fffcd,null))[_0xff8a('0x31')](function(_0x5d3df1){if(_0x5d3df1){var _0x357695=_0x5d3df1[_0xff8a('0x10e')]({'plain':!![]});fs['mkdirSync'](_0x319ea5);var _0x408b77={'channel':'Chat','account':_0x357695[_0xff8a('0x10d')][_0xff8a('0x34')],'agent':_0x357695[_0xff8a('0x10f')]?_0x357695[_0xff8a('0x10f')][_0xff8a('0x36')]:_0xff8a('0x110'),'createdAt':moment(_0x357695[_0xff8a('0x7d')])[_0xff8a('0xde')](_0xff8a('0xfe'))[_0xff8a('0x9a')](),'closedAt':_0x357695[_0xff8a('0xcd')]?moment(_0x357695[_0xff8a('0x111')])[_0xff8a('0xde')](_0xff8a('0xfe'))['toString']():'','disposition':_0x357695[_0xff8a('0x112')],'chatInfo':{'browser':_0x357695[_0xff8a('0x113')],'os':_0x357695[_0xff8a('0x114')],'referer':_0x357695[_0xff8a('0x115')],'customerIp':_0x357695[_0xff8a('0x116')],'customerPort':_0x357695[_0xff8a('0x117')]?_0x357695[_0xff8a('0x117')]:_0xff8a('0x110')},'messages':_(_0x357695[_0xff8a('0xd9')])['tail']()[_0xff8a('0x88')]({'secret':![]})[_0xff8a('0x35')](function(_0x2fe40b){if(_0x2fe40b[_0xff8a('0xcf')]){var _0x5260fb=path[_0xff8a('0xd3')](_0x337367,_0x2fe40b['Attachment']['basename']);if(fs[_0xff8a('0x118')](_0x5260fb)){fs[_0xff8a('0x119')](_0x5260fb)[_0xff8a('0x11a')](fs['createWriteStream'](path[_0xff8a('0xd3')](_0x319ea5,_0x2fe40b['Attachment'][_0xff8a('0xcb')])));}}return{'date':moment(_0x2fe40b[_0xff8a('0x7d')])[_0xff8a('0xde')](_0xff8a('0xfe'))['toString'](),'sender':_0x2fe40b['direction']===_0xff8a('0xc0')?_0x2fe40b[_0xff8a('0x73')]?_0x2fe40b['User'][_0xff8a('0x36')]:'System':_0x2fe40b[_0xff8a('0x69')][_0xff8a('0x10b')]+(_0x2fe40b[_0xff8a('0x69')]['lastName']?'\x20'+_0x2fe40b[_0xff8a('0x69')]['lastName']:''),'body':_0x2fe40b[_0xff8a('0xcf')]?_0x2fe40b[_0xff8a('0xcf')][_0xff8a('0xcb')]:_0x2fe40b[_0xff8a('0xb4')],'direction':_0x2fe40b[_0xff8a('0xe5')]===_0xff8a('0xc0')?'A':'C','secret':_0x2fe40b[_0xff8a('0xe6')],'read':_0x2fe40b[_0xff8a('0x83')],'attachment':_0x2fe40b[_0xff8a('0xcf')]};})[_0xff8a('0x66')]()};return ejs[_0xff8a('0x11b')](path[_0xff8a('0xd3')](config['root'],_0xff8a('0x107'),'views','downloadInteraction.html'),{'interaction':_0x408b77})[_0xff8a('0x31')](function(_0x3b9ba9){var _0x48ba24=path[_0xff8a('0xd3')](_0x319ea5,_0xff8a('0x11c')+_0x357695['id']+'-'+_0x13603f+_0xff8a('0x11d'));var _0x16fc0a={'path':_0x48ba24,'channel':_0xff8a('0x11e'),'interactionId':_0x357695['id']};return pdf[_0xff8a('0x11f')](_0x3b9ba9,_0x16fc0a);})[_0xff8a('0x31')](function(){return new BPromise(function(_0x364bf5,_0x4a6366){zipdir(_0x319ea5,{'saveTo':_0x34f925},function(_0x1fab72,_0x1f74e5){if(_0x1fab72)return _0x4a6366(_0x1fab72);return _0x364bf5(_0x1f74e5);});})[_0xff8a('0x31')](function(){return new BPromise(function(_0x4fc9dc,_0x50d713){rimraf(_0x319ea5,function(_0x102698){if(_0x102698)_0x50d713(_0x102698);return _0x4fc9dc();});});})[_0xff8a('0x31')](function(){return _0x3fffcd[_0xff8a('0xd5')](_0x34f925,_0x5eb3a4,function(_0x3d6a7d){if(_0x3d6a7d){console['log'](_0xff8a('0x120'),_0x3d6a7d);}else{fs[_0xff8a('0x121')](_0x34f925);}});});});}else{return _0x3fffcd[_0xff8a('0x28')](0xc8);}})['catch'](handleError(_0x3fffcd,null));};