3bee8a11130cf02cc341a5fd4c1c129540ee7255
[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 _0x974c=['it.ChatInteractionId\x20=\x20i.id','tools_tags','expr','search','sqlOperator','length','conditions','unreadMessages','having','`\x20>\x200','Contact','operator','$substring','value','getFullTextValue','ContactId','buildExpression','type','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','find','start','body','compact','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','read','tag','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','contactName','DESC','isEmpty','t.id\x20IN\x20?','ChatWebsiteId','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','agent','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','merge','ChatInteraction','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.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','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','groupBy','push','rows','params','includeAll','include','options','create','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','follow','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','closed','AbandonInteraction','attachmentUpload','file','originalname','basename','filename','mimetype','attachmentDownload','Unauthorized','Attachment','attachId','join','root','server/files/attachments/','server/files/chat/upload/','format','transcript-%s.txt','Messages','CmContact','UserId','agentAlias','System','customer','%s%d','Visitor','agentIdentifier','agent_alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','direction','secret','MailAccount','MailServerOut','Smtp','service','host','secure','authentication','auth','SendMail','sendMail','\x22%s\x22\x20<%s>','email','mailTranscript','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','getMessages','ChatInteractionId','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','includeAgent','alias','setTags','omit','spread','emit','chatInteractionTags:save','removeTags','download','server','files','attachments','firstName','lastName','Owner','get','10px','<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>','30px','<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','Account','N.A.','closedAt','disposition','browserName','osName','referer','customerIp','customerPort','tail','existsSync','createReadStream','pipe','out','renderFile','views','toFile','log','err','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','defaults','localhost','socket.io-emitter','redis','./chatInteraction.socket','jayson/promise','client','http','request','then','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','info','result','catch','sendStatus','status','end','json','count','offset','limit','set','apply','reject','update','destroy','stack','name','send','map','fullname','TagIds','Tags','split','forEach','index','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','field','color','select','u.id','u.fullname','ui.ChatInteractionId','from','user_has_chat_interactions','chat_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','users','o.id\x20=\x20i.UserId','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags'];(function(_0x160c73,_0x2ee678){var _0xd9302=function(_0x169454){while(--_0x169454){_0x160c73['push'](_0x160c73['shift']());}};_0xd9302(++_0x2ee678);}(_0x974c,0xd4));var _0xc974=function(_0x867a9b,_0x36efd0){_0x867a9b=_0x867a9b-0x0;var _0x59f303=_0x974c[_0x867a9b];return _0x59f303;};'use strict';var pdf=require(_0xc974('0x0'));var emlformat=require(_0xc974('0x1'));var rimraf=require(_0xc974('0x2'));var zipdir=require(_0xc974('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc974('0x4'));var moment=require(_0xc974('0x5'));var BPromise=require(_0xc974('0x6'));var Mustache=require('mustache');var util=require(_0xc974('0x7'));var path=require(_0xc974('0x8'));var sox=require(_0xc974('0x9'));var csv=require('to-csv');var ejs=require(_0xc974('0xa'));var fs=require('fs');var _=require(_0xc974('0xb'));var squel=require(_0xc974('0xc'));var crypto=require('crypto');var jsforce=require(_0xc974('0xd'));var deskjs=require(_0xc974('0xe'));var toCsv=require(_0xc974('0xf'));var querystring=require('querystring');var Papa=require(_0xc974('0x10'));var Redis=require(_0xc974('0x11'));var authService=require(_0xc974('0x12'));var qs=require(_0xc974('0x13'));var as=require(_0xc974('0x14'));var hardwareService=require(_0xc974('0x15'));var logger=require(_0xc974('0x16'))(_0xc974('0x17'));var utils=require('../../config/utils');var config=require(_0xc974('0x18'));var licenseUtil=require(_0xc974('0x19'));var db=require('../../mysqldb')['db'];config['redis']=_[_0xc974('0x1a')](config['redis'],{'host':_0xc974('0x1b'),'port':0x18eb});var socket=require(_0xc974('0x1c'))(new Redis(config[_0xc974('0x1d')]));require(_0xc974('0x1e'))['register'](socket);var jayson=require(_0xc974('0x1f'));var client=jayson[_0xc974('0x20')]['http']({'port':0x232b});var client9004=jayson[_0xc974('0x20')][_0xc974('0x21')]({'port':0x232c});function respondWithRpcPromise(_0x1bc364,_0x3873db,_0x3e9d47,_0x356a82){return new BPromise(function(_0x229c5c,_0x276ec){var _0x31b8d8=_0x356a82||client;return _0x31b8d8[_0xc974('0x22')](_0x1bc364,_0x3e9d47)[_0xc974('0x23')](function(_0x36e377){logger['info'](_0xc974('0x24'),_0x3873db,_0xc974('0x25'));logger[_0xc974('0x26')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x3873db,_0xc974('0x25'),JSON[_0xc974('0x27')](_0x36e377));if(_0x36e377[_0xc974('0x28')]){if(_0x36e377[_0xc974('0x28')][_0xc974('0x29')]===0x1f4){logger[_0xc974('0x28')](_0xc974('0x24'),_0x3873db,_0x36e377[_0xc974('0x28')][_0xc974('0x2a')]);return _0x276ec(_0x36e377[_0xc974('0x28')][_0xc974('0x2a')]);}logger[_0xc974('0x28')]('ChatInteraction,\x20%s,\x20%s',_0x3873db,_0x36e377[_0xc974('0x28')][_0xc974('0x2a')]);return _0x229c5c(_0x36e377[_0xc974('0x28')][_0xc974('0x2a')]);}else{logger[_0xc974('0x2b')](_0xc974('0x24'),_0x3873db,_0xc974('0x25'));_0x229c5c(_0x36e377[_0xc974('0x2c')][_0xc974('0x2a')]);}})[_0xc974('0x2d')](function(_0x41d095){logger[_0xc974('0x28')]('ChatInteraction,\x20%s,\x20%s',_0x3873db,_0x41d095);_0x276ec(_0x41d095);});});}function respondWithStatusCode(_0x4f09ee,_0x511b8f){_0x511b8f=_0x511b8f||0xcc;return function(_0x4ae691){if(_0x4ae691){return _0x4f09ee[_0xc974('0x2e')](_0x511b8f);}return _0x4f09ee[_0xc974('0x2f')](_0x511b8f)[_0xc974('0x30')]();};}function respondWithResult(_0x174346,_0x5971e0){_0x5971e0=_0x5971e0||0xc8;return function(_0xd7e485){if(_0xd7e485){return _0x174346[_0xc974('0x2f')](_0x5971e0)[_0xc974('0x31')](_0xd7e485);}};}function respondWithFilteredResult(_0x45627a,_0x107eec){return function(_0x465957){if(_0x465957){var _0xcd28d1=_0x465957[_0xc974('0x32')],_0x3977ff=_0x107eec[_0xc974('0x33')],_0x2c52b0=_0x107eec[_0xc974('0x33')]+_0x107eec[_0xc974('0x34')],_0x1a09be;if(_0x2c52b0>=_0xcd28d1){_0x2c52b0=_0xcd28d1;_0x1a09be=0xc8;}else{_0x1a09be=0xce;}_0x45627a[_0xc974('0x2f')](_0x1a09be);return _0x45627a[_0xc974('0x35')]('Content-Range',_0x3977ff+'-'+_0x2c52b0+'/'+_0xcd28d1)['json'](_0x465957);}return null;};}function patchUpdates(_0x1b2aef){return function(_0x3ee3f3){try{jsonpatch[_0xc974('0x36')](_0x3ee3f3,_0x1b2aef,!![]);}catch(_0x5319ef){return BPromise[_0xc974('0x37')](_0x5319ef);}return _0x3ee3f3['save']();};}function saveUpdates(_0x30bbc0,_0x65a177){return function(_0x3c925f){if(_0x3c925f){return _0x3c925f[_0xc974('0x38')](_0x30bbc0)['then'](function(_0x30fff0){return _0x30fff0;});}return null;};}function removeEntity(_0x3dbf81,_0x596116){return function(_0x38e0be){if(_0x38e0be){return _0x38e0be[_0xc974('0x39')]()[_0xc974('0x23')](function(){_0x3dbf81[_0xc974('0x2f')](0xcc)[_0xc974('0x30')]();});}};}function handleEntityNotFound(_0x278cf1,_0x19c339){return function(_0x19f990){if(!_0x19f990){_0x278cf1[_0xc974('0x2e')](0x194);}return _0x19f990;};}function handleError(_0x3437b9,_0x153a18){_0x153a18=_0x153a18||0x1f4;return function(_0x1df516){logger[_0xc974('0x28')](_0x1df516[_0xc974('0x3a')]);if(_0x1df516[_0xc974('0x3b')]){delete _0x1df516[_0xc974('0x3b')];}_0x3437b9[_0xc974('0x2f')](_0x153a18)[_0xc974('0x3c')](_0x1df516);};}function getInteractionUsers(_0x2aa32a,_0x4dc339){return new BPromise(function(_0x20c6e0,_0x1ab578){try{if(_0x4dc339[_0x2aa32a['id']]){_0x2aa32a['Users']=_[_0xc974('0x3d')](_0x4dc339[_0x2aa32a['id']],function(_0x582ecb){return{'id':_0x582ecb['id'],'fullname':_0x582ecb[_0xc974('0x3e')]};});}}catch(_0x20e56b){_0x1ab578(_0x20e56b);}_0x20c6e0(_0x2aa32a);});}function getInteractionTags(_0x2f87d6,_0x1ebe8d){return new BPromise(function(_0x4f0b03,_0x15f659){try{if(_0x2f87d6[_0xc974('0x3f')]){_0x2f87d6[_0xc974('0x40')]=[];_0x2f87d6[_0xc974('0x3f')][_0xc974('0x41')](',')[_0xc974('0x42')](function(_0xadb3dc){_0x2f87d6['Tags']['push'](_0x1ebe8d[_0xadb3dc]);});}delete _0x2f87d6[_0xc974('0x3f')];}catch(_0x504e89){_0x15f659(_0x504e89);}_0x4f0b03(_0x2f87d6);});}function updateChatInteraction(_0x9b405e,_0x23cd99,_0x32456b){return new BPromise(function(_0xfe574c,_0x9f0797){return getInteractionUsers(_0x9b405e,_0x32456b)['then'](function(_0x42f6a4){return getInteractionTags(_0x42f6a4,_0x23cd99);})[_0xc974('0x23')](function(_0x304462){_0xfe574c(_0x304462);})[_0xc974('0x2d')](function(_0x377442){_0x9f0797(_0x377442);});});}exports[_0xc974('0x43')]=function(_0x23f22e,_0xb14b21){var _0x490b86={},_0xb7ed3a={},_0xab2ee3={'count':0x0,'rows':[]};var _0x49fc81=_[_0xc974('0x3d')](db['ChatInteraction'][_0xc974('0x44')],function(_0x70d678){return{'name':_0x70d678[_0xc974('0x45')],'type':_0x70d678['type'][_0xc974('0x46')]};});_0xb7ed3a[_0xc974('0x47')]=_[_0xc974('0x3d')](_0x49fc81,_0xc974('0x3b'));_0xb7ed3a[_0xc974('0x48')]=_[_0xc974('0x49')](_0x23f22e[_0xc974('0x48')]);_0xb7ed3a[_0xc974('0x4a')]=_[_0xc974('0x4b')](_0xb7ed3a['model'],_0xb7ed3a['query']);_0x490b86[_0xc974('0x4c')]=_[_0xc974('0x4b')](_0xb7ed3a[_0xc974('0x47')],qs[_0xc974('0x4d')](_0x23f22e[_0xc974('0x48')]['fields']));_0x490b86['attributes']=_0x490b86[_0xc974('0x4c')]['length']?_0x490b86['attributes']:_0xb7ed3a[_0xc974('0x47')];if(!_0x23f22e[_0xc974('0x48')][_0xc974('0x4e')](_0xc974('0x4f'))){_0x490b86[_0xc974('0x34')]=qs[_0xc974('0x34')](_0x23f22e[_0xc974('0x48')][_0xc974('0x34')]);_0x490b86['offset']=qs[_0xc974('0x33')](_0x23f22e[_0xc974('0x48')][_0xc974('0x33')]);}_0x490b86[_0xc974('0x50')]=qs[_0xc974('0x51')](_0x23f22e[_0xc974('0x48')][_0xc974('0x51')]);_0x490b86['where']=qs[_0xc974('0x4a')](_[_0xc974('0x52')](_0x23f22e[_0xc974('0x48')],_0xb7ed3a[_0xc974('0x4a')]),_0x49fc81);var _0x5c7b8c=[];var _0x5aa6d1=squel['select']()[_0xc974('0x53')]('id')[_0xc974('0x53')]('name')['field'](_0xc974('0x54'))['from']('tools_tags');var _0x45809f=squel[_0xc974('0x55')]()[_0xc974('0x53')](_0xc974('0x56'))[_0xc974('0x53')](_0xc974('0x57'))[_0xc974('0x53')](_0xc974('0x58'))[_0xc974('0x59')](_0xc974('0x5a'),'ui')['left_join']('users','u','u.id\x20=\x20ui.UserId');var _0x30965c=squel[_0xc974('0x55')]()['from'](_0xc974('0x5b'),'i')['left_join'](_0xc974('0x5c'),'c',_0xc974('0x5d'))[_0xc974('0x5e')](_0xc974('0x5f'),'o',_0xc974('0x60'))[_0xc974('0x5e')]('chat_websites','a',_0xc974('0x61'))[_0xc974('0x5e')](_0xc974('0x62'),'me',_0xc974('0x63'))[_0xc974('0x5e')](_0xc974('0x64'),'it',_0xc974('0x65'))[_0xc974('0x5e')](_0xc974('0x66'),'t','t.id\x20=\x20it.TagId');var _0x582de7=squel['expr']();var _0x40f7=[];var _0x42fb8d=squel[_0xc974('0x67')]();var _0x54055a;if(_0x23f22e[_0xc974('0x48')]['search']){_0x54055a=as['parseSearch'](_0x23f22e[_0xc974('0x48')][_0xc974('0x68')]);var _0x5a0211=_0x54055a[_0xc974('0x69')];for(var _0x90a789=0x0;_0x90a789<_0x54055a['conditions'][_0xc974('0x6a')];_0x90a789++){var _0x4f7343=_0x54055a[_0xc974('0x6b')][_0x90a789];var _0x5cd94c='i';var _0x18037e=_['find'](_0x49fc81,[_0xc974('0x3b'),_0x4f7343['field']]);if(!_0x18037e){switch(_0x4f7343[_0xc974('0x53')]){case _0xc974('0x6c'):if(_0x4f7343['value']==0x1){_0x30965c[_0xc974('0x6d')]('`'+_0x4f7343[_0xc974('0x53')]+'`\x20=\x200');}else{_0x30965c[_0xc974('0x6d')]('`'+_0x4f7343[_0xc974('0x53')]+_0xc974('0x6e'));}break;case _0xc974('0x6f'):if(_0x4f7343[_0xc974('0x70')]===_0xc974('0x71')){if(_0x4f7343[_0xc974('0x72')]['split']('\x20')[_0xc974('0x6a')]>0x1){_0x582de7[_0x5a0211]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xc974('0x73')](_0x4f7343['value']),null);}else{var _0x448ced='%'+_0x4f7343[_0xc974('0x72')]+'%';_0x582de7[_0x5a0211]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x448ced,_0x448ced,_0x448ced);}}else{_0x18037e=_['find'](_0x49fc81,[_0xc974('0x3b'),'ContactId']);_0x4f7343['field']=_0xc974('0x74');_0x52b437=as[_0xc974('0x75')](_0x5cd94c,_0x18037e[_0xc974('0x76')],_0x4f7343);_0x582de7[_0x5a0211](_0x52b437[_0xc974('0x77')],_0x52b437['value']['start'],_0x52b437[_0xc974('0x72')][_0xc974('0x30')]);}break;case _0xc974('0x78'):var _0x59e7d5=_0x4f7343[_0xc974('0x72')][_0xc974('0x41')](',')[_0xc974('0x3d')](function(_0x7e5c73){return Number(_0x7e5c73);});_0x59e7d5[_0xc974('0x42')](function(_0x4e39c6){_0x42fb8d['or'](_0xc974('0x79'),'%,'+_0x4e39c6+',%');});_0x40f7=_[_0xc974('0x7a')](_0x40f7,_0x59e7d5);break;case _0xc974('0x7b'):if(_0x4f7343[_0xc974('0x70')]===_0xc974('0x71')){_0x582de7[_0x5a0211](_0xc974('0x7c'),'%'+_0x4f7343[_0xc974('0x72')]+'%',null);}else{_0x18037e=_[_0xc974('0x7d')](_0x49fc81,[_0xc974('0x3b'),'UserId']);_0x4f7343[_0xc974('0x53')]='UserId';_0x52b437=as['buildExpression'](_0x5cd94c,_0x18037e[_0xc974('0x76')],_0x4f7343);_0x582de7[_0x5a0211](_0x52b437[_0xc974('0x77')],_0x52b437[_0xc974('0x72')][_0xc974('0x7e')],_0x52b437[_0xc974('0x72')][_0xc974('0x30')]);}break;case _0xc974('0x7f'):_0x52b437=as['buildExpression']('me',null,_0x4f7343);_0x582de7[_0x5a0211](_0x52b437['text'],_0x52b437[_0xc974('0x72')]['start'],_0x52b437[_0xc974('0x72')][_0xc974('0x30')]);break;}}else{var _0x52b437=as['buildExpression'](_0x5cd94c,_0x18037e[_0xc974('0x76')],_0x4f7343);_0x582de7[_0x5a0211](_0x52b437['text'],_0x52b437[_0xc974('0x72')][_0xc974('0x7e')],_0x52b437[_0xc974('0x72')][_0xc974('0x30')]);}}}else{var _0x5ae7a4=_(_0x23f22e[_0xc974('0x48')])['keys']()['map'](function(_0x59ecb9){return _['some'](_0x49fc81,[_0xc974('0x3b'),_0x59ecb9])?_0x59ecb9:undefined;})[_0xc974('0x80')]()[_0xc974('0x72')]();if(!_['isEmpty'](_0x5ae7a4)){_0x5ae7a4[_0xc974('0x42')](function(_0x54019b){if(_0x54019b==='ChatWebsiteId'){_0x30965c['where'](_0xc974('0x81'),[][_0xc974('0x82')](_0x23f22e[_0xc974('0x48')][_0x54019b]));}else if(_0x54019b===_0xc974('0x83')){var _0x1039ef=JSON[_0xc974('0x84')](_0x23f22e[_0xc974('0x48')][_0x54019b])[_0xc974('0x85')];var _0x448836=JSON[_0xc974('0x84')](_0x23f22e[_0xc974('0x48')][_0x54019b])[_0xc974('0x86')];_0x30965c[_0xc974('0x87')](_0xc974('0x88'),_0x1039ef,_0x448836);}else{if(_0x23f22e[_0xc974('0x48')][_0x54019b]==='null'){_0x30965c[_0xc974('0x87')]('i.'+_0x54019b+_0xc974('0x89'));}else{_0x30965c[_0xc974('0x87')]('i.'+_0x54019b+_0xc974('0x8a'),_0x23f22e[_0xc974('0x48')][_0x54019b]);}}});}if(_0x23f22e[_0xc974('0x48')][_0xc974('0x8b')]){if(_0x23f22e['query'][_0xc974('0x8b')]==0x1){_0x30965c[_0xc974('0x6d')]('`unreadMessages`\x20=\x200');}else{_0x30965c[_0xc974('0x6d')]('`unreadMessages`\x20>\x200');}}if(_0x23f22e[_0xc974('0x48')][_0xc974('0x8c')]){_0x40f7=_['isArray'](_0x23f22e['query'][_0xc974('0x8c')])?_0x23f22e[_0xc974('0x48')]['tag']:new Array(_0x23f22e[_0xc974('0x48')]['tag']);_0x40f7[_0xc974('0x42')](function(_0x300347){_0x42fb8d['or'](_0xc974('0x79'),'%,'+_0x300347+',%');});}if(_0x23f22e[_0xc974('0x48')]['filter']){var _0x364a2a=_0x23f22e[_0xc974('0x48')][_0xc974('0x8d')]['replace']('\x5c','\x5c\x5c')[_0xc974('0x8e')](/'/g,'\x27\x27');if(qs[_0xc974('0x8f')](_0x364a2a)){_0x582de7['or']('i.id\x20LIKE\x20?',_0x364a2a+'%');}else{_0x582de7['or'](_0xc974('0x90'),qs[_0xc974('0x73')](_0x364a2a))['or'](_0xc974('0x91'),_0x364a2a+'%');}}}_0x30965c[_0xc974('0x87')](_0x582de7);_0x30965c[_0xc974('0x92')](_0xc974('0x93'));var _0x205a8b={'type':db[_0xc974('0x94')][_0xc974('0x95')][_0xc974('0x96')],'raw':!![]};var _0x17836b=_0x30965c[_0xc974('0x97')]();_0x17836b['field'](_0xc974('0x93'));_0x17836b['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xc974('0x6c'));if(_0x490b86[_0xc974('0x50')]){_0x490b86[_0xc974('0x50')][_0xc974('0x42')](function(_0x81ef77){var _0x509c18=_0x81ef77[0x0]===_0xc974('0x98')?_0x81ef77[0x0]:'i.'+_0x81ef77[0x0];_0x30965c[_0xc974('0x50')](_0x509c18,_0x81ef77[0x1]===_0xc974('0x99')?![]:!![]);});}if(!_[_0xc974('0x9a')](_0x40f7)){_0x30965c['having'](_0x42fb8d);_0x17836b[_0xc974('0x87')](_0xc974('0x9b'),_0x40f7);}BPromise['resolve']()[_0xc974('0x23')](function(){if(!_0x54055a){if(_0x23f22e['query'][_0xc974('0x9c')]||_0x23f22e[_0xc974('0x48')][_0xc974('0x9d')])return;_0x17836b[_0xc974('0x87')](_0xc974('0x9e'));_0x30965c[_0xc974('0x87')](_0xc974('0x9e'));return;}if(_0x23f22e[_0xc974('0x9f')]['role']!==_0xc974('0xa0'))return;return _0x23f22e[_0xc974('0x9f')][_0xc974('0xa1')]({'attributes':['id'],'raw':!![]})[_0xc974('0x23')](function(_0x360ccf){if(_[_0xc974('0x9a')](_0x360ccf)){_0x17836b[_0xc974('0x87')](_0xc974('0xa2'));_0x30965c['where']('i.ChatWebsiteId\x20IS\x20NULL');}else{_0x17836b[_0xc974('0x87')]('i.ChatWebsiteId\x20IN\x20?',_['map'](_0x360ccf,'id'));_0x30965c[_0xc974('0x87')]('i.ChatWebsiteId\x20IN\x20?',_[_0xc974('0x3d')](_0x360ccf,'id'));}});})[_0xc974('0x23')](function(){if(_0x23f22e['user']['role']===_0xc974('0xa0')&&!_0x54055a&&!_0x23f22e['query'][_0xc974('0x9c')])return[];return db[_0xc974('0xa3')][_0xc974('0x48')](_0x17836b[_0xc974('0xa4')](),_0x205a8b);})[_0xc974('0x23')](function(_0x52a66b){_0xab2ee3[_0xc974('0x32')]=_0x52a66b[_0xc974('0x6a')];if(_0xab2ee3[_0xc974('0x32')]===0x0)return[];return db['sequelize'][_0xc974('0x48')](_0x5aa6d1[_0xc974('0xa4')](),_0x205a8b)['then'](function(_0x446075){_0x5c7b8c=_[_0xc974('0xa5')](_0x446075,'id');_0x205a8b=_[_0xc974('0xa6')](_0x205a8b,{'model':db[_0xc974('0xa7')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x23f22e[_0xc974('0x48')][_0xc974('0x4d')]){_0x490b86['attributes']['forEach'](function(_0x4b2f38){_0x30965c[_0xc974('0x53')]('i.'+_0x4b2f38);});}else{_0x30965c[_0xc974('0x53')](_0xc974('0xa8'),_0xc974('0x6c'));_0x30965c[_0xc974('0x53')](_0xc974('0xa9'),'Account.key');_0x30965c[_0xc974('0x53')](_0xc974('0xaa'),_0xc974('0xab'));_0x30965c['field'](_0xc974('0xac'),_0xc974('0x98'));_0x30965c[_0xc974('0x53')]('i.*');_0x30965c['field'](_0xc974('0xad'),_0xc974('0xae'));_0x30965c[_0xc974('0x53')](_0xc974('0xaf'),_0xc974('0xb0'));_0x30965c[_0xc974('0x53')](_0xc974('0xb1'),_0xc974('0xb2'));_0x30965c[_0xc974('0x53')](_0xc974('0xb3'),'Contact.phone');_0x30965c[_0xc974('0x53')]('c.mobile',_0xc974('0xb4'));_0x30965c[_0xc974('0x53')](_0xc974('0xb5'),_0xc974('0xb6'));_0x30965c[_0xc974('0x53')](_0xc974('0xb7'),_0xc974('0xb8'));_0x30965c[_0xc974('0x53')](_0xc974('0xb9'),'Owner.internal');_0x30965c[_0xc974('0x53')](_0xc974('0xba'),_0xc974('0x3f'));}if(_0x490b86[_0xc974('0x34')])_0x30965c['limit'](_0x490b86[_0xc974('0x34')]);if(_0x490b86['offset'])_0x30965c[_0xc974('0x33')](_0x490b86['offset']);return db[_0xc974('0xa3')][_0xc974('0x48')](_0x30965c[_0xc974('0xa4')](),_0x205a8b);})[_0xc974('0x23')](function(_0x378392){_0x45809f[_0xc974('0x87')](_0xc974('0xbb'),_[_0xc974('0x3d')](_0x378392,'id'));return db[_0xc974('0xa3')][_0xc974('0x48')](_0x45809f['toString'](),_0x205a8b)[_0xc974('0x23')](function(_0x1cdee1){var _0x39af25=_[_0xc974('0xbc')](_0x1cdee1,'ChatInteractionId');var _0x3237e7=[];_0x378392[_0xc974('0x42')](function(_0x184470){_0x3237e7[_0xc974('0xbd')](updateChatInteraction(_0x184470,_0x5c7b8c,_0x39af25));});return BPromise['all'](_0x3237e7);});});})[_0xc974('0x23')](function(_0x1e9af8){_0xab2ee3[_0xc974('0xbe')]=_0x1e9af8;return _0xab2ee3;})[_0xc974('0x23')](respondWithFilteredResult(_0xb14b21,_0x490b86))[_0xc974('0x2d')](handleError(_0xb14b21,null));};exports['show']=function(_0xbc5a6,_0xe1ee25){var _0x9f3894={'raw':![],'where':{'id':_0xbc5a6[_0xc974('0xbf')]['id']}},_0x256d70={};_0x256d70[_0xc974('0x47')]=_[_0xc974('0x49')](db[_0xc974('0xa7')][_0xc974('0x44')]);_0x256d70[_0xc974('0x48')]=_[_0xc974('0x49')](_0xbc5a6[_0xc974('0x48')]);_0x256d70['filters']=_[_0xc974('0x4b')](_0x256d70[_0xc974('0x47')],_0x256d70[_0xc974('0x48')]);_0x9f3894[_0xc974('0x4c')]=_[_0xc974('0x4b')](_0x256d70['model'],qs['fields'](_0xbc5a6[_0xc974('0x48')][_0xc974('0x4d')]));_0x9f3894[_0xc974('0x4c')]=_0x9f3894['attributes'][_0xc974('0x6a')]?_0x9f3894[_0xc974('0x4c')]:_0x256d70['model'];if(_0xbc5a6[_0xc974('0x48')][_0xc974('0xc0')]){_0x9f3894[_0xc974('0xc1')]=[{'all':!![]}];}_0x9f3894=_['merge']({},_0x9f3894,_0xbc5a6[_0xc974('0xc2')]);return db[_0xc974('0xa7')][_0xc974('0x7d')](_0x9f3894)[_0xc974('0x23')](handleEntityNotFound(_0xe1ee25,null))['then'](respondWithResult(_0xe1ee25,null))[_0xc974('0x2d')](handleError(_0xe1ee25,null));};exports['create']=function(_0x4f5124,_0x37ddbb){return db[_0xc974('0xa7')][_0xc974('0xc3')](_0x4f5124[_0xc974('0x7f')],{})[_0xc974('0x23')](respondWithResult(_0x37ddbb,0xc9))[_0xc974('0x2d')](handleError(_0x37ddbb,null));};exports[_0xc974('0x38')]=function(_0x72d2f6,_0x877569){if(_0x72d2f6['body']['id']){delete _0x72d2f6[_0xc974('0x7f')]['id'];}return db[_0xc974('0xa7')][_0xc974('0x7d')]({'where':{'id':_0x72d2f6[_0xc974('0xbf')]['id']}})['then'](handleEntityNotFound(_0x877569,null))[_0xc974('0x23')](saveUpdates(_0x72d2f6['body'],null))[_0xc974('0x23')](respondWithResult(_0x877569,null))[_0xc974('0x2d')](handleError(_0x877569,null));};exports['destroy']=function(_0x414ef5,_0x87fea1){return db[_0xc974('0xa7')][_0xc974('0x7d')]({'where':{'id':_0x414ef5['params']['id']}})[_0xc974('0x23')](handleEntityNotFound(_0x87fea1,null))['then'](removeEntity(_0x87fea1,null))['catch'](handleError(_0x87fea1,null));};exports['describe']=function(_0x3f71eb,_0x5eab53){return db[_0xc974('0xa7')][_0xc974('0xc4')]()[_0xc974('0x23')](respondWithResult(_0x5eab53,null))[_0xc974('0x2d')](handleError(_0x5eab53,null));};exports[_0xc974('0xc5')]=function(_0x45acdb,_0xd3343e){var _0x38c848=_0x45acdb[_0xc974('0xbf')]['id'];var _0x46c702;var _0x2e002a;var _0x4cb3c1;return db['ChatInteraction'][_0xc974('0xc6')]({'where':{'id':_0x38c848}})['then'](function(_0x596f3b){_0x46c702=_0x596f3b;return db[_0xc974('0xc7')]['findOne']({'where':{'id':_0x596f3b['ChatWebsiteId']},'attributes':['id',_0xc974('0xc8'),_0xc974('0xc9')],'raw':!![]});})['then'](function(_0x574a84){if(_0x574a84&&_0x574a84['vidaooApiKey']&&_0x574a84[_0xc974('0xc9')]){_0x2e002a=_0x574a84;var _0x2765c6={'rejectUnauthorized':![],'method':_0xc974('0xca'),'uri':_0xc974('0xcb'),'headers':{'X-APIKEY':_0x574a84[_0xc974('0xc8')]},'body':{'name':_0xc974('0xcc')+_0x38c848},'redirect':_0xc974('0xcd'),'json':!![]};return rp(_0x2765c6);}else{throw new db[(_0xc974('0x94'))][(_0xc974('0xce'))](_0xc974('0xcf'));}})[_0xc974('0x23')](function(_0x1bfaf3){_0x4cb3c1=_0x1bfaf3;if(_0x4cb3c1['id']){var _0x2485a5={'body':_0x4cb3c1[_0xc974('0xd0')],'ChatWebsiteId':_0x2e002a['id'],'ChatInteractionId':_0x46c702['id'],'direction':'out','UserId':_0x45acdb['user']['id']};return db[_0xc974('0xd1')][_0xc974('0xc3')](_0x2485a5,{});}else{throw new db[(_0xc974('0x94'))][(_0xc974('0xce'))](_0xc974('0xd2'));}})[_0xc974('0x23')](function(){return _0x46c702[_0xc974('0xd3')]({'vidaooSessionId':_0x4cb3c1['id']});})['then'](respondWithResult(_0xd3343e,null))['catch'](handleError(_0xd3343e,null));};exports[_0xc974('0xd4')]=function(_0x32e749,_0x20706e){if(_0x32e749[_0xc974('0x7f')]['id']){delete _0x32e749[_0xc974('0x7f')]['id'];}return db['ChatInteraction'][_0xc974('0x7d')]({'where':{'id':_0x32e749['params']['id']}})[_0xc974('0x23')](handleEntityNotFound(_0x20706e,null))[_0xc974('0x23')](saveUpdates(_0x32e749[_0xc974('0x7f')],null))[_0xc974('0x23')](respondWithResult(_0x20706e,null))[_0xc974('0x2d')](handleError(_0x20706e,null));};exports[_0xc974('0xd5')]=function(_0x147b08,_0x497578,_0x55eead){if(_0x147b08[_0xc974('0x7f')]['id']){delete _0x147b08[_0xc974('0x7f')]['id'];}return db['ChatInteraction'][_0xc974('0x7d')]({'where':{'id':_0x147b08[_0xc974('0xbf')]['id']}})['then'](function(_0x3ff960){if(!_0x3ff960){logger[_0xc974('0x28')](_0xc974('0xd6'),_0xc974('0xd5'),0x194,_0xc974('0xd7'));_0x497578[_0xc974('0x2e')](0x194);}else{if(_0x3ff960['UserId']){throw new db['Sequelize']['ValidationError'](_0xc974('0xd8'));}}return _0x3ff960;})[_0xc974('0x23')](function(_0x14fc05){if(_0x14fc05){return _0x14fc05[_0xc974('0x38')]({'closed':_0x147b08['body'][_0xc974('0xd9')],'disposition':_0x147b08['body']['disposition']})[_0xc974('0x23')](function(_0x9e2932){return _0x9e2932;});}})['then'](function(_0x5b0362){return respondWithRpcPromise(_0xc974('0xda'),_0xc974('0xd5'),_0x147b08[_0xc974('0x7f')],client9004);})[_0xc974('0x23')](respondWithResult(_0x497578,null))[_0xc974('0x2d')](handleError(_0x497578,null));};exports[_0xc974('0xdb')]=function(_0x5b268f,_0x258946,_0x527cb3){_0x5b268f[_0xc974('0x7f')]['name']=_0x5b268f[_0xc974('0xdc')][_0xc974('0xdd')];_0x5b268f[_0xc974('0x7f')][_0xc974('0xde')]=_0x5b268f[_0xc974('0xdc')][_0xc974('0xdf')];_0x5b268f[_0xc974('0x7f')]['type']=_0x5b268f[_0xc974('0xdc')][_0xc974('0xe0')];return db['Attachment'][_0xc974('0xc3')](_0x5b268f[_0xc974('0x7f')])['then'](respondWithResult(_0x258946,0xc9))[_0xc974('0x2d')](handleError(_0x258946,null));};exports[_0xc974('0xe1')]=function(_0x563c51,_0xd9038,_0x4fbb29){return db['ChatInteraction']['findOne']({'where':{'id':_0x563c51[_0xc974('0xbf')]['id']},'raw':!![]})[_0xc974('0x23')](handleEntityNotFound(_0xd9038,null))[_0xc974('0x23')](function(_0x24fdaa){if(_0x24fdaa){if(_0x24fdaa[_0xc974('0xd9')]){return _0xd9038[_0xc974('0x2f')](0x193)['json']({'status':0x193,'message':_0xc974('0xe2')});}return db[_0xc974('0xe3')][_0xc974('0xc6')]({'where':{'id':_0x563c51[_0xc974('0x48')][_0xc974('0xe4')]},'raw':!![]})[_0xc974('0x23')](handleEntityNotFound(_0xd9038,null));}})[_0xc974('0x23')](function(_0x9f4bf7){if(_0x9f4bf7){return _0xd9038['download'](path[_0xc974('0xe5')](config[_0xc974('0xe6')],_0xc974('0xe7'),_0x9f4bf7['basename']));}})[_0xc974('0x2d')](handleError(_0xd9038,null));};exports['close']=function(_0x4c98c7,_0x44d491){var _0x32ff13=null;var _0x22970f=null;var _0x45d501=null;var _0x5afdf0=null;if(_0x4c98c7['body']['id']){delete _0x4c98c7[_0xc974('0x7f')]['id'];}if(_0x4c98c7[_0xc974('0x7f')]['mailTranscript']){_0x5afdf0=path[_0xc974('0xe5')](config['root'],_0xc974('0xe8'),util[_0xc974('0xe9')](_0xc974('0xea'),Date['now']()));_0x4c98c7[_0xc974('0x7f')]['pathTranscript']=_0x5afdf0;}return db[_0xc974('0xa7')][_0xc974('0x7d')]({'where':{'id':_0x4c98c7[_0xc974('0xbf')]['id']},'include':[{'model':db['ChatMessage'],'as':_0xc974('0xeb'),'include':[{'model':db[_0xc974('0x7b')],'as':_0xc974('0x7b')}]}]})[_0xc974('0x23')](handleEntityNotFound(_0x44d491,null))['then'](saveUpdates(_0x4c98c7[_0xc974('0x7f')],null))[_0xc974('0x23')](function(_0x4b3448){if(_0x4b3448){_0x32ff13=_0x4b3448;return db[_0xc974('0xc7')]['find']({'where':{'id':_0x32ff13['ChatWebsiteId']}});}})['then'](function(_0x36860e){if(_0x36860e){_0x45d501=_0x36860e;return db[_0xc974('0xec')][_0xc974('0x7d')]({'where':{'id':_0x32ff13['ContactId']}});}})[_0xc974('0x23')](function(_0x2a03a4){if(_0x2a03a4){_0x22970f=_0x2a03a4;if(_0x5afdf0){var _0x392929=null;for(var _0x1b9e57=0x1;_0x1b9e57<_0x32ff13[_0xc974('0xeb')][_0xc974('0x6a')];++_0x1b9e57){_0x392929=_0x32ff13[_0xc974('0xeb')][_0x1b9e57];var _0x4888df=_0x392929[_0xc974('0xed')]?util[_0xc974('0xe9')]('%s%d',_0x45d501[_0xc974('0xee')],_0x392929[_0xc974('0xed')]):_0xc974('0xef');var _0x175617=_0x4c98c7[_0xc974('0x7f')][_0xc974('0xf0')]||util[_0xc974('0xe9')](_0xc974('0xf1'),_0xc974('0xf2'),_0x392929[_0xc974('0x74')]);switch(_0x45d501[_0xc974('0xf3')]){case'website_alias':_0x4888df=_0x392929[_0xc974('0xed')]?util[_0xc974('0xe9')](_0xc974('0xf1'),_0x45d501[_0xc974('0xee')],_0x392929['UserId']):'System';break;case _0xc974('0xf4'):_0x4888df=_0x392929[_0xc974('0xed')]?_0x392929[_0xc974('0x7b')]['alias']||_0x392929[_0xc974('0x7b')][_0xc974('0x3e')]:_0xc974('0xef');break;case _0xc974('0xf5'):_0x4888df=_0x392929[_0xc974('0xed')]?_0x392929[_0xc974('0x7b')][_0xc974('0x3e')]:_0xc974('0xef');break;default:_0x4888df=_0x392929['UserId']?util[_0xc974('0xe9')](_0xc974('0xf1'),_0x45d501['agentAlias'],_0x392929[_0xc974('0xed')]):_0xc974('0xef');}var _0x4b69b2=util[_0xc974('0xe9')](_0xc974('0xf6'),moment(_0x392929[_0xc974('0x83')])['format']('MM/DD/YYYY\x20HH:mm:ss'),_0x392929[_0xc974('0xf7')]==='in'?_0x175617:_0x4888df,_0x392929['body']);if(!_0x392929[_0xc974('0xf8')]){fs['appendFileSync'](_0x5afdf0,_0x4b69b2);}}return db[_0xc974('0xf9')]['findOne']({'where':{'service':!![]},'include':[{'model':db[_0xc974('0xfa')],'as':'Smtp','raw':!![]}]});}}})['then'](function(_0x3e047a){if(_0x3e047a&&_0x3e047a['Smtp']&&_0x4c98c7[_0xc974('0x7f')]){var _0x47c8e7={'tls':{'rejectUnauthorized':![]}};if(_0x3e047a[_0xc974('0xfb')]['service']){_0x47c8e7[_0xc974('0xfc')]=_0x3e047a[_0xc974('0xfb')][_0xc974('0xfc')];}else{_0x47c8e7[_0xc974('0xfd')]=_0x3e047a['Smtp'][_0xc974('0xfd')];_0x47c8e7['port']=_0x3e047a[_0xc974('0xfb')]['port'];_0x47c8e7[_0xc974('0xfe')]=_0x3e047a[_0xc974('0xfb')]['secure'];}if(_0x3e047a[_0xc974('0xfb')][_0xc974('0xff')]){_0x47c8e7[_0xc974('0x100')]={'user':_0x3e047a[_0xc974('0xfb')][_0xc974('0x9f')],'pass':_0x3e047a[_0xc974('0xfb')]['pass']};}return respondWithRpcPromise(_0xc974('0x101'),_0xc974('0x102'),{'account':_0x47c8e7,'message':{'from':util[_0xc974('0xe9')](_0xc974('0x103'),_0x3e047a[_0xc974('0x3b')],_0x3e047a[_0xc974('0x104')]||_0x3e047a[_0xc974('0xfb')][_0xc974('0x9f')]),'to':_0x4c98c7[_0xc974('0x7f')][_0xc974('0x105')],'subject':_0xc974('0x106'),'text':util['format'](_0xc974('0x107'),_0x4c98c7[_0xc974('0x7f')][_0xc974('0x105')]),'attachments':[{'path':_0x5afdf0}]}})[_0xc974('0x23')](function(){return _0x32ff13;})[_0xc974('0x2d')](function(_0x4d152d){console[_0xc974('0x28')](_0x4d152d);});}else{return _0x32ff13;}})[_0xc974('0x23')](respondWithStatusCode(_0x44d491,0xc8))[_0xc974('0x2d')](handleError(_0x44d491,null));};exports[_0xc974('0x108')]=function(_0x19fef1,_0x2ea33a,_0x21bd76){return db[_0xc974('0xd1')]['find']({'where':{'id':_0x19fef1[_0xc974('0xbf')]['id']}})[_0xc974('0x23')](handleEntityNotFound(_0x2ea33a,null))[_0xc974('0x23')](function(_0x2bf0e2){if(_0x2bf0e2){return _0x2bf0e2['addMessage'](_0x19fef1[_0xc974('0x7f')]['ids'],_['omit'](_0x19fef1['body'],[_0xc974('0x109'),'id'])||{});}})[_0xc974('0x23')](respondWithResult(_0x2ea33a,null))[_0xc974('0x2d')](handleError(_0x2ea33a,null));};exports[_0xc974('0x10a')]=function(_0xc58622,_0x280891,_0x5a25e4){var _0x29c5c6={'raw':![],'where':{}};var _0x433314={};var _0x66c7a1={'count':0x0,'rows':[]};return db[_0xc974('0xa7')][_0xc974('0xc6')]({'where':{'id':_0xc58622[_0xc974('0xbf')]['id']}})[_0xc974('0x23')](handleEntityNotFound(_0x280891,null))[_0xc974('0x23')](function(_0x3b9d0b){if(_0x3b9d0b){_0x433314['model']=_[_0xc974('0x49')](db['ChatMessage'][_0xc974('0x44')]);_0x433314[_0xc974('0x48')]=_[_0xc974('0x49')](_0xc58622['query']);_0x433314['filters']=_[_0xc974('0x4b')](_0x433314['model'],_0x433314[_0xc974('0x48')]);_0x29c5c6[_0xc974('0x4c')]=_['intersection'](_0x433314[_0xc974('0x47')],qs['fields'](_0xc58622['query'][_0xc974('0x4d')]));_0x29c5c6['attributes']=_0x29c5c6[_0xc974('0x4c')][_0xc974('0x6a')]?_0x29c5c6[_0xc974('0x4c')]:_0x433314['model'];if(!_0xc58622[_0xc974('0x48')][_0xc974('0x4e')](_0xc974('0x4f'))){_0x29c5c6[_0xc974('0x34')]=qs[_0xc974('0x34')](_0xc58622[_0xc974('0x48')]['limit']);_0x29c5c6['offset']=qs[_0xc974('0x33')](_0xc58622['query'][_0xc974('0x33')]);}_0x29c5c6[_0xc974('0x50')]=qs[_0xc974('0x51')](_0xc58622[_0xc974('0x48')][_0xc974('0x51')]);_0x29c5c6[_0xc974('0x87')]=qs[_0xc974('0x4a')](_['pick'](_0xc58622[_0xc974('0x48')],_0x433314['filters']));_0x29c5c6[_0xc974('0x87')][_0xc974('0x10b')]=_0x3b9d0b['id'];if(_0xc58622[_0xc974('0x48')]['filter']){_0x29c5c6[_0xc974('0x87')]=_['merge'](_0x29c5c6[_0xc974('0x87')],{'$or':_['map'](_0x29c5c6[_0xc974('0x4c')],function(_0x21c514){var _0x1623e3={};_0x1623e3[_0x21c514]={'$like':'%'+_0xc58622[_0xc974('0x48')][_0xc974('0x8d')]+'%'};return _0x1623e3;})});}if(_0xc58622['query'][_0xc974('0x85')]){var _0x28c7d2=_0xc58622[_0xc974('0x48')][_0xc974('0x85')]['split'](',');var _0x43bc73={};_0x43bc73[_0x28c7d2[0x0]]={'$gte':moment(_0x28c7d2[0x1])[_0xc974('0xe9')](_0xc974('0x10c'))};_0x29c5c6[_0xc974('0x87')]=_[_0xc974('0xa6')](_0x29c5c6['where'],_0x43bc73);}_0x29c5c6=_[_0xc974('0xa6')]({},_0x29c5c6,_0xc58622[_0xc974('0xc2')]);return db[_0xc974('0xd1')][_0xc974('0x32')]({'where':_0x29c5c6['where']})[_0xc974('0x23')](function(_0x4da5d7){_0x66c7a1[_0xc974('0x32')]=_0x4da5d7;if(_0xc58622['query']['includeAll']){_0x29c5c6[_0xc974('0xc1')]=[{'all':!![]}];}return db[_0xc974('0xd1')][_0xc974('0x10d')](_0x29c5c6);})[_0xc974('0x23')](function(_0x52f05c){_0x66c7a1['rows']=_0x52f05c;return _0x66c7a1;});}})[_0xc974('0x23')](respondWithFilteredResult(_0x280891,_0x29c5c6))[_0xc974('0x2d')](handleError(_0x280891,null));};exports[_0xc974('0x10e')]=function(_0x276762,_0x20a7fa,_0x43da0e){var _0x47b32f={'where':{}},_0x25b4ef={},_0x2072c6={'count':0x0,'rows':[]};return db['ChatInteraction'][_0xc974('0xc6')]({'where':{'id':_0x276762[_0xc974('0xbf')]['id']}})['then'](handleEntityNotFound(_0x20a7fa,null))[_0xc974('0x23')](function(_0x4d259b){if(_0x4d259b){_0x25b4ef[_0xc974('0x47')]=_[_0xc974('0x49')](db[_0xc974('0xd1')][_0xc974('0x44')]);_0x25b4ef[_0xc974('0x48')]=_['keys'](_0x276762[_0xc974('0x48')]);_0x25b4ef[_0xc974('0x4a')]=_[_0xc974('0x4b')](_0x25b4ef[_0xc974('0x47')],_0x25b4ef['query']);_0x47b32f[_0xc974('0x4c')]=_['intersection'](_0x25b4ef[_0xc974('0x47')],qs[_0xc974('0x4d')](_0x276762[_0xc974('0x48')][_0xc974('0x4d')]));_0x47b32f[_0xc974('0x4c')]=_0x47b32f[_0xc974('0x4c')][_0xc974('0x6a')]?_0x47b32f[_0xc974('0x4c')]:_0x25b4ef[_0xc974('0x47')];if(!_0x276762[_0xc974('0x48')][_0xc974('0x4e')]('nolimit')){_0x47b32f[_0xc974('0x34')]=qs[_0xc974('0x34')](_0x276762['query'][_0xc974('0x34')]);_0x47b32f[_0xc974('0x33')]=qs[_0xc974('0x33')](_0x276762[_0xc974('0x48')]['offset']);}_0x47b32f[_0xc974('0x50')]=qs[_0xc974('0x51')](_0x276762[_0xc974('0x48')][_0xc974('0x51')]);_0x47b32f[_0xc974('0x87')]=qs[_0xc974('0x4a')](_[_0xc974('0x52')](_0x276762['query'],_0x25b4ef['filters']));_0x47b32f[_0xc974('0x87')][_0xc974('0x10b')]=_0x4d259b['id'];if(_0x276762[_0xc974('0x48')]['filter']){_0x47b32f[_0xc974('0x87')]=_['merge'](_0x47b32f[_0xc974('0x87')],{'$or':_[_0xc974('0x3d')](_0x47b32f['attributes'],function(_0x802adc){var _0x5043d6={};_0x5043d6[_0x802adc]={'$like':'%'+_0x276762[_0xc974('0x48')]['filter']+'%'};return _0x5043d6;})});}_0x47b32f['where'][_0xc974('0xf8')]=![];if(_0x276762[_0xc974('0x48')]['id']){_0x47b32f[_0xc974('0x87')]['id']={'$gt':_0x276762['query']['id']};}_0x47b32f=_[_0xc974('0xa6')]({},_0x47b32f,_0x276762['options']);return db[_0xc974('0xd1')]['count']({'where':_0x47b32f['where']})[_0xc974('0x23')](function(_0x1445d5){_0x2072c6[_0xc974('0x32')]=_0x1445d5;_0x47b32f[_0xc974('0xc1')]=[];if(_0x276762['query'][_0xc974('0x10f')]){_0x47b32f[_0xc974('0xc1')][_0xc974('0xbd')]({'model':db[_0xc974('0x7b')],'as':_0xc974('0x7b'),'attributes':['id',_0xc974('0x3e'),_0xc974('0x110')]});}if(_0x276762[_0xc974('0x48')][_0xc974('0xc0')]){_0x47b32f[_0xc974('0xc1')]=[{'all':!![]}];}return db['ChatMessage'][_0xc974('0x10d')](_0x47b32f);})[_0xc974('0x23')](function(_0xe7dcd){_0x2072c6[_0xc974('0xbe')]=_0xe7dcd;return _0x2072c6;});}})['then'](respondWithFilteredResult(_0x20a7fa,_0x47b32f))['catch'](handleError(_0x20a7fa,null));};exports['addTags']=function(_0x30f586,_0x534bcd,_0x51f2b8){return db['ChatInteraction']['find']({'where':{'id':_0x30f586[_0xc974('0xbf')]['id']}})['then'](handleEntityNotFound(_0x534bcd,null))['then'](function(_0x14143e){if(_0x14143e){return _0x14143e[_0xc974('0x111')](_0x30f586[_0xc974('0x7f')]['ids'],_[_0xc974('0x112')](_0x30f586['body'],[_0xc974('0x109'),'id'])||{})[_0xc974('0x113')](function(){return db['Tag']['findAll']({'attributes':['id','name','color'],'where':{'id':_0x30f586[_0xc974('0x7f')][_0xc974('0x109')]}});})['then'](function(_0x11c4b7){socket[_0xc974('0x114')](_0xc974('0x115'),{'id':Number(_0x30f586[_0xc974('0xbf')]['id']),'tags':_0x11c4b7||[]});return{'id':Number(_0x30f586[_0xc974('0xbf')]['id']),'tags':_0x11c4b7||[]};});}})['then'](respondWithResult(_0x534bcd,null))[_0xc974('0x2d')](handleError(_0x534bcd,null));};exports[_0xc974('0x116')]=function(_0x47d78c,_0xaf1fb7,_0x3ad4fa){return db[_0xc974('0xa7')][_0xc974('0x7d')]({'where':{'id':_0x47d78c[_0xc974('0xbf')]['id']}})[_0xc974('0x23')](handleEntityNotFound(_0xaf1fb7,null))[_0xc974('0x23')](function(_0xec054){if(_0xec054){return _0xec054[_0xc974('0x116')](_0x47d78c[_0xc974('0x48')][_0xc974('0x109')]);}})[_0xc974('0x23')](respondWithStatusCode(_0xaf1fb7,null))[_0xc974('0x2d')](handleError(_0xaf1fb7,null));};exports[_0xc974('0x117')]=function(_0x4227d3,_0x47406f){var _0x38857e=moment()['unix']()['toString']();var _0x454595=path[_0xc974('0xe5')](config[_0xc974('0xe6')],_0xc974('0x118'),_0xc974('0x119'),'tmp');var _0x563b1d=path[_0xc974('0xe5')](config[_0xc974('0xe6')],_0xc974('0x118'),'files',_0xc974('0x11a'));var _0x3e5569=path[_0xc974('0xe5')](_0x454595,_0x38857e);var _0x2e78f4=util[_0xc974('0xe9')]('transcript-%d-%s.zip',_0x4227d3[_0xc974('0xbf')]['id'],_0x38857e);var _0x276db3=path[_0xc974('0xe5')](_0x454595,_0x2e78f4);var _0x5b2824=[];_0x5b2824[_0xc974('0xbd')]({'model':db['User'],'as':_0xc974('0x7b'),'attributes':['id',_0xc974('0x3e')],'raw':!![]});_0x5b2824['push']({'model':db[_0xc974('0xec')],'as':_0xc974('0x6f'),'attributes':['id',_0xc974('0x11b'),_0xc974('0x11c')],'raw':!![]});if(_0x4227d3[_0xc974('0x48')][_0xc974('0x11a')]){_0x5b2824[_0xc974('0xbd')]({'model':db[_0xc974('0xe3')],'as':_0xc974('0xe3'),'raw':!![]});}var _0x427367=[{'model':db['ChatMessage'],'as':_0xc974('0xeb'),'attributes':['id',_0xc974('0x7f'),_0xc974('0x83'),'direction',_0xc974('0xf8'),_0xc974('0x8b')],'include':_0x5b2824}];_0x427367[_0xc974('0xbd')]({'model':db[_0xc974('0xc7')],'as':'Account','attributes':['id',_0xc974('0x3b')]});_0x427367['push']({'model':db[_0xc974('0x7b')],'as':_0xc974('0x11d'),'attributes':['id','fullname']});return db[_0xc974('0xa7')][_0xc974('0x7d')]({'where':{'id':_0x4227d3[_0xc974('0xbf')]['id']},'include':_0x427367})[_0xc974('0x23')](handleEntityNotFound(_0x47406f,null))[_0xc974('0x23')](function(_0x1eeb93){if(_0x1eeb93){var _0x3bde71=_0x1eeb93[_0xc974('0x11e')]({'plain':!![]});fs['mkdirSync'](_0x3e5569);var _0x2d183f={'format':'A4','border':_0xc974('0x11f'),'header':{'height':'40px','contents':{'first':_0xc974('0x120')}},'footer':{'height':_0xc974('0x121'),'contents':{'default':util[_0xc974('0xe9')](_0xc974('0x122'),util[_0xc974('0xe9')](_0xc974('0x123'),_0xc974('0x124'),_0x3bde71['id']),moment()[_0xc974('0xe9')](_0xc974('0x125'))[_0xc974('0xa4')]())}}};var _0x472bc7={'channel':'Chat','account':_0x3bde71[_0xc974('0x126')][_0xc974('0x3b')],'agent':_0x3bde71[_0xc974('0x11d')]?_0x3bde71[_0xc974('0x11d')]['fullname']:_0xc974('0x127'),'createdAt':moment(_0x3bde71[_0xc974('0x83')])[_0xc974('0xe9')](_0xc974('0x10c'))[_0xc974('0xa4')](),'closedAt':_0x3bde71[_0xc974('0xd9')]?moment(_0x3bde71[_0xc974('0x128')])['format'](_0xc974('0x10c'))[_0xc974('0xa4')]():'','disposition':_0x3bde71[_0xc974('0x129')],'chatInfo':{'browser':_0x3bde71[_0xc974('0x12a')],'os':_0x3bde71[_0xc974('0x12b')],'referer':_0x3bde71[_0xc974('0x12c')],'customerIp':_0x3bde71[_0xc974('0x12d')],'customerPort':_0x3bde71[_0xc974('0x12e')]?_0x3bde71['customerPort']:'N.A.'},'messages':_(_0x3bde71[_0xc974('0xeb')])[_0xc974('0x12f')]()[_0xc974('0x8d')]({'secret':![]})['map'](function(_0x3e05f5){if(_0x3e05f5[_0xc974('0xe3')]){var _0x51649f=path[_0xc974('0xe5')](_0x563b1d,_0x3e05f5[_0xc974('0xe3')]['basename']);if(fs[_0xc974('0x130')](_0x51649f)){fs[_0xc974('0x131')](_0x51649f)[_0xc974('0x132')](fs['createWriteStream'](path['join'](_0x3e5569,_0x3e05f5[_0xc974('0xe3')][_0xc974('0xde')])));}}return{'date':moment(_0x3e05f5['createdAt'])[_0xc974('0xe9')](_0xc974('0x10c'))[_0xc974('0xa4')](),'sender':_0x3e05f5[_0xc974('0xf7')]===_0xc974('0x133')?_0x3e05f5[_0xc974('0x7b')]?_0x3e05f5[_0xc974('0x7b')]['fullname']:_0xc974('0xef'):_0x3e05f5[_0xc974('0x6f')][_0xc974('0x11b')]+(_0x3e05f5[_0xc974('0x6f')][_0xc974('0x11c')]?'\x20'+_0x3e05f5[_0xc974('0x6f')][_0xc974('0x11c')]:''),'body':_0x3e05f5['Attachment']?_0x3e05f5[_0xc974('0xe3')]['basename']:_0x3e05f5[_0xc974('0x7f')],'direction':_0x3e05f5[_0xc974('0xf7')]===_0xc974('0x133')?'A':'C','secret':_0x3e05f5[_0xc974('0xf8')],'read':_0x3e05f5['read'],'attachment':_0x3e05f5[_0xc974('0xe3')]};})[_0xc974('0x72')]()};return ejs[_0xc974('0x134')](path['join'](config[_0xc974('0xe6')],_0xc974('0x118'),_0xc974('0x135'),'downloadInteraction.html'),{'interaction':_0x472bc7})['then'](function(_0x367dfb){return new BPromise(function(_0x52a7da,_0x14fb35){pdf[_0xc974('0xc3')](_0x367dfb,_0x2d183f)[_0xc974('0x136')](path[_0xc974('0xe5')](_0x3e5569,'transcript-'+_0x3bde71['id']+'-'+_0x38857e+'.pdf'),function(_0x261746,_0xa5667e){if(_0x261746)return _0x14fb35(_0x261746);_0x52a7da(_0xa5667e);});});})[_0xc974('0x23')](function(){return new BPromise(function(_0x320f13,_0x472e17){zipdir(_0x3e5569,{'saveTo':_0x276db3},function(_0x50cf1c,_0xc7ab52){if(_0x50cf1c)return _0x472e17(_0x50cf1c);return _0x320f13(_0xc7ab52);});})[_0xc974('0x23')](function(){return new BPromise(function(_0x35bd9e,_0x34ce8d){rimraf(_0x3e5569,function(_0x2fc625){if(_0x2fc625)_0x34ce8d(_0x2fc625);return _0x35bd9e();});});})[_0xc974('0x23')](function(){return _0x47406f[_0xc974('0x117')](_0x276db3,_0x2e78f4,function(_0x43087f){if(_0x43087f){console[_0xc974('0x137')](_0xc974('0x138'),_0x43087f);}else{fs['unlinkSync'](_0x276db3);}});});});}else{return _0x47406f['sendStatus'](0xc8);}})['catch'](handleError(_0x47406f,null));};