Built motion from commit (unavailable).|2.5.13
[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 _0xd7cf=['crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','request','then','info','ChatInteraction,\x20%s,\x20%s','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','request\x20sent','error','message','result','catch','sendStatus','status','count','offset','limit','set','Content-Range','apply','reject','save','destroy','stack','name','send','Users','map','fullname','TagIds','Tags','split','push','index','ChatInteraction','fieldName','type','key','model','keys','query','intersection','attributes','fields','length','nolimit','order','sort','where','filters','field','from','u.id','u.fullname','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','select','chat_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','it.ChatInteractionId\x20=\x20i.id','tools_tags','search','parseSearch','conditions','unreadMessages','value','having','`\x20>\x200','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','end','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','compact','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','group','i.id','Sequelize','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','agent','i.ChatWebsiteId\x20IS\x20NULL','role','toString','sequelize','keyBy','a.key','Account.key','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','rows','show','rawAttributes','includeAll','include','merge','options','find','create','update','params','describe','createVidaooSession','findOne','vidaooApiKey','POST','https://api-vidaoo.xcally.com/api/v1/sessions','follow','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','updateAttributes','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','ValidationError','Interaction\x20already\x20assigned','disposition','AbandonInteraction','attachmentUpload','file','originalname','filename','Attachment','json','attachId','download','join','root','server/files/attachments/','basename','mailTranscript','server/files/chat/upload/','format','transcript-%s.txt','now','Messages','ChatWebsite','CmContact','%s%d','agentAlias','customer','agentIdentifier','System','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','MailAccount','MailServerOut','Smtp','service','host','port','secure','pass','SendMail','sendMail','\x22%s\x22\x20<%s>','email','addMessage','ids','hasOwnProperty','pick','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','includeAgent','addTags','setTags','omit','spread','color','emit','chatInteractionTags:save','removeTags','unix','files','tmp','server','attachments','transcript-%d-%s.zip','Account','Owner','get','mkdirSync','10px','40px','<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>','Chat','YYYY-MM-DD','N.A.','closed','closedAt','browserName','osName','referer','customerIp','customerPort','tail','existsSync','createReadStream','pipe','Contact','firstName','lastName','views','toFile','transcript-','.pdf','log','unlinkSync','rimraf','zip-dir','request-promise','moment','util','path','sox','to-csv','lodash','squel'];(function(_0x4aa281,_0x21d41a){var _0x38cd2d=function(_0x16e8e6){while(--_0x16e8e6){_0x4aa281['push'](_0x4aa281['shift']());}};_0x38cd2d(++_0x21d41a);}(_0xd7cf,0x12b));var _0xfd7c=function(_0xe36749,_0x2a45c8){_0xe36749=_0xe36749-0x0;var _0x5d86b7=_0xd7cf[_0xe36749];return _0x5d86b7;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xfd7c('0x0'));var zipdir=require(_0xfd7c('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfd7c('0x2'));var moment=require(_0xfd7c('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xfd7c('0x4'));var path=require(_0xfd7c('0x5'));var sox=require(_0xfd7c('0x6'));var csv=require(_0xfd7c('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xfd7c('0x8'));var squel=require(_0xfd7c('0x9'));var crypto=require(_0xfd7c('0xa'));var jsforce=require(_0xfd7c('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xfd7c('0x7'));var querystring=require(_0xfd7c('0xc'));var Papa=require(_0xfd7c('0xd'));var Redis=require('ioredis');var authService=require(_0xfd7c('0xe'));var qs=require(_0xfd7c('0xf'));var as=require(_0xfd7c('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfd7c('0x11'))(_0xfd7c('0x12'));var utils=require(_0xfd7c('0x13'));var config=require(_0xfd7c('0x14'));var licenseUtil=require(_0xfd7c('0x15'));var db=require('../../mysqldb')['db'];config[_0xfd7c('0x16')]=_[_0xfd7c('0x17')](config[_0xfd7c('0x16')],{'host':_0xfd7c('0x18'),'port':0x18eb});var socket=require(_0xfd7c('0x19'))(new Redis(config['redis']));require(_0xfd7c('0x1a'))[_0xfd7c('0x1b')](socket);var jayson=require(_0xfd7c('0x1c'));var client=jayson[_0xfd7c('0x1d')]['http']({'port':0x232b});var client9004=jayson['client']['http']({'port':0x232c});function respondWithRpcPromise(_0x19b0fc,_0x31123f,_0x59314e,_0x2c3b11){return new BPromise(function(_0x249874,_0x4e4925){var _0x3ea333=_0x2c3b11||client;return _0x3ea333[_0xfd7c('0x1e')](_0x19b0fc,_0x59314e)[_0xfd7c('0x1f')](function(_0x4d8a26){logger[_0xfd7c('0x20')](_0xfd7c('0x21'),_0x31123f,'request\x20sent');logger[_0xfd7c('0x22')](_0xfd7c('0x23'),_0x31123f,_0xfd7c('0x24'),JSON['stringify'](_0x4d8a26));if(_0x4d8a26['error']){if(_0x4d8a26['error']['code']===0x1f4){logger['error'](_0xfd7c('0x21'),_0x31123f,_0x4d8a26[_0xfd7c('0x25')][_0xfd7c('0x26')]);return _0x4e4925(_0x4d8a26['error'][_0xfd7c('0x26')]);}logger[_0xfd7c('0x25')](_0xfd7c('0x21'),_0x31123f,_0x4d8a26[_0xfd7c('0x25')][_0xfd7c('0x26')]);return _0x249874(_0x4d8a26[_0xfd7c('0x25')]['message']);}else{logger[_0xfd7c('0x20')](_0xfd7c('0x21'),_0x31123f,_0xfd7c('0x24'));_0x249874(_0x4d8a26[_0xfd7c('0x27')][_0xfd7c('0x26')]);}})[_0xfd7c('0x28')](function(_0x2c5fb3){logger[_0xfd7c('0x25')](_0xfd7c('0x21'),_0x31123f,_0x2c5fb3);_0x4e4925(_0x2c5fb3);});});}function respondWithStatusCode(_0x2849dd,_0x3cf58a){_0x3cf58a=_0x3cf58a||0xcc;return function(_0x56e0d1){if(_0x56e0d1){return _0x2849dd[_0xfd7c('0x29')](_0x3cf58a);}return _0x2849dd[_0xfd7c('0x2a')](_0x3cf58a)['end']();};}function respondWithResult(_0x2c200c,_0x213106){_0x213106=_0x213106||0xc8;return function(_0x339b24){if(_0x339b24){return _0x2c200c['status'](_0x213106)['json'](_0x339b24);}};}function respondWithFilteredResult(_0x374dce,_0x1bd79b){return function(_0x423407){if(_0x423407){var _0x12a760=_0x423407[_0xfd7c('0x2b')],_0x59ca9f=_0x1bd79b[_0xfd7c('0x2c')],_0x51ebc0=_0x1bd79b[_0xfd7c('0x2c')]+_0x1bd79b[_0xfd7c('0x2d')],_0x4f182b;if(_0x51ebc0>=_0x12a760){_0x51ebc0=_0x12a760;_0x4f182b=0xc8;}else{_0x4f182b=0xce;}_0x374dce[_0xfd7c('0x2a')](_0x4f182b);return _0x374dce[_0xfd7c('0x2e')](_0xfd7c('0x2f'),_0x59ca9f+'-'+_0x51ebc0+'/'+_0x12a760)['json'](_0x423407);}return null;};}function patchUpdates(_0x310d40){return function(_0x4ae022){try{jsonpatch[_0xfd7c('0x30')](_0x4ae022,_0x310d40,!![]);}catch(_0x4f6d24){return BPromise[_0xfd7c('0x31')](_0x4f6d24);}return _0x4ae022[_0xfd7c('0x32')]();};}function saveUpdates(_0x4043dc,_0x2045cd){return function(_0x2309d2){if(_0x2309d2){return _0x2309d2['update'](_0x4043dc)[_0xfd7c('0x1f')](function(_0x51c8eb){return _0x51c8eb;});}return null;};}function removeEntity(_0x2beb08,_0x1c47c4){return function(_0x259d1e){if(_0x259d1e){return _0x259d1e[_0xfd7c('0x33')]()[_0xfd7c('0x1f')](function(){_0x2beb08['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1b1705,_0x2696c1){return function(_0x574cf0){if(!_0x574cf0){_0x1b1705[_0xfd7c('0x29')](0x194);}return _0x574cf0;};}function handleError(_0x316f8b,_0x490331){_0x490331=_0x490331||0x1f4;return function(_0x1c341d){logger[_0xfd7c('0x25')](_0x1c341d[_0xfd7c('0x34')]);if(_0x1c341d[_0xfd7c('0x35')]){delete _0x1c341d[_0xfd7c('0x35')];}_0x316f8b['status'](_0x490331)[_0xfd7c('0x36')](_0x1c341d);};}function getInteractionUsers(_0x123254,_0x3a5fa2){return new BPromise(function(_0x23fed6,_0x123012){try{if(_0x3a5fa2[_0x123254['id']]){_0x123254[_0xfd7c('0x37')]=_[_0xfd7c('0x38')](_0x3a5fa2[_0x123254['id']],function(_0x3334b0){return{'id':_0x3334b0['id'],'fullname':_0x3334b0[_0xfd7c('0x39')]};});}}catch(_0x5e3d23){_0x123012(_0x5e3d23);}_0x23fed6(_0x123254);});}function getInteractionTags(_0x160304,_0x2977aa){return new BPromise(function(_0x485870,_0x1470eb){try{if(_0x160304[_0xfd7c('0x3a')]){_0x160304[_0xfd7c('0x3b')]=[];_0x160304[_0xfd7c('0x3a')][_0xfd7c('0x3c')](',')['forEach'](function(_0x17ba0e){_0x160304[_0xfd7c('0x3b')][_0xfd7c('0x3d')](_0x2977aa[_0x17ba0e]);});}delete _0x160304[_0xfd7c('0x3a')];}catch(_0xdaabae){_0x1470eb(_0xdaabae);}_0x485870(_0x160304);});}function updateChatInteraction(_0x570dea,_0x5f4d3f,_0x525d97){return new BPromise(function(_0x3f581f,_0x2b2881){return getInteractionUsers(_0x570dea,_0x525d97)[_0xfd7c('0x1f')](function(_0x270766){return getInteractionTags(_0x270766,_0x5f4d3f);})[_0xfd7c('0x1f')](function(_0x4acd7f){_0x3f581f(_0x4acd7f);})['catch'](function(_0x3ea881){_0x2b2881(_0x3ea881);});});}exports[_0xfd7c('0x3e')]=function(_0x32222c,_0x34acb9){var _0x55d690={},_0x3124d9={},_0x544316={'count':0x0,'rows':[]};var _0x1a3dc9=_[_0xfd7c('0x38')](db[_0xfd7c('0x3f')]['rawAttributes'],function(_0x145786){return{'name':_0x145786[_0xfd7c('0x40')],'type':_0x145786[_0xfd7c('0x41')][_0xfd7c('0x42')]};});_0x3124d9[_0xfd7c('0x43')]=_[_0xfd7c('0x38')](_0x1a3dc9,_0xfd7c('0x35'));_0x3124d9['query']=_[_0xfd7c('0x44')](_0x32222c[_0xfd7c('0x45')]);_0x3124d9['filters']=_[_0xfd7c('0x46')](_0x3124d9[_0xfd7c('0x43')],_0x3124d9[_0xfd7c('0x45')]);_0x55d690[_0xfd7c('0x47')]=_[_0xfd7c('0x46')](_0x3124d9['model'],qs[_0xfd7c('0x48')](_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x48')]));_0x55d690[_0xfd7c('0x47')]=_0x55d690[_0xfd7c('0x47')][_0xfd7c('0x49')]?_0x55d690[_0xfd7c('0x47')]:_0x3124d9[_0xfd7c('0x43')];if(!_0x32222c[_0xfd7c('0x45')]['hasOwnProperty'](_0xfd7c('0x4a'))){_0x55d690[_0xfd7c('0x2d')]=qs[_0xfd7c('0x2d')](_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x2d')]);_0x55d690[_0xfd7c('0x2c')]=qs[_0xfd7c('0x2c')](_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x2c')]);}_0x55d690[_0xfd7c('0x4b')]=qs[_0xfd7c('0x4c')](_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x4c')]);_0x55d690[_0xfd7c('0x4d')]=qs[_0xfd7c('0x4e')](_['pick'](_0x32222c[_0xfd7c('0x45')],_0x3124d9[_0xfd7c('0x4e')]),_0x1a3dc9);var _0x17af47=[];var _0x36649e=squel['select']()[_0xfd7c('0x4f')]('id')['field']('name')[_0xfd7c('0x4f')]('color')[_0xfd7c('0x50')]('tools_tags');var _0x5bb440=squel['select']()[_0xfd7c('0x4f')](_0xfd7c('0x51'))['field'](_0xfd7c('0x52'))['field']('ui.ChatInteractionId')[_0xfd7c('0x50')](_0xfd7c('0x53'),'ui')[_0xfd7c('0x54')](_0xfd7c('0x55'),'u',_0xfd7c('0x56'));var _0x1b3344=squel[_0xfd7c('0x57')]()[_0xfd7c('0x50')](_0xfd7c('0x58'),'i')[_0xfd7c('0x54')](_0xfd7c('0x59'),'c',_0xfd7c('0x5a'))[_0xfd7c('0x54')](_0xfd7c('0x55'),'o',_0xfd7c('0x5b'))['left_join'](_0xfd7c('0x5c'),'a',_0xfd7c('0x5d'))[_0xfd7c('0x54')](_0xfd7c('0x5e'),'me','me.ChatInteractionId\x20=\x20i.id')[_0xfd7c('0x54')]('chat_interaction_has_tags','it',_0xfd7c('0x5f'))[_0xfd7c('0x54')](_0xfd7c('0x60'),'t','t.id\x20=\x20it.TagId');var _0x226209=squel['expr']();var _0x224c53=[];var _0x110cb9=squel['expr']();var _0x4dd2b9;if(_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x61')]){_0x4dd2b9=as[_0xfd7c('0x62')](_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x61')]);var _0x186778=_0x4dd2b9['sqlOperator'];for(var _0x33f002=0x0;_0x33f002<_0x4dd2b9[_0xfd7c('0x63')][_0xfd7c('0x49')];_0x33f002++){var _0x111153=_0x4dd2b9[_0xfd7c('0x63')][_0x33f002];var _0x4a23c7='i';var _0x8c1de8=_['find'](_0x1a3dc9,[_0xfd7c('0x35'),_0x111153[_0xfd7c('0x4f')]]);if(!_0x8c1de8){switch(_0x111153[_0xfd7c('0x4f')]){case _0xfd7c('0x64'):if(_0x111153[_0xfd7c('0x65')]==0x1){_0x1b3344[_0xfd7c('0x66')]('`'+_0x111153[_0xfd7c('0x4f')]+'`\x20=\x200');}else{_0x1b3344[_0xfd7c('0x66')]('`'+_0x111153[_0xfd7c('0x4f')]+_0xfd7c('0x67'));}break;case'Contact':if(_0x111153['operator']===_0xfd7c('0x68')){if(_0x111153['value'][_0xfd7c('0x3c')]('\x20')[_0xfd7c('0x49')]>0x1){_0x226209[_0x186778](_0xfd7c('0x69'),qs['getFullTextValue'](_0x111153[_0xfd7c('0x65')]),null);}else{var _0x180527='%'+_0x111153[_0xfd7c('0x65')]+'%';_0x226209[_0x186778](_0xfd7c('0x6a'),_0x180527,_0x180527,_0x180527);}}else{_0x8c1de8=_['find'](_0x1a3dc9,['name',_0xfd7c('0x6b')]);_0x111153[_0xfd7c('0x4f')]=_0xfd7c('0x6b');_0x5ac795=as[_0xfd7c('0x6c')](_0x4a23c7,_0x8c1de8[_0xfd7c('0x41')],_0x111153);_0x226209[_0x186778](_0x5ac795[_0xfd7c('0x6d')],_0x5ac795[_0xfd7c('0x65')][_0xfd7c('0x6e')],_0x5ac795['value'][_0xfd7c('0x6f')]);}break;case _0xfd7c('0x70'):var _0xa5643=_0x111153[_0xfd7c('0x65')][_0xfd7c('0x3c')](',')[_0xfd7c('0x38')](function(_0x19cd70){return Number(_0x19cd70);});_0xa5643[_0xfd7c('0x71')](function(_0x54754b){_0x110cb9['or'](_0xfd7c('0x72'),'%,'+_0x54754b+',%');});_0x224c53=_[_0xfd7c('0x73')](_0x224c53,_0xa5643);break;case _0xfd7c('0x74'):if(_0x111153[_0xfd7c('0x75')]===_0xfd7c('0x68')){_0x226209[_0x186778](_0xfd7c('0x76'),'%'+_0x111153['value']+'%',null);}else{_0x8c1de8=_['find'](_0x1a3dc9,['name',_0xfd7c('0x77')]);_0x111153[_0xfd7c('0x4f')]=_0xfd7c('0x77');_0x5ac795=as[_0xfd7c('0x6c')](_0x4a23c7,_0x8c1de8[_0xfd7c('0x41')],_0x111153);_0x226209[_0x186778](_0x5ac795[_0xfd7c('0x6d')],_0x5ac795[_0xfd7c('0x65')]['start'],_0x5ac795[_0xfd7c('0x65')][_0xfd7c('0x6f')]);}break;case _0xfd7c('0x78'):_0x5ac795=as['buildExpression']('me',null,_0x111153);_0x226209[_0x186778](_0x5ac795['text'],_0x5ac795[_0xfd7c('0x65')]['start'],_0x5ac795[_0xfd7c('0x65')]['end']);break;}}else{var _0x5ac795=as['buildExpression'](_0x4a23c7,_0x8c1de8['type'],_0x111153);_0x226209[_0x186778](_0x5ac795[_0xfd7c('0x6d')],_0x5ac795[_0xfd7c('0x65')][_0xfd7c('0x6e')],_0x5ac795[_0xfd7c('0x65')][_0xfd7c('0x6f')]);}}}else{var _0x277888=_(_0x32222c[_0xfd7c('0x45')])[_0xfd7c('0x44')]()[_0xfd7c('0x38')](function(_0x17a047){return _['some'](_0x1a3dc9,[_0xfd7c('0x35'),_0x17a047])?_0x17a047:undefined;})[_0xfd7c('0x79')]()['value']();if(!_[_0xfd7c('0x7a')](_0x277888)){_0x277888['forEach'](function(_0x4d6546){if(_0x4d6546===_0xfd7c('0x7b')){_0x1b3344[_0xfd7c('0x4d')](_0xfd7c('0x7c'),[][_0xfd7c('0x7d')](_0x32222c[_0xfd7c('0x45')][_0x4d6546]));}else if(_0x4d6546===_0xfd7c('0x7e')){var _0x3de85b=JSON['parse'](_0x32222c[_0xfd7c('0x45')][_0x4d6546])[_0xfd7c('0x7f')];var _0x120a92=JSON['parse'](_0x32222c[_0xfd7c('0x45')][_0x4d6546])[_0xfd7c('0x80')];_0x1b3344['where'](_0xfd7c('0x81'),_0x3de85b,_0x120a92);}else{if(_0x32222c[_0xfd7c('0x45')][_0x4d6546]===_0xfd7c('0x82')){_0x1b3344[_0xfd7c('0x4d')]('i.'+_0x4d6546+_0xfd7c('0x83'));}else{_0x1b3344[_0xfd7c('0x4d')]('i.'+_0x4d6546+_0xfd7c('0x84'),_0x32222c[_0xfd7c('0x45')][_0x4d6546]);}}});}if(_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x85')]){if(_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x85')]==0x1){_0x1b3344[_0xfd7c('0x66')]('`unreadMessages`\x20=\x200');}else{_0x1b3344['having'](_0xfd7c('0x86'));}}if(_0x32222c[_0xfd7c('0x45')]['tag']){_0x224c53=_[_0xfd7c('0x87')](_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x88')])?_0x32222c['query']['tag']:new Array(_0x32222c['query'][_0xfd7c('0x88')]);_0x224c53[_0xfd7c('0x71')](function(_0x59c021){_0x110cb9['or'](_0xfd7c('0x72'),'%,'+_0x59c021+',%');});}if(_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x89')]){var _0x390330=_0x32222c['query'][_0xfd7c('0x89')][_0xfd7c('0x8a')]('\x5c','\x5c\x5c')[_0xfd7c('0x8a')](/'/g,'\x27\x27');if(qs[_0xfd7c('0x8b')](_0x390330)){_0x226209['or']('i.id\x20LIKE\x20?',_0x390330+'%');}else{_0x226209['or'](_0xfd7c('0x8c'),qs[_0xfd7c('0x8d')](_0x390330))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x390330+'%');}}}_0x1b3344[_0xfd7c('0x4d')](_0x226209);_0x1b3344[_0xfd7c('0x8e')](_0xfd7c('0x8f'));var _0x1cd2e5={'type':db[_0xfd7c('0x90')]['QueryTypes']['SELECT'],'raw':!![]};var _0x4a0f60=_0x1b3344['clone']();_0x4a0f60[_0xfd7c('0x4f')]('i.id');_0x4a0f60[_0xfd7c('0x4f')](_0xfd7c('0x91'),_0xfd7c('0x64'));if(_0x55d690[_0xfd7c('0x4b')]){_0x55d690[_0xfd7c('0x4b')]['forEach'](function(_0x24dabc){var _0xac6f7a=_0x24dabc[0x0]===_0xfd7c('0x92')?_0x24dabc[0x0]:'i.'+_0x24dabc[0x0];_0x1b3344[_0xfd7c('0x4b')](_0xac6f7a,_0x24dabc[0x1]===_0xfd7c('0x93')?![]:!![]);});}if(!_['isEmpty'](_0x224c53)){_0x1b3344[_0xfd7c('0x66')](_0x110cb9);_0x4a0f60['where'](_0xfd7c('0x94'),_0x224c53);}BPromise[_0xfd7c('0x95')]()['then'](function(){if(!_0x4dd2b9){if(_0x32222c[_0xfd7c('0x45')]['ChatWebsiteId']||_0x32222c[_0xfd7c('0x45')][_0xfd7c('0x96')])return;_0x4a0f60['where']('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');_0x1b3344[_0xfd7c('0x4d')](_0xfd7c('0x97'));return;}if(_0x32222c[_0xfd7c('0x98')]['role']!==_0xfd7c('0x99'))return;return _0x32222c['user']['getChatWebsites']({'attributes':['id'],'raw':!![]})[_0xfd7c('0x1f')](function(_0x2adf2c){if(_[_0xfd7c('0x7a')](_0x2adf2c)){_0x4a0f60[_0xfd7c('0x4d')]('i.ChatWebsiteId\x20IS\x20NULL');_0x1b3344['where'](_0xfd7c('0x9a'));}else{_0x4a0f60[_0xfd7c('0x4d')]('i.ChatWebsiteId\x20IN\x20?',_[_0xfd7c('0x38')](_0x2adf2c,'id'));_0x1b3344[_0xfd7c('0x4d')](_0xfd7c('0x7c'),_[_0xfd7c('0x38')](_0x2adf2c,'id'));}});})[_0xfd7c('0x1f')](function(){if(_0x32222c[_0xfd7c('0x98')][_0xfd7c('0x9b')]==='agent'&&!_0x4dd2b9&&!_0x32222c['query'][_0xfd7c('0x7b')])return[];return db['sequelize'][_0xfd7c('0x45')](_0x4a0f60[_0xfd7c('0x9c')](),_0x1cd2e5);})[_0xfd7c('0x1f')](function(_0x1cb1a2){_0x544316['count']=_0x1cb1a2['length'];if(_0x544316[_0xfd7c('0x2b')]===0x0)return[];return db[_0xfd7c('0x9d')]['query'](_0x36649e[_0xfd7c('0x9c')](),_0x1cd2e5)['then'](function(_0x478c84){_0x17af47=_[_0xfd7c('0x9e')](_0x478c84,'id');_0x1cd2e5=_['merge'](_0x1cd2e5,{'model':db[_0xfd7c('0x3f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x32222c['query']['fields']){_0x55d690['attributes'][_0xfd7c('0x71')](function(_0x40796c){_0x1b3344[_0xfd7c('0x4f')]('i.'+_0x40796c);});}else{_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0x91'),'unreadMessages');_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0x9f'),_0xfd7c('0xa0'));_0x1b3344['field']('a.mandatoryDisposition',_0xfd7c('0xa1'));_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0xa2'),'contactName');_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0xa3'));_0x1b3344[_0xfd7c('0x4f')]('c.firstName',_0xfd7c('0xa4'));_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0xa5'),_0xfd7c('0xa6'));_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0xa7'),_0xfd7c('0xa8'));_0x1b3344['field']('c.phone',_0xfd7c('0xa9'));_0x1b3344[_0xfd7c('0x4f')]('c.mobile',_0xfd7c('0xaa'));_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0xab'),_0xfd7c('0xac'));_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0xad'),_0xfd7c('0xae'));_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0xaf'),_0xfd7c('0xb0'));_0x1b3344[_0xfd7c('0x4f')](_0xfd7c('0xb1'),_0xfd7c('0x3a'));}if(_0x55d690[_0xfd7c('0x2d')])_0x1b3344[_0xfd7c('0x2d')](_0x55d690['limit']);if(_0x55d690[_0xfd7c('0x2c')])_0x1b3344[_0xfd7c('0x2c')](_0x55d690['offset']);return db[_0xfd7c('0x9d')][_0xfd7c('0x45')](_0x1b3344[_0xfd7c('0x9c')](),_0x1cd2e5);})[_0xfd7c('0x1f')](function(_0x394e66){_0x5bb440[_0xfd7c('0x4d')](_0xfd7c('0xb2'),_[_0xfd7c('0x38')](_0x394e66,'id'));return db['sequelize']['query'](_0x5bb440[_0xfd7c('0x9c')](),_0x1cd2e5)['then'](function(_0x4f59a5){var _0x39a237=_[_0xfd7c('0xb3')](_0x4f59a5,_0xfd7c('0xb4'));var _0x44a27d=[];_0x394e66['forEach'](function(_0xf4bdaf){_0x44a27d['push'](updateChatInteraction(_0xf4bdaf,_0x17af47,_0x39a237));});return BPromise[_0xfd7c('0xb5')](_0x44a27d);});});})['then'](function(_0x590e15){_0x544316[_0xfd7c('0xb6')]=_0x590e15;return _0x544316;})[_0xfd7c('0x1f')](respondWithFilteredResult(_0x34acb9,_0x55d690))[_0xfd7c('0x28')](handleError(_0x34acb9,null));};exports[_0xfd7c('0xb7')]=function(_0x1482f4,_0x23e076){var _0x169d2d={'raw':![],'where':{'id':_0x1482f4['params']['id']}},_0xcabe49={};_0xcabe49[_0xfd7c('0x43')]=_[_0xfd7c('0x44')](db[_0xfd7c('0x3f')][_0xfd7c('0xb8')]);_0xcabe49[_0xfd7c('0x45')]=_[_0xfd7c('0x44')](_0x1482f4[_0xfd7c('0x45')]);_0xcabe49[_0xfd7c('0x4e')]=_['intersection'](_0xcabe49[_0xfd7c('0x43')],_0xcabe49['query']);_0x169d2d[_0xfd7c('0x47')]=_[_0xfd7c('0x46')](_0xcabe49[_0xfd7c('0x43')],qs['fields'](_0x1482f4[_0xfd7c('0x45')][_0xfd7c('0x48')]));_0x169d2d[_0xfd7c('0x47')]=_0x169d2d[_0xfd7c('0x47')][_0xfd7c('0x49')]?_0x169d2d[_0xfd7c('0x47')]:_0xcabe49[_0xfd7c('0x43')];if(_0x1482f4['query'][_0xfd7c('0xb9')]){_0x169d2d[_0xfd7c('0xba')]=[{'all':!![]}];}_0x169d2d=_[_0xfd7c('0xbb')]({},_0x169d2d,_0x1482f4[_0xfd7c('0xbc')]);return db[_0xfd7c('0x3f')][_0xfd7c('0xbd')](_0x169d2d)[_0xfd7c('0x1f')](handleEntityNotFound(_0x23e076,null))[_0xfd7c('0x1f')](respondWithResult(_0x23e076,null))[_0xfd7c('0x28')](handleError(_0x23e076,null));};exports[_0xfd7c('0xbe')]=function(_0x5c7940,_0x544595){return db[_0xfd7c('0x3f')][_0xfd7c('0xbe')](_0x5c7940['body'],{})[_0xfd7c('0x1f')](respondWithResult(_0x544595,0xc9))[_0xfd7c('0x28')](handleError(_0x544595,null));};exports[_0xfd7c('0xbf')]=function(_0x1e4a8f,_0x4fd841){if(_0x1e4a8f[_0xfd7c('0x78')]['id']){delete _0x1e4a8f['body']['id'];}return db[_0xfd7c('0x3f')][_0xfd7c('0xbd')]({'where':{'id':_0x1e4a8f[_0xfd7c('0xc0')]['id']}})[_0xfd7c('0x1f')](handleEntityNotFound(_0x4fd841,null))['then'](saveUpdates(_0x1e4a8f[_0xfd7c('0x78')],null))['then'](respondWithResult(_0x4fd841,null))[_0xfd7c('0x28')](handleError(_0x4fd841,null));};exports[_0xfd7c('0x33')]=function(_0x4064f3,_0x3c2b15){return db[_0xfd7c('0x3f')][_0xfd7c('0xbd')]({'where':{'id':_0x4064f3['params']['id']}})['then'](handleEntityNotFound(_0x3c2b15,null))[_0xfd7c('0x1f')](removeEntity(_0x3c2b15,null))['catch'](handleError(_0x3c2b15,null));};exports[_0xfd7c('0xc1')]=function(_0x2d9788,_0x39cb24){return db[_0xfd7c('0x3f')][_0xfd7c('0xc1')]()[_0xfd7c('0x1f')](respondWithResult(_0x39cb24,null))['catch'](handleError(_0x39cb24,null));};exports[_0xfd7c('0xc2')]=function(_0x525c91,_0x5dc6d4){var _0x16df32=_0x525c91[_0xfd7c('0xc0')]['id'];var _0x2e84cb;var _0x172b36;var _0x632b4f;return db['ChatInteraction'][_0xfd7c('0xc3')]({'where':{'id':_0x16df32}})[_0xfd7c('0x1f')](function(_0x560e46){_0x2e84cb=_0x560e46;return db['ChatWebsite']['findOne']({'where':{'id':_0x560e46[_0xfd7c('0x7b')]},'attributes':['id',_0xfd7c('0xc4'),'vidaooEscalation'],'raw':!![]});})['then'](function(_0x3ad50c){if(_0x3ad50c&&_0x3ad50c['vidaooApiKey']&&_0x3ad50c['vidaooEscalation']){_0x172b36=_0x3ad50c;var _0xa50033={'rejectUnauthorized':![],'method':_0xfd7c('0xc5'),'uri':_0xfd7c('0xc6'),'headers':{'X-APIKEY':_0x3ad50c[_0xfd7c('0xc4')]},'body':{'name':'MotionCWB:'+_0x16df32},'redirect':_0xfd7c('0xc7'),'json':!![]};return rp(_0xa50033);}else{throw new db[(_0xfd7c('0x90'))]['ValidationError'](_0xfd7c('0xc8'));}})[_0xfd7c('0x1f')](function(_0x474f8f){_0x632b4f=_0x474f8f;if(_0x632b4f['id']){var _0x3ffba2={'body':_0x632b4f[_0xfd7c('0xc9')],'ChatWebsiteId':_0x172b36['id'],'ChatInteractionId':_0x2e84cb['id'],'direction':_0xfd7c('0xca'),'UserId':_0x525c91[_0xfd7c('0x98')]['id']};return db[_0xfd7c('0xcb')]['create'](_0x3ffba2,{});}else{throw new db[(_0xfd7c('0x90'))]['ValidationError']('Unable\x20to\x20create\x20Vidaoo\x20session');}})[_0xfd7c('0x1f')](function(){return _0x2e84cb[_0xfd7c('0xcc')]({'vidaooSessionId':_0x632b4f['id']});})[_0xfd7c('0x1f')](respondWithResult(_0x5dc6d4,null))[_0xfd7c('0x28')](handleError(_0x5dc6d4,null));};exports[_0xfd7c('0xcd')]=function(_0x28a85c,_0x2191d8){if(_0x28a85c['body']['id']){delete _0x28a85c[_0xfd7c('0x78')]['id'];}return db[_0xfd7c('0x3f')][_0xfd7c('0xbd')]({'where':{'id':_0x28a85c[_0xfd7c('0xc0')]['id']}})[_0xfd7c('0x1f')](handleEntityNotFound(_0x2191d8,null))[_0xfd7c('0x1f')](saveUpdates(_0x28a85c[_0xfd7c('0x78')],null))['then'](respondWithResult(_0x2191d8,null))[_0xfd7c('0x28')](handleError(_0x2191d8,null));};exports[_0xfd7c('0xce')]=function(_0x560d17,_0x4f8582,_0x163e79){if(_0x560d17[_0xfd7c('0x78')]['id']){delete _0x560d17[_0xfd7c('0x78')]['id'];}return db[_0xfd7c('0x3f')][_0xfd7c('0xbd')]({'where':{'id':_0x560d17['params']['id']}})[_0xfd7c('0x1f')](function(_0x3b1262){if(!_0x3b1262){logger[_0xfd7c('0x25')](_0xfd7c('0xcf'),_0xfd7c('0xce'),0x194,_0xfd7c('0xd0'));_0x4f8582[_0xfd7c('0x29')](0x194);}else{if(_0x3b1262[_0xfd7c('0x77')]){throw new db[(_0xfd7c('0x90'))][(_0xfd7c('0xd1'))](_0xfd7c('0xd2'));}}return _0x3b1262;})[_0xfd7c('0x1f')](function(_0x464455){if(_0x464455){return _0x464455['update']({'closed':_0x560d17[_0xfd7c('0x78')]['closed'],'disposition':_0x560d17['body'][_0xfd7c('0xd3')]})[_0xfd7c('0x1f')](function(_0x3e56bb){return _0x3e56bb;});}})[_0xfd7c('0x1f')](function(_0x14de82){return respondWithRpcPromise(_0xfd7c('0xd4'),'abandon',_0x560d17[_0xfd7c('0x78')],client9004);})[_0xfd7c('0x1f')](respondWithResult(_0x4f8582,null))[_0xfd7c('0x28')](handleError(_0x4f8582,null));};exports[_0xfd7c('0xd5')]=function(_0x5b5bb3,_0x1269a1,_0x2e8c28){_0x5b5bb3[_0xfd7c('0x78')]['name']=_0x5b5bb3[_0xfd7c('0xd6')][_0xfd7c('0xd7')];_0x5b5bb3[_0xfd7c('0x78')]['basename']=_0x5b5bb3[_0xfd7c('0xd6')][_0xfd7c('0xd8')];_0x5b5bb3[_0xfd7c('0x78')][_0xfd7c('0x41')]=_0x5b5bb3[_0xfd7c('0xd6')]['mimetype'];return db[_0xfd7c('0xd9')][_0xfd7c('0xbe')](_0x5b5bb3[_0xfd7c('0x78')])[_0xfd7c('0x1f')](respondWithResult(_0x1269a1,0xc9))['catch'](handleError(_0x1269a1,null));};exports['attachmentDownload']=function(_0xf763d7,_0x54f2a6,_0x5738ae){return db[_0xfd7c('0x3f')][_0xfd7c('0xc3')]({'where':{'id':_0xf763d7[_0xfd7c('0xc0')]['id']},'raw':!![]})[_0xfd7c('0x1f')](handleEntityNotFound(_0x54f2a6,null))['then'](function(_0x2b2a3b){if(_0x2b2a3b){if(_0x2b2a3b['closed']){return _0x54f2a6[_0xfd7c('0x2a')](0x193)[_0xfd7c('0xda')]({'status':0x193,'message':'Unauthorized'});}return db['Attachment']['findOne']({'where':{'id':_0xf763d7[_0xfd7c('0x45')][_0xfd7c('0xdb')]},'raw':!![]})['then'](handleEntityNotFound(_0x54f2a6,null));}})['then'](function(_0x36950c){if(_0x36950c){return _0x54f2a6[_0xfd7c('0xdc')](path[_0xfd7c('0xdd')](config[_0xfd7c('0xde')],_0xfd7c('0xdf'),_0x36950c[_0xfd7c('0xe0')]));}})[_0xfd7c('0x28')](handleError(_0x54f2a6,null));};exports['close']=function(_0x37f717,_0x1bbb8c){var _0x13d0c4=null;var _0x4fd967=null;var _0x3b9c2c=null;var _0x1991e2=null;if(_0x37f717[_0xfd7c('0x78')]['id']){delete _0x37f717['body']['id'];}if(_0x37f717['body'][_0xfd7c('0xe1')]){_0x1991e2=path['join'](config['root'],_0xfd7c('0xe2'),util[_0xfd7c('0xe3')](_0xfd7c('0xe4'),Date[_0xfd7c('0xe5')]()));_0x37f717[_0xfd7c('0x78')]['pathTranscript']=_0x1991e2;}return db['ChatInteraction']['find']({'where':{'id':_0x37f717[_0xfd7c('0xc0')]['id']},'include':[{'model':db[_0xfd7c('0xcb')],'as':_0xfd7c('0xe6'),'include':[{'model':db[_0xfd7c('0x74')],'as':_0xfd7c('0x74')}]}]})['then'](handleEntityNotFound(_0x1bbb8c,null))[_0xfd7c('0x1f')](saveUpdates(_0x37f717['body'],null))[_0xfd7c('0x1f')](function(_0x1c9c8b){if(_0x1c9c8b){_0x13d0c4=_0x1c9c8b;return db[_0xfd7c('0xe7')][_0xfd7c('0xbd')]({'where':{'id':_0x13d0c4[_0xfd7c('0x7b')]}});}})[_0xfd7c('0x1f')](function(_0x4610c4){if(_0x4610c4){_0x3b9c2c=_0x4610c4;return db[_0xfd7c('0xe8')][_0xfd7c('0xbd')]({'where':{'id':_0x13d0c4[_0xfd7c('0x6b')]}});}})[_0xfd7c('0x1f')](function(_0x4f11ce){if(_0x4f11ce){_0x4fd967=_0x4f11ce;if(_0x1991e2){var _0x3dc230=null;for(var _0x38394c=0x1;_0x38394c<_0x13d0c4[_0xfd7c('0xe6')][_0xfd7c('0x49')];++_0x38394c){_0x3dc230=_0x13d0c4[_0xfd7c('0xe6')][_0x38394c];var _0x3fd8e7=_0x3dc230[_0xfd7c('0x77')]?util[_0xfd7c('0xe3')](_0xfd7c('0xe9'),_0x3b9c2c[_0xfd7c('0xea')],_0x3dc230[_0xfd7c('0x77')]):'System';var _0x16d1a7=_0x37f717['body'][_0xfd7c('0xeb')]||util[_0xfd7c('0xe3')]('%s%d','Visitor',_0x3dc230[_0xfd7c('0x6b')]);switch(_0x3b9c2c[_0xfd7c('0xec')]){case'website_alias':_0x3fd8e7=_0x3dc230[_0xfd7c('0x77')]?util['format'](_0xfd7c('0xe9'),_0x3b9c2c['agentAlias'],_0x3dc230[_0xfd7c('0x77')]):_0xfd7c('0xed');break;case _0xfd7c('0xee'):_0x3fd8e7=_0x3dc230[_0xfd7c('0x77')]?_0x3dc230[_0xfd7c('0x74')][_0xfd7c('0xef')]||_0x3dc230[_0xfd7c('0x74')][_0xfd7c('0x39')]:_0xfd7c('0xed');break;case _0xfd7c('0xf0'):_0x3fd8e7=_0x3dc230[_0xfd7c('0x77')]?_0x3dc230[_0xfd7c('0x74')][_0xfd7c('0x39')]:_0xfd7c('0xed');break;default:_0x3fd8e7=_0x3dc230['UserId']?util['format'](_0xfd7c('0xe9'),_0x3b9c2c[_0xfd7c('0xea')],_0x3dc230['UserId']):_0xfd7c('0xed');}var _0x1dd956=util[_0xfd7c('0xe3')](_0xfd7c('0xf1'),moment(_0x3dc230[_0xfd7c('0x7e')])[_0xfd7c('0xe3')](_0xfd7c('0xf2')),_0x3dc230[_0xfd7c('0xf3')]==='in'?_0x16d1a7:_0x3fd8e7,_0x3dc230[_0xfd7c('0x78')]);if(!_0x3dc230[_0xfd7c('0xf4')]){fs['appendFileSync'](_0x1991e2,_0x1dd956);}}return db[_0xfd7c('0xf5')][_0xfd7c('0xc3')]({'where':{'service':!![]},'include':[{'model':db[_0xfd7c('0xf6')],'as':_0xfd7c('0xf7'),'raw':!![]}]});}}})[_0xfd7c('0x1f')](function(_0x6ae8b6){if(_0x6ae8b6&&_0x6ae8b6[_0xfd7c('0xf7')]&&_0x37f717[_0xfd7c('0x78')]){var _0x5883b1={'tls':{'rejectUnauthorized':![]}};if(_0x6ae8b6[_0xfd7c('0xf7')][_0xfd7c('0xf8')]){_0x5883b1['service']=_0x6ae8b6[_0xfd7c('0xf7')][_0xfd7c('0xf8')];}else{_0x5883b1[_0xfd7c('0xf9')]=_0x6ae8b6[_0xfd7c('0xf7')]['host'];_0x5883b1[_0xfd7c('0xfa')]=_0x6ae8b6[_0xfd7c('0xf7')]['port'];_0x5883b1[_0xfd7c('0xfb')]=_0x6ae8b6[_0xfd7c('0xf7')][_0xfd7c('0xfb')];}if(_0x6ae8b6[_0xfd7c('0xf7')]['authentication']){_0x5883b1['auth']={'user':_0x6ae8b6[_0xfd7c('0xf7')][_0xfd7c('0x98')],'pass':_0x6ae8b6[_0xfd7c('0xf7')][_0xfd7c('0xfc')]};}return respondWithRpcPromise(_0xfd7c('0xfd'),_0xfd7c('0xfe'),{'account':_0x5883b1,'message':{'from':util[_0xfd7c('0xe3')](_0xfd7c('0xff'),_0x6ae8b6['name'],_0x6ae8b6[_0xfd7c('0x100')]||_0x6ae8b6[_0xfd7c('0xf7')][_0xfd7c('0x98')]),'to':_0x37f717[_0xfd7c('0x78')][_0xfd7c('0xe1')],'subject':'Mail\x20Transcript','text':util[_0xfd7c('0xe3')]('Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a',_0x37f717['body'][_0xfd7c('0xe1')]),'attachments':[{'path':_0x1991e2}]}})[_0xfd7c('0x1f')](function(){return _0x13d0c4;})[_0xfd7c('0x28')](function(_0xd9993a){console['error'](_0xd9993a);});}else{return _0x13d0c4;}})[_0xfd7c('0x1f')](respondWithStatusCode(_0x1bbb8c,0xc8))['catch'](handleError(_0x1bbb8c,null));};exports['addMessage']=function(_0x1b74fa,_0x158582,_0x1ceb68){return db[_0xfd7c('0xcb')][_0xfd7c('0xbd')]({'where':{'id':_0x1b74fa[_0xfd7c('0xc0')]['id']}})[_0xfd7c('0x1f')](handleEntityNotFound(_0x158582,null))[_0xfd7c('0x1f')](function(_0x1fa931){if(_0x1fa931){return _0x1fa931[_0xfd7c('0x101')](_0x1b74fa[_0xfd7c('0x78')]['ids'],_['omit'](_0x1b74fa[_0xfd7c('0x78')],[_0xfd7c('0x102'),'id'])||{});}})[_0xfd7c('0x1f')](respondWithResult(_0x158582,null))[_0xfd7c('0x28')](handleError(_0x158582,null));};exports['getMessages']=function(_0x1e6504,_0x1be14b,_0xf500b7){var _0x29d4fd={'raw':![],'where':{}};var _0x48f363={};var _0x30dd7c={'count':0x0,'rows':[]};return db['ChatInteraction'][_0xfd7c('0xc3')]({'where':{'id':_0x1e6504[_0xfd7c('0xc0')]['id']}})['then'](handleEntityNotFound(_0x1be14b,null))['then'](function(_0x4b130f){if(_0x4b130f){_0x48f363['model']=_['keys'](db[_0xfd7c('0xcb')][_0xfd7c('0xb8')]);_0x48f363['query']=_['keys'](_0x1e6504[_0xfd7c('0x45')]);_0x48f363[_0xfd7c('0x4e')]=_[_0xfd7c('0x46')](_0x48f363[_0xfd7c('0x43')],_0x48f363[_0xfd7c('0x45')]);_0x29d4fd[_0xfd7c('0x47')]=_[_0xfd7c('0x46')](_0x48f363[_0xfd7c('0x43')],qs[_0xfd7c('0x48')](_0x1e6504[_0xfd7c('0x45')]['fields']));_0x29d4fd['attributes']=_0x29d4fd[_0xfd7c('0x47')][_0xfd7c('0x49')]?_0x29d4fd['attributes']:_0x48f363['model'];if(!_0x1e6504[_0xfd7c('0x45')][_0xfd7c('0x103')](_0xfd7c('0x4a'))){_0x29d4fd[_0xfd7c('0x2d')]=qs[_0xfd7c('0x2d')](_0x1e6504[_0xfd7c('0x45')][_0xfd7c('0x2d')]);_0x29d4fd[_0xfd7c('0x2c')]=qs[_0xfd7c('0x2c')](_0x1e6504[_0xfd7c('0x45')][_0xfd7c('0x2c')]);}_0x29d4fd[_0xfd7c('0x4b')]=qs[_0xfd7c('0x4c')](_0x1e6504[_0xfd7c('0x45')][_0xfd7c('0x4c')]);_0x29d4fd['where']=qs['filters'](_[_0xfd7c('0x104')](_0x1e6504[_0xfd7c('0x45')],_0x48f363[_0xfd7c('0x4e')]));_0x29d4fd[_0xfd7c('0x4d')][_0xfd7c('0xb4')]=_0x4b130f['id'];if(_0x1e6504['query'][_0xfd7c('0x89')]){_0x29d4fd[_0xfd7c('0x4d')]=_[_0xfd7c('0xbb')](_0x29d4fd[_0xfd7c('0x4d')],{'$or':_[_0xfd7c('0x38')](_0x29d4fd[_0xfd7c('0x47')],function(_0x42e998){var _0xb84b5b={};_0xb84b5b[_0x42e998]={'$like':'%'+_0x1e6504[_0xfd7c('0x45')][_0xfd7c('0x89')]+'%'};return _0xb84b5b;})});}if(_0x1e6504[_0xfd7c('0x45')]['$gte']){var _0x24132c=_0x1e6504[_0xfd7c('0x45')]['$gte'][_0xfd7c('0x3c')](',');var _0x2b2ef3={};_0x2b2ef3[_0x24132c[0x0]]={'$gte':moment(_0x24132c[0x1])[_0xfd7c('0xe3')](_0xfd7c('0x105'))};_0x29d4fd[_0xfd7c('0x4d')]=_[_0xfd7c('0xbb')](_0x29d4fd[_0xfd7c('0x4d')],_0x2b2ef3);}_0x29d4fd=_[_0xfd7c('0xbb')]({},_0x29d4fd,_0x1e6504[_0xfd7c('0xbc')]);return db['ChatMessage'][_0xfd7c('0x2b')]({'where':_0x29d4fd['where']})[_0xfd7c('0x1f')](function(_0x1c004a){_0x30dd7c['count']=_0x1c004a;if(_0x1e6504[_0xfd7c('0x45')][_0xfd7c('0xb9')]){_0x29d4fd['include']=[{'all':!![]}];}return db[_0xfd7c('0xcb')][_0xfd7c('0x106')](_0x29d4fd);})['then'](function(_0x6fae48){_0x30dd7c[_0xfd7c('0xb6')]=_0x6fae48;return _0x30dd7c;});}})[_0xfd7c('0x1f')](respondWithFilteredResult(_0x1be14b,_0x29d4fd))['catch'](handleError(_0x1be14b,null));};exports[_0xfd7c('0x107')]=function(_0x18ce10,_0x51e427,_0x5525c2){var _0x4f193f={'where':{}},_0x2fbb21={},_0x4e3783={'count':0x0,'rows':[]};return db[_0xfd7c('0x3f')][_0xfd7c('0xc3')]({'where':{'id':_0x18ce10['params']['id']}})[_0xfd7c('0x1f')](handleEntityNotFound(_0x51e427,null))['then'](function(_0x2f1b4e){if(_0x2f1b4e){_0x2fbb21[_0xfd7c('0x43')]=_[_0xfd7c('0x44')](db[_0xfd7c('0xcb')][_0xfd7c('0xb8')]);_0x2fbb21[_0xfd7c('0x45')]=_[_0xfd7c('0x44')](_0x18ce10['query']);_0x2fbb21[_0xfd7c('0x4e')]=_['intersection'](_0x2fbb21[_0xfd7c('0x43')],_0x2fbb21[_0xfd7c('0x45')]);_0x4f193f[_0xfd7c('0x47')]=_[_0xfd7c('0x46')](_0x2fbb21['model'],qs[_0xfd7c('0x48')](_0x18ce10[_0xfd7c('0x45')][_0xfd7c('0x48')]));_0x4f193f[_0xfd7c('0x47')]=_0x4f193f[_0xfd7c('0x47')][_0xfd7c('0x49')]?_0x4f193f[_0xfd7c('0x47')]:_0x2fbb21[_0xfd7c('0x43')];if(!_0x18ce10[_0xfd7c('0x45')][_0xfd7c('0x103')](_0xfd7c('0x4a'))){_0x4f193f[_0xfd7c('0x2d')]=qs[_0xfd7c('0x2d')](_0x18ce10['query'][_0xfd7c('0x2d')]);_0x4f193f[_0xfd7c('0x2c')]=qs[_0xfd7c('0x2c')](_0x18ce10[_0xfd7c('0x45')][_0xfd7c('0x2c')]);}_0x4f193f[_0xfd7c('0x4b')]=qs[_0xfd7c('0x4c')](_0x18ce10[_0xfd7c('0x45')][_0xfd7c('0x4c')]);_0x4f193f[_0xfd7c('0x4d')]=qs['filters'](_[_0xfd7c('0x104')](_0x18ce10[_0xfd7c('0x45')],_0x2fbb21['filters']));_0x4f193f['where'][_0xfd7c('0xb4')]=_0x2f1b4e['id'];if(_0x18ce10[_0xfd7c('0x45')][_0xfd7c('0x89')]){_0x4f193f[_0xfd7c('0x4d')]=_['merge'](_0x4f193f[_0xfd7c('0x4d')],{'$or':_[_0xfd7c('0x38')](_0x4f193f[_0xfd7c('0x47')],function(_0x46bb6a){var _0x457e89={};_0x457e89[_0x46bb6a]={'$like':'%'+_0x18ce10[_0xfd7c('0x45')][_0xfd7c('0x89')]+'%'};return _0x457e89;})});}_0x4f193f[_0xfd7c('0x4d')][_0xfd7c('0xf4')]=![];if(_0x18ce10[_0xfd7c('0x45')]['id']){_0x4f193f['where']['id']={'$gt':_0x18ce10[_0xfd7c('0x45')]['id']};}_0x4f193f=_['merge']({},_0x4f193f,_0x18ce10['options']);return db[_0xfd7c('0xcb')]['count']({'where':_0x4f193f[_0xfd7c('0x4d')]})[_0xfd7c('0x1f')](function(_0x541db9){_0x4e3783[_0xfd7c('0x2b')]=_0x541db9;_0x4f193f[_0xfd7c('0xba')]=[];if(_0x18ce10[_0xfd7c('0x45')][_0xfd7c('0x108')]){_0x4f193f[_0xfd7c('0xba')][_0xfd7c('0x3d')]({'model':db[_0xfd7c('0x74')],'as':_0xfd7c('0x74'),'attributes':['id',_0xfd7c('0x39'),_0xfd7c('0xef')]});}if(_0x18ce10[_0xfd7c('0x45')]['includeAll']){_0x4f193f[_0xfd7c('0xba')]=[{'all':!![]}];}return db[_0xfd7c('0xcb')][_0xfd7c('0x106')](_0x4f193f);})[_0xfd7c('0x1f')](function(_0x126687){_0x4e3783['rows']=_0x126687;return _0x4e3783;});}})[_0xfd7c('0x1f')](respondWithFilteredResult(_0x51e427,_0x4f193f))[_0xfd7c('0x28')](handleError(_0x51e427,null));};exports[_0xfd7c('0x109')]=function(_0x34c094,_0x57d01a,_0x2f3a22){return db[_0xfd7c('0x3f')][_0xfd7c('0xbd')]({'where':{'id':_0x34c094[_0xfd7c('0xc0')]['id']}})[_0xfd7c('0x1f')](handleEntityNotFound(_0x57d01a,null))[_0xfd7c('0x1f')](function(_0x4386bd){if(_0x4386bd){return _0x4386bd[_0xfd7c('0x10a')](_0x34c094[_0xfd7c('0x78')][_0xfd7c('0x102')],_[_0xfd7c('0x10b')](_0x34c094['body'],[_0xfd7c('0x102'),'id'])||{})[_0xfd7c('0x10c')](function(){return db[_0xfd7c('0x70')]['findAll']({'attributes':['id',_0xfd7c('0x35'),_0xfd7c('0x10d')],'where':{'id':_0x34c094[_0xfd7c('0x78')][_0xfd7c('0x102')]}});})[_0xfd7c('0x1f')](function(_0x419f44){socket[_0xfd7c('0x10e')](_0xfd7c('0x10f'),{'id':Number(_0x34c094[_0xfd7c('0xc0')]['id']),'tags':_0x419f44||[]});return{'id':Number(_0x34c094[_0xfd7c('0xc0')]['id']),'tags':_0x419f44||[]};});}})[_0xfd7c('0x1f')](respondWithResult(_0x57d01a,null))[_0xfd7c('0x28')](handleError(_0x57d01a,null));};exports[_0xfd7c('0x110')]=function(_0x38a85d,_0x23395a,_0x3754a8){return db['ChatInteraction'][_0xfd7c('0xbd')]({'where':{'id':_0x38a85d[_0xfd7c('0xc0')]['id']}})['then'](handleEntityNotFound(_0x23395a,null))['then'](function(_0x455ff5){if(_0x455ff5){return _0x455ff5[_0xfd7c('0x110')](_0x38a85d[_0xfd7c('0x45')][_0xfd7c('0x102')]);}})[_0xfd7c('0x1f')](respondWithStatusCode(_0x23395a,null))[_0xfd7c('0x28')](handleError(_0x23395a,null));};exports['download']=function(_0x2388c2,_0x17a346){var _0x3aef58=moment()[_0xfd7c('0x111')]()[_0xfd7c('0x9c')]();var _0x1e9d3e=path[_0xfd7c('0xdd')](config[_0xfd7c('0xde')],'server',_0xfd7c('0x112'),_0xfd7c('0x113'));var _0x5ac070=path[_0xfd7c('0xdd')](config['root'],_0xfd7c('0x114'),_0xfd7c('0x112'),_0xfd7c('0x115'));var _0x47c5ba=path[_0xfd7c('0xdd')](_0x1e9d3e,_0x3aef58);var _0x260e20=util[_0xfd7c('0xe3')](_0xfd7c('0x116'),_0x2388c2[_0xfd7c('0xc0')]['id'],_0x3aef58);var _0x57d1a6=path[_0xfd7c('0xdd')](_0x1e9d3e,_0x260e20);var _0x3c813a=[];_0x3c813a['push']({'model':db[_0xfd7c('0x74')],'as':'User','attributes':['id',_0xfd7c('0x39')],'raw':!![]});_0x3c813a[_0xfd7c('0x3d')]({'model':db[_0xfd7c('0xe8')],'as':'Contact','attributes':['id','firstName','lastName'],'raw':!![]});if(_0x2388c2[_0xfd7c('0x45')]['attachments']){_0x3c813a[_0xfd7c('0x3d')]({'model':db['Attachment'],'as':'Attachment','raw':!![]});}var _0x2f6348=[{'model':db[_0xfd7c('0xcb')],'as':_0xfd7c('0xe6'),'attributes':['id',_0xfd7c('0x78'),_0xfd7c('0x7e'),_0xfd7c('0xf3'),_0xfd7c('0xf4'),_0xfd7c('0x85')],'include':_0x3c813a}];_0x2f6348['push']({'model':db['ChatWebsite'],'as':_0xfd7c('0x117'),'attributes':['id',_0xfd7c('0x35')]});_0x2f6348[_0xfd7c('0x3d')]({'model':db[_0xfd7c('0x74')],'as':_0xfd7c('0x118'),'attributes':['id',_0xfd7c('0x39')]});return db[_0xfd7c('0x3f')][_0xfd7c('0xbd')]({'where':{'id':_0x2388c2['params']['id']},'include':_0x2f6348})[_0xfd7c('0x1f')](handleEntityNotFound(_0x17a346,null))[_0xfd7c('0x1f')](function(_0x1d224d){if(_0x1d224d){var _0x5d129c=_0x1d224d[_0xfd7c('0x119')]({'plain':!![]});fs[_0xfd7c('0x11a')](_0x47c5ba);var _0x20c252={'format':'A4','border':_0xfd7c('0x11b'),'header':{'height':_0xfd7c('0x11c'),'contents':{'first':'<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>'}},'footer':{'height':'30px','contents':{'default':util['format'](_0xfd7c('0x11d'),util[_0xfd7c('0xe3')]('%s\x20#%d',_0xfd7c('0x11e'),_0x5d129c['id']),moment()[_0xfd7c('0xe3')](_0xfd7c('0x11f'))[_0xfd7c('0x9c')]())}}};var _0x1520d0={'channel':_0xfd7c('0x11e'),'account':_0x5d129c['Account']['name'],'agent':_0x5d129c[_0xfd7c('0x118')]?_0x5d129c[_0xfd7c('0x118')][_0xfd7c('0x39')]:_0xfd7c('0x120'),'createdAt':moment(_0x5d129c[_0xfd7c('0x7e')])['format'](_0xfd7c('0x105'))['toString'](),'closedAt':_0x5d129c[_0xfd7c('0x121')]?moment(_0x5d129c[_0xfd7c('0x122')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0xfd7c('0x9c')]():'','disposition':_0x5d129c['disposition'],'chatInfo':{'browser':_0x5d129c[_0xfd7c('0x123')],'os':_0x5d129c[_0xfd7c('0x124')],'referer':_0x5d129c[_0xfd7c('0x125')],'customerIp':_0x5d129c[_0xfd7c('0x126')],'customerPort':_0x5d129c[_0xfd7c('0x127')]?_0x5d129c[_0xfd7c('0x127')]:_0xfd7c('0x120')},'messages':_(_0x5d129c[_0xfd7c('0xe6')])[_0xfd7c('0x128')]()[_0xfd7c('0x89')]({'secret':![]})[_0xfd7c('0x38')](function(_0xb625b8){if(_0xb625b8[_0xfd7c('0xd9')]){var _0x3ee3ff=path['join'](_0x5ac070,_0xb625b8[_0xfd7c('0xd9')]['basename']);if(fs[_0xfd7c('0x129')](_0x3ee3ff)){fs[_0xfd7c('0x12a')](_0x3ee3ff)[_0xfd7c('0x12b')](fs['createWriteStream'](path[_0xfd7c('0xdd')](_0x47c5ba,_0xb625b8[_0xfd7c('0xd9')][_0xfd7c('0xe0')])));}}return{'date':moment(_0xb625b8[_0xfd7c('0x7e')])['format'](_0xfd7c('0x105'))[_0xfd7c('0x9c')](),'sender':_0xb625b8[_0xfd7c('0xf3')]===_0xfd7c('0xca')?_0xb625b8[_0xfd7c('0x74')]?_0xb625b8[_0xfd7c('0x74')]['fullname']:_0xfd7c('0xed'):_0xb625b8[_0xfd7c('0x12c')][_0xfd7c('0x12d')]+(_0xb625b8[_0xfd7c('0x12c')][_0xfd7c('0x12e')]?'\x20'+_0xb625b8[_0xfd7c('0x12c')][_0xfd7c('0x12e')]:''),'body':_0xb625b8[_0xfd7c('0xd9')]?_0xb625b8['Attachment'][_0xfd7c('0xe0')]:_0xb625b8['body'],'direction':_0xb625b8['direction']===_0xfd7c('0xca')?'A':'C','secret':_0xb625b8[_0xfd7c('0xf4')],'read':_0xb625b8['read'],'attachment':_0xb625b8[_0xfd7c('0xd9')]};})[_0xfd7c('0x65')]()};return ejs['renderFile'](path[_0xfd7c('0xdd')](config[_0xfd7c('0xde')],_0xfd7c('0x114'),_0xfd7c('0x12f'),'downloadInteraction.html'),{'interaction':_0x1520d0})[_0xfd7c('0x1f')](function(_0x4b4fdc){return new BPromise(function(_0x548502,_0x17721b){pdf[_0xfd7c('0xbe')](_0x4b4fdc,_0x20c252)[_0xfd7c('0x130')](path[_0xfd7c('0xdd')](_0x47c5ba,_0xfd7c('0x131')+_0x5d129c['id']+'-'+_0x3aef58+_0xfd7c('0x132')),function(_0x3d6ec2,_0x3f64f9){if(_0x3d6ec2)return _0x17721b(_0x3d6ec2);_0x548502(_0x3f64f9);});});})['then'](function(){return new BPromise(function(_0x346006,_0x2c14e7){zipdir(_0x47c5ba,{'saveTo':_0x57d1a6},function(_0x316d20,_0x254b0c){if(_0x316d20)return _0x2c14e7(_0x316d20);return _0x346006(_0x254b0c);});})['then'](function(){return new BPromise(function(_0x449150,_0x5a3133){rimraf(_0x47c5ba,function(_0x540514){if(_0x540514)_0x5a3133(_0x540514);return _0x449150();});});})[_0xfd7c('0x1f')](function(){return _0x17a346[_0xfd7c('0xdc')](_0x57d1a6,_0x260e20,function(_0x24530f){if(_0x24530f){console[_0xfd7c('0x133')]('err',_0x24530f);}else{fs[_0xfd7c('0x134')](_0x57d1a6);}});});});}else{return _0x17a346['sendStatus'](0xc8);}})['catch'](handleError(_0x17a346,null));};