adc0a01ebdeb8289c03f036f36f26fbc091503ed
[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 _0x9c44=['now','pathTranscript','Messages','CmContact','format','%s%d','agentAlias','System','Visitor','agentIdentifier','website_alias','agent_alias','alias','fullname','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','auth','SendMail','\x22%s\x22\x20<%s>','email','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','ids','omit','getMessages','hasOwnProperty','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','includeAgent','addTags','spread','emit','chatInteractionTags:save','removeTags','files','server','transcript-%d-%s.zip','firstName','lastName','attachments','Owner','get','mkdirSync','10px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Chat','YYYY-MM-DD','N.A.','closedAt','browserName','osName','referer','customerIp','customerPort','tail','existsSync','pipe','renderFile','views','toFile','transcript-','.pdf','log','err','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','defaults','redis','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','request','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','end','status','json','count','offset','limit','apply','reject','update','destroy','then','stack','name','send','Users','map','TagIds','Tags','split','forEach','push','index','ChatInteraction','rawAttributes','fieldName','model','query','filters','intersection','attributes','fields','length','nolimit','sort','where','pick','field','tools_tags','select','u.id','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','from','chat_interactions','cm_contacts','o.id\x20=\x20i.UserId','a.id\x20=\x20i.ChatWebsiteId','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','Tag','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','type','body','keys','some','isEmpty','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','SELECT','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','resolve','ChatWebsiteId','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','sequelize','toString','keyBy','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','Contact.firstName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','c.fax','Contact.fax','o.internal','Owner.internal','ChatInteractionId','rows','show','params','includeAll','include','merge','options','create','describe','createVidaooSession','ChatWebsite','vidaooApiKey','vidaooEscalation','MotionCWB:','follow','Error\x20in\x20Vidaoo\x20configuration','join_url','out','user','ChatMessage','ValidationError','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandon','entity\x20not\x20found','sendStatus','disposition','AbandonInteraction','attachmentUpload','file','filename','Attachment','attachmentDownload','findOne','closed','attachId','download','join','root','basename','mailTranscript','server/files/chat/upload/','transcript-%s.txt'];(function(_0x4b9492,_0x57309e){var _0x528c5d=function(_0x2672d0){while(--_0x2672d0){_0x4b9492['push'](_0x4b9492['shift']());}};_0x528c5d(++_0x57309e);}(_0x9c44,0x178));var _0x49c4=function(_0x15bc81,_0x4d4f77){_0x15bc81=_0x15bc81-0x0;var _0x59440e=_0x9c44[_0x15bc81];return _0x59440e;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x49c4('0x0'));var zipdir=require(_0x49c4('0x1'));var jsonpatch=require(_0x49c4('0x2'));var rp=require(_0x49c4('0x3'));var moment=require(_0x49c4('0x4'));var BPromise=require(_0x49c4('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x49c4('0x6'));var sox=require('sox');var csv=require(_0x49c4('0x7'));var ejs=require(_0x49c4('0x8'));var fs=require('fs');var _=require(_0x49c4('0x9'));var squel=require(_0x49c4('0xa'));var crypto=require(_0x49c4('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x49c4('0xc'));var toCsv=require(_0x49c4('0x7'));var querystring=require(_0x49c4('0xd'));var Papa=require(_0x49c4('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x49c4('0xf'));var as=require(_0x49c4('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x49c4('0x11'))(_0x49c4('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x49c4('0x13'));var db=require(_0x49c4('0x14'))['db'];config['redis']=_[_0x49c4('0x15')](config[_0x49c4('0x16')],{'host':'localhost','port':0x18eb});var socket=require(_0x49c4('0x17'))(new Redis(config[_0x49c4('0x16')]));require(_0x49c4('0x18'))[_0x49c4('0x19')](socket);var jayson=require(_0x49c4('0x1a'));var client=jayson[_0x49c4('0x1b')][_0x49c4('0x1c')]({'port':0x232b});var client9004=jayson[_0x49c4('0x1b')]['http']({'port':0x232c});function respondWithRpcPromise(_0x3acd06,_0x141003,_0x13a2db,_0x81e831){return new BPromise(function(_0x2abc78,_0x53e3a2){var _0x44e607=_0x81e831||client;return _0x44e607[_0x49c4('0x1d')](_0x3acd06,_0x13a2db)['then'](function(_0x512650){logger[_0x49c4('0x1e')](_0x49c4('0x1f'),_0x141003,_0x49c4('0x20'));logger['debug'](_0x49c4('0x21'),_0x141003,'request\x20sent',JSON[_0x49c4('0x22')](_0x512650));if(_0x512650[_0x49c4('0x23')]){if(_0x512650[_0x49c4('0x23')][_0x49c4('0x24')]===0x1f4){logger[_0x49c4('0x23')](_0x49c4('0x1f'),_0x141003,_0x512650[_0x49c4('0x23')][_0x49c4('0x25')]);return _0x53e3a2(_0x512650[_0x49c4('0x23')]['message']);}logger['error']('ChatInteraction,\x20%s,\x20%s',_0x141003,_0x512650[_0x49c4('0x23')]['message']);return _0x2abc78(_0x512650['error'][_0x49c4('0x25')]);}else{logger[_0x49c4('0x1e')](_0x49c4('0x1f'),_0x141003,_0x49c4('0x20'));_0x2abc78(_0x512650['result']['message']);}})[_0x49c4('0x26')](function(_0x9cb797){logger['error'](_0x49c4('0x1f'),_0x141003,_0x9cb797);_0x53e3a2(_0x9cb797);});});}function respondWithStatusCode(_0x43e014,_0x210159){_0x210159=_0x210159||0xcc;return function(_0xa7a826){if(_0xa7a826){return _0x43e014['sendStatus'](_0x210159);}return _0x43e014['status'](_0x210159)[_0x49c4('0x27')]();};}function respondWithResult(_0x53c199,_0x3800b7){_0x3800b7=_0x3800b7||0xc8;return function(_0x3852b2){if(_0x3852b2){return _0x53c199[_0x49c4('0x28')](_0x3800b7)[_0x49c4('0x29')](_0x3852b2);}};}function respondWithFilteredResult(_0x5987ae,_0x889909){return function(_0x2b2793){if(_0x2b2793){var _0x46e04d=_0x2b2793[_0x49c4('0x2a')],_0x4f28a2=_0x889909[_0x49c4('0x2b')],_0x6329b3=_0x889909[_0x49c4('0x2b')]+_0x889909[_0x49c4('0x2c')],_0x29f835;if(_0x6329b3>=_0x46e04d){_0x6329b3=_0x46e04d;_0x29f835=0xc8;}else{_0x29f835=0xce;}_0x5987ae[_0x49c4('0x28')](_0x29f835);return _0x5987ae['set']('Content-Range',_0x4f28a2+'-'+_0x6329b3+'/'+_0x46e04d)['json'](_0x2b2793);}return null;};}function patchUpdates(_0x134928){return function(_0x7ee704){try{jsonpatch[_0x49c4('0x2d')](_0x7ee704,_0x134928,!![]);}catch(_0x27e467){return BPromise[_0x49c4('0x2e')](_0x27e467);}return _0x7ee704['save']();};}function saveUpdates(_0x38ad77,_0x116eb4){return function(_0x2e7a69){if(_0x2e7a69){return _0x2e7a69[_0x49c4('0x2f')](_0x38ad77)['then'](function(_0x57a29c){return _0x57a29c;});}return null;};}function removeEntity(_0xce57ef,_0x9a1bed){return function(_0x167efe){if(_0x167efe){return _0x167efe[_0x49c4('0x30')]()[_0x49c4('0x31')](function(){_0xce57ef['status'](0xcc)[_0x49c4('0x27')]();});}};}function handleEntityNotFound(_0x84c621,_0x1bfa0f){return function(_0x512d02){if(!_0x512d02){_0x84c621['sendStatus'](0x194);}return _0x512d02;};}function handleError(_0x85dce2,_0x1991e9){_0x1991e9=_0x1991e9||0x1f4;return function(_0x3bec0a){logger[_0x49c4('0x23')](_0x3bec0a[_0x49c4('0x32')]);if(_0x3bec0a[_0x49c4('0x33')]){delete _0x3bec0a[_0x49c4('0x33')];}_0x85dce2[_0x49c4('0x28')](_0x1991e9)[_0x49c4('0x34')](_0x3bec0a);};}function getInteractionUsers(_0x4e0209,_0x2d34ca){return new BPromise(function(_0x5b96df,_0xdda586){try{if(_0x2d34ca[_0x4e0209['id']]){_0x4e0209[_0x49c4('0x35')]=_[_0x49c4('0x36')](_0x2d34ca[_0x4e0209['id']],function(_0x1c2830){return{'id':_0x1c2830['id'],'fullname':_0x1c2830['fullname']};});}}catch(_0x335f0c){_0xdda586(_0x335f0c);}_0x5b96df(_0x4e0209);});}function getInteractionTags(_0x31f3ff,_0x1c910a){return new BPromise(function(_0x4e913a,_0x3b4feb){try{if(_0x31f3ff[_0x49c4('0x37')]){_0x31f3ff[_0x49c4('0x38')]=[];_0x31f3ff[_0x49c4('0x37')][_0x49c4('0x39')](',')[_0x49c4('0x3a')](function(_0x143916){_0x31f3ff[_0x49c4('0x38')][_0x49c4('0x3b')](_0x1c910a[_0x143916]);});}delete _0x31f3ff[_0x49c4('0x37')];}catch(_0x1e506a){_0x3b4feb(_0x1e506a);}_0x4e913a(_0x31f3ff);});}function updateChatInteraction(_0x4e0663,_0x2d2510,_0x20cd21){return new BPromise(function(_0x32b172,_0x23aa32){return getInteractionUsers(_0x4e0663,_0x20cd21)[_0x49c4('0x31')](function(_0x29dd5d){return getInteractionTags(_0x29dd5d,_0x2d2510);})[_0x49c4('0x31')](function(_0xc9722b){_0x32b172(_0xc9722b);})[_0x49c4('0x26')](function(_0x2668ed){_0x23aa32(_0x2668ed);});});}exports[_0x49c4('0x3c')]=function(_0xa3d59e,_0x326142){var _0x4e38bc={},_0x212366={},_0x49829e={'count':0x0,'rows':[]};var _0x104efb=_[_0x49c4('0x36')](db[_0x49c4('0x3d')][_0x49c4('0x3e')],function(_0x239327){return{'name':_0x239327[_0x49c4('0x3f')],'type':_0x239327['type']['key']};});_0x212366[_0x49c4('0x40')]=_[_0x49c4('0x36')](_0x104efb,_0x49c4('0x33'));_0x212366[_0x49c4('0x41')]=_['keys'](_0xa3d59e[_0x49c4('0x41')]);_0x212366[_0x49c4('0x42')]=_[_0x49c4('0x43')](_0x212366[_0x49c4('0x40')],_0x212366[_0x49c4('0x41')]);_0x4e38bc[_0x49c4('0x44')]=_[_0x49c4('0x43')](_0x212366[_0x49c4('0x40')],qs[_0x49c4('0x45')](_0xa3d59e['query'][_0x49c4('0x45')]));_0x4e38bc['attributes']=_0x4e38bc[_0x49c4('0x44')][_0x49c4('0x46')]?_0x4e38bc[_0x49c4('0x44')]:_0x212366[_0x49c4('0x40')];if(!_0xa3d59e[_0x49c4('0x41')]['hasOwnProperty'](_0x49c4('0x47'))){_0x4e38bc[_0x49c4('0x2c')]=qs[_0x49c4('0x2c')](_0xa3d59e[_0x49c4('0x41')][_0x49c4('0x2c')]);_0x4e38bc[_0x49c4('0x2b')]=qs[_0x49c4('0x2b')](_0xa3d59e['query'][_0x49c4('0x2b')]);}_0x4e38bc['order']=qs[_0x49c4('0x48')](_0xa3d59e[_0x49c4('0x41')][_0x49c4('0x48')]);_0x4e38bc[_0x49c4('0x49')]=qs[_0x49c4('0x42')](_[_0x49c4('0x4a')](_0xa3d59e[_0x49c4('0x41')],_0x212366['filters']),_0x104efb);var _0x3b731f=[];var _0x3feaf0=squel['select']()[_0x49c4('0x4b')]('id')[_0x49c4('0x4b')](_0x49c4('0x33'))[_0x49c4('0x4b')]('color')['from'](_0x49c4('0x4c'));var _0x4e8221=squel[_0x49c4('0x4d')]()[_0x49c4('0x4b')](_0x49c4('0x4e'))[_0x49c4('0x4b')](_0x49c4('0x4f'))[_0x49c4('0x4b')](_0x49c4('0x50'))['from'](_0x49c4('0x51'),'ui')[_0x49c4('0x52')](_0x49c4('0x53'),'u',_0x49c4('0x54'));var _0x17ef75=squel[_0x49c4('0x4d')]()[_0x49c4('0x55')](_0x49c4('0x56'),'i')[_0x49c4('0x52')](_0x49c4('0x57'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0x49c4('0x53'),'o',_0x49c4('0x58'))['left_join']('chat_websites','a',_0x49c4('0x59'))['left_join']('chat_messages','me',_0x49c4('0x5a'))[_0x49c4('0x52')](_0x49c4('0x5b'),'it',_0x49c4('0x5c'))[_0x49c4('0x52')](_0x49c4('0x4c'),'t',_0x49c4('0x5d'));var _0x50798e=squel[_0x49c4('0x5e')]();var _0xcc6a2b=[];var _0x207572=squel[_0x49c4('0x5e')]();var _0x73840f;if(_0xa3d59e[_0x49c4('0x41')]['search']){_0x73840f=as['parseSearch'](_0xa3d59e[_0x49c4('0x41')][_0x49c4('0x5f')]);var _0x2a6308=_0x73840f[_0x49c4('0x60')];for(var _0x23288e=0x0;_0x23288e<_0x73840f[_0x49c4('0x61')][_0x49c4('0x46')];_0x23288e++){var _0x58dc5f=_0x73840f[_0x49c4('0x61')][_0x23288e];var _0x33c9a6='i';var _0x4ba4eb=_[_0x49c4('0x62')](_0x104efb,['name',_0x58dc5f[_0x49c4('0x4b')]]);if(!_0x4ba4eb){switch(_0x58dc5f[_0x49c4('0x4b')]){case _0x49c4('0x63'):if(_0x58dc5f[_0x49c4('0x64')]==0x1){_0x17ef75[_0x49c4('0x65')]('`'+_0x58dc5f[_0x49c4('0x4b')]+_0x49c4('0x66'));}else{_0x17ef75[_0x49c4('0x65')]('`'+_0x58dc5f['field']+_0x49c4('0x67'));}break;case _0x49c4('0x68'):if(_0x58dc5f['operator']===_0x49c4('0x69')){if(_0x58dc5f[_0x49c4('0x64')]['split']('\x20')[_0x49c4('0x46')]>0x1){_0x50798e[_0x2a6308](_0x49c4('0x6a'),qs['getFullTextValue'](_0x58dc5f['value']),null);}else{var _0x589484='%'+_0x58dc5f['value']+'%';_0x50798e[_0x2a6308](_0x49c4('0x6b'),_0x589484,_0x589484,_0x589484);}}else{_0x4ba4eb=_['find'](_0x104efb,[_0x49c4('0x33'),_0x49c4('0x6c')]);_0x58dc5f['field']=_0x49c4('0x6c');_0x3feb0b=as[_0x49c4('0x6d')](_0x33c9a6,_0x4ba4eb['type'],_0x58dc5f);_0x50798e[_0x2a6308](_0x3feb0b[_0x49c4('0x6e')],_0x3feb0b[_0x49c4('0x64')][_0x49c4('0x6f')],_0x3feb0b[_0x49c4('0x64')]['end']);}break;case _0x49c4('0x70'):var _0x16d0e1=_0x58dc5f[_0x49c4('0x64')][_0x49c4('0x39')](',')['map'](function(_0x617e2f){return Number(_0x617e2f);});_0x16d0e1['forEach'](function(_0x568457){_0x207572['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x568457+',%');});_0xcc6a2b=_['union'](_0xcc6a2b,_0x16d0e1);break;case _0x49c4('0x71'):if(_0x58dc5f[_0x49c4('0x72')]===_0x49c4('0x69')){_0x50798e[_0x2a6308](_0x49c4('0x73'),'%'+_0x58dc5f['value']+'%',null);}else{_0x4ba4eb=_['find'](_0x104efb,[_0x49c4('0x33'),_0x49c4('0x74')]);_0x58dc5f[_0x49c4('0x4b')]=_0x49c4('0x74');_0x3feb0b=as[_0x49c4('0x6d')](_0x33c9a6,_0x4ba4eb[_0x49c4('0x75')],_0x58dc5f);_0x50798e[_0x2a6308](_0x3feb0b[_0x49c4('0x6e')],_0x3feb0b[_0x49c4('0x64')]['start'],_0x3feb0b[_0x49c4('0x64')]['end']);}break;case _0x49c4('0x76'):_0x3feb0b=as[_0x49c4('0x6d')]('me',null,_0x58dc5f);_0x50798e[_0x2a6308](_0x3feb0b[_0x49c4('0x6e')],_0x3feb0b[_0x49c4('0x64')][_0x49c4('0x6f')],_0x3feb0b[_0x49c4('0x64')][_0x49c4('0x27')]);break;}}else{var _0x3feb0b=as[_0x49c4('0x6d')](_0x33c9a6,_0x4ba4eb[_0x49c4('0x75')],_0x58dc5f);_0x50798e[_0x2a6308](_0x3feb0b[_0x49c4('0x6e')],_0x3feb0b[_0x49c4('0x64')][_0x49c4('0x6f')],_0x3feb0b[_0x49c4('0x64')][_0x49c4('0x27')]);}}}else{var _0x453cf2=_(_0xa3d59e[_0x49c4('0x41')])[_0x49c4('0x77')]()['map'](function(_0x5ec201){return _[_0x49c4('0x78')](_0x104efb,[_0x49c4('0x33'),_0x5ec201])?_0x5ec201:undefined;})['compact']()[_0x49c4('0x64')]();if(!_[_0x49c4('0x79')](_0x453cf2)){_0x453cf2[_0x49c4('0x3a')](function(_0x16e7b1){if(_0x16e7b1==='ChatWebsiteId'){_0x17ef75['where']('i.ChatWebsiteId\x20IN\x20?',[][_0x49c4('0x7a')](_0xa3d59e[_0x49c4('0x41')][_0x16e7b1]));}else if(_0x16e7b1===_0x49c4('0x7b')){var _0x2f4289=JSON[_0x49c4('0x7c')](_0xa3d59e[_0x49c4('0x41')][_0x16e7b1])[_0x49c4('0x7d')];var _0x3692a4=JSON[_0x49c4('0x7c')](_0xa3d59e['query'][_0x16e7b1])[_0x49c4('0x7e')];_0x17ef75[_0x49c4('0x49')](_0x49c4('0x7f'),_0x2f4289,_0x3692a4);}else{if(_0xa3d59e['query'][_0x16e7b1]===_0x49c4('0x80')){_0x17ef75[_0x49c4('0x49')]('i.'+_0x16e7b1+_0x49c4('0x81'));}else{_0x17ef75[_0x49c4('0x49')]('i.'+_0x16e7b1+_0x49c4('0x82'),_0xa3d59e[_0x49c4('0x41')][_0x16e7b1]);}}});}if(_0xa3d59e[_0x49c4('0x41')][_0x49c4('0x83')]){if(_0xa3d59e['query'][_0x49c4('0x83')]==0x1){_0x17ef75[_0x49c4('0x65')](_0x49c4('0x84'));}else{_0x17ef75[_0x49c4('0x65')](_0x49c4('0x85'));}}if(_0xa3d59e['query']['tag']){_0xcc6a2b=_[_0x49c4('0x86')](_0xa3d59e['query'][_0x49c4('0x87')])?_0xa3d59e['query'][_0x49c4('0x87')]:new Array(_0xa3d59e[_0x49c4('0x41')][_0x49c4('0x87')]);_0xcc6a2b[_0x49c4('0x3a')](function(_0x4eb9f7){_0x207572['or'](_0x49c4('0x88'),'%,'+_0x4eb9f7+',%');});}if(_0xa3d59e[_0x49c4('0x41')][_0x49c4('0x89')]){var _0x42e19a=_0xa3d59e[_0x49c4('0x41')][_0x49c4('0x89')][_0x49c4('0x8a')]('\x5c','\x5c\x5c')[_0x49c4('0x8a')](/'/g,'\x27\x27');if(qs[_0x49c4('0x8b')](_0x42e19a)){_0x50798e['or'](_0x49c4('0x8c'),_0x42e19a+'%');}else{_0x50798e['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x49c4('0x8d')](_0x42e19a))['or'](_0x49c4('0x8e'),_0x42e19a+'%');}}}_0x17ef75['where'](_0x50798e);_0x17ef75[_0x49c4('0x8f')]('i.id');var _0x1e6644={'type':db[_0x49c4('0x90')][_0x49c4('0x91')][_0x49c4('0x92')],'raw':!![]};var _0x2c32c0=_0x17ef75['clone']();_0x2c32c0[_0x49c4('0x4b')](_0x49c4('0x93'));_0x2c32c0['field'](_0x49c4('0x94'),_0x49c4('0x63'));if(_0x4e38bc['order']){_0x4e38bc[_0x49c4('0x95')][_0x49c4('0x3a')](function(_0x57b137){var _0x37fef1=_0x57b137[0x0]===_0x49c4('0x96')?_0x57b137[0x0]:'i.'+_0x57b137[0x0];_0x17ef75[_0x49c4('0x95')](_0x37fef1,_0x57b137[0x1]===_0x49c4('0x97')?![]:!![]);});}if(!_['isEmpty'](_0xcc6a2b)){_0x17ef75[_0x49c4('0x65')](_0x207572);_0x2c32c0[_0x49c4('0x49')]('t.id\x20IN\x20?',_0xcc6a2b);}BPromise[_0x49c4('0x98')]()['then'](function(){if(!_0x73840f){if(_0xa3d59e['query'][_0x49c4('0x99')]||_0xa3d59e['query']['journey'])return;_0x2c32c0[_0x49c4('0x49')](_0x49c4('0x9a'));_0x17ef75['where'](_0x49c4('0x9a'));return;}return _0xa3d59e['user']['getChatWebsites']({'attributes':['id'],'raw':!![]})['then'](function(_0x10d107){if(_[_0x49c4('0x79')](_0x10d107)){_0x2c32c0[_0x49c4('0x49')](_0x49c4('0x9b'));_0x17ef75['where']('i.ChatWebsiteId\x20IS\x20NULL');}else{_0x2c32c0[_0x49c4('0x49')]('i.ChatWebsiteId\x20IN\x20?',_[_0x49c4('0x36')](_0x10d107,'id'));_0x17ef75['where'](_0x49c4('0x9c'),_[_0x49c4('0x36')](_0x10d107,'id'));}});})[_0x49c4('0x31')](function(){db[_0x49c4('0x9d')][_0x49c4('0x41')](_0x2c32c0[_0x49c4('0x9e')](),_0x1e6644)[_0x49c4('0x31')](function(_0x5bb0e9){_0x49829e[_0x49c4('0x2a')]=_0x5bb0e9[_0x49c4('0x46')];if(_0x49829e[_0x49c4('0x2a')]===0x0)return[];return db[_0x49c4('0x9d')][_0x49c4('0x41')](_0x3feaf0['toString'](),_0x1e6644)[_0x49c4('0x31')](function(_0x1bf931){_0x3b731f=_[_0x49c4('0x9f')](_0x1bf931,'id');_0x1e6644=_['merge'](_0x1e6644,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xa3d59e[_0x49c4('0x41')][_0x49c4('0x45')]){_0x4e38bc[_0x49c4('0x44')][_0x49c4('0x3a')](function(_0x432b71){_0x17ef75['field']('i.'+_0x432b71);});}else{_0x17ef75[_0x49c4('0x4b')](_0x49c4('0x94'),_0x49c4('0x63'));_0x17ef75[_0x49c4('0x4b')]('a.key','Account.key');_0x17ef75[_0x49c4('0x4b')](_0x49c4('0xa0'),_0x49c4('0xa1'));_0x17ef75[_0x49c4('0x4b')](_0x49c4('0xa2'),'contactName');_0x17ef75[_0x49c4('0x4b')](_0x49c4('0xa3'));_0x17ef75[_0x49c4('0x4b')](_0x49c4('0xa4'),_0x49c4('0xa5'));_0x17ef75[_0x49c4('0x4b')]('c.lastName',_0x49c4('0xa6'));_0x17ef75[_0x49c4('0x4b')](_0x49c4('0xa7'),_0x49c4('0xa8'));_0x17ef75['field']('c.phone',_0x49c4('0xa9'));_0x17ef75['field'](_0x49c4('0xaa'),'Contact.mobile');_0x17ef75[_0x49c4('0x4b')](_0x49c4('0xab'),_0x49c4('0xac'));_0x17ef75[_0x49c4('0x4b')]('o.fullname','Owner.fullname');_0x17ef75[_0x49c4('0x4b')](_0x49c4('0xad'),_0x49c4('0xae'));_0x17ef75['field']('GROUP_CONCAT(DISTINCT\x20t.id)',_0x49c4('0x37'));}if(_0x4e38bc['limit'])_0x17ef75['limit'](_0x4e38bc[_0x49c4('0x2c')]);if(_0x4e38bc['offset'])_0x17ef75[_0x49c4('0x2b')](_0x4e38bc[_0x49c4('0x2b')]);return db['sequelize'][_0x49c4('0x41')](_0x17ef75[_0x49c4('0x9e')](),_0x1e6644);})['then'](function(_0x5428a9){_0x4e8221[_0x49c4('0x49')]('ui.ChatInteractionId\x20IN\x20?',_[_0x49c4('0x36')](_0x5428a9,'id'));return db[_0x49c4('0x9d')][_0x49c4('0x41')](_0x4e8221[_0x49c4('0x9e')](),_0x1e6644)[_0x49c4('0x31')](function(_0x4483fc){var _0x2ecc6d=_['groupBy'](_0x4483fc,_0x49c4('0xaf'));var _0x12afa1=[];_0x5428a9[_0x49c4('0x3a')](function(_0xcc42bf){_0x12afa1[_0x49c4('0x3b')](updateChatInteraction(_0xcc42bf,_0x3b731f,_0x2ecc6d));});return BPromise['all'](_0x12afa1);});});})[_0x49c4('0x31')](function(_0x59ccfc){_0x49829e[_0x49c4('0xb0')]=_0x59ccfc;return _0x49829e;})[_0x49c4('0x31')](respondWithFilteredResult(_0x326142,_0x4e38bc));})[_0x49c4('0x26')](handleError(_0x326142,null));};exports[_0x49c4('0xb1')]=function(_0x5acbf7,_0x293e47){var _0x139696={'raw':![],'where':{'id':_0x5acbf7[_0x49c4('0xb2')]['id']}},_0x312b02={};_0x312b02[_0x49c4('0x40')]=_[_0x49c4('0x77')](db['ChatInteraction'][_0x49c4('0x3e')]);_0x312b02['query']=_[_0x49c4('0x77')](_0x5acbf7[_0x49c4('0x41')]);_0x312b02[_0x49c4('0x42')]=_[_0x49c4('0x43')](_0x312b02['model'],_0x312b02[_0x49c4('0x41')]);_0x139696[_0x49c4('0x44')]=_['intersection'](_0x312b02[_0x49c4('0x40')],qs[_0x49c4('0x45')](_0x5acbf7['query']['fields']));_0x139696[_0x49c4('0x44')]=_0x139696[_0x49c4('0x44')][_0x49c4('0x46')]?_0x139696[_0x49c4('0x44')]:_0x312b02[_0x49c4('0x40')];if(_0x5acbf7[_0x49c4('0x41')][_0x49c4('0xb3')]){_0x139696[_0x49c4('0xb4')]=[{'all':!![]}];}_0x139696=_[_0x49c4('0xb5')]({},_0x139696,_0x5acbf7[_0x49c4('0xb6')]);return db[_0x49c4('0x3d')]['find'](_0x139696)['then'](handleEntityNotFound(_0x293e47,null))[_0x49c4('0x31')](respondWithResult(_0x293e47,null))[_0x49c4('0x26')](handleError(_0x293e47,null));};exports[_0x49c4('0xb7')]=function(_0x5be042,_0x1276bf){return db[_0x49c4('0x3d')]['create'](_0x5be042[_0x49c4('0x76')],{})['then'](respondWithResult(_0x1276bf,0xc9))[_0x49c4('0x26')](handleError(_0x1276bf,null));};exports[_0x49c4('0x2f')]=function(_0x2adf4f,_0x941b9d){if(_0x2adf4f['body']['id']){delete _0x2adf4f[_0x49c4('0x76')]['id'];}return db[_0x49c4('0x3d')][_0x49c4('0x62')]({'where':{'id':_0x2adf4f[_0x49c4('0xb2')]['id']}})[_0x49c4('0x31')](handleEntityNotFound(_0x941b9d,null))['then'](saveUpdates(_0x2adf4f['body'],null))['then'](respondWithResult(_0x941b9d,null))[_0x49c4('0x26')](handleError(_0x941b9d,null));};exports[_0x49c4('0x30')]=function(_0x228bbb,_0x32f8f9){return db[_0x49c4('0x3d')]['find']({'where':{'id':_0x228bbb[_0x49c4('0xb2')]['id']}})[_0x49c4('0x31')](handleEntityNotFound(_0x32f8f9,null))[_0x49c4('0x31')](removeEntity(_0x32f8f9,null))[_0x49c4('0x26')](handleError(_0x32f8f9,null));};exports['describe']=function(_0x26ddfc,_0x5bfccd){return db[_0x49c4('0x3d')][_0x49c4('0xb8')]()[_0x49c4('0x31')](respondWithResult(_0x5bfccd,null))['catch'](handleError(_0x5bfccd,null));};exports[_0x49c4('0xb9')]=function(_0x9b622d,_0x2b596d){var _0x494c7f=_0x9b622d[_0x49c4('0xb2')]['id'];var _0x11f47f;var _0xa1954a;var _0x56341f;return db[_0x49c4('0x3d')]['findOne']({'where':{'id':_0x494c7f}})['then'](function(_0x2c2c7c){_0x11f47f=_0x2c2c7c;return db[_0x49c4('0xba')]['findOne']({'where':{'id':_0x2c2c7c[_0x49c4('0x99')]},'attributes':['id',_0x49c4('0xbb'),_0x49c4('0xbc')],'raw':!![]});})[_0x49c4('0x31')](function(_0x10f5fc){if(_0x10f5fc&&_0x10f5fc[_0x49c4('0xbb')]&&_0x10f5fc[_0x49c4('0xbc')]){_0xa1954a=_0x10f5fc;var _0x219133={'rejectUnauthorized':![],'method':'POST','uri':'https://api-vidaoo.xcally.com/api/v1/sessions','headers':{'X-APIKEY':_0x10f5fc[_0x49c4('0xbb')]},'body':{'name':_0x49c4('0xbd')+_0x494c7f},'redirect':_0x49c4('0xbe'),'json':!![]};return rp(_0x219133);}else{throw new db['Sequelize']['ValidationError'](_0x49c4('0xbf'));}})[_0x49c4('0x31')](function(_0xd979f7){_0x56341f=_0xd979f7;if(_0x56341f['id']){var _0x45aeeb={'body':_0x56341f[_0x49c4('0xc0')],'ChatWebsiteId':_0xa1954a['id'],'ChatInteractionId':_0x11f47f['id'],'direction':_0x49c4('0xc1'),'UserId':_0x9b622d[_0x49c4('0xc2')]['id']};return db[_0x49c4('0xc3')][_0x49c4('0xb7')](_0x45aeeb,{});}else{throw new db[(_0x49c4('0x90'))][(_0x49c4('0xc4'))](_0x49c4('0xc5'));}})[_0x49c4('0x31')](function(){return _0x11f47f[_0x49c4('0xc6')]({'vidaooSessionId':_0x56341f['id']});})['then'](respondWithResult(_0x2b596d,null))[_0x49c4('0x26')](handleError(_0x2b596d,null));};exports[_0x49c4('0xc7')]=function(_0x18a401,_0x318aaf){if(_0x18a401['body']['id']){delete _0x18a401['body']['id'];}return db[_0x49c4('0x3d')]['find']({'where':{'id':_0x18a401[_0x49c4('0xb2')]['id']}})[_0x49c4('0x31')](handleEntityNotFound(_0x318aaf,null))[_0x49c4('0x31')](saveUpdates(_0x18a401[_0x49c4('0x76')],null))[_0x49c4('0x31')](respondWithResult(_0x318aaf,null))[_0x49c4('0x26')](handleError(_0x318aaf,null));};exports[_0x49c4('0xc8')]=function(_0xe9e187,_0x31ba95,_0x1c12f6){if(_0xe9e187[_0x49c4('0x76')]['id']){delete _0xe9e187[_0x49c4('0x76')]['id'];}return db['ChatInteraction'][_0x49c4('0x62')]({'where':{'id':_0xe9e187[_0x49c4('0xb2')]['id']}})[_0x49c4('0x31')](function(_0x5dd6a1){if(!_0x5dd6a1){logger[_0x49c4('0x23')]('abandonInteraction,\x20%s,\x20%s,\x20%s',_0x49c4('0xc8'),0x194,_0x49c4('0xc9'));_0x31ba95[_0x49c4('0xca')](0x194);}else{if(_0x5dd6a1[_0x49c4('0x74')]){throw new db['Sequelize'][(_0x49c4('0xc4'))]('Interaction\x20already\x20assigned');}}return _0x5dd6a1;})['then'](function(_0xb7cfbb){if(_0xb7cfbb){return _0xb7cfbb[_0x49c4('0x2f')]({'closed':_0xe9e187[_0x49c4('0x76')]['closed'],'disposition':_0xe9e187['body'][_0x49c4('0xcb')]})[_0x49c4('0x31')](function(_0x2d3845){return _0x2d3845;});}})[_0x49c4('0x31')](function(_0x230705){return respondWithRpcPromise(_0x49c4('0xcc'),_0x49c4('0xc8'),_0xe9e187[_0x49c4('0x76')],client9004);})[_0x49c4('0x31')](respondWithResult(_0x31ba95,null))['catch'](handleError(_0x31ba95,null));};exports[_0x49c4('0xcd')]=function(_0x1aad10,_0x5d9bcb,_0x599763){_0x1aad10[_0x49c4('0x76')]['name']=_0x1aad10[_0x49c4('0xce')]['originalname'];_0x1aad10[_0x49c4('0x76')]['basename']=_0x1aad10[_0x49c4('0xce')][_0x49c4('0xcf')];_0x1aad10[_0x49c4('0x76')][_0x49c4('0x75')]=_0x1aad10['file']['mimetype'];return db[_0x49c4('0xd0')][_0x49c4('0xb7')](_0x1aad10[_0x49c4('0x76')])['then'](respondWithResult(_0x5d9bcb,0xc9))[_0x49c4('0x26')](handleError(_0x5d9bcb,null));};exports[_0x49c4('0xd1')]=function(_0x5ae29d,_0x5f2411,_0x43ca05){return db[_0x49c4('0x3d')][_0x49c4('0xd2')]({'where':{'id':_0x5ae29d['params']['id']},'raw':!![]})[_0x49c4('0x31')](handleEntityNotFound(_0x5f2411,null))[_0x49c4('0x31')](function(_0x278225){if(_0x278225){if(_0x278225[_0x49c4('0xd3')]){return _0x5f2411['status'](0x193)[_0x49c4('0x29')]({'status':0x193,'message':'Unauthorized'});}return db['Attachment'][_0x49c4('0xd2')]({'where':{'id':_0x5ae29d[_0x49c4('0x41')][_0x49c4('0xd4')]},'raw':!![]})[_0x49c4('0x31')](handleEntityNotFound(_0x5f2411,null));}})['then'](function(_0x32b6e4){if(_0x32b6e4){return _0x5f2411[_0x49c4('0xd5')](path[_0x49c4('0xd6')](config[_0x49c4('0xd7')],'server/files/attachments/',_0x32b6e4[_0x49c4('0xd8')]));}})['catch'](handleError(_0x5f2411,null));};exports['close']=function(_0x29f48d,_0x10d108){var _0x1311d4=null;var _0x56a631=null;var _0x336853=null;var _0x4a874a=null;if(_0x29f48d[_0x49c4('0x76')]['id']){delete _0x29f48d[_0x49c4('0x76')]['id'];}if(_0x29f48d[_0x49c4('0x76')][_0x49c4('0xd9')]){_0x4a874a=path[_0x49c4('0xd6')](config[_0x49c4('0xd7')],_0x49c4('0xda'),util['format'](_0x49c4('0xdb'),Date[_0x49c4('0xdc')]()));_0x29f48d[_0x49c4('0x76')][_0x49c4('0xdd')]=_0x4a874a;}return db['ChatInteraction']['find']({'where':{'id':_0x29f48d['params']['id']},'include':[{'model':db[_0x49c4('0xc3')],'as':_0x49c4('0xde'),'include':[{'model':db[_0x49c4('0x71')],'as':_0x49c4('0x71')}]}]})[_0x49c4('0x31')](handleEntityNotFound(_0x10d108,null))[_0x49c4('0x31')](saveUpdates(_0x29f48d[_0x49c4('0x76')],null))['then'](function(_0xc644de){if(_0xc644de){_0x1311d4=_0xc644de;return db[_0x49c4('0xba')]['find']({'where':{'id':_0x1311d4['ChatWebsiteId']}});}})['then'](function(_0x8395b0){if(_0x8395b0){_0x336853=_0x8395b0;return db[_0x49c4('0xdf')][_0x49c4('0x62')]({'where':{'id':_0x1311d4[_0x49c4('0x6c')]}});}})[_0x49c4('0x31')](function(_0x1480d3){if(_0x1480d3){_0x56a631=_0x1480d3;if(_0x4a874a){var _0x2f36c6=null;for(var _0x5039fc=0x1;_0x5039fc<_0x1311d4[_0x49c4('0xde')][_0x49c4('0x46')];++_0x5039fc){_0x2f36c6=_0x1311d4[_0x49c4('0xde')][_0x5039fc];var _0x2f018d=_0x2f36c6['UserId']?util[_0x49c4('0xe0')](_0x49c4('0xe1'),_0x336853[_0x49c4('0xe2')],_0x2f36c6[_0x49c4('0x74')]):_0x49c4('0xe3');var _0x4f6a04=_0x29f48d[_0x49c4('0x76')]['customer']||util['format'](_0x49c4('0xe1'),_0x49c4('0xe4'),_0x2f36c6[_0x49c4('0x6c')]);switch(_0x336853[_0x49c4('0xe5')]){case _0x49c4('0xe6'):_0x2f018d=_0x2f36c6['UserId']?util[_0x49c4('0xe0')](_0x49c4('0xe1'),_0x336853[_0x49c4('0xe2')],_0x2f36c6['UserId']):_0x49c4('0xe3');break;case _0x49c4('0xe7'):_0x2f018d=_0x2f36c6['UserId']?_0x2f36c6[_0x49c4('0x71')][_0x49c4('0xe8')]||_0x2f36c6[_0x49c4('0x71')][_0x49c4('0xe9')]:_0x49c4('0xe3');break;case _0x49c4('0xea'):_0x2f018d=_0x2f36c6[_0x49c4('0x74')]?_0x2f36c6['User'][_0x49c4('0xe9')]:_0x49c4('0xe3');break;default:_0x2f018d=_0x2f36c6[_0x49c4('0x74')]?util[_0x49c4('0xe0')](_0x49c4('0xe1'),_0x336853['agentAlias'],_0x2f36c6[_0x49c4('0x74')]):_0x49c4('0xe3');}var _0x28b1d0=util[_0x49c4('0xe0')](_0x49c4('0xeb'),moment(_0x2f36c6['createdAt'])[_0x49c4('0xe0')](_0x49c4('0xec')),_0x2f36c6[_0x49c4('0xed')]==='in'?_0x4f6a04:_0x2f018d,_0x2f36c6[_0x49c4('0x76')]);if(!_0x2f36c6[_0x49c4('0xee')]){fs[_0x49c4('0xef')](_0x4a874a,_0x28b1d0);}}return db[_0x49c4('0xf0')][_0x49c4('0xd2')]({'where':{'service':!![]},'include':[{'model':db[_0x49c4('0xf1')],'as':_0x49c4('0xf2'),'raw':!![]}]});}}})['then'](function(_0x2d3211){if(_0x2d3211&&_0x2d3211[_0x49c4('0xf2')]&&_0x29f48d[_0x49c4('0x76')]){var _0x1745f8={'tls':{'rejectUnauthorized':![]}};if(_0x2d3211[_0x49c4('0xf2')]['service']){_0x1745f8['service']=_0x2d3211[_0x49c4('0xf2')][_0x49c4('0xf3')];}else{_0x1745f8[_0x49c4('0xf4')]=_0x2d3211[_0x49c4('0xf2')][_0x49c4('0xf4')];_0x1745f8[_0x49c4('0xf5')]=_0x2d3211['Smtp'][_0x49c4('0xf5')];_0x1745f8[_0x49c4('0xf6')]=_0x2d3211['Smtp'][_0x49c4('0xf6')];}if(_0x2d3211['Smtp'][_0x49c4('0xf7')]){_0x1745f8[_0x49c4('0xf8')]={'user':_0x2d3211[_0x49c4('0xf2')]['user'],'pass':_0x2d3211[_0x49c4('0xf2')]['pass']};}return respondWithRpcPromise(_0x49c4('0xf9'),'sendMail',{'account':_0x1745f8,'message':{'from':util['format'](_0x49c4('0xfa'),_0x2d3211[_0x49c4('0x33')],_0x2d3211[_0x49c4('0xfb')]||_0x2d3211[_0x49c4('0xf2')][_0x49c4('0xc2')]),'to':_0x29f48d[_0x49c4('0x76')]['mailTranscript'],'subject':'Mail\x20Transcript','text':util[_0x49c4('0xe0')](_0x49c4('0xfc'),_0x29f48d[_0x49c4('0x76')][_0x49c4('0xd9')]),'attachments':[{'path':_0x4a874a}]}})[_0x49c4('0x31')](function(){return _0x1311d4;})[_0x49c4('0x26')](function(_0x277d6c){console['error'](_0x277d6c);});}else{return _0x1311d4;}})['then'](respondWithStatusCode(_0x10d108,0xc8))['catch'](handleError(_0x10d108,null));};exports['addMessage']=function(_0x2cf3bb,_0x479203,_0x3759c7){return db[_0x49c4('0xc3')][_0x49c4('0x62')]({'where':{'id':_0x2cf3bb['params']['id']}})['then'](handleEntityNotFound(_0x479203,null))[_0x49c4('0x31')](function(_0x50088b){if(_0x50088b){return _0x50088b['addMessage'](_0x2cf3bb[_0x49c4('0x76')][_0x49c4('0xfd')],_[_0x49c4('0xfe')](_0x2cf3bb[_0x49c4('0x76')],[_0x49c4('0xfd'),'id'])||{});}})[_0x49c4('0x31')](respondWithResult(_0x479203,null))['catch'](handleError(_0x479203,null));};exports[_0x49c4('0xff')]=function(_0xb0726,_0x234848,_0x5730aa){var _0x3f8ab0={'raw':![],'where':{}};var _0x40ea3d={};var _0x18ca8d={'count':0x0,'rows':[]};return db[_0x49c4('0x3d')][_0x49c4('0xd2')]({'where':{'id':_0xb0726[_0x49c4('0xb2')]['id']}})[_0x49c4('0x31')](handleEntityNotFound(_0x234848,null))[_0x49c4('0x31')](function(_0x4861df){if(_0x4861df){_0x40ea3d[_0x49c4('0x40')]=_[_0x49c4('0x77')](db[_0x49c4('0xc3')][_0x49c4('0x3e')]);_0x40ea3d[_0x49c4('0x41')]=_[_0x49c4('0x77')](_0xb0726['query']);_0x40ea3d[_0x49c4('0x42')]=_[_0x49c4('0x43')](_0x40ea3d[_0x49c4('0x40')],_0x40ea3d[_0x49c4('0x41')]);_0x3f8ab0[_0x49c4('0x44')]=_[_0x49c4('0x43')](_0x40ea3d[_0x49c4('0x40')],qs[_0x49c4('0x45')](_0xb0726[_0x49c4('0x41')][_0x49c4('0x45')]));_0x3f8ab0[_0x49c4('0x44')]=_0x3f8ab0[_0x49c4('0x44')][_0x49c4('0x46')]?_0x3f8ab0[_0x49c4('0x44')]:_0x40ea3d['model'];if(!_0xb0726['query'][_0x49c4('0x100')](_0x49c4('0x47'))){_0x3f8ab0['limit']=qs['limit'](_0xb0726[_0x49c4('0x41')]['limit']);_0x3f8ab0[_0x49c4('0x2b')]=qs[_0x49c4('0x2b')](_0xb0726[_0x49c4('0x41')][_0x49c4('0x2b')]);}_0x3f8ab0[_0x49c4('0x95')]=qs[_0x49c4('0x48')](_0xb0726[_0x49c4('0x41')][_0x49c4('0x48')]);_0x3f8ab0['where']=qs[_0x49c4('0x42')](_[_0x49c4('0x4a')](_0xb0726[_0x49c4('0x41')],_0x40ea3d[_0x49c4('0x42')]));_0x3f8ab0[_0x49c4('0x49')]['ChatInteractionId']=_0x4861df['id'];if(_0xb0726[_0x49c4('0x41')][_0x49c4('0x89')]){_0x3f8ab0['where']=_[_0x49c4('0xb5')](_0x3f8ab0[_0x49c4('0x49')],{'$or':_['map'](_0x3f8ab0[_0x49c4('0x44')],function(_0x3119a5){var _0x107f65={};_0x107f65[_0x3119a5]={'$like':'%'+_0xb0726['query'][_0x49c4('0x89')]+'%'};return _0x107f65;})});}if(_0xb0726[_0x49c4('0x41')][_0x49c4('0x7d')]){var _0x3d6a36=_0xb0726['query'][_0x49c4('0x7d')]['split'](',');var _0x3508b7={};_0x3508b7[_0x3d6a36[0x0]]={'$gte':moment(_0x3d6a36[0x1])[_0x49c4('0xe0')](_0x49c4('0x101'))};_0x3f8ab0[_0x49c4('0x49')]=_['merge'](_0x3f8ab0[_0x49c4('0x49')],_0x3508b7);}_0x3f8ab0=_[_0x49c4('0xb5')]({},_0x3f8ab0,_0xb0726[_0x49c4('0xb6')]);return db[_0x49c4('0xc3')][_0x49c4('0x2a')]({'where':_0x3f8ab0[_0x49c4('0x49')]})['then'](function(_0x48d4d1){_0x18ca8d[_0x49c4('0x2a')]=_0x48d4d1;if(_0xb0726[_0x49c4('0x41')][_0x49c4('0xb3')]){_0x3f8ab0[_0x49c4('0xb4')]=[{'all':!![]}];}return db[_0x49c4('0xc3')][_0x49c4('0x102')](_0x3f8ab0);})[_0x49c4('0x31')](function(_0x45fc33){_0x18ca8d[_0x49c4('0xb0')]=_0x45fc33;return _0x18ca8d;});}})[_0x49c4('0x31')](respondWithFilteredResult(_0x234848,_0x3f8ab0))[_0x49c4('0x26')](handleError(_0x234848,null));};exports[_0x49c4('0x103')]=function(_0x527c76,_0x3a7742,_0x312f87){var _0x491203={'where':{}},_0x154017={},_0x5adc01={'count':0x0,'rows':[]};return db[_0x49c4('0x3d')][_0x49c4('0xd2')]({'where':{'id':_0x527c76['params']['id']}})[_0x49c4('0x31')](handleEntityNotFound(_0x3a7742,null))[_0x49c4('0x31')](function(_0x15fa38){if(_0x15fa38){_0x154017[_0x49c4('0x40')]=_[_0x49c4('0x77')](db['ChatMessage'][_0x49c4('0x3e')]);_0x154017['query']=_[_0x49c4('0x77')](_0x527c76[_0x49c4('0x41')]);_0x154017[_0x49c4('0x42')]=_['intersection'](_0x154017[_0x49c4('0x40')],_0x154017[_0x49c4('0x41')]);_0x491203[_0x49c4('0x44')]=_['intersection'](_0x154017['model'],qs[_0x49c4('0x45')](_0x527c76[_0x49c4('0x41')][_0x49c4('0x45')]));_0x491203[_0x49c4('0x44')]=_0x491203[_0x49c4('0x44')][_0x49c4('0x46')]?_0x491203['attributes']:_0x154017['model'];if(!_0x527c76['query'][_0x49c4('0x100')](_0x49c4('0x47'))){_0x491203[_0x49c4('0x2c')]=qs[_0x49c4('0x2c')](_0x527c76['query'][_0x49c4('0x2c')]);_0x491203[_0x49c4('0x2b')]=qs[_0x49c4('0x2b')](_0x527c76[_0x49c4('0x41')][_0x49c4('0x2b')]);}_0x491203[_0x49c4('0x95')]=qs[_0x49c4('0x48')](_0x527c76[_0x49c4('0x41')][_0x49c4('0x48')]);_0x491203[_0x49c4('0x49')]=qs[_0x49c4('0x42')](_['pick'](_0x527c76[_0x49c4('0x41')],_0x154017['filters']));_0x491203[_0x49c4('0x49')][_0x49c4('0xaf')]=_0x15fa38['id'];if(_0x527c76[_0x49c4('0x41')][_0x49c4('0x89')]){_0x491203['where']=_[_0x49c4('0xb5')](_0x491203['where'],{'$or':_['map'](_0x491203['attributes'],function(_0x31662d){var _0x3cea2={};_0x3cea2[_0x31662d]={'$like':'%'+_0x527c76[_0x49c4('0x41')]['filter']+'%'};return _0x3cea2;})});}_0x491203[_0x49c4('0x49')]['secret']=![];if(_0x527c76[_0x49c4('0x41')]['id']){_0x491203[_0x49c4('0x49')]['id']={'$gt':_0x527c76[_0x49c4('0x41')]['id']};}_0x491203=_['merge']({},_0x491203,_0x527c76[_0x49c4('0xb6')]);return db[_0x49c4('0xc3')][_0x49c4('0x2a')]({'where':_0x491203[_0x49c4('0x49')]})[_0x49c4('0x31')](function(_0x5dbd6d){_0x5adc01[_0x49c4('0x2a')]=_0x5dbd6d;_0x491203[_0x49c4('0xb4')]=[];if(_0x527c76[_0x49c4('0x41')][_0x49c4('0x104')]){_0x491203['include']['push']({'model':db[_0x49c4('0x71')],'as':_0x49c4('0x71'),'attributes':['id','fullname',_0x49c4('0xe8')]});}if(_0x527c76[_0x49c4('0x41')][_0x49c4('0xb3')]){_0x491203[_0x49c4('0xb4')]=[{'all':!![]}];}return db['ChatMessage'][_0x49c4('0x102')](_0x491203);})[_0x49c4('0x31')](function(_0x5335f9){_0x5adc01['rows']=_0x5335f9;return _0x5adc01;});}})[_0x49c4('0x31')](respondWithFilteredResult(_0x3a7742,_0x491203))[_0x49c4('0x26')](handleError(_0x3a7742,null));};exports[_0x49c4('0x105')]=function(_0x56fe72,_0x1241b6,_0x5ee9f1){return db[_0x49c4('0x3d')]['find']({'where':{'id':_0x56fe72[_0x49c4('0xb2')]['id']}})[_0x49c4('0x31')](handleEntityNotFound(_0x1241b6,null))[_0x49c4('0x31')](function(_0x13e8e2){if(_0x13e8e2){return _0x13e8e2['setTags'](_0x56fe72['body']['ids'],_[_0x49c4('0xfe')](_0x56fe72[_0x49c4('0x76')],[_0x49c4('0xfd'),'id'])||{})[_0x49c4('0x106')](function(){return db['Tag']['findAll']({'attributes':['id',_0x49c4('0x33'),'color'],'where':{'id':_0x56fe72[_0x49c4('0x76')][_0x49c4('0xfd')]}});})['then'](function(_0x369982){socket[_0x49c4('0x107')](_0x49c4('0x108'),{'id':Number(_0x56fe72['params']['id']),'tags':_0x369982||[]});return{'id':Number(_0x56fe72[_0x49c4('0xb2')]['id']),'tags':_0x369982||[]};});}})[_0x49c4('0x31')](respondWithResult(_0x1241b6,null))[_0x49c4('0x26')](handleError(_0x1241b6,null));};exports['removeTags']=function(_0x3eacc1,_0x35b8e9,_0x5f4d4e){return db[_0x49c4('0x3d')][_0x49c4('0x62')]({'where':{'id':_0x3eacc1['params']['id']}})[_0x49c4('0x31')](handleEntityNotFound(_0x35b8e9,null))[_0x49c4('0x31')](function(_0xc58a9e){if(_0xc58a9e){return _0xc58a9e[_0x49c4('0x109')](_0x3eacc1[_0x49c4('0x41')]['ids']);}})[_0x49c4('0x31')](respondWithStatusCode(_0x35b8e9,null))[_0x49c4('0x26')](handleError(_0x35b8e9,null));};exports['download']=function(_0x5a4b35,_0x31f0d4){var _0x1ddf3d=moment()['unix']()[_0x49c4('0x9e')]();var _0x55bb71=path[_0x49c4('0xd6')](config[_0x49c4('0xd7')],'server',_0x49c4('0x10a'),'tmp');var _0x1742e4=path[_0x49c4('0xd6')](config['root'],_0x49c4('0x10b'),_0x49c4('0x10a'),'attachments');var _0x5bb5ac=path[_0x49c4('0xd6')](_0x55bb71,_0x1ddf3d);var _0x30ade5=util[_0x49c4('0xe0')](_0x49c4('0x10c'),_0x5a4b35[_0x49c4('0xb2')]['id'],_0x1ddf3d);var _0x5b0f2c=path[_0x49c4('0xd6')](_0x55bb71,_0x30ade5);var _0x40afb8=[];_0x40afb8[_0x49c4('0x3b')]({'model':db[_0x49c4('0x71')],'as':_0x49c4('0x71'),'attributes':['id','fullname'],'raw':!![]});_0x40afb8[_0x49c4('0x3b')]({'model':db[_0x49c4('0xdf')],'as':_0x49c4('0x68'),'attributes':['id',_0x49c4('0x10d'),_0x49c4('0x10e')],'raw':!![]});if(_0x5a4b35[_0x49c4('0x41')][_0x49c4('0x10f')]){_0x40afb8[_0x49c4('0x3b')]({'model':db['Attachment'],'as':_0x49c4('0xd0'),'raw':!![]});}var _0x1661eb=[{'model':db[_0x49c4('0xc3')],'as':'Messages','attributes':['id','body',_0x49c4('0x7b'),'direction',_0x49c4('0xee'),_0x49c4('0x83')],'include':_0x40afb8}];_0x1661eb[_0x49c4('0x3b')]({'model':db[_0x49c4('0xba')],'as':'Account','attributes':['id',_0x49c4('0x33')]});_0x1661eb[_0x49c4('0x3b')]({'model':db[_0x49c4('0x71')],'as':_0x49c4('0x110'),'attributes':['id','fullname']});return db[_0x49c4('0x3d')][_0x49c4('0x62')]({'where':{'id':_0x5a4b35['params']['id']},'include':_0x1661eb})[_0x49c4('0x31')](handleEntityNotFound(_0x31f0d4,null))[_0x49c4('0x31')](function(_0x1f2d93){if(_0x1f2d93){var _0x72eab6=_0x1f2d93[_0x49c4('0x111')]({'plain':!![]});fs[_0x49c4('0x112')](_0x5bb5ac);var _0x2de85a={'format':'A4','border':_0x49c4('0x113'),'header':{'height':'40px','contents':{'first':'<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>'}},'footer':{'height':'30px','contents':{'default':util[_0x49c4('0xe0')](_0x49c4('0x114'),util[_0x49c4('0xe0')](_0x49c4('0x115'),_0x49c4('0x116'),_0x72eab6['id']),moment()['format'](_0x49c4('0x117'))[_0x49c4('0x9e')]())}}};var _0x9786bf={'channel':_0x49c4('0x116'),'account':_0x72eab6['Account']['name'],'agent':_0x72eab6[_0x49c4('0x110')]?_0x72eab6[_0x49c4('0x110')][_0x49c4('0xe9')]:_0x49c4('0x118'),'createdAt':moment(_0x72eab6[_0x49c4('0x7b')])[_0x49c4('0xe0')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'closedAt':_0x72eab6[_0x49c4('0xd3')]?moment(_0x72eab6[_0x49c4('0x119')])[_0x49c4('0xe0')](_0x49c4('0x101'))[_0x49c4('0x9e')]():'','disposition':_0x72eab6['disposition'],'chatInfo':{'browser':_0x72eab6[_0x49c4('0x11a')],'os':_0x72eab6[_0x49c4('0x11b')],'referer':_0x72eab6[_0x49c4('0x11c')],'customerIp':_0x72eab6[_0x49c4('0x11d')],'customerPort':_0x72eab6[_0x49c4('0x11e')]?_0x72eab6[_0x49c4('0x11e')]:_0x49c4('0x118')},'messages':_(_0x72eab6[_0x49c4('0xde')])[_0x49c4('0x11f')]()['filter']({'secret':![]})[_0x49c4('0x36')](function(_0x37c856){if(_0x37c856[_0x49c4('0xd0')]){var _0x3bd15b=path[_0x49c4('0xd6')](_0x1742e4,_0x37c856['Attachment'][_0x49c4('0xd8')]);if(fs[_0x49c4('0x120')](_0x3bd15b)){fs['createReadStream'](_0x3bd15b)[_0x49c4('0x121')](fs['createWriteStream'](path[_0x49c4('0xd6')](_0x5bb5ac,_0x37c856['Attachment'][_0x49c4('0xd8')])));}}return{'date':moment(_0x37c856[_0x49c4('0x7b')])['format'](_0x49c4('0x101'))['toString'](),'sender':_0x37c856[_0x49c4('0xed')]===_0x49c4('0xc1')?_0x37c856[_0x49c4('0x71')]?_0x37c856[_0x49c4('0x71')][_0x49c4('0xe9')]:'System':_0x37c856[_0x49c4('0x68')][_0x49c4('0x10d')]+(_0x37c856[_0x49c4('0x68')][_0x49c4('0x10e')]?'\x20'+_0x37c856[_0x49c4('0x68')][_0x49c4('0x10e')]:''),'body':_0x37c856[_0x49c4('0xd0')]?_0x37c856[_0x49c4('0xd0')]['basename']:_0x37c856[_0x49c4('0x76')],'direction':_0x37c856[_0x49c4('0xed')]===_0x49c4('0xc1')?'A':'C','secret':_0x37c856[_0x49c4('0xee')],'read':_0x37c856[_0x49c4('0x83')],'attachment':_0x37c856[_0x49c4('0xd0')]};})[_0x49c4('0x64')]()};return ejs[_0x49c4('0x122')](path[_0x49c4('0xd6')](config[_0x49c4('0xd7')],_0x49c4('0x10b'),_0x49c4('0x123'),'downloadInteraction.html'),{'interaction':_0x9786bf})[_0x49c4('0x31')](function(_0x48c273){return new BPromise(function(_0xfcad6e,_0x148f17){pdf[_0x49c4('0xb7')](_0x48c273,_0x2de85a)[_0x49c4('0x124')](path[_0x49c4('0xd6')](_0x5bb5ac,_0x49c4('0x125')+_0x72eab6['id']+'-'+_0x1ddf3d+_0x49c4('0x126')),function(_0x327fdc,_0x1aca63){if(_0x327fdc)return _0x148f17(_0x327fdc);_0xfcad6e(_0x1aca63);});});})[_0x49c4('0x31')](function(){return new BPromise(function(_0x33ce23,_0x4595cc){zipdir(_0x5bb5ac,{'saveTo':_0x5b0f2c},function(_0x23f445,_0x293270){if(_0x23f445)return _0x4595cc(_0x23f445);return _0x33ce23(_0x293270);});})[_0x49c4('0x31')](function(){return new BPromise(function(_0x4a84df,_0x464821){rimraf(_0x5bb5ac,function(_0x519487){if(_0x519487)_0x464821(_0x519487);return _0x4a84df();});});})['then'](function(){return _0x31f0d4[_0x49c4('0xd5')](_0x5b0f2c,_0x30ade5,function(_0x48b98e){if(_0x48b98e){console[_0x49c4('0x127')](_0x49c4('0x128'),_0x48b98e);}else{fs[_0x49c4('0x129')](_0x5b0f2c);}});});});}else{return _0x31f0d4[_0x49c4('0xca')](0xc8);}})[_0x49c4('0x26')](handleError(_0x31f0d4,null));};