Built motion from commit (unavailable).|2.5.30
[motion2.git] / server / api / chatInteraction / chatInteraction.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x9c44=['agentAlias','System','customer','Visitor','website_alias','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','createdAt','direction','appendFileSync','MailServerOut','Smtp','service','host','port','secure','authentication','pass','sendMail','\x22%s\x22\x20<%s>','mailTranscript','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','nolimit','$gte','getMyMessages','secret','include','includeAgent','setTags','spread','Tag','findAll','emit','chatInteractionTags:save','removeTags','download','unix','server','files','tmp','attachments','transcript-%d-%s.zip','firstName','lastName','Account','Owner','get','mkdirSync','YYYY-MM-DD\x20HH:mm:ss','closedAt','browserName','osName','referer','customerIp','customerPort','N.A.','createReadStream','pipe','createWriteStream','out','Contact','renderFile','views','downloadInteraction.html','transcript-','.pdf','createPdfFromHTML','log','err','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','info','ChatInteraction,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','catch','status','offset','undefined','limit','count','set','json','apply','save','update','then','end','sendStatus','name','send','map','fullname','TagIds','Tags','forEach','push','index','ChatInteraction','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','left_join','users','cm_contacts','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','find','unreadMessages','value','`\x20=\x200','`\x20>\x200','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','text','union','User','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','start','body','isEmpty','ChatWebsiteId','where','i.ChatWebsiteId\x20IN\x20?','concat','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','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?','i.id','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','c.mobile','c.fax','o.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','ChatInteractionId','rows','show','params','includeAll','merge','options','create','destroy','describe','createVidaooSession','ChatWebsite','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','follow','Sequelize','ValidationError','join_url','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','CmContact','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','UserId','closed','disposition','AbandonInteraction','attachmentUpload','basename','file','mimetype','attachmentDownload','findOne','Unauthorized','Attachment','ChatOfflineMessageId','join','server/files/attachments/','offline-chat/','close','root','server/files/chat/upload/','format','transcript-%s.txt','now','pathTranscript','Messages','%s%d'];(function(_0x4e8291,_0x38cffb){var _0x5904d4=function(_0x498220){while(--_0x498220){_0x4e8291['push'](_0x4e8291['shift']());}};_0x5904d4(++_0x38cffb);}(_0x9c44,0x178));var _0x49c4=function(_0x50a0c2,_0x4befab){_0x50a0c2=_0x50a0c2-0x0;var _0x5ebadd=_0x9c44[_0x50a0c2];return _0x5ebadd;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x49c4('0x0'));var jsonpatch=require(_0x49c4('0x1'));var rp=require(_0x49c4('0x2'));var moment=require(_0x49c4('0x3'));var BPromise=require(_0x49c4('0x4'));var Mustache=require(_0x49c4('0x5'));var util=require('util');var path=require('path');var sox=require(_0x49c4('0x6'));var csv=require('to-csv');var ejs=require(_0x49c4('0x7'));var fs=require('fs');var fs_extra=require(_0x49c4('0x8'));var _=require(_0x49c4('0x9'));var squel=require(_0x49c4('0xa'));var crypto=require(_0x49c4('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x49c4('0xc'));var toCsv=require(_0x49c4('0xd'));var querystring=require(_0x49c4('0xe'));var Papa=require(_0x49c4('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x49c4('0x10'));var as=require(_0x49c4('0x11'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x49c4('0x12'));var logger=require(_0x49c4('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x49c4('0x14'));var licenseUtil=require(_0x49c4('0x15'));var db=require('../../mysqldb')['db'];config[_0x49c4('0x16')]=_[_0x49c4('0x17')](config['redis'],{'host':_0x49c4('0x18'),'port':0x18eb});var socket=require(_0x49c4('0x19'))(new Redis(config[_0x49c4('0x16')]));require(_0x49c4('0x1a'))[_0x49c4('0x1b')](socket);var jayson=require(_0x49c4('0x1c'));var client=jayson[_0x49c4('0x1d')][_0x49c4('0x1e')]({'port':0x232b});var client9004=jayson['client'][_0x49c4('0x1e')]({'port':0x232c});function respondWithRpcPromise(_0x141003,_0x13a2db,_0x81e831,_0x2abc78){return new BPromise(function(_0x53e3a2,_0x44e607){var _0x2891f4=_0x2abc78||client;return _0x2891f4['request'](_0x141003,_0x81e831)['then'](function(_0x3c782d){logger[_0x49c4('0x1f')](_0x49c4('0x20'),_0x13a2db,'request\x20sent');logger[_0x49c4('0x21')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x13a2db,_0x49c4('0x22'),JSON[_0x49c4('0x23')](_0x3c782d));if(_0x3c782d[_0x49c4('0x24')]){if(_0x3c782d[_0x49c4('0x24')][_0x49c4('0x25')]===0x1f4){logger[_0x49c4('0x24')](_0x49c4('0x20'),_0x13a2db,_0x3c782d[_0x49c4('0x24')][_0x49c4('0x26')]);return _0x44e607(_0x3c782d['error']['message']);}logger['error'](_0x49c4('0x20'),_0x13a2db,_0x3c782d['error']['message']);return _0x53e3a2(_0x3c782d[_0x49c4('0x24')][_0x49c4('0x26')]);}else{logger[_0x49c4('0x1f')](_0x49c4('0x20'),_0x13a2db,'request\x20sent');_0x53e3a2(_0x3c782d['result'][_0x49c4('0x26')]);}})[_0x49c4('0x27')](function(_0x565423){logger[_0x49c4('0x24')](_0x49c4('0x20'),_0x13a2db,_0x565423);_0x44e607(_0x565423);});});}function respondWithStatusCode(_0x210159,_0xa7a826){_0xa7a826=_0xa7a826||0xcc;return function(_0x531d92){if(_0x531d92){return _0x210159['sendStatus'](_0xa7a826);}return _0x210159[_0x49c4('0x28')](_0xa7a826)['end']();};}function respondWithResult(_0x3800b7,_0x3852b2){_0x3852b2=_0x3852b2||0xc8;return function(_0x3f1708){if(_0x3f1708){return _0x3800b7[_0x49c4('0x28')](_0x3852b2)['json'](_0x3f1708);}};}function respondWithFilteredResult(_0x889909,_0x2b2793){return function(_0x46e04d){if(_0x46e04d){var _0x4f28a2=typeof _0x2b2793[_0x49c4('0x29')]===_0x49c4('0x2a')&&typeof _0x2b2793[_0x49c4('0x2b')]===_0x49c4('0x2a');var _0x17b50f=_0x46e04d[_0x49c4('0x2c')];var _0x46f7ea=_0x4f28a2?0x0:_0x2b2793['offset'];var _0x4f4495=_0x4f28a2?_0x46e04d['count']:_0x2b2793[_0x49c4('0x29')]+_0x2b2793[_0x49c4('0x2b')];var _0x1eb035;if(_0x4f4495>=_0x17b50f){_0x4f4495=_0x17b50f;_0x1eb035=0xc8;}else{_0x1eb035=0xce;}_0x889909[_0x49c4('0x28')](_0x1eb035);return _0x889909[_0x49c4('0x2d')]('Content-Range',_0x46f7ea+'-'+_0x4f4495+'/'+_0x17b50f)[_0x49c4('0x2e')](_0x46e04d);}return null;};}function patchUpdates(_0x116eb4){return function(_0x2e7a69){try{jsonpatch[_0x49c4('0x2f')](_0x2e7a69,_0x116eb4,!![]);}catch(_0x58e252){return BPromise['reject'](_0x58e252);}return _0x2e7a69[_0x49c4('0x30')]();};}function saveUpdates(_0x9a1bed,_0x167efe){return function(_0x13b3b4){if(_0x13b3b4){return _0x13b3b4[_0x49c4('0x31')](_0x9a1bed)['then'](function(_0x2aac35){return _0x2aac35;});}return null;};}function removeEntity(_0x84c621,_0x1bfa0f){return function(_0x512d02){if(_0x512d02){return _0x512d02['destroy']()[_0x49c4('0x32')](function(){_0x84c621[_0x49c4('0x28')](0xcc)[_0x49c4('0x33')]();});}};}function handleEntityNotFound(_0x1238c0,_0x2b45a1){return function(_0x2cf897){if(!_0x2cf897){_0x1238c0[_0x49c4('0x34')](0x194);}return _0x2cf897;};}function handleError(_0x27ef5f,_0x3209cd){_0x3209cd=_0x3209cd||0x1f4;return function(_0x4e0209){logger[_0x49c4('0x24')](_0x4e0209['stack']);if(_0x4e0209[_0x49c4('0x35')]){delete _0x4e0209[_0x49c4('0x35')];}_0x27ef5f[_0x49c4('0x28')](_0x3209cd)[_0x49c4('0x36')](_0x4e0209);};}function getInteractionUsers(_0x4ed4f8,_0x335f0c){return new BPromise(function(_0x31f3ff,_0x1c910a){try{if(_0x335f0c[_0x4ed4f8['id']]){_0x4ed4f8['Users']=_[_0x49c4('0x37')](_0x335f0c[_0x4ed4f8['id']],function(_0x21d8c7){return{'id':_0x21d8c7['id'],'fullname':_0x21d8c7[_0x49c4('0x38')]};});}}catch(_0x5e5366){_0x1c910a(_0x5e5366);}_0x31f3ff(_0x4ed4f8);});}function getInteractionTags(_0x1ba7a0,_0x24c177){return new BPromise(function(_0x143916,_0x2ba76a){try{if(_0x1ba7a0[_0x49c4('0x39')]){_0x1ba7a0[_0x49c4('0x3a')]=[];_0x1ba7a0[_0x49c4('0x39')]['split'](',')[_0x49c4('0x3b')](function(_0x20cd21){_0x1ba7a0[_0x49c4('0x3a')][_0x49c4('0x3c')](_0x24c177[_0x20cd21]);});}delete _0x1ba7a0[_0x49c4('0x39')];}catch(_0x29dd5d){_0x2ba76a(_0x29dd5d);}_0x143916(_0x1ba7a0);});}function updateChatInteraction(_0x1be62d,_0xc9722b,_0x248c0a){return new BPromise(function(_0x2668ed,_0x2dffb4){return getInteractionUsers(_0x1be62d,_0x248c0a)[_0x49c4('0x32')](function(_0x326142){return getInteractionTags(_0x326142,_0xc9722b);})['then'](function(_0x212366){_0x2668ed(_0x212366);})['catch'](function(_0x104efb){_0x2dffb4(_0x104efb);});});}exports[_0x49c4('0x3d')]=function(_0x28d4fb,_0x1480da){var _0x239327={},_0x281b83={},_0x4cbd0d={'count':0x0,'rows':[]};var _0x4d628a=_[_0x49c4('0x37')](db[_0x49c4('0x3e')][_0x49c4('0x3f')],function(_0x117151){return{'name':_0x117151['fieldName'],'type':_0x117151[_0x49c4('0x40')][_0x49c4('0x41')]};});_0x281b83[_0x49c4('0x42')]=_[_0x49c4('0x37')](_0x4d628a,_0x49c4('0x35'));_0x281b83[_0x49c4('0x43')]=_[_0x49c4('0x44')](_0x28d4fb[_0x49c4('0x43')]);_0x281b83[_0x49c4('0x45')]=_['intersection'](_0x281b83[_0x49c4('0x42')],_0x281b83['query']);_0x239327[_0x49c4('0x46')]=_[_0x49c4('0x47')](_0x281b83[_0x49c4('0x42')],qs[_0x49c4('0x48')](_0x28d4fb[_0x49c4('0x43')]['fields']));_0x239327[_0x49c4('0x46')]=_0x239327[_0x49c4('0x46')][_0x49c4('0x49')]?_0x239327[_0x49c4('0x46')]:_0x281b83[_0x49c4('0x42')];if(!_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x4a')]('nolimit')){_0x239327[_0x49c4('0x2b')]=qs['limit'](_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x2b')]);_0x239327[_0x49c4('0x29')]=qs[_0x49c4('0x29')](_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x29')]);}_0x239327[_0x49c4('0x4b')]=qs['sort'](_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x4c')]);_0x239327['where']=qs[_0x49c4('0x45')](_[_0x49c4('0x4d')](_0x28d4fb[_0x49c4('0x43')],_0x281b83[_0x49c4('0x45')]),_0x4d628a);var _0x52a8f7=[];var _0x5d8bf0=squel[_0x49c4('0x4e')]()['field']('id')[_0x49c4('0x4f')](_0x49c4('0x35'))[_0x49c4('0x4f')](_0x49c4('0x50'))[_0x49c4('0x51')](_0x49c4('0x52'));var _0x394baa=squel['select']()[_0x49c4('0x4f')](_0x49c4('0x53'))[_0x49c4('0x4f')](_0x49c4('0x54'))[_0x49c4('0x4f')](_0x49c4('0x55'))[_0x49c4('0x51')](_0x49c4('0x56'),'ui')[_0x49c4('0x57')](_0x49c4('0x58'),'u','u.id\x20=\x20ui.UserId');var _0x5e63f0=squel[_0x49c4('0x4e')]()[_0x49c4('0x51')]('chat_interactions','i')['left_join'](_0x49c4('0x59'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0x49c4('0x58'),'o',_0x49c4('0x5a'))[_0x49c4('0x57')](_0x49c4('0x5b'),'a',_0x49c4('0x5c'))[_0x49c4('0x57')](_0x49c4('0x5d'),'me','me.ChatInteractionId\x20=\x20i.id')[_0x49c4('0x57')](_0x49c4('0x5e'),'it',_0x49c4('0x5f'))[_0x49c4('0x57')](_0x49c4('0x52'),'t',_0x49c4('0x60'));var _0x5d24f3=squel['expr']();var _0x1ef0c1=[];var _0x155c43=squel[_0x49c4('0x61')]();var _0xf7a10f;if(_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x62')]){_0xf7a10f=as[_0x49c4('0x63')](_0x28d4fb['query'][_0x49c4('0x62')]);var _0x33c9a6=_0xf7a10f['sqlOperator'];for(var _0x42928c=0x0;_0x42928c<_0xf7a10f['conditions'][_0x49c4('0x49')];_0x42928c++){var _0x147ebd=_0xf7a10f[_0x49c4('0x64')][_0x42928c];var _0x2fe89a='i';var _0x845f7e=_[_0x49c4('0x65')](_0x4d628a,[_0x49c4('0x35'),_0x147ebd[_0x49c4('0x4f')]]);if(!_0x845f7e){switch(_0x147ebd['field']){case _0x49c4('0x66'):if(_0x147ebd[_0x49c4('0x67')]==0x1){_0x5e63f0['having']('`'+_0x147ebd[_0x49c4('0x4f')]+_0x49c4('0x68'));}else{_0x5e63f0['having']('`'+_0x147ebd[_0x49c4('0x4f')]+_0x49c4('0x69'));}break;case'Contact':if(_0x147ebd['operator']==='$substring'){if(_0x147ebd['value'][_0x49c4('0x6a')]('\x20')['length']>0x1){_0x5d24f3[_0x33c9a6](_0x49c4('0x6b'),qs[_0x49c4('0x6c')](_0x147ebd['value']),null);}else{var _0x679134='%'+_0x147ebd[_0x49c4('0x67')]+'%';_0x5d24f3[_0x33c9a6]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x679134,_0x679134,_0x679134);}}else{_0x845f7e=_[_0x49c4('0x65')](_0x4d628a,[_0x49c4('0x35'),_0x49c4('0x6d')]);_0x147ebd[_0x49c4('0x4f')]='ContactId';_0x2d5f63=as[_0x49c4('0x6e')](_0x2fe89a,_0x845f7e[_0x49c4('0x40')],_0x147ebd);_0x5d24f3[_0x33c9a6](_0x2d5f63[_0x49c4('0x6f')],_0x2d5f63[_0x49c4('0x67')]['start'],_0x2d5f63[_0x49c4('0x67')]['end']);}break;case'Tag':var _0x58259d=_0x147ebd['value'][_0x49c4('0x6a')](',')[_0x49c4('0x37')](function(_0x2ac7df){return Number(_0x2ac7df);});_0x58259d[_0x49c4('0x3b')](function(_0x5b056e){_0x155c43['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x5b056e+',%');});_0x1ef0c1=_[_0x49c4('0x70')](_0x1ef0c1,_0x58259d);break;case _0x49c4('0x71'):if(_0x147ebd[_0x49c4('0x72')]===_0x49c4('0x73')){_0x5d24f3[_0x33c9a6](_0x49c4('0x74'),'%'+_0x147ebd[_0x49c4('0x67')]+'%',null);}else{_0x845f7e=_[_0x49c4('0x65')](_0x4d628a,[_0x49c4('0x35'),'UserId']);_0x147ebd[_0x49c4('0x4f')]='UserId';_0x2d5f63=as[_0x49c4('0x6e')](_0x2fe89a,_0x845f7e[_0x49c4('0x40')],_0x147ebd);_0x5d24f3[_0x33c9a6](_0x2d5f63[_0x49c4('0x6f')],_0x2d5f63[_0x49c4('0x67')][_0x49c4('0x75')],_0x2d5f63[_0x49c4('0x67')][_0x49c4('0x33')]);}break;case _0x49c4('0x76'):_0x2d5f63=as[_0x49c4('0x6e')]('me',null,_0x147ebd);_0x5d24f3[_0x33c9a6](_0x2d5f63[_0x49c4('0x6f')],_0x2d5f63[_0x49c4('0x67')][_0x49c4('0x75')],_0x2d5f63[_0x49c4('0x67')][_0x49c4('0x33')]);break;}}else{var _0x2d5f63=as[_0x49c4('0x6e')](_0x2fe89a,_0x845f7e[_0x49c4('0x40')],_0x147ebd);_0x5d24f3[_0x33c9a6](_0x2d5f63[_0x49c4('0x6f')],_0x2d5f63['value']['start'],_0x2d5f63[_0x49c4('0x67')][_0x49c4('0x33')]);}}}else{var _0x4af680=_(_0x28d4fb[_0x49c4('0x43')])[_0x49c4('0x44')]()[_0x49c4('0x37')](function(_0x16e7b1){return _['some'](_0x4d628a,['name',_0x16e7b1])?_0x16e7b1:undefined;})['compact']()[_0x49c4('0x67')]();if(!_[_0x49c4('0x77')](_0x4af680)){_0x4af680[_0x49c4('0x3b')](function(_0x2f4289){if(_0x2f4289===_0x49c4('0x78')){_0x5e63f0[_0x49c4('0x79')](_0x49c4('0x7a'),[][_0x49c4('0x7b')](_0x28d4fb[_0x49c4('0x43')][_0x2f4289]));}else if(_0x2f4289==='createdAt'){var _0x363b2e=JSON[_0x49c4('0x7c')](_0x28d4fb[_0x49c4('0x43')][_0x2f4289])['$gte'];var _0x4448b9=JSON[_0x49c4('0x7c')](_0x28d4fb[_0x49c4('0x43')][_0x2f4289])[_0x49c4('0x7d')];_0x5e63f0[_0x49c4('0x79')](_0x49c4('0x7e'),_0x363b2e,_0x4448b9);}else{if(_0x28d4fb[_0x49c4('0x43')][_0x2f4289]===_0x49c4('0x7f')){_0x5e63f0['where']('i.'+_0x2f4289+_0x49c4('0x80'));}else{_0x5e63f0[_0x49c4('0x79')]('i.'+_0x2f4289+_0x49c4('0x81'),_0x28d4fb[_0x49c4('0x43')][_0x2f4289]);}}});}if(_0x28d4fb[_0x49c4('0x43')]['read']){if(_0x28d4fb['query'][_0x49c4('0x82')]==0x1){_0x5e63f0['having'](_0x49c4('0x83'));}else{_0x5e63f0['having'](_0x49c4('0x84'));}}if(_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x85')]){_0x1ef0c1=_[_0x49c4('0x86')](_0x28d4fb['query'][_0x49c4('0x85')])?_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x85')]:new Array(_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x85')]);_0x1ef0c1[_0x49c4('0x3b')](function(_0x38b291){_0x155c43['or'](_0x49c4('0x87'),'%,'+_0x38b291+',%');});}if(_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x88')]){var _0x5e7f45=_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x88')]['replace']('\x5c','\x5c\x5c')[_0x49c4('0x89')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x5e7f45)){_0x5d24f3['or'](_0x49c4('0x8a'),_0x5e7f45+'%');}else{_0x5d24f3['or'](_0x49c4('0x8b'),qs[_0x49c4('0x6c')](_0x5e7f45))['or'](_0x49c4('0x8c'),_0x5e7f45+'%');}}}_0x5e63f0[_0x49c4('0x79')](_0x5d24f3);_0x5e63f0['group'](_0x49c4('0x8d'));var _0x2329b6={'type':db['Sequelize'][_0x49c4('0x8e')][_0x49c4('0x8f')],'raw':!![]};var _0x4eb72a=_0x5e63f0[_0x49c4('0x90')]();_0x4eb72a[_0x49c4('0x4f')]('i.id');_0x4eb72a[_0x49c4('0x4f')](_0x49c4('0x91'),_0x49c4('0x66'));if(_0x239327[_0x49c4('0x4b')]){_0x239327['order'][_0x49c4('0x3b')](function(_0x7212ce){var _0x4c2fed=_0x7212ce[0x0]===_0x49c4('0x92')?_0x7212ce[0x0]:'i.'+_0x7212ce[0x0];_0x5e63f0['order'](_0x4c2fed,_0x7212ce[0x1]==='DESC'?![]:!![]);});}if(!_[_0x49c4('0x77')](_0x1ef0c1)){_0x5e63f0['having'](_0x155c43);_0x4eb72a['where'](_0x49c4('0x93'),_0x1ef0c1);}BPromise[_0x49c4('0x94')]()['then'](function(){if(!_0xf7a10f){if(_0x28d4fb[_0x49c4('0x43')]['ChatWebsiteId'])return;_0x4eb72a['where']('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');_0x5e63f0[_0x49c4('0x79')](_0x49c4('0x95'));return;}if(_0x28d4fb[_0x49c4('0x96')][_0x49c4('0x97')]!=='agent')return;return _0x28d4fb['user'][_0x49c4('0x98')]({'attributes':['id'],'raw':!![]})['then'](function(_0x2c560e){if(_['isEmpty'](_0x2c560e)){_0x4eb72a[_0x49c4('0x79')](_0x49c4('0x99'));_0x5e63f0[_0x49c4('0x79')](_0x49c4('0x99'));}else{_0x4eb72a[_0x49c4('0x79')](_0x49c4('0x7a'),_[_0x49c4('0x37')](_0x2c560e,'id'));_0x5e63f0['where'](_0x49c4('0x7a'),_[_0x49c4('0x37')](_0x2c560e,'id'));}});})[_0x49c4('0x32')](function(){if(_0x28d4fb[_0x49c4('0x96')][_0x49c4('0x97')]==='agent'&&!_0xf7a10f&&!_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x78')])return[];return db[_0x49c4('0x9a')]['query'](_0x4eb72a['toString'](),_0x2329b6);})[_0x49c4('0x32')](function(_0x27b31d){_0x4cbd0d[_0x49c4('0x2c')]=_0x27b31d[_0x49c4('0x49')];if(_0x4cbd0d[_0x49c4('0x2c')]===0x0)return[];return db['sequelize'][_0x49c4('0x43')](_0x5d8bf0[_0x49c4('0x9b')](),_0x2329b6)[_0x49c4('0x32')](function(_0x2aae0f){_0x52a8f7=_['keyBy'](_0x2aae0f,'id');_0x2329b6=_['merge'](_0x2329b6,{'model':db[_0x49c4('0x3e')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x28d4fb[_0x49c4('0x43')][_0x49c4('0x48')]){_0x239327[_0x49c4('0x46')][_0x49c4('0x3b')](function(_0x5413d8){_0x5e63f0[_0x49c4('0x4f')]('i.'+_0x5413d8);});}else{_0x5e63f0[_0x49c4('0x4f')](_0x49c4('0x91'),_0x49c4('0x66'));_0x5e63f0[_0x49c4('0x4f')](_0x49c4('0x9c'),'Account.key');_0x5e63f0[_0x49c4('0x4f')](_0x49c4('0x9d'),_0x49c4('0x9e'));_0x5e63f0[_0x49c4('0x4f')]('CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','contactName');_0x5e63f0[_0x49c4('0x4f')]('i.*');_0x5e63f0[_0x49c4('0x4f')]('c.firstName',_0x49c4('0x9f'));_0x5e63f0[_0x49c4('0x4f')](_0x49c4('0xa0'),_0x49c4('0xa1'));_0x5e63f0['field']('c.email',_0x49c4('0xa2'));_0x5e63f0[_0x49c4('0x4f')](_0x49c4('0xa3'),'Contact.phone');_0x5e63f0['field'](_0x49c4('0xa4'),'Contact.mobile');_0x5e63f0['field'](_0x49c4('0xa5'),'Contact.fax');_0x5e63f0[_0x49c4('0x4f')](_0x49c4('0xa6'),'Owner.fullname');_0x5e63f0[_0x49c4('0x4f')](_0x49c4('0xa7'),'Owner.internal');_0x5e63f0['field'](_0x49c4('0xa8'),'TagIds');}if(_0x239327[_0x49c4('0x2b')])_0x5e63f0[_0x49c4('0x2b')](_0x239327[_0x49c4('0x2b')]);if(_0x239327[_0x49c4('0x29')])_0x5e63f0[_0x49c4('0x29')](_0x239327[_0x49c4('0x29')]);return db[_0x49c4('0x9a')]['query'](_0x5e63f0[_0x49c4('0x9b')](),_0x2329b6);})[_0x49c4('0x32')](function(_0x85418e){if(_0x85418e[_0x49c4('0x49')]>0x0)_0x394baa[_0x49c4('0x79')]('ui.ChatInteractionId\x20IN\x20?',_[_0x49c4('0x37')](_0x85418e,'id'));return db['sequelize'][_0x49c4('0x43')](_0x394baa[_0x49c4('0x9b')](),_0x2329b6)[_0x49c4('0x32')](function(_0x3d662c){var _0x5acbf7=_[_0x49c4('0xa9')](_0x3d662c,_0x49c4('0xaa'));var _0x312b02=[];_0x85418e[_0x49c4('0x3b')](function(_0x332173){_0x312b02[_0x49c4('0x3c')](updateChatInteraction(_0x332173,_0x52a8f7,_0x5acbf7));});return BPromise['all'](_0x312b02);});});})[_0x49c4('0x32')](function(_0x4b31fb){_0x4cbd0d[_0x49c4('0xab')]=_0x4b31fb;return _0x4cbd0d;})[_0x49c4('0x32')](respondWithFilteredResult(_0x1480da,_0x239327))[_0x49c4('0x27')](handleError(_0x1480da,null));};exports[_0x49c4('0xac')]=function(_0x5d864b,_0x46eaa1){var _0x17e7c6={'raw':![],'where':{'id':_0x5d864b[_0x49c4('0xad')]['id']}},_0x5829bc={};_0x5829bc[_0x49c4('0x42')]=_['keys'](db['ChatInteraction'][_0x49c4('0x3f')]);_0x5829bc[_0x49c4('0x43')]=_[_0x49c4('0x44')](_0x5d864b[_0x49c4('0x43')]);_0x5829bc[_0x49c4('0x45')]=_[_0x49c4('0x47')](_0x5829bc[_0x49c4('0x42')],_0x5829bc[_0x49c4('0x43')]);_0x17e7c6[_0x49c4('0x46')]=_[_0x49c4('0x47')](_0x5829bc[_0x49c4('0x42')],qs['fields'](_0x5d864b['query'][_0x49c4('0x48')]));_0x17e7c6[_0x49c4('0x46')]=_0x17e7c6[_0x49c4('0x46')]['length']?_0x17e7c6[_0x49c4('0x46')]:_0x5829bc[_0x49c4('0x42')];if(_0x5d864b['query'][_0x49c4('0xae')]){_0x17e7c6['include']=[{'all':!![]}];}_0x17e7c6=_[_0x49c4('0xaf')]({},_0x17e7c6,_0x5d864b[_0x49c4('0xb0')]);return db[_0x49c4('0x3e')][_0x49c4('0x65')](_0x17e7c6)['then'](handleEntityNotFound(_0x46eaa1,null))[_0x49c4('0x32')](respondWithResult(_0x46eaa1,null))[_0x49c4('0x27')](handleError(_0x46eaa1,null));};exports[_0x49c4('0xb1')]=function(_0x431ff1,_0x44a7e3){return db['ChatInteraction']['create'](_0x431ff1['body'],{})[_0x49c4('0x32')](respondWithResult(_0x44a7e3,0xc9))[_0x49c4('0x27')](handleError(_0x44a7e3,null));};exports[_0x49c4('0x31')]=function(_0x32f8f9,_0x3f49cc){if(_0x32f8f9['body']['id']){delete _0x32f8f9[_0x49c4('0x76')]['id'];}return db[_0x49c4('0x3e')][_0x49c4('0x65')]({'where':{'id':_0x32f8f9[_0x49c4('0xad')]['id']}})['then'](handleEntityNotFound(_0x3f49cc,null))[_0x49c4('0x32')](saveUpdates(_0x32f8f9[_0x49c4('0x76')],null))[_0x49c4('0x32')](respondWithResult(_0x3f49cc,null))[_0x49c4('0x27')](handleError(_0x3f49cc,null));};exports[_0x49c4('0xb2')]=function(_0x561535,_0x1d9e1a){return db[_0x49c4('0x3e')][_0x49c4('0x65')]({'where':{'id':_0x561535['params']['id']}})[_0x49c4('0x32')](handleEntityNotFound(_0x1d9e1a,null))[_0x49c4('0x32')](removeEntity(_0x1d9e1a,null))[_0x49c4('0x27')](handleError(_0x1d9e1a,null));};exports['describe']=function(_0x97f579,_0x491231){return db['ChatInteraction'][_0x49c4('0xb3')]()[_0x49c4('0x32')](respondWithResult(_0x491231,null))['catch'](handleError(_0x491231,null));};exports[_0x49c4('0xb4')]=function(_0x1d7428,_0xf0bb4f){var _0x1ffc9a=_0x1d7428[_0x49c4('0xad')]['id'];var _0x3a7559;var _0x148619;var _0x219133;return db['ChatInteraction']['findOne']({'where':{'id':_0x1ffc9a}})[_0x49c4('0x32')](function(_0x4c85ab){_0x3a7559=_0x4c85ab;return db[_0x49c4('0xb5')]['findOne']({'where':{'id':_0x4c85ab['ChatWebsiteId']},'attributes':['id',_0x49c4('0xb6'),_0x49c4('0xb7')],'raw':!![]});})[_0x49c4('0x32')](function(_0x45aeeb){if(_0x45aeeb&&_0x45aeeb[_0x49c4('0xb6')]&&_0x45aeeb[_0x49c4('0xb7')]){_0x148619=_0x45aeeb;var _0xbabd3b={'rejectUnauthorized':![],'method':_0x49c4('0xb8'),'uri':_0x49c4('0xb9'),'headers':{'X-APIKEY':_0x45aeeb[_0x49c4('0xb6')]},'body':{'name':_0x49c4('0xba')+_0x1ffc9a},'redirect':_0x49c4('0xbb'),'json':!![]};return rp(_0xbabd3b);}else{throw new db[(_0x49c4('0xbc'))][(_0x49c4('0xbd'))]('Error\x20in\x20Vidaoo\x20configuration');}})[_0x49c4('0x32')](function(_0x226945){_0x219133=_0x226945;if(_0x219133['id']){var _0x18a401={'body':_0x219133[_0x49c4('0xbe')],'ChatWebsiteId':_0x148619['id'],'ChatInteractionId':_0x3a7559['id'],'direction':'out','UserId':_0x1d7428['user']['id']};return db[_0x49c4('0xbf')]['create'](_0x18a401,{});}else{throw new db[(_0x49c4('0xbc'))][(_0x49c4('0xbd'))](_0x49c4('0xc0'));}})[_0x49c4('0x32')](function(){return _0x3a7559[_0x49c4('0xc1')]({'vidaooSessionId':_0x219133['id']});})[_0x49c4('0x32')](respondWithResult(_0xf0bb4f,null))[_0x49c4('0x27')](handleError(_0xf0bb4f,null));};exports[_0x49c4('0xc2')]=function(_0x31ba95,_0x1c12f6){if(_0x31ba95[_0x49c4('0x76')]['id']){delete _0x31ba95[_0x49c4('0x76')]['id'];}return db['ChatInteraction'][_0x49c4('0x65')]({'where':{'id':_0x31ba95[_0x49c4('0xad')]['id']},'include':[{'model':db[_0x49c4('0xc3')],'as':'Contact'}]})[_0x49c4('0x32')](handleEntityNotFound(_0x1c12f6,null))['then'](saveUpdates(_0x31ba95[_0x49c4('0x76')],null))[_0x49c4('0x32')](respondWithResult(_0x1c12f6,null))[_0x49c4('0x27')](handleError(_0x1c12f6,null));};exports[_0x49c4('0xc4')]=function(_0x4c81e7,_0x2efd9a,_0x479747){if(_0x4c81e7['body']['id']){delete _0x4c81e7[_0x49c4('0x76')]['id'];}return db[_0x49c4('0x3e')][_0x49c4('0x65')]({'where':{'id':_0x4c81e7['params']['id']}})['then'](function(_0x1feb5d){if(!_0x1feb5d){logger[_0x49c4('0x24')](_0x49c4('0xc5'),_0x49c4('0xc4'),0x194,_0x49c4('0xc6'));_0x2efd9a[_0x49c4('0x34')](0x194);}else{if(_0x1feb5d[_0x49c4('0xc7')]){throw new db[(_0x49c4('0xbc'))][(_0x49c4('0xbd'))]('Interaction\x20already\x20assigned');}}return _0x1feb5d;})[_0x49c4('0x32')](function(_0x1aad10){if(_0x1aad10){return _0x1aad10['update']({'closed':_0x4c81e7['body'][_0x49c4('0xc8')],'disposition':_0x4c81e7['body'][_0x49c4('0xc9')]})['then'](function(_0x369679){return _0x369679;});}})['then'](function(_0x30781e){return respondWithRpcPromise(_0x49c4('0xca'),_0x49c4('0xc4'),_0x4c81e7[_0x49c4('0x76')],client9004);})['then'](respondWithResult(_0x2efd9a,null))['catch'](handleError(_0x2efd9a,null));};exports[_0x49c4('0xcb')]=function(_0x202102,_0x3ce256,_0x5737b4){_0x202102[_0x49c4('0x76')][_0x49c4('0x35')]=_0x202102['file']['originalname'];_0x202102[_0x49c4('0x76')][_0x49c4('0xcc')]=_0x202102[_0x49c4('0xcd')]['filename'];_0x202102[_0x49c4('0x76')][_0x49c4('0x40')]=_0x202102[_0x49c4('0xcd')][_0x49c4('0xce')];return db['Attachment'][_0x49c4('0xb1')](_0x202102['body'])['then'](respondWithResult(_0x3ce256,0xc9))[_0x49c4('0x27')](handleError(_0x3ce256,null));};exports[_0x49c4('0xcf')]=function(_0x12fda9,_0x24ff20,_0x5adb90){return db[_0x49c4('0x3e')][_0x49c4('0xd0')]({'where':{'id':_0x12fda9[_0x49c4('0xad')]['id']},'raw':!![]})[_0x49c4('0x32')](handleEntityNotFound(_0x24ff20,null))['then'](function(_0x1e6f08){if(_0x1e6f08){if(_0x1e6f08['closed']){return _0x24ff20['status'](0x193)[_0x49c4('0x2e')]({'status':0x193,'message':_0x49c4('0xd1')});}return db[_0x49c4('0xd2')]['findOne']({'where':{'id':_0x12fda9[_0x49c4('0x43')]['attachId']},'raw':!![]})[_0x49c4('0x32')](handleEntityNotFound(_0x24ff20,null));}})[_0x49c4('0x32')](function(_0x44abec){if(_0x44abec){var _0x3738d7=_0x44abec[_0x49c4('0xd3')]!==null;var _0x2a5743=path[_0x49c4('0xd4')](config['root'],_0x49c4('0xd5'));if(_0x3738d7){_0x2a5743=path[_0x49c4('0xd4')](_0x2a5743,_0x49c4('0xd6'));}var _0x318fdb=path['join'](_0x2a5743,_0x44abec['basename']);return _0x24ff20['download'](_0x318fdb);}})[_0x49c4('0x27')](handleError(_0x24ff20,null));};exports[_0x49c4('0xd7')]=function(_0x21770f,_0x792fa9){var _0x777777=null;var _0x40c7ab=null;var _0x372038=null;var _0x531f5a=null;if(_0x21770f[_0x49c4('0x76')]['id']){delete _0x21770f[_0x49c4('0x76')]['id'];}if(_0x21770f['body']['mailTranscript']){_0x531f5a=path['join'](config[_0x49c4('0xd8')],_0x49c4('0xd9'),util[_0x49c4('0xda')](_0x49c4('0xdb'),Date[_0x49c4('0xdc')]()));_0x21770f[_0x49c4('0x76')][_0x49c4('0xdd')]=_0x531f5a;}return db['ChatInteraction'][_0x49c4('0x65')]({'where':{'id':_0x21770f[_0x49c4('0xad')]['id']},'include':[{'model':db[_0x49c4('0xbf')],'as':_0x49c4('0xde'),'include':[{'model':db['User'],'as':_0x49c4('0x71')}]}]})[_0x49c4('0x32')](handleEntityNotFound(_0x792fa9,null))[_0x49c4('0x32')](saveUpdates(_0x21770f[_0x49c4('0x76')],null))[_0x49c4('0x32')](function(_0x4f6a04){if(_0x4f6a04){_0x777777=_0x4f6a04;return db[_0x49c4('0xb5')]['find']({'where':{'id':_0x777777['ChatWebsiteId']}});}})[_0x49c4('0x32')](function(_0x1eeaed){if(_0x1eeaed){_0x372038=_0x1eeaed;return db[_0x49c4('0xc3')][_0x49c4('0x65')]({'where':{'id':_0x777777[_0x49c4('0x6d')]}});}})['then'](function(_0x370152){if(_0x370152){_0x40c7ab=_0x370152;if(_0x531f5a){var _0xe22e22=null;for(var _0x20158e=0x1;_0x20158e<_0x777777['Messages'][_0x49c4('0x49')];++_0x20158e){_0xe22e22=_0x777777[_0x49c4('0xde')][_0x20158e];var _0x4c4f14=_0xe22e22[_0x49c4('0xc7')]?util[_0x49c4('0xda')](_0x49c4('0xdf'),_0x372038[_0x49c4('0xe0')],_0xe22e22[_0x49c4('0xc7')]):_0x49c4('0xe1');var _0x1679ca=_0x21770f['body'][_0x49c4('0xe2')]||util[_0x49c4('0xda')](_0x49c4('0xdf'),_0x49c4('0xe3'),_0xe22e22[_0x49c4('0x6d')]);switch(_0x372038['agentIdentifier']){case _0x49c4('0xe4'):_0x4c4f14=_0xe22e22[_0x49c4('0xc7')]?util[_0x49c4('0xda')](_0x49c4('0xdf'),_0x372038[_0x49c4('0xe0')],_0xe22e22['UserId']):_0x49c4('0xe1');break;case _0x49c4('0xe5'):_0x4c4f14=_0xe22e22[_0x49c4('0xc7')]?_0xe22e22[_0x49c4('0x71')][_0x49c4('0xe6')]||_0xe22e22[_0x49c4('0x71')][_0x49c4('0x38')]:_0x49c4('0xe1');break;case _0x49c4('0xe7'):_0x4c4f14=_0xe22e22[_0x49c4('0xc7')]?_0xe22e22['User'][_0x49c4('0x38')]:_0x49c4('0xe1');break;default:_0x4c4f14=_0xe22e22[_0x49c4('0xc7')]?util[_0x49c4('0xda')](_0x49c4('0xdf'),_0x372038['agentAlias'],_0xe22e22['UserId']):_0x49c4('0xe1');}var _0x251e26=util[_0x49c4('0xda')](_0x49c4('0xe8'),moment(_0xe22e22[_0x49c4('0xe9')])[_0x49c4('0xda')]('MM/DD/YYYY\x20HH:mm:ss'),_0xe22e22[_0x49c4('0xea')]==='in'?_0x1679ca:_0x4c4f14,_0xe22e22[_0x49c4('0x76')]);if(!_0xe22e22['secret']){fs[_0x49c4('0xeb')](_0x531f5a,_0x251e26);}}return db['MailAccount'][_0x49c4('0xd0')]({'where':{'service':!![]},'include':[{'model':db[_0x49c4('0xec')],'as':_0x49c4('0xed'),'raw':!![]}]});}}})['then'](function(_0x1e30d7){if(_0x1e30d7&&_0x1e30d7['Smtp']&&_0x21770f[_0x49c4('0x76')]){var _0x5025ee={'tls':{'rejectUnauthorized':![]}};if(_0x1e30d7['Smtp'][_0x49c4('0xee')]){_0x5025ee[_0x49c4('0xee')]=_0x1e30d7[_0x49c4('0xed')][_0x49c4('0xee')];}else{_0x5025ee[_0x49c4('0xef')]=_0x1e30d7[_0x49c4('0xed')]['host'];_0x5025ee['port']=_0x1e30d7[_0x49c4('0xed')][_0x49c4('0xf0')];_0x5025ee[_0x49c4('0xf1')]=_0x1e30d7[_0x49c4('0xed')][_0x49c4('0xf1')];}if(_0x1e30d7[_0x49c4('0xed')][_0x49c4('0xf2')]){_0x5025ee['auth']={'user':_0x1e30d7['Smtp']['user'],'pass':_0x1e30d7['Smtp'][_0x49c4('0xf3')]};}return respondWithRpcPromise('SendMail',_0x49c4('0xf4'),{'account':_0x5025ee,'message':{'from':util[_0x49c4('0xda')](_0x49c4('0xf5'),_0x1e30d7['name'],_0x1e30d7['email']||_0x1e30d7[_0x49c4('0xed')][_0x49c4('0x96')]),'to':_0x21770f['body'][_0x49c4('0xf6')],'subject':_0x49c4('0xf7'),'text':util[_0x49c4('0xda')](_0x49c4('0xf8'),_0x21770f[_0x49c4('0x76')][_0x49c4('0xf6')]),'attachments':[{'path':_0x531f5a}]}})['then'](function(){return _0x777777;})[_0x49c4('0x27')](function(_0xb0726){console[_0x49c4('0x24')](_0xb0726);});}else{return _0x777777;}})['then'](respondWithStatusCode(_0x792fa9,0xc8))[_0x49c4('0x27')](handleError(_0x792fa9,null));};exports[_0x49c4('0xf9')]=function(_0x18ca8d,_0x278c0e,_0x18f695){return db[_0x49c4('0xbf')][_0x49c4('0x65')]({'where':{'id':_0x18ca8d[_0x49c4('0xad')]['id']}})['then'](handleEntityNotFound(_0x278c0e,null))[_0x49c4('0x32')](function(_0x2cdae2){if(_0x2cdae2){return _0x2cdae2[_0x49c4('0xf9')](_0x18ca8d[_0x49c4('0x76')][_0x49c4('0xfa')],_[_0x49c4('0xfb')](_0x18ca8d['body'],[_0x49c4('0xfa'),'id'])||{});}})[_0x49c4('0x32')](respondWithResult(_0x278c0e,null))[_0x49c4('0x27')](handleError(_0x278c0e,null));};exports[_0x49c4('0xfc')]=function(_0x4462ec,_0x3a8fe1,_0x29c6fc){var _0x1642fd={'raw':![],'where':{}};var _0x4806ac={};var _0xc641bc={'count':0x0,'rows':[]};return db[_0x49c4('0x3e')][_0x49c4('0xd0')]({'where':{'id':_0x4462ec[_0x49c4('0xad')]['id']}})[_0x49c4('0x32')](handleEntityNotFound(_0x3a8fe1,null))['then'](function(_0x5add33){if(_0x5add33){_0x4806ac[_0x49c4('0x42')]=_[_0x49c4('0x44')](db['ChatMessage']['rawAttributes']);_0x4806ac[_0x49c4('0x43')]=_['keys'](_0x4462ec[_0x49c4('0x43')]);_0x4806ac[_0x49c4('0x45')]=_[_0x49c4('0x47')](_0x4806ac[_0x49c4('0x42')],_0x4806ac[_0x49c4('0x43')]);_0x1642fd[_0x49c4('0x46')]=_[_0x49c4('0x47')](_0x4806ac[_0x49c4('0x42')],qs['fields'](_0x4462ec[_0x49c4('0x43')][_0x49c4('0x48')]));_0x1642fd[_0x49c4('0x46')]=_0x1642fd[_0x49c4('0x46')][_0x49c4('0x49')]?_0x1642fd['attributes']:_0x4806ac[_0x49c4('0x42')];if(!_0x4462ec[_0x49c4('0x43')]['hasOwnProperty'](_0x49c4('0xfd'))){_0x1642fd[_0x49c4('0x2b')]=qs['limit'](_0x4462ec[_0x49c4('0x43')][_0x49c4('0x2b')]);_0x1642fd[_0x49c4('0x29')]=qs['offset'](_0x4462ec[_0x49c4('0x43')][_0x49c4('0x29')]);}_0x1642fd[_0x49c4('0x4b')]=qs[_0x49c4('0x4c')](_0x4462ec['query'][_0x49c4('0x4c')]);_0x1642fd['where']=qs[_0x49c4('0x45')](_[_0x49c4('0x4d')](_0x4462ec[_0x49c4('0x43')],_0x4806ac[_0x49c4('0x45')]));_0x1642fd['where'][_0x49c4('0xaa')]=_0x5add33['id'];if(_0x4462ec[_0x49c4('0x43')][_0x49c4('0x88')]){_0x1642fd[_0x49c4('0x79')]=_[_0x49c4('0xaf')](_0x1642fd[_0x49c4('0x79')],{'$or':_['map'](_0x1642fd['attributes'],function(_0xf7de21){var _0x122cfc={};_0x122cfc[_0xf7de21]={'$like':'%'+_0x4462ec[_0x49c4('0x43')][_0x49c4('0x88')]+'%'};return _0x122cfc;})});}if(_0x4462ec[_0x49c4('0x43')][_0x49c4('0xfe')]){var _0x21916c=_0x4462ec[_0x49c4('0x43')][_0x49c4('0xfe')][_0x49c4('0x6a')](',');var _0x300bea={};_0x300bea[_0x21916c[0x0]]={'$gte':moment(_0x21916c[0x1])[_0x49c4('0xda')]('YYYY-MM-DD\x20HH:mm:ss')};_0x1642fd[_0x49c4('0x79')]=_[_0x49c4('0xaf')](_0x1642fd['where'],_0x300bea);}_0x1642fd=_[_0x49c4('0xaf')]({},_0x1642fd,_0x4462ec['options']);return db[_0x49c4('0xbf')][_0x49c4('0x2c')]({'where':_0x1642fd['where']})[_0x49c4('0x32')](function(_0x245fae){_0xc641bc[_0x49c4('0x2c')]=_0x245fae;if(_0x4462ec[_0x49c4('0x43')][_0x49c4('0xae')]){_0x1642fd['include']=[{'all':!![]}];}return db[_0x49c4('0xbf')]['findAll'](_0x1642fd);})[_0x49c4('0x32')](function(_0x216896){_0xc641bc[_0x49c4('0xab')]=_0x216896;return _0xc641bc;});}})['then'](respondWithFilteredResult(_0x3a8fe1,_0x1642fd))[_0x49c4('0x27')](handleError(_0x3a8fe1,null));};exports[_0x49c4('0xff')]=function(_0x37ec56,_0x58391c,_0x47e856){var _0x256d6b={'where':{}},_0x590586={},_0x30dfdc={'count':0x0,'rows':[]};return db[_0x49c4('0x3e')][_0x49c4('0xd0')]({'where':{'id':_0x37ec56[_0x49c4('0xad')]['id']}})['then'](handleEntityNotFound(_0x58391c,null))['then'](function(_0x53ce56){if(_0x53ce56){_0x590586[_0x49c4('0x42')]=_[_0x49c4('0x44')](db[_0x49c4('0xbf')][_0x49c4('0x3f')]);_0x590586['query']=_[_0x49c4('0x44')](_0x37ec56[_0x49c4('0x43')]);_0x590586[_0x49c4('0x45')]=_[_0x49c4('0x47')](_0x590586[_0x49c4('0x42')],_0x590586[_0x49c4('0x43')]);_0x256d6b[_0x49c4('0x46')]=_[_0x49c4('0x47')](_0x590586[_0x49c4('0x42')],qs[_0x49c4('0x48')](_0x37ec56[_0x49c4('0x43')]['fields']));_0x256d6b[_0x49c4('0x46')]=_0x256d6b['attributes'][_0x49c4('0x49')]?_0x256d6b[_0x49c4('0x46')]:_0x590586[_0x49c4('0x42')];if(!_0x37ec56[_0x49c4('0x43')]['hasOwnProperty'](_0x49c4('0xfd'))){_0x256d6b['limit']=qs['limit'](_0x37ec56['query'][_0x49c4('0x2b')]);_0x256d6b[_0x49c4('0x29')]=qs[_0x49c4('0x29')](_0x37ec56['query'][_0x49c4('0x29')]);}_0x256d6b['order']=qs[_0x49c4('0x4c')](_0x37ec56[_0x49c4('0x43')][_0x49c4('0x4c')]);_0x256d6b['where']=qs[_0x49c4('0x45')](_[_0x49c4('0x4d')](_0x37ec56[_0x49c4('0x43')],_0x590586[_0x49c4('0x45')]));_0x256d6b[_0x49c4('0x79')]['ChatInteractionId']=_0x53ce56['id'];if(_0x37ec56[_0x49c4('0x43')][_0x49c4('0x88')]){_0x256d6b[_0x49c4('0x79')]=_[_0x49c4('0xaf')](_0x256d6b['where'],{'$or':_['map'](_0x256d6b[_0x49c4('0x46')],function(_0x2e467e){var _0x4fae08={};_0x4fae08[_0x2e467e]={'$like':'%'+_0x37ec56[_0x49c4('0x43')][_0x49c4('0x88')]+'%'};return _0x4fae08;})});}_0x256d6b[_0x49c4('0x79')][_0x49c4('0x100')]=![];if(_0x37ec56['query']['id']){_0x256d6b[_0x49c4('0x79')]['id']={'$gt':_0x37ec56[_0x49c4('0x43')]['id']};}_0x256d6b=_['merge']({},_0x256d6b,_0x37ec56['options']);return db[_0x49c4('0xbf')][_0x49c4('0x2c')]({'where':_0x256d6b[_0x49c4('0x79')]})[_0x49c4('0x32')](function(_0x1241b6){_0x30dfdc['count']=_0x1241b6;_0x256d6b[_0x49c4('0x101')]=[];if(_0x37ec56['query'][_0x49c4('0x102')]){_0x256d6b[_0x49c4('0x101')][_0x49c4('0x3c')]({'model':db[_0x49c4('0x71')],'as':'User','attributes':['id','fullname','alias']});}if(_0x37ec56[_0x49c4('0x43')][_0x49c4('0xae')]){_0x256d6b[_0x49c4('0x101')]=[{'all':!![]}];}return db[_0x49c4('0xbf')]['findAll'](_0x256d6b);})['then'](function(_0x7f9737){_0x30dfdc['rows']=_0x7f9737;return _0x30dfdc;});}})[_0x49c4('0x32')](respondWithFilteredResult(_0x58391c,_0x256d6b))[_0x49c4('0x27')](handleError(_0x58391c,null));};exports['addTags']=function(_0x369982,_0x2f7310,_0x1bf8cb){return db['ChatInteraction'][_0x49c4('0x65')]({'where':{'id':_0x369982[_0x49c4('0xad')]['id']}})[_0x49c4('0x32')](handleEntityNotFound(_0x2f7310,null))['then'](function(_0x3eacc1){if(_0x3eacc1){return _0x3eacc1[_0x49c4('0x103')](_0x369982['body'][_0x49c4('0xfa')],_[_0x49c4('0xfb')](_0x369982['body'],[_0x49c4('0xfa'),'id'])||{})[_0x49c4('0x104')](function(){return db[_0x49c4('0x105')][_0x49c4('0x106')]({'attributes':['id',_0x49c4('0x35'),'color'],'where':{'id':_0x369982[_0x49c4('0x76')][_0x49c4('0xfa')]}});})['then'](function(_0x5a4b35){socket[_0x49c4('0x107')](_0x49c4('0x108'),{'id':Number(_0x369982['params']['id']),'tags':_0x5a4b35||[]});return{'id':Number(_0x369982[_0x49c4('0xad')]['id']),'tags':_0x5a4b35||[]};});}})['then'](respondWithResult(_0x2f7310,null))[_0x49c4('0x27')](handleError(_0x2f7310,null));};exports[_0x49c4('0x109')]=function(_0x5bd02f,_0x3811f6,_0x4cc390){return db[_0x49c4('0x3e')][_0x49c4('0x65')]({'where':{'id':_0x5bd02f['params']['id']}})[_0x49c4('0x32')](handleEntityNotFound(_0x3811f6,null))[_0x49c4('0x32')](function(_0x56afeb){if(_0x56afeb){return _0x56afeb['removeTags'](_0x5bd02f[_0x49c4('0x43')][_0x49c4('0xfa')]);}})[_0x49c4('0x32')](respondWithStatusCode(_0x3811f6,null))[_0x49c4('0x27')](handleError(_0x3811f6,null));};exports[_0x49c4('0x10a')]=function(_0x5b0f2c,_0x34fdb1){var _0x40afb8=moment()[_0x49c4('0x10b')]()[_0x49c4('0x9b')]();var _0x28899f=path['join'](config[_0x49c4('0xd8')],_0x49c4('0x10c'),_0x49c4('0x10d'),_0x49c4('0x10e'));var _0x431264=path[_0x49c4('0xd4')](config[_0x49c4('0xd8')],_0x49c4('0x10c'),'files',_0x49c4('0x10f'));var _0x1661eb=path[_0x49c4('0xd4')](_0x28899f,_0x40afb8);var _0x5a4b4c=util['format'](_0x49c4('0x110'),_0x5b0f2c['params']['id'],_0x40afb8);var _0x10d3a3=path[_0x49c4('0xd4')](_0x28899f,_0x5a4b4c);var _0x310b7d=[];_0x310b7d[_0x49c4('0x3c')]({'model':db['User'],'as':_0x49c4('0x71'),'attributes':['id',_0x49c4('0x38')],'raw':!![]});_0x310b7d[_0x49c4('0x3c')]({'model':db[_0x49c4('0xc3')],'as':'Contact','attributes':['id',_0x49c4('0x111'),_0x49c4('0x112')],'raw':!![]});if(_0x5b0f2c['query'][_0x49c4('0x10f')]){_0x310b7d[_0x49c4('0x3c')]({'model':db[_0x49c4('0xd2')],'as':_0x49c4('0xd2'),'raw':!![]});}var _0x43ffdf=[{'model':db[_0x49c4('0xbf')],'as':_0x49c4('0xde'),'attributes':['id',_0x49c4('0x76'),'createdAt','direction','secret',_0x49c4('0x82')],'include':_0x310b7d}];_0x43ffdf[_0x49c4('0x3c')]({'model':db[_0x49c4('0xb5')],'as':_0x49c4('0x113'),'attributes':['id',_0x49c4('0x35')]});_0x43ffdf['push']({'model':db[_0x49c4('0x71')],'as':_0x49c4('0x114'),'attributes':['id',_0x49c4('0x38')]});return db[_0x49c4('0x3e')]['find']({'where':{'id':_0x5b0f2c['params']['id']},'include':_0x43ffdf})[_0x49c4('0x32')](handleEntityNotFound(_0x34fdb1,null))[_0x49c4('0x32')](function(_0x70766a){if(_0x70766a){var _0x326cec=_0x70766a[_0x49c4('0x115')]({'plain':!![]});fs[_0x49c4('0x116')](_0x1661eb);var _0x4b9f0e={'channel':'Chat','account':_0x326cec[_0x49c4('0x113')][_0x49c4('0x35')],'agent':_0x326cec[_0x49c4('0x114')]?_0x326cec[_0x49c4('0x114')][_0x49c4('0x38')]:'N.A.','createdAt':moment(_0x326cec[_0x49c4('0xe9')])[_0x49c4('0xda')](_0x49c4('0x117'))[_0x49c4('0x9b')](),'closedAt':_0x326cec[_0x49c4('0xc8')]?moment(_0x326cec[_0x49c4('0x118')])[_0x49c4('0xda')](_0x49c4('0x117'))[_0x49c4('0x9b')]():'','disposition':_0x326cec['disposition'],'chatInfo':{'browser':_0x326cec[_0x49c4('0x119')],'os':_0x326cec[_0x49c4('0x11a')],'referer':_0x326cec[_0x49c4('0x11b')],'customerIp':_0x326cec[_0x49c4('0x11c')],'customerPort':_0x326cec[_0x49c4('0x11d')]?_0x326cec['customerPort']:_0x49c4('0x11e')},'messages':_(_0x326cec[_0x49c4('0xde')])['tail']()[_0x49c4('0x88')]({'secret':![]})['map'](function(_0x329b71){if(_0x329b71['Attachment']){var _0x32095a=path[_0x49c4('0xd4')](_0x431264,_0x329b71['Attachment'][_0x49c4('0xcc')]);if(fs['existsSync'](_0x32095a)){fs[_0x49c4('0x11f')](_0x32095a)[_0x49c4('0x120')](fs[_0x49c4('0x121')](path[_0x49c4('0xd4')](_0x1661eb,_0x329b71[_0x49c4('0xd2')]['basename'])));}}return{'date':moment(_0x329b71[_0x49c4('0xe9')])[_0x49c4('0xda')](_0x49c4('0x117'))[_0x49c4('0x9b')](),'sender':_0x329b71[_0x49c4('0xea')]===_0x49c4('0x122')?_0x329b71[_0x49c4('0x71')]?_0x329b71[_0x49c4('0x71')]['fullname']:_0x49c4('0xe1'):_0x329b71[_0x49c4('0x123')][_0x49c4('0x111')]+(_0x329b71[_0x49c4('0x123')][_0x49c4('0x112')]?'\x20'+_0x329b71[_0x49c4('0x123')][_0x49c4('0x112')]:''),'body':_0x329b71[_0x49c4('0xd2')]?_0x329b71[_0x49c4('0xd2')][_0x49c4('0xcc')]:_0x329b71[_0x49c4('0x76')],'direction':_0x329b71[_0x49c4('0xea')]==='out'?'A':'C','secret':_0x329b71[_0x49c4('0x100')],'read':_0x329b71['read'],'attachment':_0x329b71[_0x49c4('0xd2')]};})[_0x49c4('0x67')]()};return ejs[_0x49c4('0x124')](path[_0x49c4('0xd4')](config[_0x49c4('0xd8')],_0x49c4('0x10c'),_0x49c4('0x125'),_0x49c4('0x126')),{'interaction':_0x4b9f0e})[_0x49c4('0x32')](function(_0x355bb6){var _0x33ce23=path[_0x49c4('0xd4')](_0x1661eb,_0x49c4('0x127')+_0x326cec['id']+'-'+_0x40afb8+_0x49c4('0x128'));var _0x46fd4b={'path':_0x33ce23,'channel':'Chat','interactionId':_0x326cec['id']};return pdf[_0x49c4('0x129')](_0x355bb6,_0x46fd4b);})[_0x49c4('0x32')](function(){return new BPromise(function(_0x56bc79,_0x4699b6){zipdir(_0x1661eb,{'saveTo':_0x10d3a3},function(_0x48b98e,_0x30bd10){if(_0x48b98e)return _0x4699b6(_0x48b98e);return _0x56bc79(_0x30bd10);});})[_0x49c4('0x32')](function(){return new BPromise(function(_0x34b26c,_0x293c50){rimraf(_0x1661eb,function(_0x3e5d5b){if(_0x3e5d5b)_0x293c50(_0x3e5d5b);return _0x34b26c();});});})['then'](function(){return _0x34fdb1['download'](_0x10d3a3,_0x5a4b4c,function(_0xea86fb){if(_0xea86fb){console[_0x49c4('0x12a')](_0x49c4('0x12b'),_0xea86fb);}else{fs['unlinkSync'](_0x10d3a3);}});});});}else{return _0x34fdb1[_0x49c4('0x34')](0xc8);}})[_0x49c4('0x27')](handleError(_0x34fdb1,null));};