451583b57ae5e140d2a7a1ef61cc8fd70219a145
[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 _0x66ea=['socket.io-emitter','register','jayson/promise','client','http','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','stack','name','send','Users','map','fullname','TagIds','Tags','split','forEach','index','rawAttributes','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','pick','select','field','color','from','tools_tags','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','left_join','u.id\x20=\x20ui.UserId','chat_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','chat_websites','chat_messages','me.ChatInteractionId\x20=\x20i.id','it.ChatInteractionId\x20=\x20i.id','expr','search','sqlOperator','conditions','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','text','start','Tag','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','find','UserId','some','compact','isEmpty','ChatWebsiteId','concat','createdAt','parse','$gte','$lte','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','QueryTypes','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','contactName','DESC','t.id\x20IN\x20?','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','agent','user','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','sequelize','toString','merge','a.key','Account.key','a.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','push','all','show','params','ChatInteraction','includeAll','include','options','create','body','destroy','describe','createVidaooSession','findOne','ChatWebsite','vidaooEscalation','vidaooApiKey','https://api-vidaoo.xcally.com/api/v1/sessions','follow','Sequelize','Error\x20in\x20Vidaoo\x20configuration','join_url','out','customUpdate','CmContact','abandonInteraction,\x20%s,\x20%s,\x20%s','abandon','ValidationError','Interaction\x20already\x20assigned','closed','disposition','attachmentUpload','file','originalname','filename','attachmentDownload','Unauthorized','Attachment','attachId','root','server/files/attachments/','basename','close','mailTranscript','join','server/files/chat/upload/','format','now','pathTranscript','ChatMessage','Messages','User','%s%d','agentAlias','System','customer','Visitor','agentIdentifier','website_alias','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','pass','SendMail','sendMail','\x22%s\x22\x20<%s>','email','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','hasOwnProperty','rows','getMyMessages','includeAgent','spread','findAll','chatInteractionTags:save','removeTags','download','unix','server','files','transcript-%d-%s.zip','lastName','attachments','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>','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','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','osName','referer','customerIp','customerPort','tail','existsSync','createReadStream','pipe','createWriteStream','firstName','renderFile','views','downloadInteraction.html','toFile','transcript-','.pdf','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','redis','defaults'];(function(_0x1d1d09,_0x504d77){var _0x8827e=function(_0x4f3128){while(--_0x4f3128){_0x1d1d09['push'](_0x1d1d09['shift']());}};_0x8827e(++_0x504d77);}(_0x66ea,0x122));var _0xa66e=function(_0x5433ce,_0x3413b9){_0x5433ce=_0x5433ce-0x0;var _0x45b07c=_0x66ea[_0x5433ce];return _0x45b07c;};'use strict';var pdf=require(_0xa66e('0x0'));var emlformat=require(_0xa66e('0x1'));var rimraf=require(_0xa66e('0x2'));var zipdir=require(_0xa66e('0x3'));var jsonpatch=require(_0xa66e('0x4'));var rp=require(_0xa66e('0x5'));var moment=require(_0xa66e('0x6'));var BPromise=require(_0xa66e('0x7'));var Mustache=require(_0xa66e('0x8'));var util=require(_0xa66e('0x9'));var path=require(_0xa66e('0xa'));var sox=require(_0xa66e('0xb'));var csv=require(_0xa66e('0xc'));var ejs=require(_0xa66e('0xd'));var fs=require('fs');var _=require(_0xa66e('0xe'));var squel=require(_0xa66e('0xf'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xa66e('0x10'));var toCsv=require(_0xa66e('0xc'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xa66e('0x11'));var authService=require(_0xa66e('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xa66e('0x13'));var hardwareService=require(_0xa66e('0x14'));var logger=require(_0xa66e('0x15'))('api');var utils=require('../../config/utils');var config=require(_0xa66e('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xa66e('0x17'))['db'];config[_0xa66e('0x18')]=_[_0xa66e('0x19')](config[_0xa66e('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0xa66e('0x1a'))(new Redis(config[_0xa66e('0x18')]));require('./chatInteraction.socket')[_0xa66e('0x1b')](socket);var jayson=require(_0xa66e('0x1c'));var client=jayson[_0xa66e('0x1d')][_0xa66e('0x1e')]({'port':0x232b});var client9004=jayson[_0xa66e('0x1d')][_0xa66e('0x1e')]({'port':0x232c});function respondWithRpcPromise(_0x8e08d,_0xd9dab,_0x246a6a,_0x38b643){return new BPromise(function(_0x4c99b3,_0x4b729d){var _0x18085d=_0x38b643||client;return _0x18085d['request'](_0x8e08d,_0x246a6a)[_0xa66e('0x1f')](function(_0x2e5cbf){logger[_0xa66e('0x20')](_0xa66e('0x21'),_0xd9dab,_0xa66e('0x22'));logger[_0xa66e('0x23')](_0xa66e('0x24'),_0xd9dab,_0xa66e('0x22'),JSON[_0xa66e('0x25')](_0x2e5cbf));if(_0x2e5cbf['error']){if(_0x2e5cbf[_0xa66e('0x26')][_0xa66e('0x27')]===0x1f4){logger[_0xa66e('0x26')]('ChatInteraction,\x20%s,\x20%s',_0xd9dab,_0x2e5cbf['error'][_0xa66e('0x28')]);return _0x4b729d(_0x2e5cbf['error'][_0xa66e('0x28')]);}logger[_0xa66e('0x26')](_0xa66e('0x21'),_0xd9dab,_0x2e5cbf[_0xa66e('0x26')][_0xa66e('0x28')]);return _0x4c99b3(_0x2e5cbf[_0xa66e('0x26')][_0xa66e('0x28')]);}else{logger[_0xa66e('0x20')](_0xa66e('0x21'),_0xd9dab,'request\x20sent');_0x4c99b3(_0x2e5cbf[_0xa66e('0x29')]['message']);}})[_0xa66e('0x2a')](function(_0x1e2aa9){logger[_0xa66e('0x26')]('ChatInteraction,\x20%s,\x20%s',_0xd9dab,_0x1e2aa9);_0x4b729d(_0x1e2aa9);});});}function respondWithStatusCode(_0x598b62,_0x58430e){_0x58430e=_0x58430e||0xcc;return function(_0x23672a){if(_0x23672a){return _0x598b62[_0xa66e('0x2b')](_0x58430e);}return _0x598b62[_0xa66e('0x2c')](_0x58430e)[_0xa66e('0x2d')]();};}function respondWithResult(_0x222093,_0x3b677c){_0x3b677c=_0x3b677c||0xc8;return function(_0x217a30){if(_0x217a30){return _0x222093[_0xa66e('0x2c')](_0x3b677c)[_0xa66e('0x2e')](_0x217a30);}};}function respondWithFilteredResult(_0x25c89b,_0x1b29c5){return function(_0x4075c6){if(_0x4075c6){var _0x5cc066=_0x4075c6[_0xa66e('0x2f')],_0x39b893=_0x1b29c5['offset'],_0x3bbf93=_0x1b29c5[_0xa66e('0x30')]+_0x1b29c5[_0xa66e('0x31')],_0x18737c;if(_0x3bbf93>=_0x5cc066){_0x3bbf93=_0x5cc066;_0x18737c=0xc8;}else{_0x18737c=0xce;}_0x25c89b[_0xa66e('0x2c')](_0x18737c);return _0x25c89b[_0xa66e('0x32')]('Content-Range',_0x39b893+'-'+_0x3bbf93+'/'+_0x5cc066)[_0xa66e('0x2e')](_0x4075c6);}return null;};}function patchUpdates(_0x31b4b3){return function(_0x40f4d2){try{jsonpatch[_0xa66e('0x33')](_0x40f4d2,_0x31b4b3,!![]);}catch(_0x3f3bfe){return BPromise[_0xa66e('0x34')](_0x3f3bfe);}return _0x40f4d2[_0xa66e('0x35')]();};}function saveUpdates(_0x39f571,_0x42ac29){return function(_0x204dce){if(_0x204dce){return _0x204dce[_0xa66e('0x36')](_0x39f571)[_0xa66e('0x1f')](function(_0x148d78){return _0x148d78;});}return null;};}function removeEntity(_0x565b5b,_0x2076c3){return function(_0xda947d){if(_0xda947d){return _0xda947d['destroy']()[_0xa66e('0x1f')](function(){_0x565b5b[_0xa66e('0x2c')](0xcc)[_0xa66e('0x2d')]();});}};}function handleEntityNotFound(_0x53a7a9,_0x264c47){return function(_0x2b85ff){if(!_0x2b85ff){_0x53a7a9[_0xa66e('0x2b')](0x194);}return _0x2b85ff;};}function handleError(_0x13cd00,_0x456c1a){_0x456c1a=_0x456c1a||0x1f4;return function(_0x3e0c0b){logger[_0xa66e('0x26')](_0x3e0c0b[_0xa66e('0x37')]);if(_0x3e0c0b[_0xa66e('0x38')]){delete _0x3e0c0b[_0xa66e('0x38')];}_0x13cd00[_0xa66e('0x2c')](_0x456c1a)[_0xa66e('0x39')](_0x3e0c0b);};}function getInteractionUsers(_0x6998bd,_0x5d6034){return new BPromise(function(_0x39dd5a,_0x4df2a2){try{if(_0x5d6034[_0x6998bd['id']]){_0x6998bd[_0xa66e('0x3a')]=_[_0xa66e('0x3b')](_0x5d6034[_0x6998bd['id']],function(_0x4a4df7){return{'id':_0x4a4df7['id'],'fullname':_0x4a4df7[_0xa66e('0x3c')]};});}}catch(_0x4bfcb5){_0x4df2a2(_0x4bfcb5);}_0x39dd5a(_0x6998bd);});}function getInteractionTags(_0x19159f,_0x5afb7c){return new BPromise(function(_0x14f1a9,_0x2c75f1){try{if(_0x19159f[_0xa66e('0x3d')]){_0x19159f[_0xa66e('0x3e')]=[];_0x19159f['TagIds'][_0xa66e('0x3f')](',')[_0xa66e('0x40')](function(_0x42400b){_0x19159f[_0xa66e('0x3e')]['push'](_0x5afb7c[_0x42400b]);});}delete _0x19159f[_0xa66e('0x3d')];}catch(_0x4ef7a0){_0x2c75f1(_0x4ef7a0);}_0x14f1a9(_0x19159f);});}function updateChatInteraction(_0x21aa72,_0x25e661,_0x5cb63e){return new BPromise(function(_0x1f1563,_0x222aa5){return getInteractionUsers(_0x21aa72,_0x5cb63e)['then'](function(_0x5ae718){return getInteractionTags(_0x5ae718,_0x25e661);})[_0xa66e('0x1f')](function(_0x17a21b){_0x1f1563(_0x17a21b);})['catch'](function(_0x610987){_0x222aa5(_0x610987);});});}exports[_0xa66e('0x41')]=function(_0x3382c4,_0x36a09c){var _0x56e9eb={},_0x1de7ef={},_0xb9590d={'count':0x0,'rows':[]};var _0xac08d1=_['map'](db['ChatInteraction'][_0xa66e('0x42')],function(_0x257291){return{'name':_0x257291['fieldName'],'type':_0x257291['type'][_0xa66e('0x43')]};});_0x1de7ef[_0xa66e('0x44')]=_[_0xa66e('0x3b')](_0xac08d1,'name');_0x1de7ef[_0xa66e('0x45')]=_[_0xa66e('0x46')](_0x3382c4['query']);_0x1de7ef[_0xa66e('0x47')]=_[_0xa66e('0x48')](_0x1de7ef[_0xa66e('0x44')],_0x1de7ef[_0xa66e('0x45')]);_0x56e9eb[_0xa66e('0x49')]=_[_0xa66e('0x48')](_0x1de7ef[_0xa66e('0x44')],qs[_0xa66e('0x4a')](_0x3382c4[_0xa66e('0x45')][_0xa66e('0x4a')]));_0x56e9eb[_0xa66e('0x49')]=_0x56e9eb[_0xa66e('0x49')][_0xa66e('0x4b')]?_0x56e9eb['attributes']:_0x1de7ef[_0xa66e('0x44')];if(!_0x3382c4['query']['hasOwnProperty'](_0xa66e('0x4c'))){_0x56e9eb['limit']=qs[_0xa66e('0x31')](_0x3382c4[_0xa66e('0x45')][_0xa66e('0x31')]);_0x56e9eb['offset']=qs['offset'](_0x3382c4[_0xa66e('0x45')][_0xa66e('0x30')]);}_0x56e9eb[_0xa66e('0x4d')]=qs[_0xa66e('0x4e')](_0x3382c4['query'][_0xa66e('0x4e')]);_0x56e9eb['where']=qs[_0xa66e('0x47')](_[_0xa66e('0x4f')](_0x3382c4[_0xa66e('0x45')],_0x1de7ef[_0xa66e('0x47')]),_0xac08d1);var _0x36fa81=[];var _0xf77bf1=squel[_0xa66e('0x50')]()['field']('id')['field'](_0xa66e('0x38'))[_0xa66e('0x51')](_0xa66e('0x52'))[_0xa66e('0x53')](_0xa66e('0x54'));var _0x83b745=squel['select']()['field']('u.id')[_0xa66e('0x51')](_0xa66e('0x55'))[_0xa66e('0x51')](_0xa66e('0x56'))[_0xa66e('0x53')](_0xa66e('0x57'),'ui')[_0xa66e('0x58')]('users','u',_0xa66e('0x59'));var _0x4a1b1b=squel[_0xa66e('0x50')]()[_0xa66e('0x53')](_0xa66e('0x5a'),'i')[_0xa66e('0x58')](_0xa66e('0x5b'),'c',_0xa66e('0x5c'))[_0xa66e('0x58')](_0xa66e('0x5d'),'o','o.id\x20=\x20i.UserId')[_0xa66e('0x58')](_0xa66e('0x5e'),'a','a.id\x20=\x20i.ChatWebsiteId')[_0xa66e('0x58')](_0xa66e('0x5f'),'me',_0xa66e('0x60'))[_0xa66e('0x58')]('chat_interaction_has_tags','it',_0xa66e('0x61'))[_0xa66e('0x58')](_0xa66e('0x54'),'t','t.id\x20=\x20it.TagId');var _0x1f67f9=squel[_0xa66e('0x62')]();var _0x50240f=[];var _0x71f167=squel[_0xa66e('0x62')]();var _0x3b23ef;if(_0x3382c4[_0xa66e('0x45')][_0xa66e('0x63')]){_0x3b23ef=as['parseSearch'](_0x3382c4[_0xa66e('0x45')][_0xa66e('0x63')]);var _0x4d2644=_0x3b23ef[_0xa66e('0x64')];for(var _0x4e2b70=0x0;_0x4e2b70<_0x3b23ef['conditions'][_0xa66e('0x4b')];_0x4e2b70++){var _0x3e523f=_0x3b23ef[_0xa66e('0x65')][_0x4e2b70];var _0x59414e='i';var _0x40df06=_['find'](_0xac08d1,[_0xa66e('0x38'),_0x3e523f[_0xa66e('0x51')]]);if(!_0x40df06){switch(_0x3e523f[_0xa66e('0x51')]){case'unreadMessages':if(_0x3e523f[_0xa66e('0x66')]==0x1){_0x4a1b1b[_0xa66e('0x67')]('`'+_0x3e523f['field']+_0xa66e('0x68'));}else{_0x4a1b1b['having']('`'+_0x3e523f[_0xa66e('0x51')]+_0xa66e('0x69'));}break;case _0xa66e('0x6a'):if(_0x3e523f[_0xa66e('0x6b')]===_0xa66e('0x6c')){if(_0x3e523f[_0xa66e('0x66')]['split']('\x20')[_0xa66e('0x4b')]>0x1){_0x1f67f9[_0x4d2644](_0xa66e('0x6d'),qs[_0xa66e('0x6e')](_0x3e523f[_0xa66e('0x66')]),null);}else{var _0x4308e5='%'+_0x3e523f['value']+'%';_0x1f67f9[_0x4d2644](_0xa66e('0x6f'),_0x4308e5,_0x4308e5,_0x4308e5);}}else{_0x40df06=_['find'](_0xac08d1,[_0xa66e('0x38'),'ContactId']);_0x3e523f[_0xa66e('0x51')]=_0xa66e('0x70');_0x340bb3=as[_0xa66e('0x71')](_0x59414e,_0x40df06[_0xa66e('0x72')],_0x3e523f);_0x1f67f9[_0x4d2644](_0x340bb3[_0xa66e('0x73')],_0x340bb3[_0xa66e('0x66')][_0xa66e('0x74')],_0x340bb3['value']['end']);}break;case _0xa66e('0x75'):var _0x1b9307=_0x3e523f['value'][_0xa66e('0x3f')](',')[_0xa66e('0x3b')](function(_0x41e4a6){return Number(_0x41e4a6);});_0x1b9307[_0xa66e('0x40')](function(_0x1190c9){_0x71f167['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x1190c9+',%');});_0x50240f=_[_0xa66e('0x76')](_0x50240f,_0x1b9307);break;case'User':if(_0x3e523f['operator']==='$substring'){_0x1f67f9[_0x4d2644](_0xa66e('0x77'),'%'+_0x3e523f[_0xa66e('0x66')]+'%',null);}else{_0x40df06=_[_0xa66e('0x78')](_0xac08d1,[_0xa66e('0x38'),_0xa66e('0x79')]);_0x3e523f[_0xa66e('0x51')]=_0xa66e('0x79');_0x340bb3=as['buildExpression'](_0x59414e,_0x40df06[_0xa66e('0x72')],_0x3e523f);_0x1f67f9[_0x4d2644](_0x340bb3[_0xa66e('0x73')],_0x340bb3[_0xa66e('0x66')][_0xa66e('0x74')],_0x340bb3[_0xa66e('0x66')][_0xa66e('0x2d')]);}break;case'body':_0x340bb3=as[_0xa66e('0x71')]('me',null,_0x3e523f);_0x1f67f9[_0x4d2644](_0x340bb3['text'],_0x340bb3[_0xa66e('0x66')][_0xa66e('0x74')],_0x340bb3['value'][_0xa66e('0x2d')]);break;}}else{var _0x340bb3=as[_0xa66e('0x71')](_0x59414e,_0x40df06[_0xa66e('0x72')],_0x3e523f);_0x1f67f9[_0x4d2644](_0x340bb3[_0xa66e('0x73')],_0x340bb3[_0xa66e('0x66')][_0xa66e('0x74')],_0x340bb3[_0xa66e('0x66')]['end']);}}}else{var _0x5c5812=_(_0x3382c4[_0xa66e('0x45')])[_0xa66e('0x46')]()['map'](function(_0x91e4bd){return _[_0xa66e('0x7a')](_0xac08d1,[_0xa66e('0x38'),_0x91e4bd])?_0x91e4bd:undefined;})[_0xa66e('0x7b')]()['value']();if(!_[_0xa66e('0x7c')](_0x5c5812)){_0x5c5812[_0xa66e('0x40')](function(_0x2d76a9){if(_0x2d76a9===_0xa66e('0x7d')){_0x4a1b1b['where']('i.ChatWebsiteId\x20IN\x20?',[][_0xa66e('0x7e')](_0x3382c4[_0xa66e('0x45')][_0x2d76a9]));}else if(_0x2d76a9===_0xa66e('0x7f')){var _0xb8a1e1=JSON[_0xa66e('0x80')](_0x3382c4[_0xa66e('0x45')][_0x2d76a9])[_0xa66e('0x81')];var _0x13df60=JSON[_0xa66e('0x80')](_0x3382c4['query'][_0x2d76a9])[_0xa66e('0x82')];_0x4a1b1b[_0xa66e('0x83')](_0xa66e('0x84'),_0xb8a1e1,_0x13df60);}else{if(_0x3382c4[_0xa66e('0x45')][_0x2d76a9]===_0xa66e('0x85')){_0x4a1b1b[_0xa66e('0x83')]('i.'+_0x2d76a9+_0xa66e('0x86'));}else{_0x4a1b1b[_0xa66e('0x83')]('i.'+_0x2d76a9+'\x20=\x20?',_0x3382c4[_0xa66e('0x45')][_0x2d76a9]);}}});}if(_0x3382c4[_0xa66e('0x45')][_0xa66e('0x87')]){if(_0x3382c4[_0xa66e('0x45')]['read']==0x1){_0x4a1b1b[_0xa66e('0x67')](_0xa66e('0x88'));}else{_0x4a1b1b['having']('`unreadMessages`\x20>\x200');}}if(_0x3382c4[_0xa66e('0x45')][_0xa66e('0x89')]){_0x50240f=_[_0xa66e('0x8a')](_0x3382c4['query'][_0xa66e('0x89')])?_0x3382c4[_0xa66e('0x45')]['tag']:new Array(_0x3382c4[_0xa66e('0x45')][_0xa66e('0x89')]);_0x50240f[_0xa66e('0x40')](function(_0x20b945){_0x71f167['or'](_0xa66e('0x8b'),'%,'+_0x20b945+',%');});}if(_0x3382c4[_0xa66e('0x45')][_0xa66e('0x8c')]){var _0x1dfa2e=_0x3382c4[_0xa66e('0x45')]['filter'][_0xa66e('0x8d')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x1dfa2e)){_0x1f67f9['or'](_0xa66e('0x8e'),_0x1dfa2e+'%');}else{_0x1f67f9['or'](_0xa66e('0x8f'),qs[_0xa66e('0x6e')](_0x1dfa2e))['or'](_0xa66e('0x90'),_0x1dfa2e+'%');}}}_0x4a1b1b['where'](_0x1f67f9);_0x4a1b1b[_0xa66e('0x91')]('i.id');var _0x4d9581={'type':db['Sequelize'][_0xa66e('0x92')][_0xa66e('0x93')],'raw':!![]};var _0x280041=_0x4a1b1b[_0xa66e('0x94')]();_0x280041[_0xa66e('0x51')](_0xa66e('0x95'));_0x280041[_0xa66e('0x51')](_0xa66e('0x96'),_0xa66e('0x97'));if(_0x56e9eb[_0xa66e('0x4d')]){_0x56e9eb[_0xa66e('0x4d')][_0xa66e('0x40')](function(_0x3d508b){var _0xaec449=_0x3d508b[0x0]===_0xa66e('0x98')?_0x3d508b[0x0]:'i.'+_0x3d508b[0x0];_0x4a1b1b[_0xa66e('0x4d')](_0xaec449,_0x3d508b[0x1]===_0xa66e('0x99')?![]:!![]);});}if(!_[_0xa66e('0x7c')](_0x50240f)){_0x4a1b1b[_0xa66e('0x67')](_0x71f167);_0x280041[_0xa66e('0x83')](_0xa66e('0x9a'),_0x50240f);}BPromise['resolve']()['then'](function(){if(!_0x3b23ef){if(_0x3382c4[_0xa66e('0x45')][_0xa66e('0x7d')])return;_0x280041[_0xa66e('0x83')](_0xa66e('0x9b'));_0x4a1b1b[_0xa66e('0x83')](_0xa66e('0x9b'));return;}if(_0x3382c4['user'][_0xa66e('0x9c')]!==_0xa66e('0x9d'))return;return _0x3382c4[_0xa66e('0x9e')]['getChatWebsites']({'attributes':['id'],'raw':!![]})[_0xa66e('0x1f')](function(_0x53558b){if(_['isEmpty'](_0x53558b)){_0x280041[_0xa66e('0x83')]('i.ChatWebsiteId\x20IS\x20NULL');_0x4a1b1b[_0xa66e('0x83')](_0xa66e('0x9f'));}else{_0x280041[_0xa66e('0x83')](_0xa66e('0xa0'),_[_0xa66e('0x3b')](_0x53558b,'id'));_0x4a1b1b[_0xa66e('0x83')]('i.ChatWebsiteId\x20IN\x20?',_['map'](_0x53558b,'id'));}});})[_0xa66e('0x1f')](function(){if(_0x3382c4[_0xa66e('0x9e')][_0xa66e('0x9c')]===_0xa66e('0x9d')&&!_0x3b23ef&&!_0x3382c4[_0xa66e('0x45')][_0xa66e('0x7d')])return[];return db[_0xa66e('0xa1')][_0xa66e('0x45')](_0x280041[_0xa66e('0xa2')](),_0x4d9581);})[_0xa66e('0x1f')](function(_0x387fcd){_0xb9590d[_0xa66e('0x2f')]=_0x387fcd[_0xa66e('0x4b')];if(_0xb9590d[_0xa66e('0x2f')]===0x0)return[];return db['sequelize'][_0xa66e('0x45')](_0xf77bf1[_0xa66e('0xa2')](),_0x4d9581)[_0xa66e('0x1f')](function(_0x44ec97){_0x36fa81=_['keyBy'](_0x44ec97,'id');_0x4d9581=_[_0xa66e('0xa3')](_0x4d9581,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3382c4[_0xa66e('0x45')]['fields']){_0x56e9eb['attributes']['forEach'](function(_0x1644a6){_0x4a1b1b[_0xa66e('0x51')]('i.'+_0x1644a6);});}else{_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0x96'),_0xa66e('0x97'));_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xa4'),_0xa66e('0xa5'));_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xa6'),'Account.mandatoryDisposition');_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xa7'),_0xa66e('0x98'));_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xa8'));_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xa9'),_0xa66e('0xaa'));_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xab'),_0xa66e('0xac'));_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xad'),'Contact.email');_0x4a1b1b['field']('c.phone',_0xa66e('0xae'));_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xaf'),_0xa66e('0xb0'));_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xb1'),_0xa66e('0xb2'));_0x4a1b1b[_0xa66e('0x51')](_0xa66e('0xb3'),_0xa66e('0xb4'));_0x4a1b1b[_0xa66e('0x51')]('o.internal','Owner.internal');_0x4a1b1b[_0xa66e('0x51')]('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0x56e9eb[_0xa66e('0x31')])_0x4a1b1b[_0xa66e('0x31')](_0x56e9eb[_0xa66e('0x31')]);if(_0x56e9eb['offset'])_0x4a1b1b[_0xa66e('0x30')](_0x56e9eb['offset']);return db[_0xa66e('0xa1')][_0xa66e('0x45')](_0x4a1b1b['toString'](),_0x4d9581);})['then'](function(_0x402095){_0x83b745[_0xa66e('0x83')](_0xa66e('0xb5'),_[_0xa66e('0x3b')](_0x402095,'id'));return db[_0xa66e('0xa1')][_0xa66e('0x45')](_0x83b745[_0xa66e('0xa2')](),_0x4d9581)['then'](function(_0x59fa67){var _0x5808a7=_[_0xa66e('0xb6')](_0x59fa67,_0xa66e('0xb7'));var _0x5f3306=[];_0x402095[_0xa66e('0x40')](function(_0x578958){_0x5f3306[_0xa66e('0xb8')](updateChatInteraction(_0x578958,_0x36fa81,_0x5808a7));});return BPromise[_0xa66e('0xb9')](_0x5f3306);});});})[_0xa66e('0x1f')](function(_0xad1912){_0xb9590d['rows']=_0xad1912;return _0xb9590d;})[_0xa66e('0x1f')](respondWithFilteredResult(_0x36a09c,_0x56e9eb))[_0xa66e('0x2a')](handleError(_0x36a09c,null));};exports[_0xa66e('0xba')]=function(_0x72a618,_0x884224){var _0xd4ec51={'raw':![],'where':{'id':_0x72a618[_0xa66e('0xbb')]['id']}},_0x901b65={};_0x901b65[_0xa66e('0x44')]=_[_0xa66e('0x46')](db[_0xa66e('0xbc')][_0xa66e('0x42')]);_0x901b65[_0xa66e('0x45')]=_[_0xa66e('0x46')](_0x72a618[_0xa66e('0x45')]);_0x901b65['filters']=_[_0xa66e('0x48')](_0x901b65[_0xa66e('0x44')],_0x901b65[_0xa66e('0x45')]);_0xd4ec51[_0xa66e('0x49')]=_[_0xa66e('0x48')](_0x901b65[_0xa66e('0x44')],qs[_0xa66e('0x4a')](_0x72a618['query'][_0xa66e('0x4a')]));_0xd4ec51[_0xa66e('0x49')]=_0xd4ec51[_0xa66e('0x49')][_0xa66e('0x4b')]?_0xd4ec51[_0xa66e('0x49')]:_0x901b65['model'];if(_0x72a618[_0xa66e('0x45')][_0xa66e('0xbd')]){_0xd4ec51[_0xa66e('0xbe')]=[{'all':!![]}];}_0xd4ec51=_[_0xa66e('0xa3')]({},_0xd4ec51,_0x72a618[_0xa66e('0xbf')]);return db[_0xa66e('0xbc')][_0xa66e('0x78')](_0xd4ec51)[_0xa66e('0x1f')](handleEntityNotFound(_0x884224,null))[_0xa66e('0x1f')](respondWithResult(_0x884224,null))['catch'](handleError(_0x884224,null));};exports[_0xa66e('0xc0')]=function(_0x521286,_0x49bf6a){return db['ChatInteraction'][_0xa66e('0xc0')](_0x521286[_0xa66e('0xc1')],{})[_0xa66e('0x1f')](respondWithResult(_0x49bf6a,0xc9))[_0xa66e('0x2a')](handleError(_0x49bf6a,null));};exports['update']=function(_0x4b7f83,_0x3c6244){if(_0x4b7f83['body']['id']){delete _0x4b7f83['body']['id'];}return db[_0xa66e('0xbc')][_0xa66e('0x78')]({'where':{'id':_0x4b7f83['params']['id']}})['then'](handleEntityNotFound(_0x3c6244,null))['then'](saveUpdates(_0x4b7f83['body'],null))[_0xa66e('0x1f')](respondWithResult(_0x3c6244,null))[_0xa66e('0x2a')](handleError(_0x3c6244,null));};exports[_0xa66e('0xc2')]=function(_0x57d0fd,_0x1824be){return db['ChatInteraction']['find']({'where':{'id':_0x57d0fd[_0xa66e('0xbb')]['id']}})['then'](handleEntityNotFound(_0x1824be,null))['then'](removeEntity(_0x1824be,null))[_0xa66e('0x2a')](handleError(_0x1824be,null));};exports[_0xa66e('0xc3')]=function(_0x3d87c1,_0x2e6203){return db[_0xa66e('0xbc')][_0xa66e('0xc3')]()[_0xa66e('0x1f')](respondWithResult(_0x2e6203,null))['catch'](handleError(_0x2e6203,null));};exports[_0xa66e('0xc4')]=function(_0x171b73,_0x3da40a){var _0x5ed61b=_0x171b73['params']['id'];var _0x4142e5;var _0x398127;var _0x48ecb2;return db[_0xa66e('0xbc')][_0xa66e('0xc5')]({'where':{'id':_0x5ed61b}})[_0xa66e('0x1f')](function(_0x324b44){_0x4142e5=_0x324b44;return db[_0xa66e('0xc6')][_0xa66e('0xc5')]({'where':{'id':_0x324b44[_0xa66e('0x7d')]},'attributes':['id','vidaooApiKey',_0xa66e('0xc7')],'raw':!![]});})[_0xa66e('0x1f')](function(_0x1ba853){if(_0x1ba853&&_0x1ba853[_0xa66e('0xc8')]&&_0x1ba853[_0xa66e('0xc7')]){_0x398127=_0x1ba853;var _0x47a812={'rejectUnauthorized':![],'method':'POST','uri':_0xa66e('0xc9'),'headers':{'X-APIKEY':_0x1ba853[_0xa66e('0xc8')]},'body':{'name':'MotionCWB:'+_0x5ed61b},'redirect':_0xa66e('0xca'),'json':!![]};return rp(_0x47a812);}else{throw new db[(_0xa66e('0xcb'))]['ValidationError'](_0xa66e('0xcc'));}})[_0xa66e('0x1f')](function(_0x230bfe){_0x48ecb2=_0x230bfe;if(_0x48ecb2['id']){var _0x4ba6ec={'body':_0x48ecb2[_0xa66e('0xcd')],'ChatWebsiteId':_0x398127['id'],'ChatInteractionId':_0x4142e5['id'],'direction':_0xa66e('0xce'),'UserId':_0x171b73[_0xa66e('0x9e')]['id']};return db['ChatMessage'][_0xa66e('0xc0')](_0x4ba6ec,{});}else{throw new db[(_0xa66e('0xcb'))]['ValidationError']('Unable\x20to\x20create\x20Vidaoo\x20session');}})[_0xa66e('0x1f')](function(){return _0x4142e5['updateAttributes']({'vidaooSessionId':_0x48ecb2['id']});})[_0xa66e('0x1f')](respondWithResult(_0x3da40a,null))[_0xa66e('0x2a')](handleError(_0x3da40a,null));};exports[_0xa66e('0xcf')]=function(_0x5ba4c6,_0x439477){if(_0x5ba4c6[_0xa66e('0xc1')]['id']){delete _0x5ba4c6[_0xa66e('0xc1')]['id'];}return db['ChatInteraction'][_0xa66e('0x78')]({'where':{'id':_0x5ba4c6[_0xa66e('0xbb')]['id']},'include':[{'model':db[_0xa66e('0xd0')],'as':_0xa66e('0x6a')}]})[_0xa66e('0x1f')](handleEntityNotFound(_0x439477,null))[_0xa66e('0x1f')](saveUpdates(_0x5ba4c6[_0xa66e('0xc1')],null))[_0xa66e('0x1f')](respondWithResult(_0x439477,null))[_0xa66e('0x2a')](handleError(_0x439477,null));};exports['abandon']=function(_0x20a531,_0x3a6e56,_0x2ed3b2){if(_0x20a531[_0xa66e('0xc1')]['id']){delete _0x20a531[_0xa66e('0xc1')]['id'];}return db[_0xa66e('0xbc')][_0xa66e('0x78')]({'where':{'id':_0x20a531[_0xa66e('0xbb')]['id']}})[_0xa66e('0x1f')](function(_0x1484a3){if(!_0x1484a3){logger[_0xa66e('0x26')](_0xa66e('0xd1'),_0xa66e('0xd2'),0x194,'entity\x20not\x20found');_0x3a6e56[_0xa66e('0x2b')](0x194);}else{if(_0x1484a3[_0xa66e('0x79')]){throw new db[(_0xa66e('0xcb'))][(_0xa66e('0xd3'))](_0xa66e('0xd4'));}}return _0x1484a3;})['then'](function(_0x4ad22d){if(_0x4ad22d){return _0x4ad22d[_0xa66e('0x36')]({'closed':_0x20a531[_0xa66e('0xc1')][_0xa66e('0xd5')],'disposition':_0x20a531[_0xa66e('0xc1')][_0xa66e('0xd6')]})[_0xa66e('0x1f')](function(_0x4557b3){return _0x4557b3;});}})['then'](function(_0x597284){return respondWithRpcPromise('AbandonInteraction',_0xa66e('0xd2'),_0x20a531[_0xa66e('0xc1')],client9004);})['then'](respondWithResult(_0x3a6e56,null))[_0xa66e('0x2a')](handleError(_0x3a6e56,null));};exports[_0xa66e('0xd7')]=function(_0x86e95d,_0x5b3fce,_0x3738d7){_0x86e95d[_0xa66e('0xc1')][_0xa66e('0x38')]=_0x86e95d[_0xa66e('0xd8')][_0xa66e('0xd9')];_0x86e95d[_0xa66e('0xc1')]['basename']=_0x86e95d[_0xa66e('0xd8')][_0xa66e('0xda')];_0x86e95d[_0xa66e('0xc1')]['type']=_0x86e95d[_0xa66e('0xd8')]['mimetype'];return db['Attachment'][_0xa66e('0xc0')](_0x86e95d['body'])['then'](respondWithResult(_0x5b3fce,0xc9))[_0xa66e('0x2a')](handleError(_0x5b3fce,null));};exports[_0xa66e('0xdb')]=function(_0x376b5d,_0x1cdacb,_0x3b7270){return db[_0xa66e('0xbc')][_0xa66e('0xc5')]({'where':{'id':_0x376b5d[_0xa66e('0xbb')]['id']},'raw':!![]})[_0xa66e('0x1f')](handleEntityNotFound(_0x1cdacb,null))[_0xa66e('0x1f')](function(_0x153580){if(_0x153580){if(_0x153580[_0xa66e('0xd5')]){return _0x1cdacb['status'](0x193)[_0xa66e('0x2e')]({'status':0x193,'message':_0xa66e('0xdc')});}return db[_0xa66e('0xdd')][_0xa66e('0xc5')]({'where':{'id':_0x376b5d[_0xa66e('0x45')][_0xa66e('0xde')]},'raw':!![]})[_0xa66e('0x1f')](handleEntityNotFound(_0x1cdacb,null));}})[_0xa66e('0x1f')](function(_0x5145bb){if(_0x5145bb){return _0x1cdacb['download'](path['join'](config[_0xa66e('0xdf')],_0xa66e('0xe0'),_0x5145bb[_0xa66e('0xe1')]));}})[_0xa66e('0x2a')](handleError(_0x1cdacb,null));};exports[_0xa66e('0xe2')]=function(_0x58e6cb,_0x5553a1){var _0x17b223=null;var _0x9dd5af=null;var _0x357bf2=null;var _0x131ea1=null;if(_0x58e6cb[_0xa66e('0xc1')]['id']){delete _0x58e6cb[_0xa66e('0xc1')]['id'];}if(_0x58e6cb['body'][_0xa66e('0xe3')]){_0x131ea1=path[_0xa66e('0xe4')](config[_0xa66e('0xdf')],_0xa66e('0xe5'),util[_0xa66e('0xe6')]('transcript-%s.txt',Date[_0xa66e('0xe7')]()));_0x58e6cb[_0xa66e('0xc1')][_0xa66e('0xe8')]=_0x131ea1;}return db['ChatInteraction'][_0xa66e('0x78')]({'where':{'id':_0x58e6cb[_0xa66e('0xbb')]['id']},'include':[{'model':db[_0xa66e('0xe9')],'as':_0xa66e('0xea'),'include':[{'model':db[_0xa66e('0xeb')],'as':_0xa66e('0xeb')}]}]})[_0xa66e('0x1f')](handleEntityNotFound(_0x5553a1,null))[_0xa66e('0x1f')](saveUpdates(_0x58e6cb[_0xa66e('0xc1')],null))['then'](function(_0x55d1a6){if(_0x55d1a6){_0x17b223=_0x55d1a6;return db[_0xa66e('0xc6')][_0xa66e('0x78')]({'where':{'id':_0x17b223['ChatWebsiteId']}});}})[_0xa66e('0x1f')](function(_0x221839){if(_0x221839){_0x357bf2=_0x221839;return db[_0xa66e('0xd0')][_0xa66e('0x78')]({'where':{'id':_0x17b223['ContactId']}});}})[_0xa66e('0x1f')](function(_0x535ba8){if(_0x535ba8){_0x9dd5af=_0x535ba8;if(_0x131ea1){var _0x26c8c9=null;for(var _0x559f2b=0x1;_0x559f2b<_0x17b223[_0xa66e('0xea')][_0xa66e('0x4b')];++_0x559f2b){_0x26c8c9=_0x17b223[_0xa66e('0xea')][_0x559f2b];var _0x205b6d=_0x26c8c9[_0xa66e('0x79')]?util[_0xa66e('0xe6')](_0xa66e('0xec'),_0x357bf2[_0xa66e('0xed')],_0x26c8c9[_0xa66e('0x79')]):_0xa66e('0xee');var _0xb352c4=_0x58e6cb[_0xa66e('0xc1')][_0xa66e('0xef')]||util['format'](_0xa66e('0xec'),_0xa66e('0xf0'),_0x26c8c9[_0xa66e('0x70')]);switch(_0x357bf2[_0xa66e('0xf1')]){case _0xa66e('0xf2'):_0x205b6d=_0x26c8c9[_0xa66e('0x79')]?util[_0xa66e('0xe6')](_0xa66e('0xec'),_0x357bf2[_0xa66e('0xed')],_0x26c8c9[_0xa66e('0x79')]):'System';break;case _0xa66e('0xf3'):_0x205b6d=_0x26c8c9['UserId']?_0x26c8c9[_0xa66e('0xeb')][_0xa66e('0xf4')]||_0x26c8c9[_0xa66e('0xeb')][_0xa66e('0x3c')]:_0xa66e('0xee');break;case _0xa66e('0xf5'):_0x205b6d=_0x26c8c9[_0xa66e('0x79')]?_0x26c8c9['User'][_0xa66e('0x3c')]:_0xa66e('0xee');break;default:_0x205b6d=_0x26c8c9[_0xa66e('0x79')]?util['format'](_0xa66e('0xec'),_0x357bf2[_0xa66e('0xed')],_0x26c8c9['UserId']):'System';}var _0x5c4dfa=util[_0xa66e('0xe6')](_0xa66e('0xf6'),moment(_0x26c8c9[_0xa66e('0x7f')])[_0xa66e('0xe6')](_0xa66e('0xf7')),_0x26c8c9[_0xa66e('0xf8')]==='in'?_0xb352c4:_0x205b6d,_0x26c8c9[_0xa66e('0xc1')]);if(!_0x26c8c9[_0xa66e('0xf9')]){fs[_0xa66e('0xfa')](_0x131ea1,_0x5c4dfa);}}return db[_0xa66e('0xfb')][_0xa66e('0xc5')]({'where':{'service':!![]},'include':[{'model':db[_0xa66e('0xfc')],'as':_0xa66e('0xfd'),'raw':!![]}]});}}})[_0xa66e('0x1f')](function(_0x1771ac){if(_0x1771ac&&_0x1771ac[_0xa66e('0xfd')]&&_0x58e6cb['body']){var _0x43efa7={'tls':{'rejectUnauthorized':![]}};if(_0x1771ac['Smtp']['service']){_0x43efa7[_0xa66e('0xfe')]=_0x1771ac[_0xa66e('0xfd')][_0xa66e('0xfe')];}else{_0x43efa7[_0xa66e('0xff')]=_0x1771ac[_0xa66e('0xfd')][_0xa66e('0xff')];_0x43efa7['port']=_0x1771ac['Smtp'][_0xa66e('0x100')];_0x43efa7[_0xa66e('0x101')]=_0x1771ac[_0xa66e('0xfd')]['secure'];}if(_0x1771ac[_0xa66e('0xfd')]['authentication']){_0x43efa7['auth']={'user':_0x1771ac[_0xa66e('0xfd')]['user'],'pass':_0x1771ac[_0xa66e('0xfd')][_0xa66e('0x102')]};}return respondWithRpcPromise(_0xa66e('0x103'),_0xa66e('0x104'),{'account':_0x43efa7,'message':{'from':util[_0xa66e('0xe6')](_0xa66e('0x105'),_0x1771ac[_0xa66e('0x38')],_0x1771ac[_0xa66e('0x106')]||_0x1771ac['Smtp'][_0xa66e('0x9e')]),'to':_0x58e6cb[_0xa66e('0xc1')]['mailTranscript'],'subject':_0xa66e('0x107'),'text':util[_0xa66e('0xe6')](_0xa66e('0x108'),_0x58e6cb[_0xa66e('0xc1')][_0xa66e('0xe3')]),'attachments':[{'path':_0x131ea1}]}})['then'](function(){return _0x17b223;})[_0xa66e('0x2a')](function(_0x3acdd0){console[_0xa66e('0x26')](_0x3acdd0);});}else{return _0x17b223;}})['then'](respondWithStatusCode(_0x5553a1,0xc8))[_0xa66e('0x2a')](handleError(_0x5553a1,null));};exports[_0xa66e('0x109')]=function(_0x2c2aac,_0x19da68,_0x39b6d1){return db['ChatMessage'][_0xa66e('0x78')]({'where':{'id':_0x2c2aac[_0xa66e('0xbb')]['id']}})['then'](handleEntityNotFound(_0x19da68,null))[_0xa66e('0x1f')](function(_0x24569d){if(_0x24569d){return _0x24569d[_0xa66e('0x109')](_0x2c2aac['body'][_0xa66e('0x10a')],_[_0xa66e('0x10b')](_0x2c2aac['body'],[_0xa66e('0x10a'),'id'])||{});}})['then'](respondWithResult(_0x19da68,null))[_0xa66e('0x2a')](handleError(_0x19da68,null));};exports[_0xa66e('0x10c')]=function(_0xc7ab28,_0x46a13e,_0x325ea1){var _0x434261={'raw':![],'where':{}};var _0x507e72={};var _0x125a5b={'count':0x0,'rows':[]};return db[_0xa66e('0xbc')][_0xa66e('0xc5')]({'where':{'id':_0xc7ab28['params']['id']}})[_0xa66e('0x1f')](handleEntityNotFound(_0x46a13e,null))[_0xa66e('0x1f')](function(_0x5becbb){if(_0x5becbb){_0x507e72[_0xa66e('0x44')]=_['keys'](db[_0xa66e('0xe9')]['rawAttributes']);_0x507e72['query']=_['keys'](_0xc7ab28['query']);_0x507e72[_0xa66e('0x47')]=_[_0xa66e('0x48')](_0x507e72['model'],_0x507e72[_0xa66e('0x45')]);_0x434261[_0xa66e('0x49')]=_['intersection'](_0x507e72['model'],qs[_0xa66e('0x4a')](_0xc7ab28['query']['fields']));_0x434261[_0xa66e('0x49')]=_0x434261[_0xa66e('0x49')]['length']?_0x434261['attributes']:_0x507e72['model'];if(!_0xc7ab28['query'][_0xa66e('0x10d')](_0xa66e('0x4c'))){_0x434261['limit']=qs['limit'](_0xc7ab28['query'][_0xa66e('0x31')]);_0x434261[_0xa66e('0x30')]=qs[_0xa66e('0x30')](_0xc7ab28[_0xa66e('0x45')]['offset']);}_0x434261[_0xa66e('0x4d')]=qs['sort'](_0xc7ab28[_0xa66e('0x45')]['sort']);_0x434261['where']=qs[_0xa66e('0x47')](_['pick'](_0xc7ab28[_0xa66e('0x45')],_0x507e72[_0xa66e('0x47')]));_0x434261[_0xa66e('0x83')][_0xa66e('0xb7')]=_0x5becbb['id'];if(_0xc7ab28[_0xa66e('0x45')][_0xa66e('0x8c')]){_0x434261[_0xa66e('0x83')]=_['merge'](_0x434261[_0xa66e('0x83')],{'$or':_[_0xa66e('0x3b')](_0x434261['attributes'],function(_0xf697fc){var _0x4226e2={};_0x4226e2[_0xf697fc]={'$like':'%'+_0xc7ab28[_0xa66e('0x45')][_0xa66e('0x8c')]+'%'};return _0x4226e2;})});}if(_0xc7ab28[_0xa66e('0x45')][_0xa66e('0x81')]){var _0x1fe97f=_0xc7ab28[_0xa66e('0x45')]['$gte'][_0xa66e('0x3f')](',');var _0x342135={};_0x342135[_0x1fe97f[0x0]]={'$gte':moment(_0x1fe97f[0x1])[_0xa66e('0xe6')]('YYYY-MM-DD\x20HH:mm:ss')};_0x434261[_0xa66e('0x83')]=_[_0xa66e('0xa3')](_0x434261['where'],_0x342135);}_0x434261=_[_0xa66e('0xa3')]({},_0x434261,_0xc7ab28[_0xa66e('0xbf')]);return db[_0xa66e('0xe9')][_0xa66e('0x2f')]({'where':_0x434261[_0xa66e('0x83')]})[_0xa66e('0x1f')](function(_0x47dd6a){_0x125a5b[_0xa66e('0x2f')]=_0x47dd6a;if(_0xc7ab28[_0xa66e('0x45')][_0xa66e('0xbd')]){_0x434261[_0xa66e('0xbe')]=[{'all':!![]}];}return db[_0xa66e('0xe9')]['findAll'](_0x434261);})['then'](function(_0x4a2daa){_0x125a5b[_0xa66e('0x10e')]=_0x4a2daa;return _0x125a5b;});}})['then'](respondWithFilteredResult(_0x46a13e,_0x434261))[_0xa66e('0x2a')](handleError(_0x46a13e,null));};exports[_0xa66e('0x10f')]=function(_0x48c2e4,_0x369048,_0xe32c58){var _0x43e73d={'where':{}},_0x4c52e0={},_0x23a1b3={'count':0x0,'rows':[]};return db[_0xa66e('0xbc')]['findOne']({'where':{'id':_0x48c2e4[_0xa66e('0xbb')]['id']}})['then'](handleEntityNotFound(_0x369048,null))[_0xa66e('0x1f')](function(_0x5d63f2){if(_0x5d63f2){_0x4c52e0[_0xa66e('0x44')]=_[_0xa66e('0x46')](db['ChatMessage']['rawAttributes']);_0x4c52e0[_0xa66e('0x45')]=_[_0xa66e('0x46')](_0x48c2e4[_0xa66e('0x45')]);_0x4c52e0[_0xa66e('0x47')]=_[_0xa66e('0x48')](_0x4c52e0[_0xa66e('0x44')],_0x4c52e0[_0xa66e('0x45')]);_0x43e73d['attributes']=_[_0xa66e('0x48')](_0x4c52e0[_0xa66e('0x44')],qs[_0xa66e('0x4a')](_0x48c2e4['query'][_0xa66e('0x4a')]));_0x43e73d[_0xa66e('0x49')]=_0x43e73d[_0xa66e('0x49')][_0xa66e('0x4b')]?_0x43e73d[_0xa66e('0x49')]:_0x4c52e0[_0xa66e('0x44')];if(!_0x48c2e4[_0xa66e('0x45')][_0xa66e('0x10d')](_0xa66e('0x4c'))){_0x43e73d[_0xa66e('0x31')]=qs[_0xa66e('0x31')](_0x48c2e4['query']['limit']);_0x43e73d[_0xa66e('0x30')]=qs[_0xa66e('0x30')](_0x48c2e4[_0xa66e('0x45')][_0xa66e('0x30')]);}_0x43e73d[_0xa66e('0x4d')]=qs[_0xa66e('0x4e')](_0x48c2e4['query']['sort']);_0x43e73d[_0xa66e('0x83')]=qs[_0xa66e('0x47')](_[_0xa66e('0x4f')](_0x48c2e4[_0xa66e('0x45')],_0x4c52e0['filters']));_0x43e73d['where'][_0xa66e('0xb7')]=_0x5d63f2['id'];if(_0x48c2e4[_0xa66e('0x45')][_0xa66e('0x8c')]){_0x43e73d[_0xa66e('0x83')]=_[_0xa66e('0xa3')](_0x43e73d[_0xa66e('0x83')],{'$or':_['map'](_0x43e73d[_0xa66e('0x49')],function(_0x5980c9){var _0x184ba2={};_0x184ba2[_0x5980c9]={'$like':'%'+_0x48c2e4[_0xa66e('0x45')]['filter']+'%'};return _0x184ba2;})});}_0x43e73d[_0xa66e('0x83')][_0xa66e('0xf9')]=![];if(_0x48c2e4['query']['id']){_0x43e73d[_0xa66e('0x83')]['id']={'$gt':_0x48c2e4['query']['id']};}_0x43e73d=_[_0xa66e('0xa3')]({},_0x43e73d,_0x48c2e4[_0xa66e('0xbf')]);return db[_0xa66e('0xe9')][_0xa66e('0x2f')]({'where':_0x43e73d[_0xa66e('0x83')]})['then'](function(_0x906ec4){_0x23a1b3[_0xa66e('0x2f')]=_0x906ec4;_0x43e73d['include']=[];if(_0x48c2e4['query'][_0xa66e('0x110')]){_0x43e73d[_0xa66e('0xbe')][_0xa66e('0xb8')]({'model':db[_0xa66e('0xeb')],'as':_0xa66e('0xeb'),'attributes':['id','fullname',_0xa66e('0xf4')]});}if(_0x48c2e4[_0xa66e('0x45')]['includeAll']){_0x43e73d['include']=[{'all':!![]}];}return db[_0xa66e('0xe9')]['findAll'](_0x43e73d);})[_0xa66e('0x1f')](function(_0x45ecdb){_0x23a1b3['rows']=_0x45ecdb;return _0x23a1b3;});}})['then'](respondWithFilteredResult(_0x369048,_0x43e73d))[_0xa66e('0x2a')](handleError(_0x369048,null));};exports['addTags']=function(_0x11791c,_0x3cab7f,_0x367eb9){return db[_0xa66e('0xbc')][_0xa66e('0x78')]({'where':{'id':_0x11791c[_0xa66e('0xbb')]['id']}})['then'](handleEntityNotFound(_0x3cab7f,null))[_0xa66e('0x1f')](function(_0x1f39d0){if(_0x1f39d0){return _0x1f39d0['setTags'](_0x11791c[_0xa66e('0xc1')][_0xa66e('0x10a')],_[_0xa66e('0x10b')](_0x11791c['body'],[_0xa66e('0x10a'),'id'])||{})[_0xa66e('0x111')](function(){return db[_0xa66e('0x75')][_0xa66e('0x112')]({'attributes':['id',_0xa66e('0x38'),'color'],'where':{'id':_0x11791c['body']['ids']}});})[_0xa66e('0x1f')](function(_0x4abfa9){socket['emit'](_0xa66e('0x113'),{'id':Number(_0x11791c[_0xa66e('0xbb')]['id']),'tags':_0x4abfa9||[]});return{'id':Number(_0x11791c[_0xa66e('0xbb')]['id']),'tags':_0x4abfa9||[]};});}})[_0xa66e('0x1f')](respondWithResult(_0x3cab7f,null))['catch'](handleError(_0x3cab7f,null));};exports[_0xa66e('0x114')]=function(_0x5a14cb,_0xef2270,_0x247bf1){return db[_0xa66e('0xbc')]['find']({'where':{'id':_0x5a14cb['params']['id']}})[_0xa66e('0x1f')](handleEntityNotFound(_0xef2270,null))['then'](function(_0x3ca622){if(_0x3ca622){return _0x3ca622[_0xa66e('0x114')](_0x5a14cb[_0xa66e('0x45')][_0xa66e('0x10a')]);}})[_0xa66e('0x1f')](respondWithStatusCode(_0xef2270,null))['catch'](handleError(_0xef2270,null));};exports[_0xa66e('0x115')]=function(_0x353c0b,_0x237227){var _0xd41bca=moment()[_0xa66e('0x116')]()[_0xa66e('0xa2')]();var _0x178932=path[_0xa66e('0xe4')](config[_0xa66e('0xdf')],_0xa66e('0x117'),_0xa66e('0x118'),'tmp');var _0x3762c5=path['join'](config[_0xa66e('0xdf')],_0xa66e('0x117'),'files','attachments');var _0x11f3e4=path[_0xa66e('0xe4')](_0x178932,_0xd41bca);var _0x20976f=util[_0xa66e('0xe6')](_0xa66e('0x119'),_0x353c0b['params']['id'],_0xd41bca);var _0x2471a8=path['join'](_0x178932,_0x20976f);var _0x25402b=[];_0x25402b[_0xa66e('0xb8')]({'model':db['User'],'as':_0xa66e('0xeb'),'attributes':['id','fullname'],'raw':!![]});_0x25402b[_0xa66e('0xb8')]({'model':db['CmContact'],'as':_0xa66e('0x6a'),'attributes':['id','firstName',_0xa66e('0x11a')],'raw':!![]});if(_0x353c0b[_0xa66e('0x45')][_0xa66e('0x11b')]){_0x25402b['push']({'model':db[_0xa66e('0xdd')],'as':_0xa66e('0xdd'),'raw':!![]});}var _0xe289a0=[{'model':db[_0xa66e('0xe9')],'as':_0xa66e('0xea'),'attributes':['id','body','createdAt',_0xa66e('0xf8'),'secret','read'],'include':_0x25402b}];_0xe289a0['push']({'model':db['ChatWebsite'],'as':_0xa66e('0x11c'),'attributes':['id','name']});_0xe289a0['push']({'model':db[_0xa66e('0xeb')],'as':_0xa66e('0x11d'),'attributes':['id',_0xa66e('0x3c')]});return db[_0xa66e('0xbc')][_0xa66e('0x78')]({'where':{'id':_0x353c0b['params']['id']},'include':_0xe289a0})[_0xa66e('0x1f')](handleEntityNotFound(_0x237227,null))['then'](function(_0x23dc66){if(_0x23dc66){var _0x3dbe5a=_0x23dc66[_0xa66e('0x11e')]({'plain':!![]});fs['mkdirSync'](_0x11f3e4);var _0x1f08ba={'format':'A4','border':_0xa66e('0x11f'),'header':{'height':_0xa66e('0x120'),'contents':{'first':_0xa66e('0x121')}},'footer':{'height':_0xa66e('0x122'),'contents':{'default':util[_0xa66e('0xe6')](_0xa66e('0x123'),util['format'](_0xa66e('0x124'),_0xa66e('0x125'),_0x3dbe5a['id']),moment()['format'](_0xa66e('0x126'))[_0xa66e('0xa2')]())}}};var _0xbbae36={'channel':'Chat','account':_0x3dbe5a[_0xa66e('0x11c')][_0xa66e('0x38')],'agent':_0x3dbe5a['Owner']?_0x3dbe5a[_0xa66e('0x11d')][_0xa66e('0x3c')]:_0xa66e('0x127'),'createdAt':moment(_0x3dbe5a['createdAt'])[_0xa66e('0xe6')](_0xa66e('0x128'))[_0xa66e('0xa2')](),'closedAt':_0x3dbe5a[_0xa66e('0xd5')]?moment(_0x3dbe5a[_0xa66e('0x129')])[_0xa66e('0xe6')](_0xa66e('0x128'))[_0xa66e('0xa2')]():'','disposition':_0x3dbe5a[_0xa66e('0xd6')],'chatInfo':{'browser':_0x3dbe5a['browserName'],'os':_0x3dbe5a[_0xa66e('0x12a')],'referer':_0x3dbe5a[_0xa66e('0x12b')],'customerIp':_0x3dbe5a[_0xa66e('0x12c')],'customerPort':_0x3dbe5a['customerPort']?_0x3dbe5a[_0xa66e('0x12d')]:_0xa66e('0x127')},'messages':_(_0x3dbe5a[_0xa66e('0xea')])[_0xa66e('0x12e')]()[_0xa66e('0x8c')]({'secret':![]})[_0xa66e('0x3b')](function(_0x57c2a5){if(_0x57c2a5['Attachment']){var _0x2616c9=path['join'](_0x3762c5,_0x57c2a5[_0xa66e('0xdd')]['basename']);if(fs[_0xa66e('0x12f')](_0x2616c9)){fs[_0xa66e('0x130')](_0x2616c9)[_0xa66e('0x131')](fs[_0xa66e('0x132')](path['join'](_0x11f3e4,_0x57c2a5[_0xa66e('0xdd')][_0xa66e('0xe1')])));}}return{'date':moment(_0x57c2a5['createdAt'])['format'](_0xa66e('0x128'))[_0xa66e('0xa2')](),'sender':_0x57c2a5[_0xa66e('0xf8')]===_0xa66e('0xce')?_0x57c2a5[_0xa66e('0xeb')]?_0x57c2a5[_0xa66e('0xeb')][_0xa66e('0x3c')]:_0xa66e('0xee'):_0x57c2a5[_0xa66e('0x6a')][_0xa66e('0x133')]+(_0x57c2a5[_0xa66e('0x6a')][_0xa66e('0x11a')]?'\x20'+_0x57c2a5[_0xa66e('0x6a')]['lastName']:''),'body':_0x57c2a5[_0xa66e('0xdd')]?_0x57c2a5[_0xa66e('0xdd')][_0xa66e('0xe1')]:_0x57c2a5[_0xa66e('0xc1')],'direction':_0x57c2a5[_0xa66e('0xf8')]==='out'?'A':'C','secret':_0x57c2a5[_0xa66e('0xf9')],'read':_0x57c2a5[_0xa66e('0x87')],'attachment':_0x57c2a5['Attachment']};})[_0xa66e('0x66')]()};return ejs[_0xa66e('0x134')](path[_0xa66e('0xe4')](config['root'],_0xa66e('0x117'),_0xa66e('0x135'),_0xa66e('0x136')),{'interaction':_0xbbae36})['then'](function(_0x70b6ea){return new BPromise(function(_0x401a84,_0x110f67){pdf['create'](_0x70b6ea,_0x1f08ba)[_0xa66e('0x137')](path['join'](_0x11f3e4,_0xa66e('0x138')+_0x3dbe5a['id']+'-'+_0xd41bca+_0xa66e('0x139')),function(_0x3efc15,_0xc74fb3){if(_0x3efc15)return _0x110f67(_0x3efc15);_0x401a84(_0xc74fb3);});});})[_0xa66e('0x1f')](function(){return new BPromise(function(_0x574af9,_0x2b1d8e){zipdir(_0x11f3e4,{'saveTo':_0x2471a8},function(_0x129aed,_0x18642d){if(_0x129aed)return _0x2b1d8e(_0x129aed);return _0x574af9(_0x18642d);});})[_0xa66e('0x1f')](function(){return new BPromise(function(_0x5e74d7,_0x84925d){rimraf(_0x11f3e4,function(_0x459eb1){if(_0x459eb1)_0x84925d(_0x459eb1);return _0x5e74d7();});});})[_0xa66e('0x1f')](function(){return _0x237227[_0xa66e('0x115')](_0x2471a8,_0x20976f,function(_0x5fddac){if(_0x5fddac){console['log'](_0xa66e('0x13a'),_0x5fddac);}else{fs[_0xa66e('0x13b')](_0x2471a8);}});});});}else{return _0x237227['sendStatus'](0xc8);}})[_0xa66e('0x2a')](handleError(_0x237227,null));};