Fixing file name casing
This commit is contained in:
60
src/Graphql/graphql.builder.ts
Normal file
60
src/Graphql/graphql.builder.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import SchemaBuilder from '@pothos/core';
|
||||
import PrismaPlugin, {
|
||||
PothosPrismaDatamodel,
|
||||
PrismaClient,
|
||||
} from '@pothos/plugin-prisma';
|
||||
import PrismaUtils from '@pothos/plugin-prisma-utils';
|
||||
import { Request, Response } from 'express';
|
||||
import type PrismaTypes from '../types/pothos.generated';
|
||||
import { getDatamodel } from '../types/pothos.generated';
|
||||
import { DateTimeResolver, JSONObjectResolver } from 'graphql-scalars';
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { PrismaCrudGenerator } from './graphql.generator';
|
||||
|
||||
export interface SchemaContext {
|
||||
req: Request;
|
||||
res: Response;
|
||||
generator: PrismaCrudGenerator<BuilderTypes>;
|
||||
}
|
||||
|
||||
export interface SchemaBuilderOption {
|
||||
Context: SchemaContext;
|
||||
PrismaTypes: PrismaTypes;
|
||||
DataModel: PothosPrismaDatamodel;
|
||||
Scalars: {
|
||||
DateTime: {
|
||||
Input: Date;
|
||||
Output: Date;
|
||||
};
|
||||
Json: {
|
||||
Input: JSON;
|
||||
Output: JSON;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@Injectable()
|
||||
export class Builder extends SchemaBuilder<SchemaBuilderOption> {
|
||||
public generator: PrismaCrudGenerator<BuilderTypes>;
|
||||
|
||||
constructor(private readonly prisma: PrismaClient) {
|
||||
super({
|
||||
plugins: [PrismaPlugin, PrismaUtils],
|
||||
prisma: {
|
||||
client: prisma,
|
||||
exposeDescriptions: true,
|
||||
filterConnectionTotalCount: true,
|
||||
onUnusedQuery: process.env.NODE_ENV === 'production' ? null : 'warn',
|
||||
dmmf: getDatamodel(),
|
||||
},
|
||||
});
|
||||
this.generator = new PrismaCrudGenerator<BuilderTypes>(this);
|
||||
this.addScalarType('DateTime', DateTimeResolver);
|
||||
this.addScalarType('Json', JSONObjectResolver);
|
||||
|
||||
this.queryType({});
|
||||
this.mutationType({});
|
||||
}
|
||||
}
|
||||
export type BuilderTypes =
|
||||
PothosSchemaTypes.ExtendDefaultTypes<SchemaBuilderOption>;
|
||||
Reference in New Issue
Block a user