1.0.0 • Published 2 years ago

@gabrieljsilva/nestjs-graphql-filter-adapter-prisma v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

nestjs-graphql-filter-adapter-prisma

An adapter from Prisma ORM to the library @gabrieljsilva/nestjs-graphql-filter

Installation

npm i nestjs-graphql-filter-adapter-prisma

or

yarn add nestjs-graphql-filter-adapter-prisma

Usage

After installing the library @gabrieljsilva/nestjs-graphql-filter you must register the adapter in the filter module, as follows the code below.

import { Module } from '@nestjs/common';
import { GraphqlFilterModule } from '@gabrieljsilva/nestjs-graphql-filter';
import { PrismaFilterAdapter } from '@gabrieljsilva/nestjs-graphql-filter-adapter-prisma';

import { PrismaModule } from '@prisma/module/prisma.module';
import { UserModule } from './packages';
import { GraphqlModule } from './infra/graphql';

@Module({
  imports: [
    GraphqlFilterModule.forRoot(PrismaFilterAdapter),
    GraphqlModule,
    PrismaModule,
    UserModule,
  ],
  controllers: [],
  providers: [],
})
export class AppModule {}

Then you can generate the queries using GraphqlFilterService:

import { Injectable } from '@nestjs/common';
import { GraphqlFilterService } from '@gabrieljsilva/nestjs-graphql-filter';
import { Prisma } from '@prisma/client';

import { PrismaService } from '@prisma/module/prisma.service';
import { UserFilters } from '../../../../domain/filterables';

@Injectable()
export class UserService {
  constructor(
    private readonly prisma: PrismaService,
    private readonly graphqlFilterService: GraphqlFilterService,
  ) {}

  async getManyUsers(filters?: UserFilters) {
    const findUsersFilters = this.graphqlFilterService.getQuery<Prisma.UserWhereInput>(filters);

    return this.prisma.user.findMany({
      where: findUsersFilters,
    });
  }
}
1.0.0

2 years ago

0.2.0

2 years ago

0.1.0-rc.2

2 years ago

0.1.0-rc.1

2 years ago

0.1.0-rc.0

2 years ago

0.0.4

2 years ago

0.0.1

2 years ago