Files
placebo.mk/backend/src/app.module.ts
T
2026-02-05 03:04:19 +01:00

63 lines
1.8 KiB
TypeScript

import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { ArticlesModule } from './modules/articles.module';
import { StrapiModule } from './modules/strapi.module';
import { LiveBlogModule } from './modules/live-blog.module';
import { UserModule } from './modules/users/user.module';
import { AuthModule } from './modules/auth/auth.module';
import { CommentModule } from './modules/comment/comment.module';
import { AnalyticsModule } from './modules/analytics/analytics.module';
import {
Article,
Author,
Category,
LiveBlog,
LiveBlogUpdate,
User,
Comment,
Reaction,
} from './modules/entities';
import { ShareEvent } from './modules/analytics/analytics.entity';
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
}),
TypeOrmModule.forRoot({
type: 'postgres',
host: process.env.DATABASE_HOST || 'localhost',
port: parseInt(process.env.DATABASE_PORT || '5432', 10),
username: process.env.DATABASE_USERNAME || 'placebo_user',
password: process.env.DATABASE_PASSWORD || 'placebo_password',
database: process.env.DATABASE_NAME || 'placebo_backend_db',
entities: [
Article,
Author,
Category,
LiveBlog,
LiveBlogUpdate,
User,
Comment,
Reaction,
ShareEvent,
],
synchronize: process.env.DATABASE_SYNCHRONIZE === 'true',
logging: process.env.DATABASE_LOGGING === 'true',
}),
ArticlesModule,
StrapiModule,
LiveBlogModule,
UserModule,
AuthModule,
CommentModule,
AnalyticsModule,
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}