/* * Copyright © 2018 European Support Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http: //www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import Configuration from 'sdc-app/config/Configuration.js'; import { applySecurity } from 'nfvo-utils/RestAPIUtil.js'; import store from 'sdc-app/AppStore.js'; import { actionTypes } from 'sdc-app/onboarding/userNotifications/UserNotificationsConstants.js'; import Worker from 'nfvo-utils/Notifications.worker.js'; class WorkerUtil { open() { this.worker = new Worker(); const url = `${Configuration.get('restPrefix')}/v1.0/notifications`; const notificationsWorkerUpdateMillisecond = Configuration.get( 'notificationsWorkerUpdateMillisecond' ); const options = {}; applySecurity(options); const config = { method: 'GET', url: url, headers: options.headers, data: null }; this.worker.postMessage({ config, notificationsWorkerUpdateMillisecond }); this.worker.onmessage = event => { const result = event.data; store.dispatch({ type: actionTypes.LOAD_NOTIFICATIONS, result }); }; } close() { if (this.worker !== undefined) { this.worker.terminate(); } } } export default WorkerUtil;