twitch-clone/backend/src/core/core.module.ts
2025-07-05 09:47:38 +03:00

39 lines
1.3 KiB
TypeScript

import { getGraphQLConfig } from '@/src/core/config/graphql.config'
import { AccountModule } from '@/src/module/auth/account/account.module'
import { PasswordRecoveryModule } from '@/src/module/auth/password-recovery/password-recovery.module'
import { SessionModule } from '@/src/module/auth/session/session.module'
import { TotpModule } from '@/src/module/auth/totp/totp.module'
import { VerificationModule } from '@/src/module/auth/verification/verification.module'
import { MailModule } from '@/src/module/libs/mail/mail.module'
import { IS_DEV } from '@/src/shared/util/is-dev.util'
import { ApolloDriver } from '@nestjs/apollo'
import { Module } from '@nestjs/common'
import { ConfigModule, ConfigService } from '@nestjs/config'
import { GraphQLModule } from '@nestjs/graphql'
import { PrismaModule } from './prisma/prisma.module'
import { RedisModule } from './redis/redis.module'
@Module({
imports: [
ConfigModule.forRoot({
ignoreEnvFile: !IS_DEV,
isGlobal: true,
}),
GraphQLModule.forRootAsync({
driver: ApolloDriver,
imports: [ConfigModule],
useFactory: getGraphQLConfig,
inject: [ConfigService],
}),
PrismaModule,
RedisModule,
MailModule,
AccountModule,
SessionModule,
VerificationModule,
PasswordRecoveryModule,
TotpModule,
],
})
export class CoreModule {}