Nest.js server support in grafserv?
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 625
- Avg merge
- 5h 23m
- Merged PRs (30d)
- 24
Description
### Summary
Hi, we are using Nestjs, and we would like to migrate from v4 to v5, but we were not able to find info about `postgraphileMiddleware.graphqlRouteHandler` is it still supported or what is the new way to achieve the following?
### Additional context
Here are our `postgraphile.middleware.ts` config
```
import { postgraphile } from 'postgraphile';
import ConnectionFilterPlugin from 'postgraphile-plugin-connection-filter';
import PgAggregatesPlugin from '@graphile/pg-aggregates';
import { getConfig } from '../config';
const postgraphileMiddleware = postgraphile(
`postgres://${process.env.SVC_USERNAME}:${process.env.SVC_PASSWORD}@${process.env.DB_HOST ?? getConfig('database_url')}:5432/${process.env.DB_DATABASE}`,
getConfig('schema'),
{
graphiql: true,
enhanceGraphiql: true,
graphqlRoute: '/api/graphql',
graphiqlRoute: '/api/graphiql',
retryOnInitFail: true,
appendPlugins: [ConnectionFilterPlugin, PgAggregatesPlugin],
watchPg: true,
ownerConnectionString: `postgres://${process.env.ROOT_USERNAME}:${process.env.ROOT_PASSWORD}@${process.env.DB_HOST ?? getConfig('database_url')}:5432/${process.env.DB_DATABASE}`,
},
);
export default postgraphileMiddleware;
```
Here is our `postgraphile.controller.ts` controller
```
import { Controller, Post, Get, Req, Next, Res } from '@nestjs/common';
import { Request, Response, NextFunction } from 'express';
import { PostGraphileResponseNode } from 'postgraphile';
import postgraphileMiddleware from './postgraphile.middleware';
import { RequiredPermissions } from '../guards/authorization.guard';
import { USER_ROLE } from '../guards/token-roles';
import { ApiBearerAuth } from '@nestjs/swagger';
@RequiredPermissions({ role: USER_ROLE })
@ApiBearerAuth()
@Controller('/')
export class PostGraphileController {
@Get('graphiql')
graphiql(@Req() request: Request, @Res() response: Response, @Next() next: NextFunction) {
return postgraphileMiddleware.graphiqlRouteHandler!(
new PostGraphileResponseNode(request, response, next),
);
}
@Post('graphql')
graphql(@Req() request: Request, @Res() response: Response, @Next() next: NextFunction) {
return postgraphileMiddleware.graphqlRouteHandler(
new PostGraphileResponseNode(request, response, next),
);
}
}
```
Contributor guide
Assessment
This issue has not been assessed yet.