/********************************************************************************
 * Copyright (c) 2015-2018 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 ********************************************************************************/


import {Component} from '@angular/core';
import {Router} from '@angular/router';

@Component({
  selector: 'admin-modules',
  templateUrl: 'admin-modules.component.html',
  providers: []
})
export class AdminModulesComponent {

  readonly brand = 'Geltungsbereich';
  links = [
    { name: 'System', path: 'system'},
    { name: 'Quelle', path: 'source'},
    { name: 'Benutzer', path: 'user'}
  ];
  constructor(private router: Router) {}
}
