Built motion from commit (unavailable).|2.5.31
[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 _0x45b3=['send','render','merge','contact','agent','interaction','account','map','TagIds','Tags','push','index','fieldName','type','key','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','u.id','u.fullname','ui.ChatInteractionId','chat_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','me.ChatInteractionId\x20=\x20i.id','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','find','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','UserId','body','keys','compact','isEmpty','i.ChatWebsiteId\x20IN\x20?','createdAt','parse','$gte','$lte','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','QueryTypes','SELECT','clone','i.id','unreadMessages','contactName','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','ChatWebsiteId','toString','sequelize','keyBy','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','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','c.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','rows','show','params','ChatInteraction','include','options','create','destroy','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooTopic','vidaooNote','vidaooEscalation','fullname','POST','https://api-vidaoo.xcally.com/api/v1/meetings','isNull','follow','vidaooMetadata','metadata','Sequelize','ValidationError','Error\x20in\x20conversion\x20vidaooMetadata','join_url','out','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','CmContact','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','Interaction\x20already\x20assigned','closed','disposition','file','originalname','basename','filename','mimetype','Attachment','Unauthorized','attachId','ChatOfflineMessageId','join','server/files/attachments/','offline-chat/','download','mailTranscript','server/files/chat/upload/','now','pathTranscript','Messages','User','format','agentAlias','customer','agentIdentifier','website_alias','System','agent_alias','alias','agent_fullname','%s%d','[%s]\x20%s:\x20%s\x0a','direction','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','SendMail','\x22%s\x22\x20<%s>','email','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ChatMessage','ids','omit','rawAttributes','YYYY-MM-DD\x20HH:mm:ss','includeAll','findAll','getMyMessages','setTags','spread','Tag','emit','chatInteractionTags:save','unix','root','tmp','server','files','transcript-%d-%s.zip','firstName','lastName','attachments','Account','Owner','get','Chat','closedAt','browserName','osName','customerIp','customerPort','N.A.','existsSync','pipe','createWriteStream','renderFile','views','transcript-','.pdf','createPdfFromHTML','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','jayson/promise','client','http','then','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','save','update','stack','name'];(function(_0xea1317,_0x27c571){var _0x3f06e1=function(_0x14f91b){while(--_0x14f91b){_0xea1317['push'](_0xea1317['shift']());}};_0x3f06e1(++_0x27c571);}(_0x45b3,0x101));var _0x345b=function(_0x3f73e4,_0x1670b5){_0x3f73e4=_0x3f73e4-0x0;var _0x265fc6=_0x45b3[_0x3f73e4];return _0x265fc6;};'use strict';var emlformat=require(_0x345b('0x0'));var rimraf=require(_0x345b('0x1'));var zipdir=require(_0x345b('0x2'));var jsonpatch=require(_0x345b('0x3'));var rp=require('request-promise');var moment=require(_0x345b('0x4'));var BPromise=require(_0x345b('0x5'));var Mustache=require(_0x345b('0x6'));var util=require(_0x345b('0x7'));var path=require(_0x345b('0x8'));var sox=require(_0x345b('0x9'));var csv=require(_0x345b('0xa'));var ejs=require(_0x345b('0xb'));var fs=require('fs');var fs_extra=require(_0x345b('0xc'));var _=require(_0x345b('0xd'));var squel=require('squel');var crypto=require(_0x345b('0xe'));var jsforce=require(_0x345b('0xf'));var deskjs=require(_0x345b('0x10'));var toCsv=require(_0x345b('0xa'));var querystring=require(_0x345b('0x11'));var Papa=require(_0x345b('0x12'));var Redis=require('ioredis');var authService=require(_0x345b('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x345b('0x14'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x345b('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0x345b('0x16'));var config=require(_0x345b('0x17'));var licenseUtil=require(_0x345b('0x18'));var db=require(_0x345b('0x19'))['db'];config[_0x345b('0x1a')]=_[_0x345b('0x1b')](config[_0x345b('0x1a')],{'host':_0x345b('0x1c'),'port':0x18eb});var socket=require(_0x345b('0x1d'))(new Redis(config['redis']));require(_0x345b('0x1e'))['register'](socket);var jayson=require(_0x345b('0x1f'));var client=jayson[_0x345b('0x20')][_0x345b('0x21')]({'port':0x232b});var client9004=jayson[_0x345b('0x20')][_0x345b('0x21')]({'port':0x232c});function respondWithRpcPromise(_0x186fcf,_0x5f2eeb,_0x48b65b,_0x51363a){return new BPromise(function(_0x4fc5c9,_0x53dbf2){var _0x284bb6=_0x51363a||client;return _0x284bb6['request'](_0x186fcf,_0x48b65b)[_0x345b('0x22')](function(_0x764980){logger['info'](_0x345b('0x23'),_0x5f2eeb,_0x345b('0x24'));logger[_0x345b('0x25')](_0x345b('0x26'),_0x5f2eeb,_0x345b('0x24'),JSON[_0x345b('0x27')](_0x764980));if(_0x764980[_0x345b('0x28')]){if(_0x764980[_0x345b('0x28')][_0x345b('0x29')]===0x1f4){logger[_0x345b('0x28')](_0x345b('0x23'),_0x5f2eeb,_0x764980['error'][_0x345b('0x2a')]);return _0x53dbf2(_0x764980[_0x345b('0x28')][_0x345b('0x2a')]);}logger[_0x345b('0x28')](_0x345b('0x23'),_0x5f2eeb,_0x764980['error'][_0x345b('0x2a')]);return _0x4fc5c9(_0x764980[_0x345b('0x28')]['message']);}else{logger[_0x345b('0x2b')](_0x345b('0x23'),_0x5f2eeb,_0x345b('0x24'));_0x4fc5c9(_0x764980[_0x345b('0x2c')]['message']);}})[_0x345b('0x2d')](function(_0x2d55a2){logger['error'](_0x345b('0x23'),_0x5f2eeb,_0x2d55a2);_0x53dbf2(_0x2d55a2);});});}function respondWithStatusCode(_0x3707f5,_0x3891a9){_0x3891a9=_0x3891a9||0xcc;return function(_0x4020ab){if(_0x4020ab){return _0x3707f5[_0x345b('0x2e')](_0x3891a9);}return _0x3707f5[_0x345b('0x2f')](_0x3891a9)[_0x345b('0x30')]();};}function respondWithResult(_0x3e51bb,_0x1e9e02){_0x1e9e02=_0x1e9e02||0xc8;return function(_0x4730f9){if(_0x4730f9){return _0x3e51bb[_0x345b('0x2f')](_0x1e9e02)[_0x345b('0x31')](_0x4730f9);}};}function respondWithFilteredResult(_0x4725d7,_0x453baf){return function(_0x8d5305){if(_0x8d5305){var _0x344d26=typeof _0x453baf['offset']===_0x345b('0x32')&&typeof _0x453baf[_0x345b('0x33')]===_0x345b('0x32');var _0x9ec615=_0x8d5305[_0x345b('0x34')];var _0x2279e2=_0x344d26?0x0:_0x453baf['offset'];var _0x193df3=_0x344d26?_0x8d5305[_0x345b('0x34')]:_0x453baf[_0x345b('0x35')]+_0x453baf[_0x345b('0x33')];var _0x12090a;if(_0x193df3>=_0x9ec615){_0x193df3=_0x9ec615;_0x12090a=0xc8;}else{_0x12090a=0xce;}_0x4725d7[_0x345b('0x2f')](_0x12090a);return _0x4725d7[_0x345b('0x36')](_0x345b('0x37'),_0x2279e2+'-'+_0x193df3+'/'+_0x9ec615)['json'](_0x8d5305);}return null;};}function patchUpdates(_0x565d01){return function(_0x538a1e){try{jsonpatch[_0x345b('0x38')](_0x538a1e,_0x565d01,!![]);}catch(_0x284cf2){return BPromise['reject'](_0x284cf2);}return _0x538a1e[_0x345b('0x39')]();};}function saveUpdates(_0x42d1eb,_0x169fe6){return function(_0x2dd014){if(_0x2dd014){return _0x2dd014[_0x345b('0x3a')](_0x42d1eb)[_0x345b('0x22')](function(_0x56cd6f){return _0x56cd6f;});}return null;};}function removeEntity(_0x5abba8,_0x2d1782){return function(_0x43446b){if(_0x43446b){return _0x43446b['destroy']()[_0x345b('0x22')](function(){_0x5abba8[_0x345b('0x2f')](0xcc)[_0x345b('0x30')]();});}};}function handleEntityNotFound(_0x32233e,_0x266a00){return function(_0x543b06){if(!_0x543b06){_0x32233e[_0x345b('0x2e')](0x194);}return _0x543b06;};}function handleError(_0x16faca,_0x26517e){_0x26517e=_0x26517e||0x1f4;return function(_0x2c751e){logger[_0x345b('0x28')](_0x2c751e[_0x345b('0x3b')]);if(_0x2c751e[_0x345b('0x3c')]){delete _0x2c751e[_0x345b('0x3c')];}_0x16faca[_0x345b('0x2f')](_0x26517e)[_0x345b('0x3d')](_0x2c751e);};}function getMustacheRender(_0xb6e8c5,_0x123eb0){return Mustache[_0x345b('0x3e')](_0xb6e8c5,_[_0x345b('0x3f')](_0x123eb0['body'],{'contact':_0x123eb0[_0x345b('0x40')],'message':_0x123eb0[_0x345b('0x2a')],'agent':_0x123eb0[_0x345b('0x41')],'interaction':_0x123eb0[_0x345b('0x42')],'account':_0x123eb0[_0x345b('0x43')]}))||'';}function getInteractionUsers(_0x3cbe87,_0xd60529){return new BPromise(function(_0x2f703c,_0x3d48d0){try{if(_0xd60529[_0x3cbe87['id']]){_0x3cbe87['Users']=_[_0x345b('0x44')](_0xd60529[_0x3cbe87['id']],function(_0x1f3d86){return{'id':_0x1f3d86['id'],'fullname':_0x1f3d86['fullname']};});}}catch(_0x2bd78){_0x3d48d0(_0x2bd78);}_0x2f703c(_0x3cbe87);});}function getInteractionTags(_0x18ecd2,_0xab0b5c){return new BPromise(function(_0x36e184,_0x3daaf7){try{if(_0x18ecd2[_0x345b('0x45')]){_0x18ecd2[_0x345b('0x46')]=[];_0x18ecd2['TagIds']['split'](',')['forEach'](function(_0x2d586b){_0x18ecd2[_0x345b('0x46')][_0x345b('0x47')](_0xab0b5c[_0x2d586b]);});}delete _0x18ecd2[_0x345b('0x45')];}catch(_0x4ef062){_0x3daaf7(_0x4ef062);}_0x36e184(_0x18ecd2);});}function updateChatInteraction(_0x3406c7,_0x23c383,_0x4ca5e7){return new BPromise(function(_0x28706b,_0x24313b){return getInteractionUsers(_0x3406c7,_0x4ca5e7)[_0x345b('0x22')](function(_0xc119bc){return getInteractionTags(_0xc119bc,_0x23c383);})[_0x345b('0x22')](function(_0x3a20c3){_0x28706b(_0x3a20c3);})[_0x345b('0x2d')](function(_0x58baf5){_0x24313b(_0x58baf5);});});}exports[_0x345b('0x48')]=function(_0x7934c6,_0x52b87d){var _0x3a49e4={},_0x1db1a8={},_0x2ee3fc={'count':0x0,'rows':[]};var _0x396b1a=_['map'](db['ChatInteraction']['rawAttributes'],function(_0x530756){return{'name':_0x530756[_0x345b('0x49')],'type':_0x530756[_0x345b('0x4a')][_0x345b('0x4b')]};});_0x1db1a8['model']=_[_0x345b('0x44')](_0x396b1a,_0x345b('0x3c'));_0x1db1a8['query']=_['keys'](_0x7934c6[_0x345b('0x4c')]);_0x1db1a8[_0x345b('0x4d')]=_['intersection'](_0x1db1a8[_0x345b('0x4e')],_0x1db1a8['query']);_0x3a49e4[_0x345b('0x4f')]=_[_0x345b('0x50')](_0x1db1a8[_0x345b('0x4e')],qs[_0x345b('0x51')](_0x7934c6['query'][_0x345b('0x51')]));_0x3a49e4['attributes']=_0x3a49e4[_0x345b('0x4f')][_0x345b('0x52')]?_0x3a49e4['attributes']:_0x1db1a8[_0x345b('0x4e')];if(!_0x7934c6[_0x345b('0x4c')][_0x345b('0x53')](_0x345b('0x54'))){_0x3a49e4[_0x345b('0x33')]=qs[_0x345b('0x33')](_0x7934c6['query']['limit']);_0x3a49e4[_0x345b('0x35')]=qs[_0x345b('0x35')](_0x7934c6[_0x345b('0x4c')]['offset']);}_0x3a49e4[_0x345b('0x55')]=qs[_0x345b('0x56')](_0x7934c6[_0x345b('0x4c')]['sort']);_0x3a49e4[_0x345b('0x57')]=qs['filters'](_[_0x345b('0x58')](_0x7934c6[_0x345b('0x4c')],_0x1db1a8[_0x345b('0x4d')]),_0x396b1a);var _0x5b75a7=[];var _0x12c63a=squel[_0x345b('0x59')]()[_0x345b('0x5a')]('id')[_0x345b('0x5a')](_0x345b('0x3c'))[_0x345b('0x5a')](_0x345b('0x5b'))[_0x345b('0x5c')]('tools_tags');var _0x5aee84=squel[_0x345b('0x59')]()[_0x345b('0x5a')](_0x345b('0x5d'))[_0x345b('0x5a')](_0x345b('0x5e'))['field'](_0x345b('0x5f'))[_0x345b('0x5c')]('user_has_chat_interactions','ui')['left_join']('users','u','u.id\x20=\x20ui.UserId');var _0x37062c=squel[_0x345b('0x59')]()[_0x345b('0x5c')](_0x345b('0x60'),'i')[_0x345b('0x61')](_0x345b('0x62'),'c',_0x345b('0x63'))[_0x345b('0x61')](_0x345b('0x64'),'o',_0x345b('0x65'))[_0x345b('0x61')](_0x345b('0x66'),'a',_0x345b('0x67'))[_0x345b('0x61')]('chat_messages','me',_0x345b('0x68'))[_0x345b('0x61')]('chat_interaction_has_tags','it',_0x345b('0x69'))[_0x345b('0x61')]('tools_tags','t',_0x345b('0x6a'));var _0x15b743=squel[_0x345b('0x6b')]();var _0x36c516=[];var _0x18e138=squel[_0x345b('0x6b')]();var _0x55899a;if(_0x7934c6[_0x345b('0x4c')][_0x345b('0x6c')]){_0x55899a=as[_0x345b('0x6d')](_0x7934c6[_0x345b('0x4c')][_0x345b('0x6c')]);var _0x827ac9=_0x55899a['sqlOperator'];for(var _0x252035=0x0;_0x252035<_0x55899a[_0x345b('0x6e')][_0x345b('0x52')];_0x252035++){var _0x19bfbe=_0x55899a[_0x345b('0x6e')][_0x252035];var _0x56739a='i';var _0x16c66a=_[_0x345b('0x6f')](_0x396b1a,[_0x345b('0x3c'),_0x19bfbe[_0x345b('0x5a')]]);if(!_0x16c66a){switch(_0x19bfbe['field']){case'unreadMessages':if(_0x19bfbe[_0x345b('0x70')]==0x1){_0x37062c[_0x345b('0x71')]('`'+_0x19bfbe[_0x345b('0x5a')]+_0x345b('0x72'));}else{_0x37062c['having']('`'+_0x19bfbe[_0x345b('0x5a')]+_0x345b('0x73'));}break;case _0x345b('0x74'):if(_0x19bfbe[_0x345b('0x75')]===_0x345b('0x76')){if(_0x19bfbe[_0x345b('0x70')][_0x345b('0x77')]('\x20')[_0x345b('0x52')]>0x1){_0x15b743[_0x827ac9](_0x345b('0x78'),qs[_0x345b('0x79')](_0x19bfbe[_0x345b('0x70')]),null);}else{var _0x45e201='%'+_0x19bfbe['value']+'%';_0x15b743[_0x827ac9](_0x345b('0x7a'),_0x45e201,_0x45e201,_0x45e201);}}else{_0x16c66a=_['find'](_0x396b1a,[_0x345b('0x3c'),'ContactId']);_0x19bfbe[_0x345b('0x5a')]=_0x345b('0x7b');_0x2edfcc=as[_0x345b('0x7c')](_0x56739a,_0x16c66a[_0x345b('0x4a')],_0x19bfbe);_0x15b743[_0x827ac9](_0x2edfcc[_0x345b('0x7d')],_0x2edfcc[_0x345b('0x70')][_0x345b('0x7e')],_0x2edfcc[_0x345b('0x70')][_0x345b('0x30')]);}break;case'Tag':var _0x157143=_0x19bfbe['value'][_0x345b('0x77')](',')[_0x345b('0x44')](function(_0x2dee9a){return Number(_0x2dee9a);});_0x157143[_0x345b('0x7f')](function(_0xe3b08f){_0x18e138['or'](_0x345b('0x80'),'%,'+_0xe3b08f+',%');});_0x36c516=_[_0x345b('0x81')](_0x36c516,_0x157143);break;case'User':if(_0x19bfbe[_0x345b('0x75')]===_0x345b('0x76')){_0x15b743[_0x827ac9]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x19bfbe['value']+'%',null);}else{_0x16c66a=_[_0x345b('0x6f')](_0x396b1a,['name',_0x345b('0x82')]);_0x19bfbe[_0x345b('0x5a')]=_0x345b('0x82');_0x2edfcc=as[_0x345b('0x7c')](_0x56739a,_0x16c66a[_0x345b('0x4a')],_0x19bfbe);_0x15b743[_0x827ac9](_0x2edfcc['text'],_0x2edfcc[_0x345b('0x70')]['start'],_0x2edfcc['value'][_0x345b('0x30')]);}break;case _0x345b('0x83'):_0x2edfcc=as['buildExpression']('me',null,_0x19bfbe);_0x15b743[_0x827ac9](_0x2edfcc[_0x345b('0x7d')],_0x2edfcc[_0x345b('0x70')]['start'],_0x2edfcc[_0x345b('0x70')][_0x345b('0x30')]);break;}}else{var _0x2edfcc=as[_0x345b('0x7c')](_0x56739a,_0x16c66a[_0x345b('0x4a')],_0x19bfbe);_0x15b743[_0x827ac9](_0x2edfcc[_0x345b('0x7d')],_0x2edfcc[_0x345b('0x70')]['start'],_0x2edfcc[_0x345b('0x70')][_0x345b('0x30')]);}}}else{var _0x2e48ca=_(_0x7934c6['query'])[_0x345b('0x84')]()[_0x345b('0x44')](function(_0x32ed18){return _['some'](_0x396b1a,[_0x345b('0x3c'),_0x32ed18])?_0x32ed18:undefined;})[_0x345b('0x85')]()[_0x345b('0x70')]();if(!_[_0x345b('0x86')](_0x2e48ca)){_0x2e48ca['forEach'](function(_0x517eb7){if(_0x517eb7==='ChatWebsiteId'){_0x37062c[_0x345b('0x57')](_0x345b('0x87'),[]['concat'](_0x7934c6[_0x345b('0x4c')][_0x517eb7]));}else if(_0x517eb7===_0x345b('0x88')){var _0x515800=JSON[_0x345b('0x89')](_0x7934c6[_0x345b('0x4c')][_0x517eb7])[_0x345b('0x8a')];var _0x34acb6=JSON[_0x345b('0x89')](_0x7934c6[_0x345b('0x4c')][_0x517eb7])[_0x345b('0x8b')];_0x37062c[_0x345b('0x57')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x515800,_0x34acb6);}else{if(_0x7934c6[_0x345b('0x4c')][_0x517eb7]==='null'){_0x37062c['where']('i.'+_0x517eb7+_0x345b('0x8c'));}else{_0x37062c['where']('i.'+_0x517eb7+_0x345b('0x8d'),_0x7934c6[_0x345b('0x4c')][_0x517eb7]);}}});}if(_0x7934c6[_0x345b('0x4c')][_0x345b('0x8e')]){if(_0x7934c6[_0x345b('0x4c')][_0x345b('0x8e')]==0x1){_0x37062c[_0x345b('0x71')](_0x345b('0x8f'));}else{_0x37062c[_0x345b('0x71')](_0x345b('0x90'));}}if(_0x7934c6[_0x345b('0x4c')][_0x345b('0x91')]){_0x36c516=_[_0x345b('0x92')](_0x7934c6['query'][_0x345b('0x91')])?_0x7934c6['query'][_0x345b('0x91')]:new Array(_0x7934c6['query']['tag']);_0x36c516[_0x345b('0x7f')](function(_0x225399){_0x18e138['or'](_0x345b('0x80'),'%,'+_0x225399+',%');});}if(_0x7934c6[_0x345b('0x4c')]['filter']){var _0x2e4c43=_0x7934c6['query'][_0x345b('0x93')][_0x345b('0x94')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x345b('0x95')](_0x2e4c43)){_0x15b743['or'](_0x345b('0x96'),_0x2e4c43+'%');}else{_0x15b743['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x345b('0x79')](_0x2e4c43))['or'](_0x345b('0x97'),_0x2e4c43+'%');}}}_0x37062c['where'](_0x15b743);_0x37062c[_0x345b('0x98')]('i.id');var _0x12de96={'type':db['Sequelize'][_0x345b('0x99')][_0x345b('0x9a')],'raw':!![]};var _0x29fb59=_0x37062c[_0x345b('0x9b')]();_0x29fb59['field'](_0x345b('0x9c'));_0x29fb59[_0x345b('0x5a')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x345b('0x9d'));if(_0x3a49e4['order']){_0x3a49e4['order'][_0x345b('0x7f')](function(_0x2b82d5){var _0x3bbc5e=_0x2b82d5[0x0]===_0x345b('0x9e')?_0x2b82d5[0x0]:'i.'+_0x2b82d5[0x0];_0x37062c[_0x345b('0x55')](_0x3bbc5e,_0x2b82d5[0x1]==='DESC'?![]:!![]);});}if(!_[_0x345b('0x86')](_0x36c516)){_0x37062c[_0x345b('0x71')](_0x18e138);_0x29fb59[_0x345b('0x57')](_0x345b('0x9f'),_0x36c516);}BPromise[_0x345b('0xa0')]()[_0x345b('0x22')](function(){if(!_0x55899a){if(_0x7934c6['query']['ChatWebsiteId'])return;_0x29fb59[_0x345b('0x57')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');_0x37062c[_0x345b('0x57')](_0x345b('0xa1'));return;}if(_0x7934c6[_0x345b('0xa2')]['role']!==_0x345b('0x41'))return;return _0x7934c6[_0x345b('0xa2')][_0x345b('0xa3')]({'attributes':['id'],'raw':!![]})['then'](function(_0x5db5cf){if(_[_0x345b('0x86')](_0x5db5cf)){_0x29fb59[_0x345b('0x57')](_0x345b('0xa4'));_0x37062c[_0x345b('0x57')](_0x345b('0xa4'));}else{_0x29fb59[_0x345b('0x57')]('i.ChatWebsiteId\x20IN\x20?',_[_0x345b('0x44')](_0x5db5cf,'id'));_0x37062c['where'](_0x345b('0x87'),_[_0x345b('0x44')](_0x5db5cf,'id'));}});})[_0x345b('0x22')](function(){if(_0x7934c6['user']['role']===_0x345b('0x41')&&!_0x55899a&&!_0x7934c6['query'][_0x345b('0xa5')])return[];return db['sequelize'][_0x345b('0x4c')](_0x29fb59[_0x345b('0xa6')](),_0x12de96);})[_0x345b('0x22')](function(_0x4458b3){_0x2ee3fc[_0x345b('0x34')]=_0x4458b3[_0x345b('0x52')];if(_0x2ee3fc[_0x345b('0x34')]===0x0)return[];return db[_0x345b('0xa7')][_0x345b('0x4c')](_0x12c63a['toString'](),_0x12de96)[_0x345b('0x22')](function(_0x2e5543){_0x5b75a7=_[_0x345b('0xa8')](_0x2e5543,'id');_0x12de96=_['merge'](_0x12de96,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x7934c6[_0x345b('0x4c')][_0x345b('0x51')]){_0x3a49e4[_0x345b('0x4f')][_0x345b('0x7f')](function(_0x533cbd){_0x37062c[_0x345b('0x5a')]('i.'+_0x533cbd);});}else{_0x37062c[_0x345b('0x5a')](_0x345b('0xa9'),_0x345b('0x9d'));_0x37062c[_0x345b('0x5a')](_0x345b('0xaa'),'Account.key');_0x37062c[_0x345b('0x5a')]('a.mandatoryDisposition',_0x345b('0xab'));_0x37062c[_0x345b('0x5a')](_0x345b('0xac'),_0x345b('0x9e'));_0x37062c[_0x345b('0x5a')](_0x345b('0xad'));_0x37062c[_0x345b('0x5a')](_0x345b('0xae'),_0x345b('0xaf'));_0x37062c[_0x345b('0x5a')]('c.lastName',_0x345b('0xb0'));_0x37062c[_0x345b('0x5a')](_0x345b('0xb1'),_0x345b('0xb2'));_0x37062c[_0x345b('0x5a')](_0x345b('0xb3'),'Contact.phone');_0x37062c[_0x345b('0x5a')]('c.mobile',_0x345b('0xb4'));_0x37062c[_0x345b('0x5a')](_0x345b('0xb5'),_0x345b('0xb6'));_0x37062c[_0x345b('0x5a')](_0x345b('0xb7'),_0x345b('0xb8'));_0x37062c[_0x345b('0x5a')](_0x345b('0xb9'),_0x345b('0xba'));_0x37062c[_0x345b('0x5a')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x345b('0x45'));}if(_0x3a49e4['limit'])_0x37062c['limit'](_0x3a49e4['limit']);if(_0x3a49e4['offset'])_0x37062c[_0x345b('0x35')](_0x3a49e4[_0x345b('0x35')]);return db['sequelize']['query'](_0x37062c['toString'](),_0x12de96);})[_0x345b('0x22')](function(_0xca9ea6){if(_0xca9ea6[_0x345b('0x52')]>0x0)_0x5aee84['where'](_0x345b('0xbb'),_[_0x345b('0x44')](_0xca9ea6,'id'));return db[_0x345b('0xa7')][_0x345b('0x4c')](_0x5aee84['toString'](),_0x12de96)[_0x345b('0x22')](function(_0x244892){var _0x28a634=_[_0x345b('0xbc')](_0x244892,_0x345b('0xbd'));var _0x3e68bb=[];_0xca9ea6[_0x345b('0x7f')](function(_0x5b799b){_0x3e68bb['push'](updateChatInteraction(_0x5b799b,_0x5b75a7,_0x28a634));});return BPromise[_0x345b('0xbe')](_0x3e68bb);});});})[_0x345b('0x22')](function(_0x5f322e){_0x2ee3fc[_0x345b('0xbf')]=_0x5f322e;return _0x2ee3fc;})[_0x345b('0x22')](respondWithFilteredResult(_0x52b87d,_0x3a49e4))[_0x345b('0x2d')](handleError(_0x52b87d,null));};exports[_0x345b('0xc0')]=function(_0x3cec1a,_0x21c337){var _0x3b31f8={'raw':![],'where':{'id':_0x3cec1a[_0x345b('0xc1')]['id']}},_0x43cfd5={};_0x43cfd5[_0x345b('0x4e')]=_['keys'](db[_0x345b('0xc2')]['rawAttributes']);_0x43cfd5[_0x345b('0x4c')]=_[_0x345b('0x84')](_0x3cec1a['query']);_0x43cfd5[_0x345b('0x4d')]=_[_0x345b('0x50')](_0x43cfd5[_0x345b('0x4e')],_0x43cfd5[_0x345b('0x4c')]);_0x3b31f8[_0x345b('0x4f')]=_[_0x345b('0x50')](_0x43cfd5[_0x345b('0x4e')],qs[_0x345b('0x51')](_0x3cec1a[_0x345b('0x4c')][_0x345b('0x51')]));_0x3b31f8['attributes']=_0x3b31f8[_0x345b('0x4f')][_0x345b('0x52')]?_0x3b31f8[_0x345b('0x4f')]:_0x43cfd5[_0x345b('0x4e')];if(_0x3cec1a[_0x345b('0x4c')]['includeAll']){_0x3b31f8[_0x345b('0xc3')]=[{'all':!![]}];}_0x3b31f8=_[_0x345b('0x3f')]({},_0x3b31f8,_0x3cec1a[_0x345b('0xc4')]);return db[_0x345b('0xc2')][_0x345b('0x6f')](_0x3b31f8)[_0x345b('0x22')](handleEntityNotFound(_0x21c337,null))[_0x345b('0x22')](respondWithResult(_0x21c337,null))[_0x345b('0x2d')](handleError(_0x21c337,null));};exports[_0x345b('0xc5')]=function(_0x35caef,_0x25fb79){return db[_0x345b('0xc2')][_0x345b('0xc5')](_0x35caef[_0x345b('0x83')],{})[_0x345b('0x22')](respondWithResult(_0x25fb79,0xc9))[_0x345b('0x2d')](handleError(_0x25fb79,null));};exports[_0x345b('0x3a')]=function(_0x1df631,_0x153602){if(_0x1df631[_0x345b('0x83')]['id']){delete _0x1df631[_0x345b('0x83')]['id'];}return db[_0x345b('0xc2')][_0x345b('0x6f')]({'where':{'id':_0x1df631[_0x345b('0xc1')]['id']}})[_0x345b('0x22')](handleEntityNotFound(_0x153602,null))['then'](saveUpdates(_0x1df631['body'],null))['then'](respondWithResult(_0x153602,null))[_0x345b('0x2d')](handleError(_0x153602,null));};exports[_0x345b('0xc6')]=function(_0x4abfc3,_0x4e62f1){return db[_0x345b('0xc2')][_0x345b('0x6f')]({'where':{'id':_0x4abfc3['params']['id']}})[_0x345b('0x22')](handleEntityNotFound(_0x4e62f1,null))['then'](removeEntity(_0x4e62f1,null))[_0x345b('0x2d')](handleError(_0x4e62f1,null));};exports[_0x345b('0xc7')]=function(_0x3dcfc3,_0x4f3a85){return db[_0x345b('0xc2')][_0x345b('0xc7')]()['then'](respondWithResult(_0x4f3a85,null))['catch'](handleError(_0x4f3a85,null));};exports[_0x345b('0xc8')]=function(_0x4abeda,_0xded02d){var _0x744687=_0x4abeda[_0x345b('0xc1')]['id'];var _0x58a7f4;var _0x1d0905;var _0x4345be;return db[_0x345b('0xc2')][_0x345b('0xc9')]({'where':{'id':_0x744687}})[_0x345b('0x22')](function(_0x14e33d){_0x58a7f4=_0x14e33d;return db[_0x345b('0xca')]['findOne']({'where':{'id':_0x14e33d[_0x345b('0xa5')]},'attributes':['id',_0x345b('0xcb'),'vidaooEscalation',_0x345b('0xcc'),_0x345b('0xcd'),'vidaooMetadata'],'raw':!![]});})[_0x345b('0x22')](function(_0x791d9e){if(_0x791d9e&&_0x791d9e[_0x345b('0xcb')]&&_0x791d9e[_0x345b('0xce')]){_0x1d0905=_0x791d9e;var _0x316512={'interaction':{'id':_0x744687},'agent':{'id':_0x4abeda['user']['id'],'name':_0x4abeda[_0x345b('0xa2')]['name'],'fullname':_0x4abeda[_0x345b('0xa2')][_0x345b('0xcf')],'email':_0x4abeda[_0x345b('0xa2')]['email']},'contact':_0x4abeda[_0x345b('0x83')][_0x345b('0x40')],'account':_0x4abeda[_0x345b('0x83')][_0x345b('0x43')]};var _0x49b8d8={'rejectUnauthorized':![],'method':_0x345b('0xd0'),'url':_0x345b('0xd1'),'headers':{'X-APIKEY':_0x791d9e[_0x345b('0xcb')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x4abeda[_0x345b('0xa2')]['email']],'buttons':null,'topic':_0x1d0905['vidaooTopic'],'note':_[_0x345b('0xd2')](_0x1d0905[_0x345b('0xcd')])?null:getMustacheRender(_0x1d0905[_0x345b('0xcd')],_0x316512),'metadata':null},'redirect':_0x345b('0xd3'),'json':!![]};try{if(!_['isNull'](_0x1d0905[_0x345b('0xd4')])){var _0x3ef0f0=getMustacheRender(_0x1d0905[_0x345b('0xd4')],_0x316512);var _0x39c9ca=JSON[_0x345b('0x89')](_0x3ef0f0);_0x49b8d8[_0x345b('0x83')][_0x345b('0xd5')]=_0x39c9ca;}}catch(_0x51e34d){throw new db[(_0x345b('0xd6'))][(_0x345b('0xd7'))](_0x345b('0xd8'));}return rp(_0x49b8d8);}else{throw new db[(_0x345b('0xd6'))][(_0x345b('0xd7'))]('Error\x20in\x20Vidaoo\x20configuration');}})[_0x345b('0x22')](function(_0x34312b){_0x4345be=_0x34312b;if(_0x4345be['id']){var _0x2fdefb={'body':_0x4345be[_0x345b('0xd9')],'ChatWebsiteId':_0x1d0905['id'],'ChatInteractionId':_0x58a7f4['id'],'direction':_0x345b('0xda'),'UserId':_0x4abeda[_0x345b('0xa2')]['id']};return db['ChatMessage'][_0x345b('0xc5')](_0x2fdefb,{});}else{throw new db[(_0x345b('0xd6'))][(_0x345b('0xd7'))](_0x345b('0xdb'));}})[_0x345b('0x22')](function(){return _0x58a7f4[_0x345b('0xdc')]({'vidaooSessionId':_0x4345be['id']});})[_0x345b('0x22')](respondWithResult(_0xded02d,null))['catch'](handleError(_0xded02d,null));};exports[_0x345b('0xdd')]=function(_0x144090,_0x5222f0){if(_0x144090['body']['id']){delete _0x144090['body']['id'];}return db[_0x345b('0xc2')][_0x345b('0x6f')]({'where':{'id':_0x144090['params']['id']},'include':[{'model':db[_0x345b('0xde')],'as':_0x345b('0x74')}]})[_0x345b('0x22')](handleEntityNotFound(_0x5222f0,null))[_0x345b('0x22')](saveUpdates(_0x144090['body'],null))['then'](respondWithResult(_0x5222f0,null))['catch'](handleError(_0x5222f0,null));};exports[_0x345b('0xdf')]=function(_0x513039,_0x65e789,_0x356a50){if(_0x513039[_0x345b('0x83')]['id']){delete _0x513039['body']['id'];}return db[_0x345b('0xc2')]['find']({'where':{'id':_0x513039[_0x345b('0xc1')]['id']}})[_0x345b('0x22')](function(_0x36f0b0){if(!_0x36f0b0){logger['error'](_0x345b('0xe0'),'abandon',0x194,'entity\x20not\x20found');_0x65e789[_0x345b('0x2e')](0x194);}else{if(_0x36f0b0[_0x345b('0x82')]){throw new db[(_0x345b('0xd6'))][(_0x345b('0xd7'))](_0x345b('0xe1'));}}return _0x36f0b0;})[_0x345b('0x22')](function(_0x2f09e2){if(_0x2f09e2){return _0x2f09e2['update']({'closed':_0x513039['body'][_0x345b('0xe2')],'disposition':_0x513039['body'][_0x345b('0xe3')]})[_0x345b('0x22')](function(_0x3aa9ca){return _0x3aa9ca;});}})[_0x345b('0x22')](function(_0x243d17){return respondWithRpcPromise('AbandonInteraction','abandon',_0x513039[_0x345b('0x83')],client9004);})[_0x345b('0x22')](respondWithResult(_0x65e789,null))[_0x345b('0x2d')](handleError(_0x65e789,null));};exports['attachmentUpload']=function(_0x37477b,_0x11d7fd,_0x5cc4cb){_0x37477b[_0x345b('0x83')][_0x345b('0x3c')]=_0x37477b[_0x345b('0xe4')][_0x345b('0xe5')];_0x37477b[_0x345b('0x83')][_0x345b('0xe6')]=_0x37477b['file'][_0x345b('0xe7')];_0x37477b[_0x345b('0x83')][_0x345b('0x4a')]=_0x37477b[_0x345b('0xe4')][_0x345b('0xe8')];return db[_0x345b('0xe9')][_0x345b('0xc5')](_0x37477b[_0x345b('0x83')])[_0x345b('0x22')](respondWithResult(_0x11d7fd,0xc9))['catch'](handleError(_0x11d7fd,null));};exports['attachmentDownload']=function(_0x517dab,_0x473461,_0x3e9e41){return db[_0x345b('0xc2')][_0x345b('0xc9')]({'where':{'id':_0x517dab[_0x345b('0xc1')]['id']},'raw':!![]})[_0x345b('0x22')](handleEntityNotFound(_0x473461,null))[_0x345b('0x22')](function(_0xf78bb1){if(_0xf78bb1){if(_0xf78bb1[_0x345b('0xe2')]){return _0x473461[_0x345b('0x2f')](0x193)[_0x345b('0x31')]({'status':0x193,'message':_0x345b('0xea')});}return db[_0x345b('0xe9')][_0x345b('0xc9')]({'where':{'id':_0x517dab[_0x345b('0x4c')][_0x345b('0xeb')]},'raw':!![]})['then'](handleEntityNotFound(_0x473461,null));}})[_0x345b('0x22')](function(_0x1caf39){if(_0x1caf39){var _0x1d3fe2=_0x1caf39[_0x345b('0xec')]!==null;var _0x1daba2=path[_0x345b('0xed')](config['root'],_0x345b('0xee'));if(_0x1d3fe2){_0x1daba2=path['join'](_0x1daba2,_0x345b('0xef'));}var _0x2c13f6=path[_0x345b('0xed')](_0x1daba2,_0x1caf39[_0x345b('0xe6')]);return _0x473461[_0x345b('0xf0')](_0x2c13f6);}})[_0x345b('0x2d')](handleError(_0x473461,null));};exports['close']=function(_0x4deb49,_0x51f2d8){var _0x4f67dc=null;var _0x378656=null;var _0xf19d07=null;var _0x396547=null;if(_0x4deb49[_0x345b('0x83')]['id']){delete _0x4deb49[_0x345b('0x83')]['id'];}if(_0x4deb49['body'][_0x345b('0xf1')]){_0x396547=path[_0x345b('0xed')](config['root'],_0x345b('0xf2'),util['format']('transcript-%s.txt',Date[_0x345b('0xf3')]()));_0x4deb49[_0x345b('0x83')][_0x345b('0xf4')]=_0x396547;}return db[_0x345b('0xc2')][_0x345b('0x6f')]({'where':{'id':_0x4deb49[_0x345b('0xc1')]['id']},'include':[{'model':db['ChatMessage'],'as':_0x345b('0xf5'),'include':[{'model':db[_0x345b('0xf6')],'as':_0x345b('0xf6')}]}]})[_0x345b('0x22')](handleEntityNotFound(_0x51f2d8,null))[_0x345b('0x22')](saveUpdates(_0x4deb49['body'],null))[_0x345b('0x22')](function(_0x48f4af){if(_0x48f4af){_0x4f67dc=_0x48f4af;return db[_0x345b('0xca')][_0x345b('0x6f')]({'where':{'id':_0x4f67dc[_0x345b('0xa5')]}});}})[_0x345b('0x22')](function(_0x35a945){if(_0x35a945){_0xf19d07=_0x35a945;return db[_0x345b('0xde')]['find']({'where':{'id':_0x4f67dc[_0x345b('0x7b')]}});}})[_0x345b('0x22')](function(_0x27ca59){if(_0x27ca59){_0x378656=_0x27ca59;if(_0x396547){var _0x1cbbf5=null;for(var _0x3b0aeb=0x1;_0x3b0aeb<_0x4f67dc[_0x345b('0xf5')][_0x345b('0x52')];++_0x3b0aeb){_0x1cbbf5=_0x4f67dc['Messages'][_0x3b0aeb];var _0x4bce20=_0x1cbbf5[_0x345b('0x82')]?util[_0x345b('0xf7')]('%s%d',_0xf19d07[_0x345b('0xf8')],_0x1cbbf5[_0x345b('0x82')]):'System';var _0x2174a4=_0x4deb49[_0x345b('0x83')][_0x345b('0xf9')]||util['format']('%s%d','Visitor',_0x1cbbf5[_0x345b('0x7b')]);switch(_0xf19d07[_0x345b('0xfa')]){case _0x345b('0xfb'):_0x4bce20=_0x1cbbf5[_0x345b('0x82')]?util[_0x345b('0xf7')]('%s%d',_0xf19d07[_0x345b('0xf8')],_0x1cbbf5[_0x345b('0x82')]):_0x345b('0xfc');break;case _0x345b('0xfd'):_0x4bce20=_0x1cbbf5[_0x345b('0x82')]?_0x1cbbf5[_0x345b('0xf6')][_0x345b('0xfe')]||_0x1cbbf5[_0x345b('0xf6')][_0x345b('0xcf')]:_0x345b('0xfc');break;case _0x345b('0xff'):_0x4bce20=_0x1cbbf5[_0x345b('0x82')]?_0x1cbbf5[_0x345b('0xf6')]['fullname']:'System';break;default:_0x4bce20=_0x1cbbf5['UserId']?util[_0x345b('0xf7')](_0x345b('0x100'),_0xf19d07['agentAlias'],_0x1cbbf5[_0x345b('0x82')]):'System';}var _0xd3f242=util[_0x345b('0xf7')](_0x345b('0x101'),moment(_0x1cbbf5[_0x345b('0x88')])[_0x345b('0xf7')]('MM/DD/YYYY\x20HH:mm:ss'),_0x1cbbf5[_0x345b('0x102')]==='in'?_0x2174a4:_0x4bce20,_0x1cbbf5[_0x345b('0x83')]);if(!_0x1cbbf5[_0x345b('0x103')]){fs[_0x345b('0x104')](_0x396547,_0xd3f242);}}return db[_0x345b('0x105')]['findOne']({'where':{'service':!![]},'include':[{'model':db[_0x345b('0x106')],'as':_0x345b('0x107'),'raw':!![]}]});}}})[_0x345b('0x22')](function(_0x21833a){if(_0x21833a&&_0x21833a[_0x345b('0x107')]&&_0x4deb49[_0x345b('0x83')]){var _0x280fb0={'tls':{'rejectUnauthorized':![]}};if(_0x21833a[_0x345b('0x107')][_0x345b('0x108')]){_0x280fb0[_0x345b('0x108')]=_0x21833a['Smtp'][_0x345b('0x108')];}else{_0x280fb0['host']=_0x21833a[_0x345b('0x107')][_0x345b('0x109')];_0x280fb0[_0x345b('0x10a')]=_0x21833a[_0x345b('0x107')][_0x345b('0x10a')];_0x280fb0['secure']=_0x21833a[_0x345b('0x107')][_0x345b('0x10b')];}if(_0x21833a[_0x345b('0x107')][_0x345b('0x10c')]){_0x280fb0[_0x345b('0x10d')]={'user':_0x21833a[_0x345b('0x107')]['user'],'pass':_0x21833a['Smtp'][_0x345b('0x10e')]};}return respondWithRpcPromise(_0x345b('0x10f'),'sendMail',{'account':_0x280fb0,'message':{'from':util[_0x345b('0xf7')](_0x345b('0x110'),_0x21833a[_0x345b('0x3c')],_0x21833a[_0x345b('0x111')]||_0x21833a[_0x345b('0x107')][_0x345b('0xa2')]),'to':_0x4deb49['body'][_0x345b('0xf1')],'subject':_0x345b('0x112'),'text':util[_0x345b('0xf7')](_0x345b('0x113'),_0x4deb49[_0x345b('0x83')][_0x345b('0xf1')]),'attachments':[{'path':_0x396547}]}})[_0x345b('0x22')](function(){return _0x4f67dc;})['catch'](function(_0x2e7c52){console[_0x345b('0x28')](_0x2e7c52);});}else{return _0x4f67dc;}})[_0x345b('0x22')](respondWithStatusCode(_0x51f2d8,0xc8))[_0x345b('0x2d')](handleError(_0x51f2d8,null));};exports[_0x345b('0x114')]=function(_0x2aed02,_0x5b5891,_0x2ef0ff){return db[_0x345b('0x115')][_0x345b('0x6f')]({'where':{'id':_0x2aed02[_0x345b('0xc1')]['id']}})['then'](handleEntityNotFound(_0x5b5891,null))[_0x345b('0x22')](function(_0x5569a2){if(_0x5569a2){return _0x5569a2[_0x345b('0x114')](_0x2aed02[_0x345b('0x83')][_0x345b('0x116')],_[_0x345b('0x117')](_0x2aed02[_0x345b('0x83')],[_0x345b('0x116'),'id'])||{});}})[_0x345b('0x22')](respondWithResult(_0x5b5891,null))['catch'](handleError(_0x5b5891,null));};exports['getMessages']=function(_0x375991,_0x43046f,_0x2d0784){var _0x30e3b4={'raw':![],'where':{}};var _0x55f360={};var _0x179324={'count':0x0,'rows':[]};return db['ChatInteraction'][_0x345b('0xc9')]({'where':{'id':_0x375991['params']['id']}})[_0x345b('0x22')](handleEntityNotFound(_0x43046f,null))[_0x345b('0x22')](function(_0x515b94){if(_0x515b94){_0x55f360[_0x345b('0x4e')]=_[_0x345b('0x84')](db['ChatMessage'][_0x345b('0x118')]);_0x55f360[_0x345b('0x4c')]=_[_0x345b('0x84')](_0x375991[_0x345b('0x4c')]);_0x55f360[_0x345b('0x4d')]=_[_0x345b('0x50')](_0x55f360[_0x345b('0x4e')],_0x55f360['query']);_0x30e3b4[_0x345b('0x4f')]=_[_0x345b('0x50')](_0x55f360[_0x345b('0x4e')],qs[_0x345b('0x51')](_0x375991[_0x345b('0x4c')][_0x345b('0x51')]));_0x30e3b4['attributes']=_0x30e3b4[_0x345b('0x4f')][_0x345b('0x52')]?_0x30e3b4['attributes']:_0x55f360[_0x345b('0x4e')];if(!_0x375991[_0x345b('0x4c')]['hasOwnProperty']('nolimit')){_0x30e3b4['limit']=qs[_0x345b('0x33')](_0x375991['query'][_0x345b('0x33')]);_0x30e3b4[_0x345b('0x35')]=qs[_0x345b('0x35')](_0x375991[_0x345b('0x4c')][_0x345b('0x35')]);}_0x30e3b4[_0x345b('0x55')]=qs[_0x345b('0x56')](_0x375991[_0x345b('0x4c')][_0x345b('0x56')]);_0x30e3b4['where']=qs[_0x345b('0x4d')](_['pick'](_0x375991[_0x345b('0x4c')],_0x55f360[_0x345b('0x4d')]));_0x30e3b4['where'][_0x345b('0xbd')]=_0x515b94['id'];if(_0x375991[_0x345b('0x4c')][_0x345b('0x93')]){_0x30e3b4[_0x345b('0x57')]=_[_0x345b('0x3f')](_0x30e3b4[_0x345b('0x57')],{'$or':_[_0x345b('0x44')](_0x30e3b4[_0x345b('0x4f')],function(_0x9de8fd){var _0xc03859={};_0xc03859[_0x9de8fd]={'$like':'%'+_0x375991[_0x345b('0x4c')][_0x345b('0x93')]+'%'};return _0xc03859;})});}if(_0x375991[_0x345b('0x4c')][_0x345b('0x8a')]){var _0x42bafd=_0x375991[_0x345b('0x4c')][_0x345b('0x8a')]['split'](',');var _0x417ac8={};_0x417ac8[_0x42bafd[0x0]]={'$gte':moment(_0x42bafd[0x1])[_0x345b('0xf7')](_0x345b('0x119'))};_0x30e3b4[_0x345b('0x57')]=_['merge'](_0x30e3b4['where'],_0x417ac8);}_0x30e3b4=_['merge']({},_0x30e3b4,_0x375991[_0x345b('0xc4')]);return db[_0x345b('0x115')][_0x345b('0x34')]({'where':_0x30e3b4[_0x345b('0x57')]})[_0x345b('0x22')](function(_0x2941b2){_0x179324[_0x345b('0x34')]=_0x2941b2;if(_0x375991['query'][_0x345b('0x11a')]){_0x30e3b4[_0x345b('0xc3')]=[{'all':!![]}];}return db['ChatMessage'][_0x345b('0x11b')](_0x30e3b4);})[_0x345b('0x22')](function(_0x5cf9ff){_0x179324['rows']=_0x5cf9ff;return _0x179324;});}})[_0x345b('0x22')](respondWithFilteredResult(_0x43046f,_0x30e3b4))[_0x345b('0x2d')](handleError(_0x43046f,null));};exports[_0x345b('0x11c')]=function(_0x512c64,_0x51adca,_0x1a0e80){var _0x571d03={'where':{}},_0x5e18da={},_0x2e330d={'count':0x0,'rows':[]};return db['ChatInteraction'][_0x345b('0xc9')]({'where':{'id':_0x512c64[_0x345b('0xc1')]['id']}})[_0x345b('0x22')](handleEntityNotFound(_0x51adca,null))['then'](function(_0x35ffb8){if(_0x35ffb8){_0x5e18da['model']=_[_0x345b('0x84')](db[_0x345b('0x115')][_0x345b('0x118')]);_0x5e18da[_0x345b('0x4c')]=_[_0x345b('0x84')](_0x512c64[_0x345b('0x4c')]);_0x5e18da[_0x345b('0x4d')]=_[_0x345b('0x50')](_0x5e18da[_0x345b('0x4e')],_0x5e18da['query']);_0x571d03['attributes']=_[_0x345b('0x50')](_0x5e18da['model'],qs[_0x345b('0x51')](_0x512c64['query'][_0x345b('0x51')]));_0x571d03['attributes']=_0x571d03[_0x345b('0x4f')][_0x345b('0x52')]?_0x571d03['attributes']:_0x5e18da[_0x345b('0x4e')];if(!_0x512c64[_0x345b('0x4c')][_0x345b('0x53')]('nolimit')){_0x571d03[_0x345b('0x33')]=qs[_0x345b('0x33')](_0x512c64[_0x345b('0x4c')]['limit']);_0x571d03[_0x345b('0x35')]=qs[_0x345b('0x35')](_0x512c64[_0x345b('0x4c')]['offset']);}_0x571d03[_0x345b('0x55')]=qs[_0x345b('0x56')](_0x512c64[_0x345b('0x4c')][_0x345b('0x56')]);_0x571d03[_0x345b('0x57')]=qs['filters'](_['pick'](_0x512c64[_0x345b('0x4c')],_0x5e18da['filters']));_0x571d03[_0x345b('0x57')][_0x345b('0xbd')]=_0x35ffb8['id'];if(_0x512c64['query']['filter']){_0x571d03[_0x345b('0x57')]=_['merge'](_0x571d03['where'],{'$or':_[_0x345b('0x44')](_0x571d03[_0x345b('0x4f')],function(_0x1661f6){var _0x4fa514={};_0x4fa514[_0x1661f6]={'$like':'%'+_0x512c64[_0x345b('0x4c')]['filter']+'%'};return _0x4fa514;})});}_0x571d03['where']['secret']=![];if(_0x512c64['query']['id']){_0x571d03[_0x345b('0x57')]['id']={'$gt':_0x512c64[_0x345b('0x4c')]['id']};}_0x571d03=_[_0x345b('0x3f')]({},_0x571d03,_0x512c64[_0x345b('0xc4')]);return db[_0x345b('0x115')][_0x345b('0x34')]({'where':_0x571d03[_0x345b('0x57')]})[_0x345b('0x22')](function(_0x481141){_0x2e330d[_0x345b('0x34')]=_0x481141;_0x571d03[_0x345b('0xc3')]=[];if(_0x512c64[_0x345b('0x4c')]['includeAgent']){_0x571d03[_0x345b('0xc3')][_0x345b('0x47')]({'model':db['User'],'as':_0x345b('0xf6'),'attributes':['id',_0x345b('0xcf'),_0x345b('0xfe')]});}if(_0x512c64[_0x345b('0x4c')]['includeAll']){_0x571d03['include']=[{'all':!![]}];}return db[_0x345b('0x115')][_0x345b('0x11b')](_0x571d03);})[_0x345b('0x22')](function(_0x207d9f){_0x2e330d[_0x345b('0xbf')]=_0x207d9f;return _0x2e330d;});}})[_0x345b('0x22')](respondWithFilteredResult(_0x51adca,_0x571d03))['catch'](handleError(_0x51adca,null));};exports['addTags']=function(_0x3bbe7a,_0x24cd2e,_0xc7311d){return db[_0x345b('0xc2')][_0x345b('0x6f')]({'where':{'id':_0x3bbe7a[_0x345b('0xc1')]['id']}})[_0x345b('0x22')](handleEntityNotFound(_0x24cd2e,null))[_0x345b('0x22')](function(_0x32b346){if(_0x32b346){return _0x32b346[_0x345b('0x11d')](_0x3bbe7a[_0x345b('0x83')]['ids'],_[_0x345b('0x117')](_0x3bbe7a['body'],['ids','id'])||{})[_0x345b('0x11e')](function(){return db[_0x345b('0x11f')][_0x345b('0x11b')]({'attributes':['id',_0x345b('0x3c'),'color'],'where':{'id':_0x3bbe7a['body'][_0x345b('0x116')]}});})[_0x345b('0x22')](function(_0x19d55c){socket[_0x345b('0x120')](_0x345b('0x121'),{'id':Number(_0x3bbe7a[_0x345b('0xc1')]['id']),'tags':_0x19d55c||[]});return{'id':Number(_0x3bbe7a[_0x345b('0xc1')]['id']),'tags':_0x19d55c||[]};});}})['then'](respondWithResult(_0x24cd2e,null))[_0x345b('0x2d')](handleError(_0x24cd2e,null));};exports['removeTags']=function(_0x4dc42f,_0x34ff86,_0x5e6608){return db['ChatInteraction'][_0x345b('0x6f')]({'where':{'id':_0x4dc42f[_0x345b('0xc1')]['id']}})[_0x345b('0x22')](handleEntityNotFound(_0x34ff86,null))[_0x345b('0x22')](function(_0x149826){if(_0x149826){return _0x149826['removeTags'](_0x4dc42f['query'][_0x345b('0x116')]);}})[_0x345b('0x22')](respondWithStatusCode(_0x34ff86,null))['catch'](handleError(_0x34ff86,null));};exports[_0x345b('0xf0')]=function(_0x482401,_0x2e306b){var _0x2fecaf=moment()[_0x345b('0x122')]()[_0x345b('0xa6')]();var _0x3cc965=path['join'](config[_0x345b('0x123')],'server','files',_0x345b('0x124'));var _0x421c0b=path[_0x345b('0xed')](config[_0x345b('0x123')],_0x345b('0x125'),_0x345b('0x126'),'attachments');var _0x538c4f=path[_0x345b('0xed')](_0x3cc965,_0x2fecaf);var _0x1f49d2=util[_0x345b('0xf7')](_0x345b('0x127'),_0x482401[_0x345b('0xc1')]['id'],_0x2fecaf);var _0x5c2a90=path['join'](_0x3cc965,_0x1f49d2);var _0x5d69e1=[];_0x5d69e1['push']({'model':db[_0x345b('0xf6')],'as':_0x345b('0xf6'),'attributes':['id',_0x345b('0xcf')],'raw':!![]});_0x5d69e1[_0x345b('0x47')]({'model':db[_0x345b('0xde')],'as':_0x345b('0x74'),'attributes':['id',_0x345b('0x128'),_0x345b('0x129')],'raw':!![]});if(_0x482401['query'][_0x345b('0x12a')]){_0x5d69e1['push']({'model':db['Attachment'],'as':_0x345b('0xe9'),'raw':!![]});}var _0x4a285c=[{'model':db[_0x345b('0x115')],'as':_0x345b('0xf5'),'attributes':['id',_0x345b('0x83'),'createdAt','direction',_0x345b('0x103'),_0x345b('0x8e')],'include':_0x5d69e1}];_0x4a285c['push']({'model':db[_0x345b('0xca')],'as':_0x345b('0x12b'),'attributes':['id',_0x345b('0x3c')]});_0x4a285c[_0x345b('0x47')]({'model':db[_0x345b('0xf6')],'as':_0x345b('0x12c'),'attributes':['id',_0x345b('0xcf')]});return db['ChatInteraction'][_0x345b('0x6f')]({'where':{'id':_0x482401[_0x345b('0xc1')]['id']},'include':_0x4a285c})[_0x345b('0x22')](handleEntityNotFound(_0x2e306b,null))[_0x345b('0x22')](function(_0xa9abde){if(_0xa9abde){var _0x5f3c38=_0xa9abde[_0x345b('0x12d')]({'plain':!![]});fs['mkdirSync'](_0x538c4f);var _0x1c914d={'channel':_0x345b('0x12e'),'account':_0x5f3c38[_0x345b('0x12b')][_0x345b('0x3c')],'agent':_0x5f3c38[_0x345b('0x12c')]?_0x5f3c38[_0x345b('0x12c')][_0x345b('0xcf')]:'N.A.','createdAt':moment(_0x5f3c38['createdAt'])[_0x345b('0xf7')]('YYYY-MM-DD\x20HH:mm:ss')[_0x345b('0xa6')](),'closedAt':_0x5f3c38['closed']?moment(_0x5f3c38[_0x345b('0x12f')])[_0x345b('0xf7')](_0x345b('0x119'))[_0x345b('0xa6')]():'','disposition':_0x5f3c38['disposition'],'chatInfo':{'browser':_0x5f3c38[_0x345b('0x130')],'os':_0x5f3c38[_0x345b('0x131')],'referer':_0x5f3c38['referer'],'customerIp':_0x5f3c38[_0x345b('0x132')],'customerPort':_0x5f3c38[_0x345b('0x133')]?_0x5f3c38[_0x345b('0x133')]:_0x345b('0x134')},'messages':_(_0x5f3c38[_0x345b('0xf5')])['tail']()[_0x345b('0x93')]({'secret':![]})[_0x345b('0x44')](function(_0x334b8a){if(_0x334b8a[_0x345b('0xe9')]){var _0x50781f=path[_0x345b('0xed')](_0x421c0b,_0x334b8a['Attachment']['basename']);if(fs[_0x345b('0x135')](_0x50781f)){fs['createReadStream'](_0x50781f)[_0x345b('0x136')](fs[_0x345b('0x137')](path[_0x345b('0xed')](_0x538c4f,_0x334b8a[_0x345b('0xe9')]['basename'])));}}return{'date':moment(_0x334b8a['createdAt'])[_0x345b('0xf7')](_0x345b('0x119'))[_0x345b('0xa6')](),'sender':_0x334b8a[_0x345b('0x102')]==='out'?_0x334b8a[_0x345b('0xf6')]?_0x334b8a[_0x345b('0xf6')]['fullname']:_0x345b('0xfc'):_0x334b8a[_0x345b('0x74')][_0x345b('0x128')]+(_0x334b8a[_0x345b('0x74')][_0x345b('0x129')]?'\x20'+_0x334b8a[_0x345b('0x74')][_0x345b('0x129')]:''),'body':_0x334b8a[_0x345b('0xe9')]?_0x334b8a['Attachment']['basename']:_0x334b8a[_0x345b('0x83')],'direction':_0x334b8a['direction']===_0x345b('0xda')?'A':'C','secret':_0x334b8a['secret'],'read':_0x334b8a[_0x345b('0x8e')],'attachment':_0x334b8a[_0x345b('0xe9')]};})[_0x345b('0x70')]()};return ejs[_0x345b('0x138')](path[_0x345b('0xed')](config[_0x345b('0x123')],_0x345b('0x125'),_0x345b('0x139'),'downloadInteraction.html'),{'interaction':_0x1c914d})[_0x345b('0x22')](function(_0x1f8d56){var _0x184c78=path[_0x345b('0xed')](_0x538c4f,_0x345b('0x13a')+_0x5f3c38['id']+'-'+_0x2fecaf+_0x345b('0x13b'));var _0x3ca8ba={'path':_0x184c78,'channel':_0x345b('0x12e'),'interactionId':_0x5f3c38['id']};return pdf[_0x345b('0x13c')](_0x1f8d56,_0x3ca8ba);})[_0x345b('0x22')](function(){return new BPromise(function(_0x785780,_0x43da0b){zipdir(_0x538c4f,{'saveTo':_0x5c2a90},function(_0x2a49da,_0x966c94){if(_0x2a49da)return _0x43da0b(_0x2a49da);return _0x785780(_0x966c94);});})[_0x345b('0x22')](function(){return new BPromise(function(_0x59e815,_0x11eeec){rimraf(_0x538c4f,function(_0x515e60){if(_0x515e60)_0x11eeec(_0x515e60);return _0x59e815();});});})[_0x345b('0x22')](function(){return _0x2e306b[_0x345b('0xf0')](_0x5c2a90,_0x1f49d2,function(_0x733fb8){if(_0x733fb8){console['log']('err',_0x733fb8);}else{fs[_0x345b('0x13d')](_0x5c2a90);}});});});}else{return _0x2e306b[_0x345b('0x2e')](0xc8);}})['catch'](handleError(_0x2e306b,null));};