84948b34b4bccac9d34b2c8fa58b27b3e4fb1cc2
[motion2.git] / server / api / chatWebsite / chatWebsite.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 _0xcfce=['end','json','offset','undefined','limit','count','set','Content-Range','destroy','get','ChatWebsites','UserProfileResource','stack','name','user-agent-parser','setUA','user-agent','getResult','customerIp','cf-connecting-ip','x-forwarded-for','first','firstName','lastName','x-real-port','browser','version','format','unknown','%s\x20%s','device','model','vendor','%s\x20%s\x20%s','type','stringify','index','Pause','mandatoryDispositionPause','map','ChatWebsite','rawAttributes','fieldName','key','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','includeAll','include','rows','show','params','length','options','find','body','address','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','update','testWildcardValidity','describe','ChatWebsiteId','Disposition','getDispositions','findOne','findAll','removeDispositions','ids','getAnswers','CannedAnswer','removeAnswers','addLogo','sitepic','file','filename','addCustomerAvatar','customerAvatar','addSystemAvatar','systemAvatar','getLogo','join','root','server/files/images/logos/default_logo.svg','../../config/license/util','getLicense','custom','isNil','existsSync','server/files/images/logos/','getAvatar','agentAvatar','server/files/images/avatars/','download','getCustomerAvatar','server/files/images/avatars/customer_avatar.png','showCustomerAvatar','getSystemAvatar','server/files/images/avatars/system_avatar.png','Interval','resolve','timezone','ifTime','notify','chat','from','From\x20is\x20mandatory','mapKey','MapKey\x20is\x20mandatory','isEmpty','CmContact','No\x20available\x20attributes','createdAt','includes','updatedAt','CompanyId','ListId','Invalid\x20MapKey\x20parameter.\x20Allowed\x20values:\x20','CmList','List','Contacts','DESC','ChatApplication','Applications','Chat\x20Website\x20with\x20id\x20%s\x20not\x20found','account','applications','orderBy','asc','list','defaults','contact','headers','threadId','closed','ChatInteraction','referer','externalUrl','ContactId','interaction','Writing\x20on\x20closed\x20interaction','messageId','created','autoclose','close','unmanaged','*,*,*,*','ChatMessage','AttachmentId','UserId','unshift','agent','waitForTheAssignedAgent','forcedOwnership','queueId','ChatQueue','waitForTheAssignedQueue','startRouting','offline','Sequelize','ValidationError','no\x20available\x20attributes','difference','from\x20is\x20mandatory','send','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKeyOffline\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKeyOffline','mapKeyOffline\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','MailAccount','findOrCreate','readFileSync','server/files/templates/chatOfflineMessage.ejs','utf8','toPairs','ChatOfflineMessage','originalname','mimetype','server','files','attachments','offline-chat','basename','openNewInteraction','sequelize','bulkCreate','Smtp','CloudProvider','forwardOffline','forwardOfflineAddress','getSmtpOptions','SendMail','sendMail','\x22%s\x22\x20<%s>','email','offlineMessageSubject','MailAccountId','subjectOffline','toPairsIn','mapValues','NotifyMailAccount','notifyMail','remove','Could\x20not\x20remove\x20attachment\x20file','addInteraction','getInteractions','Contact','Owner','fullname','internal','Tag','Tags','tag','getSnippet','Intervals','interval','virtual','chatLicenseExceeded','server/files/chat/iframe.ejs','3.9.0','origin','replace','testWebsiteWithWildcard','remote','connection','remoteAddress','render','alignment','verticalAlignment','color','textColor','textButtonColor','backgroundColor','hideWhenOffline','addApplications','transaction','Transaction','findAndCountAll','priority','finally','getApplications','chatProactiveAction','addProactiveActions','omit','getProactiveActions','getFields','online','false','offlineForm','items','fromKey','getOfflineMessages','Attachments','addAgents','emit','userChatWebsite:save','removeAgents','isArray','userChatWebsite:remove','User','getAgents','util','path','ejs','fs-extra','lodash','html-to-text','jayson/promise','../../components/parsers/qs','../../config/environment','../../errors/api','APIBadRequestError','handleError','APIConflictError','./helpers/wildcard-expressions','url','URL','redis','localhost','register','client','http','then','info','ChatWebsite,\x20%s,\x20%s','debug','request\x20sent','error','message','catch','sendStatus','status'];(function(_0x3058b8,_0x5e12e1){var _0x282a80=function(_0x49bf6c){while(--_0x49bf6c){_0x3058b8['push'](_0x3058b8['shift']());}};_0x282a80(++_0x5e12e1);}(_0xcfce,0x115));var _0xecfc=function(_0x4bfaa7,_0x1033b0){_0x4bfaa7=_0x4bfaa7-0x0;var _0x282f8f=_0xcfce[_0x4bfaa7];return _0x282f8f;};'use strict';var Mustache=require('mustache');var util=require(_0xecfc('0x0'));var path=require(_0xecfc('0x1'));var ejs=require(_0xecfc('0x2'));var fs=require('fs');var fs_extra=require(_0xecfc('0x3'));var _=require(_0xecfc('0x4'));var querystring=require('querystring');var htmlToText=require(_0xecfc('0x5'));var Redis=require('ioredis');var jayson=require(_0xecfc('0x6'));var qs=require(_0xecfc('0x7'));var logger=require('../../config/logger')('api');var config=require(_0xecfc('0x8'));var APIBadRequestError=require(_0xecfc('0x9'))[_0xecfc('0xa')];var APINotFoundError=require(_0xecfc('0x9'))['APINotFoundError'];var APIOutOfIntervalError=require('../../errors/api')['APIOutOfIntervalError'];var APIHandleError=require('../../errors/api')[_0xecfc('0xb')];var APIConflictError=require(_0xecfc('0x9'))[_0xecfc('0xc')];var wildcardUtils=require(_0xecfc('0xd'));var URL=require(_0xecfc('0xe'))[_0xecfc('0xf')];var db=require('../../mysqldb')['db'];config[_0xecfc('0x10')]=_['defaults'](config[_0xecfc('0x10')],{'host':_0xecfc('0x11'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xecfc('0x10')]));require('./chatWebsite.socket')[_0xecfc('0x12')](socket);var client=jayson[_0xecfc('0x13')]['http']({'port':0x232c});var client9002=jayson[_0xecfc('0x13')][_0xecfc('0x14')]({'port':0x232a});var client9003=jayson[_0xecfc('0x13')][_0xecfc('0x14')]({'port':0x232b});var client9001=jayson[_0xecfc('0x13')][_0xecfc('0x14')]({'port':0x2329});function respondWithRpcPromise(_0x46235f,_0x3e03aa,_0x328c26,_0xbdc7f4){return new Promise(function(_0xd66403,_0x44c785){var _0x52c8d2=_0xbdc7f4||client;return _0x52c8d2['request'](_0x46235f,_0x328c26)[_0xecfc('0x15')](function(_0x59bc0e){logger[_0xecfc('0x16')](_0xecfc('0x17'),_0x3e03aa,'request\x20sent');logger[_0xecfc('0x18')]('ChatWebsite,\x20%s,\x20%s,\x20%s',_0x3e03aa,_0xecfc('0x19'),JSON['stringify'](_0x59bc0e));if(_0x59bc0e['error']){if(_0x59bc0e[_0xecfc('0x1a')]['code']===0x1f4){logger[_0xecfc('0x1a')]('ChatWebsite,\x20%s,\x20%s',_0x3e03aa,_0x59bc0e[_0xecfc('0x1a')]['message']);return _0x44c785(_0x59bc0e[_0xecfc('0x1a')][_0xecfc('0x1b')]);}logger[_0xecfc('0x1a')](_0xecfc('0x17'),_0x3e03aa,_0x59bc0e[_0xecfc('0x1a')]['message']);return _0xd66403(_0x59bc0e[_0xecfc('0x1a')][_0xecfc('0x1b')]);}else{logger[_0xecfc('0x16')]('ChatWebsite,\x20%s,\x20%s',_0x3e03aa,_0xecfc('0x19'));_0xd66403(_0x59bc0e['result']['message']);}})[_0xecfc('0x1c')](function(_0x594272){logger[_0xecfc('0x1a')](_0xecfc('0x17'),_0x3e03aa,_0x594272);_0x44c785(_0x594272);});});}function respondWithStatusCode(_0x157dd6,_0x2de944){_0x2de944=_0x2de944||0xcc;return function(_0x449562){if(_0x449562){return _0x157dd6[_0xecfc('0x1d')](_0x2de944);}return _0x157dd6[_0xecfc('0x1e')](_0x2de944)[_0xecfc('0x1f')]();};}function respondWithResult(_0x120646,_0x2b4d69){_0x2b4d69=_0x2b4d69||0xc8;return function(_0x35554c){if(_0x35554c){return _0x120646[_0xecfc('0x1e')](_0x2b4d69)[_0xecfc('0x20')](_0x35554c);}};}function respondWithFilteredResult(_0x5c58e2,_0x803acd){return function(_0x381547){if(_0x381547){var _0x1e2f51=typeof _0x803acd[_0xecfc('0x21')]===_0xecfc('0x22')&&typeof _0x803acd[_0xecfc('0x23')]===_0xecfc('0x22');var _0x408541=_0x381547[_0xecfc('0x24')];var _0x2a8eb1=_0x1e2f51?0x0:_0x803acd[_0xecfc('0x21')];var _0x382773=_0x1e2f51?_0x381547[_0xecfc('0x24')]:_0x803acd[_0xecfc('0x21')]+_0x803acd[_0xecfc('0x23')];var _0x3c12b2;if(_0x382773>=_0x408541){_0x382773=_0x408541;_0x3c12b2=0xc8;}else{_0x3c12b2=0xce;}_0x5c58e2[_0xecfc('0x1e')](_0x3c12b2);return _0x5c58e2[_0xecfc('0x25')](_0xecfc('0x26'),_0x2a8eb1+'-'+_0x382773+'/'+_0x408541)['json'](_0x381547);}return null;};}function saveUpdates(_0x495f86){return function(_0x31b77a){if(_0x31b77a){return _0x31b77a['update'](_0x495f86)[_0xecfc('0x15')](function(_0x242511){return _0x242511;});}return null;};}function removeEntity(_0x353947){return function(_0x1b75bf){if(_0x1b75bf){return _0x1b75bf[_0xecfc('0x27')]()[_0xecfc('0x15')](function(){var _0x10f33e=_0x1b75bf[_0xecfc('0x28')]({'plain':!![]});var _0x11abaa=_0xecfc('0x29');return db[_0xecfc('0x2a')][_0xecfc('0x27')]({'where':{'type':_0x11abaa,'resourceId':_0x10f33e['id']}})[_0xecfc('0x15')](function(){return _0x1b75bf;});})[_0xecfc('0x15')](function(){_0x353947[_0xecfc('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1cdc72){return function(_0x397a18){if(!_0x397a18){_0x1cdc72[_0xecfc('0x1d')](0x194);}return _0x397a18;};}function handleError(_0x29873e,_0x36f2af){_0x36f2af=_0x36f2af||0x1f4;return function(_0x115f1f){logger[_0xecfc('0x1a')](_0x115f1f[_0xecfc('0x2b')]);if(_0x115f1f[_0xecfc('0x2c')]){delete _0x115f1f['name'];}_0x29873e['status'](_0x36f2af)['send'](_0x115f1f);};}function createInteractionObject(_0x48dc53,_0x27c3ff,_0x4043b6,_0x284b42){var _0x45dd1b=require(_0xecfc('0x2d'));var _0x1a9faa=new _0x45dd1b();var _0x9ec64c=_0x1a9faa[_0xecfc('0x2e')](_0x4043b6[_0xecfc('0x2f')])[_0xecfc('0x30')]();var _0x2e86b1=_0x27c3ff[_0xecfc('0x31')];if(_0x4043b6[_0xecfc('0x32')]){_0x2e86b1=_0x4043b6['cf-connecting-ip'];}else if(_0x4043b6[_0xecfc('0x33')]){_0x2e86b1=_[_0xecfc('0x34')](_0x4043b6['x-forwarded-for']['split'](','));}return{'ContactId':_0x284b42['id'],'ChatWebsiteId':_0x48dc53,'from':(_0x284b42[_0xecfc('0x35')]||'')+'\x20'+(_0x284b42[_0xecfc('0x36')]||''),'customerIp':_0x2e86b1,'customerPort':_0x4043b6[_0xecfc('0x37')]?_0x4043b6[_0xecfc('0x37')]:null,'referer':_0x27c3ff['referer'],'browserName':_0x9ec64c['browser']['name']&&_0x9ec64c[_0xecfc('0x38')][_0xecfc('0x39')]?util[_0xecfc('0x3a')]('%s\x20%s',_0x9ec64c['browser']['name'],_0x9ec64c[_0xecfc('0x38')][_0xecfc('0x39')]):_0xecfc('0x3b'),'browserVersion':_0x9ec64c[_0xecfc('0x38')][_0xecfc('0x39')]||_0xecfc('0x3b'),'osName':util[_0xecfc('0x3a')](_0xecfc('0x3c'),_0x9ec64c['os'][_0xecfc('0x2c')],_0x9ec64c['os']['version']),'osVersion':_0x9ec64c['os'][_0xecfc('0x39')],'deviceModel':_0x9ec64c[_0xecfc('0x3d')][_0xecfc('0x3e')]&&_0x9ec64c[_0xecfc('0x3d')][_0xecfc('0x3f')]?util[_0xecfc('0x3a')](_0xecfc('0x40'),_0x9ec64c[_0xecfc('0x3d')][_0xecfc('0x3e')],_0x9ec64c[_0xecfc('0x3d')][_0xecfc('0x3f')],_0x9ec64c[_0xecfc('0x3d')]['type']):null,'deviceVendor':_0x9ec64c[_0xecfc('0x3d')][_0xecfc('0x3f')],'deviceType':_0x9ec64c[_0xecfc('0x3d')][_0xecfc('0x41')],'formData':JSON[_0xecfc('0x42')](_0x27c3ff)};}exports[_0xecfc('0x43')]=function(_0x15b425,_0x42e235){var _0x242533={'include':[{'model':db[_0xecfc('0x44')],'as':_0xecfc('0x45')}]},_0x10f7b5={},_0x5a764a={'count':0x0,'rows':[]};var _0x693885=_[_0xecfc('0x46')](db[_0xecfc('0x47')][_0xecfc('0x48')],function(_0x3f43d0){return{'name':_0x3f43d0[_0xecfc('0x49')],'type':_0x3f43d0[_0xecfc('0x41')][_0xecfc('0x4a')]};});_0x10f7b5[_0xecfc('0x3e')]=_[_0xecfc('0x46')](_0x693885,_0xecfc('0x2c'));_0x10f7b5[_0xecfc('0x4b')]=_[_0xecfc('0x4c')](_0x15b425[_0xecfc('0x4b')]);_0x10f7b5[_0xecfc('0x4d')]=_[_0xecfc('0x4e')](_0x10f7b5[_0xecfc('0x3e')],_0x10f7b5[_0xecfc('0x4b')]);_0x242533[_0xecfc('0x4f')]=_[_0xecfc('0x4e')](_0x10f7b5[_0xecfc('0x3e')],qs[_0xecfc('0x50')](_0x15b425['query'][_0xecfc('0x50')]));_0x242533[_0xecfc('0x4f')]=_0x242533[_0xecfc('0x4f')]['length']?_0x242533[_0xecfc('0x4f')]:_0x10f7b5[_0xecfc('0x3e')];if(!_0x15b425[_0xecfc('0x4b')][_0xecfc('0x51')](_0xecfc('0x52'))){_0x242533['limit']=qs[_0xecfc('0x23')](_0x15b425[_0xecfc('0x4b')]['limit']);_0x242533['offset']=qs[_0xecfc('0x21')](_0x15b425['query']['offset']);}_0x242533[_0xecfc('0x53')]=qs[_0xecfc('0x54')](_0x15b425['query'][_0xecfc('0x54')]);_0x242533[_0xecfc('0x55')]=qs[_0xecfc('0x4d')](_[_0xecfc('0x56')](_0x15b425[_0xecfc('0x4b')],_0x10f7b5[_0xecfc('0x4d')]),_0x693885);if(_0x15b425[_0xecfc('0x4b')][_0xecfc('0x57')]){_0x242533[_0xecfc('0x55')]=_[_0xecfc('0x58')](_0x242533[_0xecfc('0x55')],{'$or':_['map'](_0x693885,function(_0x34a1f9){if(_0x34a1f9[_0xecfc('0x41')]!=='VIRTUAL'){var _0x2630b6={};_0x2630b6[_0x34a1f9[_0xecfc('0x2c')]]={'$like':'%'+_0x15b425['query'][_0xecfc('0x57')]+'%'};return _0x2630b6;}})});}_0x242533=_[_0xecfc('0x58')]({},_0x242533,_0x15b425['options']);var _0x2ebf93={'where':_0x242533['where']};return db[_0xecfc('0x47')]['count'](_0x2ebf93)[_0xecfc('0x15')](function(_0x55be49){_0x5a764a['count']=_0x55be49;if(_0x15b425['query'][_0xecfc('0x59')]){_0x242533[_0xecfc('0x5a')]=[{'all':!![]}];}return db['ChatWebsite']['findAll'](_0x242533);})[_0xecfc('0x15')](function(_0x633ded){_0x5a764a[_0xecfc('0x5b')]=_0x633ded;return _0x5a764a;})[_0xecfc('0x15')](respondWithFilteredResult(_0x42e235,_0x242533))[_0xecfc('0x1c')](handleError(_0x42e235,null));};exports[_0xecfc('0x5c')]=function(_0x1b6db5,_0x60783d){var _0xf40d5b={'raw':![],'where':{'id':_0x1b6db5[_0xecfc('0x5d')]['id']},'include':[{'model':db[_0xecfc('0x44')],'as':_0xecfc('0x45')}]},_0x3b5db1={};_0x3b5db1[_0xecfc('0x3e')]=_[_0xecfc('0x4c')](db['ChatWebsite'][_0xecfc('0x48')]);_0x3b5db1[_0xecfc('0x4b')]=_[_0xecfc('0x4c')](_0x1b6db5[_0xecfc('0x4b')]);_0x3b5db1[_0xecfc('0x4d')]=_[_0xecfc('0x4e')](_0x3b5db1[_0xecfc('0x3e')],_0x3b5db1[_0xecfc('0x4b')]);_0xf40d5b[_0xecfc('0x4f')]=_[_0xecfc('0x4e')](_0x3b5db1[_0xecfc('0x3e')],qs[_0xecfc('0x50')](_0x1b6db5[_0xecfc('0x4b')][_0xecfc('0x50')]));_0xf40d5b[_0xecfc('0x4f')]=_0xf40d5b['attributes'][_0xecfc('0x5e')]?_0xf40d5b[_0xecfc('0x4f')]:_0x3b5db1[_0xecfc('0x3e')];if(_0x1b6db5[_0xecfc('0x4b')][_0xecfc('0x59')]){_0xf40d5b['include']=[{'all':!![]}];}_0xf40d5b=_[_0xecfc('0x58')]({},_0xf40d5b,_0x1b6db5[_0xecfc('0x5f')]);return db['ChatWebsite'][_0xecfc('0x60')](_0xf40d5b)['then'](handleEntityNotFound(_0x60783d,null))[_0xecfc('0x15')](respondWithResult(_0x60783d,null))['catch'](handleError(_0x60783d,null));};exports['create']=function(_0x3ef8b2,_0xea67e7){if(!wildcardUtils['testWildcardValidity'](_0x3ef8b2[_0xecfc('0x61')][_0xecfc('0x62')])){return handleError(_0xea67e7,null)(new APIBadRequestError('\x22'+_0x3ef8b2[_0xecfc('0x61')][_0xecfc('0x62')]+'\x22\x20is\x20not\x20a\x20valid\x20website\x20domain'));}return db['ChatWebsite'][_0xecfc('0x63')](_0x3ef8b2[_0xecfc('0x61')],{})[_0xecfc('0x15')](function(_0x4c96d0){var _0x131499=_0x3ef8b2[_0xecfc('0x64')][_0xecfc('0x28')]({'plain':!![]});if(!_0x131499)throw new Error(_0xecfc('0x65'));if(_0x131499[_0xecfc('0x66')]===_0xecfc('0x64')){var _0x126ad9=_0x4c96d0[_0xecfc('0x28')]({'plain':!![]});var _0x99d72d=_0xecfc('0x29');return db[_0xecfc('0x67')][_0xecfc('0x60')]({'where':{'name':_0x99d72d,'userProfileId':_0x131499[_0xecfc('0x68')]},'raw':!![]})[_0xecfc('0x15')](function(_0x534969){if(_0x534969&&_0x534969[_0xecfc('0x69')]===0x0){return db[_0xecfc('0x2a')][_0xecfc('0x63')]({'name':_0x126ad9[_0xecfc('0x2c')],'resourceId':_0x126ad9['id'],'type':_0x534969[_0xecfc('0x2c')],'sectionId':_0x534969['id']},{})[_0xecfc('0x15')](function(){return _0x4c96d0;});}else{return _0x4c96d0;}})[_0xecfc('0x1c')](function(_0x4868da){logger[_0xecfc('0x1a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4868da);throw _0x4868da;});}return _0x4c96d0;})[_0xecfc('0x15')](respondWithResult(_0xea67e7,0xc9))[_0xecfc('0x1c')](handleError(_0xea67e7,null));};exports[_0xecfc('0x6a')]=function(_0x3ad08e,_0x2744f2){if(!wildcardUtils[_0xecfc('0x6b')](_0x3ad08e['body'][_0xecfc('0x62')])){return handleError(_0x2744f2,null)(new APIBadRequestError('\x22'+_0x3ad08e[_0xecfc('0x61')]['address']+'\x22\x20is\x20not\x20a\x20valid\x20website\x20domain'));}if(_0x3ad08e[_0xecfc('0x61')]['id']){delete _0x3ad08e[_0xecfc('0x61')]['id'];}return db['ChatWebsite']['find']({'where':{'id':_0x3ad08e['params']['id']},'include':[{'model':db[_0xecfc('0x44')],'as':_0xecfc('0x45')}]})['then'](handleEntityNotFound(_0x2744f2,null))[_0xecfc('0x15')](saveUpdates(_0x3ad08e['body'],null))[_0xecfc('0x15')](respondWithResult(_0x2744f2,null))[_0xecfc('0x1c')](handleError(_0x2744f2,null));};exports[_0xecfc('0x27')]=function(_0x23c031,_0xde8504){return db[_0xecfc('0x47')][_0xecfc('0x60')]({'where':{'id':_0x23c031['params']['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0xde8504,null))[_0xecfc('0x15')](removeEntity(_0xde8504,null))[_0xecfc('0x1c')](handleError(_0xde8504,null));};exports[_0xecfc('0x6c')]=function(_0xd6fe69,_0x303fea){return db[_0xecfc('0x47')][_0xecfc('0x6c')]()['then'](respondWithResult(_0x303fea,null))[_0xecfc('0x1c')](handleError(_0x303fea,null));};exports['addDisposition']=function(_0x675dba,_0x565fe6){if(_0x675dba[_0xecfc('0x61')]['id']){delete _0x675dba[_0xecfc('0x61')]['id'];}return db['ChatWebsite'][_0xecfc('0x60')]({'where':{'id':_0x675dba[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x565fe6,null))[_0xecfc('0x15')](function(_0x331dde){if(_0x331dde){_0x675dba[_0xecfc('0x61')][_0xecfc('0x6d')]=_0x331dde['id'];return db[_0xecfc('0x6e')][_0xecfc('0x63')](_0x675dba[_0xecfc('0x61')]);}})[_0xecfc('0x15')](respondWithResult(_0x565fe6,null))[_0xecfc('0x1c')](handleError(_0x565fe6,null));};exports[_0xecfc('0x6f')]=function(_0x30e260,_0x391bf1){var _0x237071={'raw':![],'where':{}};var _0xb674e3={};var _0x5abb08={'count':0x0,'rows':[]};return db[_0xecfc('0x47')][_0xecfc('0x70')]({'where':{'id':_0x30e260['params']['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x391bf1,null))['then'](function(_0x1a2a76){if(_0x1a2a76){_0xb674e3[_0xecfc('0x3e')]=_['keys'](db[_0xecfc('0x6e')][_0xecfc('0x48')]);_0xb674e3[_0xecfc('0x4b')]=_[_0xecfc('0x4c')](_0x30e260[_0xecfc('0x4b')]);_0xb674e3[_0xecfc('0x4d')]=_['intersection'](_0xb674e3[_0xecfc('0x3e')],_0xb674e3[_0xecfc('0x4b')]);_0x237071[_0xecfc('0x4f')]=_['intersection'](_0xb674e3[_0xecfc('0x3e')],qs[_0xecfc('0x50')](_0x30e260[_0xecfc('0x4b')][_0xecfc('0x50')]));_0x237071[_0xecfc('0x4f')]=_0x237071[_0xecfc('0x4f')]['length']?_0x237071[_0xecfc('0x4f')]:_0xb674e3[_0xecfc('0x3e')];if(!_0x30e260[_0xecfc('0x4b')][_0xecfc('0x51')](_0xecfc('0x52'))){_0x237071[_0xecfc('0x23')]=qs[_0xecfc('0x23')](_0x30e260[_0xecfc('0x4b')][_0xecfc('0x23')]);_0x237071[_0xecfc('0x21')]=qs[_0xecfc('0x21')](_0x30e260[_0xecfc('0x4b')]['offset']);}_0x237071[_0xecfc('0x53')]=qs[_0xecfc('0x54')](_0x30e260['query']['sort']);_0x237071['where']=qs['filters'](_[_0xecfc('0x56')](_0x30e260[_0xecfc('0x4b')],_0xb674e3[_0xecfc('0x4d')]));_0x237071['where']['ChatWebsiteId']=_0x1a2a76['id'];if(_0x30e260['query'][_0xecfc('0x57')]){_0x237071[_0xecfc('0x55')]=_[_0xecfc('0x58')](_0x237071[_0xecfc('0x55')],{'$or':_['map'](_0x237071[_0xecfc('0x4f')],function(_0x417f5b){var _0xc334ac={};_0xc334ac[_0x417f5b]={'$like':'%'+_0x30e260['query']['filter']+'%'};return _0xc334ac;})});}_0x237071=_[_0xecfc('0x58')]({},_0x237071,_0x30e260['options']);return db[_0xecfc('0x6e')][_0xecfc('0x24')]({'where':_0x237071['where']})[_0xecfc('0x15')](function(_0x39a7e7){_0x5abb08[_0xecfc('0x24')]=_0x39a7e7;if(_0x30e260[_0xecfc('0x4b')][_0xecfc('0x59')]){_0x237071[_0xecfc('0x5a')]=[{'all':!![]}];}return db['Disposition'][_0xecfc('0x71')](_0x237071);})['then'](function(_0x540df2){_0x5abb08[_0xecfc('0x5b')]=_0x540df2;return _0x5abb08;});}})[_0xecfc('0x15')](respondWithFilteredResult(_0x391bf1,_0x237071))[_0xecfc('0x1c')](handleError(_0x391bf1,null));};exports[_0xecfc('0x72')]=function(_0x22be92,_0x42ee28){return db['ChatWebsite']['find']({'where':{'id':_0x22be92[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x42ee28,null))[_0xecfc('0x15')](function(_0x4dfb95){if(_0x4dfb95){return _0x4dfb95[_0xecfc('0x72')](_0x22be92[_0xecfc('0x4b')][_0xecfc('0x73')]);}})[_0xecfc('0x15')](respondWithStatusCode(_0x42ee28,null))[_0xecfc('0x1c')](handleError(_0x42ee28,null));};exports['addAnswer']=function(_0xa4779a,_0x1ceeab){if(_0xa4779a[_0xecfc('0x61')]['id']){delete _0xa4779a[_0xecfc('0x61')]['id'];}return db[_0xecfc('0x47')][_0xecfc('0x60')]({'where':{'id':_0xa4779a['params']['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x1ceeab,null))[_0xecfc('0x15')](function(_0x5273a8){if(_0x5273a8){_0xa4779a[_0xecfc('0x61')][_0xecfc('0x6d')]=_0x5273a8['id'];return db['CannedAnswer']['create'](_0xa4779a[_0xecfc('0x61')]);}})[_0xecfc('0x15')](respondWithResult(_0x1ceeab,null))[_0xecfc('0x1c')](handleError(_0x1ceeab,null));};exports[_0xecfc('0x74')]=function(_0x57889f,_0x2811ea){var _0x48ab0f={'raw':![],'where':{}};var _0x551038={};var _0x22126d={'count':0x0,'rows':[]};return db[_0xecfc('0x47')][_0xecfc('0x70')]({'where':{'id':_0x57889f[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x2811ea,null))[_0xecfc('0x15')](function(_0x19ab28){if(_0x19ab28){_0x551038[_0xecfc('0x3e')]=_[_0xecfc('0x4c')](db[_0xecfc('0x75')][_0xecfc('0x48')]);_0x551038[_0xecfc('0x4b')]=_[_0xecfc('0x4c')](_0x57889f['query']);_0x551038['filters']=_['intersection'](_0x551038['model'],_0x551038[_0xecfc('0x4b')]);_0x48ab0f[_0xecfc('0x4f')]=_[_0xecfc('0x4e')](_0x551038[_0xecfc('0x3e')],qs[_0xecfc('0x50')](_0x57889f[_0xecfc('0x4b')][_0xecfc('0x50')]));_0x48ab0f[_0xecfc('0x4f')]=_0x48ab0f[_0xecfc('0x4f')][_0xecfc('0x5e')]?_0x48ab0f[_0xecfc('0x4f')]:_0x551038['model'];if(!_0x57889f[_0xecfc('0x4b')][_0xecfc('0x51')](_0xecfc('0x52'))){_0x48ab0f[_0xecfc('0x23')]=qs[_0xecfc('0x23')](_0x57889f[_0xecfc('0x4b')][_0xecfc('0x23')]);_0x48ab0f[_0xecfc('0x21')]=qs[_0xecfc('0x21')](_0x57889f['query'][_0xecfc('0x21')]);}_0x48ab0f[_0xecfc('0x53')]=qs[_0xecfc('0x54')](_0x57889f[_0xecfc('0x4b')]['sort']);_0x48ab0f[_0xecfc('0x55')]=qs[_0xecfc('0x4d')](_[_0xecfc('0x56')](_0x57889f[_0xecfc('0x4b')],_0x551038[_0xecfc('0x4d')]));_0x48ab0f[_0xecfc('0x55')][_0xecfc('0x6d')]=_0x19ab28['id'];if(_0x57889f[_0xecfc('0x4b')][_0xecfc('0x57')]){_0x48ab0f['where']=_[_0xecfc('0x58')](_0x48ab0f['where'],{'$or':_[_0xecfc('0x46')](_0x48ab0f[_0xecfc('0x4f')],function(_0x2b346e){var _0x7c906a={};_0x7c906a[_0x2b346e]={'$like':'%'+_0x57889f[_0xecfc('0x4b')]['filter']+'%'};return _0x7c906a;})});}_0x48ab0f=_['merge']({},_0x48ab0f,_0x57889f['options']);return db[_0xecfc('0x75')][_0xecfc('0x24')]({'where':_0x48ab0f[_0xecfc('0x55')]})[_0xecfc('0x15')](function(_0x569a83){_0x22126d['count']=_0x569a83;if(_0x57889f['query']['includeAll']){_0x48ab0f['include']=[{'all':!![]}];}return db['CannedAnswer'][_0xecfc('0x71')](_0x48ab0f);})[_0xecfc('0x15')](function(_0x504eed){_0x22126d[_0xecfc('0x5b')]=_0x504eed;return _0x22126d;});}})[_0xecfc('0x15')](respondWithFilteredResult(_0x2811ea,_0x48ab0f))[_0xecfc('0x1c')](handleError(_0x2811ea,null));};exports[_0xecfc('0x76')]=function(_0xa0d3a,_0x264bf0){return db[_0xecfc('0x47')][_0xecfc('0x60')]({'where':{'id':_0xa0d3a['params']['id']}})['then'](handleEntityNotFound(_0x264bf0,null))[_0xecfc('0x15')](function(_0x76872a){if(_0x76872a){return _0x76872a[_0xecfc('0x76')](_0xa0d3a[_0xecfc('0x4b')][_0xecfc('0x73')]);}})[_0xecfc('0x15')](respondWithStatusCode(_0x264bf0,null))[_0xecfc('0x1c')](handleError(_0x264bf0,null));};exports[_0xecfc('0x77')]=function(_0x1c86e9,_0x50b2fa){_0x1c86e9[_0xecfc('0x61')][_0xecfc('0x78')]=_0x1c86e9[_0xecfc('0x79')]['filename'];return db[_0xecfc('0x47')][_0xecfc('0x60')]({'where':{'id':_0x1c86e9[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x50b2fa,null))[_0xecfc('0x15')](saveUpdates(_0x1c86e9[_0xecfc('0x61')],null))[_0xecfc('0x15')](respondWithResult(_0x50b2fa,null))[_0xecfc('0x1c')](handleError(_0x50b2fa,null));};exports['addAvatar']=function(_0x29d98f,_0x187310){_0x29d98f[_0xecfc('0x61')]['agentAvatar']=_0x29d98f[_0xecfc('0x79')][_0xecfc('0x7a')];return db[_0xecfc('0x47')][_0xecfc('0x60')]({'where':{'id':_0x29d98f[_0xecfc('0x5d')]['id']}})['then'](handleEntityNotFound(_0x187310,null))[_0xecfc('0x15')](saveUpdates(_0x29d98f[_0xecfc('0x61')],null))[_0xecfc('0x15')](respondWithResult(_0x187310,null))[_0xecfc('0x1c')](handleError(_0x187310,null));};exports[_0xecfc('0x7b')]=function(_0x432889,_0x5d081d){_0x432889[_0xecfc('0x61')][_0xecfc('0x7c')]=_0x432889[_0xecfc('0x79')][_0xecfc('0x7a')];return db[_0xecfc('0x47')][_0xecfc('0x60')]({'where':{'id':_0x432889[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x5d081d,null))[_0xecfc('0x15')](saveUpdates(_0x432889[_0xecfc('0x61')],null))[_0xecfc('0x15')](respondWithResult(_0x5d081d,null))[_0xecfc('0x1c')](handleError(_0x5d081d,null));};exports[_0xecfc('0x7d')]=function(_0x4d7713,_0x26bca4){_0x4d7713[_0xecfc('0x61')][_0xecfc('0x7e')]=_0x4d7713[_0xecfc('0x79')][_0xecfc('0x7a')];return db[_0xecfc('0x47')][_0xecfc('0x60')]({'where':{'id':_0x4d7713[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x26bca4,null))[_0xecfc('0x15')](saveUpdates(_0x4d7713['body'],null))[_0xecfc('0x15')](respondWithResult(_0x26bca4,null))[_0xecfc('0x1c')](handleError(_0x26bca4,null));};exports[_0xecfc('0x7f')]=function(_0x4492be,_0x4f6456){var _0x44c649=path[_0xecfc('0x80')](config[_0xecfc('0x81')],_0xecfc('0x82'));var _0x3251b9={'where':{'id':_0x4492be[_0xecfc('0x5d')]['id']},'attributes':['id',_0xecfc('0x78')],'raw':!![]};var _0x15b44f=![];return require(_0xecfc('0x83'))[_0xecfc('0x84')]()[_0xecfc('0x15')](function(_0x55a8aa){if(_0x55a8aa){_0x15b44f=_0x55a8aa[_0xecfc('0x85')];}})[_0xecfc('0x15')](function(){return db[_0xecfc('0x47')][_0xecfc('0x60')](_0x3251b9);})[_0xecfc('0x15')](handleEntityNotFound(_0x4f6456,null))[_0xecfc('0x15')](function(_0x1b66ad){if(_0x1b66ad){if(!_[_0xecfc('0x86')](_0x1b66ad[_0xecfc('0x78')])){if(fs[_0xecfc('0x87')](path[_0xecfc('0x80')](config[_0xecfc('0x81')],_0xecfc('0x88'),_0x1b66ad['sitepic']))&&_0x15b44f){_0x44c649=path[_0xecfc('0x80')](config[_0xecfc('0x81')],'server/files/images/logos/',_0x1b66ad[_0xecfc('0x78')]);}}return _0x4f6456['download'](_0x44c649);}})[_0xecfc('0x1c')](handleError(_0x4f6456,null));};exports[_0xecfc('0x89')]=function(_0x1c1c52,_0x46e0d1){var _0x1a9cc6=path['join'](config['root'],'server/files/images/avatars/default_avatar.png');var _0x45f68a={'where':{'id':_0x1c1c52['params']['id']},'attributes':['id',_0xecfc('0x8a')],'raw':!![]};return db[_0xecfc('0x47')]['find'](_0x45f68a)[_0xecfc('0x15')](handleEntityNotFound(_0x46e0d1,null))[_0xecfc('0x15')](function(_0x21093e){if(_0x21093e){if(!_[_0xecfc('0x86')](_0x21093e[_0xecfc('0x8a')])){if(fs[_0xecfc('0x87')](path[_0xecfc('0x80')](config[_0xecfc('0x81')],_0xecfc('0x8b'),_0x21093e[_0xecfc('0x8a')]))){_0x1a9cc6=path[_0xecfc('0x80')](config['root'],'server/files/images/avatars/',_0x21093e[_0xecfc('0x8a')]);}}return _0x46e0d1[_0xecfc('0x8c')](_0x1a9cc6);}})[_0xecfc('0x1c')](handleError(_0x46e0d1,null));};exports[_0xecfc('0x8d')]=function(_0x299b45,_0xd0e9a0){var _0x23fe25=path[_0xecfc('0x80')](config[_0xecfc('0x81')],_0xecfc('0x8e'));var _0xb87995={'where':{'id':_0x299b45[_0xecfc('0x5d')]['id']},'attributes':['id','customerAvatar',_0xecfc('0x8f')],'raw':!![]};return db[_0xecfc('0x47')]['find'](_0xb87995)['then'](handleEntityNotFound(_0xd0e9a0,null))[_0xecfc('0x15')](function(_0x4be8ad){if(_0x4be8ad){if(!_[_0xecfc('0x86')](_0x4be8ad[_0xecfc('0x7c')])){if(fs[_0xecfc('0x87')](path[_0xecfc('0x80')](config[_0xecfc('0x81')],_0xecfc('0x8b'),_0x4be8ad[_0xecfc('0x7c')]))&&_0x4be8ad[_0xecfc('0x8f')]){_0x23fe25=path[_0xecfc('0x80')](config['root'],_0xecfc('0x8b'),_0x4be8ad[_0xecfc('0x7c')]);}}return _0xd0e9a0[_0xecfc('0x8c')](_0x23fe25);}})[_0xecfc('0x1c')](handleError(_0xd0e9a0,null));};exports[_0xecfc('0x90')]=function(_0x21f34c,_0x1a2284){var _0x17f698=path[_0xecfc('0x80')](config[_0xecfc('0x81')],_0xecfc('0x91'));var _0x221f46={'where':{'id':_0x21f34c[_0xecfc('0x5d')]['id']},'attributes':['id',_0xecfc('0x7e')],'raw':!![]};return db[_0xecfc('0x47')][_0xecfc('0x60')](_0x221f46)['then'](handleEntityNotFound(_0x1a2284,null))[_0xecfc('0x15')](function(_0x480944){if(_0x480944){if(!_[_0xecfc('0x86')](_0x480944[_0xecfc('0x7e')])){if(fs['existsSync'](path[_0xecfc('0x80')](config[_0xecfc('0x81')],_0xecfc('0x8b'),_0x480944[_0xecfc('0x7e')]))){_0x17f698=path[_0xecfc('0x80')](config[_0xecfc('0x81')],_0xecfc('0x8b'),_0x480944['systemAvatar']);}}return _0x1a2284[_0xecfc('0x8c')](_0x17f698);}})[_0xecfc('0x1c')](handleError(_0x1a2284,null));};function checkWebsiteInterval(_0x4c2d21){var _0xa4db28=_0x4c2d21[_0xecfc('0x92')];if(!_0xa4db28){return Promise[_0xecfc('0x93')](_0x4c2d21);}var _0x5adf73=_0x4c2d21[_0xecfc('0x94')]||undefined;return _0xa4db28[_0xecfc('0x95')](_0x5adf73)[_0xecfc('0x15')](function(_0x3240fd){if(!_0x3240fd){throw new APIOutOfIntervalError();}return _0x4c2d21;});}exports[_0xecfc('0x96')]=function(_0x2009a2,_0x3d299b){var _0x26fe81={'body':_0x2009a2[_0xecfc('0x61')],'channel':_0xecfc('0x97')};var _0x36c290=[];var _0x157bf7=[];var _0x4ee9c2={};var _0x34f252=![];if(_0x2009a2['body']['id']){delete _0x2009a2[_0xecfc('0x61')]['id'];}if(_[_0xecfc('0x86')](_0x2009a2[_0xecfc('0x61')][_0xecfc('0x98')])){throw new APIBadRequestError(_0xecfc('0x99'));}if(_[_0xecfc('0x86')](_0x2009a2[_0xecfc('0x61')][_0xecfc('0x9a')])){throw new APIBadRequestError(_0xecfc('0x9b'));}if(_[_0xecfc('0x9c')](_0x2009a2['body']['body'])){throw new APIBadRequestError('Body\x20is\x20mandatory');}var _0x42b6f8=_0x2009a2[_0xecfc('0x61')]['customerIp']&&_0x2009a2['body']['referer'];return db[_0xecfc('0x9d')]['describe']()[_0xecfc('0x15')](function(_0x328612){if(!_0x328612){throw new Error(_0xecfc('0x9e'));}_0x36c290=Object['keys'](_0x328612)[_0xecfc('0x57')](function(_0x140ca9){return![_0xecfc('0x9f'),'updatedAt'][_0xecfc('0xa0')](_0x140ca9);});_0x157bf7=Object[_0xecfc('0x4c')](_0x328612)[_0xecfc('0x57')](function(_0x4f3687){return!['createdAt',_0xecfc('0xa1'),_0xecfc('0xa2'),_0xecfc('0xa3')]['includes'](_0x4f3687);});if(!_['includes'](_0x157bf7,_0x2009a2['body']['mapKey'])){throw new APIBadRequestError(_0xecfc('0xa4')+_0x157bf7[_0xecfc('0x80')](',\x20'));}_0x4ee9c2[_0x2009a2[_0xecfc('0x61')][_0xecfc('0x9a')]]=_0x2009a2[_0xecfc('0x61')]['from'];})[_0xecfc('0x15')](function(){return db[_0xecfc('0x47')][_0xecfc('0x60')]({'where':{'id':_0x2009a2[_0xecfc('0x5d')]['id']},'include':[{'model':db[_0xecfc('0xa5')],'as':_0xecfc('0xa6'),'include':[{'model':db['CmContact'],'as':_0xecfc('0xa7'),'where':_0x4ee9c2,'limit':0x1,'order':[[_0xecfc('0xa1'),_0xecfc('0xa8')]]}]},{'model':db[_0xecfc('0xa9')],'as':_0xecfc('0xaa')},{'model':db[_0xecfc('0x92')],'as':_0xecfc('0x92'),'include':[{'model':db[_0xecfc('0x92')],'as':'Intervals','attributes':['id','interval'],'raw':!![]}]}]});})['then'](function(_0x492f5f){if(!_0x492f5f){throw new APINotFoundError(util[_0xecfc('0x3a')](_0xecfc('0xab'),_0x2009a2['params']['id']));}if(_0x42b6f8){return checkWebsiteInterval(_0x492f5f);}return _0x492f5f;})['then'](function(_0x6cee5f){_0x26fe81[_0xecfc('0xac')]=_0x6cee5f;_0x26fe81[_0xecfc('0xad')]=_[_0xecfc('0xae')](_0x6cee5f[_0xecfc('0xaa')],['priority'],[_0xecfc('0xaf')]);if(_0x26fe81[_0xecfc('0xac')][_0xecfc('0xaa')]){delete _0x26fe81[_0xecfc('0xac')][_0xecfc('0xaa')];}_0x26fe81[_0xecfc('0xb0')]=_0x6cee5f['List']||{'id':_0x6cee5f[_0xecfc('0xa3')]};if(_0x26fe81[_0xecfc('0xb0')]&&_0x26fe81['list'][_0xecfc('0xa7')][_0xecfc('0x5e')]){return _0x26fe81[_0xecfc('0xb0')][_0xecfc('0xa7')][0x0];}var _0x2b84c7=_[_0xecfc('0xb1')](_0x2009a2[_0xecfc('0x61')],{'firstName':_0x2009a2['body'][_0xecfc('0x98')],'ListId':_0x6cee5f[_0xecfc('0xa3')]});_0x2b84c7[_0x2009a2[_0xecfc('0x61')][_0xecfc('0x9a')]]=_0x2009a2[_0xecfc('0x61')][_0xecfc('0x98')];return db[_0xecfc('0x9d')]['create'](_0x2b84c7,{'fields':_0x36c290,'raw':!![]});})[_0xecfc('0x15')](function(_0x4a7e48){_0x26fe81[_0xecfc('0xb2')]=_0x4a7e48;var _0x16fb89=createInteractionObject(_0x2009a2['params']['id'],_0x2009a2['body'],_0x2009a2[_0xecfc('0xb3')],_0x4a7e48);var _0x30ce1a={'ChatWebsiteId':_0x2009a2[_0xecfc('0x5d')]['id']};if(_0x2009a2[_0xecfc('0x61')][_0xecfc('0xb4')]){_0x30ce1a[_0xecfc('0xb4')]=_0x2009a2['body'][_0xecfc('0xb4')];_0x30ce1a[_0xecfc('0xb5')]=![];return db[_0xecfc('0xb6')][_0xecfc('0x60')]({'where':_0x30ce1a})[_0xecfc('0x15')](function(_0x471d40){var _0x49c966=_0x2009a2[_0xecfc('0x61')]['customerIp']&&_0x2009a2[_0xecfc('0x61')][_0xecfc('0xb7')];if(_0x471d40){_0x34f252=!![];return _0x471d40;}else if(!_0x49c966&&_0x471d40&&_0x471d40['closed']){throw new APIConflictError('Writing\x20on\x20closed\x20interaction');}_0x16fb89[_0xecfc('0xb4')]=_0x2009a2['body']['threadId'];_0x16fb89[_0xecfc('0xb8')]=_0x2009a2[_0xecfc('0x61')][_0xecfc('0xb8')];return db['ChatInteraction'][_0xecfc('0x63')](_0x16fb89);});}_0x30ce1a[_0xecfc('0xb9')]=_0x4a7e48['id'];if(_0x2009a2[_0xecfc('0x61')][_0xecfc('0xba')]&&_0x2009a2[_0xecfc('0x61')][_0xecfc('0xba')]['id']){_0x30ce1a['id']=_0x2009a2[_0xecfc('0x61')]['interaction']['id'];return db[_0xecfc('0xb6')]['find']({'where':_0x30ce1a})[_0xecfc('0x15')](function(_0x4cc980){var _0x1a246b=_0x2009a2['body'][_0xecfc('0x31')]&&_0x2009a2[_0xecfc('0x61')][_0xecfc('0xb7')];if(!_0x1a246b&&_0x4cc980&&_0x4cc980[_0xecfc('0xb5')]){throw new APIConflictError(_0xecfc('0xbb'));}else if(_0x4cc980){_0x34f252=!![];return _0x4cc980;}else{return db[_0xecfc('0xb6')][_0xecfc('0x63')](_0x16fb89);}});}return db[_0xecfc('0xb6')][_0xecfc('0x63')](_0x16fb89);})[_0xecfc('0x15')](function(_0x383c21){if(!_0x34f252){return _0x383c21;}var _0x3cd7c3={'from':(_0x26fe81[_0xecfc('0xb2')][_0xecfc('0x35')]||'')+'\x20'+(_0x26fe81[_0xecfc('0xb2')][_0xecfc('0x36')]||'')};if(_0x2009a2['body'][_0xecfc('0xb4')]&&_0x2009a2[_0xecfc('0x61')]['messageId']&&_0x2009a2[_0xecfc('0x61')][_0xecfc('0xb4')]!=_0x2009a2[_0xecfc('0x61')][_0xecfc('0xbc')]){_0x3cd7c3['threadId']=_0x2009a2[_0xecfc('0x61')][_0xecfc('0xbc')];}return _0x383c21[_0xecfc('0x6a')](_0x3cd7c3);})[_0xecfc('0x15')](function(_0x18f8b8){_0x26fe81[_0xecfc('0xba')]=_0x18f8b8[_0xecfc('0x28')]({'plain':!![]});_0x26fe81[_0xecfc('0xba')][_0xecfc('0xbd')]=!_0x34f252;if(_0x26fe81[_0xecfc('0xba')][_0xecfc('0xbd')]){if(_0x26fe81[_0xecfc('0xac')][_0xecfc('0xbe')]){_0x26fe81[_0xecfc('0xad')]['push']({'id':0x0,'priority':_0x26fe81[_0xecfc('0xad')][_0xecfc('0x5e')]+0x1,'app':_0xecfc('0xbf'),'appdata':_0xecfc('0xc0'),'interval':_0xecfc('0xc1')});}}return db[_0xecfc('0xc2')][_0xecfc('0x63')]({'body':_0x2009a2[_0xecfc('0x61')]['body'],'ChatWebsiteId':_0x2009a2[_0xecfc('0x5d')]['id'],'ChatInteractionId':_0x18f8b8['id'],'direction':'in','ContactId':_0x26fe81[_0xecfc('0xb2')]['id'],'AttachmentId':_0x2009a2[_0xecfc('0x61')][_0xecfc('0xc3')]});})[_0xecfc('0x15')](function(_0x42b0b7){_0x26fe81[_0xecfc('0x1b')]=_0x42b0b7;if(!_0x26fe81['interaction'][_0xecfc('0xc4')]){return;}return db['User']['find']({'attributes':['id','name'],'where':{'id':_0x26fe81[_0xecfc('0xba')]['UserId']}});})['then'](function(_0x49abf9){if(_0x49abf9){_0x26fe81['applications'][_0xecfc('0xc5')]({'id':0x0,'priority':0x0,'app':_0xecfc('0xc6'),'appdata':_0x49abf9[_0xecfc('0x2c')]+','+(_0x26fe81[_0xecfc('0xac')][_0xecfc('0xc7')]||0xa),'interval':'*,*,*,*'});_0x26fe81[_0xecfc('0xc8')]=!![];}if(!_0x26fe81['interaction'][_0xecfc('0xc9')]){return;}return db[_0xecfc('0xca')]['find']({'attributes':['id',_0xecfc('0x2c')],'where':{'id':_0x26fe81[_0xecfc('0xba')][_0xecfc('0xc9')]}});})['then'](function(_0x2f5515){if(_0x2f5515){_0x26fe81[_0xecfc('0xad')][_0xecfc('0xc5')]({'id':0x0,'priority':0x1,'app':'queue','appdata':_0x2f5515[_0xecfc('0x2c')]+','+(_0x26fe81[_0xecfc('0xac')][_0xecfc('0xcb')]||0x12c),'interval':_0xecfc('0xc1')});}return respondWithRpcPromise('Start',_0xecfc('0xcc'),_0x26fe81);})[_0xecfc('0x15')](function(_0x20f982){respondWithRpcPromise('EventManager','EventManager',{'event':_0xecfc('0x96'),'message':_0x20f982},client9002);return _0x20f982;})[_0xecfc('0x15')](respondWithResult(_0x3d299b,null))[_0xecfc('0x1c')](APIHandleError(_0x3d299b));};exports[_0xecfc('0xcd')]=function(_0x20d59e,_0x518520){var _0x1928f5,_0x3a67fb,_0x4b88fe;var _0x5e05ba=[];var _0x156132={};var _0x38aa84=_0x20d59e['files']||[];var _0x55df0d=[];var _0x2db4d1;return db[_0xecfc('0x9d')][_0xecfc('0x6c')]()[_0xecfc('0x15')](function(_0x541895){if(!_0x541895){throw new db[(_0xecfc('0xce'))][(_0xecfc('0xcf'))](_0xecfc('0xd0'));}_0x5e05ba=_[_0xecfc('0xd1')](_[_0xecfc('0x4c')](_0x541895),['createdAt',_0xecfc('0xa1'),_0xecfc('0xa2'),_0xecfc('0xa3')]);if(_0x20d59e[_0xecfc('0x61')]['id']){delete _0x20d59e[_0xecfc('0x61')]['id'];}if(_[_0xecfc('0x86')](_0x20d59e[_0xecfc('0x61')][_0xecfc('0x98')])){throw _0x518520[_0xecfc('0x1e')](0x1f4)['send'](new db[(_0xecfc('0xce'))]['ValidationError'](_0xecfc('0xd2')));}if(_[_0xecfc('0x86')](_0x20d59e[_0xecfc('0x61')][_0xecfc('0x61')])||_0x20d59e['body'][_0xecfc('0x61')]===''){throw _0x518520['status'](0x1f4)[_0xecfc('0xd3')](new db[(_0xecfc('0xce'))]['ValidationError'](_0xecfc('0xd4')));}if(_[_0xecfc('0x86')](_0x20d59e['body']['mapKeyOffline'])){throw _0x518520[_0xecfc('0x1e')](0x1f4)['send'](new db[(_0xecfc('0xce'))][(_0xecfc('0xcf'))](_0xecfc('0xd5')+_0x5e05ba));}if(!_[_0xecfc('0xa0')](_0x5e05ba,_0x20d59e[_0xecfc('0x61')][_0xecfc('0xd6')])){throw _0x518520[_0xecfc('0x1e')](0x1f4)[_0xecfc('0xd3')](new db[(_0xecfc('0xce'))][(_0xecfc('0xcf'))](_0xecfc('0xd7')+_0x5e05ba));}_0x156132[_0x20d59e[_0xecfc('0x61')][_0xecfc('0xd6')]]=_0x20d59e[_0xecfc('0x61')][_0xecfc('0x98')];})[_0xecfc('0x15')](function(){return db[_0xecfc('0x47')][_0xecfc('0x60')]({'where':{'id':_0x20d59e['params']['id']},'include':[{'model':db[_0xecfc('0xa5')],'as':_0xecfc('0xa6')},{'model':db[_0xecfc('0xd8')],'as':'MailAccount'}]});})['then'](handleEntityNotFound(_0x518520,null))[_0xecfc('0x15')](function(_0x3fe02b){if(_0x3fe02b&&_0x3fe02b[_0xecfc('0xa6')]){_0x3a67fb=_0x3fe02b;var _0x373901=_[_0xecfc('0xb1')](_0x20d59e[_0xecfc('0x61')],{'firstName':_0x20d59e['body']['from'],'phone':_0x20d59e[_0xecfc('0x61')][_0xecfc('0x98')],'ListId':_0x3fe02b['ListId']});_0x373901[_0x20d59e['body']['mapKeyOffline']]=_0x20d59e[_0xecfc('0x61')][_0xecfc('0x98')];return db[_0xecfc('0x9d')][_0xecfc('0xd9')]({'where':_0x156132,'defaults':_0x373901});}})['spread'](function(_0x24a39b){if(_0x24a39b){_0x4b88fe=_0x24a39b;var _0x277b8f=fs[_0xecfc('0xda')](path[_0xecfc('0x80')](config['root'],_0xecfc('0xdb')),_0xecfc('0xdc'));var _0x48e2a2=ejs['render'](_0x277b8f,{'body':_[_0xecfc('0xdd')](_0x20d59e[_0xecfc('0x61')][_0xecfc('0x61')]),'bodyTitle':_0x3a67fb['offlineMessageBody']});return db[_0xecfc('0xde')]['create']({'body':_0x48e2a2,'plainBody':htmlToText['fromString'](_0x48e2a2),'ContactId':_0x24a39b['id'],'ChatWebsiteId':_0x3a67fb['id']});}})[_0xecfc('0x15')](function(_0x4d0609){_0x2db4d1=_0x4d0609;if(_0x38aa84[_0xecfc('0x5e')]){var _0x1a5629=_0x38aa84['map'](function(_0x42f136){return{'name':_0x42f136[_0xecfc('0xdf')],'basename':_0x42f136[_0xecfc('0x7a')],'type':_0x42f136[_0xecfc('0xe0')],'ChatOfflineMessageId':_0x4d0609['id']};});_0x55df0d=_0x1a5629[_0xecfc('0x46')](_0x1a89a5=>{var _0x2a5053={'filename':_0x1a89a5[_0xecfc('0x2c')],'path':path['join'](config[_0xecfc('0x81')],_0xecfc('0xe1'),_0xecfc('0xe2'),_0xecfc('0xe3'),_0xecfc('0xe4'),_0x1a89a5[_0xecfc('0xe5')])};return _0x2a5053;});if(!_0x3a67fb[_0xecfc('0xe6')]){return db[_0xecfc('0xe7')]['transaction'](function(_0x52bf92){return db['Attachment'][_0xecfc('0xe8')](_0x1a5629,{'transaction':_0x52bf92});});}}})[_0xecfc('0x15')](function(){if(_0x2db4d1){_0x1928f5=_0x2db4d1;return db[_0xecfc('0xd8')][_0xecfc('0x70')]({'where':{'service':!![]},'include':[{'model':db['MailServerOut'],'as':_0xecfc('0xe9'),'raw':!![],'include':[{'model':db[_0xecfc('0xea')],'as':'CloudProvider','raw':!![]}]}]});}})[_0xecfc('0x15')](function(_0x35055f){if(_0x35055f&&_0x35055f[_0xecfc('0xe9')]&&_0x3a67fb[_0xecfc('0xeb')]&&_0x3a67fb[_0xecfc('0xec')]){var _0x42d33d=_0x35055f[_0xecfc('0xed')]();return respondWithRpcPromise(_0xecfc('0xee'),_0xecfc('0xef'),{'account':_0x42d33d,'message':{'from':util['format'](_0xecfc('0xf0'),_0x35055f[_0xecfc('0x2c')],_0x35055f[_0xecfc('0xf1')]||_0x35055f['Smtp']['user']),'to':_0x3a67fb[_0xecfc('0xec')],'subject':_0x3a67fb[_0xecfc('0xf2')],'html':_0x1928f5['body'],'attachments':_0x55df0d}},client9003)[_0xecfc('0x15')](function(){return _0x1928f5;})['catch'](function(_0x3c2993){logger[_0xecfc('0x1a')](_0x3c2993);});}})[_0xecfc('0x15')](function(){if(_0x3a67fb&&_0x3a67fb['openNewInteraction']&&_0x3a67fb[_0xecfc('0xf3')]){var _0xcdc2bd=[];if(_0x38aa84['length']){_0xcdc2bd=_0x38aa84['map'](function(_0x384aa0){return{'name':_0x384aa0['originalname'],'basename':_0x384aa0[_0xecfc('0x7a')],'type':_0x384aa0[_0xecfc('0xe0')],'ChatOfflineMessageId':_0x2db4d1['id']};});}var _0x3ac5ee;if(!_[_0xecfc('0x86')](_0x3a67fb[_0xecfc('0xf4')])){var _0x406fa5=_[_0xecfc('0x46')](_0x20d59e[_0xecfc('0x61')],function(_0x2e92c3){return _0x2e92c3;});var _0x1f57b6=_[_0xecfc('0xf5')](_0x406fa5)[0x0];var _0x17b9f3=_[_0xecfc('0xf6')](_0x1f57b6,function(_0x55e97e){return _0x55e97e;});_0x3ac5ee=_0x17b9f3[0x1][_0x3a67fb[_0xecfc('0xf4')]];}var _0x4472eb={'from':_0x4b88fe[_0xecfc('0xf1')],'firstName':_0x4b88fe[_0xecfc('0x35')],'lastName':_0x4b88fe[_0xecfc('0x36')],'mapKey':_0xecfc('0xf1'),'message':{'from':_0x4b88fe[_0xecfc('0xf1')],'to':_0x3a67fb[_0xecfc('0xd8')]['email'],'cc':'','subject':_[_0xecfc('0x86')](_0x3ac5ee)?_0x3a67fb[_0xecfc('0xf2')]:_0x3ac5ee,'messageId':'','sentAt':new Date(),'attach':_0xcdc2bd[_0xecfc('0x5e')],'attachments':_0xcdc2bd,'originChannel':'Chat','ChatWebsiteId':_0x3a67fb['id'],'ChatOfflineMessageId':_0x1928f5['id'],'originTo':_0x3a67fb[_0xecfc('0xd8')][_0xecfc('0xf1')]},'body':_0x1928f5[_0xecfc('0x61')]};var _0x3e6edc={'account':{'id':_0x3a67fb[_0xecfc('0xf3')]},'body':_0x4472eb,'log':_0xecfc('0xf7')};return respondWithRpcPromise('NotifyMailAccount',_0xecfc('0xf8'),_0x3e6edc,client9001)['then'](function(){return _0x1928f5;})['catch'](function(_0x30da41){logger[_0xecfc('0x1a')](_0x30da41);});}return;})['then'](function(){if(_0x1928f5){return _0x1928f5;}})['then'](respondWithResult(_0x518520,null))['catch'](function(){for(var _0x347d17 of _0x38aa84){var _0x551f50=path[_0xecfc('0x80')](config[_0xecfc('0x81')],_0xecfc('0xe1'),_0xecfc('0xe2'),_0xecfc('0xe3'),_0xecfc('0xe4'),_0x347d17[_0xecfc('0x7a')]);fs_extra[_0xecfc('0xf9')](_0x551f50)[_0xecfc('0x1c')](function(_0x2ce679){logger[_0xecfc('0x1a')](_0xecfc('0xfa'),_0x551f50,_0x2ce679);});}});};exports[_0xecfc('0xfb')]=function(_0x3c761e,_0x12b973){return db['ChatInteraction'][_0xecfc('0x60')]({'where':{'id':_0x3c761e[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x12b973,null))[_0xecfc('0x15')](function(_0x4f3162){if(_0x4f3162){return _0x4f3162[_0xecfc('0xfb')](_0x3c761e[_0xecfc('0x61')][_0xecfc('0x73')],_['omit'](_0x3c761e['body'],['ids','id'])||{});}})['then'](respondWithResult(_0x12b973,null))['catch'](handleError(_0x12b973,null));};exports[_0xecfc('0xfc')]=function(_0x3b27ca,_0xc20cb2){var _0x35fb2f={'raw':![],'where':{}};var _0x3d83b9={};var _0x244268={'count':0x0,'rows':[]};return db['ChatWebsite'][_0xecfc('0x70')]({'where':{'id':_0x3b27ca[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0xc20cb2,null))[_0xecfc('0x15')](function(_0x70804a){if(_0x70804a){_0x3d83b9['model']=_[_0xecfc('0x4c')](db[_0xecfc('0xb6')][_0xecfc('0x48')]);_0x3d83b9['query']=_['keys'](_0x3b27ca[_0xecfc('0x4b')]);_0x3d83b9[_0xecfc('0x4d')]=_[_0xecfc('0x4e')](_0x3d83b9[_0xecfc('0x3e')],_0x3d83b9[_0xecfc('0x4b')]);_0x35fb2f[_0xecfc('0x4f')]=_[_0xecfc('0x4e')](_0x3d83b9[_0xecfc('0x3e')],qs[_0xecfc('0x50')](_0x3b27ca[_0xecfc('0x4b')][_0xecfc('0x50')]));_0x35fb2f['attributes']=_0x35fb2f[_0xecfc('0x4f')][_0xecfc('0x5e')]?_0x35fb2f[_0xecfc('0x4f')]:_0x3d83b9['model'];if(!_0x3b27ca[_0xecfc('0x4b')][_0xecfc('0x51')](_0xecfc('0x52'))){_0x35fb2f[_0xecfc('0x23')]=qs['limit'](_0x3b27ca[_0xecfc('0x4b')][_0xecfc('0x23')]);_0x35fb2f[_0xecfc('0x21')]=qs[_0xecfc('0x21')](_0x3b27ca[_0xecfc('0x4b')][_0xecfc('0x21')]);}_0x35fb2f[_0xecfc('0x53')]=qs[_0xecfc('0x54')](_0x3b27ca[_0xecfc('0x4b')][_0xecfc('0x54')]);_0x35fb2f[_0xecfc('0x55')]=qs['filters'](_['pick'](_0x3b27ca[_0xecfc('0x4b')],_0x3d83b9['filters']));_0x35fb2f[_0xecfc('0x55')]['ChatWebsiteId']=_0x70804a['id'];if(_0x3b27ca[_0xecfc('0x4b')][_0xecfc('0x57')]){_0x35fb2f[_0xecfc('0x55')]=_[_0xecfc('0x58')](_0x35fb2f['where'],{'$or':_[_0xecfc('0x46')](_0x35fb2f[_0xecfc('0x4f')],function(_0x439c6b){var _0x412efa={};_0x412efa[_0x439c6b]={'$like':'%'+_0x3b27ca[_0xecfc('0x4b')][_0xecfc('0x57')]+'%'};return _0x412efa;})});}_0x35fb2f=_['merge']({},_0x35fb2f,_0x3b27ca[_0xecfc('0x5f')]);return db[_0xecfc('0xb6')][_0xecfc('0x24')]({'where':_0x35fb2f[_0xecfc('0x55')]})[_0xecfc('0x15')](function(_0x1af69f){_0x244268[_0xecfc('0x24')]=_0x1af69f;if(_0x3b27ca[_0xecfc('0x4b')][_0xecfc('0x59')]){_0x35fb2f[_0xecfc('0x5a')]=[{'model':db[_0xecfc('0x9d')],'as':_0xecfc('0xfd'),'required':![]},{'model':db['User'],'as':_0xecfc('0xfe'),'attributes':[_0xecfc('0x2c'),_0xecfc('0xff'),_0xecfc('0x100')],'required':![]},{'model':db[_0xecfc('0x101')],'as':_0xecfc('0x102'),'attributes':['id','name','color'],'where':_0x3b27ca[_0xecfc('0x4b')]['tag']?{'id':_0x3b27ca[_0xecfc('0x4b')]['tag']}:undefined,'required':_0x3b27ca[_0xecfc('0x4b')][_0xecfc('0x103')]?!![]:![]}];}return db[_0xecfc('0xb6')][_0xecfc('0x71')](_0x35fb2f);})[_0xecfc('0x15')](function(_0x30d621){_0x244268[_0xecfc('0x5b')]=_0x30d621;return _0x244268;});}})[_0xecfc('0x15')](respondWithFilteredResult(_0xc20cb2,_0x35fb2f))[_0xecfc('0x1c')](handleError(_0xc20cb2,null));};exports[_0xecfc('0x104')]=function(_0x239dc8,_0x1a319c){var _0x47686e=0x0;var _0x10d3fc=0x0;var _0x2fdc18=![];var _0x159f48;var _0x357421;return db[_0xecfc('0x47')]['find']({'where':{'id':_0x239dc8[_0xecfc('0x5d')]['id']},'include':[{'model':db['Interval'],'as':_0xecfc('0x92'),'include':[{'model':db[_0xecfc('0x92')],'as':_0xecfc('0x105'),'attributes':['id',_0xecfc('0x106')]}]}]})[_0xecfc('0x15')](handleEntityNotFound(_0x1a319c,null))[_0xecfc('0x15')](function(_0x2909d6){if(_0x2909d6){_0x159f48=_0x2909d6;return _0x2909d6['getProactiveActions']({'raw':!![]});}})[_0xecfc('0x15')](function(_0x4098e4){if(_0x159f48){if(_0x4098e4){_0x357421=_0x4098e4;}}return require('../../config/license/util')[_0xecfc('0x84')]();})['then'](function(_0x56c7ea){if(_0x56c7ea){_0x10d3fc=_0x56c7ea[_0xecfc('0x107')];_0x2fdc18=_0x56c7ea[_0xecfc('0x85')];}})[_0xecfc('0x15')](function(){return db[_0xecfc('0xb6')]['count']({'where':{'closed':![]}});})['then'](function(_0x4c2b43){_0x47686e=_0x4c2b43;if(_0x10d3fc&&_0x4c2b43>_0x10d3fc){return db['License']['findOne']({'where':{'id':0x1}})[_0xecfc('0x15')](function(_0x4505d4){if(_0x4505d4){_0x4505d4['increment'](_0xecfc('0x108'));}});}})[_0xecfc('0x15')](function(){var _0x55c011=_0x159f48[_0xecfc('0x92')];var _0x15f9d0=_0x159f48[_0xecfc('0x94')]||undefined;return _0x55c011?_0x55c011[_0xecfc('0x95')](_0x15f9d0):!![];})[_0xecfc('0x15')](function(_0x58ba8e){var _0x1c652c=fs[_0xecfc('0xda')](path['join'](config[_0xecfc('0x81')],_0xecfc('0x109')),_0xecfc('0xdc'));var _0xb6dbfe=_0xecfc('0x10a');var _0x5c26a0=![];try{const _0x45b6e3=new URL(_0x159f48[_0xecfc('0x62')]);_0x159f48[_0xecfc('0x62')]=_0x45b6e3[_0xecfc('0x10b')];}catch(_0x35dc73){}var _0x168357;if(_0x239dc8[_0xecfc('0xb3')][_0xecfc('0xb7')]){_0x239dc8[_0xecfc('0xb3')][_0xecfc('0xb7')]=_0x239dc8['headers'][_0xecfc('0xb7')][_0xecfc('0x10c')](/\/$/,'');_0x168357=wildcardUtils[_0xecfc('0x10d')](_0x159f48[_0xecfc('0x62')],_0x239dc8[_0xecfc('0xb3')][_0xecfc('0xb7')]);}else{_0x239dc8['headers']['referer']=_0x159f48['address'];_0x168357=!![];}var _0x1e807e={'chatVersion':_0xb6dbfe,'chatWebsiteAddressOrigin':_0x168357?_0x239dc8[_0xecfc('0xb3')][_0xecfc('0xb7')]:_0x159f48[_0xecfc('0x62')],'remote':_0x159f48[_0xecfc('0x10e')],'query':querystring['stringify'](_['merge'](_0x159f48[_0xecfc('0x28')]({'plain':!![]}),{'customerIp':_0x239dc8[_0xecfc('0xb3')][_0xecfc('0x33')]||_0x239dc8[_0xecfc('0xb3')]['x-real-ip']||_0x239dc8[_0xecfc('0x10f')][_0xecfc('0x110')]||_0x239dc8['ip'],'referer':_0x239dc8[_0xecfc('0xb3')][_0xecfc('0xb7')],'openedInteractions':_0x47686e,'maxInteractions':_0x10d3fc,'virtual':_0x2fdc18[_0xecfc('0x107')],'online':_0x58ba8e,'custom':_0x2fdc18,'address':_0x168357?_0x239dc8[_0xecfc('0xb3')][_0xecfc('0xb7')]:null}))[_0xecfc('0x10c')](/'/g,'\x5c\x27')};_0x1a319c[_0xecfc('0xd3')](ejs[_0xecfc('0x111')](Mustache[_0xecfc('0x111')](_0x1c652c,_0x1e807e),{'proactiveActions':_0x357421,'alignment':_0x159f48[_0xecfc('0x112')],'verticalAlignment':_0x159f48[_0xecfc('0x113')],'div_color':_0x159f48[_0xecfc('0x114')],'labelText':_0x159f48['labelText'],'text_color':_0x159f48[_0xecfc('0x115')],'text_button_color':_0x159f48[_0xecfc('0x116')],'button_color':_0x159f48['color_button'],'background_color':_0x159f48[_0xecfc('0x117')],'hideWhenOffline':_0x159f48[_0xecfc('0x118')],'intervalId':_0x159f48['IntervalId'],'isDevelopment':_0x5c26a0,'chatVersion':_0xb6dbfe}));})[_0xecfc('0x1c')](handleError(_0x1a319c,null));};exports[_0xecfc('0x119')]=function(_0x1993d0,_0x4ea016){var _0x35cdc0=_0x1993d0[_0xecfc('0x5d')]['id'];var _0x342f4c=_0x1993d0['body'];var _0x2ad29c=0xc8;var _0xbecb73=null;return db[_0xecfc('0xe7')][_0xecfc('0x11a')]({'isolationLevel':db[_0xecfc('0xe7')][_0xecfc('0x11b')]['ISOLATION_LEVELS']['READ_COMMITTED']},function(_0x122978){return db[_0xecfc('0x47')][_0xecfc('0x70')]({'where':{'id':_0x35cdc0},'transaction':_0x122978})[_0xecfc('0x15')](function(_0x50ca33){if(_0x50ca33){return db[_0xecfc('0xa9')][_0xecfc('0x27')]({'where':{'ChatWebsiteId':_0x35cdc0},'transaction':_0x122978})[_0xecfc('0x15')](function(){var _0x5ac590=_[_0xecfc('0x46')](_0x342f4c,function(_0x426032){_0x426032[_0xecfc('0x6d')]=_0x35cdc0;return _0x426032;});return db[_0xecfc('0xa9')][_0xecfc('0xe8')](_0x5ac590,{'transaction':_0x122978});});}else{_0x2ad29c=0x194;_0xbecb73=[];}});})[_0xecfc('0x15')](function(){if(_0x2ad29c!==0x194){return db['ChatApplication'][_0xecfc('0x11c')]({'where':{'ChatWebsiteId':_0x35cdc0},'order':_0xecfc('0x11d')})[_0xecfc('0x15')](function(_0x33c2ab){_0xbecb73=_0x33c2ab;});}})[_0xecfc('0x1c')](function(_0x2405b4){_0x2ad29c=0x1f4;logger[_0xecfc('0x1a')](_0x2405b4[_0xecfc('0x2b')]);if(_0x2405b4[_0xecfc('0x2c')]){delete _0x2405b4[_0xecfc('0x2c')];}_0xbecb73=_0x2405b4;})[_0xecfc('0x11e')](function(){if(_0xbecb73===null){_0x4ea016[_0xecfc('0x1d')](_0x2ad29c);}else{if(_0x2ad29c===0x1f4){_0x4ea016[_0xecfc('0x1e')](_0x2ad29c)[_0xecfc('0xd3')](_0xbecb73);}else{_0x4ea016[_0xecfc('0x1e')](_0x2ad29c)[_0xecfc('0x20')](_0xbecb73);}}});};exports[_0xecfc('0x11f')]=function(_0x30d0aa,_0x34f345){var _0x396bb1={};var _0x364a4e={};var _0x5a916b;var _0x5b15b0;return db['ChatWebsite'][_0xecfc('0x70')]({'where':{'id':_0x30d0aa[_0xecfc('0x5d')]['id']}})['then'](handleEntityNotFound(_0x34f345,null))[_0xecfc('0x15')](function(_0x2bfc22){if(_0x2bfc22){_0x5a916b=_0x2bfc22;_0x364a4e[_0xecfc('0x3e')]=_[_0xecfc('0x4c')](db[_0xecfc('0xa9')][_0xecfc('0x48')]);_0x364a4e[_0xecfc('0x4b')]=_[_0xecfc('0x4c')](_0x30d0aa[_0xecfc('0x4b')]);_0x364a4e[_0xecfc('0x4d')]=_[_0xecfc('0x4e')](_0x364a4e[_0xecfc('0x3e')],_0x364a4e[_0xecfc('0x4b')]);_0x396bb1['attributes']=_[_0xecfc('0x4e')](_0x364a4e['model'],qs['fields'](_0x30d0aa[_0xecfc('0x4b')][_0xecfc('0x50')]));_0x396bb1[_0xecfc('0x4f')]=_0x396bb1[_0xecfc('0x4f')]['length']?_0x396bb1[_0xecfc('0x4f')]:_0x364a4e['model'];_0x396bb1['order']=qs['sort'](_0x30d0aa['query'][_0xecfc('0x54')]);_0x396bb1[_0xecfc('0x55')]=qs[_0xecfc('0x4d')](_[_0xecfc('0x56')](_0x30d0aa[_0xecfc('0x4b')],_0x364a4e[_0xecfc('0x4d')]));if(_0x30d0aa[_0xecfc('0x4b')][_0xecfc('0x57')]){_0x396bb1[_0xecfc('0x55')]=_[_0xecfc('0x58')](_0x396bb1['where'],{'$or':_[_0xecfc('0x46')](_0x396bb1[_0xecfc('0x4f')],function(_0x38a24c){var _0x2e3ce8={};_0x2e3ce8[_0x38a24c]={'$like':'%'+_0x30d0aa[_0xecfc('0x4b')][_0xecfc('0x57')]+'%'};return _0x2e3ce8;})});}_0x396bb1=_[_0xecfc('0x58')]({},_0x396bb1,_0x30d0aa[_0xecfc('0x5f')]);return _0x5a916b[_0xecfc('0x11f')](_0x396bb1);}})['then'](function(_0x2b44af){if(_0x2b44af){_0x5b15b0=_0x2b44af[_0xecfc('0x5e')];if(!_0x30d0aa[_0xecfc('0x4b')][_0xecfc('0x51')](_0xecfc('0x52'))){_0x396bb1['limit']=qs[_0xecfc('0x23')](_0x30d0aa['query'][_0xecfc('0x23')]);_0x396bb1[_0xecfc('0x21')]=qs[_0xecfc('0x21')](_0x30d0aa[_0xecfc('0x4b')]['offset']);}return _0x5a916b[_0xecfc('0x11f')](_0x396bb1);}})[_0xecfc('0x15')](function(_0xaeb550){if(_0xaeb550){return _0xaeb550?{'count':_0x5b15b0,'rows':_0xaeb550}:null;}})[_0xecfc('0x15')](respondWithResult(_0x34f345,null))['catch'](handleError(_0x34f345,null));};exports['addProactiveActions']=function(_0x31b0b1,_0xfc8115){return db[_0xecfc('0x120')]['find']({'where':{'id':_0x31b0b1[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0xfc8115,null))['then'](function(_0x5957cc){if(_0x5957cc){return _0x5957cc[_0xecfc('0x121')](_0x31b0b1[_0xecfc('0x61')][_0xecfc('0x73')],_[_0xecfc('0x122')](_0x31b0b1['body'],['ids','id'])||{});}})[_0xecfc('0x15')](respondWithResult(_0xfc8115,null))[_0xecfc('0x1c')](handleError(_0xfc8115,null));};exports[_0xecfc('0x123')]=function(_0x234a9e,_0x29dcb1){var _0x14da84={};var _0x3876a6={};var _0x280c7e;var _0x353f19;return db['ChatWebsite']['findOne']({'where':{'id':_0x234a9e['params']['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x29dcb1,null))[_0xecfc('0x15')](function(_0x16c867){if(_0x16c867){_0x280c7e=_0x16c867;_0x3876a6[_0xecfc('0x3e')]=_[_0xecfc('0x4c')](db['ChatProactiveAction'][_0xecfc('0x48')]);_0x3876a6[_0xecfc('0x4b')]=_[_0xecfc('0x4c')](_0x234a9e[_0xecfc('0x4b')]);_0x3876a6[_0xecfc('0x4d')]=_[_0xecfc('0x4e')](_0x3876a6['model'],_0x3876a6[_0xecfc('0x4b')]);_0x14da84[_0xecfc('0x4f')]=_[_0xecfc('0x4e')](_0x3876a6['model'],qs[_0xecfc('0x50')](_0x234a9e['query']['fields']));_0x14da84['attributes']=_0x14da84['attributes']['length']?_0x14da84[_0xecfc('0x4f')]:_0x3876a6[_0xecfc('0x3e')];_0x14da84[_0xecfc('0x53')]=qs['sort'](_0x234a9e[_0xecfc('0x4b')][_0xecfc('0x54')]);_0x14da84[_0xecfc('0x55')]=qs[_0xecfc('0x4d')](_[_0xecfc('0x56')](_0x234a9e[_0xecfc('0x4b')],_0x3876a6[_0xecfc('0x4d')]));if(_0x234a9e[_0xecfc('0x4b')][_0xecfc('0x57')]){_0x14da84[_0xecfc('0x55')]=_[_0xecfc('0x58')](_0x14da84[_0xecfc('0x55')],{'$or':_[_0xecfc('0x46')](_0x14da84[_0xecfc('0x4f')],function(_0x37edd8){var _0x52c095={};_0x52c095[_0x37edd8]={'$like':'%'+_0x234a9e[_0xecfc('0x4b')]['filter']+'%'};return _0x52c095;})});}_0x14da84=_[_0xecfc('0x58')]({},_0x14da84,_0x234a9e['options']);return _0x280c7e[_0xecfc('0x123')](_0x14da84);}})['then'](function(_0x40a2a9){if(_0x40a2a9){_0x353f19=_0x40a2a9[_0xecfc('0x5e')];if(!_0x234a9e[_0xecfc('0x4b')][_0xecfc('0x51')]('nolimit')){_0x14da84[_0xecfc('0x23')]=qs[_0xecfc('0x23')](_0x234a9e[_0xecfc('0x4b')]['limit']);_0x14da84[_0xecfc('0x21')]=qs[_0xecfc('0x21')](_0x234a9e[_0xecfc('0x4b')][_0xecfc('0x21')]);}return _0x280c7e['getProactiveActions'](_0x14da84);}})['then'](function(_0x5bde02){if(_0x5bde02){return _0x5bde02?{'count':_0x353f19,'rows':_0x5bde02}:null;}})['then'](respondWithResult(_0x29dcb1,null))[_0xecfc('0x1c')](handleError(_0x29dcb1,null));};exports[_0xecfc('0x124')]=function(_0x2e379e,_0x29cf62){var _0x37981a=_0x2e379e[_0xecfc('0x4b')][_0xecfc('0x125')]===_0xecfc('0x126')?_0xecfc('0x127'):'onlineForm';return db[_0xecfc('0x47')]['find']({'attributes':['id',_0x37981a],'where':{'id':_0x2e379e[_0xecfc('0x5d')]['id']}})['then'](handleEntityNotFound(_0x29cf62,null))[_0xecfc('0x15')](function(_0x198c44){if(_0x198c44){var _0xc3e118=_0x198c44[_0x37981a];var _0x489fb6=_0xc3e118&&_0xc3e118[_0xecfc('0x128')]?_0xc3e118[_0xecfc('0x128')]:[];_0x29cf62['send']({'fromKey':_[_0xecfc('0x86')](_0xc3e118[_0xecfc('0x129')])?undefined:_0xc3e118['fromKey'],'count':_0x489fb6[_0xecfc('0x5e')],'rows':_0x489fb6});}})[_0xecfc('0x1c')](handleError(_0x29cf62,null));};exports[_0xecfc('0x12a')]=function(_0x5df7b2,_0x4fa67b){var _0x3d9e75={'raw':![],'where':{}};var _0x5d84fd={};var _0x129684={'count':0x0,'rows':[]};return db[_0xecfc('0x47')][_0xecfc('0x70')]({'where':{'id':_0x5df7b2[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x4fa67b,null))[_0xecfc('0x15')](function(_0x128aac){if(_0x128aac){_0x5d84fd[_0xecfc('0x3e')]=_['keys'](db[_0xecfc('0xde')]['rawAttributes']);_0x5d84fd['query']=_[_0xecfc('0x4c')](_0x5df7b2[_0xecfc('0x4b')]);_0x5d84fd[_0xecfc('0x4d')]=_[_0xecfc('0x4e')](_0x5d84fd[_0xecfc('0x3e')],_0x5d84fd[_0xecfc('0x4b')]);_0x3d9e75['attributes']=_[_0xecfc('0x4e')](_0x5d84fd[_0xecfc('0x3e')],qs['fields'](_0x5df7b2[_0xecfc('0x4b')][_0xecfc('0x50')]));_0x3d9e75[_0xecfc('0x4f')]=_0x3d9e75[_0xecfc('0x4f')][_0xecfc('0x5e')]?_0x3d9e75[_0xecfc('0x4f')]:_0x5d84fd[_0xecfc('0x3e')];if(!_0x5df7b2[_0xecfc('0x4b')][_0xecfc('0x51')]('nolimit')){_0x3d9e75['limit']=qs[_0xecfc('0x23')](_0x5df7b2[_0xecfc('0x4b')][_0xecfc('0x23')]);_0x3d9e75[_0xecfc('0x21')]=qs[_0xecfc('0x21')](_0x5df7b2[_0xecfc('0x4b')][_0xecfc('0x21')]);}_0x3d9e75[_0xecfc('0x53')]=qs[_0xecfc('0x54')](_0x5df7b2[_0xecfc('0x4b')][_0xecfc('0x54')]);_0x3d9e75[_0xecfc('0x55')]=qs[_0xecfc('0x4d')](_[_0xecfc('0x56')](_0x5df7b2[_0xecfc('0x4b')],_0x5d84fd['filters']));_0x3d9e75[_0xecfc('0x55')]['ChatWebsiteId']=_0x128aac['id'];if(_0x5df7b2[_0xecfc('0x4b')][_0xecfc('0x57')]){_0x3d9e75[_0xecfc('0x55')]=_['merge'](_0x3d9e75['where'],{'$or':_[_0xecfc('0x46')](_0x3d9e75[_0xecfc('0x4f')],function(_0xa982e1){var _0x5a9103={};_0x5a9103[_0xa982e1]={'$like':'%'+_0x5df7b2[_0xecfc('0x4b')][_0xecfc('0x57')]+'%'};return _0x5a9103;})});}_0x3d9e75=_[_0xecfc('0x58')]({},_0x3d9e75,_0x5df7b2['options']);return db['ChatOfflineMessage'][_0xecfc('0x24')]({'where':_0x3d9e75[_0xecfc('0x55')]})[_0xecfc('0x15')](function(_0x21fe38){_0x129684[_0xecfc('0x24')]=_0x21fe38;if(_0x5df7b2[_0xecfc('0x4b')][_0xecfc('0x59')]){_0x3d9e75['include']=[{'all':!![]}];}else{_0x3d9e75[_0xecfc('0x5a')]=[{'model':db[_0xecfc('0x9d')],'as':'Contact','required':![]},{'model':db['Attachment'],'as':_0xecfc('0x12b'),'required':![]}];}return db[_0xecfc('0xde')]['findAll'](_0x3d9e75);})[_0xecfc('0x15')](function(_0x18d5b2){_0x129684['rows']=_0x18d5b2;return _0x129684;});}})[_0xecfc('0x15')](respondWithFilteredResult(_0x4fa67b,_0x3d9e75))[_0xecfc('0x1c')](handleError(_0x4fa67b,null));};exports[_0xecfc('0x12c')]=function(_0x24cfe5,_0x3797f7){return db[_0xecfc('0x47')]['find']({'where':{'id':_0x24cfe5['params']['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x3797f7,null))[_0xecfc('0x15')](function(_0x45251c){if(_0x45251c){return _0x45251c[_0xecfc('0x12c')](_0x24cfe5[_0xecfc('0x61')][_0xecfc('0x73')],_[_0xecfc('0x122')](_0x24cfe5['body'],['ids','id'])||{})['spread'](function(_0x448a05){for(var _0x407dc6=0x0;_0x407dc6<_0x24cfe5[_0xecfc('0x61')][_0xecfc('0x73')]['length'];_0x407dc6+=0x1){socket[_0xecfc('0x12d')](_0xecfc('0x12e'),{'UserId':Number(_0x24cfe5[_0xecfc('0x61')]['ids'][_0x407dc6]),'ChatWebsiteId':Number(_0x24cfe5['params']['id'])});}return _0x448a05;});}})['then'](respondWithResult(_0x3797f7,null))['catch'](handleError(_0x3797f7,null));};exports[_0xecfc('0x12f')]=function(_0x5303b3,_0x542774){return db['ChatWebsite']['find']({'where':{'id':_0x5303b3[_0xecfc('0x5d')]['id']}})[_0xecfc('0x15')](handleEntityNotFound(_0x542774,null))[_0xecfc('0x15')](function(_0x387f0c){if(_0x387f0c){return _0x387f0c[_0xecfc('0x12f')](_0x5303b3[_0xecfc('0x4b')][_0xecfc('0x73')])['then'](function(){if(_[_0xecfc('0x130')](_0x5303b3[_0xecfc('0x4b')]['ids'])){for(var _0x486bee=0x0;_0x486bee<_0x5303b3[_0xecfc('0x4b')][_0xecfc('0x73')][_0xecfc('0x5e')];_0x486bee+=0x1){socket[_0xecfc('0x12d')](_0xecfc('0x131'),{'UserId':Number(_0x5303b3[_0xecfc('0x4b')][_0xecfc('0x73')][_0x486bee]),'ChatWebsiteId':Number(_0x5303b3['params']['id'])});}}else{socket['emit'](_0xecfc('0x131'),{'UserId':Number(_0x5303b3[_0xecfc('0x4b')][_0xecfc('0x73')]),'ChatWebsiteId':Number(_0x5303b3['params']['id'])});}});}})[_0xecfc('0x15')](respondWithStatusCode(_0x542774,null))[_0xecfc('0x1c')](handleError(_0x542774,null));};exports['getAgents']=function(_0x8e181,_0x29d989){var _0x5216dd={};var _0x392eac={};var _0x265359;var _0xe13dc8;return db[_0xecfc('0x47')][_0xecfc('0x70')]({'where':{'id':_0x8e181['params']['id']}})['then'](handleEntityNotFound(_0x29d989,null))[_0xecfc('0x15')](function(_0x557446){if(_0x557446){_0x265359=_0x557446;_0x392eac[_0xecfc('0x3e')]=_[_0xecfc('0x4c')](db[_0xecfc('0x132')]['rawAttributes']);_0x392eac[_0xecfc('0x4b')]=_[_0xecfc('0x4c')](_0x8e181[_0xecfc('0x4b')]);_0x392eac[_0xecfc('0x4d')]=_[_0xecfc('0x4e')](_0x392eac[_0xecfc('0x3e')],_0x392eac[_0xecfc('0x4b')]);_0x5216dd[_0xecfc('0x4f')]=_['intersection'](_0x392eac[_0xecfc('0x3e')],qs[_0xecfc('0x50')](_0x8e181[_0xecfc('0x4b')][_0xecfc('0x50')]));_0x5216dd[_0xecfc('0x4f')]=_0x5216dd[_0xecfc('0x4f')][_0xecfc('0x5e')]?_0x5216dd[_0xecfc('0x4f')]:_0x392eac[_0xecfc('0x3e')];_0x5216dd[_0xecfc('0x53')]=qs['sort'](_0x8e181[_0xecfc('0x4b')][_0xecfc('0x54')]);_0x5216dd[_0xecfc('0x55')]=qs[_0xecfc('0x4d')](_[_0xecfc('0x56')](_0x8e181[_0xecfc('0x4b')],_0x392eac[_0xecfc('0x4d')]));if(_0x8e181[_0xecfc('0x4b')]['filter']){_0x5216dd[_0xecfc('0x55')]=_[_0xecfc('0x58')](_0x5216dd[_0xecfc('0x55')],{'$or':_[_0xecfc('0x46')](_0x5216dd[_0xecfc('0x4f')],function(_0x3cc970){var _0x39f620={};_0x39f620[_0x3cc970]={'$like':'%'+_0x8e181[_0xecfc('0x4b')][_0xecfc('0x57')]+'%'};return _0x39f620;})});}_0x5216dd=_[_0xecfc('0x58')]({},_0x5216dd,_0x8e181[_0xecfc('0x5f')]);return _0x265359[_0xecfc('0x133')](_0x5216dd);}})[_0xecfc('0x15')](function(_0x4a0b0e){if(_0x4a0b0e){_0xe13dc8=_0x4a0b0e['length'];if(!_0x8e181['query'][_0xecfc('0x51')]('nolimit')){_0x5216dd[_0xecfc('0x23')]=qs[_0xecfc('0x23')](_0x8e181['query'][_0xecfc('0x23')]);_0x5216dd['offset']=qs[_0xecfc('0x21')](_0x8e181[_0xecfc('0x4b')][_0xecfc('0x21')]);}return _0x265359['getAgents'](_0x5216dd);}})[_0xecfc('0x15')](function(_0x2176b2){if(_0x2176b2){return _0x2176b2?{'count':_0xe13dc8,'rows':_0x2176b2}:null;}})[_0xecfc('0x15')](respondWithResult(_0x29d989,null))[_0xecfc('0x1c')](handleError(_0x29d989,null));};