import { Routes } from '@angular/router' import { UserRight } from '../../../../../shared' import { UserRightGuard } from '@app/core' import { VideoAbuseListComponent } from '@app/+admin/moderation/video-abuse-list' import { VideoBlockListComponent } from '@app/+admin/moderation/video-block-list' import { ModerationComponent } from '@app/+admin/moderation/moderation.component' import { InstanceAccountBlocklistComponent, InstanceServerBlocklistComponent } from '@app/+admin/moderation/instance-blocklist' export const ModerationRoutes: Routes = [ { path: 'moderation', component: ModerationComponent, children: [ { path: '', redirectTo: 'video-abuses/list', pathMatch: 'full' }, { path: 'video-abuses', redirectTo: 'video-abuses/list', pathMatch: 'full' }, { path: 'video-abuses/list', component: VideoAbuseListComponent, canActivate: [ UserRightGuard ], data: { userRight: UserRight.MANAGE_VIDEO_ABUSES, meta: { title: 'Video reports' } } }, { path: 'video-blacklist', redirectTo: 'video-blocks/list', pathMatch: 'full' }, { path: 'video-auto-blacklist', redirectTo: 'video-blocks/list', pathMatch: 'full' }, { path: 'video-auto-blacklist/list', redirectTo: 'video-blocks/list', pathMatch: 'full' }, { path: 'video-blacklist', redirectTo: 'video-blocks/list', pathMatch: 'full' }, { path: 'video-blocks/list', component: VideoBlockListComponent, canActivate: [ UserRightGuard ], data: { userRight: UserRight.MANAGE_VIDEO_BLACKLIST, meta: { title: 'Videos blocked' } } }, { path: 'blocklist/accounts', component: InstanceAccountBlocklistComponent, canActivate: [ UserRightGuard ], data: { userRight: UserRight.MANAGE_ACCOUNTS_BLOCKLIST, meta: { title: 'Muted accounts' } } }, { path: 'blocklist/servers', component: InstanceServerBlocklistComponent, canActivate: [ UserRightGuard ], data: { userRight: UserRight.MANAGE_SERVERS_BLOCKLIST, meta: { title: 'Muted instances' } } } ] } ]