Update submodule URL for epess-database
This commit is contained in:
@@ -1,13 +1,35 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { GraphQLModule } from '@nestjs/graphql';
|
||||
import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
|
||||
import { schema } from './graphql.schema'; // Assuming you have schema defined in a separate file
|
||||
|
||||
const subOperationHandler = (message: any, params: any, webSocket: any) => {
|
||||
console.log('onOperation');
|
||||
return params;
|
||||
};
|
||||
@Module({
|
||||
imports: [
|
||||
GraphQLModule.forRoot<ApolloDriverConfig>({
|
||||
driver: ApolloDriver, // Specify the driver
|
||||
schema, // Your Pothos-generated schema
|
||||
buildSchemaOptions: {
|
||||
numberScalarMode: 'integer',
|
||||
},
|
||||
subscriptions: {
|
||||
'subscriptions-transport-ws': {
|
||||
keepAlive: 5000,
|
||||
path: '/graphql-sub',
|
||||
onOperation: (message: any, params: any, webSocket: any) => {
|
||||
subOperationHandler(message, params, webSocket);
|
||||
return params;
|
||||
},
|
||||
onConnect: (connectionParams: any, webSocket: any) => {
|
||||
console.log('onConnect');
|
||||
return connectionParams;
|
||||
},
|
||||
onDisconnect: (webSocket: any) => {
|
||||
console.log('onDisconnect');
|
||||
},
|
||||
},
|
||||
},
|
||||
playground: {
|
||||
workspaceName: 'EPESS',
|
||||
tabs: [
|
||||
|
||||
@@ -1,3 +1,28 @@
|
||||
import { builder } from '../types/pothos.type';
|
||||
import SchemaBuilder from '@pothos/core';
|
||||
import { PrismaClient, Prisma } from '@prisma/client';
|
||||
import PrismaPlugin from '@pothos/plugin-prisma';
|
||||
import type PrismaTypes from '../types/pothos.type';
|
||||
|
||||
export const schema = builder.toSchema();
|
||||
const prisma = new PrismaClient({});
|
||||
|
||||
const readOnlyPrisma = new PrismaClient({
|
||||
datasources: {
|
||||
db: {
|
||||
url: process.env.READ_ONLY_REPLICA_URL,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const builder = new SchemaBuilder<{
|
||||
Context: { user: { isAdmin: boolean } };
|
||||
PrismaTypes: PrismaTypes;
|
||||
}>({
|
||||
plugins: [PrismaPlugin],
|
||||
prisma: {
|
||||
client: (ctx) => (ctx.user.isAdmin ? prisma : readOnlyPrisma),
|
||||
// Because the prisma client is loaded dynamically, we need to explicitly provide the some information about the prisma schema
|
||||
dmmf: Prisma.dmmf,
|
||||
},
|
||||
});
|
||||
|
||||
export default builder;
|
||||
Reference in New Issue
Block a user