Built motion from commit (unavailable).|2.5.19
[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 _0xb4ff=['i.id\x20LIKE\x20?','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','t.id\x20IN\x20?','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','agent','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','merge','ChatInteraction','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','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','ChatInteractionId','rows','show','params','includeAll','include','create','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','follow','Sequelize','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','disposition','AbandonInteraction','abandon','attachmentUpload','file','originalname','filename','mimetype','Attachment','attachmentDownload','closed','Unauthorized','attachId','download','join','root','server/files/attachments/','close','server/files/chat/upload/','format','transcript-%s.txt','pathTranscript','Messages','%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','authentication','SendMail','sendMail','\x22%s\x22\x20<%s>','email','mailTranscript','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','omit','ids','getMessages','options','findAll','getMyMessages','addTags','setTags','spread','emit','chatInteractionTags:save','removeTags','unix','server','files','tmp','attachments','transcript-%d-%s.zip','firstName','Account','Owner','get','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','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>','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','osName','referer','customerIp','customerPort','basename','existsSync','createReadStream','pipe','createWriteStream','lastName','out','downloadInteraction.html','toFile','transcript-','.pdf','log','err','unlinkSync','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./chatInteraction.socket','jayson/promise','client','http','request','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','error','code','message','result','catch','sendStatus','end','status','count','offset','limit','set','Content-Range','json','apply','update','destroy','then','stack','name','send','Users','map','fullname','TagIds','Tags','split','forEach','push','index','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','left_join','u.id\x20=\x20ui.UserId','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','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','search','conditions','length','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','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','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20>\x200','tag','isArray','filter','replace'];(function(_0x5841b2,_0x4e80b3){var _0x4f4fa9=function(_0x4670d2){while(--_0x4670d2){_0x5841b2['push'](_0x5841b2['shift']());}};_0x4f4fa9(++_0x4e80b3);}(_0xb4ff,0xad));var _0xfb4f=function(_0x4235a2,_0x40afd6){_0x4235a2=_0x4235a2-0x0;var _0xb02d3a=_0xb4ff[_0x4235a2];return _0xb02d3a;};'use strict';var pdf=require(_0xfb4f('0x0'));var emlformat=require(_0xfb4f('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xfb4f('0x2'));var jsonpatch=require(_0xfb4f('0x3'));var rp=require(_0xfb4f('0x4'));var moment=require(_0xfb4f('0x5'));var BPromise=require(_0xfb4f('0x6'));var Mustache=require(_0xfb4f('0x7'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xfb4f('0x8'));var ejs=require(_0xfb4f('0x9'));var fs=require('fs');var _=require(_0xfb4f('0xa'));var squel=require('squel');var crypto=require(_0xfb4f('0xb'));var jsforce=require(_0xfb4f('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xfb4f('0x8'));var querystring=require(_0xfb4f('0xd'));var Papa=require(_0xfb4f('0xe'));var Redis=require(_0xfb4f('0xf'));var authService=require(_0xfb4f('0x10'));var qs=require(_0xfb4f('0x11'));var as=require(_0xfb4f('0x12'));var hardwareService=require(_0xfb4f('0x13'));var logger=require(_0xfb4f('0x14'))(_0xfb4f('0x15'));var utils=require(_0xfb4f('0x16'));var config=require(_0xfb4f('0x17'));var licenseUtil=require(_0xfb4f('0x18'));var db=require(_0xfb4f('0x19'))['db'];config[_0xfb4f('0x1a')]=_[_0xfb4f('0x1b')](config[_0xfb4f('0x1a')],{'host':_0xfb4f('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xfb4f('0x1a')]));require(_0xfb4f('0x1d'))['register'](socket);var jayson=require(_0xfb4f('0x1e'));var client=jayson['client']['http']({'port':0x232b});var client9004=jayson[_0xfb4f('0x1f')][_0xfb4f('0x20')]({'port':0x232c});function respondWithRpcPromise(_0x56bb44,_0x2daefd,_0x45622f,_0x2eab9d){return new BPromise(function(_0x34f54a,_0x5b2422){var _0xa56bb9=_0x2eab9d||client;return _0xa56bb9[_0xfb4f('0x21')](_0x56bb44,_0x45622f)['then'](function(_0x2822a6){logger[_0xfb4f('0x22')](_0xfb4f('0x23'),_0x2daefd,_0xfb4f('0x24'));logger[_0xfb4f('0x25')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x2daefd,'request\x20sent',JSON['stringify'](_0x2822a6));if(_0x2822a6[_0xfb4f('0x26')]){if(_0x2822a6[_0xfb4f('0x26')][_0xfb4f('0x27')]===0x1f4){logger['error'](_0xfb4f('0x23'),_0x2daefd,_0x2822a6['error'][_0xfb4f('0x28')]);return _0x5b2422(_0x2822a6[_0xfb4f('0x26')]['message']);}logger[_0xfb4f('0x26')](_0xfb4f('0x23'),_0x2daefd,_0x2822a6[_0xfb4f('0x26')]['message']);return _0x34f54a(_0x2822a6[_0xfb4f('0x26')]['message']);}else{logger[_0xfb4f('0x22')](_0xfb4f('0x23'),_0x2daefd,_0xfb4f('0x24'));_0x34f54a(_0x2822a6[_0xfb4f('0x29')][_0xfb4f('0x28')]);}})[_0xfb4f('0x2a')](function(_0x20ad8d){logger[_0xfb4f('0x26')](_0xfb4f('0x23'),_0x2daefd,_0x20ad8d);_0x5b2422(_0x20ad8d);});});}function respondWithStatusCode(_0x281669,_0x3cd3da){_0x3cd3da=_0x3cd3da||0xcc;return function(_0x51825b){if(_0x51825b){return _0x281669[_0xfb4f('0x2b')](_0x3cd3da);}return _0x281669['status'](_0x3cd3da)[_0xfb4f('0x2c')]();};}function respondWithResult(_0x2c3f48,_0x3e0471){_0x3e0471=_0x3e0471||0xc8;return function(_0x3b9f3b){if(_0x3b9f3b){return _0x2c3f48[_0xfb4f('0x2d')](_0x3e0471)['json'](_0x3b9f3b);}};}function respondWithFilteredResult(_0x187b73,_0x30598c){return function(_0x11bf28){if(_0x11bf28){var _0x17c33f=_0x11bf28[_0xfb4f('0x2e')],_0x2856ee=_0x30598c[_0xfb4f('0x2f')],_0x41efdb=_0x30598c[_0xfb4f('0x2f')]+_0x30598c[_0xfb4f('0x30')],_0x4cfa82;if(_0x41efdb>=_0x17c33f){_0x41efdb=_0x17c33f;_0x4cfa82=0xc8;}else{_0x4cfa82=0xce;}_0x187b73[_0xfb4f('0x2d')](_0x4cfa82);return _0x187b73[_0xfb4f('0x31')](_0xfb4f('0x32'),_0x2856ee+'-'+_0x41efdb+'/'+_0x17c33f)[_0xfb4f('0x33')](_0x11bf28);}return null;};}function patchUpdates(_0x57a142){return function(_0x5067f1){try{jsonpatch[_0xfb4f('0x34')](_0x5067f1,_0x57a142,!![]);}catch(_0x3b61d3){return BPromise['reject'](_0x3b61d3);}return _0x5067f1['save']();};}function saveUpdates(_0x58477b,_0x40e3fc){return function(_0x13c686){if(_0x13c686){return _0x13c686[_0xfb4f('0x35')](_0x58477b)['then'](function(_0x133795){return _0x133795;});}return null;};}function removeEntity(_0x554505,_0x5f5bef){return function(_0x4ea655){if(_0x4ea655){return _0x4ea655[_0xfb4f('0x36')]()[_0xfb4f('0x37')](function(){_0x554505[_0xfb4f('0x2d')](0xcc)[_0xfb4f('0x2c')]();});}};}function handleEntityNotFound(_0x326bbb,_0x1af88a){return function(_0x59144c){if(!_0x59144c){_0x326bbb[_0xfb4f('0x2b')](0x194);}return _0x59144c;};}function handleError(_0x3b942d,_0x3fa003){_0x3fa003=_0x3fa003||0x1f4;return function(_0x1fedb8){logger['error'](_0x1fedb8[_0xfb4f('0x38')]);if(_0x1fedb8[_0xfb4f('0x39')]){delete _0x1fedb8['name'];}_0x3b942d[_0xfb4f('0x2d')](_0x3fa003)[_0xfb4f('0x3a')](_0x1fedb8);};}function getInteractionUsers(_0x5c75c3,_0x4ea899){return new BPromise(function(_0x504159,_0x5e9435){try{if(_0x4ea899[_0x5c75c3['id']]){_0x5c75c3[_0xfb4f('0x3b')]=_[_0xfb4f('0x3c')](_0x4ea899[_0x5c75c3['id']],function(_0x24de42){return{'id':_0x24de42['id'],'fullname':_0x24de42[_0xfb4f('0x3d')]};});}}catch(_0x1ac6b2){_0x5e9435(_0x1ac6b2);}_0x504159(_0x5c75c3);});}function getInteractionTags(_0x403b45,_0x2fa97f){return new BPromise(function(_0x385168,_0x21de83){try{if(_0x403b45[_0xfb4f('0x3e')]){_0x403b45[_0xfb4f('0x3f')]=[];_0x403b45[_0xfb4f('0x3e')][_0xfb4f('0x40')](',')[_0xfb4f('0x41')](function(_0x25c19f){_0x403b45[_0xfb4f('0x3f')][_0xfb4f('0x42')](_0x2fa97f[_0x25c19f]);});}delete _0x403b45[_0xfb4f('0x3e')];}catch(_0x4d7d60){_0x21de83(_0x4d7d60);}_0x385168(_0x403b45);});}function updateChatInteraction(_0x11e9be,_0x154c99,_0x4d839f){return new BPromise(function(_0x24edf7,_0x4e3d3a){return getInteractionUsers(_0x11e9be,_0x4d839f)['then'](function(_0x40413c){return getInteractionTags(_0x40413c,_0x154c99);})[_0xfb4f('0x37')](function(_0x29ca47){_0x24edf7(_0x29ca47);})[_0xfb4f('0x2a')](function(_0x58a8a6){_0x4e3d3a(_0x58a8a6);});});}exports[_0xfb4f('0x43')]=function(_0xdfa686,_0x4a9656){var _0x131299={},_0x23cd67={},_0x22032d={'count':0x0,'rows':[]};var _0x32bcd4=_[_0xfb4f('0x3c')](db['ChatInteraction'][_0xfb4f('0x44')],function(_0x419cbe){return{'name':_0x419cbe['fieldName'],'type':_0x419cbe[_0xfb4f('0x45')]['key']};});_0x23cd67[_0xfb4f('0x46')]=_[_0xfb4f('0x3c')](_0x32bcd4,_0xfb4f('0x39'));_0x23cd67[_0xfb4f('0x47')]=_[_0xfb4f('0x48')](_0xdfa686[_0xfb4f('0x47')]);_0x23cd67[_0xfb4f('0x49')]=_[_0xfb4f('0x4a')](_0x23cd67[_0xfb4f('0x46')],_0x23cd67[_0xfb4f('0x47')]);_0x131299[_0xfb4f('0x4b')]=_[_0xfb4f('0x4a')](_0x23cd67[_0xfb4f('0x46')],qs['fields'](_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x4c')]));_0x131299[_0xfb4f('0x4b')]=_0x131299[_0xfb4f('0x4b')]['length']?_0x131299[_0xfb4f('0x4b')]:_0x23cd67[_0xfb4f('0x46')];if(!_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x4d')](_0xfb4f('0x4e'))){_0x131299[_0xfb4f('0x30')]=qs[_0xfb4f('0x30')](_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x30')]);_0x131299[_0xfb4f('0x2f')]=qs[_0xfb4f('0x2f')](_0xdfa686['query'][_0xfb4f('0x2f')]);}_0x131299['order']=qs['sort'](_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x4f')]);_0x131299[_0xfb4f('0x50')]=qs[_0xfb4f('0x49')](_[_0xfb4f('0x51')](_0xdfa686[_0xfb4f('0x47')],_0x23cd67['filters']),_0x32bcd4);var _0x96795f=[];var _0x453105=squel[_0xfb4f('0x52')]()[_0xfb4f('0x53')]('id')[_0xfb4f('0x53')](_0xfb4f('0x39'))[_0xfb4f('0x53')](_0xfb4f('0x54'))[_0xfb4f('0x55')](_0xfb4f('0x56'));var _0x432cf6=squel[_0xfb4f('0x52')]()[_0xfb4f('0x53')](_0xfb4f('0x57'))['field'](_0xfb4f('0x58'))[_0xfb4f('0x53')]('ui.ChatInteractionId')[_0xfb4f('0x55')]('user_has_chat_interactions','ui')[_0xfb4f('0x59')]('users','u',_0xfb4f('0x5a'));var _0x342078=squel[_0xfb4f('0x52')]()[_0xfb4f('0x55')]('chat_interactions','i')[_0xfb4f('0x59')]('cm_contacts','c',_0xfb4f('0x5b'))[_0xfb4f('0x59')](_0xfb4f('0x5c'),'o',_0xfb4f('0x5d'))[_0xfb4f('0x59')](_0xfb4f('0x5e'),'a',_0xfb4f('0x5f'))[_0xfb4f('0x59')](_0xfb4f('0x60'),'me',_0xfb4f('0x61'))[_0xfb4f('0x59')](_0xfb4f('0x62'),'it',_0xfb4f('0x63'))[_0xfb4f('0x59')](_0xfb4f('0x56'),'t',_0xfb4f('0x64'));var _0x2e24a5=squel['expr']();var _0x4b9643=[];var _0x3acda4=squel['expr']();var _0xae8c89;if(_0xdfa686['query'][_0xfb4f('0x65')]){_0xae8c89=as['parseSearch'](_0xdfa686['query'][_0xfb4f('0x65')]);var _0x5f38f6=_0xae8c89['sqlOperator'];for(var _0x35303a=0x0;_0x35303a<_0xae8c89[_0xfb4f('0x66')][_0xfb4f('0x67')];_0x35303a++){var _0x1b5066=_0xae8c89[_0xfb4f('0x66')][_0x35303a];var _0x558422='i';var _0x712533=_[_0xfb4f('0x68')](_0x32bcd4,[_0xfb4f('0x39'),_0x1b5066['field']]);if(!_0x712533){switch(_0x1b5066['field']){case _0xfb4f('0x69'):if(_0x1b5066[_0xfb4f('0x6a')]==0x1){_0x342078[_0xfb4f('0x6b')]('`'+_0x1b5066[_0xfb4f('0x53')]+_0xfb4f('0x6c'));}else{_0x342078[_0xfb4f('0x6b')]('`'+_0x1b5066[_0xfb4f('0x53')]+_0xfb4f('0x6d'));}break;case _0xfb4f('0x6e'):if(_0x1b5066['operator']==='$substring'){if(_0x1b5066[_0xfb4f('0x6a')]['split']('\x20')[_0xfb4f('0x67')]>0x1){_0x2e24a5[_0x5f38f6](_0xfb4f('0x6f'),qs['getFullTextValue'](_0x1b5066[_0xfb4f('0x6a')]),null);}else{var _0x542307='%'+_0x1b5066['value']+'%';_0x2e24a5[_0x5f38f6](_0xfb4f('0x70'),_0x542307,_0x542307,_0x542307);}}else{_0x712533=_[_0xfb4f('0x68')](_0x32bcd4,['name',_0xfb4f('0x71')]);_0x1b5066[_0xfb4f('0x53')]=_0xfb4f('0x71');_0x4e347c=as[_0xfb4f('0x72')](_0x558422,_0x712533[_0xfb4f('0x45')],_0x1b5066);_0x2e24a5[_0x5f38f6](_0x4e347c[_0xfb4f('0x73')],_0x4e347c['value'][_0xfb4f('0x74')],_0x4e347c[_0xfb4f('0x6a')]['end']);}break;case _0xfb4f('0x75'):var _0x1b482c=_0x1b5066[_0xfb4f('0x6a')]['split'](',')[_0xfb4f('0x3c')](function(_0x1fc40a){return Number(_0x1fc40a);});_0x1b482c[_0xfb4f('0x41')](function(_0x33b5a5){_0x3acda4['or'](_0xfb4f('0x76'),'%,'+_0x33b5a5+',%');});_0x4b9643=_[_0xfb4f('0x77')](_0x4b9643,_0x1b482c);break;case _0xfb4f('0x78'):if(_0x1b5066[_0xfb4f('0x79')]===_0xfb4f('0x7a')){_0x2e24a5[_0x5f38f6](_0xfb4f('0x7b'),'%'+_0x1b5066[_0xfb4f('0x6a')]+'%',null);}else{_0x712533=_[_0xfb4f('0x68')](_0x32bcd4,[_0xfb4f('0x39'),_0xfb4f('0x7c')]);_0x1b5066['field']=_0xfb4f('0x7c');_0x4e347c=as[_0xfb4f('0x72')](_0x558422,_0x712533[_0xfb4f('0x45')],_0x1b5066);_0x2e24a5[_0x5f38f6](_0x4e347c[_0xfb4f('0x73')],_0x4e347c[_0xfb4f('0x6a')][_0xfb4f('0x74')],_0x4e347c[_0xfb4f('0x6a')][_0xfb4f('0x2c')]);}break;case _0xfb4f('0x7d'):_0x4e347c=as[_0xfb4f('0x72')]('me',null,_0x1b5066);_0x2e24a5[_0x5f38f6](_0x4e347c['text'],_0x4e347c[_0xfb4f('0x6a')][_0xfb4f('0x74')],_0x4e347c[_0xfb4f('0x6a')][_0xfb4f('0x2c')]);break;}}else{var _0x4e347c=as[_0xfb4f('0x72')](_0x558422,_0x712533[_0xfb4f('0x45')],_0x1b5066);_0x2e24a5[_0x5f38f6](_0x4e347c[_0xfb4f('0x73')],_0x4e347c['value'][_0xfb4f('0x74')],_0x4e347c['value'][_0xfb4f('0x2c')]);}}}else{var _0x3903a3=_(_0xdfa686['query'])['keys']()[_0xfb4f('0x3c')](function(_0x4d450a){return _[_0xfb4f('0x7e')](_0x32bcd4,[_0xfb4f('0x39'),_0x4d450a])?_0x4d450a:undefined;})['compact']()[_0xfb4f('0x6a')]();if(!_[_0xfb4f('0x7f')](_0x3903a3)){_0x3903a3[_0xfb4f('0x41')](function(_0x231a01){if(_0x231a01===_0xfb4f('0x80')){_0x342078[_0xfb4f('0x50')](_0xfb4f('0x81'),[][_0xfb4f('0x82')](_0xdfa686[_0xfb4f('0x47')][_0x231a01]));}else if(_0x231a01===_0xfb4f('0x83')){var _0x27b47d=JSON['parse'](_0xdfa686[_0xfb4f('0x47')][_0x231a01])[_0xfb4f('0x84')];var _0x31431b=JSON['parse'](_0xdfa686['query'][_0x231a01])[_0xfb4f('0x85')];_0x342078[_0xfb4f('0x50')](_0xfb4f('0x86'),_0x27b47d,_0x31431b);}else{if(_0xdfa686[_0xfb4f('0x47')][_0x231a01]===_0xfb4f('0x87')){_0x342078[_0xfb4f('0x50')]('i.'+_0x231a01+_0xfb4f('0x88'));}else{_0x342078[_0xfb4f('0x50')]('i.'+_0x231a01+'\x20=\x20?',_0xdfa686[_0xfb4f('0x47')][_0x231a01]);}}});}if(_0xdfa686['query'][_0xfb4f('0x89')]){if(_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x89')]==0x1){_0x342078['having']('`unreadMessages`\x20=\x200');}else{_0x342078[_0xfb4f('0x6b')](_0xfb4f('0x8a'));}}if(_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x8b')]){_0x4b9643=_[_0xfb4f('0x8c')](_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x8b')])?_0xdfa686[_0xfb4f('0x47')]['tag']:new Array(_0xdfa686['query'][_0xfb4f('0x8b')]);_0x4b9643[_0xfb4f('0x41')](function(_0x40a86c){_0x3acda4['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x40a86c+',%');});}if(_0xdfa686['query'][_0xfb4f('0x8d')]){var _0x5ab579=_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x8d')][_0xfb4f('0x8e')]('\x5c','\x5c\x5c')[_0xfb4f('0x8e')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x5ab579)){_0x2e24a5['or'](_0xfb4f('0x8f'),_0x5ab579+'%');}else{_0x2e24a5['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xfb4f('0x90')](_0x5ab579))['or'](_0xfb4f('0x91'),_0x5ab579+'%');}}}_0x342078[_0xfb4f('0x50')](_0x2e24a5);_0x342078[_0xfb4f('0x92')](_0xfb4f('0x93'));var _0x4103bd={'type':db['Sequelize'][_0xfb4f('0x94')]['SELECT'],'raw':!![]};var _0x10d461=_0x342078[_0xfb4f('0x95')]();_0x10d461[_0xfb4f('0x53')](_0xfb4f('0x93'));_0x10d461['field'](_0xfb4f('0x96'),'unreadMessages');if(_0x131299[_0xfb4f('0x97')]){_0x131299[_0xfb4f('0x97')][_0xfb4f('0x41')](function(_0x155634){var _0x2e36e2=_0x155634[0x0]===_0xfb4f('0x98')?_0x155634[0x0]:'i.'+_0x155634[0x0];_0x342078[_0xfb4f('0x97')](_0x2e36e2,_0x155634[0x1]===_0xfb4f('0x99')?![]:!![]);});}if(!_[_0xfb4f('0x7f')](_0x4b9643)){_0x342078['having'](_0x3acda4);_0x10d461[_0xfb4f('0x50')](_0xfb4f('0x9a'),_0x4b9643);}BPromise['resolve']()[_0xfb4f('0x37')](function(){if(!_0xae8c89){if(_0xdfa686[_0xfb4f('0x47')]['ChatWebsiteId'])return;_0x10d461[_0xfb4f('0x50')](_0xfb4f('0x9b'));_0x342078[_0xfb4f('0x50')](_0xfb4f('0x9b'));return;}if(_0xdfa686[_0xfb4f('0x9c')][_0xfb4f('0x9d')]!==_0xfb4f('0x9e'))return;return _0xdfa686[_0xfb4f('0x9c')][_0xfb4f('0x9f')]({'attributes':['id'],'raw':!![]})['then'](function(_0x334e4c){if(_[_0xfb4f('0x7f')](_0x334e4c)){_0x10d461[_0xfb4f('0x50')](_0xfb4f('0xa0'));_0x342078['where'](_0xfb4f('0xa0'));}else{_0x10d461['where']('i.ChatWebsiteId\x20IN\x20?',_['map'](_0x334e4c,'id'));_0x342078[_0xfb4f('0x50')]('i.ChatWebsiteId\x20IN\x20?',_[_0xfb4f('0x3c')](_0x334e4c,'id'));}});})[_0xfb4f('0x37')](function(){if(_0xdfa686[_0xfb4f('0x9c')]['role']===_0xfb4f('0x9e')&&!_0xae8c89&&!_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x80')])return[];return db[_0xfb4f('0xa1')]['query'](_0x10d461[_0xfb4f('0xa2')](),_0x4103bd);})[_0xfb4f('0x37')](function(_0x566863){_0x22032d[_0xfb4f('0x2e')]=_0x566863[_0xfb4f('0x67')];if(_0x22032d[_0xfb4f('0x2e')]===0x0)return[];return db[_0xfb4f('0xa1')][_0xfb4f('0x47')](_0x453105['toString'](),_0x4103bd)['then'](function(_0x43b000){_0x96795f=_[_0xfb4f('0xa3')](_0x43b000,'id');_0x4103bd=_[_0xfb4f('0xa4')](_0x4103bd,{'model':db[_0xfb4f('0xa5')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xdfa686[_0xfb4f('0x47')][_0xfb4f('0x4c')]){_0x131299['attributes'][_0xfb4f('0x41')](function(_0x101541){_0x342078[_0xfb4f('0x53')]('i.'+_0x101541);});}else{_0x342078[_0xfb4f('0x53')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xfb4f('0x69'));_0x342078[_0xfb4f('0x53')](_0xfb4f('0xa6'),_0xfb4f('0xa7'));_0x342078[_0xfb4f('0x53')](_0xfb4f('0xa8'),'Account.mandatoryDisposition');_0x342078[_0xfb4f('0x53')](_0xfb4f('0xa9'),_0xfb4f('0x98'));_0x342078[_0xfb4f('0x53')]('i.*');_0x342078['field'](_0xfb4f('0xaa'),_0xfb4f('0xab'));_0x342078[_0xfb4f('0x53')](_0xfb4f('0xac'),_0xfb4f('0xad'));_0x342078['field'](_0xfb4f('0xae'),_0xfb4f('0xaf'));_0x342078[_0xfb4f('0x53')](_0xfb4f('0xb0'),_0xfb4f('0xb1'));_0x342078[_0xfb4f('0x53')]('c.mobile','Contact.mobile');_0x342078[_0xfb4f('0x53')](_0xfb4f('0xb2'),_0xfb4f('0xb3'));_0x342078['field'](_0xfb4f('0xb4'),_0xfb4f('0xb5'));_0x342078['field'](_0xfb4f('0xb6'),_0xfb4f('0xb7'));_0x342078[_0xfb4f('0x53')](_0xfb4f('0xb8'),_0xfb4f('0x3e'));}if(_0x131299['limit'])_0x342078[_0xfb4f('0x30')](_0x131299[_0xfb4f('0x30')]);if(_0x131299['offset'])_0x342078[_0xfb4f('0x2f')](_0x131299['offset']);return db[_0xfb4f('0xa1')]['query'](_0x342078[_0xfb4f('0xa2')](),_0x4103bd);})[_0xfb4f('0x37')](function(_0x1e8df2){_0x432cf6[_0xfb4f('0x50')](_0xfb4f('0xb9'),_[_0xfb4f('0x3c')](_0x1e8df2,'id'));return db[_0xfb4f('0xa1')][_0xfb4f('0x47')](_0x432cf6[_0xfb4f('0xa2')](),_0x4103bd)[_0xfb4f('0x37')](function(_0x361010){var _0x4cbdbf=_['groupBy'](_0x361010,_0xfb4f('0xba'));var _0x10c0cd=[];_0x1e8df2[_0xfb4f('0x41')](function(_0x10a4ba){_0x10c0cd[_0xfb4f('0x42')](updateChatInteraction(_0x10a4ba,_0x96795f,_0x4cbdbf));});return BPromise['all'](_0x10c0cd);});});})['then'](function(_0x34e8a2){_0x22032d[_0xfb4f('0xbb')]=_0x34e8a2;return _0x22032d;})[_0xfb4f('0x37')](respondWithFilteredResult(_0x4a9656,_0x131299))[_0xfb4f('0x2a')](handleError(_0x4a9656,null));};exports[_0xfb4f('0xbc')]=function(_0x34e252,_0x5496f7){var _0x5a3647={'raw':![],'where':{'id':_0x34e252[_0xfb4f('0xbd')]['id']}},_0x1a7d81={};_0x1a7d81[_0xfb4f('0x46')]=_[_0xfb4f('0x48')](db[_0xfb4f('0xa5')][_0xfb4f('0x44')]);_0x1a7d81['query']=_['keys'](_0x34e252[_0xfb4f('0x47')]);_0x1a7d81[_0xfb4f('0x49')]=_[_0xfb4f('0x4a')](_0x1a7d81[_0xfb4f('0x46')],_0x1a7d81[_0xfb4f('0x47')]);_0x5a3647[_0xfb4f('0x4b')]=_[_0xfb4f('0x4a')](_0x1a7d81[_0xfb4f('0x46')],qs[_0xfb4f('0x4c')](_0x34e252[_0xfb4f('0x47')]['fields']));_0x5a3647['attributes']=_0x5a3647['attributes'][_0xfb4f('0x67')]?_0x5a3647[_0xfb4f('0x4b')]:_0x1a7d81[_0xfb4f('0x46')];if(_0x34e252[_0xfb4f('0x47')][_0xfb4f('0xbe')]){_0x5a3647[_0xfb4f('0xbf')]=[{'all':!![]}];}_0x5a3647=_['merge']({},_0x5a3647,_0x34e252['options']);return db[_0xfb4f('0xa5')][_0xfb4f('0x68')](_0x5a3647)[_0xfb4f('0x37')](handleEntityNotFound(_0x5496f7,null))['then'](respondWithResult(_0x5496f7,null))[_0xfb4f('0x2a')](handleError(_0x5496f7,null));};exports[_0xfb4f('0xc0')]=function(_0x42a98e,_0x3f3b12){return db['ChatInteraction'][_0xfb4f('0xc0')](_0x42a98e[_0xfb4f('0x7d')],{})[_0xfb4f('0x37')](respondWithResult(_0x3f3b12,0xc9))[_0xfb4f('0x2a')](handleError(_0x3f3b12,null));};exports['update']=function(_0xb36fdd,_0x590105){if(_0xb36fdd['body']['id']){delete _0xb36fdd['body']['id'];}return db[_0xfb4f('0xa5')][_0xfb4f('0x68')]({'where':{'id':_0xb36fdd[_0xfb4f('0xbd')]['id']}})[_0xfb4f('0x37')](handleEntityNotFound(_0x590105,null))[_0xfb4f('0x37')](saveUpdates(_0xb36fdd['body'],null))['then'](respondWithResult(_0x590105,null))[_0xfb4f('0x2a')](handleError(_0x590105,null));};exports[_0xfb4f('0x36')]=function(_0x3b06b8,_0x2c3fcd){return db[_0xfb4f('0xa5')][_0xfb4f('0x68')]({'where':{'id':_0x3b06b8[_0xfb4f('0xbd')]['id']}})['then'](handleEntityNotFound(_0x2c3fcd,null))[_0xfb4f('0x37')](removeEntity(_0x2c3fcd,null))[_0xfb4f('0x2a')](handleError(_0x2c3fcd,null));};exports[_0xfb4f('0xc1')]=function(_0x369634,_0x2003f4){return db['ChatInteraction'][_0xfb4f('0xc1')]()[_0xfb4f('0x37')](respondWithResult(_0x2003f4,null))[_0xfb4f('0x2a')](handleError(_0x2003f4,null));};exports[_0xfb4f('0xc2')]=function(_0x51a16d,_0x527bb8){var _0x111d20=_0x51a16d['params']['id'];var _0x140d10;var _0x1c39f6;var _0x2efee1;return db[_0xfb4f('0xa5')][_0xfb4f('0xc3')]({'where':{'id':_0x111d20}})[_0xfb4f('0x37')](function(_0x4d2c35){_0x140d10=_0x4d2c35;return db[_0xfb4f('0xc4')]['findOne']({'where':{'id':_0x4d2c35[_0xfb4f('0x80')]},'attributes':['id',_0xfb4f('0xc5'),_0xfb4f('0xc6')],'raw':!![]});})['then'](function(_0x2d24c7){if(_0x2d24c7&&_0x2d24c7[_0xfb4f('0xc5')]&&_0x2d24c7['vidaooEscalation']){_0x1c39f6=_0x2d24c7;var _0x560f94={'rejectUnauthorized':![],'method':_0xfb4f('0xc7'),'uri':_0xfb4f('0xc8'),'headers':{'X-APIKEY':_0x2d24c7['vidaooApiKey']},'body':{'name':_0xfb4f('0xc9')+_0x111d20},'redirect':_0xfb4f('0xca'),'json':!![]};return rp(_0x560f94);}else{throw new db[(_0xfb4f('0xcb'))][(_0xfb4f('0xcc'))](_0xfb4f('0xcd'));}})['then'](function(_0x1b754f){_0x2efee1=_0x1b754f;if(_0x2efee1['id']){var _0x38717e={'body':_0x2efee1[_0xfb4f('0xce')],'ChatWebsiteId':_0x1c39f6['id'],'ChatInteractionId':_0x140d10['id'],'direction':'out','UserId':_0x51a16d[_0xfb4f('0x9c')]['id']};return db[_0xfb4f('0xcf')][_0xfb4f('0xc0')](_0x38717e,{});}else{throw new db[(_0xfb4f('0xcb'))]['ValidationError'](_0xfb4f('0xd0'));}})[_0xfb4f('0x37')](function(){return _0x140d10[_0xfb4f('0xd1')]({'vidaooSessionId':_0x2efee1['id']});})[_0xfb4f('0x37')](respondWithResult(_0x527bb8,null))[_0xfb4f('0x2a')](handleError(_0x527bb8,null));};exports[_0xfb4f('0xd2')]=function(_0x377c2b,_0x13d986){if(_0x377c2b[_0xfb4f('0x7d')]['id']){delete _0x377c2b[_0xfb4f('0x7d')]['id'];}return db[_0xfb4f('0xa5')][_0xfb4f('0x68')]({'where':{'id':_0x377c2b['params']['id']}})[_0xfb4f('0x37')](handleEntityNotFound(_0x13d986,null))['then'](saveUpdates(_0x377c2b[_0xfb4f('0x7d')],null))[_0xfb4f('0x37')](respondWithResult(_0x13d986,null))[_0xfb4f('0x2a')](handleError(_0x13d986,null));};exports['abandon']=function(_0x3f5283,_0x2f70c5,_0xbd2a){if(_0x3f5283[_0xfb4f('0x7d')]['id']){delete _0x3f5283[_0xfb4f('0x7d')]['id'];}return db[_0xfb4f('0xa5')][_0xfb4f('0x68')]({'where':{'id':_0x3f5283[_0xfb4f('0xbd')]['id']}})[_0xfb4f('0x37')](function(_0x54c916){if(!_0x54c916){logger[_0xfb4f('0x26')](_0xfb4f('0xd3'),'abandon',0x194,_0xfb4f('0xd4'));_0x2f70c5[_0xfb4f('0x2b')](0x194);}else{if(_0x54c916[_0xfb4f('0x7c')]){throw new db[(_0xfb4f('0xcb'))][(_0xfb4f('0xcc'))](_0xfb4f('0xd5'));}}return _0x54c916;})[_0xfb4f('0x37')](function(_0x137f61){if(_0x137f61){return _0x137f61[_0xfb4f('0x35')]({'closed':_0x3f5283['body']['closed'],'disposition':_0x3f5283[_0xfb4f('0x7d')][_0xfb4f('0xd6')]})[_0xfb4f('0x37')](function(_0xbb7d03){return _0xbb7d03;});}})[_0xfb4f('0x37')](function(_0xde2ec9){return respondWithRpcPromise(_0xfb4f('0xd7'),_0xfb4f('0xd8'),_0x3f5283[_0xfb4f('0x7d')],client9004);})[_0xfb4f('0x37')](respondWithResult(_0x2f70c5,null))[_0xfb4f('0x2a')](handleError(_0x2f70c5,null));};exports[_0xfb4f('0xd9')]=function(_0x2c3eeb,_0xbfb742,_0x3ea847){_0x2c3eeb[_0xfb4f('0x7d')][_0xfb4f('0x39')]=_0x2c3eeb[_0xfb4f('0xda')][_0xfb4f('0xdb')];_0x2c3eeb[_0xfb4f('0x7d')]['basename']=_0x2c3eeb[_0xfb4f('0xda')][_0xfb4f('0xdc')];_0x2c3eeb[_0xfb4f('0x7d')]['type']=_0x2c3eeb['file'][_0xfb4f('0xdd')];return db[_0xfb4f('0xde')]['create'](_0x2c3eeb['body'])['then'](respondWithResult(_0xbfb742,0xc9))[_0xfb4f('0x2a')](handleError(_0xbfb742,null));};exports[_0xfb4f('0xdf')]=function(_0x30febe,_0x4a3678,_0x51bffa){return db[_0xfb4f('0xa5')][_0xfb4f('0xc3')]({'where':{'id':_0x30febe[_0xfb4f('0xbd')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x4a3678,null))[_0xfb4f('0x37')](function(_0x3b1a14){if(_0x3b1a14){if(_0x3b1a14[_0xfb4f('0xe0')]){return _0x4a3678[_0xfb4f('0x2d')](0x193)[_0xfb4f('0x33')]({'status':0x193,'message':_0xfb4f('0xe1')});}return db['Attachment'][_0xfb4f('0xc3')]({'where':{'id':_0x30febe[_0xfb4f('0x47')][_0xfb4f('0xe2')]},'raw':!![]})['then'](handleEntityNotFound(_0x4a3678,null));}})['then'](function(_0x268acd){if(_0x268acd){return _0x4a3678[_0xfb4f('0xe3')](path[_0xfb4f('0xe4')](config[_0xfb4f('0xe5')],_0xfb4f('0xe6'),_0x268acd['basename']));}})[_0xfb4f('0x2a')](handleError(_0x4a3678,null));};exports[_0xfb4f('0xe7')]=function(_0x3f5efc,_0x5e13d3){var _0x3fbf33=null;var _0x2cb6d3=null;var _0x3df41b=null;var _0x3a7ace=null;if(_0x3f5efc[_0xfb4f('0x7d')]['id']){delete _0x3f5efc[_0xfb4f('0x7d')]['id'];}if(_0x3f5efc[_0xfb4f('0x7d')]['mailTranscript']){_0x3a7ace=path[_0xfb4f('0xe4')](config['root'],_0xfb4f('0xe8'),util[_0xfb4f('0xe9')](_0xfb4f('0xea'),Date['now']()));_0x3f5efc['body'][_0xfb4f('0xeb')]=_0x3a7ace;}return db[_0xfb4f('0xa5')]['find']({'where':{'id':_0x3f5efc[_0xfb4f('0xbd')]['id']},'include':[{'model':db[_0xfb4f('0xcf')],'as':_0xfb4f('0xec'),'include':[{'model':db[_0xfb4f('0x78')],'as':_0xfb4f('0x78')}]}]})[_0xfb4f('0x37')](handleEntityNotFound(_0x5e13d3,null))['then'](saveUpdates(_0x3f5efc[_0xfb4f('0x7d')],null))[_0xfb4f('0x37')](function(_0x145dd6){if(_0x145dd6){_0x3fbf33=_0x145dd6;return db['ChatWebsite'][_0xfb4f('0x68')]({'where':{'id':_0x3fbf33['ChatWebsiteId']}});}})[_0xfb4f('0x37')](function(_0x1c2202){if(_0x1c2202){_0x3df41b=_0x1c2202;return db['CmContact'][_0xfb4f('0x68')]({'where':{'id':_0x3fbf33[_0xfb4f('0x71')]}});}})[_0xfb4f('0x37')](function(_0x32df8b){if(_0x32df8b){_0x2cb6d3=_0x32df8b;if(_0x3a7ace){var _0x9579e1=null;for(var _0x124b83=0x1;_0x124b83<_0x3fbf33[_0xfb4f('0xec')][_0xfb4f('0x67')];++_0x124b83){_0x9579e1=_0x3fbf33[_0xfb4f('0xec')][_0x124b83];var _0x5e6ac2=_0x9579e1['UserId']?util[_0xfb4f('0xe9')](_0xfb4f('0xed'),_0x3df41b[_0xfb4f('0xee')],_0x9579e1[_0xfb4f('0x7c')]):_0xfb4f('0xef');var _0x218cf9=_0x3f5efc[_0xfb4f('0x7d')][_0xfb4f('0xf0')]||util[_0xfb4f('0xe9')](_0xfb4f('0xed'),_0xfb4f('0xf1'),_0x9579e1['ContactId']);switch(_0x3df41b[_0xfb4f('0xf2')]){case _0xfb4f('0xf3'):_0x5e6ac2=_0x9579e1[_0xfb4f('0x7c')]?util[_0xfb4f('0xe9')](_0xfb4f('0xed'),_0x3df41b[_0xfb4f('0xee')],_0x9579e1[_0xfb4f('0x7c')]):_0xfb4f('0xef');break;case _0xfb4f('0xf4'):_0x5e6ac2=_0x9579e1['UserId']?_0x9579e1['User'][_0xfb4f('0xf5')]||_0x9579e1['User']['fullname']:_0xfb4f('0xef');break;case _0xfb4f('0xf6'):_0x5e6ac2=_0x9579e1[_0xfb4f('0x7c')]?_0x9579e1[_0xfb4f('0x78')]['fullname']:'System';break;default:_0x5e6ac2=_0x9579e1[_0xfb4f('0x7c')]?util[_0xfb4f('0xe9')]('%s%d',_0x3df41b[_0xfb4f('0xee')],_0x9579e1[_0xfb4f('0x7c')]):'System';}var _0x377bc7=util['format'](_0xfb4f('0xf7'),moment(_0x9579e1[_0xfb4f('0x83')])[_0xfb4f('0xe9')](_0xfb4f('0xf8')),_0x9579e1[_0xfb4f('0xf9')]==='in'?_0x218cf9:_0x5e6ac2,_0x9579e1[_0xfb4f('0x7d')]);if(!_0x9579e1[_0xfb4f('0xfa')]){fs[_0xfb4f('0xfb')](_0x3a7ace,_0x377bc7);}}return db[_0xfb4f('0xfc')][_0xfb4f('0xc3')]({'where':{'service':!![]},'include':[{'model':db[_0xfb4f('0xfd')],'as':_0xfb4f('0xfe'),'raw':!![]}]});}}})[_0xfb4f('0x37')](function(_0x2987e7){if(_0x2987e7&&_0x2987e7[_0xfb4f('0xfe')]&&_0x3f5efc[_0xfb4f('0x7d')]){var _0x426bb8={'tls':{'rejectUnauthorized':![]}};if(_0x2987e7[_0xfb4f('0xfe')]['service']){_0x426bb8[_0xfb4f('0xff')]=_0x2987e7[_0xfb4f('0xfe')][_0xfb4f('0xff')];}else{_0x426bb8['host']=_0x2987e7['Smtp'][_0xfb4f('0x100')];_0x426bb8[_0xfb4f('0x101')]=_0x2987e7[_0xfb4f('0xfe')][_0xfb4f('0x101')];_0x426bb8['secure']=_0x2987e7[_0xfb4f('0xfe')][_0xfb4f('0x102')];}if(_0x2987e7[_0xfb4f('0xfe')][_0xfb4f('0x103')]){_0x426bb8['auth']={'user':_0x2987e7[_0xfb4f('0xfe')][_0xfb4f('0x9c')],'pass':_0x2987e7[_0xfb4f('0xfe')]['pass']};}return respondWithRpcPromise(_0xfb4f('0x104'),_0xfb4f('0x105'),{'account':_0x426bb8,'message':{'from':util[_0xfb4f('0xe9')](_0xfb4f('0x106'),_0x2987e7[_0xfb4f('0x39')],_0x2987e7[_0xfb4f('0x107')]||_0x2987e7[_0xfb4f('0xfe')][_0xfb4f('0x9c')]),'to':_0x3f5efc[_0xfb4f('0x7d')][_0xfb4f('0x108')],'subject':_0xfb4f('0x109'),'text':util['format'](_0xfb4f('0x10a'),_0x3f5efc['body'][_0xfb4f('0x108')]),'attachments':[{'path':_0x3a7ace}]}})['then'](function(){return _0x3fbf33;})[_0xfb4f('0x2a')](function(_0x272c91){console[_0xfb4f('0x26')](_0x272c91);});}else{return _0x3fbf33;}})[_0xfb4f('0x37')](respondWithStatusCode(_0x5e13d3,0xc8))[_0xfb4f('0x2a')](handleError(_0x5e13d3,null));};exports[_0xfb4f('0x10b')]=function(_0x542e9e,_0x53ee68,_0x27466e){return db['ChatMessage'][_0xfb4f('0x68')]({'where':{'id':_0x542e9e[_0xfb4f('0xbd')]['id']}})[_0xfb4f('0x37')](handleEntityNotFound(_0x53ee68,null))[_0xfb4f('0x37')](function(_0x28766d){if(_0x28766d){return _0x28766d['addMessage'](_0x542e9e[_0xfb4f('0x7d')]['ids'],_[_0xfb4f('0x10c')](_0x542e9e[_0xfb4f('0x7d')],[_0xfb4f('0x10d'),'id'])||{});}})['then'](respondWithResult(_0x53ee68,null))[_0xfb4f('0x2a')](handleError(_0x53ee68,null));};exports[_0xfb4f('0x10e')]=function(_0x301b9e,_0x1ce730,_0x174b5b){var _0x4c4a80={'raw':![],'where':{}};var _0x4e5bc5={};var _0x552ae4={'count':0x0,'rows':[]};return db[_0xfb4f('0xa5')][_0xfb4f('0xc3')]({'where':{'id':_0x301b9e[_0xfb4f('0xbd')]['id']}})['then'](handleEntityNotFound(_0x1ce730,null))[_0xfb4f('0x37')](function(_0xa97e8b){if(_0xa97e8b){_0x4e5bc5[_0xfb4f('0x46')]=_[_0xfb4f('0x48')](db[_0xfb4f('0xcf')][_0xfb4f('0x44')]);_0x4e5bc5[_0xfb4f('0x47')]=_[_0xfb4f('0x48')](_0x301b9e[_0xfb4f('0x47')]);_0x4e5bc5[_0xfb4f('0x49')]=_[_0xfb4f('0x4a')](_0x4e5bc5[_0xfb4f('0x46')],_0x4e5bc5[_0xfb4f('0x47')]);_0x4c4a80['attributes']=_[_0xfb4f('0x4a')](_0x4e5bc5[_0xfb4f('0x46')],qs['fields'](_0x301b9e['query'][_0xfb4f('0x4c')]));_0x4c4a80['attributes']=_0x4c4a80[_0xfb4f('0x4b')][_0xfb4f('0x67')]?_0x4c4a80[_0xfb4f('0x4b')]:_0x4e5bc5[_0xfb4f('0x46')];if(!_0x301b9e[_0xfb4f('0x47')][_0xfb4f('0x4d')](_0xfb4f('0x4e'))){_0x4c4a80[_0xfb4f('0x30')]=qs['limit'](_0x301b9e[_0xfb4f('0x47')][_0xfb4f('0x30')]);_0x4c4a80[_0xfb4f('0x2f')]=qs[_0xfb4f('0x2f')](_0x301b9e['query'][_0xfb4f('0x2f')]);}_0x4c4a80['order']=qs[_0xfb4f('0x4f')](_0x301b9e[_0xfb4f('0x47')][_0xfb4f('0x4f')]);_0x4c4a80[_0xfb4f('0x50')]=qs[_0xfb4f('0x49')](_['pick'](_0x301b9e[_0xfb4f('0x47')],_0x4e5bc5['filters']));_0x4c4a80[_0xfb4f('0x50')][_0xfb4f('0xba')]=_0xa97e8b['id'];if(_0x301b9e[_0xfb4f('0x47')]['filter']){_0x4c4a80['where']=_[_0xfb4f('0xa4')](_0x4c4a80['where'],{'$or':_[_0xfb4f('0x3c')](_0x4c4a80[_0xfb4f('0x4b')],function(_0xafc38b){var _0x56e2c4={};_0x56e2c4[_0xafc38b]={'$like':'%'+_0x301b9e[_0xfb4f('0x47')]['filter']+'%'};return _0x56e2c4;})});}if(_0x301b9e[_0xfb4f('0x47')][_0xfb4f('0x84')]){var _0x1a8e0e=_0x301b9e[_0xfb4f('0x47')][_0xfb4f('0x84')][_0xfb4f('0x40')](',');var _0x13a9d1={};_0x13a9d1[_0x1a8e0e[0x0]]={'$gte':moment(_0x1a8e0e[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x4c4a80[_0xfb4f('0x50')]=_[_0xfb4f('0xa4')](_0x4c4a80['where'],_0x13a9d1);}_0x4c4a80=_[_0xfb4f('0xa4')]({},_0x4c4a80,_0x301b9e[_0xfb4f('0x10f')]);return db['ChatMessage'][_0xfb4f('0x2e')]({'where':_0x4c4a80[_0xfb4f('0x50')]})[_0xfb4f('0x37')](function(_0x4fc2c6){_0x552ae4['count']=_0x4fc2c6;if(_0x301b9e[_0xfb4f('0x47')][_0xfb4f('0xbe')]){_0x4c4a80[_0xfb4f('0xbf')]=[{'all':!![]}];}return db[_0xfb4f('0xcf')][_0xfb4f('0x110')](_0x4c4a80);})[_0xfb4f('0x37')](function(_0x4ad4aa){_0x552ae4['rows']=_0x4ad4aa;return _0x552ae4;});}})[_0xfb4f('0x37')](respondWithFilteredResult(_0x1ce730,_0x4c4a80))[_0xfb4f('0x2a')](handleError(_0x1ce730,null));};exports[_0xfb4f('0x111')]=function(_0xb696b1,_0x3bcc43,_0x20e427){var _0xefe6a7={'where':{}},_0x58c6c8={},_0x587342={'count':0x0,'rows':[]};return db[_0xfb4f('0xa5')][_0xfb4f('0xc3')]({'where':{'id':_0xb696b1[_0xfb4f('0xbd')]['id']}})[_0xfb4f('0x37')](handleEntityNotFound(_0x3bcc43,null))[_0xfb4f('0x37')](function(_0x24c766){if(_0x24c766){_0x58c6c8[_0xfb4f('0x46')]=_[_0xfb4f('0x48')](db[_0xfb4f('0xcf')]['rawAttributes']);_0x58c6c8['query']=_[_0xfb4f('0x48')](_0xb696b1[_0xfb4f('0x47')]);_0x58c6c8[_0xfb4f('0x49')]=_[_0xfb4f('0x4a')](_0x58c6c8[_0xfb4f('0x46')],_0x58c6c8[_0xfb4f('0x47')]);_0xefe6a7[_0xfb4f('0x4b')]=_[_0xfb4f('0x4a')](_0x58c6c8[_0xfb4f('0x46')],qs[_0xfb4f('0x4c')](_0xb696b1[_0xfb4f('0x47')]['fields']));_0xefe6a7[_0xfb4f('0x4b')]=_0xefe6a7[_0xfb4f('0x4b')][_0xfb4f('0x67')]?_0xefe6a7[_0xfb4f('0x4b')]:_0x58c6c8[_0xfb4f('0x46')];if(!_0xb696b1['query'][_0xfb4f('0x4d')](_0xfb4f('0x4e'))){_0xefe6a7[_0xfb4f('0x30')]=qs[_0xfb4f('0x30')](_0xb696b1[_0xfb4f('0x47')][_0xfb4f('0x30')]);_0xefe6a7[_0xfb4f('0x2f')]=qs[_0xfb4f('0x2f')](_0xb696b1[_0xfb4f('0x47')][_0xfb4f('0x2f')]);}_0xefe6a7[_0xfb4f('0x97')]=qs[_0xfb4f('0x4f')](_0xb696b1['query']['sort']);_0xefe6a7['where']=qs[_0xfb4f('0x49')](_['pick'](_0xb696b1['query'],_0x58c6c8[_0xfb4f('0x49')]));_0xefe6a7['where'][_0xfb4f('0xba')]=_0x24c766['id'];if(_0xb696b1[_0xfb4f('0x47')][_0xfb4f('0x8d')]){_0xefe6a7[_0xfb4f('0x50')]=_[_0xfb4f('0xa4')](_0xefe6a7['where'],{'$or':_[_0xfb4f('0x3c')](_0xefe6a7[_0xfb4f('0x4b')],function(_0x5b25ca){var _0x165904={};_0x165904[_0x5b25ca]={'$like':'%'+_0xb696b1[_0xfb4f('0x47')]['filter']+'%'};return _0x165904;})});}_0xefe6a7[_0xfb4f('0x50')][_0xfb4f('0xfa')]=![];if(_0xb696b1['query']['id']){_0xefe6a7['where']['id']={'$gt':_0xb696b1['query']['id']};}_0xefe6a7=_[_0xfb4f('0xa4')]({},_0xefe6a7,_0xb696b1[_0xfb4f('0x10f')]);return db[_0xfb4f('0xcf')][_0xfb4f('0x2e')]({'where':_0xefe6a7['where']})[_0xfb4f('0x37')](function(_0x14eb75){_0x587342[_0xfb4f('0x2e')]=_0x14eb75;_0xefe6a7[_0xfb4f('0xbf')]=[];if(_0xb696b1[_0xfb4f('0x47')]['includeAgent']){_0xefe6a7[_0xfb4f('0xbf')][_0xfb4f('0x42')]({'model':db['User'],'as':'User','attributes':['id',_0xfb4f('0x3d'),'alias']});}if(_0xb696b1[_0xfb4f('0x47')][_0xfb4f('0xbe')]){_0xefe6a7[_0xfb4f('0xbf')]=[{'all':!![]}];}return db[_0xfb4f('0xcf')][_0xfb4f('0x110')](_0xefe6a7);})[_0xfb4f('0x37')](function(_0x59c92c){_0x587342[_0xfb4f('0xbb')]=_0x59c92c;return _0x587342;});}})[_0xfb4f('0x37')](respondWithFilteredResult(_0x3bcc43,_0xefe6a7))[_0xfb4f('0x2a')](handleError(_0x3bcc43,null));};exports[_0xfb4f('0x112')]=function(_0x8257a1,_0x8ab193,_0x336a06){return db[_0xfb4f('0xa5')][_0xfb4f('0x68')]({'where':{'id':_0x8257a1[_0xfb4f('0xbd')]['id']}})[_0xfb4f('0x37')](handleEntityNotFound(_0x8ab193,null))[_0xfb4f('0x37')](function(_0x3f595b){if(_0x3f595b){return _0x3f595b[_0xfb4f('0x113')](_0x8257a1[_0xfb4f('0x7d')][_0xfb4f('0x10d')],_['omit'](_0x8257a1[_0xfb4f('0x7d')],[_0xfb4f('0x10d'),'id'])||{})[_0xfb4f('0x114')](function(){return db[_0xfb4f('0x75')]['findAll']({'attributes':['id',_0xfb4f('0x39'),_0xfb4f('0x54')],'where':{'id':_0x8257a1[_0xfb4f('0x7d')][_0xfb4f('0x10d')]}});})['then'](function(_0x5b60b1){socket[_0xfb4f('0x115')](_0xfb4f('0x116'),{'id':Number(_0x8257a1['params']['id']),'tags':_0x5b60b1||[]});return{'id':Number(_0x8257a1[_0xfb4f('0xbd')]['id']),'tags':_0x5b60b1||[]};});}})['then'](respondWithResult(_0x8ab193,null))[_0xfb4f('0x2a')](handleError(_0x8ab193,null));};exports['removeTags']=function(_0x300e5f,_0x237573,_0x4f74ba){return db[_0xfb4f('0xa5')][_0xfb4f('0x68')]({'where':{'id':_0x300e5f['params']['id']}})[_0xfb4f('0x37')](handleEntityNotFound(_0x237573,null))[_0xfb4f('0x37')](function(_0x5345ae){if(_0x5345ae){return _0x5345ae[_0xfb4f('0x117')](_0x300e5f[_0xfb4f('0x47')][_0xfb4f('0x10d')]);}})['then'](respondWithStatusCode(_0x237573,null))[_0xfb4f('0x2a')](handleError(_0x237573,null));};exports[_0xfb4f('0xe3')]=function(_0x4d710b,_0x50960e){var _0xa6b52f=moment()[_0xfb4f('0x118')]()[_0xfb4f('0xa2')]();var _0x90a689=path[_0xfb4f('0xe4')](config[_0xfb4f('0xe5')],_0xfb4f('0x119'),_0xfb4f('0x11a'),_0xfb4f('0x11b'));var _0xbc85b2=path[_0xfb4f('0xe4')](config['root'],_0xfb4f('0x119'),_0xfb4f('0x11a'),_0xfb4f('0x11c'));var _0x4effd5=path[_0xfb4f('0xe4')](_0x90a689,_0xa6b52f);var _0x1ddeab=util[_0xfb4f('0xe9')](_0xfb4f('0x11d'),_0x4d710b['params']['id'],_0xa6b52f);var _0x4d712e=path[_0xfb4f('0xe4')](_0x90a689,_0x1ddeab);var _0x19a944=[];_0x19a944['push']({'model':db[_0xfb4f('0x78')],'as':_0xfb4f('0x78'),'attributes':['id',_0xfb4f('0x3d')],'raw':!![]});_0x19a944[_0xfb4f('0x42')]({'model':db['CmContact'],'as':_0xfb4f('0x6e'),'attributes':['id',_0xfb4f('0x11e'),'lastName'],'raw':!![]});if(_0x4d710b[_0xfb4f('0x47')]['attachments']){_0x19a944[_0xfb4f('0x42')]({'model':db[_0xfb4f('0xde')],'as':_0xfb4f('0xde'),'raw':!![]});}var _0xda501c=[{'model':db['ChatMessage'],'as':'Messages','attributes':['id',_0xfb4f('0x7d'),_0xfb4f('0x83'),_0xfb4f('0xf9'),_0xfb4f('0xfa'),_0xfb4f('0x89')],'include':_0x19a944}];_0xda501c['push']({'model':db['ChatWebsite'],'as':_0xfb4f('0x11f'),'attributes':['id',_0xfb4f('0x39')]});_0xda501c['push']({'model':db['User'],'as':_0xfb4f('0x120'),'attributes':['id',_0xfb4f('0x3d')]});return db[_0xfb4f('0xa5')]['find']({'where':{'id':_0x4d710b['params']['id']},'include':_0xda501c})[_0xfb4f('0x37')](handleEntityNotFound(_0x50960e,null))[_0xfb4f('0x37')](function(_0x1aff83){if(_0x1aff83){var _0x54b0ec=_0x1aff83[_0xfb4f('0x121')]({'plain':!![]});fs['mkdirSync'](_0x4effd5);var _0x521ac6={'format':'A4','border':_0xfb4f('0x122'),'header':{'height':_0xfb4f('0x123'),'contents':{'first':_0xfb4f('0x124')}},'footer':{'height':_0xfb4f('0x125'),'contents':{'default':util['format'](_0xfb4f('0x126'),util[_0xfb4f('0xe9')]('%s\x20#%d','Chat',_0x54b0ec['id']),moment()[_0xfb4f('0xe9')]('YYYY-MM-DD')[_0xfb4f('0xa2')]())}}};var _0x43b725={'channel':'Chat','account':_0x54b0ec['Account'][_0xfb4f('0x39')],'agent':_0x54b0ec[_0xfb4f('0x120')]?_0x54b0ec['Owner']['fullname']:_0xfb4f('0x127'),'createdAt':moment(_0x54b0ec['createdAt'])['format'](_0xfb4f('0x128'))[_0xfb4f('0xa2')](),'closedAt':_0x54b0ec[_0xfb4f('0xe0')]?moment(_0x54b0ec[_0xfb4f('0x129')])[_0xfb4f('0xe9')](_0xfb4f('0x128'))['toString']():'','disposition':_0x54b0ec[_0xfb4f('0xd6')],'chatInfo':{'browser':_0x54b0ec['browserName'],'os':_0x54b0ec[_0xfb4f('0x12a')],'referer':_0x54b0ec[_0xfb4f('0x12b')],'customerIp':_0x54b0ec[_0xfb4f('0x12c')],'customerPort':_0x54b0ec[_0xfb4f('0x12d')]?_0x54b0ec[_0xfb4f('0x12d')]:_0xfb4f('0x127')},'messages':_(_0x54b0ec[_0xfb4f('0xec')])['tail']()['filter']({'secret':![]})[_0xfb4f('0x3c')](function(_0x2cbc93){if(_0x2cbc93[_0xfb4f('0xde')]){var _0x27e8ba=path['join'](_0xbc85b2,_0x2cbc93[_0xfb4f('0xde')][_0xfb4f('0x12e')]);if(fs[_0xfb4f('0x12f')](_0x27e8ba)){fs[_0xfb4f('0x130')](_0x27e8ba)[_0xfb4f('0x131')](fs[_0xfb4f('0x132')](path[_0xfb4f('0xe4')](_0x4effd5,_0x2cbc93[_0xfb4f('0xde')][_0xfb4f('0x12e')])));}}return{'date':moment(_0x2cbc93[_0xfb4f('0x83')])[_0xfb4f('0xe9')](_0xfb4f('0x128'))[_0xfb4f('0xa2')](),'sender':_0x2cbc93[_0xfb4f('0xf9')]==='out'?_0x2cbc93[_0xfb4f('0x78')]?_0x2cbc93['User']['fullname']:_0xfb4f('0xef'):_0x2cbc93[_0xfb4f('0x6e')][_0xfb4f('0x11e')]+(_0x2cbc93[_0xfb4f('0x6e')][_0xfb4f('0x133')]?'\x20'+_0x2cbc93[_0xfb4f('0x6e')][_0xfb4f('0x133')]:''),'body':_0x2cbc93[_0xfb4f('0xde')]?_0x2cbc93[_0xfb4f('0xde')]['basename']:_0x2cbc93['body'],'direction':_0x2cbc93[_0xfb4f('0xf9')]===_0xfb4f('0x134')?'A':'C','secret':_0x2cbc93[_0xfb4f('0xfa')],'read':_0x2cbc93['read'],'attachment':_0x2cbc93['Attachment']};})[_0xfb4f('0x6a')]()};return ejs['renderFile'](path[_0xfb4f('0xe4')](config[_0xfb4f('0xe5')],_0xfb4f('0x119'),'views',_0xfb4f('0x135')),{'interaction':_0x43b725})[_0xfb4f('0x37')](function(_0x2b4cf8){return new BPromise(function(_0x27b816,_0x2f4971){pdf[_0xfb4f('0xc0')](_0x2b4cf8,_0x521ac6)[_0xfb4f('0x136')](path['join'](_0x4effd5,_0xfb4f('0x137')+_0x54b0ec['id']+'-'+_0xa6b52f+_0xfb4f('0x138')),function(_0x8d3fd1,_0xe71c86){if(_0x8d3fd1)return _0x2f4971(_0x8d3fd1);_0x27b816(_0xe71c86);});});})['then'](function(){return new BPromise(function(_0x471bbc,_0x1b2a93){zipdir(_0x4effd5,{'saveTo':_0x4d712e},function(_0x4828cd,_0x41a451){if(_0x4828cd)return _0x1b2a93(_0x4828cd);return _0x471bbc(_0x41a451);});})[_0xfb4f('0x37')](function(){return new BPromise(function(_0x1c3520,_0x4445f8){rimraf(_0x4effd5,function(_0x26eb6c){if(_0x26eb6c)_0x4445f8(_0x26eb6c);return _0x1c3520();});});})['then'](function(){return _0x50960e[_0xfb4f('0xe3')](_0x4d712e,_0x1ddeab,function(_0x1a29b6){if(_0x1a29b6){console[_0xfb4f('0x139')](_0xfb4f('0x13a'),_0x1a29b6);}else{fs[_0xfb4f('0x13b')](_0x4d712e);}});});});}else{return _0x50960e[_0xfb4f('0x2b')](0xc8);}})[_0xfb4f('0x2a')](handleError(_0x50960e,null));};