Built motion from commit (unavailable).|2.5.26
[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 _0xc2f6=['getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','compact','isEmpty','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','contactName','DESC','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','agent','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','role','ChatWebsiteId','sequelize','toString','keyBy','merge','a.key','Account.key','a.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','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','ui.ChatInteractionId\x20IN\x20?','groupBy','all','rows','catch','show','fields','includeAll','include','options','create','params','destroy','describe','findOne','ChatWebsite','vidaooApiKey','POST','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','CmContact','abandon','Interaction\x20already\x20assigned','closed','AbandonInteraction','attachmentUpload','originalname','file','filename','mimetype','Attachment','attachmentDownload','attachId','ChatOfflineMessageId','join','root','server/files/attachments/','offline-chat/','download','close','mailTranscript','server/files/chat/upload/','format','now','pathTranscript','ContactId','Messages','%s%d','agentAlias','customer','Visitor','agentIdentifier','website_alias','System','agent_alias','alias','agent_fullname','direction','secret','appendFileSync','MailAccount','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','getMessages','hasOwnProperty','ChatInteractionId','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','includeAgent','setTags','spread','chatInteractionTags:save','removeTags','server','files','tmp','attachments','transcript-%d-%s.zip','lastName','Owner','mkdirSync','Chat','Account','N.A.','disposition','browserName','osName','customerIp','customerPort','tail','basename','existsSync','pipe','createWriteStream','renderFile','views','downloadInteraction.html','transcript-','.pdf','createPdfFromHTML','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','register','client','http','request','then','ChatInteraction,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','status','end','json','count','offset','limit','set','apply','update','sendStatus','name','map','fullname','TagIds','Tags','split','forEach','push','index','ChatInteraction','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','length','nolimit','order','sort','where','filters','pick','select','field','color','tools_tags','u.fullname','from','user_has_chat_interactions','left_join','chat_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','chat_websites','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','value','having','`\x20=\x200','`\x20>\x200','Contact'];(function(_0xdc9b7a,_0x25aa10){var _0x300c0e=function(_0x3c9eef){while(--_0x3c9eef){_0xdc9b7a['push'](_0xdc9b7a['shift']());}};_0x300c0e(++_0x25aa10);}(_0xc2f6,0xc9));var _0x6c2f=function(_0x35b23c,_0x19eebd){_0x35b23c=_0x35b23c-0x0;var _0x32b861=_0xc2f6[_0x35b23c];return _0x32b861;};'use strict';var emlformat=require(_0x6c2f('0x0'));var rimraf=require(_0x6c2f('0x1'));var zipdir=require(_0x6c2f('0x2'));var jsonpatch=require(_0x6c2f('0x3'));var rp=require(_0x6c2f('0x4'));var moment=require('moment');var BPromise=require(_0x6c2f('0x5'));var Mustache=require(_0x6c2f('0x6'));var util=require(_0x6c2f('0x7'));var path=require(_0x6c2f('0x8'));var sox=require(_0x6c2f('0x9'));var csv=require(_0x6c2f('0xa'));var ejs=require(_0x6c2f('0xb'));var fs=require('fs');var fs_extra=require(_0x6c2f('0xc'));var _=require(_0x6c2f('0xd'));var squel=require('squel');var crypto=require(_0x6c2f('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x6c2f('0xf'));var Papa=require(_0x6c2f('0x10'));var Redis=require(_0x6c2f('0x11'));var authService=require(_0x6c2f('0x12'));var qs=require(_0x6c2f('0x13'));var as=require(_0x6c2f('0x14'));var pdf=require(_0x6c2f('0x15'));var hardwareService=require(_0x6c2f('0x16'));var logger=require(_0x6c2f('0x17'))(_0x6c2f('0x18'));var utils=require('../../config/utils');var config=require(_0x6c2f('0x19'));var licenseUtil=require(_0x6c2f('0x1a'));var db=require(_0x6c2f('0x1b'))['db'];config[_0x6c2f('0x1c')]=_[_0x6c2f('0x1d')](config[_0x6c2f('0x1c')],{'host':_0x6c2f('0x1e'),'port':0x18eb});var socket=require(_0x6c2f('0x1f'))(new Redis(config[_0x6c2f('0x1c')]));require(_0x6c2f('0x20'))[_0x6c2f('0x21')](socket);var jayson=require('jayson/promise');var client=jayson[_0x6c2f('0x22')][_0x6c2f('0x23')]({'port':0x232b});var client9004=jayson['client'][_0x6c2f('0x23')]({'port':0x232c});function respondWithRpcPromise(_0x342e35,_0x2a5511,_0x284a36,_0x49c256){return new BPromise(function(_0x760fa6,_0x5c60c3){var _0xf5f7e9=_0x49c256||client;return _0xf5f7e9[_0x6c2f('0x24')](_0x342e35,_0x284a36)[_0x6c2f('0x25')](function(_0x298bee){logger['info'](_0x6c2f('0x26'),_0x2a5511,_0x6c2f('0x27'));logger['debug']('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x2a5511,_0x6c2f('0x27'),JSON[_0x6c2f('0x28')](_0x298bee));if(_0x298bee[_0x6c2f('0x29')]){if(_0x298bee[_0x6c2f('0x29')][_0x6c2f('0x2a')]===0x1f4){logger[_0x6c2f('0x29')](_0x6c2f('0x26'),_0x2a5511,_0x298bee[_0x6c2f('0x29')]['message']);return _0x5c60c3(_0x298bee[_0x6c2f('0x29')][_0x6c2f('0x2b')]);}logger[_0x6c2f('0x29')](_0x6c2f('0x26'),_0x2a5511,_0x298bee[_0x6c2f('0x29')][_0x6c2f('0x2b')]);return _0x760fa6(_0x298bee[_0x6c2f('0x29')]['message']);}else{logger[_0x6c2f('0x2c')](_0x6c2f('0x26'),_0x2a5511,'request\x20sent');_0x760fa6(_0x298bee['result'][_0x6c2f('0x2b')]);}})['catch'](function(_0x401c53){logger[_0x6c2f('0x29')](_0x6c2f('0x26'),_0x2a5511,_0x401c53);_0x5c60c3(_0x401c53);});});}function respondWithStatusCode(_0x2e5c19,_0x1c1f84){_0x1c1f84=_0x1c1f84||0xcc;return function(_0x274ffe){if(_0x274ffe){return _0x2e5c19['sendStatus'](_0x1c1f84);}return _0x2e5c19[_0x6c2f('0x2d')](_0x1c1f84)[_0x6c2f('0x2e')]();};}function respondWithResult(_0x472b1d,_0x3c0820){_0x3c0820=_0x3c0820||0xc8;return function(_0x3f84b2){if(_0x3f84b2){return _0x472b1d[_0x6c2f('0x2d')](_0x3c0820)[_0x6c2f('0x2f')](_0x3f84b2);}};}function respondWithFilteredResult(_0x5e5526,_0xf9c003){return function(_0x174828){if(_0x174828){var _0x393e01=_0x174828[_0x6c2f('0x30')],_0x5ba800=_0xf9c003[_0x6c2f('0x31')],_0xc9fa0f=_0xf9c003[_0x6c2f('0x31')]+_0xf9c003[_0x6c2f('0x32')],_0x565b04;if(_0xc9fa0f>=_0x393e01){_0xc9fa0f=_0x393e01;_0x565b04=0xc8;}else{_0x565b04=0xce;}_0x5e5526[_0x6c2f('0x2d')](_0x565b04);return _0x5e5526[_0x6c2f('0x33')]('Content-Range',_0x5ba800+'-'+_0xc9fa0f+'/'+_0x393e01)['json'](_0x174828);}return null;};}function patchUpdates(_0x3f1859){return function(_0x384599){try{jsonpatch[_0x6c2f('0x34')](_0x384599,_0x3f1859,!![]);}catch(_0x57d8c8){return BPromise['reject'](_0x57d8c8);}return _0x384599['save']();};}function saveUpdates(_0x3ad680,_0x4b1f29){return function(_0x115987){if(_0x115987){return _0x115987[_0x6c2f('0x35')](_0x3ad680)[_0x6c2f('0x25')](function(_0x5ed02c){return _0x5ed02c;});}return null;};}function removeEntity(_0x3c5ac2,_0x3fba41){return function(_0x1f9f0b){if(_0x1f9f0b){return _0x1f9f0b['destroy']()[_0x6c2f('0x25')](function(){_0x3c5ac2[_0x6c2f('0x2d')](0xcc)[_0x6c2f('0x2e')]();});}};}function handleEntityNotFound(_0x30124d,_0x143aa8){return function(_0x3f4334){if(!_0x3f4334){_0x30124d[_0x6c2f('0x36')](0x194);}return _0x3f4334;};}function handleError(_0x4887d9,_0x272fb4){_0x272fb4=_0x272fb4||0x1f4;return function(_0x1cef02){logger[_0x6c2f('0x29')](_0x1cef02['stack']);if(_0x1cef02['name']){delete _0x1cef02[_0x6c2f('0x37')];}_0x4887d9['status'](_0x272fb4)['send'](_0x1cef02);};}function getInteractionUsers(_0x1aa7c0,_0x1b52c9){return new BPromise(function(_0x1a9adf,_0x25ca6d){try{if(_0x1b52c9[_0x1aa7c0['id']]){_0x1aa7c0['Users']=_[_0x6c2f('0x38')](_0x1b52c9[_0x1aa7c0['id']],function(_0x564322){return{'id':_0x564322['id'],'fullname':_0x564322[_0x6c2f('0x39')]};});}}catch(_0x193839){_0x25ca6d(_0x193839);}_0x1a9adf(_0x1aa7c0);});}function getInteractionTags(_0x27b0f6,_0x13069c){return new BPromise(function(_0x492a48,_0x2f47da){try{if(_0x27b0f6[_0x6c2f('0x3a')]){_0x27b0f6[_0x6c2f('0x3b')]=[];_0x27b0f6[_0x6c2f('0x3a')][_0x6c2f('0x3c')](',')[_0x6c2f('0x3d')](function(_0x736fd9){_0x27b0f6[_0x6c2f('0x3b')][_0x6c2f('0x3e')](_0x13069c[_0x736fd9]);});}delete _0x27b0f6['TagIds'];}catch(_0x3e4e50){_0x2f47da(_0x3e4e50);}_0x492a48(_0x27b0f6);});}function updateChatInteraction(_0x958904,_0xd591cd,_0x35a0bc){return new BPromise(function(_0x193e5b,_0x7d54a){return getInteractionUsers(_0x958904,_0x35a0bc)[_0x6c2f('0x25')](function(_0x24cb62){return getInteractionTags(_0x24cb62,_0xd591cd);})[_0x6c2f('0x25')](function(_0x3ac038){_0x193e5b(_0x3ac038);})['catch'](function(_0x27ba88){_0x7d54a(_0x27ba88);});});}exports[_0x6c2f('0x3f')]=function(_0x85b7d6,_0x58d201){var _0x55191e={},_0x5a7afe={},_0x388184={'count':0x0,'rows':[]};var _0x57f1de=_[_0x6c2f('0x38')](db[_0x6c2f('0x40')][_0x6c2f('0x41')],function(_0x5d2e4d){return{'name':_0x5d2e4d[_0x6c2f('0x42')],'type':_0x5d2e4d[_0x6c2f('0x43')][_0x6c2f('0x44')]};});_0x5a7afe[_0x6c2f('0x45')]=_[_0x6c2f('0x38')](_0x57f1de,'name');_0x5a7afe[_0x6c2f('0x46')]=_[_0x6c2f('0x47')](_0x85b7d6[_0x6c2f('0x46')]);_0x5a7afe['filters']=_[_0x6c2f('0x48')](_0x5a7afe[_0x6c2f('0x45')],_0x5a7afe[_0x6c2f('0x46')]);_0x55191e[_0x6c2f('0x49')]=_[_0x6c2f('0x48')](_0x5a7afe[_0x6c2f('0x45')],qs['fields'](_0x85b7d6[_0x6c2f('0x46')]['fields']));_0x55191e[_0x6c2f('0x49')]=_0x55191e['attributes'][_0x6c2f('0x4a')]?_0x55191e[_0x6c2f('0x49')]:_0x5a7afe[_0x6c2f('0x45')];if(!_0x85b7d6[_0x6c2f('0x46')]['hasOwnProperty'](_0x6c2f('0x4b'))){_0x55191e[_0x6c2f('0x32')]=qs[_0x6c2f('0x32')](_0x85b7d6['query'][_0x6c2f('0x32')]);_0x55191e['offset']=qs['offset'](_0x85b7d6['query']['offset']);}_0x55191e[_0x6c2f('0x4c')]=qs[_0x6c2f('0x4d')](_0x85b7d6['query']['sort']);_0x55191e[_0x6c2f('0x4e')]=qs[_0x6c2f('0x4f')](_[_0x6c2f('0x50')](_0x85b7d6['query'],_0x5a7afe[_0x6c2f('0x4f')]),_0x57f1de);var _0x3c1147=[];var _0x22f972=squel[_0x6c2f('0x51')]()[_0x6c2f('0x52')]('id')[_0x6c2f('0x52')](_0x6c2f('0x37'))[_0x6c2f('0x52')](_0x6c2f('0x53'))['from'](_0x6c2f('0x54'));var _0x48f56f=squel[_0x6c2f('0x51')]()['field']('u.id')['field'](_0x6c2f('0x55'))[_0x6c2f('0x52')]('ui.ChatInteractionId')[_0x6c2f('0x56')](_0x6c2f('0x57'),'ui')[_0x6c2f('0x58')]('users','u','u.id\x20=\x20ui.UserId');var _0x2cdfd8=squel[_0x6c2f('0x51')]()[_0x6c2f('0x56')](_0x6c2f('0x59'),'i')['left_join']('cm_contacts','c',_0x6c2f('0x5a'))[_0x6c2f('0x58')]('users','o',_0x6c2f('0x5b'))[_0x6c2f('0x58')](_0x6c2f('0x5c'),'a','a.id\x20=\x20i.ChatWebsiteId')['left_join'](_0x6c2f('0x5d'),'me',_0x6c2f('0x5e'))[_0x6c2f('0x58')](_0x6c2f('0x5f'),'it',_0x6c2f('0x60'))['left_join'](_0x6c2f('0x54'),'t',_0x6c2f('0x61'));var _0x4dc59a=squel['expr']();var _0x2aeea6=[];var _0x25da05=squel[_0x6c2f('0x62')]();var _0x54c5a5;if(_0x85b7d6['query'][_0x6c2f('0x63')]){_0x54c5a5=as[_0x6c2f('0x64')](_0x85b7d6[_0x6c2f('0x46')]['search']);var _0xdd6b31=_0x54c5a5[_0x6c2f('0x65')];for(var _0x382634=0x0;_0x382634<_0x54c5a5[_0x6c2f('0x66')][_0x6c2f('0x4a')];_0x382634++){var _0x260cd8=_0x54c5a5[_0x6c2f('0x66')][_0x382634];var _0x477305='i';var _0x2b51da=_[_0x6c2f('0x67')](_0x57f1de,[_0x6c2f('0x37'),_0x260cd8['field']]);if(!_0x2b51da){switch(_0x260cd8['field']){case'unreadMessages':if(_0x260cd8[_0x6c2f('0x68')]==0x1){_0x2cdfd8[_0x6c2f('0x69')]('`'+_0x260cd8[_0x6c2f('0x52')]+_0x6c2f('0x6a'));}else{_0x2cdfd8[_0x6c2f('0x69')]('`'+_0x260cd8[_0x6c2f('0x52')]+_0x6c2f('0x6b'));}break;case _0x6c2f('0x6c'):if(_0x260cd8['operator']==='$substring'){if(_0x260cd8['value']['split']('\x20')[_0x6c2f('0x4a')]>0x1){_0x4dc59a[_0xdd6b31]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x6c2f('0x6d')](_0x260cd8[_0x6c2f('0x68')]),null);}else{var _0x4c9281='%'+_0x260cd8[_0x6c2f('0x68')]+'%';_0x4dc59a[_0xdd6b31](_0x6c2f('0x6e'),_0x4c9281,_0x4c9281,_0x4c9281);}}else{_0x2b51da=_['find'](_0x57f1de,['name','ContactId']);_0x260cd8['field']='ContactId';_0xc94821=as[_0x6c2f('0x6f')](_0x477305,_0x2b51da[_0x6c2f('0x43')],_0x260cd8);_0x4dc59a[_0xdd6b31](_0xc94821[_0x6c2f('0x70')],_0xc94821[_0x6c2f('0x68')][_0x6c2f('0x71')],_0xc94821[_0x6c2f('0x68')][_0x6c2f('0x2e')]);}break;case _0x6c2f('0x72'):var _0x4745a3=_0x260cd8[_0x6c2f('0x68')]['split'](',')[_0x6c2f('0x38')](function(_0x2c0c7e){return Number(_0x2c0c7e);});_0x4745a3[_0x6c2f('0x3d')](function(_0x10dde2){_0x25da05['or'](_0x6c2f('0x73'),'%,'+_0x10dde2+',%');});_0x2aeea6=_['union'](_0x2aeea6,_0x4745a3);break;case _0x6c2f('0x74'):if(_0x260cd8[_0x6c2f('0x75')]===_0x6c2f('0x76')){_0x4dc59a[_0xdd6b31](_0x6c2f('0x77'),'%'+_0x260cd8[_0x6c2f('0x68')]+'%',null);}else{_0x2b51da=_[_0x6c2f('0x67')](_0x57f1de,[_0x6c2f('0x37'),'UserId']);_0x260cd8['field']=_0x6c2f('0x78');_0xc94821=as['buildExpression'](_0x477305,_0x2b51da[_0x6c2f('0x43')],_0x260cd8);_0x4dc59a[_0xdd6b31](_0xc94821['text'],_0xc94821['value'][_0x6c2f('0x71')],_0xc94821[_0x6c2f('0x68')][_0x6c2f('0x2e')]);}break;case _0x6c2f('0x79'):_0xc94821=as[_0x6c2f('0x6f')]('me',null,_0x260cd8);_0x4dc59a[_0xdd6b31](_0xc94821['text'],_0xc94821[_0x6c2f('0x68')][_0x6c2f('0x71')],_0xc94821[_0x6c2f('0x68')][_0x6c2f('0x2e')]);break;}}else{var _0xc94821=as['buildExpression'](_0x477305,_0x2b51da['type'],_0x260cd8);_0x4dc59a[_0xdd6b31](_0xc94821[_0x6c2f('0x70')],_0xc94821[_0x6c2f('0x68')]['start'],_0xc94821['value'][_0x6c2f('0x2e')]);}}}else{var _0x2713b2=_(_0x85b7d6[_0x6c2f('0x46')])['keys']()[_0x6c2f('0x38')](function(_0x3a8f5d){return _['some'](_0x57f1de,['name',_0x3a8f5d])?_0x3a8f5d:undefined;})[_0x6c2f('0x7a')]()[_0x6c2f('0x68')]();if(!_[_0x6c2f('0x7b')](_0x2713b2)){_0x2713b2[_0x6c2f('0x3d')](function(_0x2d5b38){if(_0x2d5b38==='ChatWebsiteId'){_0x2cdfd8[_0x6c2f('0x4e')](_0x6c2f('0x7c'),[][_0x6c2f('0x7d')](_0x85b7d6[_0x6c2f('0x46')][_0x2d5b38]));}else if(_0x2d5b38===_0x6c2f('0x7e')){var _0x12ea56=JSON[_0x6c2f('0x7f')](_0x85b7d6[_0x6c2f('0x46')][_0x2d5b38])[_0x6c2f('0x80')];var _0x207f93=JSON[_0x6c2f('0x7f')](_0x85b7d6['query'][_0x2d5b38])[_0x6c2f('0x81')];_0x2cdfd8['where'](_0x6c2f('0x82'),_0x12ea56,_0x207f93);}else{if(_0x85b7d6['query'][_0x2d5b38]===_0x6c2f('0x83')){_0x2cdfd8['where']('i.'+_0x2d5b38+'\x20IS\x20NULL');}else{_0x2cdfd8[_0x6c2f('0x4e')]('i.'+_0x2d5b38+'\x20=\x20?',_0x85b7d6['query'][_0x2d5b38]);}}});}if(_0x85b7d6['query']['read']){if(_0x85b7d6[_0x6c2f('0x46')][_0x6c2f('0x84')]==0x1){_0x2cdfd8[_0x6c2f('0x69')](_0x6c2f('0x85'));}else{_0x2cdfd8['having'](_0x6c2f('0x86'));}}if(_0x85b7d6[_0x6c2f('0x46')][_0x6c2f('0x87')]){_0x2aeea6=_[_0x6c2f('0x88')](_0x85b7d6[_0x6c2f('0x46')][_0x6c2f('0x87')])?_0x85b7d6[_0x6c2f('0x46')][_0x6c2f('0x87')]:new Array(_0x85b7d6[_0x6c2f('0x46')]['tag']);_0x2aeea6[_0x6c2f('0x3d')](function(_0x585c0e){_0x25da05['or'](_0x6c2f('0x73'),'%,'+_0x585c0e+',%');});}if(_0x85b7d6[_0x6c2f('0x46')][_0x6c2f('0x89')]){var _0x9057f4=_0x85b7d6[_0x6c2f('0x46')][_0x6c2f('0x89')][_0x6c2f('0x8a')]('\x5c','\x5c\x5c')[_0x6c2f('0x8a')](/'/g,'\x27\x27');if(qs[_0x6c2f('0x8b')](_0x9057f4)){_0x4dc59a['or']('i.id\x20LIKE\x20?',_0x9057f4+'%');}else{_0x4dc59a['or'](_0x6c2f('0x8c'),qs[_0x6c2f('0x6d')](_0x9057f4))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x9057f4+'%');}}}_0x2cdfd8['where'](_0x4dc59a);_0x2cdfd8['group'](_0x6c2f('0x8d'));var _0x2c44ef={'type':db[_0x6c2f('0x8e')][_0x6c2f('0x8f')][_0x6c2f('0x90')],'raw':!![]};var _0x15dde3=_0x2cdfd8[_0x6c2f('0x91')]();_0x15dde3[_0x6c2f('0x52')](_0x6c2f('0x8d'));_0x15dde3[_0x6c2f('0x52')](_0x6c2f('0x92'),_0x6c2f('0x93'));if(_0x55191e[_0x6c2f('0x4c')]){_0x55191e[_0x6c2f('0x4c')]['forEach'](function(_0x4ccdbc){var _0x120c3f=_0x4ccdbc[0x0]===_0x6c2f('0x94')?_0x4ccdbc[0x0]:'i.'+_0x4ccdbc[0x0];_0x2cdfd8[_0x6c2f('0x4c')](_0x120c3f,_0x4ccdbc[0x1]===_0x6c2f('0x95')?![]:!![]);});}if(!_[_0x6c2f('0x7b')](_0x2aeea6)){_0x2cdfd8[_0x6c2f('0x69')](_0x25da05);_0x15dde3[_0x6c2f('0x4e')](_0x6c2f('0x96'),_0x2aeea6);}BPromise[_0x6c2f('0x97')]()[_0x6c2f('0x25')](function(){if(!_0x54c5a5){if(_0x85b7d6['query']['ChatWebsiteId'])return;_0x15dde3['where'](_0x6c2f('0x98'));_0x2cdfd8[_0x6c2f('0x4e')](_0x6c2f('0x98'));return;}if(_0x85b7d6[_0x6c2f('0x99')]['role']!==_0x6c2f('0x9a'))return;return _0x85b7d6['user'][_0x6c2f('0x9b')]({'attributes':['id'],'raw':!![]})[_0x6c2f('0x25')](function(_0xc48a9d){if(_['isEmpty'](_0xc48a9d)){_0x15dde3[_0x6c2f('0x4e')](_0x6c2f('0x9c'));_0x2cdfd8['where'](_0x6c2f('0x9c'));}else{_0x15dde3[_0x6c2f('0x4e')](_0x6c2f('0x7c'),_[_0x6c2f('0x38')](_0xc48a9d,'id'));_0x2cdfd8['where'](_0x6c2f('0x7c'),_[_0x6c2f('0x38')](_0xc48a9d,'id'));}});})[_0x6c2f('0x25')](function(){if(_0x85b7d6[_0x6c2f('0x99')][_0x6c2f('0x9d')]===_0x6c2f('0x9a')&&!_0x54c5a5&&!_0x85b7d6['query'][_0x6c2f('0x9e')])return[];return db[_0x6c2f('0x9f')]['query'](_0x15dde3[_0x6c2f('0xa0')](),_0x2c44ef);})[_0x6c2f('0x25')](function(_0x18b7f7){_0x388184['count']=_0x18b7f7[_0x6c2f('0x4a')];if(_0x388184[_0x6c2f('0x30')]===0x0)return[];return db['sequelize'][_0x6c2f('0x46')](_0x22f972['toString'](),_0x2c44ef)[_0x6c2f('0x25')](function(_0x4c42df){_0x3c1147=_[_0x6c2f('0xa1')](_0x4c42df,'id');_0x2c44ef=_[_0x6c2f('0xa2')](_0x2c44ef,{'model':db[_0x6c2f('0x40')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x85b7d6[_0x6c2f('0x46')]['fields']){_0x55191e[_0x6c2f('0x49')][_0x6c2f('0x3d')](function(_0x4d1cca){_0x2cdfd8[_0x6c2f('0x52')]('i.'+_0x4d1cca);});}else{_0x2cdfd8[_0x6c2f('0x52')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x6c2f('0x93'));_0x2cdfd8[_0x6c2f('0x52')](_0x6c2f('0xa3'),_0x6c2f('0xa4'));_0x2cdfd8[_0x6c2f('0x52')](_0x6c2f('0xa5'),'Account.mandatoryDisposition');_0x2cdfd8[_0x6c2f('0x52')](_0x6c2f('0xa6'),'contactName');_0x2cdfd8['field'](_0x6c2f('0xa7'));_0x2cdfd8['field'](_0x6c2f('0xa8'),_0x6c2f('0xa9'));_0x2cdfd8[_0x6c2f('0x52')](_0x6c2f('0xaa'),_0x6c2f('0xab'));_0x2cdfd8[_0x6c2f('0x52')](_0x6c2f('0xac'),_0x6c2f('0xad'));_0x2cdfd8[_0x6c2f('0x52')](_0x6c2f('0xae'),_0x6c2f('0xaf'));_0x2cdfd8[_0x6c2f('0x52')](_0x6c2f('0xb0'),_0x6c2f('0xb1'));_0x2cdfd8['field'](_0x6c2f('0xb2'),_0x6c2f('0xb3'));_0x2cdfd8[_0x6c2f('0x52')](_0x6c2f('0xb4'),_0x6c2f('0xb5'));_0x2cdfd8['field'](_0x6c2f('0xb6'),_0x6c2f('0xb7'));_0x2cdfd8[_0x6c2f('0x52')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x6c2f('0x3a'));}if(_0x55191e[_0x6c2f('0x32')])_0x2cdfd8['limit'](_0x55191e[_0x6c2f('0x32')]);if(_0x55191e['offset'])_0x2cdfd8[_0x6c2f('0x31')](_0x55191e[_0x6c2f('0x31')]);return db['sequelize'][_0x6c2f('0x46')](_0x2cdfd8[_0x6c2f('0xa0')](),_0x2c44ef);})[_0x6c2f('0x25')](function(_0x13b7bf){_0x48f56f['where'](_0x6c2f('0xb8'),_[_0x6c2f('0x38')](_0x13b7bf,'id'));return db[_0x6c2f('0x9f')]['query'](_0x48f56f[_0x6c2f('0xa0')](),_0x2c44ef)[_0x6c2f('0x25')](function(_0x42eadb){var _0x4416e6=_[_0x6c2f('0xb9')](_0x42eadb,'ChatInteractionId');var _0x1341ff=[];_0x13b7bf[_0x6c2f('0x3d')](function(_0x388804){_0x1341ff['push'](updateChatInteraction(_0x388804,_0x3c1147,_0x4416e6));});return BPromise[_0x6c2f('0xba')](_0x1341ff);});});})[_0x6c2f('0x25')](function(_0xd4bb73){_0x388184[_0x6c2f('0xbb')]=_0xd4bb73;return _0x388184;})[_0x6c2f('0x25')](respondWithFilteredResult(_0x58d201,_0x55191e))[_0x6c2f('0xbc')](handleError(_0x58d201,null));};exports[_0x6c2f('0xbd')]=function(_0x13d2e8,_0x1ee5f0){var _0x341121={'raw':![],'where':{'id':_0x13d2e8['params']['id']}},_0x265dc0={};_0x265dc0[_0x6c2f('0x45')]=_['keys'](db[_0x6c2f('0x40')][_0x6c2f('0x41')]);_0x265dc0[_0x6c2f('0x46')]=_[_0x6c2f('0x47')](_0x13d2e8[_0x6c2f('0x46')]);_0x265dc0[_0x6c2f('0x4f')]=_[_0x6c2f('0x48')](_0x265dc0['model'],_0x265dc0['query']);_0x341121[_0x6c2f('0x49')]=_[_0x6c2f('0x48')](_0x265dc0[_0x6c2f('0x45')],qs[_0x6c2f('0xbe')](_0x13d2e8[_0x6c2f('0x46')][_0x6c2f('0xbe')]));_0x341121[_0x6c2f('0x49')]=_0x341121[_0x6c2f('0x49')][_0x6c2f('0x4a')]?_0x341121['attributes']:_0x265dc0['model'];if(_0x13d2e8['query'][_0x6c2f('0xbf')]){_0x341121[_0x6c2f('0xc0')]=[{'all':!![]}];}_0x341121=_['merge']({},_0x341121,_0x13d2e8[_0x6c2f('0xc1')]);return db[_0x6c2f('0x40')][_0x6c2f('0x67')](_0x341121)[_0x6c2f('0x25')](handleEntityNotFound(_0x1ee5f0,null))[_0x6c2f('0x25')](respondWithResult(_0x1ee5f0,null))['catch'](handleError(_0x1ee5f0,null));};exports[_0x6c2f('0xc2')]=function(_0x847e92,_0x4691cf){return db[_0x6c2f('0x40')][_0x6c2f('0xc2')](_0x847e92[_0x6c2f('0x79')],{})[_0x6c2f('0x25')](respondWithResult(_0x4691cf,0xc9))['catch'](handleError(_0x4691cf,null));};exports['update']=function(_0x167a9f,_0x22d5b0){if(_0x167a9f[_0x6c2f('0x79')]['id']){delete _0x167a9f[_0x6c2f('0x79')]['id'];}return db[_0x6c2f('0x40')][_0x6c2f('0x67')]({'where':{'id':_0x167a9f[_0x6c2f('0xc3')]['id']}})[_0x6c2f('0x25')](handleEntityNotFound(_0x22d5b0,null))['then'](saveUpdates(_0x167a9f['body'],null))[_0x6c2f('0x25')](respondWithResult(_0x22d5b0,null))['catch'](handleError(_0x22d5b0,null));};exports[_0x6c2f('0xc4')]=function(_0x34a71e,_0x3747be){return db[_0x6c2f('0x40')][_0x6c2f('0x67')]({'where':{'id':_0x34a71e[_0x6c2f('0xc3')]['id']}})[_0x6c2f('0x25')](handleEntityNotFound(_0x3747be,null))[_0x6c2f('0x25')](removeEntity(_0x3747be,null))[_0x6c2f('0xbc')](handleError(_0x3747be,null));};exports[_0x6c2f('0xc5')]=function(_0xd19757,_0x4f3a4f){return db[_0x6c2f('0x40')][_0x6c2f('0xc5')]()['then'](respondWithResult(_0x4f3a4f,null))[_0x6c2f('0xbc')](handleError(_0x4f3a4f,null));};exports['createVidaooSession']=function(_0x3faa8f,_0x533c6a){var _0x1365c0=_0x3faa8f[_0x6c2f('0xc3')]['id'];var _0x462d23;var _0x231d5b;var _0x256858;return db['ChatInteraction'][_0x6c2f('0xc6')]({'where':{'id':_0x1365c0}})['then'](function(_0x5b05ed){_0x462d23=_0x5b05ed;return db[_0x6c2f('0xc7')][_0x6c2f('0xc6')]({'where':{'id':_0x5b05ed[_0x6c2f('0x9e')]},'attributes':['id','vidaooApiKey','vidaooEscalation'],'raw':!![]});})[_0x6c2f('0x25')](function(_0x45632f){if(_0x45632f&&_0x45632f[_0x6c2f('0xc8')]&&_0x45632f['vidaooEscalation']){_0x231d5b=_0x45632f;var _0x11824a={'rejectUnauthorized':![],'method':_0x6c2f('0xc9'),'uri':_0x6c2f('0xca'),'headers':{'X-APIKEY':_0x45632f[_0x6c2f('0xc8')]},'body':{'name':_0x6c2f('0xcb')+_0x1365c0},'redirect':'follow','json':!![]};return rp(_0x11824a);}else{throw new db['Sequelize'][(_0x6c2f('0xcc'))](_0x6c2f('0xcd'));}})['then'](function(_0x2c6605){_0x256858=_0x2c6605;if(_0x256858['id']){var _0x29f7e7={'body':_0x256858[_0x6c2f('0xce')],'ChatWebsiteId':_0x231d5b['id'],'ChatInteractionId':_0x462d23['id'],'direction':_0x6c2f('0xcf'),'UserId':_0x3faa8f[_0x6c2f('0x99')]['id']};return db[_0x6c2f('0xd0')][_0x6c2f('0xc2')](_0x29f7e7,{});}else{throw new db[(_0x6c2f('0x8e'))][(_0x6c2f('0xcc'))](_0x6c2f('0xd1'));}})[_0x6c2f('0x25')](function(){return _0x462d23[_0x6c2f('0xd2')]({'vidaooSessionId':_0x256858['id']});})['then'](respondWithResult(_0x533c6a,null))['catch'](handleError(_0x533c6a,null));};exports['customUpdate']=function(_0x39bfcd,_0x3cbea8){if(_0x39bfcd[_0x6c2f('0x79')]['id']){delete _0x39bfcd[_0x6c2f('0x79')]['id'];}return db['ChatInteraction'][_0x6c2f('0x67')]({'where':{'id':_0x39bfcd[_0x6c2f('0xc3')]['id']},'include':[{'model':db[_0x6c2f('0xd3')],'as':'Contact'}]})['then'](handleEntityNotFound(_0x3cbea8,null))[_0x6c2f('0x25')](saveUpdates(_0x39bfcd[_0x6c2f('0x79')],null))[_0x6c2f('0x25')](respondWithResult(_0x3cbea8,null))[_0x6c2f('0xbc')](handleError(_0x3cbea8,null));};exports['abandon']=function(_0x4ca246,_0x9c5ead,_0x2077ee){if(_0x4ca246[_0x6c2f('0x79')]['id']){delete _0x4ca246[_0x6c2f('0x79')]['id'];}return db[_0x6c2f('0x40')][_0x6c2f('0x67')]({'where':{'id':_0x4ca246[_0x6c2f('0xc3')]['id']}})[_0x6c2f('0x25')](function(_0x429b88){if(!_0x429b88){logger['error']('abandonInteraction,\x20%s,\x20%s,\x20%s',_0x6c2f('0xd4'),0x194,'entity\x20not\x20found');_0x9c5ead[_0x6c2f('0x36')](0x194);}else{if(_0x429b88[_0x6c2f('0x78')]){throw new db['Sequelize'][(_0x6c2f('0xcc'))](_0x6c2f('0xd5'));}}return _0x429b88;})[_0x6c2f('0x25')](function(_0x468aba){if(_0x468aba){return _0x468aba[_0x6c2f('0x35')]({'closed':_0x4ca246[_0x6c2f('0x79')][_0x6c2f('0xd6')],'disposition':_0x4ca246['body']['disposition']})[_0x6c2f('0x25')](function(_0x1a50ce){return _0x1a50ce;});}})[_0x6c2f('0x25')](function(_0x167405){return respondWithRpcPromise(_0x6c2f('0xd7'),'abandon',_0x4ca246[_0x6c2f('0x79')],client9004);})[_0x6c2f('0x25')](respondWithResult(_0x9c5ead,null))[_0x6c2f('0xbc')](handleError(_0x9c5ead,null));};exports[_0x6c2f('0xd8')]=function(_0x5b83af,_0x542918,_0x5a7cf3){_0x5b83af[_0x6c2f('0x79')][_0x6c2f('0x37')]=_0x5b83af['file'][_0x6c2f('0xd9')];_0x5b83af[_0x6c2f('0x79')]['basename']=_0x5b83af[_0x6c2f('0xda')][_0x6c2f('0xdb')];_0x5b83af[_0x6c2f('0x79')]['type']=_0x5b83af['file'][_0x6c2f('0xdc')];return db[_0x6c2f('0xdd')][_0x6c2f('0xc2')](_0x5b83af[_0x6c2f('0x79')])[_0x6c2f('0x25')](respondWithResult(_0x542918,0xc9))['catch'](handleError(_0x542918,null));};exports[_0x6c2f('0xde')]=function(_0x253566,_0x586a0e,_0x454043){return db[_0x6c2f('0x40')]['findOne']({'where':{'id':_0x253566[_0x6c2f('0xc3')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x586a0e,null))[_0x6c2f('0x25')](function(_0x5324bb){if(_0x5324bb){if(_0x5324bb[_0x6c2f('0xd6')]){return _0x586a0e[_0x6c2f('0x2d')](0x193)[_0x6c2f('0x2f')]({'status':0x193,'message':'Unauthorized'});}return db[_0x6c2f('0xdd')][_0x6c2f('0xc6')]({'where':{'id':_0x253566[_0x6c2f('0x46')][_0x6c2f('0xdf')]},'raw':!![]})[_0x6c2f('0x25')](handleEntityNotFound(_0x586a0e,null));}})[_0x6c2f('0x25')](function(_0x920248){if(_0x920248){var _0x4bc95c=_0x920248[_0x6c2f('0xe0')]!==null;var _0xfb1203=path[_0x6c2f('0xe1')](config[_0x6c2f('0xe2')],_0x6c2f('0xe3'));if(_0x4bc95c){_0xfb1203=path['join'](_0xfb1203,_0x6c2f('0xe4'));}var _0x11b6d0=path[_0x6c2f('0xe1')](_0xfb1203,_0x920248['basename']);return _0x586a0e[_0x6c2f('0xe5')](_0x11b6d0);}})[_0x6c2f('0xbc')](handleError(_0x586a0e,null));};exports[_0x6c2f('0xe6')]=function(_0xeea6ef,_0x59a2da){var _0x17e860=null;var _0x392ffb=null;var _0x3b83bd=null;var _0x1b9295=null;if(_0xeea6ef[_0x6c2f('0x79')]['id']){delete _0xeea6ef[_0x6c2f('0x79')]['id'];}if(_0xeea6ef[_0x6c2f('0x79')][_0x6c2f('0xe7')]){_0x1b9295=path[_0x6c2f('0xe1')](config[_0x6c2f('0xe2')],_0x6c2f('0xe8'),util[_0x6c2f('0xe9')]('transcript-%s.txt',Date[_0x6c2f('0xea')]()));_0xeea6ef[_0x6c2f('0x79')][_0x6c2f('0xeb')]=_0x1b9295;}return db[_0x6c2f('0x40')][_0x6c2f('0x67')]({'where':{'id':_0xeea6ef[_0x6c2f('0xc3')]['id']},'include':[{'model':db[_0x6c2f('0xd0')],'as':'Messages','include':[{'model':db[_0x6c2f('0x74')],'as':_0x6c2f('0x74')}]}]})[_0x6c2f('0x25')](handleEntityNotFound(_0x59a2da,null))[_0x6c2f('0x25')](saveUpdates(_0xeea6ef['body'],null))[_0x6c2f('0x25')](function(_0x663112){if(_0x663112){_0x17e860=_0x663112;return db[_0x6c2f('0xc7')][_0x6c2f('0x67')]({'where':{'id':_0x17e860[_0x6c2f('0x9e')]}});}})[_0x6c2f('0x25')](function(_0x280abc){if(_0x280abc){_0x3b83bd=_0x280abc;return db[_0x6c2f('0xd3')][_0x6c2f('0x67')]({'where':{'id':_0x17e860[_0x6c2f('0xec')]}});}})[_0x6c2f('0x25')](function(_0x51d8b4){if(_0x51d8b4){_0x392ffb=_0x51d8b4;if(_0x1b9295){var _0x4b8ca8=null;for(var _0x3e8a61=0x1;_0x3e8a61<_0x17e860[_0x6c2f('0xed')][_0x6c2f('0x4a')];++_0x3e8a61){_0x4b8ca8=_0x17e860[_0x6c2f('0xed')][_0x3e8a61];var _0x3349ac=_0x4b8ca8[_0x6c2f('0x78')]?util['format'](_0x6c2f('0xee'),_0x3b83bd[_0x6c2f('0xef')],_0x4b8ca8['UserId']):'System';var _0x499712=_0xeea6ef[_0x6c2f('0x79')][_0x6c2f('0xf0')]||util['format'](_0x6c2f('0xee'),_0x6c2f('0xf1'),_0x4b8ca8[_0x6c2f('0xec')]);switch(_0x3b83bd[_0x6c2f('0xf2')]){case _0x6c2f('0xf3'):_0x3349ac=_0x4b8ca8[_0x6c2f('0x78')]?util[_0x6c2f('0xe9')](_0x6c2f('0xee'),_0x3b83bd['agentAlias'],_0x4b8ca8[_0x6c2f('0x78')]):_0x6c2f('0xf4');break;case _0x6c2f('0xf5'):_0x3349ac=_0x4b8ca8[_0x6c2f('0x78')]?_0x4b8ca8[_0x6c2f('0x74')][_0x6c2f('0xf6')]||_0x4b8ca8[_0x6c2f('0x74')][_0x6c2f('0x39')]:_0x6c2f('0xf4');break;case _0x6c2f('0xf7'):_0x3349ac=_0x4b8ca8[_0x6c2f('0x78')]?_0x4b8ca8[_0x6c2f('0x74')][_0x6c2f('0x39')]:_0x6c2f('0xf4');break;default:_0x3349ac=_0x4b8ca8['UserId']?util[_0x6c2f('0xe9')]('%s%d',_0x3b83bd[_0x6c2f('0xef')],_0x4b8ca8[_0x6c2f('0x78')]):_0x6c2f('0xf4');}var _0x1e8144=util[_0x6c2f('0xe9')]('[%s]\x20%s:\x20%s\x0a',moment(_0x4b8ca8[_0x6c2f('0x7e')])[_0x6c2f('0xe9')]('MM/DD/YYYY\x20HH:mm:ss'),_0x4b8ca8[_0x6c2f('0xf8')]==='in'?_0x499712:_0x3349ac,_0x4b8ca8[_0x6c2f('0x79')]);if(!_0x4b8ca8[_0x6c2f('0xf9')]){fs[_0x6c2f('0xfa')](_0x1b9295,_0x1e8144);}}return db[_0x6c2f('0xfb')][_0x6c2f('0xc6')]({'where':{'service':!![]},'include':[{'model':db[_0x6c2f('0xfc')],'as':'Smtp','raw':!![]}]});}}})[_0x6c2f('0x25')](function(_0x5609cc){if(_0x5609cc&&_0x5609cc[_0x6c2f('0xfd')]&&_0xeea6ef[_0x6c2f('0x79')]){var _0x264ffb={'tls':{'rejectUnauthorized':![]}};if(_0x5609cc[_0x6c2f('0xfd')][_0x6c2f('0xfe')]){_0x264ffb[_0x6c2f('0xfe')]=_0x5609cc[_0x6c2f('0xfd')]['service'];}else{_0x264ffb[_0x6c2f('0xff')]=_0x5609cc['Smtp'][_0x6c2f('0xff')];_0x264ffb[_0x6c2f('0x100')]=_0x5609cc['Smtp'][_0x6c2f('0x100')];_0x264ffb[_0x6c2f('0x101')]=_0x5609cc[_0x6c2f('0xfd')][_0x6c2f('0x101')];}if(_0x5609cc[_0x6c2f('0xfd')][_0x6c2f('0x102')]){_0x264ffb[_0x6c2f('0x103')]={'user':_0x5609cc['Smtp'][_0x6c2f('0x99')],'pass':_0x5609cc[_0x6c2f('0xfd')][_0x6c2f('0x104')]};}return respondWithRpcPromise(_0x6c2f('0x105'),_0x6c2f('0x106'),{'account':_0x264ffb,'message':{'from':util[_0x6c2f('0xe9')](_0x6c2f('0x107'),_0x5609cc[_0x6c2f('0x37')],_0x5609cc['email']||_0x5609cc[_0x6c2f('0xfd')][_0x6c2f('0x99')]),'to':_0xeea6ef['body']['mailTranscript'],'subject':_0x6c2f('0x108'),'text':util[_0x6c2f('0xe9')](_0x6c2f('0x109'),_0xeea6ef[_0x6c2f('0x79')][_0x6c2f('0xe7')]),'attachments':[{'path':_0x1b9295}]}})['then'](function(){return _0x17e860;})['catch'](function(_0x1c17f3){console['error'](_0x1c17f3);});}else{return _0x17e860;}})[_0x6c2f('0x25')](respondWithStatusCode(_0x59a2da,0xc8))[_0x6c2f('0xbc')](handleError(_0x59a2da,null));};exports['addMessage']=function(_0x394950,_0x3e77f1,_0x5d7dff){return db[_0x6c2f('0xd0')][_0x6c2f('0x67')]({'where':{'id':_0x394950[_0x6c2f('0xc3')]['id']}})[_0x6c2f('0x25')](handleEntityNotFound(_0x3e77f1,null))['then'](function(_0xe5a3fd){if(_0xe5a3fd){return _0xe5a3fd[_0x6c2f('0x10a')](_0x394950['body'][_0x6c2f('0x10b')],_[_0x6c2f('0x10c')](_0x394950[_0x6c2f('0x79')],[_0x6c2f('0x10b'),'id'])||{});}})[_0x6c2f('0x25')](respondWithResult(_0x3e77f1,null))['catch'](handleError(_0x3e77f1,null));};exports[_0x6c2f('0x10d')]=function(_0x5674dd,_0x34db5b,_0x330804){var _0x1df20b={'raw':![],'where':{}};var _0x113782={};var _0x3eb02c={'count':0x0,'rows':[]};return db[_0x6c2f('0x40')][_0x6c2f('0xc6')]({'where':{'id':_0x5674dd['params']['id']}})[_0x6c2f('0x25')](handleEntityNotFound(_0x34db5b,null))['then'](function(_0x4fcf34){if(_0x4fcf34){_0x113782['model']=_['keys'](db[_0x6c2f('0xd0')][_0x6c2f('0x41')]);_0x113782[_0x6c2f('0x46')]=_[_0x6c2f('0x47')](_0x5674dd['query']);_0x113782['filters']=_['intersection'](_0x113782[_0x6c2f('0x45')],_0x113782[_0x6c2f('0x46')]);_0x1df20b[_0x6c2f('0x49')]=_[_0x6c2f('0x48')](_0x113782['model'],qs[_0x6c2f('0xbe')](_0x5674dd[_0x6c2f('0x46')]['fields']));_0x1df20b['attributes']=_0x1df20b[_0x6c2f('0x49')][_0x6c2f('0x4a')]?_0x1df20b['attributes']:_0x113782['model'];if(!_0x5674dd[_0x6c2f('0x46')][_0x6c2f('0x10e')]('nolimit')){_0x1df20b[_0x6c2f('0x32')]=qs['limit'](_0x5674dd[_0x6c2f('0x46')][_0x6c2f('0x32')]);_0x1df20b[_0x6c2f('0x31')]=qs[_0x6c2f('0x31')](_0x5674dd[_0x6c2f('0x46')][_0x6c2f('0x31')]);}_0x1df20b['order']=qs[_0x6c2f('0x4d')](_0x5674dd[_0x6c2f('0x46')][_0x6c2f('0x4d')]);_0x1df20b['where']=qs[_0x6c2f('0x4f')](_[_0x6c2f('0x50')](_0x5674dd[_0x6c2f('0x46')],_0x113782[_0x6c2f('0x4f')]));_0x1df20b['where'][_0x6c2f('0x10f')]=_0x4fcf34['id'];if(_0x5674dd['query'][_0x6c2f('0x89')]){_0x1df20b[_0x6c2f('0x4e')]=_[_0x6c2f('0xa2')](_0x1df20b[_0x6c2f('0x4e')],{'$or':_[_0x6c2f('0x38')](_0x1df20b['attributes'],function(_0x528eb4){var _0x218c64={};_0x218c64[_0x528eb4]={'$like':'%'+_0x5674dd[_0x6c2f('0x46')][_0x6c2f('0x89')]+'%'};return _0x218c64;})});}if(_0x5674dd[_0x6c2f('0x46')][_0x6c2f('0x80')]){var _0xa17063=_0x5674dd[_0x6c2f('0x46')][_0x6c2f('0x80')]['split'](',');var _0x120338={};_0x120338[_0xa17063[0x0]]={'$gte':moment(_0xa17063[0x1])[_0x6c2f('0xe9')](_0x6c2f('0x110'))};_0x1df20b[_0x6c2f('0x4e')]=_['merge'](_0x1df20b[_0x6c2f('0x4e')],_0x120338);}_0x1df20b=_[_0x6c2f('0xa2')]({},_0x1df20b,_0x5674dd[_0x6c2f('0xc1')]);return db[_0x6c2f('0xd0')]['count']({'where':_0x1df20b['where']})[_0x6c2f('0x25')](function(_0xa17128){_0x3eb02c[_0x6c2f('0x30')]=_0xa17128;if(_0x5674dd[_0x6c2f('0x46')]['includeAll']){_0x1df20b['include']=[{'all':!![]}];}return db[_0x6c2f('0xd0')][_0x6c2f('0x111')](_0x1df20b);})[_0x6c2f('0x25')](function(_0xf2724e){_0x3eb02c['rows']=_0xf2724e;return _0x3eb02c;});}})['then'](respondWithFilteredResult(_0x34db5b,_0x1df20b))[_0x6c2f('0xbc')](handleError(_0x34db5b,null));};exports[_0x6c2f('0x112')]=function(_0x29733a,_0x190768,_0x3acc72){var _0x20e8ee={'where':{}},_0x5ba52f={},_0x574c73={'count':0x0,'rows':[]};return db[_0x6c2f('0x40')][_0x6c2f('0xc6')]({'where':{'id':_0x29733a[_0x6c2f('0xc3')]['id']}})['then'](handleEntityNotFound(_0x190768,null))[_0x6c2f('0x25')](function(_0x1ad43e){if(_0x1ad43e){_0x5ba52f[_0x6c2f('0x45')]=_[_0x6c2f('0x47')](db[_0x6c2f('0xd0')]['rawAttributes']);_0x5ba52f['query']=_[_0x6c2f('0x47')](_0x29733a[_0x6c2f('0x46')]);_0x5ba52f[_0x6c2f('0x4f')]=_[_0x6c2f('0x48')](_0x5ba52f[_0x6c2f('0x45')],_0x5ba52f['query']);_0x20e8ee[_0x6c2f('0x49')]=_['intersection'](_0x5ba52f[_0x6c2f('0x45')],qs[_0x6c2f('0xbe')](_0x29733a[_0x6c2f('0x46')][_0x6c2f('0xbe')]));_0x20e8ee[_0x6c2f('0x49')]=_0x20e8ee[_0x6c2f('0x49')][_0x6c2f('0x4a')]?_0x20e8ee[_0x6c2f('0x49')]:_0x5ba52f[_0x6c2f('0x45')];if(!_0x29733a[_0x6c2f('0x46')]['hasOwnProperty'](_0x6c2f('0x4b'))){_0x20e8ee[_0x6c2f('0x32')]=qs[_0x6c2f('0x32')](_0x29733a[_0x6c2f('0x46')][_0x6c2f('0x32')]);_0x20e8ee[_0x6c2f('0x31')]=qs['offset'](_0x29733a['query'][_0x6c2f('0x31')]);}_0x20e8ee[_0x6c2f('0x4c')]=qs[_0x6c2f('0x4d')](_0x29733a[_0x6c2f('0x46')][_0x6c2f('0x4d')]);_0x20e8ee[_0x6c2f('0x4e')]=qs[_0x6c2f('0x4f')](_[_0x6c2f('0x50')](_0x29733a['query'],_0x5ba52f['filters']));_0x20e8ee['where']['ChatInteractionId']=_0x1ad43e['id'];if(_0x29733a[_0x6c2f('0x46')][_0x6c2f('0x89')]){_0x20e8ee[_0x6c2f('0x4e')]=_['merge'](_0x20e8ee['where'],{'$or':_[_0x6c2f('0x38')](_0x20e8ee[_0x6c2f('0x49')],function(_0x55a228){var _0x3d57da={};_0x3d57da[_0x55a228]={'$like':'%'+_0x29733a[_0x6c2f('0x46')][_0x6c2f('0x89')]+'%'};return _0x3d57da;})});}_0x20e8ee[_0x6c2f('0x4e')][_0x6c2f('0xf9')]=![];if(_0x29733a['query']['id']){_0x20e8ee[_0x6c2f('0x4e')]['id']={'$gt':_0x29733a[_0x6c2f('0x46')]['id']};}_0x20e8ee=_[_0x6c2f('0xa2')]({},_0x20e8ee,_0x29733a['options']);return db[_0x6c2f('0xd0')][_0x6c2f('0x30')]({'where':_0x20e8ee[_0x6c2f('0x4e')]})['then'](function(_0x310167){_0x574c73[_0x6c2f('0x30')]=_0x310167;_0x20e8ee[_0x6c2f('0xc0')]=[];if(_0x29733a[_0x6c2f('0x46')][_0x6c2f('0x113')]){_0x20e8ee[_0x6c2f('0xc0')][_0x6c2f('0x3e')]({'model':db[_0x6c2f('0x74')],'as':'User','attributes':['id','fullname','alias']});}if(_0x29733a['query']['includeAll']){_0x20e8ee[_0x6c2f('0xc0')]=[{'all':!![]}];}return db[_0x6c2f('0xd0')][_0x6c2f('0x111')](_0x20e8ee);})[_0x6c2f('0x25')](function(_0x1f979c){_0x574c73['rows']=_0x1f979c;return _0x574c73;});}})[_0x6c2f('0x25')](respondWithFilteredResult(_0x190768,_0x20e8ee))[_0x6c2f('0xbc')](handleError(_0x190768,null));};exports['addTags']=function(_0x398b6d,_0x382c8f,_0xf2fb38){return db[_0x6c2f('0x40')][_0x6c2f('0x67')]({'where':{'id':_0x398b6d[_0x6c2f('0xc3')]['id']}})['then'](handleEntityNotFound(_0x382c8f,null))[_0x6c2f('0x25')](function(_0xcfc02d){if(_0xcfc02d){return _0xcfc02d[_0x6c2f('0x114')](_0x398b6d[_0x6c2f('0x79')][_0x6c2f('0x10b')],_[_0x6c2f('0x10c')](_0x398b6d[_0x6c2f('0x79')],[_0x6c2f('0x10b'),'id'])||{})[_0x6c2f('0x115')](function(){return db['Tag'][_0x6c2f('0x111')]({'attributes':['id','name',_0x6c2f('0x53')],'where':{'id':_0x398b6d[_0x6c2f('0x79')]['ids']}});})['then'](function(_0x4d8ec8){socket['emit'](_0x6c2f('0x116'),{'id':Number(_0x398b6d[_0x6c2f('0xc3')]['id']),'tags':_0x4d8ec8||[]});return{'id':Number(_0x398b6d[_0x6c2f('0xc3')]['id']),'tags':_0x4d8ec8||[]};});}})[_0x6c2f('0x25')](respondWithResult(_0x382c8f,null))[_0x6c2f('0xbc')](handleError(_0x382c8f,null));};exports[_0x6c2f('0x117')]=function(_0x1b1763,_0x35cb21,_0x1e975f){return db[_0x6c2f('0x40')][_0x6c2f('0x67')]({'where':{'id':_0x1b1763[_0x6c2f('0xc3')]['id']}})[_0x6c2f('0x25')](handleEntityNotFound(_0x35cb21,null))[_0x6c2f('0x25')](function(_0x579c14){if(_0x579c14){return _0x579c14[_0x6c2f('0x117')](_0x1b1763['query'][_0x6c2f('0x10b')]);}})[_0x6c2f('0x25')](respondWithStatusCode(_0x35cb21,null))['catch'](handleError(_0x35cb21,null));};exports['download']=function(_0x1e35ff,_0x380fe8){var _0x3b17ce=moment()['unix']()[_0x6c2f('0xa0')]();var _0x354e10=path[_0x6c2f('0xe1')](config[_0x6c2f('0xe2')],_0x6c2f('0x118'),_0x6c2f('0x119'),_0x6c2f('0x11a'));var _0x6aade2=path[_0x6c2f('0xe1')](config[_0x6c2f('0xe2')],_0x6c2f('0x118'),_0x6c2f('0x119'),_0x6c2f('0x11b'));var _0x5a28a8=path[_0x6c2f('0xe1')](_0x354e10,_0x3b17ce);var _0x3b681b=util[_0x6c2f('0xe9')](_0x6c2f('0x11c'),_0x1e35ff[_0x6c2f('0xc3')]['id'],_0x3b17ce);var _0x3215a2=path[_0x6c2f('0xe1')](_0x354e10,_0x3b681b);var _0x5a3e8b=[];_0x5a3e8b['push']({'model':db[_0x6c2f('0x74')],'as':'User','attributes':['id',_0x6c2f('0x39')],'raw':!![]});_0x5a3e8b[_0x6c2f('0x3e')]({'model':db[_0x6c2f('0xd3')],'as':'Contact','attributes':['id','firstName',_0x6c2f('0x11d')],'raw':!![]});if(_0x1e35ff['query'][_0x6c2f('0x11b')]){_0x5a3e8b[_0x6c2f('0x3e')]({'model':db[_0x6c2f('0xdd')],'as':_0x6c2f('0xdd'),'raw':!![]});}var _0x2f8e13=[{'model':db[_0x6c2f('0xd0')],'as':'Messages','attributes':['id',_0x6c2f('0x79'),_0x6c2f('0x7e'),'direction','secret',_0x6c2f('0x84')],'include':_0x5a3e8b}];_0x2f8e13[_0x6c2f('0x3e')]({'model':db[_0x6c2f('0xc7')],'as':'Account','attributes':['id',_0x6c2f('0x37')]});_0x2f8e13[_0x6c2f('0x3e')]({'model':db[_0x6c2f('0x74')],'as':_0x6c2f('0x11e'),'attributes':['id',_0x6c2f('0x39')]});return db['ChatInteraction'][_0x6c2f('0x67')]({'where':{'id':_0x1e35ff[_0x6c2f('0xc3')]['id']},'include':_0x2f8e13})['then'](handleEntityNotFound(_0x380fe8,null))['then'](function(_0x123487){if(_0x123487){var _0x343e79=_0x123487['get']({'plain':!![]});fs[_0x6c2f('0x11f')](_0x5a28a8);var _0x303145={'channel':_0x6c2f('0x120'),'account':_0x343e79[_0x6c2f('0x121')][_0x6c2f('0x37')],'agent':_0x343e79[_0x6c2f('0x11e')]?_0x343e79[_0x6c2f('0x11e')][_0x6c2f('0x39')]:_0x6c2f('0x122'),'createdAt':moment(_0x343e79[_0x6c2f('0x7e')])['format']('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'closedAt':_0x343e79[_0x6c2f('0xd6')]?moment(_0x343e79['closedAt'])['format'](_0x6c2f('0x110'))[_0x6c2f('0xa0')]():'','disposition':_0x343e79[_0x6c2f('0x123')],'chatInfo':{'browser':_0x343e79[_0x6c2f('0x124')],'os':_0x343e79[_0x6c2f('0x125')],'referer':_0x343e79['referer'],'customerIp':_0x343e79[_0x6c2f('0x126')],'customerPort':_0x343e79[_0x6c2f('0x127')]?_0x343e79['customerPort']:_0x6c2f('0x122')},'messages':_(_0x343e79[_0x6c2f('0xed')])[_0x6c2f('0x128')]()[_0x6c2f('0x89')]({'secret':![]})[_0x6c2f('0x38')](function(_0x414248){if(_0x414248[_0x6c2f('0xdd')]){var _0x4118ab=path['join'](_0x6aade2,_0x414248[_0x6c2f('0xdd')][_0x6c2f('0x129')]);if(fs[_0x6c2f('0x12a')](_0x4118ab)){fs['createReadStream'](_0x4118ab)[_0x6c2f('0x12b')](fs[_0x6c2f('0x12c')](path['join'](_0x5a28a8,_0x414248[_0x6c2f('0xdd')]['basename'])));}}return{'date':moment(_0x414248['createdAt'])[_0x6c2f('0xe9')](_0x6c2f('0x110'))[_0x6c2f('0xa0')](),'sender':_0x414248[_0x6c2f('0xf8')]===_0x6c2f('0xcf')?_0x414248['User']?_0x414248['User'][_0x6c2f('0x39')]:'System':_0x414248['Contact']['firstName']+(_0x414248[_0x6c2f('0x6c')][_0x6c2f('0x11d')]?'\x20'+_0x414248[_0x6c2f('0x6c')][_0x6c2f('0x11d')]:''),'body':_0x414248[_0x6c2f('0xdd')]?_0x414248['Attachment'][_0x6c2f('0x129')]:_0x414248[_0x6c2f('0x79')],'direction':_0x414248[_0x6c2f('0xf8')]===_0x6c2f('0xcf')?'A':'C','secret':_0x414248[_0x6c2f('0xf9')],'read':_0x414248[_0x6c2f('0x84')],'attachment':_0x414248[_0x6c2f('0xdd')]};})['value']()};return ejs[_0x6c2f('0x12d')](path[_0x6c2f('0xe1')](config['root'],'server',_0x6c2f('0x12e'),_0x6c2f('0x12f')),{'interaction':_0x303145})[_0x6c2f('0x25')](function(_0x2653b9){var _0x3f7fe8=path[_0x6c2f('0xe1')](_0x5a28a8,_0x6c2f('0x130')+_0x343e79['id']+'-'+_0x3b17ce+_0x6c2f('0x131'));var _0x171ecd={'path':_0x3f7fe8,'channel':_0x6c2f('0x120'),'interactionId':_0x343e79['id']};return pdf[_0x6c2f('0x132')](_0x2653b9,_0x171ecd);})[_0x6c2f('0x25')](function(){return new BPromise(function(_0x5d15c5,_0x495f1f){zipdir(_0x5a28a8,{'saveTo':_0x3215a2},function(_0x10705b,_0x2ca499){if(_0x10705b)return _0x495f1f(_0x10705b);return _0x5d15c5(_0x2ca499);});})[_0x6c2f('0x25')](function(){return new BPromise(function(_0x515a4b,_0x19e859){rimraf(_0x5a28a8,function(_0x4599a3){if(_0x4599a3)_0x19e859(_0x4599a3);return _0x515a4b();});});})[_0x6c2f('0x25')](function(){return _0x380fe8[_0x6c2f('0xe5')](_0x3215a2,_0x3b681b,function(_0x4ac556){if(_0x4ac556){console[_0x6c2f('0x133')](_0x6c2f('0x134'),_0x4ac556);}else{fs[_0x6c2f('0x135')](_0x3215a2);}});});});}else{return _0x380fe8[_0x6c2f('0x36')](0xc8);}})[_0x6c2f('0xbc')](handleError(_0x380fe8,null));};