| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import { NgModule } from '@angular/core';
- import { BrowserModule } from '@angular/platform-browser';
- import { AppComponent } from './app.component';
- import { HomeComponent } from './home/home.component';
- import { AddStudentDialog, StudentsComponent } from './students/students.component';
- import { RouterModule, Routes } from "@angular/router";
- import { HttpClientModule } from "@angular/common/http";
- import { FormsModule, ReactiveFormsModule } from "@angular/forms";
- import { LoginComponent } from "./login/login.component";
- import { RegisterComponent } from "./register/register.component";
- import { httpInterceptorProviders } from './auth/auth-interceptor';
- import { RoleGuard } from "./guards/role.guard";
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
- import { MaterialModule } from "./material/material.module";
- import { AddSubjectDialog, SubjectListComponent } from './subject/subject-list/subject-list.component';
- import { StudentSelectionDialog, SubjectDetailsComponent } from './subject/subject-details/subject-details.component';
- import { SubjectForStudentComponent } from './subject/subject-for-student/subject-for-student.component';
- const routes: Routes = [
- { path: 'home', component: HomeComponent },
- { path: 'students', component: StudentsComponent, canActivate: [RoleGuard], data: { roles: ['ROLE_ADMIN'] }, },
- { path: 'subjects', component: SubjectListComponent, canActivate: [RoleGuard], data: { roles: ['ROLE_ADMIN'] }, },
- { path: 'subjects/:id', component: SubjectDetailsComponent, canActivate: [RoleGuard], data: { roles: ['ROLE_ADMIN'] }, },
- { path: 'student/subjects', component: SubjectForStudentComponent, canActivate: [RoleGuard], data: { roles: ['ROLE_USER'] }, },
- { path: 'auth/login', component: LoginComponent },
- { path: 'auth/signup', component: RegisterComponent },
- { path: '', redirectTo: 'home', pathMatch: 'full' }
- ];
- @NgModule({
- declarations: [
- AppComponent,
- HomeComponent,
- StudentsComponent,
- LoginComponent,
- RegisterComponent,
- SubjectListComponent,
- AddSubjectDialog,
- SubjectDetailsComponent,
- AddStudentDialog,
- StudentSelectionDialog,
- SubjectForStudentComponent,
- ],
- imports: [
- BrowserModule,
- HttpClientModule,
- FormsModule,
- RouterModule.forRoot(routes),
- BrowserAnimationsModule,
- MaterialModule,
- ReactiveFormsModule
- ],
- providers: [httpInterceptorProviders, AppComponent],
- bootstrap: [AppComponent]
- })
- export class AppModule {
- }
|