75 أسطر
2.6 KiB
TypeScript
75 أسطر
2.6 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { APP_GUARD } from '@nestjs/core';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { AppController } from './app.controller';
|
|
import { AppService } from './app.service';
|
|
import configuration from './config/configuration';
|
|
import { validationSchema } from './config/validation.schema';
|
|
import { DatabaseModule } from './database/database.module';
|
|
import { CacheModule } from './infrastructure/cache/cache.module';
|
|
import { LoggingModule } from './infrastructure/logging/logging.module';
|
|
import { QueueModule } from './infrastructure/queue/queue.module';
|
|
import { RedisModule } from './infrastructure/redis/redis.module';
|
|
import { StorageModule } from './infrastructure/storage/storage.module';
|
|
import { AuthModule } from './modules/auth/auth.module';
|
|
import { AuditModule } from './modules/audit/audit.module';
|
|
import { BlocksModule } from './modules/blocks/blocks.module';
|
|
import { ChatModule } from './modules/chat/chat.module';
|
|
import { CommentsModule } from './modules/comments/comments.module';
|
|
import { FeedModule } from './modules/feed/feed.module';
|
|
import { FollowsModule } from './modules/follows/follows.module';
|
|
import { LikesModule } from './modules/likes/likes.module';
|
|
import { MediaModule } from './modules/media/media.module';
|
|
import { MarketplaceModule } from './modules/marketplace/marketplace.module';
|
|
import { NotificationsModule } from './modules/notifications/notifications.module';
|
|
import { OutboxModule } from './modules/outbox/outbox.module';
|
|
import { PostsModule } from './modules/posts/posts.module';
|
|
import { ReportsModule } from './modules/reports/reports.module';
|
|
import { SavesModule } from './modules/saves/saves.module';
|
|
import { SuperAdminModule } from './modules/superadmin/superadmin.module';
|
|
import { UsersModule } from './modules/users/users.module';
|
|
import { ThrottleGuard } from './common/guards/throttle.guard';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({
|
|
isGlobal: true,
|
|
cache: true,
|
|
load: [configuration],
|
|
validationSchema,
|
|
}),
|
|
LoggingModule,
|
|
RedisModule,
|
|
CacheModule,
|
|
StorageModule,
|
|
QueueModule,
|
|
DatabaseModule,
|
|
AuditModule,
|
|
BlocksModule,
|
|
UsersModule,
|
|
AuthModule,
|
|
PostsModule,
|
|
CommentsModule,
|
|
LikesModule,
|
|
FollowsModule,
|
|
FeedModule,
|
|
NotificationsModule,
|
|
OutboxModule,
|
|
ChatModule,
|
|
MediaModule,
|
|
MarketplaceModule,
|
|
ReportsModule,
|
|
SavesModule,
|
|
SuperAdminModule,
|
|
],
|
|
controllers: [AppController],
|
|
providers: [
|
|
AppService,
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: ThrottleGuard,
|
|
},
|
|
],
|
|
})
|
|
export class AppModule {}
|