Built motion from commit (unavailable).|2.4.18
[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 _0x5075=['Contact.fax','Owner.fullname','Owner.internal','ChatInteractionId','all','rows','show','rawAttributes','includeAll','include','options','create','update','params','describe','customUpdate','abandon','Interaction\x20already\x20assigned','closed','AbandonInteraction','attachmentUpload','file','basename','mimetype','Attachment','findOne','attachId','download','root','server/files/attachments/','close','mailTranscript','join','server/files/chat/upload/','transcript-%s.txt','now','pathTranscript','ChatMessage','Messages','ChatWebsite','format','agentAlias','System','customer','%s%d','agentIdentifier','website_alias','agent_alias','alias','[%s]\x20%s:\x20%s\x0a','createdAt','MM/DD/YYYY\x20HH:mm:ss','secret','appendFileSync','MailAccount','Smtp','service','host','port','secure','authentication','auth','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','getMessages','sort','pick','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','includeAgent','addTags','setTags','spread','emit','removeTags','unix','server','files','tmp','attachments','CmContact','lastName','direction','Account','get','mkdirSync','10px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Chat','Owner','N.A.','closedAt','osName','customerPort','tail','createReadStream','createWriteStream','out','firstName','downloadInteraction.html','toFile','log','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','sendStatus','status','end','json','count','offset','set','Content-Range','apply','save','stack','name','send','fullname','TagIds','Tags','split','forEach','push','index','map','ChatInteraction','fieldName','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','where','select','field','color','tools_tags','u.id','u.fullname','ui.ChatInteractionId','from','user_has_chat_interactions','u.id\x20=\x20ui.UserId','chat_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','t.id\x20=\x20it.TagId','expr','search','conditions','find','unreadMessages','value','having','`\x20=\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','type','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','text','body','compact','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','QueryTypes','SELECT','clone','DESC','t.id\x20IN\x20?','resolve','ChatWebsiteId','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','getChatWebsites','isEmpty','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','sequelize','toString','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax'];(function(_0x5b3995,_0x1f0bdd){var _0x2e6750=function(_0x44dcbf){while(--_0x44dcbf){_0x5b3995['push'](_0x5b3995['shift']());}};_0x2e6750(++_0x1f0bdd);}(_0x5075,0x73));var _0x5507=function(_0x233dc0,_0x2866ad){_0x233dc0=_0x233dc0-0x0;var _0x1fc160=_0x5075[_0x233dc0];return _0x1fc160;};'use strict';var pdf=require(_0x5507('0x0'));var emlformat=require(_0x5507('0x1'));var rimraf=require(_0x5507('0x2'));var zipdir=require(_0x5507('0x3'));var jsonpatch=require(_0x5507('0x4'));var rp=require(_0x5507('0x5'));var moment=require(_0x5507('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x5507('0x7'));var util=require(_0x5507('0x8'));var path=require(_0x5507('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x5507('0xa'));var fs=require('fs');var _=require(_0x5507('0xb'));var squel=require('squel');var crypto=require(_0x5507('0xc'));var jsforce=require(_0x5507('0xd'));var deskjs=require(_0x5507('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x5507('0xf'));var Redis=require(_0x5507('0x10'));var authService=require(_0x5507('0x11'));var qs=require(_0x5507('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5507('0x13'));var logger=require(_0x5507('0x14'))('api');var utils=require(_0x5507('0x15'));var config=require(_0x5507('0x16'));var db=require('../../mysqldb')['db'];config[_0x5507('0x17')]=_[_0x5507('0x18')](config[_0x5507('0x17')],{'host':_0x5507('0x19'),'port':0x18eb});var socket=require(_0x5507('0x1a'))(new Redis(config[_0x5507('0x17')]));require('./chatInteraction.socket')[_0x5507('0x1b')](socket);var jayson=require(_0x5507('0x1c'));var client=jayson[_0x5507('0x1d')][_0x5507('0x1e')]({'port':0x232b});var client9004=jayson['client'][_0x5507('0x1e')]({'port':0x232c});function checkPasswordPattern(_0x10d7b9,_0x2dfd06,_0x1ab167){if(_0x1ab167){var _0xa6e4b3=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0xa6e4b3[_0x5507('0x1f')](_0x2dfd06)){return _0x10d7b9;}else{throw new db[(_0x5507('0x20'))][(_0x5507('0x21'))](_0x5507('0x22'));}}else{return _0x10d7b9;}}function respondWithRpcPromise(_0x2f0c7d,_0x233b6a,_0x2260f7,_0x3822dd){return new BPromise(function(_0x5ad6d7,_0x14dab0){var _0x276a81=_0x3822dd||client;return _0x276a81[_0x5507('0x23')](_0x2f0c7d,_0x2260f7)[_0x5507('0x24')](function(_0x54f473){logger[_0x5507('0x25')](_0x5507('0x26'),_0x233b6a,_0x5507('0x27'));logger[_0x5507('0x28')](_0x5507('0x29'),_0x233b6a,_0x5507('0x27'),JSON['stringify'](_0x54f473));if(_0x54f473[_0x5507('0x2a')]){if(_0x54f473[_0x5507('0x2a')][_0x5507('0x2b')]===0x1f4){logger[_0x5507('0x2a')](_0x5507('0x26'),_0x233b6a,_0x54f473[_0x5507('0x2a')][_0x5507('0x2c')]);return _0x14dab0(_0x54f473[_0x5507('0x2a')][_0x5507('0x2c')]);}logger[_0x5507('0x2a')](_0x5507('0x26'),_0x233b6a,_0x54f473[_0x5507('0x2a')][_0x5507('0x2c')]);return _0x5ad6d7(_0x54f473[_0x5507('0x2a')][_0x5507('0x2c')]);}else{logger['info'](_0x5507('0x26'),_0x233b6a,'request\x20sent');_0x5ad6d7(_0x54f473[_0x5507('0x2d')]['message']);}})[_0x5507('0x2e')](function(_0x24668b){logger['error']('ChatInteraction,\x20%s,\x20%s',_0x233b6a,_0x24668b);_0x14dab0(_0x24668b);});});}function respondWithStatusCode(_0xbe8d32,_0x1a18d0){_0x1a18d0=_0x1a18d0||0xcc;return function(_0x5912d4){if(_0x5912d4){return _0xbe8d32[_0x5507('0x2f')](_0x1a18d0);}return _0xbe8d32[_0x5507('0x30')](_0x1a18d0)[_0x5507('0x31')]();};}function respondWithResult(_0x38f4d9,_0x1e5ce6){_0x1e5ce6=_0x1e5ce6||0xc8;return function(_0x14fdea){if(_0x14fdea){return _0x38f4d9['status'](_0x1e5ce6)[_0x5507('0x32')](_0x14fdea);}};}function respondWithFilteredResult(_0x9c1468,_0x106b11){return function(_0x38f0f5){if(_0x38f0f5){var _0x29dd58=_0x38f0f5[_0x5507('0x33')],_0x495bbe=_0x106b11[_0x5507('0x34')],_0x51e692=_0x106b11[_0x5507('0x34')]+_0x106b11['limit'],_0x3b09be;if(_0x51e692>=_0x29dd58){_0x51e692=_0x29dd58;_0x3b09be=0xc8;}else{_0x3b09be=0xce;}_0x9c1468[_0x5507('0x30')](_0x3b09be);return _0x9c1468[_0x5507('0x35')](_0x5507('0x36'),_0x495bbe+'-'+_0x51e692+'/'+_0x29dd58)[_0x5507('0x32')](_0x38f0f5);}return null;};}function patchUpdates(_0x3cf04d){return function(_0x2074a){try{jsonpatch[_0x5507('0x37')](_0x2074a,_0x3cf04d,!![]);}catch(_0x27c8c8){return BPromise['reject'](_0x27c8c8);}return _0x2074a[_0x5507('0x38')]();};}function saveUpdates(_0x423426,_0x1b69f3){return function(_0x51ca35){if(_0x51ca35){return _0x51ca35['update'](_0x423426)[_0x5507('0x24')](function(_0xf5aa07){return _0xf5aa07;});}return null;};}function removeEntity(_0x3297bc,_0x17d01c){return function(_0x143d97){if(_0x143d97){return _0x143d97['destroy']()['then'](function(){_0x3297bc[_0x5507('0x30')](0xcc)[_0x5507('0x31')]();});}};}function handleEntityNotFound(_0x3a452d,_0x1b9115){return function(_0x5dcd57){if(!_0x5dcd57){_0x3a452d['sendStatus'](0x194);}return _0x5dcd57;};}function handleError(_0x23ea7c,_0x5a5b67){_0x5a5b67=_0x5a5b67||0x1f4;return function(_0x304daf){logger[_0x5507('0x2a')](_0x304daf[_0x5507('0x39')]);if(_0x304daf[_0x5507('0x3a')]){delete _0x304daf[_0x5507('0x3a')];}_0x23ea7c[_0x5507('0x30')](_0x5a5b67)[_0x5507('0x3b')](_0x304daf);};}function getInteractionUsers(_0x2b962d,_0x44502c){return new BPromise(function(_0x453c21,_0x59db9b){try{if(_0x44502c[_0x2b962d['id']]){_0x2b962d['Users']=_['map'](_0x44502c[_0x2b962d['id']],function(_0x570eee){return{'id':_0x570eee['id'],'fullname':_0x570eee[_0x5507('0x3c')]};});}}catch(_0x2cf512){_0x59db9b(_0x2cf512);}_0x453c21(_0x2b962d);});}function getInteractionTags(_0x2c2bad,_0x854262){return new BPromise(function(_0x2b32a5,_0x210991){try{if(_0x2c2bad[_0x5507('0x3d')]){_0x2c2bad[_0x5507('0x3e')]=[];_0x2c2bad[_0x5507('0x3d')][_0x5507('0x3f')](',')[_0x5507('0x40')](function(_0x2e2307){_0x2c2bad[_0x5507('0x3e')][_0x5507('0x41')](_0x854262[_0x2e2307]);});}delete _0x2c2bad['TagIds'];}catch(_0x53b3f3){_0x210991(_0x53b3f3);}_0x2b32a5(_0x2c2bad);});}function updateChatInteraction(_0x50eb32,_0x33f7f7,_0x41283f){return new BPromise(function(_0x417022,_0x245b0a){return getInteractionUsers(_0x50eb32,_0x41283f)[_0x5507('0x24')](function(_0x17d7db){return getInteractionTags(_0x17d7db,_0x33f7f7);})[_0x5507('0x24')](function(_0x371136){_0x417022(_0x371136);})[_0x5507('0x2e')](function(_0x436c44){_0x245b0a(_0x436c44);});});}exports[_0x5507('0x42')]=function(_0x192a00,_0x24d7b5){var _0x25496b={},_0x1b3006={},_0x8bad16={'count':0x0,'rows':[]};var _0x129396=_[_0x5507('0x43')](db[_0x5507('0x44')]['rawAttributes'],function(_0x21f162){return{'name':_0x21f162[_0x5507('0x45')],'type':_0x21f162['type']['key']};});_0x1b3006[_0x5507('0x46')]=_[_0x5507('0x43')](_0x129396,_0x5507('0x3a'));_0x1b3006[_0x5507('0x47')]=_[_0x5507('0x48')](_0x192a00['query']);_0x1b3006[_0x5507('0x49')]=_[_0x5507('0x4a')](_0x1b3006[_0x5507('0x46')],_0x1b3006['query']);_0x25496b[_0x5507('0x4b')]=_[_0x5507('0x4a')](_0x1b3006[_0x5507('0x46')],qs[_0x5507('0x4c')](_0x192a00[_0x5507('0x47')]['fields']));_0x25496b[_0x5507('0x4b')]=_0x25496b['attributes'][_0x5507('0x4d')]?_0x25496b[_0x5507('0x4b')]:_0x1b3006[_0x5507('0x46')];if(!_0x192a00[_0x5507('0x47')][_0x5507('0x4e')](_0x5507('0x4f'))){_0x25496b[_0x5507('0x50')]=qs[_0x5507('0x50')](_0x192a00['query'][_0x5507('0x50')]);_0x25496b[_0x5507('0x34')]=qs['offset'](_0x192a00['query']['offset']);}_0x25496b[_0x5507('0x51')]=qs['sort'](_0x192a00[_0x5507('0x47')]['sort']);_0x25496b[_0x5507('0x52')]=qs['filters'](_['pick'](_0x192a00[_0x5507('0x47')],_0x1b3006[_0x5507('0x49')]));var _0x192b4a=[];var _0x32ecad=squel[_0x5507('0x53')]()[_0x5507('0x54')]('id')['field'](_0x5507('0x3a'))[_0x5507('0x54')](_0x5507('0x55'))['from'](_0x5507('0x56'));var _0xe4b14c=squel[_0x5507('0x53')]()[_0x5507('0x54')](_0x5507('0x57'))[_0x5507('0x54')](_0x5507('0x58'))[_0x5507('0x54')](_0x5507('0x59'))[_0x5507('0x5a')](_0x5507('0x5b'),'ui')['left_join']('users','u',_0x5507('0x5c'));var _0x5d7753=squel[_0x5507('0x53')]()[_0x5507('0x5a')](_0x5507('0x5d'),'i')[_0x5507('0x5e')](_0x5507('0x5f'),'c',_0x5507('0x60'))[_0x5507('0x5e')](_0x5507('0x61'),'o',_0x5507('0x62'))[_0x5507('0x5e')](_0x5507('0x63'),'a',_0x5507('0x64'))[_0x5507('0x5e')](_0x5507('0x65'),'me','me.ChatInteractionId\x20=\x20i.id')[_0x5507('0x5e')]('chat_interaction_has_tags','it','it.ChatInteractionId\x20=\x20i.id')[_0x5507('0x5e')](_0x5507('0x56'),'t',_0x5507('0x66'));var _0x3ba05c=squel['expr']();var _0x2d4f18=[];var _0x2f41a9=squel[_0x5507('0x67')]();var _0x34276a;if(_0x192a00[_0x5507('0x47')][_0x5507('0x68')]){_0x34276a=as['parseSearch'](_0x192a00[_0x5507('0x47')][_0x5507('0x68')]);var _0x3a2f9f=_0x34276a['sqlOperator'];for(var _0x5ac5d7=0x0;_0x5ac5d7<_0x34276a[_0x5507('0x69')]['length'];_0x5ac5d7++){var _0x208fc4=_0x34276a[_0x5507('0x69')][_0x5ac5d7];var _0x5cd12e='i';var _0x3e796d=_[_0x5507('0x6a')](_0x129396,[_0x5507('0x3a'),_0x208fc4[_0x5507('0x54')]]);if(!_0x3e796d){switch(_0x208fc4[_0x5507('0x54')]){case _0x5507('0x6b'):if(_0x208fc4[_0x5507('0x6c')]==0x1){_0x5d7753[_0x5507('0x6d')]('`'+_0x208fc4[_0x5507('0x54')]+_0x5507('0x6e'));}else{_0x5d7753[_0x5507('0x6d')]('`'+_0x208fc4[_0x5507('0x54')]+'`\x20>\x200');}break;case _0x5507('0x6f'):if(_0x208fc4[_0x5507('0x70')]===_0x5507('0x71')){if(_0x208fc4[_0x5507('0x6c')][_0x5507('0x3f')]('\x20')['length']>0x1){_0x3ba05c[_0x3a2f9f](_0x5507('0x72'),qs['getFullTextValue'](_0x208fc4[_0x5507('0x6c')]),null);}else{var _0xae8662='%'+_0x208fc4[_0x5507('0x6c')]+'%';_0x3ba05c[_0x3a2f9f]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0xae8662,_0xae8662,_0xae8662);}}else{_0x3e796d=_[_0x5507('0x6a')](_0x129396,[_0x5507('0x3a'),_0x5507('0x73')]);_0x208fc4['field']=_0x5507('0x73');_0x1812d7=as['buildExpression'](_0x5cd12e,_0x3e796d[_0x5507('0x74')],_0x208fc4);_0x3ba05c[_0x3a2f9f](_0x1812d7['text'],_0x1812d7['value'][_0x5507('0x75')],_0x1812d7[_0x5507('0x6c')][_0x5507('0x31')]);}break;case _0x5507('0x76'):var _0x2d7729=_0x208fc4[_0x5507('0x6c')]['split'](',')['map'](function(_0x3a88fb){return Number(_0x3a88fb);});_0x2d7729[_0x5507('0x40')](function(_0x14c884){_0x2f41a9['or'](_0x5507('0x77'),'%,'+_0x14c884+',%');});_0x2d4f18=_['union'](_0x2d4f18,_0x2d7729);break;case _0x5507('0x78'):if(_0x208fc4[_0x5507('0x70')]===_0x5507('0x71')){_0x3ba05c[_0x3a2f9f](_0x5507('0x79'),'%'+_0x208fc4[_0x5507('0x6c')]+'%',null);}else{_0x3e796d=_[_0x5507('0x6a')](_0x129396,[_0x5507('0x3a'),'UserId']);_0x208fc4[_0x5507('0x54')]=_0x5507('0x7a');_0x1812d7=as[_0x5507('0x7b')](_0x5cd12e,_0x3e796d['type'],_0x208fc4);_0x3ba05c[_0x3a2f9f](_0x1812d7[_0x5507('0x7c')],_0x1812d7['value']['start'],_0x1812d7['value'][_0x5507('0x31')]);}break;case _0x5507('0x7d'):_0x1812d7=as[_0x5507('0x7b')]('me',null,_0x208fc4);_0x3ba05c[_0x3a2f9f](_0x1812d7[_0x5507('0x7c')],_0x1812d7[_0x5507('0x6c')][_0x5507('0x75')],_0x1812d7[_0x5507('0x6c')]['end']);break;}}else{var _0x1812d7=as['buildExpression'](_0x5cd12e,_0x3e796d[_0x5507('0x74')],_0x208fc4);_0x3ba05c[_0x3a2f9f](_0x1812d7[_0x5507('0x7c')],_0x1812d7[_0x5507('0x6c')][_0x5507('0x75')],_0x1812d7[_0x5507('0x6c')][_0x5507('0x31')]);}}}else{var _0x4423a8=_(_0x192a00[_0x5507('0x47')])[_0x5507('0x48')]()[_0x5507('0x43')](function(_0x259a87){return _['some'](_0x129396,[_0x5507('0x3a'),_0x259a87])?_0x259a87:undefined;})[_0x5507('0x7e')]()[_0x5507('0x6c')]();if(!_['isEmpty'](_0x4423a8)){_0x4423a8[_0x5507('0x40')](function(_0x2f67d6){if(_0x2f67d6==='ChatWebsiteId'){_0x5d7753[_0x5507('0x52')]('i.ChatWebsiteId\x20IN\x20?',[]['concat'](_0x192a00[_0x5507('0x47')][_0x2f67d6]));}else if(_0x2f67d6==='createdAt'){var _0xb92deb=JSON[_0x5507('0x7f')](_0x192a00[_0x5507('0x47')][_0x2f67d6])[_0x5507('0x80')];var _0xbb4353=JSON[_0x5507('0x7f')](_0x192a00['query'][_0x2f67d6])[_0x5507('0x81')];_0x5d7753[_0x5507('0x52')](_0x5507('0x82'),_0xb92deb,_0xbb4353);}else{if(_0x192a00[_0x5507('0x47')][_0x2f67d6]===_0x5507('0x83')){_0x5d7753[_0x5507('0x52')]('i.'+_0x2f67d6+_0x5507('0x84'));}else{_0x5d7753[_0x5507('0x52')]('i.'+_0x2f67d6+_0x5507('0x85'),_0x192a00[_0x5507('0x47')][_0x2f67d6]);}}});}if(_0x192a00[_0x5507('0x47')][_0x5507('0x86')]){if(_0x192a00['query'][_0x5507('0x86')]==0x1){_0x5d7753[_0x5507('0x6d')](_0x5507('0x87'));}else{_0x5d7753[_0x5507('0x6d')](_0x5507('0x88'));}}if(_0x192a00[_0x5507('0x47')]['tag']){_0x2d4f18=_[_0x5507('0x89')](_0x192a00['query'][_0x5507('0x8a')])?_0x192a00['query']['tag']:new Array(_0x192a00[_0x5507('0x47')][_0x5507('0x8a')]);_0x2d4f18[_0x5507('0x40')](function(_0x363213){_0x2f41a9['or'](_0x5507('0x77'),'%,'+_0x363213+',%');});}if(_0x192a00['query'][_0x5507('0x8b')]){var _0x53fd44=_0x192a00[_0x5507('0x47')][_0x5507('0x8b')][_0x5507('0x8c')]('\x5c','\x5c\x5c')[_0x5507('0x8c')]('\x27\x27','\x27\x27\x27\x27');if(qs[_0x5507('0x8d')](_0x53fd44)){_0x3ba05c['or'](_0x5507('0x8e'),_0x53fd44+'%');}else{_0x3ba05c['or'](_0x5507('0x8f'),qs['getFullTextValue'](_0x53fd44))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x53fd44+'%');}}}_0x5d7753[_0x5507('0x52')](_0x3ba05c);_0x5d7753[_0x5507('0x90')](_0x5507('0x91'));var _0x38a45f={'type':db[_0x5507('0x20')][_0x5507('0x92')][_0x5507('0x93')],'raw':!![]};var _0x10b62e=_0x5d7753[_0x5507('0x94')]();_0x10b62e[_0x5507('0x54')](_0x5507('0x91'));_0x10b62e[_0x5507('0x54')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x5507('0x6b'));if(_0x25496b[_0x5507('0x51')]){_0x25496b[_0x5507('0x51')][_0x5507('0x40')](function(_0x335b52){_0x5d7753[_0x5507('0x51')]('i.'+_0x335b52[0x0],_0x335b52[0x1]===_0x5507('0x95')?![]:!![]);});}if(!_['isEmpty'](_0x2d4f18)){_0x5d7753[_0x5507('0x6d')](_0x2f41a9);_0x10b62e[_0x5507('0x52')](_0x5507('0x96'),_0x2d4f18);}BPromise[_0x5507('0x97')]()['then'](function(){if(!_0x34276a){if(_0x192a00[_0x5507('0x47')][_0x5507('0x98')]||_0x192a00[_0x5507('0x47')][_0x5507('0x99')])return;_0x10b62e[_0x5507('0x52')](_0x5507('0x9a'));_0x5d7753[_0x5507('0x52')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}return _0x192a00[_0x5507('0x9b')][_0x5507('0x9c')]({'attributes':['id'],'raw':!![]})[_0x5507('0x24')](function(_0x2facc9){if(_[_0x5507('0x9d')](_0x2facc9)){_0x10b62e['where'](_0x5507('0x9e'));_0x5d7753[_0x5507('0x52')](_0x5507('0x9e'));}else{_0x10b62e[_0x5507('0x52')](_0x5507('0x9f'),_[_0x5507('0x43')](_0x2facc9,'id'));_0x5d7753[_0x5507('0x52')](_0x5507('0x9f'),_[_0x5507('0x43')](_0x2facc9,'id'));}});})[_0x5507('0x24')](function(){db[_0x5507('0xa0')][_0x5507('0x47')](_0x10b62e[_0x5507('0xa1')](),_0x38a45f)['then'](function(_0x47ee77){_0x8bad16['count']=_0x47ee77[_0x5507('0x4d')];if(_0x8bad16[_0x5507('0x33')]===0x0)return[];return db[_0x5507('0xa0')][_0x5507('0x47')](_0x32ecad[_0x5507('0xa1')](),_0x38a45f)['then'](function(_0x2339c7){_0x192b4a=_[_0x5507('0xa2')](_0x2339c7,'id');_0x38a45f=_[_0x5507('0xa3')](_0x38a45f,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x192a00[_0x5507('0x47')]['fields']){_0x25496b['attributes'][_0x5507('0x40')](function(_0x58b56c){_0x5d7753[_0x5507('0x54')]('i.'+_0x58b56c);});}else{_0x5d7753['field'](_0x5507('0xa4'),_0x5507('0x6b'));_0x5d7753[_0x5507('0x54')]('a.key','Account.key');_0x5d7753[_0x5507('0x54')](_0x5507('0xa5'),_0x5507('0xa6'));_0x5d7753['field'](_0x5507('0xa7'));_0x5d7753[_0x5507('0x54')](_0x5507('0xa8'),_0x5507('0xa9'));_0x5d7753['field']('c.lastName',_0x5507('0xaa'));_0x5d7753[_0x5507('0x54')]('c.email',_0x5507('0xab'));_0x5d7753[_0x5507('0x54')](_0x5507('0xac'),_0x5507('0xad'));_0x5d7753['field'](_0x5507('0xae'),_0x5507('0xaf'));_0x5d7753['field'](_0x5507('0xb0'),_0x5507('0xb1'));_0x5d7753[_0x5507('0x54')]('o.fullname',_0x5507('0xb2'));_0x5d7753[_0x5507('0x54')]('o.internal',_0x5507('0xb3'));_0x5d7753[_0x5507('0x54')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x5507('0x3d'));}_0x5d7753[_0x5507('0x50')](_0x25496b[_0x5507('0x50')]);_0x5d7753['offset'](_0x25496b[_0x5507('0x34')]);return db[_0x5507('0xa0')][_0x5507('0x47')](_0x5d7753[_0x5507('0xa1')](),_0x38a45f);})[_0x5507('0x24')](function(_0x462af2){_0xe4b14c[_0x5507('0x52')]('ui.ChatInteractionId\x20IN\x20?',_[_0x5507('0x43')](_0x462af2,'id'));return db[_0x5507('0xa0')][_0x5507('0x47')](_0xe4b14c[_0x5507('0xa1')](),_0x38a45f)['then'](function(_0x5bfea5){var _0x23f6df=_['groupBy'](_0x5bfea5,_0x5507('0xb4'));var _0x204058=[];_0x462af2[_0x5507('0x40')](function(_0x4b3bb8){_0x204058[_0x5507('0x41')](updateChatInteraction(_0x4b3bb8,_0x192b4a,_0x23f6df));});return BPromise[_0x5507('0xb5')](_0x204058);});});})['then'](function(_0x2fbcf9){_0x8bad16[_0x5507('0xb6')]=_0x2fbcf9;return _0x8bad16;})[_0x5507('0x24')](respondWithFilteredResult(_0x24d7b5,_0x25496b));})[_0x5507('0x2e')](handleError(_0x24d7b5,null));};exports[_0x5507('0xb7')]=function(_0x3daaca,_0x4cebba){var _0x24e3d4={'raw':![],'where':{'id':_0x3daaca['params']['id']}},_0xcb8b32={};_0xcb8b32[_0x5507('0x46')]=_[_0x5507('0x48')](db[_0x5507('0x44')][_0x5507('0xb8')]);_0xcb8b32[_0x5507('0x47')]=_[_0x5507('0x48')](_0x3daaca[_0x5507('0x47')]);_0xcb8b32[_0x5507('0x49')]=_[_0x5507('0x4a')](_0xcb8b32[_0x5507('0x46')],_0xcb8b32[_0x5507('0x47')]);_0x24e3d4['attributes']=_[_0x5507('0x4a')](_0xcb8b32['model'],qs[_0x5507('0x4c')](_0x3daaca[_0x5507('0x47')][_0x5507('0x4c')]));_0x24e3d4[_0x5507('0x4b')]=_0x24e3d4[_0x5507('0x4b')][_0x5507('0x4d')]?_0x24e3d4[_0x5507('0x4b')]:_0xcb8b32[_0x5507('0x46')];if(_0x3daaca[_0x5507('0x47')][_0x5507('0xb9')]){_0x24e3d4[_0x5507('0xba')]=[{'all':!![]}];}_0x24e3d4=_[_0x5507('0xa3')]({},_0x24e3d4,_0x3daaca[_0x5507('0xbb')]);return db[_0x5507('0x44')]['find'](_0x24e3d4)[_0x5507('0x24')](handleEntityNotFound(_0x4cebba,null))[_0x5507('0x24')](respondWithResult(_0x4cebba,null))[_0x5507('0x2e')](handleError(_0x4cebba,null));};exports[_0x5507('0xbc')]=function(_0x91d70d,_0x384b3a){return db[_0x5507('0x44')][_0x5507('0xbc')](_0x91d70d[_0x5507('0x7d')],{})[_0x5507('0x24')](respondWithResult(_0x384b3a,0xc9))[_0x5507('0x2e')](handleError(_0x384b3a,null));};exports[_0x5507('0xbd')]=function(_0x3d6e06,_0x37bf7b){if(_0x3d6e06[_0x5507('0x7d')]['id']){delete _0x3d6e06[_0x5507('0x7d')]['id'];}return db[_0x5507('0x44')][_0x5507('0x6a')]({'where':{'id':_0x3d6e06[_0x5507('0xbe')]['id']}})[_0x5507('0x24')](handleEntityNotFound(_0x37bf7b,null))['then'](saveUpdates(_0x3d6e06['body'],null))[_0x5507('0x24')](respondWithResult(_0x37bf7b,null))['catch'](handleError(_0x37bf7b,null));};exports['destroy']=function(_0x110efb,_0x234f51){return db[_0x5507('0x44')][_0x5507('0x6a')]({'where':{'id':_0x110efb[_0x5507('0xbe')]['id']}})['then'](handleEntityNotFound(_0x234f51,null))['then'](removeEntity(_0x234f51,null))[_0x5507('0x2e')](handleError(_0x234f51,null));};exports[_0x5507('0xbf')]=function(_0x4c594a,_0xc329ec){return db[_0x5507('0x44')][_0x5507('0xbf')]()[_0x5507('0x24')](respondWithResult(_0xc329ec,null))[_0x5507('0x2e')](handleError(_0xc329ec,null));};exports[_0x5507('0xc0')]=function(_0x44f613,_0x188152){if(_0x44f613[_0x5507('0x7d')]['id']){delete _0x44f613[_0x5507('0x7d')]['id'];}return db[_0x5507('0x44')][_0x5507('0x6a')]({'where':{'id':_0x44f613[_0x5507('0xbe')]['id']}})[_0x5507('0x24')](handleEntityNotFound(_0x188152,null))['then'](saveUpdates(_0x44f613[_0x5507('0x7d')],null))[_0x5507('0x24')](respondWithResult(_0x188152,null))[_0x5507('0x2e')](handleError(_0x188152,null));};exports[_0x5507('0xc1')]=function(_0x2cfdef,_0x59bd7e,_0x209612){if(_0x2cfdef[_0x5507('0x7d')]['id']){delete _0x2cfdef[_0x5507('0x7d')]['id'];}return db[_0x5507('0x44')][_0x5507('0x6a')]({'where':{'id':_0x2cfdef[_0x5507('0xbe')]['id']}})['then'](function(_0x169c6a){if(!_0x169c6a){logger[_0x5507('0x2a')]('abandonInteraction,\x20%s,\x20%s,\x20%s',_0x5507('0xc1'),0x194,'entity\x20not\x20found');_0x59bd7e[_0x5507('0x2f')](0x194);}else{if(_0x169c6a[_0x5507('0x7a')]){throw new db[(_0x5507('0x20'))]['ValidationError'](_0x5507('0xc2'));}}return _0x169c6a;})[_0x5507('0x24')](function(_0xb236f0){if(_0xb236f0){return _0xb236f0[_0x5507('0xbd')]({'closed':_0x2cfdef[_0x5507('0x7d')][_0x5507('0xc3')],'disposition':_0x2cfdef[_0x5507('0x7d')]['disposition']})[_0x5507('0x24')](function(_0x31dfbc){return _0x31dfbc;});}})[_0x5507('0x24')](function(_0x273a40){return respondWithRpcPromise(_0x5507('0xc4'),_0x5507('0xc1'),_0x2cfdef[_0x5507('0x7d')],client9004);})['then'](respondWithResult(_0x59bd7e,null))[_0x5507('0x2e')](handleError(_0x59bd7e,null));};exports[_0x5507('0xc5')]=function(_0x33a0cd,_0x418626,_0x1f2841){_0x33a0cd[_0x5507('0x7d')][_0x5507('0x3a')]=_0x33a0cd[_0x5507('0xc6')]['originalname'];_0x33a0cd[_0x5507('0x7d')][_0x5507('0xc7')]=_0x33a0cd['file']['filename'];_0x33a0cd[_0x5507('0x7d')]['type']=_0x33a0cd[_0x5507('0xc6')][_0x5507('0xc8')];return db[_0x5507('0xc9')][_0x5507('0xbc')](_0x33a0cd[_0x5507('0x7d')])[_0x5507('0x24')](respondWithResult(_0x418626,0xc9))['catch'](handleError(_0x418626,null));};exports['attachmentDownload']=function(_0x168e09,_0x276234,_0x335aa2){return db['ChatInteraction'][_0x5507('0xca')]({'where':{'id':_0x168e09[_0x5507('0xbe')]['id']},'raw':!![]})[_0x5507('0x24')](handleEntityNotFound(_0x276234,null))[_0x5507('0x24')](function(_0x19053f){if(_0x19053f){if(_0x19053f[_0x5507('0xc3')]){return _0x276234[_0x5507('0x30')](0x193)[_0x5507('0x32')]({'status':0x193,'message':'Unauthorized'});}return db['Attachment'][_0x5507('0xca')]({'where':{'id':_0x168e09[_0x5507('0x47')][_0x5507('0xcb')]},'raw':!![]})[_0x5507('0x24')](handleEntityNotFound(_0x276234,null));}})[_0x5507('0x24')](function(_0x45f9af){if(_0x45f9af){return _0x276234[_0x5507('0xcc')](path['join'](config[_0x5507('0xcd')],_0x5507('0xce'),_0x45f9af[_0x5507('0xc7')]));}})[_0x5507('0x2e')](handleError(_0x276234,null));};exports[_0x5507('0xcf')]=function(_0x3f9b58,_0x2d1a4b){var _0x2ccf1b=null;var _0x1cd1cd=null;var _0xf9db83=null;var _0x38aa88=null;if(_0x3f9b58[_0x5507('0x7d')]['id']){delete _0x3f9b58['body']['id'];}if(_0x3f9b58['body'][_0x5507('0xd0')]){_0x38aa88=path[_0x5507('0xd1')](config[_0x5507('0xcd')],_0x5507('0xd2'),util['format'](_0x5507('0xd3'),Date[_0x5507('0xd4')]()));_0x3f9b58[_0x5507('0x7d')][_0x5507('0xd5')]=_0x38aa88;}return db[_0x5507('0x44')][_0x5507('0x6a')]({'where':{'id':_0x3f9b58[_0x5507('0xbe')]['id']},'include':[{'model':db[_0x5507('0xd6')],'as':_0x5507('0xd7'),'include':[{'model':db['User'],'as':_0x5507('0x78')}]}]})[_0x5507('0x24')](handleEntityNotFound(_0x2d1a4b,null))[_0x5507('0x24')](saveUpdates(_0x3f9b58[_0x5507('0x7d')],null))['then'](function(_0x2f1d61){if(_0x2f1d61){_0x2ccf1b=_0x2f1d61;return db[_0x5507('0xd8')][_0x5507('0x6a')]({'where':{'id':_0x2ccf1b[_0x5507('0x98')]}});}})[_0x5507('0x24')](function(_0x37a8a8){if(_0x37a8a8){_0xf9db83=_0x37a8a8;return db['CmContact'][_0x5507('0x6a')]({'where':{'id':_0x2ccf1b[_0x5507('0x73')]}});}})[_0x5507('0x24')](function(_0xfd66e5){if(_0xfd66e5){_0x1cd1cd=_0xfd66e5;if(_0x38aa88){var _0x3eda30=null;for(var _0x53ab95=0x1;_0x53ab95<_0x2ccf1b['Messages'][_0x5507('0x4d')];++_0x53ab95){_0x3eda30=_0x2ccf1b['Messages'][_0x53ab95];var _0x381097=_0x3eda30[_0x5507('0x7a')]?util[_0x5507('0xd9')]('%s%d',_0xf9db83[_0x5507('0xda')],_0x3eda30[_0x5507('0x7a')]):_0x5507('0xdb');var _0x41ac51=_0x3f9b58[_0x5507('0x7d')][_0x5507('0xdc')]||util['format'](_0x5507('0xdd'),'Visitor',_0x3eda30[_0x5507('0x73')]);switch(_0xf9db83[_0x5507('0xde')]){case _0x5507('0xdf'):_0x381097=_0x3eda30[_0x5507('0x7a')]?util[_0x5507('0xd9')](_0x5507('0xdd'),_0xf9db83[_0x5507('0xda')],_0x3eda30[_0x5507('0x7a')]):_0x5507('0xdb');break;case _0x5507('0xe0'):_0x381097=_0x3eda30['UserId']?_0x3eda30[_0x5507('0x78')][_0x5507('0xe1')]||_0x3eda30['User'][_0x5507('0x3c')]:_0x5507('0xdb');break;case'agent_fullname':_0x381097=_0x3eda30[_0x5507('0x7a')]?_0x3eda30[_0x5507('0x78')]['fullname']:_0x5507('0xdb');break;default:_0x381097=_0x3eda30[_0x5507('0x7a')]?util['format'](_0x5507('0xdd'),_0xf9db83[_0x5507('0xda')],_0x3eda30[_0x5507('0x7a')]):_0x5507('0xdb');}var _0x172e76=util[_0x5507('0xd9')](_0x5507('0xe2'),moment(_0x3eda30[_0x5507('0xe3')])['format'](_0x5507('0xe4')),_0x3eda30['direction']==='in'?_0x41ac51:_0x381097,_0x3eda30[_0x5507('0x7d')]);if(!_0x3eda30[_0x5507('0xe5')]){fs[_0x5507('0xe6')](_0x38aa88,_0x172e76);}}return db[_0x5507('0xe7')][_0x5507('0xca')]({'where':{'service':!![]},'include':[{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]});}}})[_0x5507('0x24')](function(_0x3d9f80){if(_0x3d9f80&&_0x3d9f80[_0x5507('0xe8')]&&_0x3f9b58[_0x5507('0x7d')]){var _0x61cda9={'tls':{'rejectUnauthorized':![]}};if(_0x3d9f80[_0x5507('0xe8')][_0x5507('0xe9')]){_0x61cda9['service']=_0x3d9f80['Smtp'][_0x5507('0xe9')];}else{_0x61cda9[_0x5507('0xea')]=_0x3d9f80['Smtp'][_0x5507('0xea')];_0x61cda9[_0x5507('0xeb')]=_0x3d9f80[_0x5507('0xe8')]['port'];_0x61cda9[_0x5507('0xec')]=_0x3d9f80[_0x5507('0xe8')][_0x5507('0xec')];}if(_0x3d9f80[_0x5507('0xe8')][_0x5507('0xed')]){_0x61cda9[_0x5507('0xee')]={'user':_0x3d9f80[_0x5507('0xe8')][_0x5507('0x9b')],'pass':_0x3d9f80[_0x5507('0xe8')][_0x5507('0xef')]};}return respondWithRpcPromise(_0x5507('0xf0'),_0x5507('0xf1'),{'account':_0x61cda9,'message':{'from':util[_0x5507('0xd9')](_0x5507('0xf2'),_0x3d9f80[_0x5507('0x3a')],_0x3d9f80[_0x5507('0xf3')]||_0x3d9f80[_0x5507('0xe8')][_0x5507('0x9b')]),'to':_0x3f9b58[_0x5507('0x7d')][_0x5507('0xd0')],'subject':_0x5507('0xf4'),'text':util[_0x5507('0xd9')](_0x5507('0xf5'),_0x3f9b58[_0x5507('0x7d')][_0x5507('0xd0')]),'attachments':[{'path':_0x38aa88}]}})[_0x5507('0x24')](function(){return _0x2ccf1b;})['catch'](function(_0x493d6a){console[_0x5507('0x2a')](_0x493d6a);});}else{return _0x2ccf1b;}})[_0x5507('0x24')](respondWithStatusCode(_0x2d1a4b,0xc8))[_0x5507('0x2e')](handleError(_0x2d1a4b,null));};exports['addMessage']=function(_0x329093,_0x1a70ce,_0x2f00b3){return db['ChatMessage'][_0x5507('0x6a')]({'where':{'id':_0x329093['params']['id']}})[_0x5507('0x24')](handleEntityNotFound(_0x1a70ce,null))['then'](function(_0x3a61a8){if(_0x3a61a8){return _0x3a61a8[_0x5507('0xf6')](_0x329093['body'][_0x5507('0xf7')],_['omit'](_0x329093[_0x5507('0x7d')],[_0x5507('0xf7'),'id'])||{});}})[_0x5507('0x24')](respondWithResult(_0x1a70ce,null))[_0x5507('0x2e')](handleError(_0x1a70ce,null));};exports[_0x5507('0xf8')]=function(_0x43dc25,_0x4cda9c,_0x106f44){var _0x4bc6ea={'raw':![],'where':{}};var _0x1f74f4={};var _0x55accb={'count':0x0,'rows':[]};return db[_0x5507('0x44')][_0x5507('0xca')]({'where':{'id':_0x43dc25[_0x5507('0xbe')]['id']}})[_0x5507('0x24')](handleEntityNotFound(_0x4cda9c,null))['then'](function(_0x4af82f){if(_0x4af82f){_0x1f74f4[_0x5507('0x46')]=_[_0x5507('0x48')](db[_0x5507('0xd6')][_0x5507('0xb8')]);_0x1f74f4[_0x5507('0x47')]=_[_0x5507('0x48')](_0x43dc25['query']);_0x1f74f4[_0x5507('0x49')]=_[_0x5507('0x4a')](_0x1f74f4[_0x5507('0x46')],_0x1f74f4['query']);_0x4bc6ea[_0x5507('0x4b')]=_[_0x5507('0x4a')](_0x1f74f4[_0x5507('0x46')],qs[_0x5507('0x4c')](_0x43dc25[_0x5507('0x47')]['fields']));_0x4bc6ea[_0x5507('0x4b')]=_0x4bc6ea[_0x5507('0x4b')][_0x5507('0x4d')]?_0x4bc6ea[_0x5507('0x4b')]:_0x1f74f4[_0x5507('0x46')];if(!_0x43dc25[_0x5507('0x47')][_0x5507('0x4e')](_0x5507('0x4f'))){_0x4bc6ea[_0x5507('0x50')]=qs[_0x5507('0x50')](_0x43dc25[_0x5507('0x47')][_0x5507('0x50')]);_0x4bc6ea[_0x5507('0x34')]=qs[_0x5507('0x34')](_0x43dc25['query'][_0x5507('0x34')]);}_0x4bc6ea['order']=qs['sort'](_0x43dc25[_0x5507('0x47')][_0x5507('0xf9')]);_0x4bc6ea[_0x5507('0x52')]=qs[_0x5507('0x49')](_[_0x5507('0xfa')](_0x43dc25[_0x5507('0x47')],_0x1f74f4['filters']));_0x4bc6ea[_0x5507('0x52')][_0x5507('0xb4')]=_0x4af82f['id'];if(_0x43dc25[_0x5507('0x47')][_0x5507('0x8b')]){_0x4bc6ea['where']=_[_0x5507('0xa3')](_0x4bc6ea[_0x5507('0x52')],{'$or':_[_0x5507('0x43')](_0x4bc6ea['attributes'],function(_0x107ddc){var _0x25096b={};_0x25096b[_0x107ddc]={'$like':'%'+_0x43dc25[_0x5507('0x47')]['filter']+'%'};return _0x25096b;})});}if(_0x43dc25[_0x5507('0x47')][_0x5507('0x80')]){var _0x403cda=_0x43dc25[_0x5507('0x47')][_0x5507('0x80')]['split'](',');var _0x4bec1c={};_0x4bec1c[_0x403cda[0x0]]={'$gte':moment(_0x403cda[0x1])[_0x5507('0xd9')](_0x5507('0xfb'))};_0x4bc6ea[_0x5507('0x52')]=_[_0x5507('0xa3')](_0x4bc6ea[_0x5507('0x52')],_0x4bec1c);}_0x4bc6ea=_[_0x5507('0xa3')]({},_0x4bc6ea,_0x43dc25[_0x5507('0xbb')]);return db[_0x5507('0xd6')][_0x5507('0x33')]({'where':_0x4bc6ea[_0x5507('0x52')]})[_0x5507('0x24')](function(_0x27313f){_0x55accb['count']=_0x27313f;if(_0x43dc25['query'][_0x5507('0xb9')]){_0x4bc6ea['include']=[{'all':!![]}];}return db[_0x5507('0xd6')][_0x5507('0xfc')](_0x4bc6ea);})[_0x5507('0x24')](function(_0x4f6101){_0x55accb[_0x5507('0xb6')]=_0x4f6101;return _0x55accb;});}})[_0x5507('0x24')](respondWithFilteredResult(_0x4cda9c,_0x4bc6ea))[_0x5507('0x2e')](handleError(_0x4cda9c,null));};exports[_0x5507('0xfd')]=function(_0x2427ad,_0x46293e,_0x44e6ca){var _0x58202e={'where':{}},_0x336c48={},_0x5af08c={'count':0x0,'rows':[]};return db[_0x5507('0x44')][_0x5507('0xca')]({'where':{'id':_0x2427ad[_0x5507('0xbe')]['id']}})[_0x5507('0x24')](handleEntityNotFound(_0x46293e,null))[_0x5507('0x24')](function(_0x79be0c){if(_0x79be0c){_0x336c48[_0x5507('0x46')]=_[_0x5507('0x48')](db[_0x5507('0xd6')][_0x5507('0xb8')]);_0x336c48[_0x5507('0x47')]=_[_0x5507('0x48')](_0x2427ad[_0x5507('0x47')]);_0x336c48[_0x5507('0x49')]=_[_0x5507('0x4a')](_0x336c48[_0x5507('0x46')],_0x336c48[_0x5507('0x47')]);_0x58202e[_0x5507('0x4b')]=_[_0x5507('0x4a')](_0x336c48['model'],qs['fields'](_0x2427ad['query']['fields']));_0x58202e['attributes']=_0x58202e['attributes'][_0x5507('0x4d')]?_0x58202e['attributes']:_0x336c48[_0x5507('0x46')];if(!_0x2427ad[_0x5507('0x47')]['hasOwnProperty'](_0x5507('0x4f'))){_0x58202e[_0x5507('0x50')]=qs[_0x5507('0x50')](_0x2427ad[_0x5507('0x47')][_0x5507('0x50')]);_0x58202e[_0x5507('0x34')]=qs['offset'](_0x2427ad[_0x5507('0x47')][_0x5507('0x34')]);}_0x58202e[_0x5507('0x51')]=qs[_0x5507('0xf9')](_0x2427ad['query'][_0x5507('0xf9')]);_0x58202e['where']=qs[_0x5507('0x49')](_['pick'](_0x2427ad[_0x5507('0x47')],_0x336c48[_0x5507('0x49')]));_0x58202e['where'][_0x5507('0xb4')]=_0x79be0c['id'];if(_0x2427ad[_0x5507('0x47')][_0x5507('0x8b')]){_0x58202e[_0x5507('0x52')]=_[_0x5507('0xa3')](_0x58202e['where'],{'$or':_[_0x5507('0x43')](_0x58202e['attributes'],function(_0x2eadea){var _0x58f9a1={};_0x58f9a1[_0x2eadea]={'$like':'%'+_0x2427ad[_0x5507('0x47')][_0x5507('0x8b')]+'%'};return _0x58f9a1;})});}_0x58202e[_0x5507('0x52')][_0x5507('0xe5')]=![];if(_0x2427ad[_0x5507('0x47')]['id']){_0x58202e[_0x5507('0x52')]['id']={'$gt':_0x2427ad[_0x5507('0x47')]['id']};}_0x58202e=_[_0x5507('0xa3')]({},_0x58202e,_0x2427ad[_0x5507('0xbb')]);return db['ChatMessage'][_0x5507('0x33')]({'where':_0x58202e[_0x5507('0x52')]})[_0x5507('0x24')](function(_0x543174){_0x5af08c[_0x5507('0x33')]=_0x543174;_0x58202e[_0x5507('0xba')]=[];if(_0x2427ad[_0x5507('0x47')][_0x5507('0xfe')]){_0x58202e[_0x5507('0xba')]['push']({'model':db['User'],'as':'User','attributes':['id',_0x5507('0x3c'),_0x5507('0xe1')]});}if(_0x2427ad['query']['includeAll']){_0x58202e[_0x5507('0xba')]=[{'all':!![]}];}return db[_0x5507('0xd6')][_0x5507('0xfc')](_0x58202e);})[_0x5507('0x24')](function(_0x2b5c75){_0x5af08c['rows']=_0x2b5c75;return _0x5af08c;});}})[_0x5507('0x24')](respondWithFilteredResult(_0x46293e,_0x58202e))[_0x5507('0x2e')](handleError(_0x46293e,null));};exports[_0x5507('0xff')]=function(_0x59639f,_0x3fc4e4,_0x327dd2){return db[_0x5507('0x44')]['find']({'where':{'id':_0x59639f['params']['id']}})[_0x5507('0x24')](handleEntityNotFound(_0x3fc4e4,null))[_0x5507('0x24')](function(_0x2578f1){if(_0x2578f1){return _0x2578f1[_0x5507('0x100')](_0x59639f['body'][_0x5507('0xf7')],_['omit'](_0x59639f[_0x5507('0x7d')],['ids','id'])||{})[_0x5507('0x101')](function(){return db['Tag'][_0x5507('0xfc')]({'attributes':['id',_0x5507('0x3a'),'color'],'where':{'id':_0x59639f[_0x5507('0x7d')][_0x5507('0xf7')]}});})['then'](function(_0x56e055){socket[_0x5507('0x102')]('chatInteractionTags:save',{'id':Number(_0x59639f[_0x5507('0xbe')]['id']),'tags':_0x56e055||[]});return{'id':Number(_0x59639f['params']['id']),'tags':_0x56e055||[]};});}})['then'](respondWithResult(_0x3fc4e4,null))['catch'](handleError(_0x3fc4e4,null));};exports[_0x5507('0x103')]=function(_0x29817d,_0x455702,_0x33b619){return db[_0x5507('0x44')]['find']({'where':{'id':_0x29817d[_0x5507('0xbe')]['id']}})[_0x5507('0x24')](handleEntityNotFound(_0x455702,null))['then'](function(_0x55ea79){if(_0x55ea79){return _0x55ea79['removeTags'](_0x29817d[_0x5507('0x47')][_0x5507('0xf7')]);}})[_0x5507('0x24')](respondWithStatusCode(_0x455702,null))['catch'](handleError(_0x455702,null));};exports[_0x5507('0xcc')]=function(_0x521d46,_0x17da0b){var _0x3450d0=moment()[_0x5507('0x104')]()[_0x5507('0xa1')]();var _0x3a8a60=path['join'](config['root'],_0x5507('0x105'),_0x5507('0x106'),_0x5507('0x107'));var _0x2900eb=path[_0x5507('0xd1')](config[_0x5507('0xcd')],_0x5507('0x105'),_0x5507('0x106'),_0x5507('0x108'));var _0x587f88=path['join'](_0x3a8a60,_0x3450d0);var _0x1af166=util[_0x5507('0xd9')]('transcript-%d-%s.zip',_0x521d46['params']['id'],_0x3450d0);var _0x9b654d=path[_0x5507('0xd1')](_0x3a8a60,_0x1af166);var _0x81031b=[];_0x81031b[_0x5507('0x41')]({'model':db[_0x5507('0x78')],'as':_0x5507('0x78'),'attributes':['id',_0x5507('0x3c')],'raw':!![]});_0x81031b[_0x5507('0x41')]({'model':db[_0x5507('0x109')],'as':'Contact','attributes':['id','firstName',_0x5507('0x10a')],'raw':!![]});if(_0x521d46['query'][_0x5507('0x108')]){_0x81031b[_0x5507('0x41')]({'model':db['Attachment'],'as':_0x5507('0xc9'),'raw':!![]});}var _0x543b47=[{'model':db['ChatMessage'],'as':_0x5507('0xd7'),'attributes':['id',_0x5507('0x7d'),_0x5507('0xe3'),_0x5507('0x10b'),'secret',_0x5507('0x86')],'include':_0x81031b}];_0x543b47[_0x5507('0x41')]({'model':db[_0x5507('0xd8')],'as':_0x5507('0x10c'),'attributes':['id',_0x5507('0x3a')]});_0x543b47[_0x5507('0x41')]({'model':db[_0x5507('0x78')],'as':'Owner','attributes':['id',_0x5507('0x3c')]});return db['ChatInteraction'][_0x5507('0x6a')]({'where':{'id':_0x521d46[_0x5507('0xbe')]['id']},'include':_0x543b47})[_0x5507('0x24')](handleEntityNotFound(_0x17da0b,null))[_0x5507('0x24')](function(_0x3129d4){if(_0x3129d4){var _0x59347c=_0x3129d4[_0x5507('0x10d')]({'plain':!![]});fs[_0x5507('0x10e')](_0x587f88);var _0x5f7947={'format':'A4','border':_0x5507('0x10f'),'header':{'height':'40px','contents':{'first':_0x5507('0x110')}},'footer':{'height':_0x5507('0x111'),'contents':{'default':util[_0x5507('0xd9')](_0x5507('0x112'),util[_0x5507('0xd9')](_0x5507('0x113'),_0x5507('0x114'),_0x59347c['id']),moment()[_0x5507('0xd9')]('YYYY-MM-DD')[_0x5507('0xa1')]())}}};var _0x414d02={'channel':'Chat','account':_0x59347c[_0x5507('0x10c')]['name'],'agent':_0x59347c[_0x5507('0x115')]?_0x59347c[_0x5507('0x115')][_0x5507('0x3c')]:_0x5507('0x116'),'createdAt':moment(_0x59347c[_0x5507('0xe3')])[_0x5507('0xd9')](_0x5507('0xfb'))[_0x5507('0xa1')](),'closedAt':_0x59347c[_0x5507('0xc3')]?moment(_0x59347c[_0x5507('0x117')])[_0x5507('0xd9')](_0x5507('0xfb'))['toString']():'','disposition':_0x59347c['disposition'],'chatInfo':{'browser':_0x59347c['browserName'],'os':_0x59347c[_0x5507('0x118')],'referer':_0x59347c['referer'],'customerIp':_0x59347c['customerIp'],'customerPort':_0x59347c[_0x5507('0x119')]?_0x59347c['customerPort']:_0x5507('0x116')},'messages':_(_0x59347c['Messages'])[_0x5507('0x11a')]()['filter']({'secret':![]})['map'](function(_0x197f8e){if(_0x197f8e[_0x5507('0xc9')]){var _0x44183b=path[_0x5507('0xd1')](_0x2900eb,_0x197f8e[_0x5507('0xc9')][_0x5507('0xc7')]);if(fs['existsSync'](_0x44183b)){fs[_0x5507('0x11b')](_0x44183b)['pipe'](fs[_0x5507('0x11c')](path['join'](_0x587f88,_0x197f8e['Attachment'][_0x5507('0xc7')])));}}return{'date':moment(_0x197f8e[_0x5507('0xe3')])[_0x5507('0xd9')](_0x5507('0xfb'))[_0x5507('0xa1')](),'sender':_0x197f8e[_0x5507('0x10b')]===_0x5507('0x11d')?_0x197f8e[_0x5507('0x78')]?_0x197f8e[_0x5507('0x78')][_0x5507('0x3c')]:_0x5507('0xdb'):_0x197f8e[_0x5507('0x6f')][_0x5507('0x11e')]+(_0x197f8e[_0x5507('0x6f')][_0x5507('0x10a')]?'\x20'+_0x197f8e['Contact'][_0x5507('0x10a')]:''),'body':_0x197f8e['Attachment']?_0x197f8e[_0x5507('0xc9')][_0x5507('0xc7')]:_0x197f8e['body'],'direction':_0x197f8e[_0x5507('0x10b')]===_0x5507('0x11d')?'A':'C','secret':_0x197f8e[_0x5507('0xe5')],'read':_0x197f8e[_0x5507('0x86')],'attachment':_0x197f8e[_0x5507('0xc9')]};})[_0x5507('0x6c')]()};return ejs['renderFile'](path[_0x5507('0xd1')](config['root'],'server','views',_0x5507('0x11f')),{'interaction':_0x414d02})[_0x5507('0x24')](function(_0x1d1026){return new BPromise(function(_0xc30dc6,_0x29a014){pdf[_0x5507('0xbc')](_0x1d1026,_0x5f7947)[_0x5507('0x120')](path['join'](_0x587f88,'transcript-'+_0x59347c['id']+'-'+_0x3450d0+'.pdf'),function(_0x5ac195,_0x2dd7ce){if(_0x5ac195)return _0x29a014(_0x5ac195);_0xc30dc6(_0x2dd7ce);});});})[_0x5507('0x24')](function(){return new BPromise(function(_0x55303d,_0x378e71){zipdir(_0x587f88,{'saveTo':_0x9b654d},function(_0x3c25b2,_0x3675a2){if(_0x3c25b2)return _0x378e71(_0x3c25b2);return _0x55303d(_0x3675a2);});})[_0x5507('0x24')](function(){return new BPromise(function(_0x56fe3b,_0x64dd47){rimraf(_0x587f88,function(_0x1c35f8){if(_0x1c35f8)_0x64dd47(_0x1c35f8);return _0x56fe3b();});});})[_0x5507('0x24')](function(){return _0x17da0b['download'](_0x9b654d,_0x1af166,function(_0x556699){if(_0x556699){console[_0x5507('0x121')](_0x5507('0x122'),_0x556699);}else{fs[_0x5507('0x123')](_0x9b654d);}});});});}else{return _0x17da0b['sendStatus'](0xc8);}})['catch'](handleError(_0x17da0b,null));};