Built motion from commit 9d1906d1.|2.5.40
[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 _0x3691=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','socket.io-emitter','./chatInteraction.socket','register','http','request','then','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','status','json','offset','undefined','limit','reject','save','update','destroy','end','render','merge','body','agent','account','Users','TagIds','Tags','forEach','push','catch','answered','unmanaged','abandoned','total','closed','UserId','waiting','talking','disposition','index','map','ChatInteraction','rawAttributes','fieldName','type','key','name','query','keys','filters','model','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','user_has_chat_interactions','left_join','u.id\x20=\x20ui.UserId','chat_interactions','cm_contacts','users','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','length','conditions','find','unreadMessages','value','having','`\x20>\x200','operator','$substring','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','buildExpression','text','start','Tag','split','union','User','some','compact','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','read','tag','isArray','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','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','user','sequelize','toString','count','keyBy','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','Contact.firstName','c.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.fax','o.fullname','Owner.fullname','Owner.internal','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','show','params','intersection','include','options','create','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','vidaooTopic','vidaooNote','vidaooMetadata','fullname','email','contact','POST','https://api-vidaoo.xcally.com/api/v1/meetings','isNull','follow','metadata','ValidationError','Error\x20in\x20conversion\x20vidaooMetadata','join_url','out','ChatMessage','customUpdate','CmContact','Contact','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','AbandonInteraction','attachmentUpload','file','originalname','basename','mimetype','Unauthorized','Attachment','attachId','ChatOfflineMessageId','join','server/files/attachments/','download','mailTranscript','root','server/files/chat/upload/','format','now','pathTranscript','Messages','ContactId','System','customer','%s%d','Visitor','website_alias','agentAlias','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','appendFileSync','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','SendMail','sendMail','\x22%s\x22\x20<%s>','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','$gte','getMyMessages','setTags','spread','chatInteractionTags:save','removeTags','unix','server','tmp','files','attachments','transcript-%d-%s.zip','lastName','get','mkdirSync','Chat','Owner','N.A.','closedAt','YYYY-MM-DD\x20HH:mm:ss','osName','referer','customerIp','customerPort','existsSync','createReadStream','pipe','createWriteStream','downloadInteraction.ejs','transcript-','.pdf','log','err','unlinkSync','sendStatus','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','desk.js','querystring'];(function(_0x42bc91,_0x41f40a){var _0x3f5507=function(_0x20cfaf){while(--_0x20cfaf){_0x42bc91['push'](_0x42bc91['shift']());}};_0x3f5507(++_0x41f40a);}(_0x3691,0x12c));var _0x1369=function(_0x4df138,_0x4a40d2){_0x4df138=_0x4df138-0x0;var _0x5c8187=_0x3691[_0x4df138];return _0x5c8187;};'use strict';var emlformat=require(_0x1369('0x0'));var rimraf=require(_0x1369('0x1'));var zipdir=require(_0x1369('0x2'));var jsonpatch=require(_0x1369('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x1369('0x4'));var util=require(_0x1369('0x5'));var path=require(_0x1369('0x6'));var sox=require(_0x1369('0x7'));var csv=require(_0x1369('0x8'));var ejs=require(_0x1369('0x9'));var fs=require('fs');var fs_extra=require(_0x1369('0xa'));var _=require('lodash');var squel=require(_0x1369('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x1369('0xc'));var toCsv=require('to-csv');var querystring=require(_0x1369('0xd'));var Papa=require(_0x1369('0xe'));var Redis=require(_0x1369('0xf'));var authService=require(_0x1369('0x10'));var qs=require(_0x1369('0x11'));var as=require(_0x1369('0x12'));var pdf=require(_0x1369('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1369('0x14'))('api');var utils=require(_0x1369('0x15'));var config=require(_0x1369('0x16'));var licenseUtil=require(_0x1369('0x17'));var db=require(_0x1369('0x18'))['db'];config['redis']=_[_0x1369('0x19')](config[_0x1369('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0x1369('0x1b'))(new Redis(config[_0x1369('0x1a')]));require(_0x1369('0x1c'))[_0x1369('0x1d')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x1369('0x1e')]({'port':0x232b});var client9004=jayson['client'][_0x1369('0x1e')]({'port':0x232c});function respondWithRpcPromise(_0x1af79a,_0x4ceb15,_0x3dffd0,_0xf4b8e){return new BPromise(function(_0x4fab23,_0x2015e2){var _0x3ef864=_0xf4b8e||client;return _0x3ef864[_0x1369('0x1f')](_0x1af79a,_0x3dffd0)[_0x1369('0x20')](function(_0x5b4002){logger['info'](_0x1369('0x21'),_0x4ceb15,_0x1369('0x22'));logger[_0x1369('0x23')](_0x1369('0x24'),_0x4ceb15,_0x1369('0x22'),JSON[_0x1369('0x25')](_0x5b4002));if(_0x5b4002[_0x1369('0x26')]){if(_0x5b4002[_0x1369('0x26')][_0x1369('0x27')]===0x1f4){logger[_0x1369('0x26')](_0x1369('0x21'),_0x4ceb15,_0x5b4002[_0x1369('0x26')][_0x1369('0x28')]);return _0x2015e2(_0x5b4002[_0x1369('0x26')]['message']);}logger[_0x1369('0x26')](_0x1369('0x21'),_0x4ceb15,_0x5b4002[_0x1369('0x26')][_0x1369('0x28')]);return _0x4fab23(_0x5b4002[_0x1369('0x26')][_0x1369('0x28')]);}else{logger[_0x1369('0x29')](_0x1369('0x21'),_0x4ceb15,'request\x20sent');_0x4fab23(_0x5b4002['result'][_0x1369('0x28')]);}})['catch'](function(_0x5d1e3b){logger[_0x1369('0x26')](_0x1369('0x21'),_0x4ceb15,_0x5d1e3b);_0x2015e2(_0x5d1e3b);});});}function respondWithStatusCode(_0x2d1db4,_0x30cd56){_0x30cd56=_0x30cd56||0xcc;return function(_0x599042){if(_0x599042){return _0x2d1db4['sendStatus'](_0x30cd56);}return _0x2d1db4[_0x1369('0x2a')](_0x30cd56)['end']();};}function respondWithResult(_0xbd157b,_0x3e1c2b){_0x3e1c2b=_0x3e1c2b||0xc8;return function(_0x3cae68){if(_0x3cae68){return _0xbd157b[_0x1369('0x2a')](_0x3e1c2b)[_0x1369('0x2b')](_0x3cae68);}};}function respondWithFilteredResult(_0x5122e7,_0x2436b7){return function(_0x31c776){if(_0x31c776){var _0x2458a5=typeof _0x2436b7[_0x1369('0x2c')]===_0x1369('0x2d')&&typeof _0x2436b7['limit']===_0x1369('0x2d');var _0x3fee9d=_0x31c776['count'];var _0x24ce6a=_0x2458a5?0x0:_0x2436b7[_0x1369('0x2c')];var _0x35fb93=_0x2458a5?_0x31c776['count']:_0x2436b7['offset']+_0x2436b7[_0x1369('0x2e')];var _0x210a2f;if(_0x35fb93>=_0x3fee9d){_0x35fb93=_0x3fee9d;_0x210a2f=0xc8;}else{_0x210a2f=0xce;}_0x5122e7[_0x1369('0x2a')](_0x210a2f);return _0x5122e7['set']('Content-Range',_0x24ce6a+'-'+_0x35fb93+'/'+_0x3fee9d)[_0x1369('0x2b')](_0x31c776);}return null;};}function patchUpdates(_0x3ae97d){return function(_0x1e8fe3){try{jsonpatch['apply'](_0x1e8fe3,_0x3ae97d,!![]);}catch(_0x2f86d6){return BPromise[_0x1369('0x2f')](_0x2f86d6);}return _0x1e8fe3[_0x1369('0x30')]();};}function saveUpdates(_0xc1e157,_0x2ebb27){return function(_0x5af643){if(_0x5af643){return _0x5af643[_0x1369('0x31')](_0xc1e157)['then'](function(_0x5e24c4){return _0x5e24c4;});}return null;};}function removeEntity(_0x326156,_0x39a74e){return function(_0x5cd2a0){if(_0x5cd2a0){return _0x5cd2a0[_0x1369('0x32')]()['then'](function(){_0x326156[_0x1369('0x2a')](0xcc)[_0x1369('0x33')]();});}};}function handleEntityNotFound(_0x3a32d6,_0x515703){return function(_0x38b67f){if(!_0x38b67f){_0x3a32d6['sendStatus'](0x194);}return _0x38b67f;};}function handleError(_0x47f05a,_0x280f10){_0x280f10=_0x280f10||0x1f4;return function(_0xad31ab){logger[_0x1369('0x26')](_0xad31ab['stack']);if(_0xad31ab['name']){delete _0xad31ab['name'];}_0x47f05a[_0x1369('0x2a')](_0x280f10)['send'](_0xad31ab);};}function getMustacheRender(_0x3dadf9,_0x23e55c){return Mustache[_0x1369('0x34')](_0x3dadf9,_[_0x1369('0x35')](_0x23e55c[_0x1369('0x36')],{'contact':_0x23e55c['contact'],'message':_0x23e55c[_0x1369('0x28')],'agent':_0x23e55c[_0x1369('0x37')],'interaction':_0x23e55c['interaction'],'account':_0x23e55c[_0x1369('0x38')]}))||'';}function getInteractionUsers(_0x22419e,_0x5112e5){return new BPromise(function(_0x5343ac,_0x5cf453){try{if(_0x5112e5[_0x22419e['id']]){_0x22419e[_0x1369('0x39')]=_['map'](_0x5112e5[_0x22419e['id']],function(_0x2651b5){return{'id':_0x2651b5['id'],'fullname':_0x2651b5['fullname']};});}}catch(_0x15296a){_0x5cf453(_0x15296a);}_0x5343ac(_0x22419e);});}function getInteractionTags(_0x47d56e,_0x2a05e9){return new BPromise(function(_0x37d887,_0x3cc48a){try{if(_0x47d56e[_0x1369('0x3a')]){_0x47d56e[_0x1369('0x3b')]=[];_0x47d56e[_0x1369('0x3a')]['split'](',')[_0x1369('0x3c')](function(_0x49b85b){_0x47d56e[_0x1369('0x3b')][_0x1369('0x3d')](_0x2a05e9[_0x49b85b]);});}delete _0x47d56e[_0x1369('0x3a')];}catch(_0x291110){_0x3cc48a(_0x291110);}_0x37d887(_0x47d56e);});}function updateChatInteraction(_0xc827d5,_0x1dc069,_0xa18e03){return new BPromise(function(_0x549867,_0xb6c7b1){return getInteractionUsers(_0xc827d5,_0xa18e03)[_0x1369('0x20')](function(_0x1e7d5c){return getInteractionTags(_0x1e7d5c,_0x1dc069);})['then'](function(_0x24871c){return getStateInteraction(_0x24871c);})[_0x1369('0x20')](function(_0x570d6d){_0x549867(_0x570d6d);})[_0x1369('0x3e')](function(_0x360165){_0xb6c7b1(_0x360165);});});}function getStateInteraction(_0x5ac755){return new BPromise(function(_0x48d446){_0x5ac755['waiting']=0x0;_0x5ac755['talking']=0x0;_0x5ac755[_0x1369('0x3f')]=0x0;_0x5ac755[_0x1369('0x40')]=0x0;_0x5ac755[_0x1369('0x41')]=0x0;_0x5ac755[_0x1369('0x42')]=0x0;if(!_0x5ac755[_0x1369('0x43')]&&!_0x5ac755[_0x1369('0x44')]){_0x5ac755[_0x1369('0x45')]+=0x1;}if(!_0x5ac755[_0x1369('0x43')]&&_0x5ac755[_0x1369('0x44')]){_0x5ac755[_0x1369('0x46')]+=0x1;if(_0x5ac755[_0x1369('0x45')]){_0x5ac755[_0x1369('0x45')]-=0x1;}}if(_0x5ac755[_0x1369('0x43')]&&_0x5ac755['disposition']===_0x1369('0x41')){_0x5ac755[_0x1369('0x41')]+=0x1;if(_0x5ac755[_0x1369('0x45')]){_0x5ac755[_0x1369('0x45')]-=0x1;}}else if(_0x5ac755[_0x1369('0x43')]&&!_0x5ac755[_0x1369('0x44')]&&_0x5ac755[_0x1369('0x47')]){_0x5ac755[_0x1369('0x40')]+=0x1;if(_0x5ac755[_0x1369('0x45')]){_0x5ac755[_0x1369('0x45')]-=0x1;}}else if(_0x5ac755[_0x1369('0x43')]&&_0x5ac755[_0x1369('0x44')]){_0x5ac755[_0x1369('0x3f')]+=0x1;if(_0x5ac755[_0x1369('0x46')]){_0x5ac755[_0x1369('0x46')]-=0x1;}}_0x5ac755[_0x1369('0x42')]+=0x1;_0x48d446(_0x5ac755);});}exports[_0x1369('0x48')]=function(_0x58264d,_0x32018b){var _0xa4377={},_0x498b2c={},_0x16301d={'count':0x0,'rows':[]};var _0x3747e0=_[_0x1369('0x49')](db[_0x1369('0x4a')][_0x1369('0x4b')],function(_0xba5f15){return{'name':_0xba5f15[_0x1369('0x4c')],'type':_0xba5f15[_0x1369('0x4d')][_0x1369('0x4e')]};});_0x498b2c['model']=_[_0x1369('0x49')](_0x3747e0,_0x1369('0x4f'));_0x498b2c[_0x1369('0x50')]=_[_0x1369('0x51')](_0x58264d['query']);_0x498b2c[_0x1369('0x52')]=_['intersection'](_0x498b2c[_0x1369('0x53')],_0x498b2c[_0x1369('0x50')]);_0xa4377['attributes']=_['intersection'](_0x498b2c[_0x1369('0x53')],qs[_0x1369('0x54')](_0x58264d[_0x1369('0x50')][_0x1369('0x54')]));_0xa4377[_0x1369('0x55')]=_0xa4377[_0x1369('0x55')]['length']?_0xa4377[_0x1369('0x55')]:_0x498b2c['model'];if(!_0x58264d[_0x1369('0x50')][_0x1369('0x56')](_0x1369('0x57'))){_0xa4377[_0x1369('0x2e')]=qs['limit'](_0x58264d[_0x1369('0x50')][_0x1369('0x2e')]);_0xa4377[_0x1369('0x2c')]=qs[_0x1369('0x2c')](_0x58264d[_0x1369('0x50')][_0x1369('0x2c')]);}_0xa4377[_0x1369('0x58')]=qs[_0x1369('0x59')](_0x58264d['query'][_0x1369('0x59')]);_0xa4377[_0x1369('0x5a')]=qs[_0x1369('0x52')](_[_0x1369('0x5b')](_0x58264d[_0x1369('0x50')],_0x498b2c[_0x1369('0x52')]),_0x3747e0);var _0x2653cc=[];var _0x4dc2af=squel[_0x1369('0x5c')]()[_0x1369('0x5d')]('id')[_0x1369('0x5d')]('name')[_0x1369('0x5d')](_0x1369('0x5e'))[_0x1369('0x5f')](_0x1369('0x60'));var _0x4b8d72=squel[_0x1369('0x5c')]()[_0x1369('0x5d')](_0x1369('0x61'))['field'](_0x1369('0x62'))[_0x1369('0x5d')]('ui.ChatInteractionId')[_0x1369('0x5f')](_0x1369('0x63'),'ui')[_0x1369('0x64')]('users','u',_0x1369('0x65'));var _0x229923=squel['select']()[_0x1369('0x5f')](_0x1369('0x66'),'i')[_0x1369('0x64')](_0x1369('0x67'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x1369('0x64')](_0x1369('0x68'),'o','o.id\x20=\x20i.UserId')[_0x1369('0x64')](_0x1369('0x69'),'a',_0x1369('0x6a'))[_0x1369('0x64')](_0x1369('0x6b'),'me',_0x1369('0x6c'))['left_join']('chat_interaction_has_tags','it',_0x1369('0x6d'))['left_join'](_0x1369('0x60'),'t',_0x1369('0x6e'));var _0xc41678=squel[_0x1369('0x6f')]();var _0x2536e6=[];var _0x47d4a7=squel[_0x1369('0x6f')]();var _0x15a5cb;if(_0x58264d['query'][_0x1369('0x70')]){_0x15a5cb=as[_0x1369('0x71')](_0x58264d[_0x1369('0x50')][_0x1369('0x70')]);var _0x11f6b9=_0x15a5cb[_0x1369('0x72')];for(var _0x15f2f4=0x0;_0x15f2f4<_0x15a5cb['conditions'][_0x1369('0x73')];_0x15f2f4++){var _0x59f7a8=_0x15a5cb[_0x1369('0x74')][_0x15f2f4];var _0x30403f='i';var _0x318422=_[_0x1369('0x75')](_0x3747e0,[_0x1369('0x4f'),_0x59f7a8[_0x1369('0x5d')]]);if(!_0x318422){switch(_0x59f7a8[_0x1369('0x5d')]){case _0x1369('0x76'):if(_0x59f7a8[_0x1369('0x77')]==0x1){_0x229923[_0x1369('0x78')]('`'+_0x59f7a8['field']+'`\x20=\x200');}else{_0x229923['having']('`'+_0x59f7a8[_0x1369('0x5d')]+_0x1369('0x79'));}break;case'Contact':if(_0x59f7a8[_0x1369('0x7a')]===_0x1369('0x7b')){if(_0x59f7a8['value']['split']('\x20')['length']>0x1){_0xc41678[_0x11f6b9]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x1369('0x7c')](_0x59f7a8[_0x1369('0x77')]),null);}else{var _0x225ddd='%'+_0x59f7a8[_0x1369('0x77')]+'%';_0xc41678[_0x11f6b9](_0x1369('0x7d'),_0x225ddd,_0x225ddd,_0x225ddd);}}else{_0x318422=_[_0x1369('0x75')](_0x3747e0,[_0x1369('0x4f'),'ContactId']);_0x59f7a8[_0x1369('0x5d')]='ContactId';_0x149ff8=as[_0x1369('0x7e')](_0x30403f,_0x318422[_0x1369('0x4d')],_0x59f7a8);_0xc41678[_0x11f6b9](_0x149ff8[_0x1369('0x7f')],_0x149ff8['value'][_0x1369('0x80')],_0x149ff8['value'][_0x1369('0x33')]);}break;case _0x1369('0x81'):var _0x3e2326=_0x59f7a8[_0x1369('0x77')][_0x1369('0x82')](',')[_0x1369('0x49')](function(_0x4afb20){return Number(_0x4afb20);});_0x3e2326[_0x1369('0x3c')](function(_0xc8e255){_0x47d4a7['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0xc8e255+',%');});_0x2536e6=_[_0x1369('0x83')](_0x2536e6,_0x3e2326);break;case _0x1369('0x84'):if(_0x59f7a8[_0x1369('0x7a')]===_0x1369('0x7b')){_0xc41678[_0x11f6b9]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x59f7a8[_0x1369('0x77')]+'%',null);}else{_0x318422=_[_0x1369('0x75')](_0x3747e0,[_0x1369('0x4f'),_0x1369('0x44')]);_0x59f7a8[_0x1369('0x5d')]='UserId';_0x149ff8=as[_0x1369('0x7e')](_0x30403f,_0x318422['type'],_0x59f7a8);_0xc41678[_0x11f6b9](_0x149ff8[_0x1369('0x7f')],_0x149ff8[_0x1369('0x77')][_0x1369('0x80')],_0x149ff8[_0x1369('0x77')][_0x1369('0x33')]);}break;case _0x1369('0x36'):_0x149ff8=as[_0x1369('0x7e')]('me',null,_0x59f7a8);_0xc41678[_0x11f6b9](_0x149ff8[_0x1369('0x7f')],_0x149ff8[_0x1369('0x77')][_0x1369('0x80')],_0x149ff8[_0x1369('0x77')]['end']);break;}}else{var _0x149ff8=as[_0x1369('0x7e')](_0x30403f,_0x318422[_0x1369('0x4d')],_0x59f7a8);_0xc41678[_0x11f6b9](_0x149ff8[_0x1369('0x7f')],_0x149ff8[_0x1369('0x77')][_0x1369('0x80')],_0x149ff8[_0x1369('0x77')][_0x1369('0x33')]);}}}else{var _0x16782c=_(_0x58264d[_0x1369('0x50')])[_0x1369('0x51')]()[_0x1369('0x49')](function(_0x3ed9b2){return _[_0x1369('0x85')](_0x3747e0,[_0x1369('0x4f'),_0x3ed9b2])?_0x3ed9b2:undefined;})[_0x1369('0x86')]()[_0x1369('0x77')]();if(!_[_0x1369('0x87')](_0x16782c)){_0x16782c['forEach'](function(_0x2404ce){if(_0x2404ce===_0x1369('0x88')){_0x229923[_0x1369('0x5a')](_0x1369('0x89'),[][_0x1369('0x8a')](_0x58264d[_0x1369('0x50')][_0x2404ce]));}else if(_0x2404ce===_0x1369('0x8b')){var _0x58b9dd=JSON['parse'](_0x58264d[_0x1369('0x50')][_0x2404ce])['$gte'];var _0x1347d5=JSON[_0x1369('0x8c')](_0x58264d[_0x1369('0x50')][_0x2404ce])[_0x1369('0x8d')];_0x229923['where'](_0x1369('0x8e'),_0x58b9dd,_0x1347d5);}else{if(_0x58264d['query'][_0x2404ce]===_0x1369('0x8f')){_0x229923[_0x1369('0x5a')]('i.'+_0x2404ce+'\x20IS\x20NULL');}else{_0x229923['where']('i.'+_0x2404ce+'\x20=\x20?',_0x58264d[_0x1369('0x50')][_0x2404ce]);}}});}if(_0x58264d['query']['read']){if(_0x58264d[_0x1369('0x50')][_0x1369('0x90')]==0x1){_0x229923['having']('`unreadMessages`\x20=\x200');}else{_0x229923[_0x1369('0x78')]('`unreadMessages`\x20>\x200');}}if(_0x58264d[_0x1369('0x50')][_0x1369('0x91')]){_0x2536e6=_[_0x1369('0x92')](_0x58264d['query']['tag'])?_0x58264d[_0x1369('0x50')]['tag']:new Array(_0x58264d[_0x1369('0x50')]['tag']);_0x2536e6[_0x1369('0x3c')](function(_0x1402c6){_0x47d4a7['or'](_0x1369('0x93'),'%,'+_0x1402c6+',%');});}if(_0x58264d['query']['filter']){var _0x5c263c=_0x58264d[_0x1369('0x50')][_0x1369('0x94')][_0x1369('0x95')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x5c263c)){_0xc41678['or'](_0x1369('0x96'),_0x5c263c+'%');}else{_0xc41678['or'](_0x1369('0x97'),qs[_0x1369('0x7c')](_0x5c263c))['or'](_0x1369('0x98'),_0x5c263c+'%');}}}_0x229923[_0x1369('0x5a')](_0xc41678);_0x229923[_0x1369('0x99')](_0x1369('0x9a'));var _0x1f39e8={'type':db[_0x1369('0x9b')]['QueryTypes'][_0x1369('0x9c')],'raw':!![]};var _0x43bee8=_0x229923[_0x1369('0x9d')]();_0x43bee8[_0x1369('0x5d')](_0x1369('0x9a'));_0x43bee8[_0x1369('0x5d')](_0x1369('0x9e'),_0x1369('0x76'));if(_0xa4377[_0x1369('0x58')]){_0xa4377[_0x1369('0x58')][_0x1369('0x3c')](function(_0x24ac2c){var _0x5a876d=_0x24ac2c[0x0]===_0x1369('0x9f')?_0x24ac2c[0x0]:'i.'+_0x24ac2c[0x0];_0x229923['order'](_0x5a876d,_0x24ac2c[0x1]===_0x1369('0xa0')?![]:!![]);});}if(!_[_0x1369('0x87')](_0x2536e6)){_0x229923[_0x1369('0x78')](_0x47d4a7);_0x43bee8[_0x1369('0x5a')](_0x1369('0xa1'),_0x2536e6);}BPromise['resolve']()['then'](function(){if(!_0x15a5cb){if(_0x58264d['query']['ChatWebsiteId'])return;_0x43bee8['where'](_0x1369('0xa2'));_0x229923['where'](_0x1369('0xa2'));return;}if(_0x58264d['user'][_0x1369('0xa3')]!=='agent')return;return _0x58264d['user'][_0x1369('0xa4')]({'attributes':['id'],'raw':!![]})['then'](function(_0x5812e1){if(_[_0x1369('0x87')](_0x5812e1)){_0x43bee8[_0x1369('0x5a')]('i.ChatWebsiteId\x20IS\x20NULL');_0x229923['where'](_0x1369('0xa5'));}else{_0x43bee8[_0x1369('0x5a')](_0x1369('0x89'),_[_0x1369('0x49')](_0x5812e1,'id'));_0x229923[_0x1369('0x5a')](_0x1369('0x89'),_['map'](_0x5812e1,'id'));}});})[_0x1369('0x20')](function(){if(_0x58264d[_0x1369('0xa6')][_0x1369('0xa3')]===_0x1369('0x37')&&!_0x15a5cb&&!_0x58264d['query']['ChatWebsiteId'])return[];return db[_0x1369('0xa7')][_0x1369('0x50')](_0x43bee8[_0x1369('0xa8')](),_0x1f39e8);})[_0x1369('0x20')](function(_0xb3b56c){_0x16301d[_0x1369('0xa9')]=_0xb3b56c[_0x1369('0x73')];if(_0x16301d[_0x1369('0xa9')]===0x0)return[];return db[_0x1369('0xa7')][_0x1369('0x50')](_0x4dc2af['toString'](),_0x1f39e8)['then'](function(_0x1e3207){_0x2653cc=_[_0x1369('0xaa')](_0x1e3207,'id');_0x1f39e8=_['merge'](_0x1f39e8,{'model':db[_0x1369('0x4a')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x58264d[_0x1369('0x50')][_0x1369('0x54')]){_0xa4377[_0x1369('0x55')][_0x1369('0x3c')](function(_0xe8ee2d){_0x229923[_0x1369('0x5d')]('i.'+_0xe8ee2d);});}else{_0x229923[_0x1369('0x5d')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x1369('0x76'));_0x229923[_0x1369('0x5d')](_0x1369('0xab'),_0x1369('0xac'));_0x229923['field'](_0x1369('0xad'),_0x1369('0xae'));_0x229923[_0x1369('0x5d')](_0x1369('0xaf'),'contactName');_0x229923[_0x1369('0x5d')](_0x1369('0xb0'));_0x229923[_0x1369('0x5d')]('c.firstName',_0x1369('0xb1'));_0x229923[_0x1369('0x5d')](_0x1369('0xb2'),'Contact.lastName');_0x229923['field'](_0x1369('0xb3'),_0x1369('0xb4'));_0x229923[_0x1369('0x5d')](_0x1369('0xb5'),_0x1369('0xb6'));_0x229923[_0x1369('0x5d')](_0x1369('0xb7'),'Contact.mobile');_0x229923[_0x1369('0x5d')]('c.fax',_0x1369('0xb8'));_0x229923[_0x1369('0x5d')](_0x1369('0xb9'),_0x1369('0xba'));_0x229923[_0x1369('0x5d')]('o.internal',_0x1369('0xbb'));_0x229923[_0x1369('0x5d')]('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0xa4377[_0x1369('0x2e')])_0x229923['limit'](_0xa4377[_0x1369('0x2e')]);if(_0xa4377[_0x1369('0x2c')])_0x229923[_0x1369('0x2c')](_0xa4377[_0x1369('0x2c')]);return db['sequelize'][_0x1369('0x50')](_0x229923['toString'](),_0x1f39e8);})[_0x1369('0x20')](function(_0x1a8f55){if(_0x1a8f55[_0x1369('0x73')]>0x0)_0x4b8d72['where'](_0x1369('0xbc'),_[_0x1369('0x49')](_0x1a8f55,'id'));return db[_0x1369('0xa7')]['query'](_0x4b8d72[_0x1369('0xa8')](),_0x1f39e8)[_0x1369('0x20')](function(_0x305123){var _0x1c1da4=_[_0x1369('0xbd')](_0x305123,_0x1369('0xbe'));var _0x2a91b2=[];_0x1a8f55[_0x1369('0x3c')](function(_0xa32fd2){_0x2a91b2[_0x1369('0x3d')](updateChatInteraction(_0xa32fd2,_0x2653cc,_0x1c1da4));});return BPromise[_0x1369('0xbf')](_0x2a91b2);});});})[_0x1369('0x20')](function(_0x5c06e6){_0x16301d['rows']=_0x5c06e6;return _0x16301d;})[_0x1369('0x20')](respondWithFilteredResult(_0x32018b,_0xa4377))[_0x1369('0x3e')](handleError(_0x32018b,null));};exports[_0x1369('0xc0')]=function(_0x3e5dc4,_0x3eeb7d){var _0x1ba5fa={'raw':![],'where':{'id':_0x3e5dc4[_0x1369('0xc1')]['id']}},_0x3a2c65={};_0x3a2c65[_0x1369('0x53')]=_[_0x1369('0x51')](db[_0x1369('0x4a')]['rawAttributes']);_0x3a2c65['query']=_[_0x1369('0x51')](_0x3e5dc4[_0x1369('0x50')]);_0x3a2c65['filters']=_['intersection'](_0x3a2c65[_0x1369('0x53')],_0x3a2c65[_0x1369('0x50')]);_0x1ba5fa[_0x1369('0x55')]=_[_0x1369('0xc2')](_0x3a2c65[_0x1369('0x53')],qs[_0x1369('0x54')](_0x3e5dc4[_0x1369('0x50')]['fields']));_0x1ba5fa['attributes']=_0x1ba5fa[_0x1369('0x55')][_0x1369('0x73')]?_0x1ba5fa[_0x1369('0x55')]:_0x3a2c65[_0x1369('0x53')];if(_0x3e5dc4['query']['includeAll']){_0x1ba5fa[_0x1369('0xc3')]=[{'all':!![]}];}_0x1ba5fa=_[_0x1369('0x35')]({},_0x1ba5fa,_0x3e5dc4[_0x1369('0xc4')]);return db[_0x1369('0x4a')][_0x1369('0x75')](_0x1ba5fa)[_0x1369('0x20')](handleEntityNotFound(_0x3eeb7d,null))[_0x1369('0x20')](respondWithResult(_0x3eeb7d,null))[_0x1369('0x3e')](handleError(_0x3eeb7d,null));};exports[_0x1369('0xc5')]=function(_0x46dde9,_0x3137ab){return db[_0x1369('0x4a')][_0x1369('0xc5')](_0x46dde9[_0x1369('0x36')],{})[_0x1369('0x20')](respondWithResult(_0x3137ab,0xc9))['catch'](handleError(_0x3137ab,null));};exports[_0x1369('0x31')]=function(_0xa6d22b,_0x599c8a){if(_0xa6d22b[_0x1369('0x36')]['id']){delete _0xa6d22b[_0x1369('0x36')]['id'];}return db[_0x1369('0x4a')][_0x1369('0x75')]({'where':{'id':_0xa6d22b['params']['id']}})[_0x1369('0x20')](handleEntityNotFound(_0x599c8a,null))['then'](saveUpdates(_0xa6d22b[_0x1369('0x36')],null))[_0x1369('0x20')](respondWithResult(_0x599c8a,null))[_0x1369('0x3e')](handleError(_0x599c8a,null));};exports[_0x1369('0x32')]=function(_0xdb5d3a,_0x2ae4f2){return db[_0x1369('0x4a')]['find']({'where':{'id':_0xdb5d3a[_0x1369('0xc1')]['id']}})[_0x1369('0x20')](handleEntityNotFound(_0x2ae4f2,null))['then'](removeEntity(_0x2ae4f2,null))[_0x1369('0x3e')](handleError(_0x2ae4f2,null));};exports[_0x1369('0xc6')]=function(_0x4d62c2,_0x182db4){return db[_0x1369('0x4a')][_0x1369('0xc6')]()['then'](respondWithResult(_0x182db4,null))[_0x1369('0x3e')](handleError(_0x182db4,null));};exports[_0x1369('0xc7')]=function(_0x467311,_0x5f562a){var _0x20e48e=_0x467311[_0x1369('0xc1')]['id'];var _0x2d4a2e;var _0x55b43d;var _0x3a5038;return db[_0x1369('0x4a')][_0x1369('0xc8')]({'where':{'id':_0x20e48e}})[_0x1369('0x20')](function(_0x453045){_0x2d4a2e=_0x453045;return db[_0x1369('0xc9')][_0x1369('0xc8')]({'where':{'id':_0x453045['ChatWebsiteId']},'attributes':['id',_0x1369('0xca'),_0x1369('0xcb'),_0x1369('0xcc'),_0x1369('0xcd'),_0x1369('0xce')],'raw':!![]});})[_0x1369('0x20')](function(_0x2a559d){if(_0x2a559d&&_0x2a559d['vidaooApiKey']&&_0x2a559d[_0x1369('0xcb')]){_0x55b43d=_0x2a559d;var _0x11e80d={'interaction':{'id':_0x20e48e},'agent':{'id':_0x467311[_0x1369('0xa6')]['id'],'name':_0x467311[_0x1369('0xa6')][_0x1369('0x4f')],'fullname':_0x467311['user'][_0x1369('0xcf')],'email':_0x467311['user'][_0x1369('0xd0')]},'contact':_0x467311[_0x1369('0x36')][_0x1369('0xd1')],'account':_0x467311['body'][_0x1369('0x38')]};var _0x52ddc9={'rejectUnauthorized':![],'method':_0x1369('0xd2'),'url':_0x1369('0xd3'),'headers':{'X-APIKEY':_0x2a559d[_0x1369('0xca')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x467311[_0x1369('0xa6')][_0x1369('0xd0')]],'buttons':null,'topic':_0x55b43d[_0x1369('0xcc')],'note':_[_0x1369('0xd4')](_0x55b43d[_0x1369('0xcd')])?null:getMustacheRender(_0x55b43d[_0x1369('0xcd')],_0x11e80d),'metadata':null},'redirect':_0x1369('0xd5'),'json':!![]};try{if(!_[_0x1369('0xd4')](_0x55b43d[_0x1369('0xce')])){var _0x2144c9=getMustacheRender(_0x55b43d[_0x1369('0xce')],_0x11e80d);var _0x580db1=JSON[_0x1369('0x8c')](_0x2144c9);_0x52ddc9['body'][_0x1369('0xd6')]=_0x580db1;}}catch(_0x2550ef){throw new db[(_0x1369('0x9b'))][(_0x1369('0xd7'))](_0x1369('0xd8'));}return rp(_0x52ddc9);}else{throw new db[(_0x1369('0x9b'))][(_0x1369('0xd7'))]('Error\x20in\x20Vidaoo\x20configuration');}})[_0x1369('0x20')](function(_0x419604){_0x3a5038=_0x419604;if(_0x3a5038['id']){var _0x2f017b={'body':_0x3a5038[_0x1369('0xd9')],'ChatWebsiteId':_0x55b43d['id'],'ChatInteractionId':_0x2d4a2e['id'],'direction':_0x1369('0xda'),'UserId':_0x467311[_0x1369('0xa6')]['id']};return db[_0x1369('0xdb')][_0x1369('0xc5')](_0x2f017b,{});}else{throw new db[(_0x1369('0x9b'))][(_0x1369('0xd7'))]('Unable\x20to\x20create\x20Vidaoo\x20session');}})[_0x1369('0x20')](function(){return _0x2d4a2e['updateAttributes']({'vidaooSessionId':_0x3a5038['id']});})[_0x1369('0x20')](respondWithResult(_0x5f562a,null))[_0x1369('0x3e')](handleError(_0x5f562a,null));};exports[_0x1369('0xdc')]=function(_0x242cfa,_0x129539){if(_0x242cfa[_0x1369('0x36')]['id']){delete _0x242cfa['body']['id'];}return db['ChatInteraction']['find']({'where':{'id':_0x242cfa[_0x1369('0xc1')]['id']},'include':[{'model':db[_0x1369('0xdd')],'as':_0x1369('0xde')}]})[_0x1369('0x20')](handleEntityNotFound(_0x129539,null))['then'](saveUpdates(_0x242cfa[_0x1369('0x36')],null))[_0x1369('0x20')](respondWithResult(_0x129539,null))['catch'](handleError(_0x129539,null));};exports[_0x1369('0xdf')]=function(_0x3021fe,_0x359d65,_0x16c853){if(_0x3021fe[_0x1369('0x36')]['id']){delete _0x3021fe['body']['id'];}return db[_0x1369('0x4a')][_0x1369('0x75')]({'where':{'id':_0x3021fe[_0x1369('0xc1')]['id']}})[_0x1369('0x20')](function(_0x30277d){if(!_0x30277d){logger[_0x1369('0x26')](_0x1369('0xe0'),'abandon',0x194,_0x1369('0xe1'));_0x359d65['sendStatus'](0x194);}else{if(_0x30277d['UserId']){throw new db[(_0x1369('0x9b'))][(_0x1369('0xd7'))](_0x1369('0xe2'));}}return _0x30277d;})[_0x1369('0x20')](function(_0x10d03b){if(_0x10d03b){return _0x10d03b[_0x1369('0x31')]({'closed':_0x3021fe[_0x1369('0x36')][_0x1369('0x43')],'disposition':_0x3021fe['body'][_0x1369('0x47')]})['then'](function(_0x5d76bd){return _0x5d76bd;});}})[_0x1369('0x20')](function(_0xcb774d){return respondWithRpcPromise(_0x1369('0xe3'),'abandon',_0x3021fe['body'],client9004);})[_0x1369('0x20')](respondWithResult(_0x359d65,null))['catch'](handleError(_0x359d65,null));};exports[_0x1369('0xe4')]=function(_0x2fff69,_0x31dc8b,_0x1d1f30){_0x2fff69[_0x1369('0x36')][_0x1369('0x4f')]=_0x2fff69[_0x1369('0xe5')][_0x1369('0xe6')];_0x2fff69[_0x1369('0x36')][_0x1369('0xe7')]=_0x2fff69[_0x1369('0xe5')]['filename'];_0x2fff69[_0x1369('0x36')][_0x1369('0x4d')]=_0x2fff69[_0x1369('0xe5')][_0x1369('0xe8')];return db['Attachment']['create'](_0x2fff69[_0x1369('0x36')])[_0x1369('0x20')](respondWithResult(_0x31dc8b,0xc9))[_0x1369('0x3e')](handleError(_0x31dc8b,null));};exports['attachmentDownload']=function(_0x4a47c1,_0x2e76dd,_0x4a7f8d){return db[_0x1369('0x4a')][_0x1369('0xc8')]({'where':{'id':_0x4a47c1[_0x1369('0xc1')]['id']},'raw':!![]})[_0x1369('0x20')](handleEntityNotFound(_0x2e76dd,null))[_0x1369('0x20')](function(_0x56fc55){if(_0x56fc55){if(_0x56fc55[_0x1369('0x43')]){return _0x2e76dd[_0x1369('0x2a')](0x193)[_0x1369('0x2b')]({'status':0x193,'message':_0x1369('0xe9')});}return db[_0x1369('0xea')]['findOne']({'where':{'id':_0x4a47c1['query'][_0x1369('0xeb')]},'raw':!![]})[_0x1369('0x20')](handleEntityNotFound(_0x2e76dd,null));}})['then'](function(_0xd6dfa4){if(_0xd6dfa4){var _0x58d152=_0xd6dfa4[_0x1369('0xec')]!==null;var _0xd2dd9a=path[_0x1369('0xed')](config['root'],_0x1369('0xee'));if(_0x58d152){_0xd2dd9a=path['join'](_0xd2dd9a,'offline-chat/');}var _0x2a3a08=path[_0x1369('0xed')](_0xd2dd9a,_0xd6dfa4[_0x1369('0xe7')]);return _0x2e76dd[_0x1369('0xef')](_0x2a3a08);}})[_0x1369('0x3e')](handleError(_0x2e76dd,null));};exports['close']=function(_0x3e27d0,_0x390c82){var _0x1ed9b7=null;var _0xdee25c=null;var _0x51488d=null;var _0x2fcc94=null;if(_0x3e27d0[_0x1369('0x36')]['id']){delete _0x3e27d0[_0x1369('0x36')]['id'];}if(_0x3e27d0[_0x1369('0x36')][_0x1369('0xf0')]){_0x2fcc94=path[_0x1369('0xed')](config[_0x1369('0xf1')],_0x1369('0xf2'),util[_0x1369('0xf3')]('transcript-%s.txt',Date[_0x1369('0xf4')]()));_0x3e27d0['body'][_0x1369('0xf5')]=_0x2fcc94;}return db[_0x1369('0x4a')][_0x1369('0x75')]({'where':{'id':_0x3e27d0[_0x1369('0xc1')]['id']},'include':[{'model':db[_0x1369('0xdb')],'as':_0x1369('0xf6'),'include':[{'model':db[_0x1369('0x84')],'as':_0x1369('0x84')}]}]})[_0x1369('0x20')](handleEntityNotFound(_0x390c82,null))[_0x1369('0x20')](saveUpdates(_0x3e27d0[_0x1369('0x36')],null))[_0x1369('0x20')](function(_0xe60cf){if(_0xe60cf){_0x1ed9b7=_0xe60cf;return db[_0x1369('0xc9')][_0x1369('0x75')]({'where':{'id':_0x1ed9b7[_0x1369('0x88')]}});}})['then'](function(_0x14fc9d){if(_0x14fc9d){_0x51488d=_0x14fc9d;return db[_0x1369('0xdd')]['find']({'where':{'id':_0x1ed9b7[_0x1369('0xf7')]}});}})['then'](function(_0x4a243c){if(_0x4a243c){_0xdee25c=_0x4a243c;if(_0x2fcc94){var _0x4c07a7=null;for(var _0x3366ed=0x1;_0x3366ed<_0x1ed9b7[_0x1369('0xf6')][_0x1369('0x73')];++_0x3366ed){_0x4c07a7=_0x1ed9b7[_0x1369('0xf6')][_0x3366ed];var _0x2216ab=_0x4c07a7[_0x1369('0x44')]?util['format']('%s%d',_0x51488d['agentAlias'],_0x4c07a7[_0x1369('0x44')]):_0x1369('0xf8');var _0x406ad6=_0x3e27d0[_0x1369('0x36')][_0x1369('0xf9')]||util[_0x1369('0xf3')](_0x1369('0xfa'),_0x1369('0xfb'),_0x4c07a7[_0x1369('0xf7')]);switch(_0x51488d['agentIdentifier']){case _0x1369('0xfc'):_0x2216ab=_0x4c07a7['UserId']?util[_0x1369('0xf3')](_0x1369('0xfa'),_0x51488d[_0x1369('0xfd')],_0x4c07a7['UserId']):_0x1369('0xf8');break;case _0x1369('0xfe'):_0x2216ab=_0x4c07a7['UserId']?_0x4c07a7[_0x1369('0x84')][_0x1369('0xff')]||_0x4c07a7[_0x1369('0x84')][_0x1369('0xcf')]:'System';break;case _0x1369('0x100'):_0x2216ab=_0x4c07a7[_0x1369('0x44')]?_0x4c07a7[_0x1369('0x84')][_0x1369('0xcf')]:'System';break;default:_0x2216ab=_0x4c07a7[_0x1369('0x44')]?util['format'](_0x1369('0xfa'),_0x51488d['agentAlias'],_0x4c07a7['UserId']):_0x1369('0xf8');}var _0x235a0b=util[_0x1369('0xf3')](_0x1369('0x101'),moment(_0x4c07a7[_0x1369('0x8b')])['format'](_0x1369('0x102')),_0x4c07a7[_0x1369('0x103')]==='in'?_0x406ad6:_0x2216ab,_0x4c07a7[_0x1369('0x36')]);if(!_0x4c07a7[_0x1369('0x104')]){fs[_0x1369('0x105')](_0x2fcc94,_0x235a0b);}}return db['MailAccount']['findOne']({'where':{'service':!![]},'include':[{'model':db[_0x1369('0x106')],'as':_0x1369('0x107'),'raw':!![]}]});}}})['then'](function(_0xf617d8){if(_0xf617d8&&_0xf617d8[_0x1369('0x107')]&&_0x3e27d0[_0x1369('0x36')]){var _0x854fb7={'tls':{'rejectUnauthorized':![]}};if(_0xf617d8[_0x1369('0x107')]['service']){_0x854fb7[_0x1369('0x108')]=_0xf617d8[_0x1369('0x107')][_0x1369('0x108')];}else{_0x854fb7[_0x1369('0x109')]=_0xf617d8[_0x1369('0x107')][_0x1369('0x109')];_0x854fb7[_0x1369('0x10a')]=_0xf617d8[_0x1369('0x107')][_0x1369('0x10a')];_0x854fb7['secure']=_0xf617d8[_0x1369('0x107')][_0x1369('0x10b')];}if(_0xf617d8[_0x1369('0x107')][_0x1369('0x10c')]){_0x854fb7[_0x1369('0x10d')]={'user':_0xf617d8[_0x1369('0x107')]['user'],'pass':_0xf617d8[_0x1369('0x107')][_0x1369('0x10e')]};}return respondWithRpcPromise(_0x1369('0x10f'),_0x1369('0x110'),{'account':_0x854fb7,'message':{'from':util[_0x1369('0xf3')](_0x1369('0x111'),_0xf617d8[_0x1369('0x4f')],_0xf617d8[_0x1369('0xd0')]||_0xf617d8[_0x1369('0x107')][_0x1369('0xa6')]),'to':_0x3e27d0[_0x1369('0x36')][_0x1369('0xf0')],'subject':_0x1369('0x112'),'text':util['format'](_0x1369('0x113'),_0x3e27d0['body']['mailTranscript']),'attachments':[{'path':_0x2fcc94}]}})[_0x1369('0x20')](function(){return _0x1ed9b7;})[_0x1369('0x3e')](function(_0x402bfd){console[_0x1369('0x26')](_0x402bfd);});}else{return _0x1ed9b7;}})[_0x1369('0x20')](respondWithStatusCode(_0x390c82,0xc8))['catch'](handleError(_0x390c82,null));};exports[_0x1369('0x114')]=function(_0x4555c5,_0x14039e,_0x5370fa){return db['ChatMessage'][_0x1369('0x75')]({'where':{'id':_0x4555c5[_0x1369('0xc1')]['id']}})[_0x1369('0x20')](handleEntityNotFound(_0x14039e,null))[_0x1369('0x20')](function(_0x84854f){if(_0x84854f){return _0x84854f[_0x1369('0x114')](_0x4555c5['body'][_0x1369('0x115')],_[_0x1369('0x116')](_0x4555c5['body'],[_0x1369('0x115'),'id'])||{});}})['then'](respondWithResult(_0x14039e,null))[_0x1369('0x3e')](handleError(_0x14039e,null));};exports['getMessages']=function(_0x236eac,_0x3bb299,_0x198d17){var _0x66b618={'raw':![],'where':{}};var _0x5b02d1={};var _0x5b824b={'count':0x0,'rows':[]};return db['ChatInteraction']['findOne']({'where':{'id':_0x236eac['params']['id']}})['then'](handleEntityNotFound(_0x3bb299,null))['then'](function(_0x514f14){if(_0x514f14){_0x5b02d1['model']=_[_0x1369('0x51')](db[_0x1369('0xdb')]['rawAttributes']);_0x5b02d1[_0x1369('0x50')]=_[_0x1369('0x51')](_0x236eac[_0x1369('0x50')]);_0x5b02d1[_0x1369('0x52')]=_[_0x1369('0xc2')](_0x5b02d1[_0x1369('0x53')],_0x5b02d1['query']);_0x66b618[_0x1369('0x55')]=_[_0x1369('0xc2')](_0x5b02d1[_0x1369('0x53')],qs[_0x1369('0x54')](_0x236eac[_0x1369('0x50')][_0x1369('0x54')]));_0x66b618[_0x1369('0x55')]=_0x66b618[_0x1369('0x55')][_0x1369('0x73')]?_0x66b618[_0x1369('0x55')]:_0x5b02d1[_0x1369('0x53')];if(!_0x236eac[_0x1369('0x50')][_0x1369('0x56')]('nolimit')){_0x66b618['limit']=qs[_0x1369('0x2e')](_0x236eac[_0x1369('0x50')]['limit']);_0x66b618[_0x1369('0x2c')]=qs['offset'](_0x236eac[_0x1369('0x50')][_0x1369('0x2c')]);}_0x66b618[_0x1369('0x58')]=qs[_0x1369('0x59')](_0x236eac['query'][_0x1369('0x59')]);_0x66b618[_0x1369('0x5a')]=qs[_0x1369('0x52')](_['pick'](_0x236eac[_0x1369('0x50')],_0x5b02d1[_0x1369('0x52')]));_0x66b618[_0x1369('0x5a')]['ChatInteractionId']=_0x514f14['id'];if(_0x236eac[_0x1369('0x50')][_0x1369('0x94')]){_0x66b618[_0x1369('0x5a')]=_[_0x1369('0x35')](_0x66b618[_0x1369('0x5a')],{'$or':_[_0x1369('0x49')](_0x66b618['attributes'],function(_0x332730){var _0x3a5c02={};_0x3a5c02[_0x332730]={'$like':'%'+_0x236eac['query'][_0x1369('0x94')]+'%'};return _0x3a5c02;})});}if(_0x236eac[_0x1369('0x50')]['$gte']){var _0x3e5110=_0x236eac['query'][_0x1369('0x117')][_0x1369('0x82')](',');var _0x45f285={};_0x45f285[_0x3e5110[0x0]]={'$gte':moment(_0x3e5110[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x66b618[_0x1369('0x5a')]=_[_0x1369('0x35')](_0x66b618['where'],_0x45f285);}_0x66b618=_['merge']({},_0x66b618,_0x236eac[_0x1369('0xc4')]);return db[_0x1369('0xdb')][_0x1369('0xa9')]({'where':_0x66b618[_0x1369('0x5a')]})[_0x1369('0x20')](function(_0x3bd05e){_0x5b824b['count']=_0x3bd05e;if(_0x236eac['query']['includeAll']){_0x66b618['include']=[{'all':!![]}];}return db[_0x1369('0xdb')]['findAll'](_0x66b618);})[_0x1369('0x20')](function(_0x20cf15){_0x5b824b['rows']=_0x20cf15;return _0x5b824b;});}})[_0x1369('0x20')](respondWithFilteredResult(_0x3bb299,_0x66b618))[_0x1369('0x3e')](handleError(_0x3bb299,null));};exports[_0x1369('0x118')]=function(_0x12c748,_0x2f3bf0,_0x47d441){var _0x51034b={'where':{}},_0x4fe4e4={},_0x1a4b8a={'count':0x0,'rows':[]};return db[_0x1369('0x4a')][_0x1369('0xc8')]({'where':{'id':_0x12c748[_0x1369('0xc1')]['id']}})['then'](handleEntityNotFound(_0x2f3bf0,null))[_0x1369('0x20')](function(_0x2a1eb2){if(_0x2a1eb2){_0x4fe4e4[_0x1369('0x53')]=_[_0x1369('0x51')](db[_0x1369('0xdb')]['rawAttributes']);_0x4fe4e4[_0x1369('0x50')]=_['keys'](_0x12c748[_0x1369('0x50')]);_0x4fe4e4[_0x1369('0x52')]=_['intersection'](_0x4fe4e4[_0x1369('0x53')],_0x4fe4e4[_0x1369('0x50')]);_0x51034b['attributes']=_[_0x1369('0xc2')](_0x4fe4e4['model'],qs[_0x1369('0x54')](_0x12c748[_0x1369('0x50')][_0x1369('0x54')]));_0x51034b[_0x1369('0x55')]=_0x51034b[_0x1369('0x55')]['length']?_0x51034b[_0x1369('0x55')]:_0x4fe4e4[_0x1369('0x53')];if(!_0x12c748[_0x1369('0x50')][_0x1369('0x56')](_0x1369('0x57'))){_0x51034b[_0x1369('0x2e')]=qs[_0x1369('0x2e')](_0x12c748[_0x1369('0x50')][_0x1369('0x2e')]);_0x51034b[_0x1369('0x2c')]=qs[_0x1369('0x2c')](_0x12c748[_0x1369('0x50')][_0x1369('0x2c')]);}_0x51034b[_0x1369('0x58')]=qs['sort'](_0x12c748[_0x1369('0x50')][_0x1369('0x59')]);_0x51034b['where']=qs[_0x1369('0x52')](_['pick'](_0x12c748[_0x1369('0x50')],_0x4fe4e4[_0x1369('0x52')]));_0x51034b[_0x1369('0x5a')][_0x1369('0xbe')]=_0x2a1eb2['id'];if(_0x12c748[_0x1369('0x50')]['filter']){_0x51034b[_0x1369('0x5a')]=_[_0x1369('0x35')](_0x51034b[_0x1369('0x5a')],{'$or':_['map'](_0x51034b['attributes'],function(_0xfb8fee){var _0x2fce71={};_0x2fce71[_0xfb8fee]={'$like':'%'+_0x12c748[_0x1369('0x50')]['filter']+'%'};return _0x2fce71;})});}_0x51034b[_0x1369('0x5a')][_0x1369('0x104')]=![];if(_0x12c748[_0x1369('0x50')]['id']){_0x51034b['where']['id']={'$gt':_0x12c748[_0x1369('0x50')]['id']};}_0x51034b=_[_0x1369('0x35')]({},_0x51034b,_0x12c748[_0x1369('0xc4')]);return db[_0x1369('0xdb')][_0x1369('0xa9')]({'where':_0x51034b[_0x1369('0x5a')]})[_0x1369('0x20')](function(_0x3d6f7a){_0x1a4b8a['count']=_0x3d6f7a;_0x51034b[_0x1369('0xc3')]=[];if(_0x12c748[_0x1369('0x50')]['includeAgent']){_0x51034b[_0x1369('0xc3')][_0x1369('0x3d')]({'model':db[_0x1369('0x84')],'as':_0x1369('0x84'),'attributes':['id',_0x1369('0xcf'),_0x1369('0xff')]});}if(_0x12c748[_0x1369('0x50')]['includeAll']){_0x51034b[_0x1369('0xc3')]=[{'all':!![]}];}return db['ChatMessage']['findAll'](_0x51034b);})[_0x1369('0x20')](function(_0xd37972){_0x1a4b8a['rows']=_0xd37972;return _0x1a4b8a;});}})['then'](respondWithFilteredResult(_0x2f3bf0,_0x51034b))['catch'](handleError(_0x2f3bf0,null));};exports['addTags']=function(_0x1371bf,_0x55b777,_0x15a6de){return db[_0x1369('0x4a')][_0x1369('0x75')]({'where':{'id':_0x1371bf[_0x1369('0xc1')]['id']}})['then'](handleEntityNotFound(_0x55b777,null))[_0x1369('0x20')](function(_0x531ccf){if(_0x531ccf){return _0x531ccf[_0x1369('0x119')](_0x1371bf['body'][_0x1369('0x115')],_['omit'](_0x1371bf[_0x1369('0x36')],['ids','id'])||{})[_0x1369('0x11a')](function(){return db[_0x1369('0x81')]['findAll']({'attributes':['id','name','color'],'where':{'id':_0x1371bf[_0x1369('0x36')][_0x1369('0x115')]}});})[_0x1369('0x20')](function(_0x1607d1){socket['emit'](_0x1369('0x11b'),{'id':Number(_0x1371bf[_0x1369('0xc1')]['id']),'tags':_0x1607d1||[]});return{'id':Number(_0x1371bf[_0x1369('0xc1')]['id']),'tags':_0x1607d1||[]};});}})['then'](respondWithResult(_0x55b777,null))[_0x1369('0x3e')](handleError(_0x55b777,null));};exports['removeTags']=function(_0x167785,_0x18ca73,_0x558eb3){return db[_0x1369('0x4a')]['find']({'where':{'id':_0x167785[_0x1369('0xc1')]['id']}})[_0x1369('0x20')](handleEntityNotFound(_0x18ca73,null))['then'](function(_0x2a9485){if(_0x2a9485){return _0x2a9485[_0x1369('0x11c')](_0x167785[_0x1369('0x50')][_0x1369('0x115')]);}})['then'](respondWithStatusCode(_0x18ca73,null))[_0x1369('0x3e')](handleError(_0x18ca73,null));};exports[_0x1369('0xef')]=function(_0x2451f3,_0x36189c){var _0x3c0c46=moment()[_0x1369('0x11d')]()['toString']();var _0x4e3cd2=path['join'](config['root'],_0x1369('0x11e'),'files',_0x1369('0x11f'));var _0x3ee7d4=path[_0x1369('0xed')](config[_0x1369('0xf1')],_0x1369('0x11e'),_0x1369('0x120'),_0x1369('0x121'));var _0x1e2abd=path[_0x1369('0xed')](_0x4e3cd2,_0x3c0c46);var _0x1d4564=util[_0x1369('0xf3')](_0x1369('0x122'),_0x2451f3[_0x1369('0xc1')]['id'],_0x3c0c46);var _0x137c0c=path[_0x1369('0xed')](_0x4e3cd2,_0x1d4564);var _0x5e1d38=[];_0x5e1d38['push']({'model':db[_0x1369('0x84')],'as':_0x1369('0x84'),'attributes':['id',_0x1369('0xcf')],'raw':!![]});_0x5e1d38[_0x1369('0x3d')]({'model':db[_0x1369('0xdd')],'as':_0x1369('0xde'),'attributes':['id','firstName',_0x1369('0x123')],'raw':!![]});if(_0x2451f3['query'][_0x1369('0x121')]){_0x5e1d38['push']({'model':db[_0x1369('0xea')],'as':_0x1369('0xea'),'raw':!![]});}var _0x1e5ec2=[{'model':db['ChatMessage'],'as':_0x1369('0xf6'),'attributes':['id','body',_0x1369('0x8b'),_0x1369('0x103'),_0x1369('0x104'),_0x1369('0x90')],'include':_0x5e1d38}];_0x1e5ec2['push']({'model':db[_0x1369('0xc9')],'as':'Account','attributes':['id',_0x1369('0x4f')]});_0x1e5ec2[_0x1369('0x3d')]({'model':db['User'],'as':'Owner','attributes':['id',_0x1369('0xcf')]});return db[_0x1369('0x4a')][_0x1369('0x75')]({'where':{'id':_0x2451f3[_0x1369('0xc1')]['id']},'include':_0x1e5ec2})[_0x1369('0x20')](handleEntityNotFound(_0x36189c,null))[_0x1369('0x20')](function(_0x95e638){if(_0x95e638){var _0x5440e8=_0x95e638[_0x1369('0x124')]({'plain':!![]});fs[_0x1369('0x125')](_0x1e2abd);var _0x5ea7d2={'channel':_0x1369('0x126'),'account':_0x5440e8['Account'][_0x1369('0x4f')],'agent':_0x5440e8[_0x1369('0x127')]?_0x5440e8[_0x1369('0x127')]['fullname']:_0x1369('0x128'),'createdAt':moment(_0x5440e8[_0x1369('0x8b')])[_0x1369('0xf3')]('YYYY-MM-DD\x20HH:mm:ss')[_0x1369('0xa8')](),'closedAt':_0x5440e8[_0x1369('0x43')]?moment(_0x5440e8[_0x1369('0x129')])[_0x1369('0xf3')](_0x1369('0x12a'))[_0x1369('0xa8')]():'','disposition':_0x5440e8[_0x1369('0x47')],'chatInfo':{'browser':_0x5440e8['browserName'],'os':_0x5440e8[_0x1369('0x12b')],'referer':_0x5440e8[_0x1369('0x12c')],'customerIp':_0x5440e8[_0x1369('0x12d')],'customerPort':_0x5440e8[_0x1369('0x12e')]?_0x5440e8['customerPort']:_0x1369('0x128')},'messages':_(_0x5440e8[_0x1369('0xf6')])['tail']()[_0x1369('0x94')]({'secret':![]})[_0x1369('0x49')](function(_0x31ba15){if(_0x31ba15[_0x1369('0xea')]){var _0x1834a8=path[_0x1369('0xed')](_0x3ee7d4,_0x31ba15[_0x1369('0xea')][_0x1369('0xe7')]);if(fs[_0x1369('0x12f')](_0x1834a8)){fs[_0x1369('0x130')](_0x1834a8)[_0x1369('0x131')](fs[_0x1369('0x132')](path[_0x1369('0xed')](_0x1e2abd,_0x31ba15['Attachment'][_0x1369('0xe7')])));}}return{'date':moment(_0x31ba15[_0x1369('0x8b')])['format'](_0x1369('0x12a'))['toString'](),'sender':_0x31ba15[_0x1369('0x103')]===_0x1369('0xda')?_0x31ba15[_0x1369('0x84')]?_0x31ba15[_0x1369('0x84')]['fullname']:_0x1369('0xf8'):_0x31ba15[_0x1369('0xde')]['firstName']+(_0x31ba15[_0x1369('0xde')]['lastName']?'\x20'+_0x31ba15[_0x1369('0xde')][_0x1369('0x123')]:''),'body':_0x31ba15['Attachment']?_0x31ba15[_0x1369('0xea')][_0x1369('0xe7')]:_0x31ba15[_0x1369('0x36')],'direction':_0x31ba15[_0x1369('0x103')]==='out'?'A':'C','secret':_0x31ba15[_0x1369('0x104')],'read':_0x31ba15[_0x1369('0x90')],'attachment':_0x31ba15[_0x1369('0xea')]};})[_0x1369('0x77')]()};return ejs['renderFile'](path[_0x1369('0xed')](config[_0x1369('0xf1')],_0x1369('0x11e'),'views',_0x1369('0x133')),{'interaction':_0x5ea7d2})[_0x1369('0x20')](function(_0x3f7b92){var _0x55a30a=path['join'](_0x1e2abd,_0x1369('0x134')+_0x5440e8['id']+'-'+_0x3c0c46+_0x1369('0x135'));var _0x2ce0c1={'path':_0x55a30a,'channel':_0x1369('0x126'),'interactionId':_0x5440e8['id']};return pdf['createPdfFromHTML'](_0x3f7b92,_0x2ce0c1);})['then'](function(){return new BPromise(function(_0x253f14,_0x279736){zipdir(_0x1e2abd,{'saveTo':_0x137c0c},function(_0x54d0ec,_0x1d7d45){if(_0x54d0ec)return _0x279736(_0x54d0ec);return _0x253f14(_0x1d7d45);});})['then'](function(){return new BPromise(function(_0x12be39,_0x2530dc){rimraf(_0x1e2abd,function(_0x3e6dd5){if(_0x3e6dd5)_0x2530dc(_0x3e6dd5);return _0x12be39();});});})[_0x1369('0x20')](function(){return _0x36189c[_0x1369('0xef')](_0x137c0c,_0x1d4564,function(_0x251a98){if(_0x251a98){console[_0x1369('0x136')](_0x1369('0x137'),_0x251a98);}else{fs[_0x1369('0x138')](_0x137c0c);}});});});}else{return _0x36189c[_0x1369('0x139')](0xc8);}})[_0x1369('0x3e')](handleError(_0x36189c,null));};