101 lines
3.2 KiB
TypeScript
101 lines
3.2 KiB
TypeScript
import { Routes } from '@angular/router';
|
|
import { PolicyComponent } from './policies/policy/policy.component';
|
|
import { AuthUserGuard } from './shared/auth/auth.user.guard';
|
|
import { LoginComponent } from './auth/login/login.component';
|
|
import { TtsLoginComponent } from './auth/tts-login/tts-login.component';
|
|
import { TwitchAuthCallbackComponent } from './twitch-auth-callback/twitch-auth-callback.component';
|
|
import { FiltersComponent } from './tts-filters/filters/filters.component';
|
|
import { AuthAdminGuard } from './shared/auth/auth.admin.guard';
|
|
import { AuthVisitorGuard } from './shared/auth/auth.visitor.guard';
|
|
import { ActionsComponent } from './actions/actions/actions.component';
|
|
import { RedemptionsComponent } from './redemptions/redemptions/redemptions.component';
|
|
import RedemptionResolver from './shared/resolvers/redemption-resolver';
|
|
import TwitchRedemptionResolver from './shared/resolvers/twitch-redemption-resolver';
|
|
import RedeemableActionResolver from './shared/resolvers/redeemable-action-resolver';
|
|
import TtsFilterResolver from './shared/resolvers/tts-filter-resolver';
|
|
import ApiKeyResolver from './shared/resolvers/api-key-resolver';
|
|
import GroupResolver from './shared/resolvers/group-resolver';
|
|
import PolicyResolver from './shared/resolvers/policy-resolver';
|
|
import { GroupsComponent } from './groups/groups/groups.component';
|
|
import { GroupPageComponent } from './groups/group-page/group-page.component';
|
|
import GroupChatterResolver from './shared/resolvers/group-chatter-resolver';
|
|
import PermissionResolver from './shared/resolvers/permission-resolver';
|
|
|
|
export const routes: Routes = [
|
|
{
|
|
path: 'policies',
|
|
component: PolicyComponent,
|
|
canActivate: [AuthUserGuard],
|
|
resolve: {
|
|
groups: GroupResolver,
|
|
policies: PolicyResolver,
|
|
}
|
|
},
|
|
{
|
|
path: 'groups',
|
|
component: GroupsComponent,
|
|
canActivate: [AuthAdminGuard],
|
|
resolve: {
|
|
groups: GroupResolver,
|
|
chatters: GroupChatterResolver,
|
|
policies: PolicyResolver,
|
|
permissions: PermissionResolver,
|
|
}
|
|
},
|
|
{
|
|
path: 'groups/:id',
|
|
component: GroupPageComponent,
|
|
canActivate: [AuthAdminGuard],
|
|
resolve: {
|
|
groups: GroupResolver,
|
|
chatters: GroupChatterResolver,
|
|
policies: PolicyResolver,
|
|
permissions: PermissionResolver,
|
|
}
|
|
},
|
|
{
|
|
path: 'filters',
|
|
component: FiltersComponent,
|
|
canActivate: [AuthUserGuard],
|
|
resolve: {
|
|
filters: TtsFilterResolver,
|
|
}
|
|
},
|
|
{
|
|
path: 'actions',
|
|
component: ActionsComponent,
|
|
canActivate: [AuthUserGuard],
|
|
resolve: {
|
|
redeemableActions: RedeemableActionResolver,
|
|
}
|
|
},
|
|
{
|
|
path: 'redemptions',
|
|
component: RedemptionsComponent,
|
|
canActivate: [AuthUserGuard],
|
|
resolve: {
|
|
redeemableActions: RedeemableActionResolver,
|
|
redemptions: RedemptionResolver,
|
|
twitchRedemptions: TwitchRedemptionResolver,
|
|
}
|
|
},
|
|
{
|
|
path: 'login',
|
|
component: LoginComponent,
|
|
canActivate: [AuthVisitorGuard],
|
|
},
|
|
{
|
|
path: 'tts-login',
|
|
component: TtsLoginComponent,
|
|
canActivate: [AuthUserGuard],
|
|
resolve: {
|
|
keys: ApiKeyResolver,
|
|
}
|
|
},
|
|
{
|
|
path: 'auth',
|
|
component: TwitchAuthCallbackComponent,
|
|
canActivate: [AuthVisitorGuard],
|
|
}
|
|
];
|