Bernd-L/exDateMan

View on GitHub
frontend/src/app/app-routing.module.ts

Summary

Maintainability
A
1 hr
Test Coverage
import { NgModule } from "@angular/core";
import { Routes, RouterModule } from "@angular/router";
 
import { PageNotFoundComponent } from "./components/page-not-found/page-not-found.component";
import { RegisterComponent } from "./components/register/register.component";
import { LoginComponent } from "./components/login/login.component";
import { EditThingComponent } from "./components/edit-thing/edit-thing.component";
import { EditStockComponent } from "./components/edit-stock/edit-stock.component";
import { AddStockComponent } from "./components/add-stock/add-stock.component";
import { StocksComponent } from "./components/stocks/stocks.component";
import { AddThingComponent } from "./components/add-thing/add-thing.component";
import { ThingsComponent } from "./components/things/things.component";
import { InventoriesComponent } from "./components/inventories/inventories.component";
import { EditInventoryComponent } from "./components/edit-inventory/edit-inventory.component";
import { AddInventoryComponent } from "./components/add-inventory/add-inventory.component";
import { WelcomeComponent } from "./components/welcome/welcome.component";
import { AccountComponent } from "./components/account/account.component";
import { ScanCodeComponent } from "./components/scan-code/scan-code.component";
import { EventsComponent } from "./components/events/events.component";
import { CategoriesComponent } from "./components/categories/categories.component";
import { AddCategoryComponent } from "./components/add-category/add-category.component";
import { EditCategoryComponent } from "./components/edit-category/edit-category.component";
import { LoginGuard } from "./guards/login.guard";
 
const routes: Routes = [
// Default route
{ path: "", redirectTo: "/welcome", pathMatch: "full" },
 
// Welcome
{ path: "welcome", component: WelcomeComponent },
 
// Auth
{
path: "login",
children: [
{ path: "", component: LoginComponent },
{ path: ":email", component: LoginComponent }
]
},
{
path: "register",
children: [
{ path: "", component: RegisterComponent },
{ path: ":email", component: RegisterComponent }
]
},
 
// Account
{ path: "account", component: AccountComponent },
 
// Scan
{ path: "scan", component: ScanCodeComponent },
 
// Events
{ path: "events", component: EventsComponent },
 
// Inventories
{
path: "inventories",
// canActivate: [LoginGuard],
// canActivateChild: [LoginGuard],
children: [
{ path: "", component: InventoriesComponent },
{ path: "new", component: AddInventoryComponent },
{
path: ":inventoryUuid",
children: [
{ path: "", component: EditInventoryComponent },
 
// Categories
Similar blocks of code found in 2 locations. Consider refactoring.
{
path: "categories",
children: [
{ path: "", component: CategoriesComponent },
{ path: "new", component: AddCategoryComponent },
{ path: ":categoryUuid", component: EditCategoryComponent }
]
},
 
// Things
{
path: "things",
children: [
{ path: "", component: ThingsComponent },
{ path: "new", component: AddThingComponent },
{
path: ":thingUuid",
children: [
{ path: "", component: EditThingComponent },
 
// Stocks
Similar blocks of code found in 2 locations. Consider refactoring.
{
path: "stocks",
children: [
{ path: "", component: StocksComponent },
{ path: "new", component: AddStockComponent },
{ path: ":stockUuid", component: EditStockComponent }
]
}
]
}
]
}
]
}
]
},
 
// Page not found (fallback)
{ path: "**", component: PageNotFoundComponent }
];
 
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {}