github.com/in4it/ecs-deploy@v0.0.42-0.20240508120354-ed77ff16df25/webapp/src/app/app.module.ts (about)

     1  import { BrowserModule } from '@angular/platform-browser';
     2  import { NgModule } from '@angular/core';
     3  import { FormsModule }    from '@angular/forms';
     4  
     5  import { ReactiveFormsModule } from '@angular/forms';
     6  
     7  import { AppComponent } from './app.component';
     8  import { AppNavbarComponent } from './app-navbar/app-navbar.component';
     9  
    10  import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
    11  import { DeploymentListComponent } from './deployment-list/deployment-list.component';
    12  import { DeploymentListResolver }   from './deployment-list/deployment-list-resolver.service';
    13  import { DeploymentListService }   from './deployment-list/deployment-list.service';
    14  
    15  import {HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
    16  
    17  import { RouterModule, Routes } from '@angular/router';
    18  import { LoginComponent } from './login/login.component';
    19  import { LoginSAMLComponent } from './login/saml.component';
    20  import { AlertService, AuthService } from './services/index';
    21  import { AuthGuard } from './guards/auth.guard';
    22  import { AlertComponent } from './directives/alert.component';
    23  
    24  import { AppHttpInterceptor } from './interceptors/http-interceptor';
    25  import { ErrorComponent } from './errors/error.component';
    26  import { ServiceListComponent } from './service-list/service-list.component';
    27  import { ServiceListResolver }   from './service-list/service-list-resolver.service';
    28  import { ServiceListService }   from './service-list/service-list.service';
    29  import { ServiceDetailComponent } from './service-detail/service-detail.component';
    30  import { ServiceDetailResolver } from './service-detail/service-detail-resolver.service';
    31  import { ServiceDetailService } from './service-detail/service-detail.service';
    32  import { InspectChildComponent } from './service-detail/inspect.component';
    33  import { DeployChildComponent } from './service-detail/deploy.component';
    34  import { ConfirmChildComponent } from './service-detail/confirm.component';
    35  
    36  // routes
    37  const appRoutes: Routes = [
    38    { path: 'login', component: LoginComponent },
    39    { path: 'saml', component: LoginSAMLComponent },
    40    {
    41      path: 'deployments',
    42      component: DeploymentListComponent,
    43      resolve: { dl: DeploymentListResolver },
    44      data: { title: 'ECS Deploy tool' },
    45      canActivate: [AuthGuard]
    46    },
    47    {
    48      path: 'services',
    49      component: ServiceListComponent,
    50      resolve: { sl: ServiceListResolver },
    51      data: { title: 'ECS Deploy tool' },
    52      canActivate: [AuthGuard]
    53    },
    54    {
    55      path: 'service/:serviceName',
    56      component: ServiceDetailComponent,
    57      resolve: { sd: ServiceDetailResolver },
    58      data: { title: 'ECS Deploy tool' },
    59      canActivate: [AuthGuard]
    60    },
    61    { path: '',
    62      redirectTo: '/services',
    63      pathMatch: 'full'
    64    },
    65    { path: 'error', component: ErrorComponent },
    66    { path: '**', data: { error: 'PageNotFound' }, component: ErrorComponent }
    67  ];
    68  
    69  
    70  @NgModule({
    71    declarations: [
    72      AppComponent,
    73      AlertComponent,
    74      AppNavbarComponent,
    75      DeploymentListComponent,
    76      LoginComponent,
    77      LoginSAMLComponent,
    78      ErrorComponent,
    79      ServiceListComponent,
    80      ServiceDetailComponent,
    81      InspectChildComponent,
    82      DeployChildComponent,
    83      ConfirmChildComponent,
    84    ],
    85    imports: [
    86      BrowserModule,
    87      ReactiveFormsModule,
    88      HttpClientModule,
    89      FormsModule,
    90      RouterModule.forRoot(
    91        appRoutes,
    92        { enableTracing: false } // <-- debugging purposes only
    93   // <-- debugging purposes only
    94   // <-- debugging purposes only
    95      ),
    96      NgbModule
    97    ],
    98    providers: [
    99      AuthGuard,
   100      AlertService,
   101      AuthService,
   102      DeploymentListService,
   103      DeploymentListResolver,
   104      ServiceListResolver,
   105      ServiceListService,
   106      ServiceDetailResolver,
   107      ServiceDetailService,
   108      { provide: HTTP_INTERCEPTORS, useClass: AppHttpInterceptor, multi: true },
   109    ],
   110    bootstrap: [AppComponent]
   111  })
   112  
   113  export class AppModule { }