Added service components
[portal.git] / portal-FE-common / src / app / shared / services / notification / notification.service.ts
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * 
37  */
38 import { Injectable } from '@angular/core';
39 import { HttpClient } from '@angular/common/http';
40 import { environment } from '../../../../environments/environment';
41 import { Observable } from 'rxjs';
42
43 @Injectable({
44   providedIn: 'root'
45 })
46 export class NotificationService {
47
48   api = environment.api;
49
50   constructor(private http: HttpClient) { }
51
52   getNotificationRate(): Observable<any>{ 
53     let getNotificationRateURL  = this.api.notificationUpdateRate;
54     return this.http.get(getNotificationRateURL);
55   }
56
57   getNotification(): Observable<any>{
58     let getNotificationURL  = this.api.getNotifications;
59     return this.http.get(getNotificationURL);
60   }
61
62   getNotificationHistory(): Observable<any>{
63     let getNotificationHistoryURL = this.api.getNotificationHistory;
64     return this.http.get(getNotificationHistoryURL);
65   }
66
67   getAdminNotification(): Observable<any>{
68     let getAdminNotificationURL = this.api.getAdminNotifications;
69     return this.http.get(getAdminNotificationURL);
70   }
71
72   getMessageRecipients(notificationId: any): Observable<any>{
73     let getMessageRecipientsURL = this.api.getMessageRecipients+"?notificationId="+notificationId;
74     return this.http.get(getMessageRecipientsURL);
75   }
76
77   getAppRoleIds(): Observable<any>{
78     let getAppRoleIdsURL = this.api.getAllAppRoleIds;
79     return this.http.get(getAppRoleIdsURL);
80   }
81
82   getNotificationRoles(notificationId: any): Observable<any>{
83     let getNotificationRolesURL = this.api.getNotificationRoles + '/'+notificationId+'/roles';
84     return this.http.get(getNotificationRolesURL);
85   }
86
87   addAdminNotification(newAdminNotification: any): Observable<any>{
88     let addAdminNotificationURL = this.api.saveNotification;
89     return this.http.post(addAdminNotificationURL, newAdminNotification);
90   }
91
92   updateAdminNotification(adminNotification: any): Observable<any>{
93     let updateAdminNotificationURL = this.api.saveNotification;
94     return this.http.post(updateAdminNotificationURL, adminNotification);
95   }
96
97   setNotificationRead(notificationId: any): Observable<any>{
98     let  setNotificationReadURL = this.api.notificationRead+"?notificationId="+notificationId;
99     return this.http.get(setNotificationReadURL);
100   }
101
102 }