a16c7f76264a40482bf21a47a4a4c2176fba2ff5
[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 _0xfa3f=['originalname','mimetype','server','attachments','offline-chat','basename','openNewInteraction','Attachment','Smtp','CloudProvider','getSmtpOptions','SendMail','\x22%s\x22\x20<%s>','email','offlineMessageSubject','MailAccountId','toPairsIn','mapValues','subjectOffline','firstName','Chat','NotifyMailAccount','notifyMail','Could\x20not\x20remove\x20attachment\x20file','addInteraction','omit','Contact','internal','Tags','color','tag','getSnippet','timezone','iftime\x20%s,%s','interval','iftime\x20%s','true','[%s][INTERVAL][%s]\x20%s\x20%s\x20(%s)','ONLINE','OFFLINE','No\x20timezone','inspect','Interval','getProactiveActions','virtual','License','increment','chatLicenseExceeded','Intervals','some','utf8','remote','x-forwarded-for','x-real-ip','connection','replace','render','alignment','verticalAlignment','labelText','textColor','color_button','backgroundColor','hideWhenOffline','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','ChatApplication','bulkCreate','findAndCountAll','stack','finally','getApplications','addProactiveActions','chatProactiveAction','ChatProactiveAction','getFields','online','false','items','fromKey','getOfflineMessages','addAgents','emit','userChatWebsite:save','removeAgents','isArray','userChatWebsite:remove','getAgents','bluebird','util','path','ejs','fs-extra','lodash','querystring','../../components/parsers/qs','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatWebsite.socket','register','html-to-text','jayson/promise','client','http','request','info','ChatWebsite,\x20%s,\x20%s','request\x20sent','debug','ChatWebsite,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','update','then','destroy','get','ChatWebsites','UserProfileResource','name','send','index','Pause','mandatoryDispositionPause','map','rawAttributes','type','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','ChatWebsite','includeAll','include','findAll','rows','show','params','length','merge','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','ChatWebsiteId','Disposition','getDispositions','findOne','removeDispositions','CannedAnswer','getAnswers','ids','addLogo','file','addAvatar','agentAvatar','filename','addSystemAvatar','systemAvatar','getLogo','join','root','server/files/images/logos/default_logo.svg','sitepic','../../config/license/util','getLicense','custom','isNil','existsSync','server/files/images/logos/','download','server/files/images/avatars/default_avatar.png','server/files/images/avatars/','getCustomerAvatar','server/files/images/avatars/customer_avatar.png','customerAvatar','server/files/images/avatars/system_avatar.png','user-agent-parser','setUA','headers','user-agent','chat','CmContact','no\x20available\x20attributes','difference','createdAt','updatedAt','ListId','from','Sequelize','ValidationError','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','CmList','Contacts','DESC','List','account','applications','Applications','list','orderBy','priority','asc','contact','customerIp','cf-connecting-ip','x-real-port','referer','browser','version','format','%s\x20%s','unknown','device','threadId','ChatInteraction','externalUrl','ContactId','interaction','spread','lastName','messageId','created','autoclose','push','close','*,*,*,*','ChatMessage','AttachmentId','UserId','User','unshift','agent','waitForTheAssignedAgent','forcedOwnership','Start','startRouting','EventManager','notify','offline','files','CompanyId','from\x20is\x20mandatory','mapKeyOffline\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKeyOffline','MailAccount','findOrCreate','readFileSync','server/files/templates/chatOfflineMessage.ejs','offlineMessageBody','ChatOfflineMessage','fromString'];(function(_0xbca1b1,_0x33f0ce){var _0x4e1686=function(_0x58a80c){while(--_0x58a80c){_0xbca1b1['push'](_0xbca1b1['shift']());}};_0x4e1686(++_0x33f0ce);}(_0xfa3f,0x181));var _0xffa3=function(_0x42be85,_0x3de727){_0x42be85=_0x42be85-0x0;var _0x5a9f5e=_0xfa3f[_0x42be85];return _0x5a9f5e;};'use strict';var BPromise=require(_0xffa3('0x0'));var Mustache=require('mustache');var util=require(_0xffa3('0x1'));var path=require(_0xffa3('0x2'));var ejs=require(_0xffa3('0x3'));var fs=require('fs');var fs_extra=require(_0xffa3('0x4'));var _=require(_0xffa3('0x5'));var querystring=require(_0xffa3('0x6'));var Redis=require('ioredis');var qs=require(_0xffa3('0x7'));var logger=require('../../config/logger')(_0xffa3('0x8'));var config=require('../../config/environment');var db=require(_0xffa3('0x9'))['db'];config[_0xffa3('0xa')]=_[_0xffa3('0xb')](config['redis'],{'host':_0xffa3('0xc'),'port':0x18eb});var socket=require(_0xffa3('0xd'))(new Redis(config['redis']));require(_0xffa3('0xe'))[_0xffa3('0xf')](socket);var htmlToText=require(_0xffa3('0x10'));var jayson=require(_0xffa3('0x11'));var client=jayson[_0xffa3('0x12')]['http']({'port':0x232c});var client9002=jayson['client'][_0xffa3('0x13')]({'port':0x232a});var client9003=jayson[_0xffa3('0x12')][_0xffa3('0x13')]({'port':0x232b});var client9001=jayson[_0xffa3('0x12')][_0xffa3('0x13')]({'port':0x2329});function respondWithRpcPromise(_0x24ea58,_0x417338,_0x41ac85,_0x25e001){return new BPromise(function(_0x5c53aa,_0x55ebbb){var _0x4922c7=_0x25e001||client;return _0x4922c7[_0xffa3('0x14')](_0x24ea58,_0x41ac85)['then'](function(_0x5beae){logger[_0xffa3('0x15')](_0xffa3('0x16'),_0x417338,_0xffa3('0x17'));logger[_0xffa3('0x18')](_0xffa3('0x19'),_0x417338,_0xffa3('0x17'),JSON[_0xffa3('0x1a')](_0x5beae));if(_0x5beae['error']){if(_0x5beae[_0xffa3('0x1b')][_0xffa3('0x1c')]===0x1f4){logger['error'](_0xffa3('0x16'),_0x417338,_0x5beae[_0xffa3('0x1b')][_0xffa3('0x1d')]);return _0x55ebbb(_0x5beae[_0xffa3('0x1b')][_0xffa3('0x1d')]);}logger['error'](_0xffa3('0x16'),_0x417338,_0x5beae[_0xffa3('0x1b')]['message']);return _0x5c53aa(_0x5beae[_0xffa3('0x1b')][_0xffa3('0x1d')]);}else{logger[_0xffa3('0x15')](_0xffa3('0x16'),_0x417338,_0xffa3('0x17'));_0x5c53aa(_0x5beae['result']['message']);}})[_0xffa3('0x1e')](function(_0x519cc6){logger[_0xffa3('0x1b')]('ChatWebsite,\x20%s,\x20%s',_0x417338,_0x519cc6);_0x55ebbb(_0x519cc6);});});}function respondWithStatusCode(_0x391e65,_0x20e0d3){_0x20e0d3=_0x20e0d3||0xcc;return function(_0x21e09b){if(_0x21e09b){return _0x391e65[_0xffa3('0x1f')](_0x20e0d3);}return _0x391e65[_0xffa3('0x20')](_0x20e0d3)[_0xffa3('0x21')]();};}function respondWithResult(_0x277ba8,_0xbf33d){_0xbf33d=_0xbf33d||0xc8;return function(_0x389ccd){if(_0x389ccd){return _0x277ba8['status'](_0xbf33d)[_0xffa3('0x22')](_0x389ccd);}};}function respondWithFilteredResult(_0x35d64a,_0x49a6e5){return function(_0x707e97){if(_0x707e97){var _0x3a4ee0=typeof _0x49a6e5[_0xffa3('0x23')]===_0xffa3('0x24')&&typeof _0x49a6e5[_0xffa3('0x25')]===_0xffa3('0x24');var _0x5e0a1a=_0x707e97[_0xffa3('0x26')];var _0xa7239d=_0x3a4ee0?0x0:_0x49a6e5[_0xffa3('0x23')];var _0x5b8613=_0x3a4ee0?_0x707e97[_0xffa3('0x26')]:_0x49a6e5['offset']+_0x49a6e5[_0xffa3('0x25')];var _0x5c0204;if(_0x5b8613>=_0x5e0a1a){_0x5b8613=_0x5e0a1a;_0x5c0204=0xc8;}else{_0x5c0204=0xce;}_0x35d64a[_0xffa3('0x20')](_0x5c0204);return _0x35d64a['set'](_0xffa3('0x27'),_0xa7239d+'-'+_0x5b8613+'/'+_0x5e0a1a)[_0xffa3('0x22')](_0x707e97);}return null;};}function saveUpdates(_0x22a620){return function(_0x56ee69){if(_0x56ee69){return _0x56ee69[_0xffa3('0x28')](_0x22a620)[_0xffa3('0x29')](function(_0x4192f1){return _0x4192f1;});}return null;};}function removeEntity(_0x219e55){return function(_0x494869){if(_0x494869){return _0x494869[_0xffa3('0x2a')]()[_0xffa3('0x29')](function(){var _0x8fc5da=_0x494869[_0xffa3('0x2b')]({'plain':!![]});var _0x13d169=_0xffa3('0x2c');return db[_0xffa3('0x2d')][_0xffa3('0x2a')]({'where':{'type':_0x13d169,'resourceId':_0x8fc5da['id']}})[_0xffa3('0x29')](function(){return _0x494869;});})[_0xffa3('0x29')](function(){_0x219e55[_0xffa3('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x414f9a){return function(_0x2698b6){if(!_0x2698b6){_0x414f9a[_0xffa3('0x1f')](0x194);}return _0x2698b6;};}function handleError(_0x280a5e,_0x5ba40e){_0x5ba40e=_0x5ba40e||0x1f4;return function(_0x26b451){logger['error'](_0x26b451['stack']);if(_0x26b451[_0xffa3('0x2e')]){delete _0x26b451[_0xffa3('0x2e')];}_0x280a5e['status'](_0x5ba40e)[_0xffa3('0x2f')](_0x26b451);};}exports[_0xffa3('0x30')]=function(_0x41f820,_0x5273d2){var _0xce3d87={'include':[{'model':db[_0xffa3('0x31')],'as':_0xffa3('0x32')}]},_0x558034={},_0x28528b={'count':0x0,'rows':[]};var _0x525841=_[_0xffa3('0x33')](db['ChatWebsite'][_0xffa3('0x34')],function(_0x701829){return{'name':_0x701829['fieldName'],'type':_0x701829[_0xffa3('0x35')]['key']};});_0x558034[_0xffa3('0x36')]=_[_0xffa3('0x33')](_0x525841,'name');_0x558034[_0xffa3('0x37')]=_[_0xffa3('0x38')](_0x41f820[_0xffa3('0x37')]);_0x558034[_0xffa3('0x39')]=_[_0xffa3('0x3a')](_0x558034[_0xffa3('0x36')],_0x558034[_0xffa3('0x37')]);_0xce3d87['attributes']=_[_0xffa3('0x3a')](_0x558034[_0xffa3('0x36')],qs['fields'](_0x41f820['query'][_0xffa3('0x3b')]));_0xce3d87[_0xffa3('0x3c')]=_0xce3d87[_0xffa3('0x3c')]['length']?_0xce3d87[_0xffa3('0x3c')]:_0x558034[_0xffa3('0x36')];if(!_0x41f820[_0xffa3('0x37')][_0xffa3('0x3d')](_0xffa3('0x3e'))){_0xce3d87['limit']=qs[_0xffa3('0x25')](_0x41f820[_0xffa3('0x37')]['limit']);_0xce3d87[_0xffa3('0x23')]=qs[_0xffa3('0x23')](_0x41f820[_0xffa3('0x37')][_0xffa3('0x23')]);}_0xce3d87[_0xffa3('0x3f')]=qs[_0xffa3('0x40')](_0x41f820[_0xffa3('0x37')]['sort']);_0xce3d87[_0xffa3('0x41')]=qs[_0xffa3('0x39')](_[_0xffa3('0x42')](_0x41f820['query'],_0x558034[_0xffa3('0x39')]),_0x525841);if(_0x41f820[_0xffa3('0x37')][_0xffa3('0x43')]){_0xce3d87[_0xffa3('0x41')]=_['merge'](_0xce3d87['where'],{'$or':_[_0xffa3('0x33')](_0x525841,function(_0x5c0a33){if(_0x5c0a33['type']!==_0xffa3('0x44')){var _0x47470b={};_0x47470b[_0x5c0a33[_0xffa3('0x2e')]]={'$like':'%'+_0x41f820[_0xffa3('0x37')]['filter']+'%'};return _0x47470b;}})});}_0xce3d87=_['merge']({},_0xce3d87,_0x41f820['options']);var _0x58b04e={'where':_0xce3d87[_0xffa3('0x41')]};return db[_0xffa3('0x45')][_0xffa3('0x26')](_0x58b04e)[_0xffa3('0x29')](function(_0x5a963d){_0x28528b[_0xffa3('0x26')]=_0x5a963d;if(_0x41f820[_0xffa3('0x37')][_0xffa3('0x46')]){_0xce3d87[_0xffa3('0x47')]=[{'all':!![]}];}return db[_0xffa3('0x45')][_0xffa3('0x48')](_0xce3d87);})['then'](function(_0x253cf9){_0x28528b[_0xffa3('0x49')]=_0x253cf9;return _0x28528b;})[_0xffa3('0x29')](respondWithFilteredResult(_0x5273d2,_0xce3d87))['catch'](handleError(_0x5273d2,null));};exports[_0xffa3('0x4a')]=function(_0x10a2a2,_0x12d313){var _0x4adbbe={'raw':![],'where':{'id':_0x10a2a2[_0xffa3('0x4b')]['id']},'include':[{'model':db[_0xffa3('0x31')],'as':'mandatoryDispositionPause'}]},_0x516fac={};_0x516fac[_0xffa3('0x36')]=_[_0xffa3('0x38')](db[_0xffa3('0x45')][_0xffa3('0x34')]);_0x516fac[_0xffa3('0x37')]=_[_0xffa3('0x38')](_0x10a2a2[_0xffa3('0x37')]);_0x516fac[_0xffa3('0x39')]=_[_0xffa3('0x3a')](_0x516fac[_0xffa3('0x36')],_0x516fac[_0xffa3('0x37')]);_0x4adbbe[_0xffa3('0x3c')]=_[_0xffa3('0x3a')](_0x516fac['model'],qs['fields'](_0x10a2a2[_0xffa3('0x37')][_0xffa3('0x3b')]));_0x4adbbe[_0xffa3('0x3c')]=_0x4adbbe[_0xffa3('0x3c')][_0xffa3('0x4c')]?_0x4adbbe['attributes']:_0x516fac[_0xffa3('0x36')];if(_0x10a2a2[_0xffa3('0x37')][_0xffa3('0x46')]){_0x4adbbe['include']=[{'all':!![]}];}_0x4adbbe=_[_0xffa3('0x4d')]({},_0x4adbbe,_0x10a2a2[_0xffa3('0x4e')]);return db['ChatWebsite'][_0xffa3('0x4f')](_0x4adbbe)['then'](handleEntityNotFound(_0x12d313,null))[_0xffa3('0x29')](respondWithResult(_0x12d313,null))['catch'](handleError(_0x12d313,null));};exports['create']=function(_0x2052a2,_0x1a2d17){return db['ChatWebsite'][_0xffa3('0x50')](_0x2052a2[_0xffa3('0x51')],{})[_0xffa3('0x29')](function(_0x31195b){var _0x2cd06a=_0x2052a2[_0xffa3('0x52')][_0xffa3('0x2b')]({'plain':!![]});if(!_0x2cd06a)throw new Error(_0xffa3('0x53'));if(_0x2cd06a[_0xffa3('0x54')]===_0xffa3('0x52')){var _0x521a8b=_0x31195b['get']({'plain':!![]});var _0x2d5a46=_0xffa3('0x2c');return db['UserProfileSection'][_0xffa3('0x4f')]({'where':{'name':_0x2d5a46,'userProfileId':_0x2cd06a[_0xffa3('0x55')]},'raw':!![]})[_0xffa3('0x29')](function(_0x3ac2d8){if(_0x3ac2d8&&_0x3ac2d8[_0xffa3('0x56')]===0x0){return db[_0xffa3('0x2d')]['create']({'name':_0x521a8b[_0xffa3('0x2e')],'resourceId':_0x521a8b['id'],'type':_0x3ac2d8[_0xffa3('0x2e')],'sectionId':_0x3ac2d8['id']},{})[_0xffa3('0x29')](function(){return _0x31195b;});}else{return _0x31195b;}})[_0xffa3('0x1e')](function(_0x552a1d){logger[_0xffa3('0x1b')](_0xffa3('0x57'),_0x552a1d);throw _0x552a1d;});}return _0x31195b;})[_0xffa3('0x29')](respondWithResult(_0x1a2d17,0xc9))[_0xffa3('0x1e')](handleError(_0x1a2d17,null));};exports['update']=function(_0x3c02d9,_0x5506a2){if(_0x3c02d9['body']['id']){delete _0x3c02d9[_0xffa3('0x51')]['id'];}return db[_0xffa3('0x45')]['find']({'where':{'id':_0x3c02d9[_0xffa3('0x4b')]['id']},'include':[{'model':db[_0xffa3('0x31')],'as':_0xffa3('0x32')}]})['then'](handleEntityNotFound(_0x5506a2,null))['then'](saveUpdates(_0x3c02d9['body'],null))[_0xffa3('0x29')](respondWithResult(_0x5506a2,null))[_0xffa3('0x1e')](handleError(_0x5506a2,null));};exports[_0xffa3('0x2a')]=function(_0x45cd00,_0x3dd228){return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x45cd00['params']['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x3dd228,null))[_0xffa3('0x29')](removeEntity(_0x3dd228,null))[_0xffa3('0x1e')](handleError(_0x3dd228,null));};exports['describe']=function(_0xd8d183,_0x5af9dc){return db[_0xffa3('0x45')][_0xffa3('0x58')]()[_0xffa3('0x29')](respondWithResult(_0x5af9dc,null))['catch'](handleError(_0x5af9dc,null));};exports[_0xffa3('0x59')]=function(_0x53365a,_0x3a5b3e){if(_0x53365a['body']['id']){delete _0x53365a[_0xffa3('0x51')]['id'];}return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x53365a[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x3a5b3e,null))[_0xffa3('0x29')](function(_0x2a4db8){if(_0x2a4db8){_0x53365a[_0xffa3('0x51')][_0xffa3('0x5a')]=_0x2a4db8['id'];return db[_0xffa3('0x5b')][_0xffa3('0x50')](_0x53365a[_0xffa3('0x51')]);}})[_0xffa3('0x29')](respondWithResult(_0x3a5b3e,null))[_0xffa3('0x1e')](handleError(_0x3a5b3e,null));};exports[_0xffa3('0x5c')]=function(_0x39d4fa,_0x5d7cf6){var _0xc34123={'raw':![],'where':{}};var _0x416e1e={};var _0x49ab3b={'count':0x0,'rows':[]};return db['ChatWebsite'][_0xffa3('0x5d')]({'where':{'id':_0x39d4fa[_0xffa3('0x4b')]['id']}})['then'](handleEntityNotFound(_0x5d7cf6,null))[_0xffa3('0x29')](function(_0x56db5a){if(_0x56db5a){_0x416e1e[_0xffa3('0x36')]=_[_0xffa3('0x38')](db[_0xffa3('0x5b')][_0xffa3('0x34')]);_0x416e1e['query']=_['keys'](_0x39d4fa[_0xffa3('0x37')]);_0x416e1e[_0xffa3('0x39')]=_['intersection'](_0x416e1e[_0xffa3('0x36')],_0x416e1e[_0xffa3('0x37')]);_0xc34123[_0xffa3('0x3c')]=_[_0xffa3('0x3a')](_0x416e1e[_0xffa3('0x36')],qs[_0xffa3('0x3b')](_0x39d4fa[_0xffa3('0x37')][_0xffa3('0x3b')]));_0xc34123[_0xffa3('0x3c')]=_0xc34123[_0xffa3('0x3c')][_0xffa3('0x4c')]?_0xc34123[_0xffa3('0x3c')]:_0x416e1e[_0xffa3('0x36')];if(!_0x39d4fa[_0xffa3('0x37')]['hasOwnProperty'](_0xffa3('0x3e'))){_0xc34123[_0xffa3('0x25')]=qs[_0xffa3('0x25')](_0x39d4fa['query']['limit']);_0xc34123[_0xffa3('0x23')]=qs[_0xffa3('0x23')](_0x39d4fa[_0xffa3('0x37')]['offset']);}_0xc34123[_0xffa3('0x3f')]=qs[_0xffa3('0x40')](_0x39d4fa['query'][_0xffa3('0x40')]);_0xc34123[_0xffa3('0x41')]=qs[_0xffa3('0x39')](_[_0xffa3('0x42')](_0x39d4fa[_0xffa3('0x37')],_0x416e1e[_0xffa3('0x39')]));_0xc34123[_0xffa3('0x41')][_0xffa3('0x5a')]=_0x56db5a['id'];if(_0x39d4fa[_0xffa3('0x37')][_0xffa3('0x43')]){_0xc34123[_0xffa3('0x41')]=_[_0xffa3('0x4d')](_0xc34123['where'],{'$or':_[_0xffa3('0x33')](_0xc34123[_0xffa3('0x3c')],function(_0x9b8610){var _0x510cf5={};_0x510cf5[_0x9b8610]={'$like':'%'+_0x39d4fa['query'][_0xffa3('0x43')]+'%'};return _0x510cf5;})});}_0xc34123=_[_0xffa3('0x4d')]({},_0xc34123,_0x39d4fa[_0xffa3('0x4e')]);return db[_0xffa3('0x5b')]['count']({'where':_0xc34123[_0xffa3('0x41')]})[_0xffa3('0x29')](function(_0xdf46a0){_0x49ab3b[_0xffa3('0x26')]=_0xdf46a0;if(_0x39d4fa[_0xffa3('0x37')][_0xffa3('0x46')]){_0xc34123[_0xffa3('0x47')]=[{'all':!![]}];}return db[_0xffa3('0x5b')]['findAll'](_0xc34123);})[_0xffa3('0x29')](function(_0x8b6a14){_0x49ab3b[_0xffa3('0x49')]=_0x8b6a14;return _0x49ab3b;});}})[_0xffa3('0x29')](respondWithFilteredResult(_0x5d7cf6,_0xc34123))[_0xffa3('0x1e')](handleError(_0x5d7cf6,null));};exports[_0xffa3('0x5e')]=function(_0x7d49a6,_0x5891f8){return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x7d49a6[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x5891f8,null))[_0xffa3('0x29')](function(_0x45b7c7){if(_0x45b7c7){return _0x45b7c7[_0xffa3('0x5e')](_0x7d49a6[_0xffa3('0x37')]['ids']);}})[_0xffa3('0x29')](respondWithStatusCode(_0x5891f8,null))[_0xffa3('0x1e')](handleError(_0x5891f8,null));};exports['addAnswer']=function(_0x728c0a,_0x5bc7be){if(_0x728c0a['body']['id']){delete _0x728c0a[_0xffa3('0x51')]['id'];}return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x728c0a[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x5bc7be,null))[_0xffa3('0x29')](function(_0x1a16f9){if(_0x1a16f9){_0x728c0a[_0xffa3('0x51')]['ChatWebsiteId']=_0x1a16f9['id'];return db[_0xffa3('0x5f')]['create'](_0x728c0a[_0xffa3('0x51')]);}})[_0xffa3('0x29')](respondWithResult(_0x5bc7be,null))[_0xffa3('0x1e')](handleError(_0x5bc7be,null));};exports[_0xffa3('0x60')]=function(_0x35ba8b,_0x595eb2){var _0x51a224={'raw':![],'where':{}};var _0x462e12={};var _0x42703a={'count':0x0,'rows':[]};return db[_0xffa3('0x45')]['findOne']({'where':{'id':_0x35ba8b['params']['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x595eb2,null))[_0xffa3('0x29')](function(_0xc3035c){if(_0xc3035c){_0x462e12[_0xffa3('0x36')]=_[_0xffa3('0x38')](db['CannedAnswer'][_0xffa3('0x34')]);_0x462e12[_0xffa3('0x37')]=_['keys'](_0x35ba8b[_0xffa3('0x37')]);_0x462e12[_0xffa3('0x39')]=_['intersection'](_0x462e12[_0xffa3('0x36')],_0x462e12[_0xffa3('0x37')]);_0x51a224[_0xffa3('0x3c')]=_[_0xffa3('0x3a')](_0x462e12[_0xffa3('0x36')],qs['fields'](_0x35ba8b['query'][_0xffa3('0x3b')]));_0x51a224[_0xffa3('0x3c')]=_0x51a224[_0xffa3('0x3c')][_0xffa3('0x4c')]?_0x51a224[_0xffa3('0x3c')]:_0x462e12[_0xffa3('0x36')];if(!_0x35ba8b['query'][_0xffa3('0x3d')]('nolimit')){_0x51a224['limit']=qs['limit'](_0x35ba8b[_0xffa3('0x37')][_0xffa3('0x25')]);_0x51a224['offset']=qs[_0xffa3('0x23')](_0x35ba8b[_0xffa3('0x37')]['offset']);}_0x51a224[_0xffa3('0x3f')]=qs[_0xffa3('0x40')](_0x35ba8b[_0xffa3('0x37')][_0xffa3('0x40')]);_0x51a224[_0xffa3('0x41')]=qs[_0xffa3('0x39')](_[_0xffa3('0x42')](_0x35ba8b[_0xffa3('0x37')],_0x462e12[_0xffa3('0x39')]));_0x51a224['where']['ChatWebsiteId']=_0xc3035c['id'];if(_0x35ba8b['query'][_0xffa3('0x43')]){_0x51a224['where']=_[_0xffa3('0x4d')](_0x51a224['where'],{'$or':_[_0xffa3('0x33')](_0x51a224[_0xffa3('0x3c')],function(_0x31b794){var _0x40c9fe={};_0x40c9fe[_0x31b794]={'$like':'%'+_0x35ba8b[_0xffa3('0x37')][_0xffa3('0x43')]+'%'};return _0x40c9fe;})});}_0x51a224=_[_0xffa3('0x4d')]({},_0x51a224,_0x35ba8b[_0xffa3('0x4e')]);return db[_0xffa3('0x5f')][_0xffa3('0x26')]({'where':_0x51a224['where']})[_0xffa3('0x29')](function(_0x42af72){_0x42703a[_0xffa3('0x26')]=_0x42af72;if(_0x35ba8b['query'][_0xffa3('0x46')]){_0x51a224[_0xffa3('0x47')]=[{'all':!![]}];}return db[_0xffa3('0x5f')]['findAll'](_0x51a224);})['then'](function(_0x3fb816){_0x42703a[_0xffa3('0x49')]=_0x3fb816;return _0x42703a;});}})['then'](respondWithFilteredResult(_0x595eb2,_0x51a224))[_0xffa3('0x1e')](handleError(_0x595eb2,null));};exports['removeAnswers']=function(_0x4f1e6f,_0x358cdb){return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x4f1e6f[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x358cdb,null))[_0xffa3('0x29')](function(_0x69a7f7){if(_0x69a7f7){return _0x69a7f7['removeAnswers'](_0x4f1e6f[_0xffa3('0x37')][_0xffa3('0x61')]);}})[_0xffa3('0x29')](respondWithStatusCode(_0x358cdb,null))[_0xffa3('0x1e')](handleError(_0x358cdb,null));};exports[_0xffa3('0x62')]=function(_0x4765d4,_0x485cfd){_0x4765d4[_0xffa3('0x51')]['sitepic']=_0x4765d4[_0xffa3('0x63')]['filename'];return db['ChatWebsite'][_0xffa3('0x4f')]({'where':{'id':_0x4765d4['params']['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x485cfd,null))[_0xffa3('0x29')](saveUpdates(_0x4765d4[_0xffa3('0x51')],null))[_0xffa3('0x29')](respondWithResult(_0x485cfd,null))[_0xffa3('0x1e')](handleError(_0x485cfd,null));};exports[_0xffa3('0x64')]=function(_0xb21322,_0x52939a){_0xb21322[_0xffa3('0x51')][_0xffa3('0x65')]=_0xb21322['file'][_0xffa3('0x66')];return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0xb21322[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x52939a,null))[_0xffa3('0x29')](saveUpdates(_0xb21322[_0xffa3('0x51')],null))[_0xffa3('0x29')](respondWithResult(_0x52939a,null))[_0xffa3('0x1e')](handleError(_0x52939a,null));};exports['addCustomerAvatar']=function(_0x25a75f,_0x1169b8){_0x25a75f['body']['customerAvatar']=_0x25a75f['file'][_0xffa3('0x66')];return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x25a75f['params']['id']}})['then'](handleEntityNotFound(_0x1169b8,null))['then'](saveUpdates(_0x25a75f[_0xffa3('0x51')],null))['then'](respondWithResult(_0x1169b8,null))[_0xffa3('0x1e')](handleError(_0x1169b8,null));};exports[_0xffa3('0x67')]=function(_0x35ab7b,_0x270933){_0x35ab7b[_0xffa3('0x51')][_0xffa3('0x68')]=_0x35ab7b[_0xffa3('0x63')]['filename'];return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x35ab7b[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x270933,null))[_0xffa3('0x29')](saveUpdates(_0x35ab7b[_0xffa3('0x51')],null))['then'](respondWithResult(_0x270933,null))[_0xffa3('0x1e')](handleError(_0x270933,null));};exports[_0xffa3('0x69')]=function(_0x3d706c,_0x5f0fb7){var _0x3007a2=path[_0xffa3('0x6a')](config[_0xffa3('0x6b')],_0xffa3('0x6c'));var _0x2e361b={'where':{'id':_0x3d706c[_0xffa3('0x4b')]['id']},'attributes':['id',_0xffa3('0x6d')],'raw':!![]};var _0x2ce037=![];return require(_0xffa3('0x6e'))[_0xffa3('0x6f')]()[_0xffa3('0x29')](function(_0x11022d){if(_0x11022d){_0x2ce037=_0x11022d[_0xffa3('0x70')];}})[_0xffa3('0x29')](function(){return db['ChatWebsite'][_0xffa3('0x4f')](_0x2e361b);})[_0xffa3('0x29')](handleEntityNotFound(_0x5f0fb7,null))[_0xffa3('0x29')](function(_0x1429ea){if(_0x1429ea){if(!_[_0xffa3('0x71')](_0x1429ea[_0xffa3('0x6d')])){if(fs[_0xffa3('0x72')](path['join'](config[_0xffa3('0x6b')],_0xffa3('0x73'),_0x1429ea[_0xffa3('0x6d')]))&&_0x2ce037){_0x3007a2=path['join'](config[_0xffa3('0x6b')],_0xffa3('0x73'),_0x1429ea[_0xffa3('0x6d')]);}}return _0x5f0fb7[_0xffa3('0x74')](_0x3007a2);}})[_0xffa3('0x1e')](handleError(_0x5f0fb7,null));};exports['getAvatar']=function(_0x5502f6,_0xb86f09){var _0x2049c9=path[_0xffa3('0x6a')](config[_0xffa3('0x6b')],_0xffa3('0x75'));var _0x289167={'where':{'id':_0x5502f6[_0xffa3('0x4b')]['id']},'attributes':['id',_0xffa3('0x65')],'raw':!![]};return db[_0xffa3('0x45')]['find'](_0x289167)[_0xffa3('0x29')](handleEntityNotFound(_0xb86f09,null))[_0xffa3('0x29')](function(_0x3666c6){if(_0x3666c6){if(!_['isNil'](_0x3666c6[_0xffa3('0x65')])){if(fs['existsSync'](path[_0xffa3('0x6a')](config[_0xffa3('0x6b')],_0xffa3('0x76'),_0x3666c6[_0xffa3('0x65')]))){_0x2049c9=path[_0xffa3('0x6a')](config[_0xffa3('0x6b')],'server/files/images/avatars/',_0x3666c6['agentAvatar']);}}return _0xb86f09[_0xffa3('0x74')](_0x2049c9);}})[_0xffa3('0x1e')](handleError(_0xb86f09,null));};exports[_0xffa3('0x77')]=function(_0x116607,_0x23a97a){var _0x5a1432=path['join'](config['root'],_0xffa3('0x78'));var _0x17e326={'where':{'id':_0x116607[_0xffa3('0x4b')]['id']},'attributes':['id',_0xffa3('0x79'),'showCustomerAvatar'],'raw':!![]};return db[_0xffa3('0x45')]['find'](_0x17e326)[_0xffa3('0x29')](handleEntityNotFound(_0x23a97a,null))['then'](function(_0x4db681){if(_0x4db681){if(!_['isNil'](_0x4db681[_0xffa3('0x79')])){if(fs[_0xffa3('0x72')](path[_0xffa3('0x6a')](config[_0xffa3('0x6b')],'server/files/images/avatars/',_0x4db681[_0xffa3('0x79')]))&&_0x4db681['showCustomerAvatar']){_0x5a1432=path[_0xffa3('0x6a')](config['root'],_0xffa3('0x76'),_0x4db681[_0xffa3('0x79')]);}}return _0x23a97a[_0xffa3('0x74')](_0x5a1432);}})[_0xffa3('0x1e')](handleError(_0x23a97a,null));};exports['getSystemAvatar']=function(_0x153e0e,_0x2e5d02){var _0x25e473=path[_0xffa3('0x6a')](config['root'],_0xffa3('0x7a'));var _0x2cf529={'where':{'id':_0x153e0e[_0xffa3('0x4b')]['id']},'attributes':['id','systemAvatar'],'raw':!![]};return db[_0xffa3('0x45')][_0xffa3('0x4f')](_0x2cf529)[_0xffa3('0x29')](handleEntityNotFound(_0x2e5d02,null))['then'](function(_0x47ef1a){if(_0x47ef1a){if(!_[_0xffa3('0x71')](_0x47ef1a[_0xffa3('0x68')])){if(fs[_0xffa3('0x72')](path[_0xffa3('0x6a')](config[_0xffa3('0x6b')],_0xffa3('0x76'),_0x47ef1a[_0xffa3('0x68')]))){_0x25e473=path['join'](config['root'],_0xffa3('0x76'),_0x47ef1a[_0xffa3('0x68')]);}}return _0x2e5d02[_0xffa3('0x74')](_0x25e473);}})[_0xffa3('0x1e')](handleError(_0x2e5d02,null));};exports['notify']=function(_0x41c1f3,_0xab454f){var _0x587fb1=require(_0xffa3('0x7b'));var _0x441a22=new _0x587fb1();var _0x41bc45=_0x441a22[_0xffa3('0x7c')](_0x41c1f3[_0xffa3('0x7d')][_0xffa3('0x7e')])['getResult']();var _0x4aa781={'body':_0x41c1f3[_0xffa3('0x51')],'channel':_0xffa3('0x7f')};var _0x275dce=[];var _0x3d58d5=[];var _0x30da4a={};var _0x15fdae=![];return db[_0xffa3('0x80')][_0xffa3('0x58')]()['then'](function(_0x321928){if(!_0x321928){throw new db['Sequelize']['ValidationError'](_0xffa3('0x81'));}_0x275dce=_[_0xffa3('0x82')](_['keys'](_0x321928),[_0xffa3('0x83'),_0xffa3('0x84')]);_0x3d58d5=_[_0xffa3('0x82')](_['keys'](_0x321928),['createdAt',_0xffa3('0x84'),'CompanyId',_0xffa3('0x85')]);if(_0x41c1f3['body']['id']){delete _0x41c1f3[_0xffa3('0x51')]['id'];}if(_[_0xffa3('0x71')](_0x41c1f3[_0xffa3('0x51')][_0xffa3('0x86')])){throw new db[(_0xffa3('0x87'))][(_0xffa3('0x88'))]('from\x20is\x20mandatory');}if(_[_0xffa3('0x71')](_0x41c1f3[_0xffa3('0x51')]['body'])||_0x41c1f3['body'][_0xffa3('0x51')]===''){throw new db[(_0xffa3('0x87'))][(_0xffa3('0x88'))](_0xffa3('0x89'));}if(_[_0xffa3('0x71')](_0x41c1f3[_0xffa3('0x51')][_0xffa3('0x8a')])){throw new db['Sequelize']['ValidationError'](_0xffa3('0x8b')+_0x3d58d5);}if(!_['includes'](_0x3d58d5,_0x41c1f3[_0xffa3('0x51')][_0xffa3('0x8a')])){throw new db[(_0xffa3('0x87'))][(_0xffa3('0x88'))](_0xffa3('0x8c')+_0x3d58d5);}_0x30da4a[_0x41c1f3['body']['mapKey']]=_0x41c1f3[_0xffa3('0x51')][_0xffa3('0x86')];})['then'](function(){return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x41c1f3[_0xffa3('0x4b')]['id']},'include':[{'model':db[_0xffa3('0x8d')],'as':'List','include':[{'model':db['CmContact'],'as':_0xffa3('0x8e'),'where':_0x30da4a,'limit':0x1,'order':[[_0xffa3('0x84'),_0xffa3('0x8f')]]}]},{'model':db['ChatApplication'],'as':'Applications'}]});})[_0xffa3('0x29')](handleEntityNotFound(_0xab454f,null))[_0xffa3('0x29')](function(_0x16ac96){if(_0x16ac96&&_0x16ac96[_0xffa3('0x90')]){_0x4aa781[_0xffa3('0x91')]=_0x16ac96;_0x4aa781[_0xffa3('0x92')]=_0x16ac96[_0xffa3('0x93')];_0x4aa781[_0xffa3('0x94')]=_0x16ac96[_0xffa3('0x90')];_0x4aa781[_0xffa3('0x92')]=_[_0xffa3('0x95')](_0x4aa781[_0xffa3('0x92')],[_0xffa3('0x96')],[_0xffa3('0x97')]);if(_0x4aa781[_0xffa3('0x91')][_0xffa3('0x93')]){delete _0x4aa781[_0xffa3('0x91')][_0xffa3('0x93')];}if(_0x4aa781[_0xffa3('0x91')][_0xffa3('0x90')]&&_0x4aa781[_0xffa3('0x91')][_0xffa3('0x90')][_0xffa3('0x8e')][_0xffa3('0x4c')]){return _0x4aa781[_0xffa3('0x91')][_0xffa3('0x90')][_0xffa3('0x8e')][0x0];}var _0x3c2b8e=_[_0xffa3('0xb')](_0x41c1f3[_0xffa3('0x51')],{'firstName':_0x41c1f3['body'][_0xffa3('0x86')],'ListId':_0x16ac96[_0xffa3('0x85')]});_0x3c2b8e[_0x41c1f3['body'][_0xffa3('0x8a')]]=_0x41c1f3[_0xffa3('0x51')]['from'];return db[_0xffa3('0x80')][_0xffa3('0x50')](_0x3c2b8e,{'fields':_0x275dce,'raw':!![]});}})['then'](handleEntityNotFound(_0xab454f,null))[_0xffa3('0x29')](function(_0x4d69e8){_0x4aa781[_0xffa3('0x98')]=_0x4d69e8;var _0x1dc5f9=_0x41c1f3[_0xffa3('0x51')][_0xffa3('0x99')];if(_0x41c1f3['headers'][_0xffa3('0x9a')]){_0x1dc5f9=_0x41c1f3['headers'][_0xffa3('0x9a')];}else if(_0x41c1f3[_0xffa3('0x7d')]['x-forwarded-for']){_0x1dc5f9=_['first'](_0x41c1f3[_0xffa3('0x7d')]['x-forwarded-for']['split'](','));}if(_0x4d69e8){var _0x5847e2={'ContactId':_0x4d69e8['id'],'ChatWebsiteId':_0x41c1f3[_0xffa3('0x4b')]['id'],'from':(_0x4d69e8['firstName']||'')+'\x20'+(_0x4d69e8['lastName']||''),'customerIp':_0x1dc5f9,'customerPort':_0x41c1f3[_0xffa3('0x7d')][_0xffa3('0x9b')]?_0x41c1f3[_0xffa3('0x7d')]['x-real-port']:null,'referer':_0x41c1f3[_0xffa3('0x51')][_0xffa3('0x9c')],'browserName':_0x41bc45[_0xffa3('0x9d')][_0xffa3('0x2e')]&&_0x41bc45[_0xffa3('0x9d')][_0xffa3('0x9e')]?util[_0xffa3('0x9f')](_0xffa3('0xa0'),_0x41bc45[_0xffa3('0x9d')]['name'],_0x41bc45[_0xffa3('0x9d')][_0xffa3('0x9e')]):_0xffa3('0xa1'),'browserVersion':_0x41bc45['browser'][_0xffa3('0x9e')]||_0xffa3('0xa1'),'osName':util['format'](_0xffa3('0xa0'),_0x41bc45['os'][_0xffa3('0x2e')],_0x41bc45['os'][_0xffa3('0x9e')]),'osVersion':_0x41bc45['os']['version'],'deviceModel':_0x41bc45[_0xffa3('0xa2')]['model']&&_0x41bc45[_0xffa3('0xa2')]['vendor']?util[_0xffa3('0x9f')]('%s\x20%s\x20%s',_0x41bc45[_0xffa3('0xa2')]['model'],_0x41bc45['device']['vendor'],_0x41bc45[_0xffa3('0xa2')][_0xffa3('0x35')]):null,'deviceVendor':_0x41bc45[_0xffa3('0xa2')]['vendor'],'deviceType':_0x41bc45[_0xffa3('0xa2')][_0xffa3('0x35')],'formData':JSON[_0xffa3('0x1a')](_0x41c1f3[_0xffa3('0x51')])};var _0x29db0f={'ChatWebsiteId':_0x41c1f3[_0xffa3('0x4b')]['id'],'closed':![]};if(_0x41c1f3['body']['threadId']){_0x29db0f[_0xffa3('0xa3')]=_0x41c1f3[_0xffa3('0x51')][_0xffa3('0xa3')];return db[_0xffa3('0xa4')][_0xffa3('0x4f')]({'where':_0x29db0f})['then'](function(_0x15209c){if(_0x15209c){return[_0x15209c,![]];}_0x5847e2[_0xffa3('0xa3')]=_0x41c1f3['body'][_0xffa3('0xa3')];_0x5847e2[_0xffa3('0xa5')]=_0x41c1f3[_0xffa3('0x51')]['externalUrl'];return db[_0xffa3('0xa4')][_0xffa3('0x50')](_0x5847e2)['then'](function(_0x2c4c16){return[_0x2c4c16,!![]];});});}_0x29db0f[_0xffa3('0xa6')]=_0x4d69e8['id'];if(_0x41c1f3[_0xffa3('0x51')]['interaction']&&_0x41c1f3[_0xffa3('0x51')][_0xffa3('0xa7')]['id']){_0x29db0f['id']=_0x41c1f3[_0xffa3('0x51')][_0xffa3('0xa7')]['id'];return db[_0xffa3('0xa4')][_0xffa3('0x4f')]({'where':_0x29db0f})[_0xffa3('0x29')](function(_0x45ef10){if(_0x45ef10){return[_0x45ef10,![]];}return db[_0xffa3('0xa4')][_0xffa3('0x50')](_0x5847e2)[_0xffa3('0x29')](function(_0x233cb3){return[_0x233cb3,!![]];});});}return db['ChatInteraction'][_0xffa3('0x50')](_0x5847e2)[_0xffa3('0x29')](function(_0x467856){return[_0x467856,!![]];});}})[_0xffa3('0xa8')](function(_0x59631c,_0x1c272d){if(_0x59631c){_0x15fdae=_0x1c272d;if(!_0x1c272d){var _0xd11104={'from':(_0x4aa781[_0xffa3('0x98')]['firstName']||'')+'\x20'+(_0x4aa781[_0xffa3('0x98')][_0xffa3('0xa9')]||'')};if(_0x41c1f3[_0xffa3('0x51')][_0xffa3('0xa3')]&&_0x41c1f3[_0xffa3('0x51')]['messageId']&&_0x41c1f3[_0xffa3('0x51')]['threadId']!=_0x41c1f3['body'][_0xffa3('0xaa')]){_0xd11104[_0xffa3('0xa3')]=_0x41c1f3[_0xffa3('0x51')][_0xffa3('0xaa')];}return _0x59631c[_0xffa3('0x28')](_0xd11104);}else{return _0x59631c;}}})[_0xffa3('0x29')](function(_0x2349ef){_0x4aa781[_0xffa3('0xa7')]=_0x2349ef[_0xffa3('0x2b')]({'plain':!![]});_0x4aa781[_0xffa3('0xa7')]['created']=_0x15fdae;if(_0x4aa781[_0xffa3('0xa7')][_0xffa3('0xab')]){if(_0x4aa781[_0xffa3('0x91')][_0xffa3('0xac')]){_0x4aa781[_0xffa3('0x92')][_0xffa3('0xad')]({'id':0x0,'priority':_0x4aa781[_0xffa3('0x92')][_0xffa3('0x4c')]+0x1,'app':_0xffa3('0xae'),'appdata':'unmanaged','interval':_0xffa3('0xaf')});}}return db[_0xffa3('0xb0')]['create']({'body':_0x41c1f3[_0xffa3('0x51')][_0xffa3('0x51')],'ChatWebsiteId':_0x41c1f3[_0xffa3('0x4b')]['id'],'ChatInteractionId':_0x2349ef['id'],'direction':'in','ContactId':_0x4aa781[_0xffa3('0x98')]['id'],'AttachmentId':_0x41c1f3['body'][_0xffa3('0xb1')]});})['then'](function(_0x53d7f7){_0x4aa781[_0xffa3('0x1d')]=_0x53d7f7;if(_0x4aa781[_0xffa3('0xa7')][_0xffa3('0xb2')]){return db[_0xffa3('0xb3')][_0xffa3('0x4f')]({'attributes':['id',_0xffa3('0x2e')],'where':{'id':_0x4aa781[_0xffa3('0xa7')][_0xffa3('0xb2')]}})[_0xffa3('0x29')](function(_0x22695b){if(_0x22695b){_0x4aa781[_0xffa3('0x92')][_0xffa3('0xb4')]({'id':0x0,'priority':0x0,'app':_0xffa3('0xb5'),'appdata':_0x22695b[_0xffa3('0x2e')]+','+(_0x4aa781[_0xffa3('0x91')][_0xffa3('0xb6')]||0xa),'interval':_0xffa3('0xaf')});_0x4aa781[_0xffa3('0xb7')]=!![];}return respondWithRpcPromise(_0xffa3('0xb8'),_0xffa3('0xb9'),_0x4aa781);});}return respondWithRpcPromise('Start','startRouting',_0x4aa781);})[_0xffa3('0x29')](function(_0x32cb6e){respondWithRpcPromise(_0xffa3('0xba'),'EventManager',{'event':_0xffa3('0xbb'),'message':_0x32cb6e},client9002);return _0x32cb6e;})[_0xffa3('0x29')](respondWithResult(_0xab454f,null))[_0xffa3('0x1e')](handleError(_0xab454f,null));};exports[_0xffa3('0xbc')]=function(_0x1cd2d9,_0x33faf3){var _0x1f73b1,_0x1f7301,_0x25aa5d;var _0x46aaf9=[];var _0x10b61d={};var _0x2c664a=_0x1cd2d9[_0xffa3('0xbd')]||[];var _0x1cd24d=[];var _0x2f4f7f;return db[_0xffa3('0x80')]['describe']()[_0xffa3('0x29')](function(_0x1763bb){if(!_0x1763bb){throw new db[(_0xffa3('0x87'))]['ValidationError'](_0xffa3('0x81'));}_0x46aaf9=_['difference'](_[_0xffa3('0x38')](_0x1763bb),[_0xffa3('0x83'),_0xffa3('0x84'),_0xffa3('0xbe'),_0xffa3('0x85')]);if(_0x1cd2d9[_0xffa3('0x51')]['id']){delete _0x1cd2d9[_0xffa3('0x51')]['id'];}if(_[_0xffa3('0x71')](_0x1cd2d9[_0xffa3('0x51')][_0xffa3('0x86')])){throw _0x33faf3[_0xffa3('0x20')](0x1f4)[_0xffa3('0x2f')](new db[(_0xffa3('0x87'))][(_0xffa3('0x88'))](_0xffa3('0xbf')));}if(_[_0xffa3('0x71')](_0x1cd2d9['body'][_0xffa3('0x51')])||_0x1cd2d9['body'][_0xffa3('0x51')]===''){throw _0x33faf3[_0xffa3('0x20')](0x1f4)[_0xffa3('0x2f')](new db[(_0xffa3('0x87'))]['ValidationError'](_0xffa3('0x89')));}if(_[_0xffa3('0x71')](_0x1cd2d9[_0xffa3('0x51')]['mapKeyOffline'])){throw _0x33faf3[_0xffa3('0x20')](0x1f4)[_0xffa3('0x2f')](new db[(_0xffa3('0x87'))][(_0xffa3('0x88'))](_0xffa3('0xc0')+_0x46aaf9));}if(!_['includes'](_0x46aaf9,_0x1cd2d9[_0xffa3('0x51')][_0xffa3('0xc1')])){throw _0x33faf3[_0xffa3('0x20')](0x1f4)[_0xffa3('0x2f')](new db[(_0xffa3('0x87'))][(_0xffa3('0x88'))]('mapKeyOffline\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x46aaf9));}_0x10b61d[_0x1cd2d9[_0xffa3('0x51')][_0xffa3('0xc1')]]=_0x1cd2d9['body'][_0xffa3('0x86')];})['then'](function(){return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x1cd2d9[_0xffa3('0x4b')]['id']},'include':[{'model':db[_0xffa3('0x8d')],'as':'List'},{'model':db[_0xffa3('0xc2')],'as':_0xffa3('0xc2')}]});})[_0xffa3('0x29')](handleEntityNotFound(_0x33faf3,null))[_0xffa3('0x29')](function(_0x18ba17){if(_0x18ba17&&_0x18ba17[_0xffa3('0x90')]){_0x1f7301=_0x18ba17;var _0x27260a=_['defaults'](_0x1cd2d9[_0xffa3('0x51')],{'firstName':_0x1cd2d9[_0xffa3('0x51')][_0xffa3('0x86')],'phone':_0x1cd2d9['body'][_0xffa3('0x86')],'ListId':_0x18ba17[_0xffa3('0x85')]});_0x27260a[_0x1cd2d9['body'][_0xffa3('0xc1')]]=_0x1cd2d9[_0xffa3('0x51')][_0xffa3('0x86')];return db[_0xffa3('0x80')][_0xffa3('0xc3')]({'where':_0x10b61d,'defaults':_0x27260a});}})['spread'](function(_0x3bc3f9){if(_0x3bc3f9){_0x25aa5d=_0x3bc3f9;var _0x175cc3=fs[_0xffa3('0xc4')](path[_0xffa3('0x6a')](config['root'],_0xffa3('0xc5')),'utf8');var _0x382a37=ejs['render'](_0x175cc3,{'body':_['toPairs'](_0x1cd2d9[_0xffa3('0x51')][_0xffa3('0x51')]),'bodyTitle':_0x1f7301[_0xffa3('0xc6')]});return db[_0xffa3('0xc7')]['create']({'body':_0x382a37,'plainBody':htmlToText[_0xffa3('0xc8')](_0x382a37),'ContactId':_0x3bc3f9['id'],'ChatWebsiteId':_0x1f7301['id']});}})['then'](function(_0x52d1e2){_0x2f4f7f=_0x52d1e2;if(_0x2c664a['length']){var _0x1aaebf=_0x2c664a[_0xffa3('0x33')](function(_0x1b1f09){return{'name':_0x1b1f09[_0xffa3('0xc9')],'basename':_0x1b1f09[_0xffa3('0x66')],'type':_0x1b1f09[_0xffa3('0xca')],'ChatOfflineMessageId':_0x52d1e2['id']};});_0x1cd24d=_0x1aaebf[_0xffa3('0x33')](_0x470fe6=>{var _0x2197c6={'filename':_0x470fe6[_0xffa3('0x2e')],'path':path['join'](config['root'],_0xffa3('0xcb'),_0xffa3('0xbd'),_0xffa3('0xcc'),_0xffa3('0xcd'),_0x470fe6[_0xffa3('0xce')])};return _0x2197c6;});if(!_0x1f7301[_0xffa3('0xcf')]){return db['sequelize']['transaction'](function(_0x206840){return db[_0xffa3('0xd0')]['bulkCreate'](_0x1aaebf,{'transaction':_0x206840});});}}})['then'](function(){if(_0x2f4f7f){_0x1f73b1=_0x2f4f7f;return db[_0xffa3('0xc2')][_0xffa3('0x5d')]({'where':{'service':!![]},'include':[{'model':db['MailServerOut'],'as':_0xffa3('0xd1'),'raw':!![],'include':[{'model':db[_0xffa3('0xd2')],'as':_0xffa3('0xd2'),'raw':!![]}]}]});}})[_0xffa3('0x29')](function(_0x147f9e){if(_0x147f9e&&_0x147f9e[_0xffa3('0xd1')]&&_0x1f7301['forwardOffline']&&_0x1f7301['forwardOfflineAddress']){var _0x1e0e54=_0x147f9e[_0xffa3('0xd3')]();return respondWithRpcPromise(_0xffa3('0xd4'),'sendMail',{'account':_0x1e0e54,'message':{'from':util['format'](_0xffa3('0xd5'),_0x147f9e['name'],_0x147f9e[_0xffa3('0xd6')]||_0x147f9e[_0xffa3('0xd1')][_0xffa3('0x52')]),'to':_0x1f7301['forwardOfflineAddress'],'subject':_0x1f7301[_0xffa3('0xd7')],'html':_0x1f73b1['body'],'attachments':_0x1cd24d}},client9003)[_0xffa3('0x29')](function(){return _0x1f73b1;})[_0xffa3('0x1e')](function(_0x327537){logger[_0xffa3('0x1b')](_0x327537);});}})[_0xffa3('0x29')](function(){if(_0x1f7301&&_0x1f7301[_0xffa3('0xcf')]&&_0x1f7301[_0xffa3('0xd8')]){var _0x40a88b=[];if(_0x2c664a[_0xffa3('0x4c')]){_0x40a88b=_0x2c664a[_0xffa3('0x33')](function(_0x161841){return{'name':_0x161841[_0xffa3('0xc9')],'basename':_0x161841[_0xffa3('0x66')],'type':_0x161841[_0xffa3('0xca')],'ChatOfflineMessageId':_0x2f4f7f['id']};});}var _0x23e68e;if(!_[_0xffa3('0x71')](_0x1f7301['subjectOffline'])){var _0x17abd2=_[_0xffa3('0x33')](_0x1cd2d9[_0xffa3('0x51')],function(_0x45ba79){return _0x45ba79;});var _0xf76b97=_[_0xffa3('0xd9')](_0x17abd2)[0x0];var _0x2648a3=_[_0xffa3('0xda')](_0xf76b97,function(_0x373dc4){return _0x373dc4;});_0x23e68e=_0x2648a3[0x1][_0x1f7301[_0xffa3('0xdb')]];}var _0x41b5a7={'from':_0x25aa5d['email'],'firstName':_0x25aa5d[_0xffa3('0xdc')],'lastName':_0x25aa5d[_0xffa3('0xa9')],'mapKey':_0xffa3('0xd6'),'message':{'from':_0x25aa5d[_0xffa3('0xd6')],'to':_0x1f7301[_0xffa3('0xc2')][_0xffa3('0xd6')],'cc':'','subject':_[_0xffa3('0x71')](_0x23e68e)?_0x1f7301['offlineMessageSubject']:_0x23e68e,'messageId':'','sentAt':new Date(),'attach':_0x40a88b['length'],'attachments':_0x40a88b,'originChannel':_0xffa3('0xdd'),'ChatWebsiteId':_0x1f7301['id'],'ChatOfflineMessageId':_0x1f73b1['id'],'originTo':_0x1f7301[_0xffa3('0xc2')][_0xffa3('0xd6')]},'body':_0x1f73b1['body']};var _0x48b621={'account':{'id':_0x1f7301[_0xffa3('0xd8')]},'body':_0x41b5a7,'log':_0xffa3('0xde')};return respondWithRpcPromise(_0xffa3('0xde'),_0xffa3('0xdf'),_0x48b621,client9001)[_0xffa3('0x29')](function(){return _0x1f73b1;})[_0xffa3('0x1e')](function(_0x2dd443){logger[_0xffa3('0x1b')](_0x2dd443);});}return;})[_0xffa3('0x29')](function(){if(_0x1f73b1){return _0x1f73b1;}})['then'](respondWithResult(_0x33faf3,null))[_0xffa3('0x1e')](function(_0x2fb50c){logger['error'](_0xffa3('0x1e'),_0x2fb50c);for(var _0x3b846a of _0x2c664a){var _0x56cc0e=path[_0xffa3('0x6a')](config[_0xffa3('0x6b')],'server','files','attachments','offline-chat',_0x3b846a[_0xffa3('0x66')]);fs_extra['remove'](_0x56cc0e)['catch'](function(_0x13d795){logger[_0xffa3('0x1b')](_0xffa3('0xe0'),_0x56cc0e,_0x13d795);});}});};exports[_0xffa3('0xe1')]=function(_0x268814,_0x5cc030){return db['ChatInteraction'][_0xffa3('0x4f')]({'where':{'id':_0x268814[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x5cc030,null))[_0xffa3('0x29')](function(_0x2d4b2c){if(_0x2d4b2c){return _0x2d4b2c[_0xffa3('0xe1')](_0x268814[_0xffa3('0x51')][_0xffa3('0x61')],_[_0xffa3('0xe2')](_0x268814['body'],[_0xffa3('0x61'),'id'])||{});}})[_0xffa3('0x29')](respondWithResult(_0x5cc030,null))[_0xffa3('0x1e')](handleError(_0x5cc030,null));};exports['getInteractions']=function(_0x39ac9f,_0xdd1af4){var _0x12b667={'raw':![],'where':{}};var _0x1e61f5={};var _0x374e91={'count':0x0,'rows':[]};return db['ChatWebsite'][_0xffa3('0x5d')]({'where':{'id':_0x39ac9f['params']['id']}})['then'](handleEntityNotFound(_0xdd1af4,null))[_0xffa3('0x29')](function(_0x45e4b2){if(_0x45e4b2){_0x1e61f5[_0xffa3('0x36')]=_['keys'](db[_0xffa3('0xa4')][_0xffa3('0x34')]);_0x1e61f5[_0xffa3('0x37')]=_[_0xffa3('0x38')](_0x39ac9f['query']);_0x1e61f5[_0xffa3('0x39')]=_[_0xffa3('0x3a')](_0x1e61f5[_0xffa3('0x36')],_0x1e61f5[_0xffa3('0x37')]);_0x12b667['attributes']=_[_0xffa3('0x3a')](_0x1e61f5[_0xffa3('0x36')],qs[_0xffa3('0x3b')](_0x39ac9f['query'][_0xffa3('0x3b')]));_0x12b667[_0xffa3('0x3c')]=_0x12b667[_0xffa3('0x3c')][_0xffa3('0x4c')]?_0x12b667['attributes']:_0x1e61f5['model'];if(!_0x39ac9f['query'][_0xffa3('0x3d')](_0xffa3('0x3e'))){_0x12b667['limit']=qs[_0xffa3('0x25')](_0x39ac9f['query'][_0xffa3('0x25')]);_0x12b667[_0xffa3('0x23')]=qs[_0xffa3('0x23')](_0x39ac9f['query'][_0xffa3('0x23')]);}_0x12b667[_0xffa3('0x3f')]=qs['sort'](_0x39ac9f[_0xffa3('0x37')][_0xffa3('0x40')]);_0x12b667[_0xffa3('0x41')]=qs[_0xffa3('0x39')](_['pick'](_0x39ac9f[_0xffa3('0x37')],_0x1e61f5['filters']));_0x12b667['where'][_0xffa3('0x5a')]=_0x45e4b2['id'];if(_0x39ac9f[_0xffa3('0x37')][_0xffa3('0x43')]){_0x12b667['where']=_['merge'](_0x12b667[_0xffa3('0x41')],{'$or':_[_0xffa3('0x33')](_0x12b667[_0xffa3('0x3c')],function(_0x728761){var _0x2f6c27={};_0x2f6c27[_0x728761]={'$like':'%'+_0x39ac9f[_0xffa3('0x37')][_0xffa3('0x43')]+'%'};return _0x2f6c27;})});}_0x12b667=_[_0xffa3('0x4d')]({},_0x12b667,_0x39ac9f['options']);return db[_0xffa3('0xa4')][_0xffa3('0x26')]({'where':_0x12b667[_0xffa3('0x41')]})[_0xffa3('0x29')](function(_0x32d8f5){_0x374e91[_0xffa3('0x26')]=_0x32d8f5;if(_0x39ac9f[_0xffa3('0x37')][_0xffa3('0x46')]){_0x12b667[_0xffa3('0x47')]=[{'model':db['CmContact'],'as':_0xffa3('0xe3'),'required':![]},{'model':db[_0xffa3('0xb3')],'as':'Owner','attributes':[_0xffa3('0x2e'),'fullname',_0xffa3('0xe4')],'required':![]},{'model':db['Tag'],'as':_0xffa3('0xe5'),'attributes':['id',_0xffa3('0x2e'),_0xffa3('0xe6')],'where':_0x39ac9f['query']['tag']?{'id':_0x39ac9f[_0xffa3('0x37')][_0xffa3('0xe7')]}:undefined,'required':_0x39ac9f['query']['tag']?!![]:![]}];}return db['ChatInteraction']['findAll'](_0x12b667);})[_0xffa3('0x29')](function(_0x469bdb){_0x374e91[_0xffa3('0x49')]=_0x469bdb;return _0x374e91;});}})[_0xffa3('0x29')](respondWithFilteredResult(_0xdd1af4,_0x12b667))[_0xffa3('0x1e')](handleError(_0xdd1af4,null));};function iftimePromise(_0x304b3d,_0x30cdb2){return respondWithRpcPromise('Command',_0xffa3('0xe8'),{'command':_0x30cdb2[_0xffa3('0xe9')]?util[_0xffa3('0x9f')](_0xffa3('0xea'),_0x304b3d[_0xffa3('0xeb')],_0x30cdb2[_0xffa3('0xe9')]):util['format'](_0xffa3('0xec'),_0x304b3d[_0xffa3('0xeb')])},client9002)[_0xffa3('0x29')](function(_0x250dd0){var _0x51a56b=_0x250dd0&&_0x250dd0['indexOf'](_0xffa3('0xed'))>=0x0?!![]:![];logger[_0xffa3('0x15')](_0xffa3('0xee'),_0x30cdb2['id'],_0x304b3d['id'],_0x304b3d['interval'],_0x51a56b?_0xffa3('0xef'):_0xffa3('0xf0'),_0x30cdb2['timezone']?_0x30cdb2[_0xffa3('0xe9')]:_0xffa3('0xf1'));return _0x51a56b;})[_0xffa3('0x1e')](function(_0x54bea0){logger[_0xffa3('0x1b')](_0xffa3('0xee'),_0x30cdb2['id'],_0x304b3d['id'],_0x304b3d[_0xffa3('0xeb')],util[_0xffa3('0xf2')](_0x54bea0,{'showHidden':![],'depth':null}),_0x30cdb2['timezone']?_0x30cdb2[_0xffa3('0xe9')]:_0xffa3('0xf1'));return![];});}exports[_0xffa3('0xe8')]=function(_0x34cad4,_0x118dee){var _0x33cbde=0x0;var _0x3c9783=0x0;var _0x16288c=![];var _0x4077c4;var _0x1e3e01;return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x34cad4[_0xffa3('0x4b')]['id']},'include':[{'model':db[_0xffa3('0xf3')],'as':_0xffa3('0xf3'),'include':[{'model':db[_0xffa3('0xf3')],'as':'Intervals','attributes':['id','interval'],'raw':!![]}]}]})[_0xffa3('0x29')](handleEntityNotFound(_0x118dee,null))[_0xffa3('0x29')](function(_0x404a41){if(_0x404a41){_0x4077c4=_0x404a41;return _0x404a41[_0xffa3('0xf4')]({'raw':!![]});}})['then'](function(_0x2c5484){if(_0x4077c4){if(_0x2c5484){_0x1e3e01=_0x2c5484;}}return require(_0xffa3('0x6e'))[_0xffa3('0x6f')]();})[_0xffa3('0x29')](function(_0x37afe5){if(_0x37afe5){_0x3c9783=_0x37afe5[_0xffa3('0xf5')];_0x16288c=_0x37afe5['custom'];}})[_0xffa3('0x29')](function(){return db[_0xffa3('0xa4')][_0xffa3('0x26')]({'where':{'closed':![]}});})[_0xffa3('0x29')](function(_0x559c24){_0x33cbde=_0x559c24;if(_0x3c9783&&_0x559c24>_0x3c9783){return db[_0xffa3('0xf6')][_0xffa3('0x5d')]({'where':{'id':0x1}})['then'](function(_0x2adb69){if(_0x2adb69){_0x2adb69[_0xffa3('0xf7')](_0xffa3('0xf8'));}});}})['then'](function(){if(_0x4077c4[_0xffa3('0xf3')]&&_0x4077c4[_0xffa3('0xf3')][_0xffa3('0xf9')]){var _0x428164=[];for(var _0x6d3c0=0x0;_0x6d3c0<_0x4077c4[_0xffa3('0xf3')]['Intervals']['length'];_0x6d3c0++){var _0x29abdb=_0x4077c4[_0xffa3('0xf3')][_0xffa3('0xf9')][_0x6d3c0]['get']({'plain':!![]});_0x428164[_0xffa3('0xad')](iftimePromise(_0x29abdb,_0x4077c4));}return BPromise['all'](_0x428164)[_0xffa3('0x29')](function(_0x46a128){return _[_0xffa3('0xfa')](_0x46a128);});}else{return!![];}})[_0xffa3('0x29')](function(_0x2f1a0c){var _0x179167=fs[_0xffa3('0xc4')](path[_0xffa3('0x6a')](config['root'],'server/files/chat/iframe.ejs'),_0xffa3('0xfb'));var _0x5e1606={'remote':_0x4077c4[_0xffa3('0xfc')],'query':querystring[_0xffa3('0x1a')](_[_0xffa3('0x4d')](_0x4077c4[_0xffa3('0x2b')]({'plain':!![]}),{'customerIp':_0x34cad4[_0xffa3('0x7d')][_0xffa3('0xfd')]||_0x34cad4['headers'][_0xffa3('0xfe')]||_0x34cad4[_0xffa3('0xff')]['remoteAddress']||_0x34cad4['ip'],'referer':_0x34cad4['headers'][_0xffa3('0x9c')],'openedInteractions':_0x33cbde,'maxInteractions':_0x3c9783,'virtual':_0x16288c[_0xffa3('0xf5')],'online':_0x2f1a0c,'custom':_0x16288c}))[_0xffa3('0x100')](/'/g,'\x5c\x27')};_0x118dee[_0xffa3('0x2f')](ejs[_0xffa3('0x101')](Mustache['render'](_0x179167,_0x5e1606),{'proactiveActions':_0x1e3e01,'alignment':_0x4077c4[_0xffa3('0x102')],'verticalAlignment':_0x4077c4[_0xffa3('0x103')],'div_color':_0x4077c4[_0xffa3('0xe6')],'labelText':_0x4077c4[_0xffa3('0x104')],'text_color':_0x4077c4[_0xffa3('0x105')],'text_button_color':_0x4077c4['textButtonColor'],'button_color':_0x4077c4[_0xffa3('0x106')],'background_color':_0x4077c4[_0xffa3('0x107')],'hideWhenOffline':_0x4077c4[_0xffa3('0x108')],'interval':_0x4077c4['IntervalId']}));})[_0xffa3('0x1e')](handleError(_0x118dee,null));};exports[_0xffa3('0x109')]=function(_0x2236bf,_0x176443){var _0x3970f3=_0x2236bf['params']['id'];var _0x1dfe3d=_0x2236bf[_0xffa3('0x51')];var _0x4490a3=0xc8;var _0x24ad50=null;return db[_0xffa3('0x10a')][_0xffa3('0x10b')]({'isolationLevel':db[_0xffa3('0x10a')][_0xffa3('0x10c')][_0xffa3('0x10d')][_0xffa3('0x10e')]},function(_0xced423){return db[_0xffa3('0x45')][_0xffa3('0x5d')]({'where':{'id':_0x3970f3},'transaction':_0xced423})[_0xffa3('0x29')](function(_0x444cfc){if(_0x444cfc){return db[_0xffa3('0x10f')]['destroy']({'where':{'ChatWebsiteId':_0x3970f3},'transaction':_0xced423})['then'](function(){var _0x449d28=_[_0xffa3('0x33')](_0x1dfe3d,function(_0x54ebf8){_0x54ebf8[_0xffa3('0x5a')]=_0x3970f3;return _0x54ebf8;});return db[_0xffa3('0x10f')][_0xffa3('0x110')](_0x449d28,{'transaction':_0xced423});});}else{_0x4490a3=0x194;_0x24ad50=[];}});})[_0xffa3('0x29')](function(){if(_0x4490a3!==0x194){return db[_0xffa3('0x10f')][_0xffa3('0x111')]({'where':{'ChatWebsiteId':_0x3970f3},'order':_0xffa3('0x96')})[_0xffa3('0x29')](function(_0x4b4a44){_0x24ad50=_0x4b4a44;});}})['catch'](function(_0x14be2b){_0x4490a3=0x1f4;logger['error'](_0x14be2b[_0xffa3('0x112')]);if(_0x14be2b[_0xffa3('0x2e')]){delete _0x14be2b[_0xffa3('0x2e')];}_0x24ad50=_0x14be2b;})[_0xffa3('0x113')](function(){if(_0x24ad50===null){_0x176443[_0xffa3('0x1f')](_0x4490a3);}else{if(_0x4490a3===0x1f4){_0x176443[_0xffa3('0x20')](_0x4490a3)[_0xffa3('0x2f')](_0x24ad50);}else{_0x176443[_0xffa3('0x20')](_0x4490a3)['json'](_0x24ad50);}}});};exports['getApplications']=function(_0x388e91,_0x45f3d7){var _0x54c2e2={};var _0x5c2fdd={};var _0x3df798;var _0x40068d;return db['ChatWebsite'][_0xffa3('0x5d')]({'where':{'id':_0x388e91[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x45f3d7,null))[_0xffa3('0x29')](function(_0x470bc7){if(_0x470bc7){_0x3df798=_0x470bc7;_0x5c2fdd[_0xffa3('0x36')]=_[_0xffa3('0x38')](db['ChatApplication'][_0xffa3('0x34')]);_0x5c2fdd[_0xffa3('0x37')]=_[_0xffa3('0x38')](_0x388e91[_0xffa3('0x37')]);_0x5c2fdd[_0xffa3('0x39')]=_[_0xffa3('0x3a')](_0x5c2fdd[_0xffa3('0x36')],_0x5c2fdd[_0xffa3('0x37')]);_0x54c2e2['attributes']=_[_0xffa3('0x3a')](_0x5c2fdd[_0xffa3('0x36')],qs[_0xffa3('0x3b')](_0x388e91['query'][_0xffa3('0x3b')]));_0x54c2e2[_0xffa3('0x3c')]=_0x54c2e2['attributes'][_0xffa3('0x4c')]?_0x54c2e2[_0xffa3('0x3c')]:_0x5c2fdd[_0xffa3('0x36')];_0x54c2e2[_0xffa3('0x3f')]=qs['sort'](_0x388e91[_0xffa3('0x37')][_0xffa3('0x40')]);_0x54c2e2[_0xffa3('0x41')]=qs['filters'](_['pick'](_0x388e91[_0xffa3('0x37')],_0x5c2fdd[_0xffa3('0x39')]));if(_0x388e91[_0xffa3('0x37')]['filter']){_0x54c2e2[_0xffa3('0x41')]=_[_0xffa3('0x4d')](_0x54c2e2[_0xffa3('0x41')],{'$or':_[_0xffa3('0x33')](_0x54c2e2[_0xffa3('0x3c')],function(_0x835649){var _0x4ff854={};_0x4ff854[_0x835649]={'$like':'%'+_0x388e91[_0xffa3('0x37')][_0xffa3('0x43')]+'%'};return _0x4ff854;})});}_0x54c2e2=_[_0xffa3('0x4d')]({},_0x54c2e2,_0x388e91[_0xffa3('0x4e')]);return _0x3df798[_0xffa3('0x114')](_0x54c2e2);}})[_0xffa3('0x29')](function(_0x5779bb){if(_0x5779bb){_0x40068d=_0x5779bb[_0xffa3('0x4c')];if(!_0x388e91['query'][_0xffa3('0x3d')]('nolimit')){_0x54c2e2[_0xffa3('0x25')]=qs[_0xffa3('0x25')](_0x388e91[_0xffa3('0x37')]['limit']);_0x54c2e2[_0xffa3('0x23')]=qs[_0xffa3('0x23')](_0x388e91['query'][_0xffa3('0x23')]);}return _0x3df798['getApplications'](_0x54c2e2);}})[_0xffa3('0x29')](function(_0x227cf4){if(_0x227cf4){return _0x227cf4?{'count':_0x40068d,'rows':_0x227cf4}:null;}})[_0xffa3('0x29')](respondWithResult(_0x45f3d7,null))[_0xffa3('0x1e')](handleError(_0x45f3d7,null));};exports[_0xffa3('0x115')]=function(_0x3dc268,_0x7285ff){return db[_0xffa3('0x116')][_0xffa3('0x4f')]({'where':{'id':_0x3dc268[_0xffa3('0x4b')]['id']}})['then'](handleEntityNotFound(_0x7285ff,null))['then'](function(_0x240801){if(_0x240801){return _0x240801[_0xffa3('0x115')](_0x3dc268[_0xffa3('0x51')][_0xffa3('0x61')],_[_0xffa3('0xe2')](_0x3dc268[_0xffa3('0x51')],[_0xffa3('0x61'),'id'])||{});}})['then'](respondWithResult(_0x7285ff,null))[_0xffa3('0x1e')](handleError(_0x7285ff,null));};exports[_0xffa3('0xf4')]=function(_0x1db794,_0x36fca5){var _0x100611={};var _0x2c27de={};var _0x12b521;var _0x3e1f60;return db[_0xffa3('0x45')][_0xffa3('0x5d')]({'where':{'id':_0x1db794[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x36fca5,null))[_0xffa3('0x29')](function(_0x541d14){if(_0x541d14){_0x12b521=_0x541d14;_0x2c27de[_0xffa3('0x36')]=_['keys'](db[_0xffa3('0x117')]['rawAttributes']);_0x2c27de['query']=_[_0xffa3('0x38')](_0x1db794[_0xffa3('0x37')]);_0x2c27de[_0xffa3('0x39')]=_['intersection'](_0x2c27de['model'],_0x2c27de[_0xffa3('0x37')]);_0x100611[_0xffa3('0x3c')]=_[_0xffa3('0x3a')](_0x2c27de[_0xffa3('0x36')],qs[_0xffa3('0x3b')](_0x1db794[_0xffa3('0x37')]['fields']));_0x100611[_0xffa3('0x3c')]=_0x100611['attributes'][_0xffa3('0x4c')]?_0x100611[_0xffa3('0x3c')]:_0x2c27de[_0xffa3('0x36')];_0x100611['order']=qs['sort'](_0x1db794['query'][_0xffa3('0x40')]);_0x100611['where']=qs[_0xffa3('0x39')](_[_0xffa3('0x42')](_0x1db794['query'],_0x2c27de['filters']));if(_0x1db794[_0xffa3('0x37')][_0xffa3('0x43')]){_0x100611[_0xffa3('0x41')]=_[_0xffa3('0x4d')](_0x100611[_0xffa3('0x41')],{'$or':_[_0xffa3('0x33')](_0x100611['attributes'],function(_0x211790){var _0x288f3b={};_0x288f3b[_0x211790]={'$like':'%'+_0x1db794['query'][_0xffa3('0x43')]+'%'};return _0x288f3b;})});}_0x100611=_[_0xffa3('0x4d')]({},_0x100611,_0x1db794[_0xffa3('0x4e')]);return _0x12b521['getProactiveActions'](_0x100611);}})[_0xffa3('0x29')](function(_0x17c249){if(_0x17c249){_0x3e1f60=_0x17c249[_0xffa3('0x4c')];if(!_0x1db794[_0xffa3('0x37')][_0xffa3('0x3d')](_0xffa3('0x3e'))){_0x100611['limit']=qs[_0xffa3('0x25')](_0x1db794[_0xffa3('0x37')]['limit']);_0x100611[_0xffa3('0x23')]=qs['offset'](_0x1db794[_0xffa3('0x37')][_0xffa3('0x23')]);}return _0x12b521[_0xffa3('0xf4')](_0x100611);}})[_0xffa3('0x29')](function(_0x55f518){if(_0x55f518){return _0x55f518?{'count':_0x3e1f60,'rows':_0x55f518}:null;}})['then'](respondWithResult(_0x36fca5,null))[_0xffa3('0x1e')](handleError(_0x36fca5,null));};exports[_0xffa3('0x118')]=function(_0x462db9,_0x9cb447){var _0x59a204=_0x462db9['query'][_0xffa3('0x119')]===_0xffa3('0x11a')?'offlineForm':'onlineForm';return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'attributes':['id',_0x59a204],'where':{'id':_0x462db9[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x9cb447,null))['then'](function(_0x330c48){if(_0x330c48){var _0x36a6f8=_0x330c48[_0x59a204];var _0x3ab079=_0x36a6f8&&_0x36a6f8[_0xffa3('0x11b')]?_0x36a6f8[_0xffa3('0x11b')]:[];_0x9cb447[_0xffa3('0x2f')]({'fromKey':_[_0xffa3('0x71')](_0x36a6f8[_0xffa3('0x11c')])?undefined:_0x36a6f8[_0xffa3('0x11c')],'count':_0x3ab079['length'],'rows':_0x3ab079});}})[_0xffa3('0x1e')](handleError(_0x9cb447,null));};exports[_0xffa3('0x11d')]=function(_0x1f9c0b,_0x476960){var _0x1f74eb={'raw':![],'where':{}};var _0x47e0c3={};var _0x1550cf={'count':0x0,'rows':[]};return db['ChatWebsite']['findOne']({'where':{'id':_0x1f9c0b[_0xffa3('0x4b')]['id']}})['then'](handleEntityNotFound(_0x476960,null))[_0xffa3('0x29')](function(_0x317f33){if(_0x317f33){_0x47e0c3[_0xffa3('0x36')]=_[_0xffa3('0x38')](db[_0xffa3('0xc7')][_0xffa3('0x34')]);_0x47e0c3[_0xffa3('0x37')]=_[_0xffa3('0x38')](_0x1f9c0b[_0xffa3('0x37')]);_0x47e0c3[_0xffa3('0x39')]=_['intersection'](_0x47e0c3[_0xffa3('0x36')],_0x47e0c3['query']);_0x1f74eb[_0xffa3('0x3c')]=_['intersection'](_0x47e0c3[_0xffa3('0x36')],qs['fields'](_0x1f9c0b[_0xffa3('0x37')][_0xffa3('0x3b')]));_0x1f74eb[_0xffa3('0x3c')]=_0x1f74eb[_0xffa3('0x3c')][_0xffa3('0x4c')]?_0x1f74eb[_0xffa3('0x3c')]:_0x47e0c3[_0xffa3('0x36')];if(!_0x1f9c0b['query'][_0xffa3('0x3d')](_0xffa3('0x3e'))){_0x1f74eb[_0xffa3('0x25')]=qs[_0xffa3('0x25')](_0x1f9c0b[_0xffa3('0x37')][_0xffa3('0x25')]);_0x1f74eb['offset']=qs[_0xffa3('0x23')](_0x1f9c0b[_0xffa3('0x37')][_0xffa3('0x23')]);}_0x1f74eb['order']=qs[_0xffa3('0x40')](_0x1f9c0b[_0xffa3('0x37')][_0xffa3('0x40')]);_0x1f74eb[_0xffa3('0x41')]=qs[_0xffa3('0x39')](_[_0xffa3('0x42')](_0x1f9c0b['query'],_0x47e0c3[_0xffa3('0x39')]));_0x1f74eb[_0xffa3('0x41')][_0xffa3('0x5a')]=_0x317f33['id'];if(_0x1f9c0b['query']['filter']){_0x1f74eb[_0xffa3('0x41')]=_[_0xffa3('0x4d')](_0x1f74eb[_0xffa3('0x41')],{'$or':_[_0xffa3('0x33')](_0x1f74eb[_0xffa3('0x3c')],function(_0xb30f50){var _0x33e0b4={};_0x33e0b4[_0xb30f50]={'$like':'%'+_0x1f9c0b[_0xffa3('0x37')][_0xffa3('0x43')]+'%'};return _0x33e0b4;})});}_0x1f74eb=_[_0xffa3('0x4d')]({},_0x1f74eb,_0x1f9c0b[_0xffa3('0x4e')]);return db[_0xffa3('0xc7')][_0xffa3('0x26')]({'where':_0x1f74eb[_0xffa3('0x41')]})[_0xffa3('0x29')](function(_0x55089f){_0x1550cf[_0xffa3('0x26')]=_0x55089f;if(_0x1f9c0b[_0xffa3('0x37')]['includeAll']){_0x1f74eb[_0xffa3('0x47')]=[{'all':!![]}];}else{_0x1f74eb[_0xffa3('0x47')]=[{'model':db[_0xffa3('0x80')],'as':_0xffa3('0xe3'),'required':![]},{'model':db['Attachment'],'as':'Attachments','required':![]}];}return db[_0xffa3('0xc7')][_0xffa3('0x48')](_0x1f74eb);})['then'](function(_0x4aae4d){_0x1550cf[_0xffa3('0x49')]=_0x4aae4d;return _0x1550cf;});}})[_0xffa3('0x29')](respondWithFilteredResult(_0x476960,_0x1f74eb))[_0xffa3('0x1e')](handleError(_0x476960,null));};exports[_0xffa3('0x11e')]=function(_0x12fd1c,_0x54407f){return db[_0xffa3('0x45')][_0xffa3('0x4f')]({'where':{'id':_0x12fd1c['params']['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x54407f,null))[_0xffa3('0x29')](function(_0x5a1dc5){if(_0x5a1dc5){return _0x5a1dc5[_0xffa3('0x11e')](_0x12fd1c['body'][_0xffa3('0x61')],_['omit'](_0x12fd1c[_0xffa3('0x51')],[_0xffa3('0x61'),'id'])||{})[_0xffa3('0xa8')](function(_0x6690a4){for(var _0x3b012d=0x0;_0x3b012d<_0x12fd1c[_0xffa3('0x51')]['ids'][_0xffa3('0x4c')];_0x3b012d+=0x1){socket[_0xffa3('0x11f')](_0xffa3('0x120'),{'UserId':Number(_0x12fd1c[_0xffa3('0x51')][_0xffa3('0x61')][_0x3b012d]),'ChatWebsiteId':Number(_0x12fd1c[_0xffa3('0x4b')]['id'])});}return _0x6690a4;});}})[_0xffa3('0x29')](respondWithResult(_0x54407f,null))['catch'](handleError(_0x54407f,null));};exports['removeAgents']=function(_0x9a537,_0x29259c){return db[_0xffa3('0x45')]['find']({'where':{'id':_0x9a537[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x29259c,null))[_0xffa3('0x29')](function(_0x518cf0){if(_0x518cf0){return _0x518cf0[_0xffa3('0x121')](_0x9a537[_0xffa3('0x37')]['ids'])['then'](function(){if(_[_0xffa3('0x122')](_0x9a537[_0xffa3('0x37')][_0xffa3('0x61')])){for(var _0x1cef22=0x0;_0x1cef22<_0x9a537['query']['ids']['length'];_0x1cef22+=0x1){socket['emit'](_0xffa3('0x123'),{'UserId':Number(_0x9a537[_0xffa3('0x37')][_0xffa3('0x61')][_0x1cef22]),'ChatWebsiteId':Number(_0x9a537[_0xffa3('0x4b')]['id'])});}}else{socket[_0xffa3('0x11f')](_0xffa3('0x123'),{'UserId':Number(_0x9a537[_0xffa3('0x37')][_0xffa3('0x61')]),'ChatWebsiteId':Number(_0x9a537[_0xffa3('0x4b')]['id'])});}});}})[_0xffa3('0x29')](respondWithStatusCode(_0x29259c,null))[_0xffa3('0x1e')](handleError(_0x29259c,null));};exports[_0xffa3('0x124')]=function(_0xfb857a,_0x25d141){var _0x28fc87={};var _0x12344a={};var _0x4ae53c;var _0x428c86;return db['ChatWebsite']['findOne']({'where':{'id':_0xfb857a[_0xffa3('0x4b')]['id']}})[_0xffa3('0x29')](handleEntityNotFound(_0x25d141,null))[_0xffa3('0x29')](function(_0x49bc1e){if(_0x49bc1e){_0x4ae53c=_0x49bc1e;_0x12344a[_0xffa3('0x36')]=_[_0xffa3('0x38')](db[_0xffa3('0xb3')][_0xffa3('0x34')]);_0x12344a[_0xffa3('0x37')]=_[_0xffa3('0x38')](_0xfb857a[_0xffa3('0x37')]);_0x12344a['filters']=_[_0xffa3('0x3a')](_0x12344a[_0xffa3('0x36')],_0x12344a[_0xffa3('0x37')]);_0x28fc87[_0xffa3('0x3c')]=_[_0xffa3('0x3a')](_0x12344a[_0xffa3('0x36')],qs[_0xffa3('0x3b')](_0xfb857a[_0xffa3('0x37')][_0xffa3('0x3b')]));_0x28fc87[_0xffa3('0x3c')]=_0x28fc87[_0xffa3('0x3c')][_0xffa3('0x4c')]?_0x28fc87[_0xffa3('0x3c')]:_0x12344a['model'];_0x28fc87[_0xffa3('0x3f')]=qs[_0xffa3('0x40')](_0xfb857a[_0xffa3('0x37')][_0xffa3('0x40')]);_0x28fc87['where']=qs[_0xffa3('0x39')](_[_0xffa3('0x42')](_0xfb857a[_0xffa3('0x37')],_0x12344a['filters']));if(_0xfb857a['query'][_0xffa3('0x43')]){_0x28fc87[_0xffa3('0x41')]=_[_0xffa3('0x4d')](_0x28fc87[_0xffa3('0x41')],{'$or':_[_0xffa3('0x33')](_0x28fc87[_0xffa3('0x3c')],function(_0x342770){var _0x12c8b0={};_0x12c8b0[_0x342770]={'$like':'%'+_0xfb857a[_0xffa3('0x37')][_0xffa3('0x43')]+'%'};return _0x12c8b0;})});}_0x28fc87=_['merge']({},_0x28fc87,_0xfb857a[_0xffa3('0x4e')]);return _0x4ae53c[_0xffa3('0x124')](_0x28fc87);}})[_0xffa3('0x29')](function(_0x1994c3){if(_0x1994c3){_0x428c86=_0x1994c3[_0xffa3('0x4c')];if(!_0xfb857a[_0xffa3('0x37')][_0xffa3('0x3d')]('nolimit')){_0x28fc87[_0xffa3('0x25')]=qs[_0xffa3('0x25')](_0xfb857a[_0xffa3('0x37')][_0xffa3('0x25')]);_0x28fc87[_0xffa3('0x23')]=qs[_0xffa3('0x23')](_0xfb857a[_0xffa3('0x37')][_0xffa3('0x23')]);}return _0x4ae53c[_0xffa3('0x124')](_0x28fc87);}})[_0xffa3('0x29')](function(_0x45db5f){if(_0x45db5f){return _0x45db5f?{'count':_0x428c86,'rows':_0x45db5f}:null;}})[_0xffa3('0x29')](respondWithResult(_0x25d141,null))[_0xffa3('0x1e')](handleError(_0x25d141,null));};