summaryrefslogtreecommitdiffstats
path: root/portal-FE-common/src/app/shared/services/functional-menu
diff options
context:
space:
mode:
Diffstat (limited to 'portal-FE-common/src/app/shared/services/functional-menu')
-rw-r--r--portal-FE-common/src/app/shared/services/functional-menu/functional-menu.service.spec.ts49
-rw-r--r--portal-FE-common/src/app/shared/services/functional-menu/functional-menu.service.ts102
2 files changed, 151 insertions, 0 deletions
diff --git a/portal-FE-common/src/app/shared/services/functional-menu/functional-menu.service.spec.ts b/portal-FE-common/src/app/shared/services/functional-menu/functional-menu.service.spec.ts
new file mode 100644
index 00000000..1280c084
--- /dev/null
+++ b/portal-FE-common/src/app/shared/services/functional-menu/functional-menu.service.spec.ts
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software 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.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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.
+ *
+ * ============LICENSE_END============================================
+ *
+ *
+ */
+import { TestBed } from '@angular/core/testing';
+
+import { FunctionalMenuService } from './functional-menu.service';
+
+describe('FunctionalMenuService', () => {
+ beforeEach(() => TestBed.configureTestingModule({}));
+
+ it('should be created', () => {
+ const service: FunctionalMenuService = TestBed.get(FunctionalMenuService);
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/portal-FE-common/src/app/shared/services/functional-menu/functional-menu.service.ts b/portal-FE-common/src/app/shared/services/functional-menu/functional-menu.service.ts
new file mode 100644
index 00000000..23029c30
--- /dev/null
+++ b/portal-FE-common/src/app/shared/services/functional-menu/functional-menu.service.ts
@@ -0,0 +1,102 @@
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software 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.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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.
+ *
+ * ============LICENSE_END============================================
+ *
+ *
+ */
+import { Injectable } from '@angular/core';
+import { environment } from 'src/environments/environment';
+import { HttpClient } from '@angular/common/http';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class FunctionalMenuService {
+
+ constructor(private http: HttpClient) { }
+ apiUrl = environment.api;
+
+ getManagedRolesMenu(appId: any) {
+ return this.http.get(this.apiUrl.appRoles.replace(':appId', appId));
+ }
+
+ getAvailableApplications() {
+ return this.http.get(this.apiUrl.allAvailableApps);
+ }
+
+ getFunctionalMenu(menuId: any) {
+ return this.http.get(this.apiUrl.functionalMenuItemDetails.replace(':menuId', menuId));
+ }
+
+ getManagedFunctionalMenu() {
+ return this.http.get(this.apiUrl.functionalMenuForEditing);
+ }
+
+ getManagedFunctionalMenuForNotificationTree() {
+ return this.http.get(this.apiUrl.functionalMenuForNotificationTree);
+ }
+
+ regenerateFunctionalMenuAncestors() {
+ return this.http.get(this.apiUrl.regenerateFunctionalMenuAncestors);
+ }
+
+ saveEditedMenuItem(menuData: any) {
+ return this.http.put(this.apiUrl.functionalMenuItem, menuData);
+ }
+
+ saveMenuItem(menuData: any) {
+ return this.http.post(this.apiUrl.functionalMenuItem, menuData);
+ }
+
+ deleteMenuItem(menuId: any){
+ return this.http.delete(this.apiUrl.functionalMenuItem + '/' + menuId);
+ }
+
+ getFunctionalMenuRole(){
+ return this.http.get(this.apiUrl.getFunctionalMenuRole);
+ }
+
+ saveBulkFunction(appId, appFunction){
+ return this.http.post(this.apiUrl.saveRoleFunction.replace(':appId', appId), appFunction);
+ }
+
+ saveBulkRole(appId, appRole){
+ return this.http.post(this.apiUrl.saveRole.replace(':appId', appId), appRole);
+ }
+
+ updateBulkRoleFunction(appId, roleFunction){
+ return this.http.post(this.apiUrl.uploadRoleFunction.replace(':appId', appId), roleFunction);
+ }
+
+}