nestjs-graphql-relay
v12.0.0
Published
@nestjs/graphql + graphql-relay + typeorm
Readme
nestjs-graphql-relay
Relay connection pagination helpers for NestJS GraphQL and TypeORM.
Install
npm install nestjs-graphql-relay @nestjs/graphql @nestjs/typeorm @apollo/gateway graphql-relay typeorm class-validator ts-morphUsage
Use findAndPaginate with a TypeORM repository and Relay connection arguments:
import { Injectable } from "@nestjs/common";
import { InjectRepository } from "@nestjs/typeorm";
import { ConnectionArgs, findAndPaginate } from "nestjs-graphql-relay";
import { Repository } from "typeorm";
import { Recipe } from "./recipe.entity";
@Injectable()
export class RecipesService {
constructor(
@InjectRepository(Recipe)
private readonly recipes: Repository<Recipe>,
) {}
findAll(args: ConnectionArgs) {
return findAndPaginate({}, args, this.recipes);
}
}Pass ConnectionArgs from a GraphQL resolver argument decorated with @Args().
API
ConnectionArgsprovides Relay cursor pagination arguments.findAndPaginate(condition, args, repository)returns a Relay connection with edges and page information.getPagingParameters(args)andOrderByInputare available for custom pagination queries.
Contributing
Issues and pull requests are welcome at g59/nestjs-plugins.
License
MIT © g59
