import { Module } from '@nestjs/common';
import { PrismaModule } from './prisma/prisma.module';
import { TelegramModule } from './telegram/telegram.module';
import { GraphQLModule } from '@nestjs/graphql';
import { ResolverModule } from './resolvers/resolver.module';
import { GroupAuthGuard } from './auth/graphql-auth.guard';
import { ImageController } from './images.controller';
import { WebAuthGuard } from './auth/web-auth.guard';

@Module({
    imports: [
        TelegramModule,
        PrismaModule,
        ResolverModule,
        GraphQLModule.forRoot({
            autoSchemaFile: true,
            playground: true,
            installSubscriptionHandlers: true,
            context: ({ request }) => ({
                req: request,
            }),
        }),
    ],
    providers: [GroupAuthGuard, WebAuthGuard],
    controllers: [ImageController],
})
export class AppModule {}