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 {}