Fixing file name casing
This commit is contained in:
85
src/Graphql/graphql.module.ts
Normal file
85
src/Graphql/graphql.module.ts
Normal file
@@ -0,0 +1,85 @@
|
||||
import { ApolloDriverConfig } from '@nestjs/apollo';
|
||||
import { Global, MiddlewareConsumer, Module } from '@nestjs/common';
|
||||
import { GraphQLModule } from '@nestjs/graphql';
|
||||
import { PothosModule } from '@smatch-corp/nestjs-pothos';
|
||||
import { PothosApolloDriver } from '@smatch-corp/nestjs-pothos-apollo-driver';
|
||||
import { Builder } from './graphql.builder';
|
||||
import { PrismaService } from '../Prisma/prisma.service';
|
||||
import { GraphQLValidationMiddleware } from '../middlewares/graphql.middleware';
|
||||
import { PrismaModule } from '../Prisma/prisma.module';
|
||||
import { UserModule } from '../User/user.module';
|
||||
import { CenterModule } from '../Center/center.module';
|
||||
import { ServiceModule } from '../Service/service.module';
|
||||
import { ChatroomModule } from '../ChatRoom/chatroom.module';
|
||||
import { CenterStaffModule } from '../CenterStaff/centerstaff.module';
|
||||
import { ResumeModule } from '../Resume/resume.module';
|
||||
import { WorkshopModule } from '../Workshop/workshop.module';
|
||||
import { WorkshopOrganizationModule } from '../WorkshopOrganization/workshoporganization.module';
|
||||
import { WorkshopSubscriptionModule } from '../WorkshopSubscription/workshopsubscription.module';
|
||||
import { PrismaCrudGenerator } from './graphql.generator';
|
||||
import { OrderModule } from '../Order/order.module';
|
||||
import { PaymentModule } from '../Payment/payment.module';
|
||||
import { RefundTicketModule } from '../RefundTicket/refundticket.module';
|
||||
import { ServiceAndCategoryModule } from '../ServiceAndCategory/serviceandcategory.module';
|
||||
import { CategoryModule } from '../Category/category.module';
|
||||
import { ServiceFeedbackModule } from '../ServiceFeedback/servicefeedback.module';
|
||||
import { MilestoneModule } from '../Milestone/milestone.module';
|
||||
import { ScheduleModule } from '../Schedule/schedule.module';
|
||||
import { MessageModule } from '../Message/message.module';
|
||||
import { ServiceMeetingRoomModule } from '../ServiceMeetingRoom/servicemeetingroom.module';
|
||||
import { UploadedDocumentModule } from '../UploadedDocument/uploadeddocument.module';
|
||||
@Global()
|
||||
@Module({
|
||||
imports: [
|
||||
PrismaModule,
|
||||
UserModule,
|
||||
CenterModule,
|
||||
ServiceModule,
|
||||
ChatroomModule,
|
||||
CenterStaffModule,
|
||||
ResumeModule,
|
||||
WorkshopModule,
|
||||
WorkshopOrganizationModule,
|
||||
WorkshopSubscriptionModule,
|
||||
PaymentModule,
|
||||
OrderModule,
|
||||
RefundTicketModule,
|
||||
ServiceAndCategoryModule,
|
||||
CategoryModule,
|
||||
ServiceFeedbackModule,
|
||||
MilestoneModule,
|
||||
ScheduleModule,
|
||||
MessageModule,
|
||||
ServiceMeetingRoomModule,
|
||||
UploadedDocumentModule,
|
||||
PothosModule.forRoot({
|
||||
builder: {
|
||||
inject: [PrismaService],
|
||||
useFactory: (prisma: PrismaService) => new Builder(prisma),
|
||||
},
|
||||
}),
|
||||
GraphQLModule.forRoot<ApolloDriverConfig>({
|
||||
driver: PothosApolloDriver,
|
||||
}),
|
||||
],
|
||||
providers: [
|
||||
{
|
||||
provide: Builder,
|
||||
useFactory: (prisma: PrismaService) => new Builder(prisma),
|
||||
inject: [PrismaService],
|
||||
},
|
||||
{
|
||||
provide: PrismaCrudGenerator,
|
||||
useFactory: (builder: Builder) => new PrismaCrudGenerator(builder),
|
||||
inject: [Builder],
|
||||
},
|
||||
],
|
||||
exports: [Builder, PrismaCrudGenerator],
|
||||
})
|
||||
export class GraphqlModule {
|
||||
configure(consumer: MiddlewareConsumer) {
|
||||
consumer
|
||||
.apply(GraphQLValidationMiddleware) // Apply the custom middleware
|
||||
.forRoutes('graphql'); // Ensure it only applies to the /graphql endpoint
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user