Built motion from commit (unavailable).|2.5.23
[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 _0x60c6=['papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./chatInteraction.socket','register','client','http','request','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','ChatInteraction,\x20%s,\x20%s,\x20%s','error','message','catch','sendStatus','status','count','offset','limit','set','Content-Range','reject','save','then','end','stack','name','send','Users','map','fullname','TagIds','Tags','split','forEach','push','index','ChatInteraction','rawAttributes','type','key','model','keys','intersection','query','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','select','field','color','from','tools_tags','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','expr','search','sqlOperator','conditions','unreadMessages','value','`\x20=\x200','having','`\x20>\x200','Contact','operator','$substring','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','buildExpression','text','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','createdAt','$gte','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','read','`unreadMessages`\x20=\x200','tag','filter','replace','isNumeric','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','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','agent','sequelize','toString','merge','attributes','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','contactName','Contact.firstName','c.lastName','Contact.lastName','c.phone','Contact.phone','c.mobile','Contact.fax','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','all','rows','show','params','includeAll','include','create','update','destroy','describe','createVidaooSession','findOne','vidaooEscalation','vidaooApiKey','https://api-vidaoo.xcally.com/api/v1/sessions','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','out','Unable\x20to\x20create\x20Vidaoo\x20session','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','closed','AbandonInteraction','attachmentUpload','file','originalname','filename','mimetype','Attachment','attachmentDownload','json','Unauthorized','attachId','download','join','root','server/files/attachments/','basename','mailTranscript','format','transcript-%s.txt','now','pathTranscript','Messages','CmContact','%s%d','agentAlias','System','Visitor','agentIdentifier','website_alias','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','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','ChatMessage','omit','ids','getMessages','YYYY-MM-DD\x20HH:mm:ss','options','findAll','getMyMessages','includeAgent','setTags','spread','Tag','emit','unix','files','tmp','server','attachments','transcript-%d-%s.zip','firstName','Account','Owner','get','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Chat','YYYY-MM-DD','N.A.','closedAt','disposition','referer','customerIp','customerPort','tail','existsSync','createReadStream','lastName','views','downloadInteraction.html','toFile','transcript-','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring'];(function(_0x10a016,_0x3ca66d){var _0x4e680d=function(_0x25c45b){while(--_0x25c45b){_0x10a016['push'](_0x10a016['shift']());}};_0x4e680d(++_0x3ca66d);}(_0x60c6,0x11c));var _0x660c=function(_0x2fa1c6,_0x4a5b8d){_0x2fa1c6=_0x2fa1c6-0x0;var _0x5f3257=_0x60c6[_0x2fa1c6];return _0x5f3257;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x660c('0x0'));var rimraf=require(_0x660c('0x1'));var zipdir=require(_0x660c('0x2'));var jsonpatch=require(_0x660c('0x3'));var rp=require(_0x660c('0x4'));var moment=require(_0x660c('0x5'));var BPromise=require(_0x660c('0x6'));var Mustache=require(_0x660c('0x7'));var util=require(_0x660c('0x8'));var path=require(_0x660c('0x9'));var sox=require(_0x660c('0xa'));var csv=require('to-csv');var ejs=require(_0x660c('0xb'));var fs=require('fs');var _=require(_0x660c('0xc'));var squel=require('squel');var crypto=require(_0x660c('0xd'));var jsforce=require(_0x660c('0xe'));var deskjs=require(_0x660c('0xf'));var toCsv=require(_0x660c('0x10'));var querystring=require(_0x660c('0x11'));var Papa=require(_0x660c('0x12'));var Redis=require('ioredis');var authService=require(_0x660c('0x13'));var qs=require(_0x660c('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x660c('0x15'));var logger=require(_0x660c('0x16'))(_0x660c('0x17'));var utils=require(_0x660c('0x18'));var config=require(_0x660c('0x19'));var licenseUtil=require(_0x660c('0x1a'));var db=require(_0x660c('0x1b'))['db'];config[_0x660c('0x1c')]=_['defaults'](config['redis'],{'host':_0x660c('0x1d'),'port':0x18eb});var socket=require(_0x660c('0x1e'))(new Redis(config[_0x660c('0x1c')]));require(_0x660c('0x1f'))[_0x660c('0x20')](socket);var jayson=require('jayson/promise');var client=jayson[_0x660c('0x21')][_0x660c('0x22')]({'port':0x232b});var client9004=jayson['client'][_0x660c('0x22')]({'port':0x232c});function respondWithRpcPromise(_0xa8734a,_0x2fc5a2,_0x554cef,_0x3efc8c){return new BPromise(function(_0xd4fa1f,_0x34bf1a){var _0x19c213=_0x3efc8c||client;return _0x19c213[_0x660c('0x23')](_0xa8734a,_0x554cef)['then'](function(_0x2f06bc){logger[_0x660c('0x24')](_0x660c('0x25'),_0x2fc5a2,_0x660c('0x26'));logger['debug'](_0x660c('0x27'),_0x2fc5a2,_0x660c('0x26'),JSON['stringify'](_0x2f06bc));if(_0x2f06bc[_0x660c('0x28')]){if(_0x2f06bc[_0x660c('0x28')]['code']===0x1f4){logger[_0x660c('0x28')](_0x660c('0x25'),_0x2fc5a2,_0x2f06bc['error'][_0x660c('0x29')]);return _0x34bf1a(_0x2f06bc['error'][_0x660c('0x29')]);}logger[_0x660c('0x28')](_0x660c('0x25'),_0x2fc5a2,_0x2f06bc[_0x660c('0x28')]['message']);return _0xd4fa1f(_0x2f06bc[_0x660c('0x28')]['message']);}else{logger['info'](_0x660c('0x25'),_0x2fc5a2,_0x660c('0x26'));_0xd4fa1f(_0x2f06bc['result'][_0x660c('0x29')]);}})[_0x660c('0x2a')](function(_0x3ac0bc){logger[_0x660c('0x28')](_0x660c('0x25'),_0x2fc5a2,_0x3ac0bc);_0x34bf1a(_0x3ac0bc);});});}function respondWithStatusCode(_0x5329f1,_0x5d2f22){_0x5d2f22=_0x5d2f22||0xcc;return function(_0x1215d4){if(_0x1215d4){return _0x5329f1[_0x660c('0x2b')](_0x5d2f22);}return _0x5329f1[_0x660c('0x2c')](_0x5d2f22)['end']();};}function respondWithResult(_0x5cb6ce,_0x314cf2){_0x314cf2=_0x314cf2||0xc8;return function(_0x3401a2){if(_0x3401a2){return _0x5cb6ce[_0x660c('0x2c')](_0x314cf2)['json'](_0x3401a2);}};}function respondWithFilteredResult(_0x47b6df,_0x280e53){return function(_0x2a716f){if(_0x2a716f){var _0x59d5e7=_0x2a716f[_0x660c('0x2d')],_0x36f82a=_0x280e53[_0x660c('0x2e')],_0x42a37b=_0x280e53[_0x660c('0x2e')]+_0x280e53[_0x660c('0x2f')],_0x39893e;if(_0x42a37b>=_0x59d5e7){_0x42a37b=_0x59d5e7;_0x39893e=0xc8;}else{_0x39893e=0xce;}_0x47b6df[_0x660c('0x2c')](_0x39893e);return _0x47b6df[_0x660c('0x30')](_0x660c('0x31'),_0x36f82a+'-'+_0x42a37b+'/'+_0x59d5e7)['json'](_0x2a716f);}return null;};}function patchUpdates(_0x24d157){return function(_0x547488){try{jsonpatch['apply'](_0x547488,_0x24d157,!![]);}catch(_0x2f6bd9){return BPromise[_0x660c('0x32')](_0x2f6bd9);}return _0x547488[_0x660c('0x33')]();};}function saveUpdates(_0x1a3119,_0x565bc3){return function(_0x29e14c){if(_0x29e14c){return _0x29e14c['update'](_0x1a3119)['then'](function(_0x10eb7b){return _0x10eb7b;});}return null;};}function removeEntity(_0xff0497,_0x556071){return function(_0x50e4d4){if(_0x50e4d4){return _0x50e4d4['destroy']()[_0x660c('0x34')](function(){_0xff0497[_0x660c('0x2c')](0xcc)[_0x660c('0x35')]();});}};}function handleEntityNotFound(_0x3dcbaa,_0x3a6858){return function(_0x202ccf){if(!_0x202ccf){_0x3dcbaa[_0x660c('0x2b')](0x194);}return _0x202ccf;};}function handleError(_0x2b1e0d,_0x89a943){_0x89a943=_0x89a943||0x1f4;return function(_0x398842){logger[_0x660c('0x28')](_0x398842[_0x660c('0x36')]);if(_0x398842[_0x660c('0x37')]){delete _0x398842[_0x660c('0x37')];}_0x2b1e0d[_0x660c('0x2c')](_0x89a943)[_0x660c('0x38')](_0x398842);};}function getInteractionUsers(_0x4d803a,_0x4d3607){return new BPromise(function(_0x3f6d80,_0x14431d){try{if(_0x4d3607[_0x4d803a['id']]){_0x4d803a[_0x660c('0x39')]=_[_0x660c('0x3a')](_0x4d3607[_0x4d803a['id']],function(_0x232001){return{'id':_0x232001['id'],'fullname':_0x232001[_0x660c('0x3b')]};});}}catch(_0x1ae6a3){_0x14431d(_0x1ae6a3);}_0x3f6d80(_0x4d803a);});}function getInteractionTags(_0x566851,_0x2a5e65){return new BPromise(function(_0x383e60,_0x350ee4){try{if(_0x566851[_0x660c('0x3c')]){_0x566851[_0x660c('0x3d')]=[];_0x566851['TagIds'][_0x660c('0x3e')](',')[_0x660c('0x3f')](function(_0x1311ee){_0x566851[_0x660c('0x3d')][_0x660c('0x40')](_0x2a5e65[_0x1311ee]);});}delete _0x566851[_0x660c('0x3c')];}catch(_0x428fb2){_0x350ee4(_0x428fb2);}_0x383e60(_0x566851);});}function updateChatInteraction(_0x517737,_0x1c8d26,_0x488b41){return new BPromise(function(_0x2a3509,_0x5b36b2){return getInteractionUsers(_0x517737,_0x488b41)[_0x660c('0x34')](function(_0x2b1a6f){return getInteractionTags(_0x2b1a6f,_0x1c8d26);})['then'](function(_0x50eb8a){_0x2a3509(_0x50eb8a);})['catch'](function(_0x1d90d9){_0x5b36b2(_0x1d90d9);});});}exports[_0x660c('0x41')]=function(_0x5458c0,_0x5e24b0){var _0x473985={},_0x124244={},_0x11697e={'count':0x0,'rows':[]};var _0xfc3431=_['map'](db[_0x660c('0x42')][_0x660c('0x43')],function(_0x446563){return{'name':_0x446563['fieldName'],'type':_0x446563[_0x660c('0x44')][_0x660c('0x45')]};});_0x124244[_0x660c('0x46')]=_[_0x660c('0x3a')](_0xfc3431,_0x660c('0x37'));_0x124244['query']=_[_0x660c('0x47')](_0x5458c0['query']);_0x124244['filters']=_[_0x660c('0x48')](_0x124244[_0x660c('0x46')],_0x124244[_0x660c('0x49')]);_0x473985['attributes']=_[_0x660c('0x48')](_0x124244[_0x660c('0x46')],qs[_0x660c('0x4a')](_0x5458c0[_0x660c('0x49')][_0x660c('0x4a')]));_0x473985['attributes']=_0x473985['attributes'][_0x660c('0x4b')]?_0x473985['attributes']:_0x124244[_0x660c('0x46')];if(!_0x5458c0[_0x660c('0x49')][_0x660c('0x4c')](_0x660c('0x4d'))){_0x473985[_0x660c('0x2f')]=qs[_0x660c('0x2f')](_0x5458c0[_0x660c('0x49')][_0x660c('0x2f')]);_0x473985[_0x660c('0x2e')]=qs['offset'](_0x5458c0[_0x660c('0x49')][_0x660c('0x2e')]);}_0x473985[_0x660c('0x4e')]=qs[_0x660c('0x4f')](_0x5458c0[_0x660c('0x49')][_0x660c('0x4f')]);_0x473985[_0x660c('0x50')]=qs['filters'](_[_0x660c('0x51')](_0x5458c0[_0x660c('0x49')],_0x124244[_0x660c('0x52')]),_0xfc3431);var _0x118335=[];var _0xff0421=squel[_0x660c('0x53')]()[_0x660c('0x54')]('id')[_0x660c('0x54')]('name')['field'](_0x660c('0x55'))[_0x660c('0x56')](_0x660c('0x57'));var _0x448959=squel[_0x660c('0x53')]()[_0x660c('0x54')]('u.id')['field'](_0x660c('0x58'))[_0x660c('0x54')](_0x660c('0x59'))[_0x660c('0x56')](_0x660c('0x5a'),'ui')[_0x660c('0x5b')](_0x660c('0x5c'),'u',_0x660c('0x5d'));var _0x2b2992=squel['select']()[_0x660c('0x56')]('chat_interactions','i')[_0x660c('0x5b')]('cm_contacts','c',_0x660c('0x5e'))[_0x660c('0x5b')](_0x660c('0x5c'),'o','o.id\x20=\x20i.UserId')[_0x660c('0x5b')](_0x660c('0x5f'),'a',_0x660c('0x60'))[_0x660c('0x5b')](_0x660c('0x61'),'me',_0x660c('0x62'))['left_join'](_0x660c('0x63'),'it','it.ChatInteractionId\x20=\x20i.id')['left_join'](_0x660c('0x57'),'t','t.id\x20=\x20it.TagId');var _0x523b53=squel[_0x660c('0x64')]();var _0x211848=[];var _0x443fff=squel['expr']();var _0x409bdf;if(_0x5458c0[_0x660c('0x49')][_0x660c('0x65')]){_0x409bdf=as['parseSearch'](_0x5458c0['query'][_0x660c('0x65')]);var _0x54d6fe=_0x409bdf[_0x660c('0x66')];for(var _0x6d3c73=0x0;_0x6d3c73<_0x409bdf[_0x660c('0x67')]['length'];_0x6d3c73++){var _0x1c697c=_0x409bdf[_0x660c('0x67')][_0x6d3c73];var _0xe7e187='i';var _0x1eaf75=_['find'](_0xfc3431,[_0x660c('0x37'),_0x1c697c['field']]);if(!_0x1eaf75){switch(_0x1c697c[_0x660c('0x54')]){case _0x660c('0x68'):if(_0x1c697c[_0x660c('0x69')]==0x1){_0x2b2992['having']('`'+_0x1c697c[_0x660c('0x54')]+_0x660c('0x6a'));}else{_0x2b2992[_0x660c('0x6b')]('`'+_0x1c697c[_0x660c('0x54')]+_0x660c('0x6c'));}break;case _0x660c('0x6d'):if(_0x1c697c[_0x660c('0x6e')]===_0x660c('0x6f')){if(_0x1c697c[_0x660c('0x69')][_0x660c('0x3e')]('\x20')[_0x660c('0x4b')]>0x1){_0x523b53[_0x54d6fe]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x660c('0x70')](_0x1c697c[_0x660c('0x69')]),null);}else{var _0x29850b='%'+_0x1c697c['value']+'%';_0x523b53[_0x54d6fe](_0x660c('0x71'),_0x29850b,_0x29850b,_0x29850b);}}else{_0x1eaf75=_[_0x660c('0x72')](_0xfc3431,[_0x660c('0x37'),_0x660c('0x73')]);_0x1c697c[_0x660c('0x54')]=_0x660c('0x73');_0xa6d48a=as[_0x660c('0x74')](_0xe7e187,_0x1eaf75['type'],_0x1c697c);_0x523b53[_0x54d6fe](_0xa6d48a[_0x660c('0x75')],_0xa6d48a[_0x660c('0x69')]['start'],_0xa6d48a['value'][_0x660c('0x35')]);}break;case'Tag':var _0x425210=_0x1c697c[_0x660c('0x69')]['split'](',')[_0x660c('0x3a')](function(_0x3838e1){return Number(_0x3838e1);});_0x425210[_0x660c('0x3f')](function(_0x99b20e){_0x443fff['or'](_0x660c('0x76'),'%,'+_0x99b20e+',%');});_0x211848=_[_0x660c('0x77')](_0x211848,_0x425210);break;case _0x660c('0x78'):if(_0x1c697c['operator']===_0x660c('0x6f')){_0x523b53[_0x54d6fe](_0x660c('0x79'),'%'+_0x1c697c['value']+'%',null);}else{_0x1eaf75=_[_0x660c('0x72')](_0xfc3431,[_0x660c('0x37'),_0x660c('0x7a')]);_0x1c697c[_0x660c('0x54')]=_0x660c('0x7a');_0xa6d48a=as['buildExpression'](_0xe7e187,_0x1eaf75[_0x660c('0x44')],_0x1c697c);_0x523b53[_0x54d6fe](_0xa6d48a['text'],_0xa6d48a['value']['start'],_0xa6d48a[_0x660c('0x69')][_0x660c('0x35')]);}break;case _0x660c('0x7b'):_0xa6d48a=as[_0x660c('0x74')]('me',null,_0x1c697c);_0x523b53[_0x54d6fe](_0xa6d48a[_0x660c('0x75')],_0xa6d48a[_0x660c('0x69')]['start'],_0xa6d48a['value']['end']);break;}}else{var _0xa6d48a=as[_0x660c('0x74')](_0xe7e187,_0x1eaf75[_0x660c('0x44')],_0x1c697c);_0x523b53[_0x54d6fe](_0xa6d48a[_0x660c('0x75')],_0xa6d48a[_0x660c('0x69')]['start'],_0xa6d48a[_0x660c('0x69')]['end']);}}}else{var _0x667c3=_(_0x5458c0[_0x660c('0x49')])[_0x660c('0x47')]()[_0x660c('0x3a')](function(_0x40152c){return _[_0x660c('0x7c')](_0xfc3431,[_0x660c('0x37'),_0x40152c])?_0x40152c:undefined;})['compact']()['value']();if(!_[_0x660c('0x7d')](_0x667c3)){_0x667c3['forEach'](function(_0x329e80){if(_0x329e80===_0x660c('0x7e')){_0x2b2992[_0x660c('0x50')](_0x660c('0x7f'),[]['concat'](_0x5458c0['query'][_0x329e80]));}else if(_0x329e80===_0x660c('0x80')){var _0x291fac=JSON['parse'](_0x5458c0[_0x660c('0x49')][_0x329e80])[_0x660c('0x81')];var _0x45440a=JSON[_0x660c('0x82')](_0x5458c0[_0x660c('0x49')][_0x329e80])[_0x660c('0x83')];_0x2b2992[_0x660c('0x50')](_0x660c('0x84'),_0x291fac,_0x45440a);}else{if(_0x5458c0[_0x660c('0x49')][_0x329e80]==='null'){_0x2b2992[_0x660c('0x50')]('i.'+_0x329e80+'\x20IS\x20NULL');}else{_0x2b2992[_0x660c('0x50')]('i.'+_0x329e80+'\x20=\x20?',_0x5458c0[_0x660c('0x49')][_0x329e80]);}}});}if(_0x5458c0[_0x660c('0x49')][_0x660c('0x85')]){if(_0x5458c0[_0x660c('0x49')][_0x660c('0x85')]==0x1){_0x2b2992[_0x660c('0x6b')](_0x660c('0x86'));}else{_0x2b2992[_0x660c('0x6b')]('`unreadMessages`\x20>\x200');}}if(_0x5458c0[_0x660c('0x49')][_0x660c('0x87')]){_0x211848=_['isArray'](_0x5458c0[_0x660c('0x49')][_0x660c('0x87')])?_0x5458c0[_0x660c('0x49')]['tag']:new Array(_0x5458c0['query'][_0x660c('0x87')]);_0x211848[_0x660c('0x3f')](function(_0x3f56ac){_0x443fff['or'](_0x660c('0x76'),'%,'+_0x3f56ac+',%');});}if(_0x5458c0['query'][_0x660c('0x88')]){var _0x4a203d=_0x5458c0[_0x660c('0x49')][_0x660c('0x88')]['replace']('\x5c','\x5c\x5c')[_0x660c('0x89')](/'/g,'\x27\x27');if(qs[_0x660c('0x8a')](_0x4a203d)){_0x523b53['or'](_0x660c('0x8b'),_0x4a203d+'%');}else{_0x523b53['or'](_0x660c('0x8c'),qs['getFullTextValue'](_0x4a203d))['or'](_0x660c('0x8d'),_0x4a203d+'%');}}}_0x2b2992[_0x660c('0x50')](_0x523b53);_0x2b2992['group'](_0x660c('0x8e'));var _0x64c4e8={'type':db[_0x660c('0x8f')][_0x660c('0x90')][_0x660c('0x91')],'raw':!![]};var _0x2ed82b=_0x2b2992['clone']();_0x2ed82b[_0x660c('0x54')](_0x660c('0x8e'));_0x2ed82b[_0x660c('0x54')](_0x660c('0x92'),_0x660c('0x68'));if(_0x473985[_0x660c('0x4e')]){_0x473985[_0x660c('0x4e')][_0x660c('0x3f')](function(_0x493abb){var _0x259e00=_0x493abb[0x0]==='contactName'?_0x493abb[0x0]:'i.'+_0x493abb[0x0];_0x2b2992['order'](_0x259e00,_0x493abb[0x1]===_0x660c('0x93')?![]:!![]);});}if(!_[_0x660c('0x7d')](_0x211848)){_0x2b2992[_0x660c('0x6b')](_0x443fff);_0x2ed82b[_0x660c('0x50')](_0x660c('0x94'),_0x211848);}BPromise[_0x660c('0x95')]()['then'](function(){if(!_0x409bdf){if(_0x5458c0[_0x660c('0x49')]['ChatWebsiteId'])return;_0x2ed82b[_0x660c('0x50')](_0x660c('0x96'));_0x2b2992[_0x660c('0x50')](_0x660c('0x96'));return;}if(_0x5458c0[_0x660c('0x97')][_0x660c('0x98')]!=='agent')return;return _0x5458c0['user'][_0x660c('0x99')]({'attributes':['id'],'raw':!![]})['then'](function(_0x13f050){if(_[_0x660c('0x7d')](_0x13f050)){_0x2ed82b[_0x660c('0x50')]('i.ChatWebsiteId\x20IS\x20NULL');_0x2b2992[_0x660c('0x50')](_0x660c('0x9a'));}else{_0x2ed82b['where']('i.ChatWebsiteId\x20IN\x20?',_[_0x660c('0x3a')](_0x13f050,'id'));_0x2b2992[_0x660c('0x50')](_0x660c('0x7f'),_[_0x660c('0x3a')](_0x13f050,'id'));}});})[_0x660c('0x34')](function(){if(_0x5458c0[_0x660c('0x97')][_0x660c('0x98')]===_0x660c('0x9b')&&!_0x409bdf&&!_0x5458c0[_0x660c('0x49')]['ChatWebsiteId'])return[];return db[_0x660c('0x9c')]['query'](_0x2ed82b['toString'](),_0x64c4e8);})[_0x660c('0x34')](function(_0x4f5873){_0x11697e['count']=_0x4f5873[_0x660c('0x4b')];if(_0x11697e[_0x660c('0x2d')]===0x0)return[];return db['sequelize']['query'](_0xff0421[_0x660c('0x9d')](),_0x64c4e8)[_0x660c('0x34')](function(_0x1178cd){_0x118335=_['keyBy'](_0x1178cd,'id');_0x64c4e8=_[_0x660c('0x9e')](_0x64c4e8,{'model':db[_0x660c('0x42')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5458c0['query'][_0x660c('0x4a')]){_0x473985[_0x660c('0x9f')]['forEach'](function(_0x3d2c4c){_0x2b2992['field']('i.'+_0x3d2c4c);});}else{_0x2b2992[_0x660c('0x54')](_0x660c('0x92'),_0x660c('0x68'));_0x2b2992[_0x660c('0x54')](_0x660c('0xa0'),_0x660c('0xa1'));_0x2b2992[_0x660c('0x54')](_0x660c('0xa2'),_0x660c('0xa3'));_0x2b2992[_0x660c('0x54')](_0x660c('0xa4'),_0x660c('0xa5'));_0x2b2992[_0x660c('0x54')]('i.*');_0x2b2992[_0x660c('0x54')]('c.firstName',_0x660c('0xa6'));_0x2b2992[_0x660c('0x54')](_0x660c('0xa7'),_0x660c('0xa8'));_0x2b2992[_0x660c('0x54')]('c.email','Contact.email');_0x2b2992[_0x660c('0x54')](_0x660c('0xa9'),_0x660c('0xaa'));_0x2b2992[_0x660c('0x54')](_0x660c('0xab'),'Contact.mobile');_0x2b2992[_0x660c('0x54')]('c.fax',_0x660c('0xac'));_0x2b2992[_0x660c('0x54')]('o.fullname',_0x660c('0xad'));_0x2b2992[_0x660c('0x54')](_0x660c('0xae'),_0x660c('0xaf'));_0x2b2992[_0x660c('0x54')](_0x660c('0xb0'),'TagIds');}if(_0x473985[_0x660c('0x2f')])_0x2b2992[_0x660c('0x2f')](_0x473985[_0x660c('0x2f')]);if(_0x473985['offset'])_0x2b2992[_0x660c('0x2e')](_0x473985[_0x660c('0x2e')]);return db[_0x660c('0x9c')][_0x660c('0x49')](_0x2b2992[_0x660c('0x9d')](),_0x64c4e8);})['then'](function(_0x5a18b8){_0x448959[_0x660c('0x50')](_0x660c('0xb1'),_[_0x660c('0x3a')](_0x5a18b8,'id'));return db[_0x660c('0x9c')]['query'](_0x448959[_0x660c('0x9d')](),_0x64c4e8)[_0x660c('0x34')](function(_0x54037d){var _0x18b8fe=_['groupBy'](_0x54037d,'ChatInteractionId');var _0x3e3377=[];_0x5a18b8['forEach'](function(_0x3e59d2){_0x3e3377['push'](updateChatInteraction(_0x3e59d2,_0x118335,_0x18b8fe));});return BPromise[_0x660c('0xb2')](_0x3e3377);});});})['then'](function(_0x377a7f){_0x11697e[_0x660c('0xb3')]=_0x377a7f;return _0x11697e;})[_0x660c('0x34')](respondWithFilteredResult(_0x5e24b0,_0x473985))[_0x660c('0x2a')](handleError(_0x5e24b0,null));};exports[_0x660c('0xb4')]=function(_0x189a4c,_0x4fc967){var _0x2fc376={'raw':![],'where':{'id':_0x189a4c[_0x660c('0xb5')]['id']}},_0x1ea594={};_0x1ea594[_0x660c('0x46')]=_[_0x660c('0x47')](db['ChatInteraction'][_0x660c('0x43')]);_0x1ea594['query']=_['keys'](_0x189a4c[_0x660c('0x49')]);_0x1ea594[_0x660c('0x52')]=_[_0x660c('0x48')](_0x1ea594['model'],_0x1ea594[_0x660c('0x49')]);_0x2fc376[_0x660c('0x9f')]=_[_0x660c('0x48')](_0x1ea594['model'],qs['fields'](_0x189a4c[_0x660c('0x49')]['fields']));_0x2fc376[_0x660c('0x9f')]=_0x2fc376[_0x660c('0x9f')][_0x660c('0x4b')]?_0x2fc376['attributes']:_0x1ea594[_0x660c('0x46')];if(_0x189a4c[_0x660c('0x49')][_0x660c('0xb6')]){_0x2fc376[_0x660c('0xb7')]=[{'all':!![]}];}_0x2fc376=_[_0x660c('0x9e')]({},_0x2fc376,_0x189a4c['options']);return db[_0x660c('0x42')]['find'](_0x2fc376)['then'](handleEntityNotFound(_0x4fc967,null))[_0x660c('0x34')](respondWithResult(_0x4fc967,null))[_0x660c('0x2a')](handleError(_0x4fc967,null));};exports[_0x660c('0xb8')]=function(_0x2a42f2,_0x3fa069){return db[_0x660c('0x42')]['create'](_0x2a42f2[_0x660c('0x7b')],{})[_0x660c('0x34')](respondWithResult(_0x3fa069,0xc9))[_0x660c('0x2a')](handleError(_0x3fa069,null));};exports[_0x660c('0xb9')]=function(_0x56efc7,_0x53b205){if(_0x56efc7[_0x660c('0x7b')]['id']){delete _0x56efc7[_0x660c('0x7b')]['id'];}return db[_0x660c('0x42')][_0x660c('0x72')]({'where':{'id':_0x56efc7[_0x660c('0xb5')]['id']}})[_0x660c('0x34')](handleEntityNotFound(_0x53b205,null))[_0x660c('0x34')](saveUpdates(_0x56efc7[_0x660c('0x7b')],null))['then'](respondWithResult(_0x53b205,null))[_0x660c('0x2a')](handleError(_0x53b205,null));};exports[_0x660c('0xba')]=function(_0x26d935,_0x37c36a){return db[_0x660c('0x42')][_0x660c('0x72')]({'where':{'id':_0x26d935[_0x660c('0xb5')]['id']}})[_0x660c('0x34')](handleEntityNotFound(_0x37c36a,null))['then'](removeEntity(_0x37c36a,null))[_0x660c('0x2a')](handleError(_0x37c36a,null));};exports[_0x660c('0xbb')]=function(_0x372f37,_0x3968ae){return db[_0x660c('0x42')]['describe']()[_0x660c('0x34')](respondWithResult(_0x3968ae,null))[_0x660c('0x2a')](handleError(_0x3968ae,null));};exports[_0x660c('0xbc')]=function(_0x52a571,_0x72868c){var _0x37a246=_0x52a571[_0x660c('0xb5')]['id'];var _0x3c526b;var _0x5f4ec9;var _0x229f14;return db[_0x660c('0x42')][_0x660c('0xbd')]({'where':{'id':_0x37a246}})[_0x660c('0x34')](function(_0x1102a7){_0x3c526b=_0x1102a7;return db['ChatWebsite'][_0x660c('0xbd')]({'where':{'id':_0x1102a7[_0x660c('0x7e')]},'attributes':['id','vidaooApiKey',_0x660c('0xbe')],'raw':!![]});})['then'](function(_0x5ee77e){if(_0x5ee77e&&_0x5ee77e[_0x660c('0xbf')]&&_0x5ee77e[_0x660c('0xbe')]){_0x5f4ec9=_0x5ee77e;var _0x392ed8={'rejectUnauthorized':![],'method':'POST','uri':_0x660c('0xc0'),'headers':{'X-APIKEY':_0x5ee77e[_0x660c('0xbf')]},'body':{'name':'MotionCWB:'+_0x37a246},'redirect':'follow','json':!![]};return rp(_0x392ed8);}else{throw new db['Sequelize'][(_0x660c('0xc1'))](_0x660c('0xc2'));}})[_0x660c('0x34')](function(_0xb7318f){_0x229f14=_0xb7318f;if(_0x229f14['id']){var _0x49138f={'body':_0x229f14[_0x660c('0xc3')],'ChatWebsiteId':_0x5f4ec9['id'],'ChatInteractionId':_0x3c526b['id'],'direction':_0x660c('0xc4'),'UserId':_0x52a571[_0x660c('0x97')]['id']};return db['ChatMessage'][_0x660c('0xb8')](_0x49138f,{});}else{throw new db[(_0x660c('0x8f'))][(_0x660c('0xc1'))](_0x660c('0xc5'));}})[_0x660c('0x34')](function(){return _0x3c526b['updateAttributes']({'vidaooSessionId':_0x229f14['id']});})[_0x660c('0x34')](respondWithResult(_0x72868c,null))[_0x660c('0x2a')](handleError(_0x72868c,null));};exports[_0x660c('0xc6')]=function(_0x43739d,_0x2b7c5f){if(_0x43739d['body']['id']){delete _0x43739d[_0x660c('0x7b')]['id'];}return db[_0x660c('0x42')]['find']({'where':{'id':_0x43739d[_0x660c('0xb5')]['id']},'include':[{'model':db['CmContact'],'as':_0x660c('0x6d')}]})[_0x660c('0x34')](handleEntityNotFound(_0x2b7c5f,null))[_0x660c('0x34')](saveUpdates(_0x43739d[_0x660c('0x7b')],null))[_0x660c('0x34')](respondWithResult(_0x2b7c5f,null))[_0x660c('0x2a')](handleError(_0x2b7c5f,null));};exports[_0x660c('0xc7')]=function(_0x3d1070,_0x15f6fa,_0x1d992d){if(_0x3d1070[_0x660c('0x7b')]['id']){delete _0x3d1070['body']['id'];}return db[_0x660c('0x42')][_0x660c('0x72')]({'where':{'id':_0x3d1070['params']['id']}})[_0x660c('0x34')](function(_0x4d82d0){if(!_0x4d82d0){logger[_0x660c('0x28')](_0x660c('0xc8'),_0x660c('0xc7'),0x194,_0x660c('0xc9'));_0x15f6fa['sendStatus'](0x194);}else{if(_0x4d82d0['UserId']){throw new db[(_0x660c('0x8f'))][(_0x660c('0xc1'))](_0x660c('0xca'));}}return _0x4d82d0;})[_0x660c('0x34')](function(_0x498316){if(_0x498316){return _0x498316[_0x660c('0xb9')]({'closed':_0x3d1070[_0x660c('0x7b')][_0x660c('0xcb')],'disposition':_0x3d1070[_0x660c('0x7b')]['disposition']})[_0x660c('0x34')](function(_0x52fc62){return _0x52fc62;});}})[_0x660c('0x34')](function(_0x45f012){return respondWithRpcPromise(_0x660c('0xcc'),'abandon',_0x3d1070[_0x660c('0x7b')],client9004);})[_0x660c('0x34')](respondWithResult(_0x15f6fa,null))[_0x660c('0x2a')](handleError(_0x15f6fa,null));};exports[_0x660c('0xcd')]=function(_0x3415ac,_0x5b4b2c,_0x5d3b17){_0x3415ac[_0x660c('0x7b')]['name']=_0x3415ac[_0x660c('0xce')][_0x660c('0xcf')];_0x3415ac[_0x660c('0x7b')]['basename']=_0x3415ac[_0x660c('0xce')][_0x660c('0xd0')];_0x3415ac['body']['type']=_0x3415ac[_0x660c('0xce')][_0x660c('0xd1')];return db[_0x660c('0xd2')]['create'](_0x3415ac[_0x660c('0x7b')])['then'](respondWithResult(_0x5b4b2c,0xc9))[_0x660c('0x2a')](handleError(_0x5b4b2c,null));};exports[_0x660c('0xd3')]=function(_0xbe4d7d,_0x359b98,_0x3d9c44){return db[_0x660c('0x42')][_0x660c('0xbd')]({'where':{'id':_0xbe4d7d[_0x660c('0xb5')]['id']},'raw':!![]})[_0x660c('0x34')](handleEntityNotFound(_0x359b98,null))[_0x660c('0x34')](function(_0x4e8c8c){if(_0x4e8c8c){if(_0x4e8c8c[_0x660c('0xcb')]){return _0x359b98['status'](0x193)[_0x660c('0xd4')]({'status':0x193,'message':_0x660c('0xd5')});}return db[_0x660c('0xd2')][_0x660c('0xbd')]({'where':{'id':_0xbe4d7d['query'][_0x660c('0xd6')]},'raw':!![]})[_0x660c('0x34')](handleEntityNotFound(_0x359b98,null));}})[_0x660c('0x34')](function(_0x4b7db4){if(_0x4b7db4){return _0x359b98[_0x660c('0xd7')](path[_0x660c('0xd8')](config[_0x660c('0xd9')],_0x660c('0xda'),_0x4b7db4[_0x660c('0xdb')]));}})[_0x660c('0x2a')](handleError(_0x359b98,null));};exports['close']=function(_0x1ab246,_0xadb146){var _0xe7fd0b=null;var _0x31cd5a=null;var _0x412710=null;var _0x35121e=null;if(_0x1ab246['body']['id']){delete _0x1ab246['body']['id'];}if(_0x1ab246[_0x660c('0x7b')][_0x660c('0xdc')]){_0x35121e=path[_0x660c('0xd8')](config[_0x660c('0xd9')],'server/files/chat/upload/',util[_0x660c('0xdd')](_0x660c('0xde'),Date[_0x660c('0xdf')]()));_0x1ab246[_0x660c('0x7b')][_0x660c('0xe0')]=_0x35121e;}return db[_0x660c('0x42')][_0x660c('0x72')]({'where':{'id':_0x1ab246['params']['id']},'include':[{'model':db['ChatMessage'],'as':_0x660c('0xe1'),'include':[{'model':db[_0x660c('0x78')],'as':'User'}]}]})[_0x660c('0x34')](handleEntityNotFound(_0xadb146,null))[_0x660c('0x34')](saveUpdates(_0x1ab246[_0x660c('0x7b')],null))['then'](function(_0x5c33e7){if(_0x5c33e7){_0xe7fd0b=_0x5c33e7;return db['ChatWebsite']['find']({'where':{'id':_0xe7fd0b[_0x660c('0x7e')]}});}})[_0x660c('0x34')](function(_0x1f50a1){if(_0x1f50a1){_0x412710=_0x1f50a1;return db[_0x660c('0xe2')]['find']({'where':{'id':_0xe7fd0b[_0x660c('0x73')]}});}})[_0x660c('0x34')](function(_0x508b7a){if(_0x508b7a){_0x31cd5a=_0x508b7a;if(_0x35121e){var _0x1fa9b7=null;for(var _0x2fdf7c=0x1;_0x2fdf7c<_0xe7fd0b[_0x660c('0xe1')][_0x660c('0x4b')];++_0x2fdf7c){_0x1fa9b7=_0xe7fd0b[_0x660c('0xe1')][_0x2fdf7c];var _0x51ec2b=_0x1fa9b7[_0x660c('0x7a')]?util[_0x660c('0xdd')](_0x660c('0xe3'),_0x412710[_0x660c('0xe4')],_0x1fa9b7[_0x660c('0x7a')]):_0x660c('0xe5');var _0x2b6d0f=_0x1ab246[_0x660c('0x7b')]['customer']||util[_0x660c('0xdd')](_0x660c('0xe3'),_0x660c('0xe6'),_0x1fa9b7[_0x660c('0x73')]);switch(_0x412710[_0x660c('0xe7')]){case _0x660c('0xe8'):_0x51ec2b=_0x1fa9b7['UserId']?util['format'](_0x660c('0xe3'),_0x412710[_0x660c('0xe4')],_0x1fa9b7[_0x660c('0x7a')]):_0x660c('0xe5');break;case _0x660c('0xe9'):_0x51ec2b=_0x1fa9b7[_0x660c('0x7a')]?_0x1fa9b7['User'][_0x660c('0xea')]||_0x1fa9b7[_0x660c('0x78')][_0x660c('0x3b')]:_0x660c('0xe5');break;case _0x660c('0xeb'):_0x51ec2b=_0x1fa9b7[_0x660c('0x7a')]?_0x1fa9b7[_0x660c('0x78')]['fullname']:_0x660c('0xe5');break;default:_0x51ec2b=_0x1fa9b7['UserId']?util[_0x660c('0xdd')]('%s%d',_0x412710[_0x660c('0xe4')],_0x1fa9b7[_0x660c('0x7a')]):'System';}var _0x55915e=util[_0x660c('0xdd')](_0x660c('0xec'),moment(_0x1fa9b7[_0x660c('0x80')])[_0x660c('0xdd')](_0x660c('0xed')),_0x1fa9b7[_0x660c('0xee')]==='in'?_0x2b6d0f:_0x51ec2b,_0x1fa9b7['body']);if(!_0x1fa9b7[_0x660c('0xef')]){fs['appendFileSync'](_0x35121e,_0x55915e);}}return db[_0x660c('0xf0')][_0x660c('0xbd')]({'where':{'service':!![]},'include':[{'model':db[_0x660c('0xf1')],'as':'Smtp','raw':!![]}]});}}})[_0x660c('0x34')](function(_0x1d63f8){if(_0x1d63f8&&_0x1d63f8[_0x660c('0xf2')]&&_0x1ab246[_0x660c('0x7b')]){var _0x2c88c6={'tls':{'rejectUnauthorized':![]}};if(_0x1d63f8['Smtp'][_0x660c('0xf3')]){_0x2c88c6[_0x660c('0xf3')]=_0x1d63f8['Smtp'][_0x660c('0xf3')];}else{_0x2c88c6['host']=_0x1d63f8[_0x660c('0xf2')][_0x660c('0xf4')];_0x2c88c6[_0x660c('0xf5')]=_0x1d63f8[_0x660c('0xf2')][_0x660c('0xf5')];_0x2c88c6['secure']=_0x1d63f8['Smtp'][_0x660c('0xf6')];}if(_0x1d63f8[_0x660c('0xf2')][_0x660c('0xf7')]){_0x2c88c6[_0x660c('0xf8')]={'user':_0x1d63f8[_0x660c('0xf2')][_0x660c('0x97')],'pass':_0x1d63f8[_0x660c('0xf2')][_0x660c('0xf9')]};}return respondWithRpcPromise('SendMail',_0x660c('0xfa'),{'account':_0x2c88c6,'message':{'from':util[_0x660c('0xdd')](_0x660c('0xfb'),_0x1d63f8[_0x660c('0x37')],_0x1d63f8['email']||_0x1d63f8[_0x660c('0xf2')][_0x660c('0x97')]),'to':_0x1ab246[_0x660c('0x7b')]['mailTranscript'],'subject':_0x660c('0xfc'),'text':util[_0x660c('0xdd')](_0x660c('0xfd'),_0x1ab246[_0x660c('0x7b')][_0x660c('0xdc')]),'attachments':[{'path':_0x35121e}]}})[_0x660c('0x34')](function(){return _0xe7fd0b;})[_0x660c('0x2a')](function(_0x293a27){console[_0x660c('0x28')](_0x293a27);});}else{return _0xe7fd0b;}})[_0x660c('0x34')](respondWithStatusCode(_0xadb146,0xc8))[_0x660c('0x2a')](handleError(_0xadb146,null));};exports[_0x660c('0xfe')]=function(_0x2dc2e8,_0x532212,_0x500817){return db[_0x660c('0xff')][_0x660c('0x72')]({'where':{'id':_0x2dc2e8[_0x660c('0xb5')]['id']}})[_0x660c('0x34')](handleEntityNotFound(_0x532212,null))[_0x660c('0x34')](function(_0x2e3cdb){if(_0x2e3cdb){return _0x2e3cdb[_0x660c('0xfe')](_0x2dc2e8[_0x660c('0x7b')]['ids'],_[_0x660c('0x100')](_0x2dc2e8[_0x660c('0x7b')],[_0x660c('0x101'),'id'])||{});}})[_0x660c('0x34')](respondWithResult(_0x532212,null))['catch'](handleError(_0x532212,null));};exports[_0x660c('0x102')]=function(_0x48252a,_0x4141d9,_0x2d7549){var _0x13f012={'raw':![],'where':{}};var _0x2abf2c={};var _0x2b0bd6={'count':0x0,'rows':[]};return db[_0x660c('0x42')][_0x660c('0xbd')]({'where':{'id':_0x48252a[_0x660c('0xb5')]['id']}})['then'](handleEntityNotFound(_0x4141d9,null))[_0x660c('0x34')](function(_0x292c81){if(_0x292c81){_0x2abf2c[_0x660c('0x46')]=_['keys'](db[_0x660c('0xff')][_0x660c('0x43')]);_0x2abf2c['query']=_[_0x660c('0x47')](_0x48252a[_0x660c('0x49')]);_0x2abf2c['filters']=_[_0x660c('0x48')](_0x2abf2c[_0x660c('0x46')],_0x2abf2c[_0x660c('0x49')]);_0x13f012['attributes']=_[_0x660c('0x48')](_0x2abf2c[_0x660c('0x46')],qs[_0x660c('0x4a')](_0x48252a[_0x660c('0x49')][_0x660c('0x4a')]));_0x13f012[_0x660c('0x9f')]=_0x13f012[_0x660c('0x9f')][_0x660c('0x4b')]?_0x13f012[_0x660c('0x9f')]:_0x2abf2c[_0x660c('0x46')];if(!_0x48252a[_0x660c('0x49')][_0x660c('0x4c')](_0x660c('0x4d'))){_0x13f012['limit']=qs[_0x660c('0x2f')](_0x48252a[_0x660c('0x49')]['limit']);_0x13f012['offset']=qs['offset'](_0x48252a[_0x660c('0x49')][_0x660c('0x2e')]);}_0x13f012['order']=qs[_0x660c('0x4f')](_0x48252a[_0x660c('0x49')][_0x660c('0x4f')]);_0x13f012['where']=qs[_0x660c('0x52')](_[_0x660c('0x51')](_0x48252a[_0x660c('0x49')],_0x2abf2c['filters']));_0x13f012[_0x660c('0x50')]['ChatInteractionId']=_0x292c81['id'];if(_0x48252a['query'][_0x660c('0x88')]){_0x13f012['where']=_['merge'](_0x13f012[_0x660c('0x50')],{'$or':_[_0x660c('0x3a')](_0x13f012[_0x660c('0x9f')],function(_0x3e74b2){var _0x3e9980={};_0x3e9980[_0x3e74b2]={'$like':'%'+_0x48252a[_0x660c('0x49')]['filter']+'%'};return _0x3e9980;})});}if(_0x48252a[_0x660c('0x49')][_0x660c('0x81')]){var _0x27d9a6=_0x48252a['query'][_0x660c('0x81')][_0x660c('0x3e')](',');var _0x137fba={};_0x137fba[_0x27d9a6[0x0]]={'$gte':moment(_0x27d9a6[0x1])['format'](_0x660c('0x103'))};_0x13f012['where']=_[_0x660c('0x9e')](_0x13f012[_0x660c('0x50')],_0x137fba);}_0x13f012=_['merge']({},_0x13f012,_0x48252a[_0x660c('0x104')]);return db[_0x660c('0xff')][_0x660c('0x2d')]({'where':_0x13f012['where']})['then'](function(_0x4e7283){_0x2b0bd6[_0x660c('0x2d')]=_0x4e7283;if(_0x48252a[_0x660c('0x49')][_0x660c('0xb6')]){_0x13f012[_0x660c('0xb7')]=[{'all':!![]}];}return db[_0x660c('0xff')][_0x660c('0x105')](_0x13f012);})[_0x660c('0x34')](function(_0x1a7167){_0x2b0bd6[_0x660c('0xb3')]=_0x1a7167;return _0x2b0bd6;});}})[_0x660c('0x34')](respondWithFilteredResult(_0x4141d9,_0x13f012))[_0x660c('0x2a')](handleError(_0x4141d9,null));};exports[_0x660c('0x106')]=function(_0xb68743,_0x4b5069,_0x1b6e71){var _0x5f4521={'where':{}},_0x5b59b0={},_0x3b4c71={'count':0x0,'rows':[]};return db[_0x660c('0x42')]['findOne']({'where':{'id':_0xb68743[_0x660c('0xb5')]['id']}})[_0x660c('0x34')](handleEntityNotFound(_0x4b5069,null))[_0x660c('0x34')](function(_0xd230e1){if(_0xd230e1){_0x5b59b0[_0x660c('0x46')]=_[_0x660c('0x47')](db[_0x660c('0xff')][_0x660c('0x43')]);_0x5b59b0[_0x660c('0x49')]=_[_0x660c('0x47')](_0xb68743['query']);_0x5b59b0[_0x660c('0x52')]=_[_0x660c('0x48')](_0x5b59b0[_0x660c('0x46')],_0x5b59b0[_0x660c('0x49')]);_0x5f4521[_0x660c('0x9f')]=_[_0x660c('0x48')](_0x5b59b0[_0x660c('0x46')],qs[_0x660c('0x4a')](_0xb68743[_0x660c('0x49')][_0x660c('0x4a')]));_0x5f4521[_0x660c('0x9f')]=_0x5f4521[_0x660c('0x9f')][_0x660c('0x4b')]?_0x5f4521[_0x660c('0x9f')]:_0x5b59b0[_0x660c('0x46')];if(!_0xb68743[_0x660c('0x49')][_0x660c('0x4c')]('nolimit')){_0x5f4521[_0x660c('0x2f')]=qs[_0x660c('0x2f')](_0xb68743[_0x660c('0x49')][_0x660c('0x2f')]);_0x5f4521[_0x660c('0x2e')]=qs[_0x660c('0x2e')](_0xb68743['query']['offset']);}_0x5f4521[_0x660c('0x4e')]=qs[_0x660c('0x4f')](_0xb68743[_0x660c('0x49')][_0x660c('0x4f')]);_0x5f4521[_0x660c('0x50')]=qs[_0x660c('0x52')](_[_0x660c('0x51')](_0xb68743[_0x660c('0x49')],_0x5b59b0[_0x660c('0x52')]));_0x5f4521['where']['ChatInteractionId']=_0xd230e1['id'];if(_0xb68743[_0x660c('0x49')][_0x660c('0x88')]){_0x5f4521['where']=_['merge'](_0x5f4521[_0x660c('0x50')],{'$or':_[_0x660c('0x3a')](_0x5f4521[_0x660c('0x9f')],function(_0x61dc23){var _0x435b59={};_0x435b59[_0x61dc23]={'$like':'%'+_0xb68743[_0x660c('0x49')][_0x660c('0x88')]+'%'};return _0x435b59;})});}_0x5f4521[_0x660c('0x50')][_0x660c('0xef')]=![];if(_0xb68743[_0x660c('0x49')]['id']){_0x5f4521['where']['id']={'$gt':_0xb68743[_0x660c('0x49')]['id']};}_0x5f4521=_['merge']({},_0x5f4521,_0xb68743['options']);return db['ChatMessage'][_0x660c('0x2d')]({'where':_0x5f4521[_0x660c('0x50')]})[_0x660c('0x34')](function(_0x5857c9){_0x3b4c71[_0x660c('0x2d')]=_0x5857c9;_0x5f4521[_0x660c('0xb7')]=[];if(_0xb68743['query'][_0x660c('0x107')]){_0x5f4521[_0x660c('0xb7')][_0x660c('0x40')]({'model':db['User'],'as':_0x660c('0x78'),'attributes':['id','fullname',_0x660c('0xea')]});}if(_0xb68743[_0x660c('0x49')][_0x660c('0xb6')]){_0x5f4521['include']=[{'all':!![]}];}return db[_0x660c('0xff')][_0x660c('0x105')](_0x5f4521);})[_0x660c('0x34')](function(_0x553c34){_0x3b4c71[_0x660c('0xb3')]=_0x553c34;return _0x3b4c71;});}})[_0x660c('0x34')](respondWithFilteredResult(_0x4b5069,_0x5f4521))[_0x660c('0x2a')](handleError(_0x4b5069,null));};exports['addTags']=function(_0x2871c3,_0x28b1a0,_0x815003){return db[_0x660c('0x42')][_0x660c('0x72')]({'where':{'id':_0x2871c3['params']['id']}})['then'](handleEntityNotFound(_0x28b1a0,null))[_0x660c('0x34')](function(_0x55a13d){if(_0x55a13d){return _0x55a13d[_0x660c('0x108')](_0x2871c3[_0x660c('0x7b')][_0x660c('0x101')],_[_0x660c('0x100')](_0x2871c3['body'],[_0x660c('0x101'),'id'])||{})[_0x660c('0x109')](function(){return db[_0x660c('0x10a')][_0x660c('0x105')]({'attributes':['id',_0x660c('0x37'),_0x660c('0x55')],'where':{'id':_0x2871c3[_0x660c('0x7b')][_0x660c('0x101')]}});})['then'](function(_0x181b23){socket[_0x660c('0x10b')]('chatInteractionTags:save',{'id':Number(_0x2871c3[_0x660c('0xb5')]['id']),'tags':_0x181b23||[]});return{'id':Number(_0x2871c3['params']['id']),'tags':_0x181b23||[]};});}})['then'](respondWithResult(_0x28b1a0,null))[_0x660c('0x2a')](handleError(_0x28b1a0,null));};exports['removeTags']=function(_0x44014f,_0x4cb37d,_0x481ae3){return db[_0x660c('0x42')]['find']({'where':{'id':_0x44014f[_0x660c('0xb5')]['id']}})[_0x660c('0x34')](handleEntityNotFound(_0x4cb37d,null))[_0x660c('0x34')](function(_0x316848){if(_0x316848){return _0x316848['removeTags'](_0x44014f[_0x660c('0x49')][_0x660c('0x101')]);}})[_0x660c('0x34')](respondWithStatusCode(_0x4cb37d,null))[_0x660c('0x2a')](handleError(_0x4cb37d,null));};exports['download']=function(_0x62c475,_0x9af69c){var _0x563b24=moment()[_0x660c('0x10c')]()[_0x660c('0x9d')]();var _0x41701e=path[_0x660c('0xd8')](config[_0x660c('0xd9')],'server',_0x660c('0x10d'),_0x660c('0x10e'));var _0x1ff5f9=path['join'](config['root'],_0x660c('0x10f'),'files',_0x660c('0x110'));var _0x58c101=path[_0x660c('0xd8')](_0x41701e,_0x563b24);var _0x123229=util[_0x660c('0xdd')](_0x660c('0x111'),_0x62c475[_0x660c('0xb5')]['id'],_0x563b24);var _0x53cf48=path['join'](_0x41701e,_0x123229);var _0x5f0b03=[];_0x5f0b03[_0x660c('0x40')]({'model':db['User'],'as':_0x660c('0x78'),'attributes':['id',_0x660c('0x3b')],'raw':!![]});_0x5f0b03[_0x660c('0x40')]({'model':db[_0x660c('0xe2')],'as':_0x660c('0x6d'),'attributes':['id',_0x660c('0x112'),'lastName'],'raw':!![]});if(_0x62c475[_0x660c('0x49')]['attachments']){_0x5f0b03[_0x660c('0x40')]({'model':db[_0x660c('0xd2')],'as':_0x660c('0xd2'),'raw':!![]});}var _0x170f5d=[{'model':db[_0x660c('0xff')],'as':_0x660c('0xe1'),'attributes':['id',_0x660c('0x7b'),_0x660c('0x80'),_0x660c('0xee'),'secret',_0x660c('0x85')],'include':_0x5f0b03}];_0x170f5d[_0x660c('0x40')]({'model':db['ChatWebsite'],'as':_0x660c('0x113'),'attributes':['id',_0x660c('0x37')]});_0x170f5d['push']({'model':db['User'],'as':_0x660c('0x114'),'attributes':['id',_0x660c('0x3b')]});return db[_0x660c('0x42')]['find']({'where':{'id':_0x62c475['params']['id']},'include':_0x170f5d})[_0x660c('0x34')](handleEntityNotFound(_0x9af69c,null))['then'](function(_0x2f75df){if(_0x2f75df){var _0x188169=_0x2f75df[_0x660c('0x115')]({'plain':!![]});fs['mkdirSync'](_0x58c101);var _0x382c51={'format':'A4','border':_0x660c('0x116'),'header':{'height':_0x660c('0x117'),'contents':{'first':_0x660c('0x118')}},'footer':{'height':'30px','contents':{'default':util[_0x660c('0xdd')](_0x660c('0x119'),util[_0x660c('0xdd')](_0x660c('0x11a'),_0x660c('0x11b'),_0x188169['id']),moment()[_0x660c('0xdd')](_0x660c('0x11c'))['toString']())}}};var _0xaa252c={'channel':_0x660c('0x11b'),'account':_0x188169[_0x660c('0x113')][_0x660c('0x37')],'agent':_0x188169[_0x660c('0x114')]?_0x188169[_0x660c('0x114')]['fullname']:_0x660c('0x11d'),'createdAt':moment(_0x188169['createdAt'])[_0x660c('0xdd')]('YYYY-MM-DD\x20HH:mm:ss')[_0x660c('0x9d')](),'closedAt':_0x188169[_0x660c('0xcb')]?moment(_0x188169[_0x660c('0x11e')])[_0x660c('0xdd')](_0x660c('0x103'))[_0x660c('0x9d')]():'','disposition':_0x188169[_0x660c('0x11f')],'chatInfo':{'browser':_0x188169['browserName'],'os':_0x188169['osName'],'referer':_0x188169[_0x660c('0x120')],'customerIp':_0x188169[_0x660c('0x121')],'customerPort':_0x188169[_0x660c('0x122')]?_0x188169[_0x660c('0x122')]:_0x660c('0x11d')},'messages':_(_0x188169[_0x660c('0xe1')])[_0x660c('0x123')]()[_0x660c('0x88')]({'secret':![]})['map'](function(_0x2e8bdd){if(_0x2e8bdd[_0x660c('0xd2')]){var _0x5ba68b=path[_0x660c('0xd8')](_0x1ff5f9,_0x2e8bdd[_0x660c('0xd2')][_0x660c('0xdb')]);if(fs[_0x660c('0x124')](_0x5ba68b)){fs[_0x660c('0x125')](_0x5ba68b)['pipe'](fs['createWriteStream'](path[_0x660c('0xd8')](_0x58c101,_0x2e8bdd[_0x660c('0xd2')][_0x660c('0xdb')])));}}return{'date':moment(_0x2e8bdd[_0x660c('0x80')])['format'](_0x660c('0x103'))[_0x660c('0x9d')](),'sender':_0x2e8bdd[_0x660c('0xee')]==='out'?_0x2e8bdd['User']?_0x2e8bdd[_0x660c('0x78')][_0x660c('0x3b')]:'System':_0x2e8bdd['Contact']['firstName']+(_0x2e8bdd[_0x660c('0x6d')][_0x660c('0x126')]?'\x20'+_0x2e8bdd[_0x660c('0x6d')][_0x660c('0x126')]:''),'body':_0x2e8bdd[_0x660c('0xd2')]?_0x2e8bdd[_0x660c('0xd2')][_0x660c('0xdb')]:_0x2e8bdd[_0x660c('0x7b')],'direction':_0x2e8bdd[_0x660c('0xee')]===_0x660c('0xc4')?'A':'C','secret':_0x2e8bdd[_0x660c('0xef')],'read':_0x2e8bdd[_0x660c('0x85')],'attachment':_0x2e8bdd[_0x660c('0xd2')]};})[_0x660c('0x69')]()};return ejs['renderFile'](path['join'](config[_0x660c('0xd9')],_0x660c('0x10f'),_0x660c('0x127'),_0x660c('0x128')),{'interaction':_0xaa252c})['then'](function(_0x1b32a7){return new BPromise(function(_0x7d1432,_0x38447b){pdf['create'](_0x1b32a7,_0x382c51)[_0x660c('0x129')](path[_0x660c('0xd8')](_0x58c101,_0x660c('0x12a')+_0x188169['id']+'-'+_0x563b24+'.pdf'),function(_0x5c9361,_0x495f9d){if(_0x5c9361)return _0x38447b(_0x5c9361);_0x7d1432(_0x495f9d);});});})[_0x660c('0x34')](function(){return new BPromise(function(_0x297bcf,_0x2480b1){zipdir(_0x58c101,{'saveTo':_0x53cf48},function(_0x2c142e,_0x27d82c){if(_0x2c142e)return _0x2480b1(_0x2c142e);return _0x297bcf(_0x27d82c);});})[_0x660c('0x34')](function(){return new BPromise(function(_0x549f07,_0x64efc){rimraf(_0x58c101,function(_0x5411b1){if(_0x5411b1)_0x64efc(_0x5411b1);return _0x549f07();});});})[_0x660c('0x34')](function(){return _0x9af69c[_0x660c('0xd7')](_0x53cf48,_0x123229,function(_0x23d487){if(_0x23d487){console[_0x660c('0x12b')](_0x660c('0x12c'),_0x23d487);}else{fs[_0x660c('0x12d')](_0x53cf48);}});});});}else{return _0x9af69c['sendStatus'](0xc8);}})['catch'](handleError(_0x9af69c,null));};