46 lines
1.0 KiB
TypeScript
46 lines
1.0 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { APP_GUARD } from '@nestjs/core';
|
|
import { JwtModule } from '@nestjs/jwt';
|
|
|
|
// Common imports
|
|
import { PrismaModule } from '../common/database/prisma.module';
|
|
import { RolesGuard } from '../common/guards/roles.guard';
|
|
|
|
// Feature modules
|
|
// import { AuthModule } from '../modules/auth/auth.module';
|
|
// import { HostModule } from '../modules/host/host.module'; // Add more modules as you create them
|
|
|
|
@Module({
|
|
imports: [
|
|
// Global configuration (env variables)
|
|
ConfigModule.forRoot({
|
|
isGlobal: true,
|
|
envFilePath: '.env',
|
|
}),
|
|
|
|
// JWT for authentication
|
|
JwtModule.register({
|
|
global: true,
|
|
secret: process.env.JWT_SECRET || 'default_secret',
|
|
signOptions: { expiresIn: '1d' },
|
|
}),
|
|
|
|
// Database
|
|
PrismaModule,
|
|
|
|
// App modules
|
|
// AuthModule,
|
|
// HostModule,
|
|
],
|
|
|
|
providers: [
|
|
// Global guards
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: RolesGuard,
|
|
},
|
|
],
|
|
})
|
|
export class AppModule {}
|