summaryrefslogtreecommitdiffstats
path: root/openecomp-ui/src/nfvo-utils/WorkerUtil.js
diff options
context:
space:
mode:
authorMalek <malek.zoabi@amdocs.com>2018-10-16 16:44:41 +0300
committerAvi Gaffa <avi.gaffa@amdocs.com>2018-10-16 14:55:40 +0000
commite6c3c72677709af1135948b490a99d8f0c6a48bd (patch)
tree508df56f05821440da4b26af0ebd1d7a7625ecf3 /openecomp-ui/src/nfvo-utils/WorkerUtil.js
parenta8a714ac431ec812b9f25aa540be5bab0b522da8 (diff)
Add worker to onboard notification
Issue-ID: SDC-1840 Change-Id: I0506df2073beb14de2aea5a01233f05ce9a6d7f7 Signed-off-by: Malek <malek.zoabi@amdocs.com>
Diffstat (limited to 'openecomp-ui/src/nfvo-utils/WorkerUtil.js')
-rw-r--r--openecomp-ui/src/nfvo-utils/WorkerUtil.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/openecomp-ui/src/nfvo-utils/WorkerUtil.js b/openecomp-ui/src/nfvo-utils/WorkerUtil.js
new file mode 100644
index 0000000000..e9ce332e20
--- /dev/null
+++ b/openecomp-ui/src/nfvo-utils/WorkerUtil.js
@@ -0,0 +1,64 @@
+/*
+* 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;