mirror of
http://172.20.10.11:3000/gitadmin/INSIGHT-MVP.git
synced 2026-06-25 02:46:41 +02:00
- Admin section moved to dedicated area with horizontal tab navigation - Sidebar now shows gear icon link to Administration (PLATFORM_ADMIN only) - External links management page for configuring sidebar shortcuts - External links displayed in sidebar for all authenticated users - Backend: Redis-based CRUD endpoints for external link configuration Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
61 lines
1.7 KiB
TypeScript
61 lines
1.7 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { APP_GUARD } from '@nestjs/core';
|
|
import { ThrottlerModule, ThrottlerGuard } from '@nestjs/throttler';
|
|
import { ScheduleModule } from '@nestjs/schedule';
|
|
import { HealthModule } from './health/health.module';
|
|
import { PrismaModule } from './prisma/prisma.module';
|
|
import { RedisModule } from './redis/redis.module';
|
|
import { AuthModule } from './core/auth/auth.module';
|
|
import { UsersModule } from './core/users/users.module';
|
|
import { TenantsModule } from './core/tenants/tenants.module';
|
|
import { ExpertProfileModule } from './core/expert-profile/expert-profile.module';
|
|
import { SettingsModule } from './core/settings/settings.module';
|
|
import { JwtAuthGuard } from './common/guards/jwt-auth.guard';
|
|
import { validateConfig } from './config/env.validation';
|
|
|
|
@Module({
|
|
imports: [
|
|
// Konfiguration (.env)
|
|
ConfigModule.forRoot({
|
|
isGlobal: true,
|
|
validate: validateConfig,
|
|
}),
|
|
|
|
// Rate Limiting
|
|
ThrottlerModule.forRoot([
|
|
{
|
|
ttl: parseInt(process.env.THROTTLE_TTL ?? '60000', 10),
|
|
limit: parseInt(process.env.THROTTLE_LIMIT ?? '200', 10),
|
|
},
|
|
]),
|
|
|
|
// Cron-Jobs
|
|
ScheduleModule.forRoot(),
|
|
|
|
// Infrastruktur-Module
|
|
PrismaModule,
|
|
RedisModule,
|
|
|
|
// Feature-Module
|
|
HealthModule,
|
|
AuthModule,
|
|
UsersModule,
|
|
TenantsModule,
|
|
ExpertProfileModule,
|
|
SettingsModule,
|
|
],
|
|
providers: [
|
|
// Global Guards: Alle Routen sind standardmaessig geschuetzt
|
|
// Oeffentliche Routen muessen mit @Public() dekoriert werden
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: JwtAuthGuard,
|
|
},
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: ThrottlerGuard,
|
|
},
|
|
],
|
|
})
|
|
export class AppModule {}
|