| /* | |
| * Licensed to the Apache Software Foundation (ASF) under one or more | |
| * contributor license agreements. See the NOTICE file distributed with | |
| * this work for additional information regarding copyright ownership. | |
| * The ASF licenses this file to You 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 { Injectable } from '@angular/core'; | |
| import { PageName } from '../_enums/page-name.enum'; | |
| import { AuthService } from '../services/auth.service'; | |
| @Injectable() | |
| export class HomeService { | |
| constructor(private authService: AuthService) { | |
| } | |
| getFilteredServiceLinks() { | |
| return this.getServiceLinks().filter(s => this.authService.isAnyAccessGranted(s.pageNames)); | |
| } | |
| getServiceLinks() { | |
| return [ | |
| {{#modulesActive}} | |
| { | |
| name: "{{title}}", | |
| description: "{{description}}", | |
| imageUrl: "{{{homeImage}}}", | |
| icon: "{{{icon}}}", | |
| pageNames: [{{{pageNames}}}], | |
| link: { | |
| newWindow: false, | |
| value: "{{{link}}}" | |
| } | |
| }, | |
| {{/modulesActive}} | |
| { | |
| name: "Notifications", | |
| description: "The notification module lets you view all notifications generated by pipelines.", | |
| imageUrl: "assets/img/home/notifications.png", | |
| icon: "chat", | |
| pageNames: [PageName.NOTIFICATIONS], | |
| link: { | |
| newWindow: false, | |
| value: "notifications" | |
| } | |
| } | |
| ]; | |
| } | |
| } |