mirror of
https://github.com/zoriya/Kyoo.git
synced 2026-04-19 07:28:51 -04:00
44 lines
2.7 KiB
TypeScript
44 lines
2.7 KiB
TypeScript
import {NgModule} from '@angular/core';
|
|
import {RouterModule, Routes} from '@angular/router';
|
|
import {BrowseComponent} from './browse/browse.component';
|
|
import {CollectionComponent} from "./collection/collection.component";
|
|
import {NotFoundComponent} from './not-found/not-found.component';
|
|
import {PlayerComponent} from "./player/player.component";
|
|
import {SearchComponent} from "./search/search.component";
|
|
import {CollectionResolverService} from "./services/collection-resolver.service";
|
|
import {LibraryResolverService} from './services/library-resolver.service';
|
|
import {PeopleResolverService} from "./services/people-resolver.service";
|
|
import {SearchResolverService} from "./services/search-resolver.service";
|
|
import {ShowResolverService} from './services/show-resolver.service';
|
|
import {StreamResolverService} from "./services/stream-resolver.service";
|
|
import {ShowDetailsComponent} from './show-details/show-details.component';
|
|
import {AuthGuard} from "./auth/misc/authenticated-guard.service";
|
|
|
|
const routes: Routes = [
|
|
{path: "browse", component: BrowseComponent, pathMatch: "full", resolve: { shows: LibraryResolverService }, canLoad: [AuthGuard.forPermissions("read")], canActivate: [AuthGuard.forPermissions("read")]},
|
|
{path: "browse/:library-slug", component: BrowseComponent, resolve: { shows: LibraryResolverService }, canLoad: [AuthGuard.forPermissions("read")], canActivate: [AuthGuard.forPermissions("read")]},
|
|
{path: "show/:show-slug", component: ShowDetailsComponent, resolve: { show: ShowResolverService }, canLoad: [AuthGuard.forPermissions("read")], canActivate: [AuthGuard.forPermissions("read")]},
|
|
{path: "collection/:collection-slug", component: CollectionComponent, resolve: { collection: CollectionResolverService }, canLoad: [AuthGuard.forPermissions("read")], canActivate: [AuthGuard.forPermissions("read")]},
|
|
{path: "people/:people-slug", component: CollectionComponent, resolve: { collection: PeopleResolverService }, canLoad: [AuthGuard.forPermissions("read")], canActivate: [AuthGuard.forPermissions("read")]},
|
|
{path: "watch/:item", component: PlayerComponent, resolve: { item: StreamResolverService }, canLoad: [AuthGuard.forPermissions("play")], canActivate: [AuthGuard.forPermissions("play")]},
|
|
{path: "search/:query", component: SearchComponent, resolve: { items: SearchResolverService }, canLoad: [AuthGuard.forPermissions("read")], canActivate: [AuthGuard.forPermissions("read")]},
|
|
{path: "**", component: NotFoundComponent}
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [RouterModule.forRoot(routes,
|
|
{
|
|
scrollPositionRestoration: "enabled",
|
|
})],
|
|
exports: [RouterModule],
|
|
providers: [
|
|
LibraryResolverService,
|
|
ShowResolverService,
|
|
CollectionResolverService,
|
|
PeopleResolverService,
|
|
StreamResolverService,
|
|
SearchResolverService
|
|
]
|
|
})
|
|
export class AppRoutingModule { }
|