c472aea2a46b082f1d8247ac2744b16cf9257f26
[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 _0xfeac=['customerAvatar','showCustomerAvatar','getSystemAvatar','server/files/images/avatars/system_avatar.png','download','user-agent-parser','setUA','headers','getResult','chat','CmContact','Sequelize','ValidationError','no\x20available\x20attributes','difference','ListId','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','List','Contacts','DESC','ChatApplication','account','Applications','list','applications','orderBy','priority','asc','defaults','contact','customerIp','cf-connecting-ip','x-forwarded-for','first','split','firstName','x-real-port','referer','browser','format','%s\x20%s','version','unknown','device','vendor','%s\x20%s\x20%s','stringify','threadId','ChatInteraction','externalUrl','ContactId','interaction','spread','lastName','messageId','created','push','*,*,*,*','ChatMessage','AttachmentId','UserId','User','unshift','agent','Start','startRouting','notify','offline','files','createdAt','updatedAt','mapKeyOffline','mapKeyOffline\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','send','mapKeyOffline\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','MailAccount','findOrCreate','readFileSync','server/files/templates/chatOfflineMessage.ejs','utf8','render','offlineMessageBody','ChatOfflineMessage','fromString','mimetype','server','attachments','offline-chat','basename','openNewInteraction','sequelize','transaction','Attachment','MailServerOut','Smtp','CloudProvider','forwardOffline','forwardOfflineAddress','sendMail','\x22%s\x22\x20<%s>','offlineMessageSubject','MailAccountId','originalname','subjectOffline','toPairsIn','mapValues','email','Chat','NotifyMailAccount','remove','Could\x20not\x20remove\x20attachment\x20file','addInteraction','omit','Contact','Owner','fullname','internal','Tags','color','tag','rows','Command','getSnippet','timezone','iftime\x20%s,%s','iftime\x20%s','interval','indexOf','true','[%s][INTERVAL][%s]\x20%s\x20%s\x20(%s)','ONLINE','OFFLINE','No\x20timezone','inspect','Interval','getProactiveActions','License','increment','chatLicenseExceeded','Intervals','all','some','origin','3.1.0','remote','x-real-ip','connection','remoteAddress','virtual','replace','verticalAlignment','labelText','textColor','textButtonColor','color_button','backgroundColor','hideWhenOffline','READ_COMMITTED','bulkCreate','findAndCountAll','finally','getApplications','addProactiveActions','chatProactiveAction','getFields','online','false','offlineForm','onlineForm','items','fromKey','getOfflineMessages','Attachments','addAgents','userChatWebsite:save','removeAgents','isArray','userChatWebsite:remove','emit','getAgents','bluebird','mustache','util','path','ejs','fs-extra','lodash','querystring','ioredis','../../components/parsers/qs','api','../../config/environment','url','../../mysqldb','redis','localhost','socket.io-emitter','./chatWebsite.socket','html-to-text','jayson/promise','client','http','request','then','info','debug','ChatWebsite,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','ChatWebsite,\x20%s,\x20%s','result','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','json','update','destroy','get','UserProfileResource','stack','name','index','Pause','mandatoryDispositionPause','map','ChatWebsite','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','order','sort','where','filter','VIRTUAL','merge','options','includeAll','include','findAll','show','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','ChatWebsiteId','getDispositions','findOne','Disposition','nolimit','pick','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','hasOwnProperty','removeAnswers','addLogo','sitepic','file','filename','addCustomerAvatar','addSystemAvatar','systemAvatar','getLogo','join','root','server/files/images/logos/default_logo.svg','../../config/license/util','getLicense','custom','existsSync','server/files/images/logos/','getAvatar','isNil','agentAvatar','server/files/images/avatars/','server/files/images/avatars/customer_avatar.png'];(function(_0x208327,_0x26b904){var _0x3127bd=function(_0x424aa6){while(--_0x424aa6){_0x208327['push'](_0x208327['shift']());}};_0x3127bd(++_0x26b904);}(_0xfeac,0xba));var _0xcfea=function(_0x55b433,_0x1de67d){_0x55b433=_0x55b433-0x0;var _0x20e28e=_0xfeac[_0x55b433];return _0x20e28e;};'use strict';var BPromise=require(_0xcfea('0x0'));var Mustache=require(_0xcfea('0x1'));var util=require(_0xcfea('0x2'));var path=require(_0xcfea('0x3'));var ejs=require(_0xcfea('0x4'));var fs=require('fs');var fs_extra=require(_0xcfea('0x5'));var _=require(_0xcfea('0x6'));var querystring=require(_0xcfea('0x7'));var Redis=require(_0xcfea('0x8'));var qs=require(_0xcfea('0x9'));var logger=require('../../config/logger')(_0xcfea('0xa'));var config=require(_0xcfea('0xb'));var url=require(_0xcfea('0xc'));var db=require(_0xcfea('0xd'))['db'];config[_0xcfea('0xe')]=_['defaults'](config[_0xcfea('0xe')],{'host':_0xcfea('0xf'),'port':0x18eb});var socket=require(_0xcfea('0x10'))(new Redis(config[_0xcfea('0xe')]));require(_0xcfea('0x11'))['register'](socket);var htmlToText=require(_0xcfea('0x12'));var jayson=require(_0xcfea('0x13'));var client=jayson[_0xcfea('0x14')][_0xcfea('0x15')]({'port':0x232c});var client9002=jayson[_0xcfea('0x14')][_0xcfea('0x15')]({'port':0x232a});var client9003=jayson[_0xcfea('0x14')][_0xcfea('0x15')]({'port':0x232b});var client9001=jayson[_0xcfea('0x14')]['http']({'port':0x2329});function respondWithRpcPromise(_0x26fd3d,_0x4c7672,_0x14c681,_0x4e3757){return new BPromise(function(_0x2926d6,_0x40e87f){var _0x408e3a=_0x4e3757||client;return _0x408e3a[_0xcfea('0x16')](_0x26fd3d,_0x14c681)[_0xcfea('0x17')](function(_0xa73df5){logger[_0xcfea('0x18')]('ChatWebsite,\x20%s,\x20%s',_0x4c7672,'request\x20sent');logger[_0xcfea('0x19')](_0xcfea('0x1a'),_0x4c7672,_0xcfea('0x1b'),JSON['stringify'](_0xa73df5));if(_0xa73df5[_0xcfea('0x1c')]){if(_0xa73df5[_0xcfea('0x1c')][_0xcfea('0x1d')]===0x1f4){logger[_0xcfea('0x1c')]('ChatWebsite,\x20%s,\x20%s',_0x4c7672,_0xa73df5[_0xcfea('0x1c')][_0xcfea('0x1e')]);return _0x40e87f(_0xa73df5[_0xcfea('0x1c')][_0xcfea('0x1e')]);}logger['error'](_0xcfea('0x1f'),_0x4c7672,_0xa73df5['error']['message']);return _0x2926d6(_0xa73df5['error'][_0xcfea('0x1e')]);}else{logger[_0xcfea('0x18')]('ChatWebsite,\x20%s,\x20%s',_0x4c7672,_0xcfea('0x1b'));_0x2926d6(_0xa73df5[_0xcfea('0x20')][_0xcfea('0x1e')]);}})['catch'](function(_0x1ba1ef){logger[_0xcfea('0x1c')](_0xcfea('0x1f'),_0x4c7672,_0x1ba1ef);_0x40e87f(_0x1ba1ef);});});}function respondWithStatusCode(_0x4cee74,_0x9b738e){_0x9b738e=_0x9b738e||0xcc;return function(_0x3f6637){if(_0x3f6637){return _0x4cee74[_0xcfea('0x21')](_0x9b738e);}return _0x4cee74[_0xcfea('0x22')](_0x9b738e)[_0xcfea('0x23')]();};}function respondWithResult(_0x8038cd,_0x3dcde3){_0x3dcde3=_0x3dcde3||0xc8;return function(_0x3c7434){if(_0x3c7434){return _0x8038cd['status'](_0x3dcde3)['json'](_0x3c7434);}};}function respondWithFilteredResult(_0x5dcd63,_0x67dfa7){return function(_0x16babe){if(_0x16babe){var _0x1e689f=typeof _0x67dfa7[_0xcfea('0x24')]===_0xcfea('0x25')&&typeof _0x67dfa7['limit']===_0xcfea('0x25');var _0x1988b0=_0x16babe['count'];var _0x1c5a69=_0x1e689f?0x0:_0x67dfa7[_0xcfea('0x24')];var _0x3488d6=_0x1e689f?_0x16babe[_0xcfea('0x26')]:_0x67dfa7['offset']+_0x67dfa7[_0xcfea('0x27')];var _0x3279b4;if(_0x3488d6>=_0x1988b0){_0x3488d6=_0x1988b0;_0x3279b4=0xc8;}else{_0x3279b4=0xce;}_0x5dcd63[_0xcfea('0x22')](_0x3279b4);return _0x5dcd63[_0xcfea('0x28')](_0xcfea('0x29'),_0x1c5a69+'-'+_0x3488d6+'/'+_0x1988b0)[_0xcfea('0x2a')](_0x16babe);}return null;};}function saveUpdates(_0x28c14e){return function(_0x3bf88a){if(_0x3bf88a){return _0x3bf88a[_0xcfea('0x2b')](_0x28c14e)[_0xcfea('0x17')](function(_0x539a32){return _0x539a32;});}return null;};}function removeEntity(_0x1b8c6d){return function(_0xba88c0){if(_0xba88c0){return _0xba88c0[_0xcfea('0x2c')]()[_0xcfea('0x17')](function(){var _0x567429=_0xba88c0[_0xcfea('0x2d')]({'plain':!![]});var _0x475e05='ChatWebsites';return db[_0xcfea('0x2e')][_0xcfea('0x2c')]({'where':{'type':_0x475e05,'resourceId':_0x567429['id']}})['then'](function(){return _0xba88c0;});})[_0xcfea('0x17')](function(){_0x1b8c6d[_0xcfea('0x22')](0xcc)['end']();});}};}function handleEntityNotFound(_0x59030c){return function(_0x526d2e){if(!_0x526d2e){_0x59030c[_0xcfea('0x21')](0x194);}return _0x526d2e;};}function handleError(_0x1846a6,_0x8600e3){_0x8600e3=_0x8600e3||0x1f4;return function(_0x530b9d){logger[_0xcfea('0x1c')](_0x530b9d[_0xcfea('0x2f')]);if(_0x530b9d[_0xcfea('0x30')]){delete _0x530b9d[_0xcfea('0x30')];}_0x1846a6[_0xcfea('0x22')](_0x8600e3)['send'](_0x530b9d);};}exports[_0xcfea('0x31')]=function(_0x3a830f,_0x27e748){var _0x582de8={'include':[{'model':db[_0xcfea('0x32')],'as':_0xcfea('0x33')}]},_0x5bd4aa={},_0x55fb3c={'count':0x0,'rows':[]};var _0x546893=_[_0xcfea('0x34')](db[_0xcfea('0x35')][_0xcfea('0x36')],function(_0x20d0f8){return{'name':_0x20d0f8[_0xcfea('0x37')],'type':_0x20d0f8[_0xcfea('0x38')][_0xcfea('0x39')]};});_0x5bd4aa[_0xcfea('0x3a')]=_[_0xcfea('0x34')](_0x546893,_0xcfea('0x30'));_0x5bd4aa[_0xcfea('0x3b')]=_[_0xcfea('0x3c')](_0x3a830f['query']);_0x5bd4aa[_0xcfea('0x3d')]=_[_0xcfea('0x3e')](_0x5bd4aa[_0xcfea('0x3a')],_0x5bd4aa['query']);_0x582de8[_0xcfea('0x3f')]=_[_0xcfea('0x3e')](_0x5bd4aa[_0xcfea('0x3a')],qs[_0xcfea('0x40')](_0x3a830f['query'][_0xcfea('0x40')]));_0x582de8[_0xcfea('0x3f')]=_0x582de8['attributes'][_0xcfea('0x41')]?_0x582de8['attributes']:_0x5bd4aa[_0xcfea('0x3a')];if(!_0x3a830f[_0xcfea('0x3b')]['hasOwnProperty']('nolimit')){_0x582de8[_0xcfea('0x27')]=qs[_0xcfea('0x27')](_0x3a830f['query']['limit']);_0x582de8['offset']=qs[_0xcfea('0x24')](_0x3a830f['query'][_0xcfea('0x24')]);}_0x582de8[_0xcfea('0x42')]=qs[_0xcfea('0x43')](_0x3a830f[_0xcfea('0x3b')][_0xcfea('0x43')]);_0x582de8[_0xcfea('0x44')]=qs[_0xcfea('0x3d')](_['pick'](_0x3a830f[_0xcfea('0x3b')],_0x5bd4aa['filters']),_0x546893);if(_0x3a830f[_0xcfea('0x3b')][_0xcfea('0x45')]){_0x582de8[_0xcfea('0x44')]=_['merge'](_0x582de8['where'],{'$or':_[_0xcfea('0x34')](_0x546893,function(_0x1d98cd){if(_0x1d98cd[_0xcfea('0x38')]!==_0xcfea('0x46')){var _0x2a6666={};_0x2a6666[_0x1d98cd[_0xcfea('0x30')]]={'$like':'%'+_0x3a830f['query'][_0xcfea('0x45')]+'%'};return _0x2a6666;}})});}_0x582de8=_[_0xcfea('0x47')]({},_0x582de8,_0x3a830f[_0xcfea('0x48')]);var _0x25ee9b={'where':_0x582de8[_0xcfea('0x44')]};return db[_0xcfea('0x35')][_0xcfea('0x26')](_0x25ee9b)[_0xcfea('0x17')](function(_0x4f2b6d){_0x55fb3c[_0xcfea('0x26')]=_0x4f2b6d;if(_0x3a830f[_0xcfea('0x3b')][_0xcfea('0x49')]){_0x582de8[_0xcfea('0x4a')]=[{'all':!![]}];}return db[_0xcfea('0x35')][_0xcfea('0x4b')](_0x582de8);})[_0xcfea('0x17')](function(_0x47579b){_0x55fb3c['rows']=_0x47579b;return _0x55fb3c;})[_0xcfea('0x17')](respondWithFilteredResult(_0x27e748,_0x582de8))['catch'](handleError(_0x27e748,null));};exports[_0xcfea('0x4c')]=function(_0x3f91a1,_0x3ffb48){var _0x785a3d={'raw':![],'where':{'id':_0x3f91a1[_0xcfea('0x4d')]['id']},'include':[{'model':db[_0xcfea('0x32')],'as':'mandatoryDispositionPause'}]},_0x4b29e9={};_0x4b29e9[_0xcfea('0x3a')]=_['keys'](db[_0xcfea('0x35')]['rawAttributes']);_0x4b29e9[_0xcfea('0x3b')]=_['keys'](_0x3f91a1[_0xcfea('0x3b')]);_0x4b29e9[_0xcfea('0x3d')]=_['intersection'](_0x4b29e9[_0xcfea('0x3a')],_0x4b29e9[_0xcfea('0x3b')]);_0x785a3d[_0xcfea('0x3f')]=_['intersection'](_0x4b29e9[_0xcfea('0x3a')],qs[_0xcfea('0x40')](_0x3f91a1[_0xcfea('0x3b')]['fields']));_0x785a3d['attributes']=_0x785a3d['attributes']['length']?_0x785a3d[_0xcfea('0x3f')]:_0x4b29e9[_0xcfea('0x3a')];if(_0x3f91a1[_0xcfea('0x3b')][_0xcfea('0x49')]){_0x785a3d[_0xcfea('0x4a')]=[{'all':!![]}];}_0x785a3d=_[_0xcfea('0x47')]({},_0x785a3d,_0x3f91a1[_0xcfea('0x48')]);return db['ChatWebsite'][_0xcfea('0x4e')](_0x785a3d)[_0xcfea('0x17')](handleEntityNotFound(_0x3ffb48,null))[_0xcfea('0x17')](respondWithResult(_0x3ffb48,null))['catch'](handleError(_0x3ffb48,null));};exports[_0xcfea('0x4f')]=function(_0x3e4fea,_0x14ab74){return db[_0xcfea('0x35')]['create'](_0x3e4fea[_0xcfea('0x50')],{})[_0xcfea('0x17')](function(_0x4d9fd0){var _0x3accbb=_0x3e4fea[_0xcfea('0x51')][_0xcfea('0x2d')]({'plain':!![]});if(!_0x3accbb)throw new Error(_0xcfea('0x52'));if(_0x3accbb[_0xcfea('0x53')]==='user'){var _0x4f7752=_0x4d9fd0[_0xcfea('0x2d')]({'plain':!![]});var _0x5ad7d7='ChatWebsites';return db[_0xcfea('0x54')][_0xcfea('0x4e')]({'where':{'name':_0x5ad7d7,'userProfileId':_0x3accbb[_0xcfea('0x55')]},'raw':!![]})['then'](function(_0x35e6f9){if(_0x35e6f9&&_0x35e6f9['autoAssociation']===0x0){return db[_0xcfea('0x2e')][_0xcfea('0x4f')]({'name':_0x4f7752[_0xcfea('0x30')],'resourceId':_0x4f7752['id'],'type':_0x35e6f9[_0xcfea('0x30')],'sectionId':_0x35e6f9['id']},{})[_0xcfea('0x17')](function(){return _0x4d9fd0;});}else{return _0x4d9fd0;}})[_0xcfea('0x56')](function(_0x21c18f){logger[_0xcfea('0x1c')](_0xcfea('0x57'),_0x21c18f);throw _0x21c18f;});}return _0x4d9fd0;})[_0xcfea('0x17')](respondWithResult(_0x14ab74,0xc9))[_0xcfea('0x56')](handleError(_0x14ab74,null));};exports['update']=function(_0x1f6677,_0x574188){if(_0x1f6677[_0xcfea('0x50')]['id']){delete _0x1f6677['body']['id'];}return db['ChatWebsite'][_0xcfea('0x4e')]({'where':{'id':_0x1f6677[_0xcfea('0x4d')]['id']},'include':[{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})['then'](handleEntityNotFound(_0x574188,null))[_0xcfea('0x17')](saveUpdates(_0x1f6677[_0xcfea('0x50')],null))[_0xcfea('0x17')](respondWithResult(_0x574188,null))['catch'](handleError(_0x574188,null));};exports[_0xcfea('0x2c')]=function(_0x70ae5f,_0x21f7ad){return db[_0xcfea('0x35')][_0xcfea('0x4e')]({'where':{'id':_0x70ae5f[_0xcfea('0x4d')]['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x21f7ad,null))[_0xcfea('0x17')](removeEntity(_0x21f7ad,null))['catch'](handleError(_0x21f7ad,null));};exports[_0xcfea('0x58')]=function(_0x1a44cb,_0x5cb1b8){return db['ChatWebsite'][_0xcfea('0x58')]()[_0xcfea('0x17')](respondWithResult(_0x5cb1b8,null))[_0xcfea('0x56')](handleError(_0x5cb1b8,null));};exports[_0xcfea('0x59')]=function(_0x5c1066,_0x42010c){if(_0x5c1066[_0xcfea('0x50')]['id']){delete _0x5c1066[_0xcfea('0x50')]['id'];}return db[_0xcfea('0x35')][_0xcfea('0x4e')]({'where':{'id':_0x5c1066['params']['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x42010c,null))[_0xcfea('0x17')](function(_0x479d03){if(_0x479d03){_0x5c1066['body'][_0xcfea('0x5a')]=_0x479d03['id'];return db['Disposition'][_0xcfea('0x4f')](_0x5c1066['body']);}})[_0xcfea('0x17')](respondWithResult(_0x42010c,null))['catch'](handleError(_0x42010c,null));};exports[_0xcfea('0x5b')]=function(_0x3b51f6,_0xd9df9d){var _0x3eab88={'raw':![],'where':{}};var _0x5d5990={};var _0x4a2a88={'count':0x0,'rows':[]};return db[_0xcfea('0x35')][_0xcfea('0x5c')]({'where':{'id':_0x3b51f6[_0xcfea('0x4d')]['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0xd9df9d,null))['then'](function(_0x29de50){if(_0x29de50){_0x5d5990['model']=_[_0xcfea('0x3c')](db[_0xcfea('0x5d')][_0xcfea('0x36')]);_0x5d5990[_0xcfea('0x3b')]=_['keys'](_0x3b51f6[_0xcfea('0x3b')]);_0x5d5990[_0xcfea('0x3d')]=_[_0xcfea('0x3e')](_0x5d5990['model'],_0x5d5990[_0xcfea('0x3b')]);_0x3eab88[_0xcfea('0x3f')]=_['intersection'](_0x5d5990[_0xcfea('0x3a')],qs[_0xcfea('0x40')](_0x3b51f6[_0xcfea('0x3b')]['fields']));_0x3eab88[_0xcfea('0x3f')]=_0x3eab88[_0xcfea('0x3f')][_0xcfea('0x41')]?_0x3eab88[_0xcfea('0x3f')]:_0x5d5990[_0xcfea('0x3a')];if(!_0x3b51f6['query']['hasOwnProperty'](_0xcfea('0x5e'))){_0x3eab88['limit']=qs[_0xcfea('0x27')](_0x3b51f6[_0xcfea('0x3b')][_0xcfea('0x27')]);_0x3eab88[_0xcfea('0x24')]=qs[_0xcfea('0x24')](_0x3b51f6[_0xcfea('0x3b')]['offset']);}_0x3eab88[_0xcfea('0x42')]=qs[_0xcfea('0x43')](_0x3b51f6[_0xcfea('0x3b')][_0xcfea('0x43')]);_0x3eab88[_0xcfea('0x44')]=qs[_0xcfea('0x3d')](_[_0xcfea('0x5f')](_0x3b51f6[_0xcfea('0x3b')],_0x5d5990['filters']));_0x3eab88[_0xcfea('0x44')][_0xcfea('0x5a')]=_0x29de50['id'];if(_0x3b51f6[_0xcfea('0x3b')][_0xcfea('0x45')]){_0x3eab88[_0xcfea('0x44')]=_[_0xcfea('0x47')](_0x3eab88[_0xcfea('0x44')],{'$or':_[_0xcfea('0x34')](_0x3eab88[_0xcfea('0x3f')],function(_0x457208){var _0x5d273f={};_0x5d273f[_0x457208]={'$like':'%'+_0x3b51f6[_0xcfea('0x3b')][_0xcfea('0x45')]+'%'};return _0x5d273f;})});}_0x3eab88=_['merge']({},_0x3eab88,_0x3b51f6[_0xcfea('0x48')]);return db[_0xcfea('0x5d')][_0xcfea('0x26')]({'where':_0x3eab88[_0xcfea('0x44')]})[_0xcfea('0x17')](function(_0xcbca8d){_0x4a2a88[_0xcfea('0x26')]=_0xcbca8d;if(_0x3b51f6[_0xcfea('0x3b')][_0xcfea('0x49')]){_0x3eab88[_0xcfea('0x4a')]=[{'all':!![]}];}return db['Disposition'][_0xcfea('0x4b')](_0x3eab88);})['then'](function(_0x4d08d5){_0x4a2a88['rows']=_0x4d08d5;return _0x4a2a88;});}})['then'](respondWithFilteredResult(_0xd9df9d,_0x3eab88))[_0xcfea('0x56')](handleError(_0xd9df9d,null));};exports[_0xcfea('0x60')]=function(_0xe4f178,_0xa244ae){return db['ChatWebsite'][_0xcfea('0x4e')]({'where':{'id':_0xe4f178[_0xcfea('0x4d')]['id']}})['then'](handleEntityNotFound(_0xa244ae,null))[_0xcfea('0x17')](function(_0x59998f){if(_0x59998f){return _0x59998f['removeDispositions'](_0xe4f178[_0xcfea('0x3b')][_0xcfea('0x61')]);}})['then'](respondWithStatusCode(_0xa244ae,null))[_0xcfea('0x56')](handleError(_0xa244ae,null));};exports[_0xcfea('0x62')]=function(_0x4071d2,_0x4b7b32){if(_0x4071d2[_0xcfea('0x50')]['id']){delete _0x4071d2[_0xcfea('0x50')]['id'];}return db[_0xcfea('0x35')][_0xcfea('0x4e')]({'where':{'id':_0x4071d2[_0xcfea('0x4d')]['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x4b7b32,null))[_0xcfea('0x17')](function(_0x141535){if(_0x141535){_0x4071d2['body']['ChatWebsiteId']=_0x141535['id'];return db[_0xcfea('0x63')][_0xcfea('0x4f')](_0x4071d2[_0xcfea('0x50')]);}})['then'](respondWithResult(_0x4b7b32,null))[_0xcfea('0x56')](handleError(_0x4b7b32,null));};exports[_0xcfea('0x64')]=function(_0x5f0e1c,_0x40e39d){var _0x299ae5={'raw':![],'where':{}};var _0x1f6438={};var _0x34ece2={'count':0x0,'rows':[]};return db[_0xcfea('0x35')][_0xcfea('0x5c')]({'where':{'id':_0x5f0e1c['params']['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x40e39d,null))[_0xcfea('0x17')](function(_0x75a111){if(_0x75a111){_0x1f6438[_0xcfea('0x3a')]=_[_0xcfea('0x3c')](db[_0xcfea('0x63')][_0xcfea('0x36')]);_0x1f6438['query']=_[_0xcfea('0x3c')](_0x5f0e1c[_0xcfea('0x3b')]);_0x1f6438[_0xcfea('0x3d')]=_[_0xcfea('0x3e')](_0x1f6438[_0xcfea('0x3a')],_0x1f6438[_0xcfea('0x3b')]);_0x299ae5[_0xcfea('0x3f')]=_[_0xcfea('0x3e')](_0x1f6438[_0xcfea('0x3a')],qs[_0xcfea('0x40')](_0x5f0e1c['query'][_0xcfea('0x40')]));_0x299ae5[_0xcfea('0x3f')]=_0x299ae5[_0xcfea('0x3f')][_0xcfea('0x41')]?_0x299ae5['attributes']:_0x1f6438[_0xcfea('0x3a')];if(!_0x5f0e1c[_0xcfea('0x3b')][_0xcfea('0x65')](_0xcfea('0x5e'))){_0x299ae5[_0xcfea('0x27')]=qs[_0xcfea('0x27')](_0x5f0e1c['query']['limit']);_0x299ae5[_0xcfea('0x24')]=qs[_0xcfea('0x24')](_0x5f0e1c[_0xcfea('0x3b')][_0xcfea('0x24')]);}_0x299ae5[_0xcfea('0x42')]=qs[_0xcfea('0x43')](_0x5f0e1c[_0xcfea('0x3b')][_0xcfea('0x43')]);_0x299ae5[_0xcfea('0x44')]=qs[_0xcfea('0x3d')](_[_0xcfea('0x5f')](_0x5f0e1c[_0xcfea('0x3b')],_0x1f6438['filters']));_0x299ae5['where'][_0xcfea('0x5a')]=_0x75a111['id'];if(_0x5f0e1c[_0xcfea('0x3b')]['filter']){_0x299ae5[_0xcfea('0x44')]=_[_0xcfea('0x47')](_0x299ae5['where'],{'$or':_[_0xcfea('0x34')](_0x299ae5[_0xcfea('0x3f')],function(_0x544303){var _0x593293={};_0x593293[_0x544303]={'$like':'%'+_0x5f0e1c[_0xcfea('0x3b')][_0xcfea('0x45')]+'%'};return _0x593293;})});}_0x299ae5=_[_0xcfea('0x47')]({},_0x299ae5,_0x5f0e1c[_0xcfea('0x48')]);return db['CannedAnswer']['count']({'where':_0x299ae5[_0xcfea('0x44')]})['then'](function(_0x3b8fe3){_0x34ece2['count']=_0x3b8fe3;if(_0x5f0e1c[_0xcfea('0x3b')][_0xcfea('0x49')]){_0x299ae5[_0xcfea('0x4a')]=[{'all':!![]}];}return db['CannedAnswer'][_0xcfea('0x4b')](_0x299ae5);})[_0xcfea('0x17')](function(_0xa277bb){_0x34ece2['rows']=_0xa277bb;return _0x34ece2;});}})[_0xcfea('0x17')](respondWithFilteredResult(_0x40e39d,_0x299ae5))['catch'](handleError(_0x40e39d,null));};exports[_0xcfea('0x66')]=function(_0x319a81,_0x2a3a07){return db[_0xcfea('0x35')][_0xcfea('0x4e')]({'where':{'id':_0x319a81[_0xcfea('0x4d')]['id']}})['then'](handleEntityNotFound(_0x2a3a07,null))[_0xcfea('0x17')](function(_0x439ab5){if(_0x439ab5){return _0x439ab5[_0xcfea('0x66')](_0x319a81[_0xcfea('0x3b')][_0xcfea('0x61')]);}})[_0xcfea('0x17')](respondWithStatusCode(_0x2a3a07,null))['catch'](handleError(_0x2a3a07,null));};exports[_0xcfea('0x67')]=function(_0x3dbe2f,_0x1286f5){_0x3dbe2f[_0xcfea('0x50')][_0xcfea('0x68')]=_0x3dbe2f[_0xcfea('0x69')][_0xcfea('0x6a')];return db[_0xcfea('0x35')][_0xcfea('0x4e')]({'where':{'id':_0x3dbe2f['params']['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x1286f5,null))[_0xcfea('0x17')](saveUpdates(_0x3dbe2f[_0xcfea('0x50')],null))[_0xcfea('0x17')](respondWithResult(_0x1286f5,null))[_0xcfea('0x56')](handleError(_0x1286f5,null));};exports['addAvatar']=function(_0x7dc116,_0x348e65){_0x7dc116['body']['agentAvatar']=_0x7dc116[_0xcfea('0x69')][_0xcfea('0x6a')];return db[_0xcfea('0x35')][_0xcfea('0x4e')]({'where':{'id':_0x7dc116['params']['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x348e65,null))[_0xcfea('0x17')](saveUpdates(_0x7dc116[_0xcfea('0x50')],null))[_0xcfea('0x17')](respondWithResult(_0x348e65,null))[_0xcfea('0x56')](handleError(_0x348e65,null));};exports[_0xcfea('0x6b')]=function(_0x5704ee,_0x3709f7){_0x5704ee[_0xcfea('0x50')]['customerAvatar']=_0x5704ee[_0xcfea('0x69')]['filename'];return db[_0xcfea('0x35')]['find']({'where':{'id':_0x5704ee[_0xcfea('0x4d')]['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x3709f7,null))[_0xcfea('0x17')](saveUpdates(_0x5704ee['body'],null))[_0xcfea('0x17')](respondWithResult(_0x3709f7,null))[_0xcfea('0x56')](handleError(_0x3709f7,null));};exports[_0xcfea('0x6c')]=function(_0x59613a,_0x5b5836){_0x59613a[_0xcfea('0x50')][_0xcfea('0x6d')]=_0x59613a['file'][_0xcfea('0x6a')];return db['ChatWebsite'][_0xcfea('0x4e')]({'where':{'id':_0x59613a[_0xcfea('0x4d')]['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x5b5836,null))[_0xcfea('0x17')](saveUpdates(_0x59613a[_0xcfea('0x50')],null))[_0xcfea('0x17')](respondWithResult(_0x5b5836,null))[_0xcfea('0x56')](handleError(_0x5b5836,null));};exports[_0xcfea('0x6e')]=function(_0x6fd62f,_0xe2356d){var _0x452825=path[_0xcfea('0x6f')](config[_0xcfea('0x70')],_0xcfea('0x71'));var _0x2935be={'where':{'id':_0x6fd62f[_0xcfea('0x4d')]['id']},'attributes':['id',_0xcfea('0x68')],'raw':!![]};var _0x461568=![];return require(_0xcfea('0x72'))[_0xcfea('0x73')]()['then'](function(_0x4101a5){if(_0x4101a5){_0x461568=_0x4101a5[_0xcfea('0x74')];}})[_0xcfea('0x17')](function(){return db[_0xcfea('0x35')][_0xcfea('0x4e')](_0x2935be);})['then'](handleEntityNotFound(_0xe2356d,null))[_0xcfea('0x17')](function(_0x5ecfe5){if(_0x5ecfe5){if(!_['isNil'](_0x5ecfe5['sitepic'])){if(fs[_0xcfea('0x75')](path[_0xcfea('0x6f')](config[_0xcfea('0x70')],_0xcfea('0x76'),_0x5ecfe5[_0xcfea('0x68')]))&&_0x461568){_0x452825=path['join'](config[_0xcfea('0x70')],_0xcfea('0x76'),_0x5ecfe5[_0xcfea('0x68')]);}}return _0xe2356d['download'](_0x452825);}})['catch'](handleError(_0xe2356d,null));};exports[_0xcfea('0x77')]=function(_0xa23629,_0x578aa2){var _0x4ae185=path['join'](config['root'],'server/files/images/avatars/default_avatar.png');var _0x146ed0={'where':{'id':_0xa23629[_0xcfea('0x4d')]['id']},'attributes':['id','agentAvatar'],'raw':!![]};return db[_0xcfea('0x35')][_0xcfea('0x4e')](_0x146ed0)['then'](handleEntityNotFound(_0x578aa2,null))[_0xcfea('0x17')](function(_0x501ec3){if(_0x501ec3){if(!_[_0xcfea('0x78')](_0x501ec3[_0xcfea('0x79')])){if(fs[_0xcfea('0x75')](path[_0xcfea('0x6f')](config['root'],'server/files/images/avatars/',_0x501ec3['agentAvatar']))){_0x4ae185=path[_0xcfea('0x6f')](config[_0xcfea('0x70')],_0xcfea('0x7a'),_0x501ec3['agentAvatar']);}}return _0x578aa2['download'](_0x4ae185);}})[_0xcfea('0x56')](handleError(_0x578aa2,null));};exports['getCustomerAvatar']=function(_0x432491,_0x4ac594){var _0x15ebbc=path['join'](config[_0xcfea('0x70')],_0xcfea('0x7b'));var _0x39f48a={'where':{'id':_0x432491['params']['id']},'attributes':['id',_0xcfea('0x7c'),_0xcfea('0x7d')],'raw':!![]};return db[_0xcfea('0x35')]['find'](_0x39f48a)[_0xcfea('0x17')](handleEntityNotFound(_0x4ac594,null))[_0xcfea('0x17')](function(_0x5d0934){if(_0x5d0934){if(!_[_0xcfea('0x78')](_0x5d0934[_0xcfea('0x7c')])){if(fs[_0xcfea('0x75')](path[_0xcfea('0x6f')](config['root'],_0xcfea('0x7a'),_0x5d0934[_0xcfea('0x7c')]))&&_0x5d0934[_0xcfea('0x7d')]){_0x15ebbc=path[_0xcfea('0x6f')](config['root'],'server/files/images/avatars/',_0x5d0934[_0xcfea('0x7c')]);}}return _0x4ac594['download'](_0x15ebbc);}})[_0xcfea('0x56')](handleError(_0x4ac594,null));};exports[_0xcfea('0x7e')]=function(_0x47c5b9,_0x15c10e){var _0x540ced=path[_0xcfea('0x6f')](config['root'],_0xcfea('0x7f'));var _0x224fe6={'where':{'id':_0x47c5b9[_0xcfea('0x4d')]['id']},'attributes':['id','systemAvatar'],'raw':!![]};return db[_0xcfea('0x35')]['find'](_0x224fe6)[_0xcfea('0x17')](handleEntityNotFound(_0x15c10e,null))['then'](function(_0x104bb7){if(_0x104bb7){if(!_[_0xcfea('0x78')](_0x104bb7['systemAvatar'])){if(fs['existsSync'](path[_0xcfea('0x6f')](config[_0xcfea('0x70')],'server/files/images/avatars/',_0x104bb7[_0xcfea('0x6d')]))){_0x540ced=path[_0xcfea('0x6f')](config[_0xcfea('0x70')],'server/files/images/avatars/',_0x104bb7[_0xcfea('0x6d')]);}}return _0x15c10e[_0xcfea('0x80')](_0x540ced);}})[_0xcfea('0x56')](handleError(_0x15c10e,null));};exports['notify']=function(_0x517dfd,_0x3fcdbd){var _0x5a69df=require(_0xcfea('0x81'));var _0x518401=new _0x5a69df();var _0x59c771=_0x518401[_0xcfea('0x82')](_0x517dfd[_0xcfea('0x83')]['user-agent'])[_0xcfea('0x84')]();var _0x5b8ef0={'body':_0x517dfd[_0xcfea('0x50')],'channel':_0xcfea('0x85')};var _0x3f30dd=[];var _0x3872e6=[];var _0x370ff3={};var _0x5f2500=![];return db[_0xcfea('0x86')][_0xcfea('0x58')]()['then'](function(_0x2c3f13){if(!_0x2c3f13){throw new db[(_0xcfea('0x87'))][(_0xcfea('0x88'))](_0xcfea('0x89'));}_0x3f30dd=_[_0xcfea('0x8a')](_[_0xcfea('0x3c')](_0x2c3f13),['createdAt','updatedAt']);_0x3872e6=_[_0xcfea('0x8a')](_['keys'](_0x2c3f13),['createdAt','updatedAt','CompanyId',_0xcfea('0x8b')]);if(_0x517dfd[_0xcfea('0x50')]['id']){delete _0x517dfd['body']['id'];}if(_['isNil'](_0x517dfd['body'][_0xcfea('0x8c')])){throw new db[(_0xcfea('0x87'))]['ValidationError'](_0xcfea('0x8d'));}if(_[_0xcfea('0x78')](_0x517dfd[_0xcfea('0x50')][_0xcfea('0x50')])||_0x517dfd[_0xcfea('0x50')][_0xcfea('0x50')]===''){throw new db[(_0xcfea('0x87'))][(_0xcfea('0x88'))](_0xcfea('0x8e'));}if(_[_0xcfea('0x78')](_0x517dfd[_0xcfea('0x50')][_0xcfea('0x8f')])){throw new db[(_0xcfea('0x87'))][(_0xcfea('0x88'))](_0xcfea('0x90')+_0x3872e6);}if(!_[_0xcfea('0x91')](_0x3872e6,_0x517dfd['body'][_0xcfea('0x8f')])){throw new db[(_0xcfea('0x87'))]['ValidationError'](_0xcfea('0x92')+_0x3872e6);}_0x370ff3[_0x517dfd[_0xcfea('0x50')][_0xcfea('0x8f')]]=_0x517dfd[_0xcfea('0x50')][_0xcfea('0x8c')];})['then'](function(){return db[_0xcfea('0x35')][_0xcfea('0x4e')]({'where':{'id':_0x517dfd[_0xcfea('0x4d')]['id']},'include':[{'model':db['CmList'],'as':_0xcfea('0x93'),'include':[{'model':db['CmContact'],'as':_0xcfea('0x94'),'where':_0x370ff3,'limit':0x1,'order':[['updatedAt',_0xcfea('0x95')]]}]},{'model':db[_0xcfea('0x96')],'as':'Applications'}]});})[_0xcfea('0x17')](handleEntityNotFound(_0x3fcdbd,null))[_0xcfea('0x17')](function(_0x404470){if(_0x404470&&_0x404470[_0xcfea('0x93')]){_0x5b8ef0[_0xcfea('0x97')]=_0x404470;_0x5b8ef0['applications']=_0x404470[_0xcfea('0x98')];_0x5b8ef0[_0xcfea('0x99')]=_0x404470[_0xcfea('0x93')];_0x5b8ef0[_0xcfea('0x9a')]=_[_0xcfea('0x9b')](_0x5b8ef0['applications'],[_0xcfea('0x9c')],[_0xcfea('0x9d')]);if(_0x5b8ef0[_0xcfea('0x97')][_0xcfea('0x98')]){delete _0x5b8ef0[_0xcfea('0x97')]['Applications'];}if(_0x5b8ef0['account'][_0xcfea('0x93')]&&_0x5b8ef0[_0xcfea('0x97')][_0xcfea('0x93')][_0xcfea('0x94')][_0xcfea('0x41')]){return _0x5b8ef0[_0xcfea('0x97')][_0xcfea('0x93')][_0xcfea('0x94')][0x0];}var _0x13d11d=_[_0xcfea('0x9e')](_0x517dfd[_0xcfea('0x50')],{'firstName':_0x517dfd['body'][_0xcfea('0x8c')],'ListId':_0x404470[_0xcfea('0x8b')]});_0x13d11d[_0x517dfd[_0xcfea('0x50')]['mapKey']]=_0x517dfd[_0xcfea('0x50')][_0xcfea('0x8c')];return db[_0xcfea('0x86')][_0xcfea('0x4f')](_0x13d11d,{'fields':_0x3f30dd,'raw':!![]});}})['then'](handleEntityNotFound(_0x3fcdbd,null))['then'](function(_0x211b8c){_0x5b8ef0[_0xcfea('0x9f')]=_0x211b8c;var _0x1561c8=_0x517dfd[_0xcfea('0x50')][_0xcfea('0xa0')];if(_0x517dfd[_0xcfea('0x83')][_0xcfea('0xa1')]){_0x1561c8=_0x517dfd[_0xcfea('0x83')][_0xcfea('0xa1')];}else if(_0x517dfd[_0xcfea('0x83')][_0xcfea('0xa2')]){_0x1561c8=_[_0xcfea('0xa3')](_0x517dfd['headers'][_0xcfea('0xa2')][_0xcfea('0xa4')](','));}if(_0x211b8c){var _0xbceae8={'ContactId':_0x211b8c['id'],'ChatWebsiteId':_0x517dfd['params']['id'],'from':(_0x211b8c[_0xcfea('0xa5')]||'')+'\x20'+(_0x211b8c['lastName']||''),'customerIp':_0x1561c8,'customerPort':_0x517dfd['headers']['x-real-port']?_0x517dfd[_0xcfea('0x83')][_0xcfea('0xa6')]:null,'referer':_0x517dfd[_0xcfea('0x50')][_0xcfea('0xa7')],'browserName':_0x59c771['browser'][_0xcfea('0x30')]&&_0x59c771[_0xcfea('0xa8')]['version']?util[_0xcfea('0xa9')](_0xcfea('0xaa'),_0x59c771[_0xcfea('0xa8')][_0xcfea('0x30')],_0x59c771[_0xcfea('0xa8')][_0xcfea('0xab')]):_0xcfea('0xac'),'browserVersion':_0x59c771[_0xcfea('0xa8')][_0xcfea('0xab')]||_0xcfea('0xac'),'osName':util['format'](_0xcfea('0xaa'),_0x59c771['os']['name'],_0x59c771['os']['version']),'osVersion':_0x59c771['os'][_0xcfea('0xab')],'deviceModel':_0x59c771['device'][_0xcfea('0x3a')]&&_0x59c771[_0xcfea('0xad')][_0xcfea('0xae')]?util[_0xcfea('0xa9')](_0xcfea('0xaf'),_0x59c771[_0xcfea('0xad')][_0xcfea('0x3a')],_0x59c771[_0xcfea('0xad')][_0xcfea('0xae')],_0x59c771[_0xcfea('0xad')][_0xcfea('0x38')]):null,'deviceVendor':_0x59c771['device'][_0xcfea('0xae')],'deviceType':_0x59c771[_0xcfea('0xad')][_0xcfea('0x38')],'formData':JSON[_0xcfea('0xb0')](_0x517dfd[_0xcfea('0x50')])};var _0x242b9e={'ChatWebsiteId':_0x517dfd['params']['id'],'closed':![]};if(_0x517dfd[_0xcfea('0x50')]['threadId']){_0x242b9e[_0xcfea('0xb1')]=_0x517dfd['body'][_0xcfea('0xb1')];return db[_0xcfea('0xb2')]['find']({'where':_0x242b9e})[_0xcfea('0x17')](function(_0x153019){if(_0x153019){return[_0x153019,![]];}_0xbceae8['threadId']=_0x517dfd[_0xcfea('0x50')][_0xcfea('0xb1')];_0xbceae8[_0xcfea('0xb3')]=_0x517dfd[_0xcfea('0x50')][_0xcfea('0xb3')];return db[_0xcfea('0xb2')][_0xcfea('0x4f')](_0xbceae8)['then'](function(_0x5f3982){return[_0x5f3982,!![]];});});}_0x242b9e[_0xcfea('0xb4')]=_0x211b8c['id'];if(_0x517dfd[_0xcfea('0x50')]['interaction']&&_0x517dfd[_0xcfea('0x50')]['interaction']['id']){_0x242b9e['id']=_0x517dfd[_0xcfea('0x50')][_0xcfea('0xb5')]['id'];return db[_0xcfea('0xb2')]['find']({'where':_0x242b9e})['then'](function(_0x3ee281){if(_0x3ee281){return[_0x3ee281,![]];}return db[_0xcfea('0xb2')][_0xcfea('0x4f')](_0xbceae8)[_0xcfea('0x17')](function(_0x263f02){return[_0x263f02,!![]];});});}return db[_0xcfea('0xb2')]['create'](_0xbceae8)['then'](function(_0x4de82e){return[_0x4de82e,!![]];});}})[_0xcfea('0xb6')](function(_0x3a0ca8,_0x2d6f49){if(_0x3a0ca8){_0x5f2500=_0x2d6f49;if(!_0x2d6f49){var _0x484862={'from':(_0x5b8ef0['contact'][_0xcfea('0xa5')]||'')+'\x20'+(_0x5b8ef0[_0xcfea('0x9f')][_0xcfea('0xb7')]||'')};if(_0x517dfd['body'][_0xcfea('0xb1')]&&_0x517dfd[_0xcfea('0x50')]['messageId']&&_0x517dfd[_0xcfea('0x50')]['threadId']!=_0x517dfd[_0xcfea('0x50')][_0xcfea('0xb8')]){_0x484862[_0xcfea('0xb1')]=_0x517dfd[_0xcfea('0x50')][_0xcfea('0xb8')];}return _0x3a0ca8[_0xcfea('0x2b')](_0x484862);}else{return _0x3a0ca8;}}})[_0xcfea('0x17')](function(_0x1cad09){_0x5b8ef0[_0xcfea('0xb5')]=_0x1cad09[_0xcfea('0x2d')]({'plain':!![]});_0x5b8ef0[_0xcfea('0xb5')][_0xcfea('0xb9')]=_0x5f2500;if(_0x5b8ef0[_0xcfea('0xb5')][_0xcfea('0xb9')]){if(_0x5b8ef0[_0xcfea('0x97')]['autoclose']){_0x5b8ef0[_0xcfea('0x9a')][_0xcfea('0xba')]({'id':0x0,'priority':_0x5b8ef0[_0xcfea('0x9a')][_0xcfea('0x41')]+0x1,'app':'close','appdata':'unmanaged','interval':_0xcfea('0xbb')});}}return db[_0xcfea('0xbc')][_0xcfea('0x4f')]({'body':_0x517dfd[_0xcfea('0x50')]['body'],'ChatWebsiteId':_0x517dfd[_0xcfea('0x4d')]['id'],'ChatInteractionId':_0x1cad09['id'],'direction':'in','ContactId':_0x5b8ef0['contact']['id'],'AttachmentId':_0x517dfd[_0xcfea('0x50')][_0xcfea('0xbd')]});})[_0xcfea('0x17')](function(_0x4a736f){_0x5b8ef0['message']=_0x4a736f;if(_0x5b8ef0['interaction'][_0xcfea('0xbe')]){return db[_0xcfea('0xbf')][_0xcfea('0x4e')]({'attributes':['id','name'],'where':{'id':_0x5b8ef0[_0xcfea('0xb5')][_0xcfea('0xbe')]}})[_0xcfea('0x17')](function(_0x5b579f){if(_0x5b579f){_0x5b8ef0[_0xcfea('0x9a')][_0xcfea('0xc0')]({'id':0x0,'priority':0x0,'app':_0xcfea('0xc1'),'appdata':_0x5b579f['name']+','+(_0x5b8ef0[_0xcfea('0x97')]['waitForTheAssignedAgent']||0xa),'interval':_0xcfea('0xbb')});_0x5b8ef0['forcedOwnership']=!![];}return respondWithRpcPromise(_0xcfea('0xc2'),_0xcfea('0xc3'),_0x5b8ef0);});}return respondWithRpcPromise(_0xcfea('0xc2'),'startRouting',_0x5b8ef0);})[_0xcfea('0x17')](function(_0x2e60dd){respondWithRpcPromise('EventManager','EventManager',{'event':_0xcfea('0xc4'),'message':_0x2e60dd},client9002);return _0x2e60dd;})[_0xcfea('0x17')](respondWithResult(_0x3fcdbd,null))['catch'](handleError(_0x3fcdbd,null));};exports[_0xcfea('0xc5')]=function(_0x2000bd,_0x366bc3){var _0x15e81a,_0x41a19e,_0x766279;var _0x5f59df=[];var _0x171eaf={};var _0x3d5e62=_0x2000bd[_0xcfea('0xc6')]||[];var _0x48604f=[];var _0x5b97f6;return db[_0xcfea('0x86')][_0xcfea('0x58')]()[_0xcfea('0x17')](function(_0x907ef1){if(!_0x907ef1){throw new db['Sequelize'][(_0xcfea('0x88'))]('no\x20available\x20attributes');}_0x5f59df=_[_0xcfea('0x8a')](_['keys'](_0x907ef1),[_0xcfea('0xc7'),_0xcfea('0xc8'),'CompanyId',_0xcfea('0x8b')]);if(_0x2000bd[_0xcfea('0x50')]['id']){delete _0x2000bd[_0xcfea('0x50')]['id'];}if(_[_0xcfea('0x78')](_0x2000bd['body']['from'])){throw _0x366bc3['status'](0x1f4)['send'](new db[(_0xcfea('0x87'))][(_0xcfea('0x88'))](_0xcfea('0x8d')));}if(_['isNil'](_0x2000bd['body'][_0xcfea('0x50')])||_0x2000bd['body'][_0xcfea('0x50')]===''){throw _0x366bc3[_0xcfea('0x22')](0x1f4)['send'](new db[(_0xcfea('0x87'))]['ValidationError'](_0xcfea('0x8e')));}if(_[_0xcfea('0x78')](_0x2000bd[_0xcfea('0x50')][_0xcfea('0xc9')])){throw _0x366bc3['status'](0x1f4)['send'](new db[(_0xcfea('0x87'))][(_0xcfea('0x88'))](_0xcfea('0xca')+_0x5f59df));}if(!_[_0xcfea('0x91')](_0x5f59df,_0x2000bd[_0xcfea('0x50')][_0xcfea('0xc9')])){throw _0x366bc3[_0xcfea('0x22')](0x1f4)[_0xcfea('0xcb')](new db[(_0xcfea('0x87'))][(_0xcfea('0x88'))](_0xcfea('0xcc')+_0x5f59df));}_0x171eaf[_0x2000bd[_0xcfea('0x50')][_0xcfea('0xc9')]]=_0x2000bd[_0xcfea('0x50')][_0xcfea('0x8c')];})['then'](function(){return db['ChatWebsite'][_0xcfea('0x4e')]({'where':{'id':_0x2000bd['params']['id']},'include':[{'model':db['CmList'],'as':_0xcfea('0x93')},{'model':db[_0xcfea('0xcd')],'as':_0xcfea('0xcd')}]});})[_0xcfea('0x17')](handleEntityNotFound(_0x366bc3,null))[_0xcfea('0x17')](function(_0x366ef6){if(_0x366ef6&&_0x366ef6[_0xcfea('0x93')]){_0x41a19e=_0x366ef6;var _0x148b22=_[_0xcfea('0x9e')](_0x2000bd[_0xcfea('0x50')],{'firstName':_0x2000bd['body'][_0xcfea('0x8c')],'phone':_0x2000bd[_0xcfea('0x50')][_0xcfea('0x8c')],'ListId':_0x366ef6['ListId']});_0x148b22[_0x2000bd[_0xcfea('0x50')]['mapKeyOffline']]=_0x2000bd[_0xcfea('0x50')]['from'];return db[_0xcfea('0x86')][_0xcfea('0xce')]({'where':_0x171eaf,'defaults':_0x148b22});}})[_0xcfea('0xb6')](function(_0x3a21ca){if(_0x3a21ca){_0x766279=_0x3a21ca;var _0x470634=fs[_0xcfea('0xcf')](path[_0xcfea('0x6f')](config['root'],_0xcfea('0xd0')),_0xcfea('0xd1'));var _0x3a394b=ejs[_0xcfea('0xd2')](_0x470634,{'body':_['toPairs'](_0x2000bd['body'][_0xcfea('0x50')]),'bodyTitle':_0x41a19e[_0xcfea('0xd3')]});return db[_0xcfea('0xd4')][_0xcfea('0x4f')]({'body':_0x3a394b,'plainBody':htmlToText[_0xcfea('0xd5')](_0x3a394b),'ContactId':_0x3a21ca['id'],'ChatWebsiteId':_0x41a19e['id']});}})[_0xcfea('0x17')](function(_0x5a123a){_0x5b97f6=_0x5a123a;if(_0x3d5e62[_0xcfea('0x41')]){var _0x45bbf5=_0x3d5e62['map'](function(_0xadb458){return{'name':_0xadb458['originalname'],'basename':_0xadb458['filename'],'type':_0xadb458[_0xcfea('0xd6')],'ChatOfflineMessageId':_0x5a123a['id']};});_0x48604f=_0x45bbf5[_0xcfea('0x34')](_0x496f74=>{var _0x1e85c2={'filename':_0x496f74[_0xcfea('0x30')],'path':path[_0xcfea('0x6f')](config['root'],_0xcfea('0xd7'),_0xcfea('0xc6'),_0xcfea('0xd8'),_0xcfea('0xd9'),_0x496f74[_0xcfea('0xda')])};return _0x1e85c2;});if(!_0x41a19e[_0xcfea('0xdb')]){return db[_0xcfea('0xdc')][_0xcfea('0xdd')](function(_0x114b98){return db[_0xcfea('0xde')]['bulkCreate'](_0x45bbf5,{'transaction':_0x114b98});});}}})[_0xcfea('0x17')](function(){if(_0x5b97f6){_0x15e81a=_0x5b97f6;return db[_0xcfea('0xcd')][_0xcfea('0x5c')]({'where':{'service':!![]},'include':[{'model':db[_0xcfea('0xdf')],'as':_0xcfea('0xe0'),'raw':!![],'include':[{'model':db[_0xcfea('0xe1')],'as':'CloudProvider','raw':!![]}]}]});}})['then'](function(_0x409121){if(_0x409121&&_0x409121[_0xcfea('0xe0')]&&_0x41a19e[_0xcfea('0xe2')]&&_0x41a19e[_0xcfea('0xe3')]){var _0xede4f6=_0x409121['getSmtpOptions']();return respondWithRpcPromise('SendMail',_0xcfea('0xe4'),{'account':_0xede4f6,'message':{'from':util[_0xcfea('0xa9')](_0xcfea('0xe5'),_0x409121['name'],_0x409121['email']||_0x409121['Smtp']['user']),'to':_0x41a19e[_0xcfea('0xe3')],'subject':_0x41a19e[_0xcfea('0xe6')],'html':_0x15e81a[_0xcfea('0x50')],'attachments':_0x48604f}},client9003)[_0xcfea('0x17')](function(){return _0x15e81a;})[_0xcfea('0x56')](function(_0x254aa0){logger['error'](_0x254aa0);});}})['then'](function(){if(_0x41a19e&&_0x41a19e['openNewInteraction']&&_0x41a19e[_0xcfea('0xe7')]){var _0xeacd1c=[];if(_0x3d5e62[_0xcfea('0x41')]){_0xeacd1c=_0x3d5e62[_0xcfea('0x34')](function(_0x44683c){return{'name':_0x44683c[_0xcfea('0xe8')],'basename':_0x44683c[_0xcfea('0x6a')],'type':_0x44683c[_0xcfea('0xd6')],'ChatOfflineMessageId':_0x5b97f6['id']};});}var _0x3c89dc;if(!_[_0xcfea('0x78')](_0x41a19e[_0xcfea('0xe9')])){var _0x47b2f9=_[_0xcfea('0x34')](_0x2000bd['body'],function(_0xdc5b21){return _0xdc5b21;});var _0x50b4bc=_[_0xcfea('0xea')](_0x47b2f9)[0x0];var _0x598362=_[_0xcfea('0xeb')](_0x50b4bc,function(_0x88f986){return _0x88f986;});_0x3c89dc=_0x598362[0x1][_0x41a19e['subjectOffline']];}var _0x1fe8b5={'from':_0x766279[_0xcfea('0xec')],'firstName':_0x766279[_0xcfea('0xa5')],'lastName':_0x766279[_0xcfea('0xb7')],'mapKey':_0xcfea('0xec'),'message':{'from':_0x766279[_0xcfea('0xec')],'to':_0x41a19e['MailAccount']['email'],'cc':'','subject':_[_0xcfea('0x78')](_0x3c89dc)?_0x41a19e[_0xcfea('0xe6')]:_0x3c89dc,'messageId':'','sentAt':new Date(),'attach':_0xeacd1c[_0xcfea('0x41')],'attachments':_0xeacd1c,'originChannel':_0xcfea('0xed'),'ChatWebsiteId':_0x41a19e['id'],'ChatOfflineMessageId':_0x15e81a['id'],'originTo':_0x41a19e['MailAccount'][_0xcfea('0xec')]},'body':_0x15e81a[_0xcfea('0x50')]};var _0x4e37fd={'account':{'id':_0x41a19e[_0xcfea('0xe7')]},'body':_0x1fe8b5,'log':'NotifyMailAccount'};return respondWithRpcPromise(_0xcfea('0xee'),'notifyMail',_0x4e37fd,client9001)['then'](function(){return _0x15e81a;})[_0xcfea('0x56')](function(_0xf6d892){logger[_0xcfea('0x1c')](_0xf6d892);});}return;})[_0xcfea('0x17')](function(){if(_0x15e81a){return _0x15e81a;}})[_0xcfea('0x17')](respondWithResult(_0x366bc3,null))[_0xcfea('0x56')](function(_0xe2bd59){logger[_0xcfea('0x1c')](_0xcfea('0x56'),_0xe2bd59);for(var _0x472543 of _0x3d5e62){var _0x3c8b90=path[_0xcfea('0x6f')](config[_0xcfea('0x70')],'server',_0xcfea('0xc6'),_0xcfea('0xd8'),_0xcfea('0xd9'),_0x472543[_0xcfea('0x6a')]);fs_extra[_0xcfea('0xef')](_0x3c8b90)[_0xcfea('0x56')](function(_0x2bba9d){logger[_0xcfea('0x1c')](_0xcfea('0xf0'),_0x3c8b90,_0x2bba9d);});}});};exports['addInteraction']=function(_0x5465e5,_0x3f0d95){return db[_0xcfea('0xb2')][_0xcfea('0x4e')]({'where':{'id':_0x5465e5[_0xcfea('0x4d')]['id']}})['then'](handleEntityNotFound(_0x3f0d95,null))[_0xcfea('0x17')](function(_0x3557d5){if(_0x3557d5){return _0x3557d5[_0xcfea('0xf1')](_0x5465e5[_0xcfea('0x50')][_0xcfea('0x61')],_[_0xcfea('0xf2')](_0x5465e5['body'],[_0xcfea('0x61'),'id'])||{});}})['then'](respondWithResult(_0x3f0d95,null))['catch'](handleError(_0x3f0d95,null));};exports['getInteractions']=function(_0x218217,_0x5b8ab0){var _0x2f6286={'raw':![],'where':{}};var _0x48dba0={};var _0x255c55={'count':0x0,'rows':[]};return db['ChatWebsite'][_0xcfea('0x5c')]({'where':{'id':_0x218217['params']['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x5b8ab0,null))[_0xcfea('0x17')](function(_0x5df211){if(_0x5df211){_0x48dba0[_0xcfea('0x3a')]=_[_0xcfea('0x3c')](db['ChatInteraction']['rawAttributes']);_0x48dba0[_0xcfea('0x3b')]=_['keys'](_0x218217[_0xcfea('0x3b')]);_0x48dba0[_0xcfea('0x3d')]=_['intersection'](_0x48dba0[_0xcfea('0x3a')],_0x48dba0['query']);_0x2f6286[_0xcfea('0x3f')]=_[_0xcfea('0x3e')](_0x48dba0['model'],qs[_0xcfea('0x40')](_0x218217[_0xcfea('0x3b')]['fields']));_0x2f6286[_0xcfea('0x3f')]=_0x2f6286[_0xcfea('0x3f')][_0xcfea('0x41')]?_0x2f6286[_0xcfea('0x3f')]:_0x48dba0[_0xcfea('0x3a')];if(!_0x218217['query'][_0xcfea('0x65')]('nolimit')){_0x2f6286[_0xcfea('0x27')]=qs[_0xcfea('0x27')](_0x218217[_0xcfea('0x3b')][_0xcfea('0x27')]);_0x2f6286['offset']=qs[_0xcfea('0x24')](_0x218217[_0xcfea('0x3b')][_0xcfea('0x24')]);}_0x2f6286[_0xcfea('0x42')]=qs[_0xcfea('0x43')](_0x218217[_0xcfea('0x3b')][_0xcfea('0x43')]);_0x2f6286[_0xcfea('0x44')]=qs['filters'](_[_0xcfea('0x5f')](_0x218217[_0xcfea('0x3b')],_0x48dba0[_0xcfea('0x3d')]));_0x2f6286['where'][_0xcfea('0x5a')]=_0x5df211['id'];if(_0x218217['query'][_0xcfea('0x45')]){_0x2f6286['where']=_[_0xcfea('0x47')](_0x2f6286[_0xcfea('0x44')],{'$or':_['map'](_0x2f6286[_0xcfea('0x3f')],function(_0x3c2d77){var _0x1330f4={};_0x1330f4[_0x3c2d77]={'$like':'%'+_0x218217['query'][_0xcfea('0x45')]+'%'};return _0x1330f4;})});}_0x2f6286=_[_0xcfea('0x47')]({},_0x2f6286,_0x218217['options']);return db['ChatInteraction'][_0xcfea('0x26')]({'where':_0x2f6286['where']})[_0xcfea('0x17')](function(_0x397b20){_0x255c55[_0xcfea('0x26')]=_0x397b20;if(_0x218217[_0xcfea('0x3b')][_0xcfea('0x49')]){_0x2f6286[_0xcfea('0x4a')]=[{'model':db[_0xcfea('0x86')],'as':_0xcfea('0xf3'),'required':![]},{'model':db['User'],'as':_0xcfea('0xf4'),'attributes':[_0xcfea('0x30'),_0xcfea('0xf5'),_0xcfea('0xf6')],'required':![]},{'model':db['Tag'],'as':_0xcfea('0xf7'),'attributes':['id',_0xcfea('0x30'),_0xcfea('0xf8')],'where':_0x218217['query'][_0xcfea('0xf9')]?{'id':_0x218217[_0xcfea('0x3b')][_0xcfea('0xf9')]}:undefined,'required':_0x218217[_0xcfea('0x3b')][_0xcfea('0xf9')]?!![]:![]}];}return db[_0xcfea('0xb2')][_0xcfea('0x4b')](_0x2f6286);})['then'](function(_0xae7d5c){_0x255c55[_0xcfea('0xfa')]=_0xae7d5c;return _0x255c55;});}})['then'](respondWithFilteredResult(_0x5b8ab0,_0x2f6286))[_0xcfea('0x56')](handleError(_0x5b8ab0,null));};function iftimePromise(_0x4a9e1d,_0x584ea0){return respondWithRpcPromise(_0xcfea('0xfb'),_0xcfea('0xfc'),{'command':_0x584ea0[_0xcfea('0xfd')]?util['format'](_0xcfea('0xfe'),_0x4a9e1d['interval'],_0x584ea0[_0xcfea('0xfd')]):util[_0xcfea('0xa9')](_0xcfea('0xff'),_0x4a9e1d[_0xcfea('0x100')])},client9002)[_0xcfea('0x17')](function(_0x4ab1f8){var _0x2cec0b=_0x4ab1f8&&_0x4ab1f8[_0xcfea('0x101')](_0xcfea('0x102'))>=0x0?!![]:![];logger[_0xcfea('0x18')](_0xcfea('0x103'),_0x584ea0['id'],_0x4a9e1d['id'],_0x4a9e1d[_0xcfea('0x100')],_0x2cec0b?_0xcfea('0x104'):_0xcfea('0x105'),_0x584ea0['timezone']?_0x584ea0[_0xcfea('0xfd')]:_0xcfea('0x106'));return _0x2cec0b;})[_0xcfea('0x56')](function(_0x18fb70){logger[_0xcfea('0x1c')](_0xcfea('0x103'),_0x584ea0['id'],_0x4a9e1d['id'],_0x4a9e1d[_0xcfea('0x100')],util[_0xcfea('0x107')](_0x18fb70,{'showHidden':![],'depth':null}),_0x584ea0[_0xcfea('0xfd')]?_0x584ea0[_0xcfea('0xfd')]:_0xcfea('0x106'));return![];});}exports['getSnippet']=function(_0xcb357c,_0x47cd9b){var _0x362ee3=0x0;var _0x227ac2=0x0;var _0x1faffa=![];var _0x3f03a2;var _0x5b3308;return db['ChatWebsite'][_0xcfea('0x4e')]({'where':{'id':_0xcb357c[_0xcfea('0x4d')]['id']},'include':[{'model':db[_0xcfea('0x108')],'as':_0xcfea('0x108'),'include':[{'model':db['Interval'],'as':'Intervals','attributes':['id',_0xcfea('0x100')],'raw':!![]}]}]})[_0xcfea('0x17')](handleEntityNotFound(_0x47cd9b,null))[_0xcfea('0x17')](function(_0x53cdd7){if(_0x53cdd7){_0x3f03a2=_0x53cdd7;return _0x53cdd7[_0xcfea('0x109')]({'raw':!![]});}})[_0xcfea('0x17')](function(_0x17f8fb){if(_0x3f03a2){if(_0x17f8fb){_0x5b3308=_0x17f8fb;}}return require('../../config/license/util')[_0xcfea('0x73')]();})['then'](function(_0x1b287f){if(_0x1b287f){_0x227ac2=_0x1b287f['virtual'];_0x1faffa=_0x1b287f[_0xcfea('0x74')];}})[_0xcfea('0x17')](function(){return db[_0xcfea('0xb2')][_0xcfea('0x26')]({'where':{'closed':![]}});})[_0xcfea('0x17')](function(_0x451e11){_0x362ee3=_0x451e11;if(_0x227ac2&&_0x451e11>_0x227ac2){return db[_0xcfea('0x10a')][_0xcfea('0x5c')]({'where':{'id':0x1}})['then'](function(_0x1ffd57){if(_0x1ffd57){_0x1ffd57[_0xcfea('0x10b')](_0xcfea('0x10c'));}});}})[_0xcfea('0x17')](function(){if(_0x3f03a2[_0xcfea('0x108')]&&_0x3f03a2[_0xcfea('0x108')][_0xcfea('0x10d')]){var _0x19c356=[];for(var _0x99da58=0x0;_0x99da58<_0x3f03a2[_0xcfea('0x108')][_0xcfea('0x10d')][_0xcfea('0x41')];_0x99da58++){var _0x16f58f=_0x3f03a2[_0xcfea('0x108')][_0xcfea('0x10d')][_0x99da58][_0xcfea('0x2d')]({'plain':!![]});_0x19c356['push'](iftimePromise(_0x16f58f,_0x3f03a2));}return BPromise[_0xcfea('0x10e')](_0x19c356)[_0xcfea('0x17')](function(_0x345e45){return _[_0xcfea('0x10f')](_0x345e45);});}else{return!![];}})[_0xcfea('0x17')](function(_0xd9e7ef){var _0x2f3e64=fs[_0xcfea('0xcf')](path[_0xcfea('0x6f')](config[_0xcfea('0x70')],'server/files/chat/iframe.ejs'),_0xcfea('0xd1'));var _0x4bf605=new url['URL'](_0x3f03a2['address'])[_0xcfea('0x110')];var _0x1888df=_0xcfea('0x111');var _0x309476=![];var _0x59003a={'chatVersion':_0x1888df,'chatWebsiteAddressOrigin':_0x4bf605,'remote':_0x3f03a2[_0xcfea('0x112')],'query':querystring[_0xcfea('0xb0')](_[_0xcfea('0x47')](_0x3f03a2['get']({'plain':!![]}),{'customerIp':_0xcb357c[_0xcfea('0x83')]['x-forwarded-for']||_0xcb357c[_0xcfea('0x83')][_0xcfea('0x113')]||_0xcb357c[_0xcfea('0x114')][_0xcfea('0x115')]||_0xcb357c['ip'],'referer':_0xcb357c[_0xcfea('0x83')][_0xcfea('0xa7')],'openedInteractions':_0x362ee3,'maxInteractions':_0x227ac2,'virtual':_0x1faffa[_0xcfea('0x116')],'online':_0xd9e7ef,'custom':_0x1faffa}))[_0xcfea('0x117')](/'/g,'\x5c\x27')};_0x47cd9b[_0xcfea('0xcb')](ejs[_0xcfea('0xd2')](Mustache['render'](_0x2f3e64,_0x59003a),{'proactiveActions':_0x5b3308,'alignment':_0x3f03a2['alignment'],'verticalAlignment':_0x3f03a2[_0xcfea('0x118')],'div_color':_0x3f03a2[_0xcfea('0xf8')],'labelText':_0x3f03a2[_0xcfea('0x119')],'text_color':_0x3f03a2[_0xcfea('0x11a')],'text_button_color':_0x3f03a2[_0xcfea('0x11b')],'button_color':_0x3f03a2[_0xcfea('0x11c')],'background_color':_0x3f03a2[_0xcfea('0x11d')],'hideWhenOffline':_0x3f03a2[_0xcfea('0x11e')],'intervalId':_0x3f03a2['IntervalId'],'isDevelopment':_0x309476,'chatVersion':_0x1888df}));})['catch'](handleError(_0x47cd9b,null));};exports['addApplications']=function(_0x12e3aa,_0x5b4084){var _0x5a1888=_0x12e3aa[_0xcfea('0x4d')]['id'];var _0x56a16d=_0x12e3aa[_0xcfea('0x50')];var _0x472250=0xc8;var _0x5bf796=null;return db[_0xcfea('0xdc')]['transaction']({'isolationLevel':db[_0xcfea('0xdc')]['Transaction']['ISOLATION_LEVELS'][_0xcfea('0x11f')]},function(_0x1bf5c4){return db[_0xcfea('0x35')][_0xcfea('0x5c')]({'where':{'id':_0x5a1888},'transaction':_0x1bf5c4})['then'](function(_0x58325f){if(_0x58325f){return db[_0xcfea('0x96')][_0xcfea('0x2c')]({'where':{'ChatWebsiteId':_0x5a1888},'transaction':_0x1bf5c4})[_0xcfea('0x17')](function(){var _0x1af3fc=_[_0xcfea('0x34')](_0x56a16d,function(_0x51e7f8){_0x51e7f8['ChatWebsiteId']=_0x5a1888;return _0x51e7f8;});return db['ChatApplication'][_0xcfea('0x120')](_0x1af3fc,{'transaction':_0x1bf5c4});});}else{_0x472250=0x194;_0x5bf796=[];}});})[_0xcfea('0x17')](function(){if(_0x472250!==0x194){return db[_0xcfea('0x96')][_0xcfea('0x121')]({'where':{'ChatWebsiteId':_0x5a1888},'order':_0xcfea('0x9c')})['then'](function(_0x5d7bf8){_0x5bf796=_0x5d7bf8;});}})[_0xcfea('0x56')](function(_0x3b3187){_0x472250=0x1f4;logger[_0xcfea('0x1c')](_0x3b3187['stack']);if(_0x3b3187[_0xcfea('0x30')]){delete _0x3b3187[_0xcfea('0x30')];}_0x5bf796=_0x3b3187;})[_0xcfea('0x122')](function(){if(_0x5bf796===null){_0x5b4084[_0xcfea('0x21')](_0x472250);}else{if(_0x472250===0x1f4){_0x5b4084[_0xcfea('0x22')](_0x472250)[_0xcfea('0xcb')](_0x5bf796);}else{_0x5b4084[_0xcfea('0x22')](_0x472250)[_0xcfea('0x2a')](_0x5bf796);}}});};exports[_0xcfea('0x123')]=function(_0x1f34d8,_0xcf0d9d){var _0x45636c={};var _0x3e2e5c={};var _0xbb7350;var _0x27fb5b;return db[_0xcfea('0x35')][_0xcfea('0x5c')]({'where':{'id':_0x1f34d8['params']['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0xcf0d9d,null))[_0xcfea('0x17')](function(_0x11dd9d){if(_0x11dd9d){_0xbb7350=_0x11dd9d;_0x3e2e5c[_0xcfea('0x3a')]=_[_0xcfea('0x3c')](db[_0xcfea('0x96')][_0xcfea('0x36')]);_0x3e2e5c[_0xcfea('0x3b')]=_[_0xcfea('0x3c')](_0x1f34d8['query']);_0x3e2e5c[_0xcfea('0x3d')]=_[_0xcfea('0x3e')](_0x3e2e5c[_0xcfea('0x3a')],_0x3e2e5c['query']);_0x45636c[_0xcfea('0x3f')]=_[_0xcfea('0x3e')](_0x3e2e5c['model'],qs[_0xcfea('0x40')](_0x1f34d8['query'][_0xcfea('0x40')]));_0x45636c['attributes']=_0x45636c[_0xcfea('0x3f')][_0xcfea('0x41')]?_0x45636c[_0xcfea('0x3f')]:_0x3e2e5c[_0xcfea('0x3a')];_0x45636c['order']=qs[_0xcfea('0x43')](_0x1f34d8['query'][_0xcfea('0x43')]);_0x45636c[_0xcfea('0x44')]=qs[_0xcfea('0x3d')](_[_0xcfea('0x5f')](_0x1f34d8[_0xcfea('0x3b')],_0x3e2e5c[_0xcfea('0x3d')]));if(_0x1f34d8['query'][_0xcfea('0x45')]){_0x45636c['where']=_[_0xcfea('0x47')](_0x45636c[_0xcfea('0x44')],{'$or':_[_0xcfea('0x34')](_0x45636c['attributes'],function(_0x1b16eb){var _0x4e3790={};_0x4e3790[_0x1b16eb]={'$like':'%'+_0x1f34d8[_0xcfea('0x3b')]['filter']+'%'};return _0x4e3790;})});}_0x45636c=_[_0xcfea('0x47')]({},_0x45636c,_0x1f34d8[_0xcfea('0x48')]);return _0xbb7350['getApplications'](_0x45636c);}})[_0xcfea('0x17')](function(_0x2ef9d9){if(_0x2ef9d9){_0x27fb5b=_0x2ef9d9[_0xcfea('0x41')];if(!_0x1f34d8['query']['hasOwnProperty'](_0xcfea('0x5e'))){_0x45636c['limit']=qs[_0xcfea('0x27')](_0x1f34d8[_0xcfea('0x3b')][_0xcfea('0x27')]);_0x45636c[_0xcfea('0x24')]=qs[_0xcfea('0x24')](_0x1f34d8['query'][_0xcfea('0x24')]);}return _0xbb7350[_0xcfea('0x123')](_0x45636c);}})[_0xcfea('0x17')](function(_0x292ec3){if(_0x292ec3){return _0x292ec3?{'count':_0x27fb5b,'rows':_0x292ec3}:null;}})[_0xcfea('0x17')](respondWithResult(_0xcf0d9d,null))[_0xcfea('0x56')](handleError(_0xcf0d9d,null));};exports[_0xcfea('0x124')]=function(_0x4d3218,_0x395461){return db[_0xcfea('0x125')][_0xcfea('0x4e')]({'where':{'id':_0x4d3218[_0xcfea('0x4d')]['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x395461,null))[_0xcfea('0x17')](function(_0x19499b){if(_0x19499b){return _0x19499b[_0xcfea('0x124')](_0x4d3218['body']['ids'],_['omit'](_0x4d3218[_0xcfea('0x50')],[_0xcfea('0x61'),'id'])||{});}})[_0xcfea('0x17')](respondWithResult(_0x395461,null))[_0xcfea('0x56')](handleError(_0x395461,null));};exports['getProactiveActions']=function(_0x111329,_0x4736c2){var _0x1b862b={};var _0x483a4f={};var _0x57b998;var _0x2a2172;return db[_0xcfea('0x35')][_0xcfea('0x5c')]({'where':{'id':_0x111329[_0xcfea('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4736c2,null))[_0xcfea('0x17')](function(_0xaa2da4){if(_0xaa2da4){_0x57b998=_0xaa2da4;_0x483a4f[_0xcfea('0x3a')]=_[_0xcfea('0x3c')](db['ChatProactiveAction']['rawAttributes']);_0x483a4f[_0xcfea('0x3b')]=_[_0xcfea('0x3c')](_0x111329[_0xcfea('0x3b')]);_0x483a4f[_0xcfea('0x3d')]=_[_0xcfea('0x3e')](_0x483a4f[_0xcfea('0x3a')],_0x483a4f['query']);_0x1b862b[_0xcfea('0x3f')]=_[_0xcfea('0x3e')](_0x483a4f[_0xcfea('0x3a')],qs[_0xcfea('0x40')](_0x111329[_0xcfea('0x3b')][_0xcfea('0x40')]));_0x1b862b[_0xcfea('0x3f')]=_0x1b862b[_0xcfea('0x3f')][_0xcfea('0x41')]?_0x1b862b['attributes']:_0x483a4f[_0xcfea('0x3a')];_0x1b862b[_0xcfea('0x42')]=qs[_0xcfea('0x43')](_0x111329[_0xcfea('0x3b')][_0xcfea('0x43')]);_0x1b862b[_0xcfea('0x44')]=qs[_0xcfea('0x3d')](_['pick'](_0x111329[_0xcfea('0x3b')],_0x483a4f[_0xcfea('0x3d')]));if(_0x111329[_0xcfea('0x3b')][_0xcfea('0x45')]){_0x1b862b[_0xcfea('0x44')]=_[_0xcfea('0x47')](_0x1b862b[_0xcfea('0x44')],{'$or':_[_0xcfea('0x34')](_0x1b862b[_0xcfea('0x3f')],function(_0x347824){var _0x31a0fe={};_0x31a0fe[_0x347824]={'$like':'%'+_0x111329['query']['filter']+'%'};return _0x31a0fe;})});}_0x1b862b=_['merge']({},_0x1b862b,_0x111329[_0xcfea('0x48')]);return _0x57b998[_0xcfea('0x109')](_0x1b862b);}})[_0xcfea('0x17')](function(_0x306421){if(_0x306421){_0x2a2172=_0x306421[_0xcfea('0x41')];if(!_0x111329[_0xcfea('0x3b')][_0xcfea('0x65')](_0xcfea('0x5e'))){_0x1b862b[_0xcfea('0x27')]=qs[_0xcfea('0x27')](_0x111329[_0xcfea('0x3b')][_0xcfea('0x27')]);_0x1b862b[_0xcfea('0x24')]=qs['offset'](_0x111329[_0xcfea('0x3b')][_0xcfea('0x24')]);}return _0x57b998[_0xcfea('0x109')](_0x1b862b);}})['then'](function(_0x529c21){if(_0x529c21){return _0x529c21?{'count':_0x2a2172,'rows':_0x529c21}:null;}})[_0xcfea('0x17')](respondWithResult(_0x4736c2,null))[_0xcfea('0x56')](handleError(_0x4736c2,null));};exports[_0xcfea('0x126')]=function(_0x45f712,_0x25b269){var _0x34b3ee=_0x45f712['query'][_0xcfea('0x127')]===_0xcfea('0x128')?_0xcfea('0x129'):_0xcfea('0x12a');return db['ChatWebsite']['find']({'attributes':['id',_0x34b3ee],'where':{'id':_0x45f712['params']['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x25b269,null))[_0xcfea('0x17')](function(_0x150846){if(_0x150846){var _0x2e84a1=_0x150846[_0x34b3ee];var _0x2c9ead=_0x2e84a1&&_0x2e84a1[_0xcfea('0x12b')]?_0x2e84a1[_0xcfea('0x12b')]:[];_0x25b269[_0xcfea('0xcb')]({'fromKey':_[_0xcfea('0x78')](_0x2e84a1[_0xcfea('0x12c')])?undefined:_0x2e84a1[_0xcfea('0x12c')],'count':_0x2c9ead[_0xcfea('0x41')],'rows':_0x2c9ead});}})[_0xcfea('0x56')](handleError(_0x25b269,null));};exports[_0xcfea('0x12d')]=function(_0x38af27,_0x216480){var _0x5a27bf={'raw':![],'where':{}};var _0x1b63ba={};var _0x5eb6f1={'count':0x0,'rows':[]};return db[_0xcfea('0x35')][_0xcfea('0x5c')]({'where':{'id':_0x38af27[_0xcfea('0x4d')]['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x216480,null))['then'](function(_0x45a352){if(_0x45a352){_0x1b63ba[_0xcfea('0x3a')]=_['keys'](db[_0xcfea('0xd4')][_0xcfea('0x36')]);_0x1b63ba[_0xcfea('0x3b')]=_[_0xcfea('0x3c')](_0x38af27[_0xcfea('0x3b')]);_0x1b63ba[_0xcfea('0x3d')]=_[_0xcfea('0x3e')](_0x1b63ba[_0xcfea('0x3a')],_0x1b63ba[_0xcfea('0x3b')]);_0x5a27bf['attributes']=_[_0xcfea('0x3e')](_0x1b63ba['model'],qs[_0xcfea('0x40')](_0x38af27[_0xcfea('0x3b')]['fields']));_0x5a27bf[_0xcfea('0x3f')]=_0x5a27bf[_0xcfea('0x3f')][_0xcfea('0x41')]?_0x5a27bf['attributes']:_0x1b63ba['model'];if(!_0x38af27[_0xcfea('0x3b')]['hasOwnProperty'](_0xcfea('0x5e'))){_0x5a27bf[_0xcfea('0x27')]=qs['limit'](_0x38af27[_0xcfea('0x3b')][_0xcfea('0x27')]);_0x5a27bf[_0xcfea('0x24')]=qs[_0xcfea('0x24')](_0x38af27[_0xcfea('0x3b')][_0xcfea('0x24')]);}_0x5a27bf[_0xcfea('0x42')]=qs['sort'](_0x38af27[_0xcfea('0x3b')][_0xcfea('0x43')]);_0x5a27bf[_0xcfea('0x44')]=qs[_0xcfea('0x3d')](_[_0xcfea('0x5f')](_0x38af27[_0xcfea('0x3b')],_0x1b63ba['filters']));_0x5a27bf['where'][_0xcfea('0x5a')]=_0x45a352['id'];if(_0x38af27['query'][_0xcfea('0x45')]){_0x5a27bf[_0xcfea('0x44')]=_[_0xcfea('0x47')](_0x5a27bf[_0xcfea('0x44')],{'$or':_[_0xcfea('0x34')](_0x5a27bf['attributes'],function(_0x594c4d){var _0x27128c={};_0x27128c[_0x594c4d]={'$like':'%'+_0x38af27[_0xcfea('0x3b')][_0xcfea('0x45')]+'%'};return _0x27128c;})});}_0x5a27bf=_['merge']({},_0x5a27bf,_0x38af27[_0xcfea('0x48')]);return db['ChatOfflineMessage'][_0xcfea('0x26')]({'where':_0x5a27bf[_0xcfea('0x44')]})[_0xcfea('0x17')](function(_0xc2ef93){_0x5eb6f1[_0xcfea('0x26')]=_0xc2ef93;if(_0x38af27[_0xcfea('0x3b')][_0xcfea('0x49')]){_0x5a27bf[_0xcfea('0x4a')]=[{'all':!![]}];}else{_0x5a27bf['include']=[{'model':db[_0xcfea('0x86')],'as':_0xcfea('0xf3'),'required':![]},{'model':db[_0xcfea('0xde')],'as':_0xcfea('0x12e'),'required':![]}];}return db[_0xcfea('0xd4')]['findAll'](_0x5a27bf);})[_0xcfea('0x17')](function(_0x13fa4b){_0x5eb6f1['rows']=_0x13fa4b;return _0x5eb6f1;});}})[_0xcfea('0x17')](respondWithFilteredResult(_0x216480,_0x5a27bf))['catch'](handleError(_0x216480,null));};exports[_0xcfea('0x12f')]=function(_0x270ff7,_0x2a86dd){return db[_0xcfea('0x35')][_0xcfea('0x4e')]({'where':{'id':_0x270ff7[_0xcfea('0x4d')]['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x2a86dd,null))[_0xcfea('0x17')](function(_0x55fbf5){if(_0x55fbf5){return _0x55fbf5[_0xcfea('0x12f')](_0x270ff7[_0xcfea('0x50')]['ids'],_['omit'](_0x270ff7['body'],['ids','id'])||{})[_0xcfea('0xb6')](function(_0x2d5f93){for(var _0x7ec349=0x0;_0x7ec349<_0x270ff7[_0xcfea('0x50')][_0xcfea('0x61')]['length'];_0x7ec349+=0x1){socket['emit'](_0xcfea('0x130'),{'UserId':Number(_0x270ff7['body']['ids'][_0x7ec349]),'ChatWebsiteId':Number(_0x270ff7['params']['id'])});}return _0x2d5f93;});}})[_0xcfea('0x17')](respondWithResult(_0x2a86dd,null))[_0xcfea('0x56')](handleError(_0x2a86dd,null));};exports[_0xcfea('0x131')]=function(_0x151681,_0x4c997b){return db[_0xcfea('0x35')]['find']({'where':{'id':_0x151681[_0xcfea('0x4d')]['id']}})[_0xcfea('0x17')](handleEntityNotFound(_0x4c997b,null))[_0xcfea('0x17')](function(_0x430893){if(_0x430893){return _0x430893['removeAgents'](_0x151681[_0xcfea('0x3b')][_0xcfea('0x61')])['then'](function(){if(_[_0xcfea('0x132')](_0x151681[_0xcfea('0x3b')][_0xcfea('0x61')])){for(var _0x55d521=0x0;_0x55d521<_0x151681[_0xcfea('0x3b')]['ids'][_0xcfea('0x41')];_0x55d521+=0x1){socket['emit'](_0xcfea('0x133'),{'UserId':Number(_0x151681[_0xcfea('0x3b')][_0xcfea('0x61')][_0x55d521]),'ChatWebsiteId':Number(_0x151681[_0xcfea('0x4d')]['id'])});}}else{socket[_0xcfea('0x134')](_0xcfea('0x133'),{'UserId':Number(_0x151681['query'][_0xcfea('0x61')]),'ChatWebsiteId':Number(_0x151681[_0xcfea('0x4d')]['id'])});}});}})[_0xcfea('0x17')](respondWithStatusCode(_0x4c997b,null))[_0xcfea('0x56')](handleError(_0x4c997b,null));};exports[_0xcfea('0x135')]=function(_0x4a7099,_0x36218b){var _0x4c6b10={};var _0x4ca748={};var _0x1b0a0e;var _0x4400e7;return db[_0xcfea('0x35')][_0xcfea('0x5c')]({'where':{'id':_0x4a7099[_0xcfea('0x4d')]['id']}})['then'](handleEntityNotFound(_0x36218b,null))[_0xcfea('0x17')](function(_0x4a569c){if(_0x4a569c){_0x1b0a0e=_0x4a569c;_0x4ca748[_0xcfea('0x3a')]=_['keys'](db[_0xcfea('0xbf')]['rawAttributes']);_0x4ca748[_0xcfea('0x3b')]=_[_0xcfea('0x3c')](_0x4a7099[_0xcfea('0x3b')]);_0x4ca748['filters']=_[_0xcfea('0x3e')](_0x4ca748[_0xcfea('0x3a')],_0x4ca748[_0xcfea('0x3b')]);_0x4c6b10[_0xcfea('0x3f')]=_['intersection'](_0x4ca748[_0xcfea('0x3a')],qs[_0xcfea('0x40')](_0x4a7099[_0xcfea('0x3b')][_0xcfea('0x40')]));_0x4c6b10[_0xcfea('0x3f')]=_0x4c6b10[_0xcfea('0x3f')][_0xcfea('0x41')]?_0x4c6b10[_0xcfea('0x3f')]:_0x4ca748[_0xcfea('0x3a')];_0x4c6b10['order']=qs['sort'](_0x4a7099[_0xcfea('0x3b')][_0xcfea('0x43')]);_0x4c6b10[_0xcfea('0x44')]=qs[_0xcfea('0x3d')](_[_0xcfea('0x5f')](_0x4a7099[_0xcfea('0x3b')],_0x4ca748[_0xcfea('0x3d')]));if(_0x4a7099[_0xcfea('0x3b')][_0xcfea('0x45')]){_0x4c6b10[_0xcfea('0x44')]=_[_0xcfea('0x47')](_0x4c6b10[_0xcfea('0x44')],{'$or':_[_0xcfea('0x34')](_0x4c6b10[_0xcfea('0x3f')],function(_0x31d767){var _0x12b293={};_0x12b293[_0x31d767]={'$like':'%'+_0x4a7099[_0xcfea('0x3b')][_0xcfea('0x45')]+'%'};return _0x12b293;})});}_0x4c6b10=_['merge']({},_0x4c6b10,_0x4a7099['options']);return _0x1b0a0e[_0xcfea('0x135')](_0x4c6b10);}})[_0xcfea('0x17')](function(_0x374dd7){if(_0x374dd7){_0x4400e7=_0x374dd7[_0xcfea('0x41')];if(!_0x4a7099[_0xcfea('0x3b')][_0xcfea('0x65')](_0xcfea('0x5e'))){_0x4c6b10[_0xcfea('0x27')]=qs[_0xcfea('0x27')](_0x4a7099['query'][_0xcfea('0x27')]);_0x4c6b10[_0xcfea('0x24')]=qs['offset'](_0x4a7099[_0xcfea('0x3b')][_0xcfea('0x24')]);}return _0x1b0a0e[_0xcfea('0x135')](_0x4c6b10);}})[_0xcfea('0x17')](function(_0x2a72cd){if(_0x2a72cd){return _0x2a72cd?{'count':_0x4400e7,'rows':_0x2a72cd}:null;}})[_0xcfea('0x17')](respondWithResult(_0x36218b,null))['catch'](handleError(_0x36218b,null));};