# nestjs-prisma-querybuilder-interface

> Frontend interface to nestjs-prisma-querybuilder

Latest version **1.5.0** (published 2026-01-20) · ISC license · 0 weekly downloads

## Install

```sh
npm install nestjs-prisma-querybuilder-interface
pnpm add nestjs-prisma-querybuilder-interface
yarn add nestjs-prisma-querybuilder-interface
bun add nestjs-prisma-querybuilder-interface
```

## Health

**Score 55/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 1.5.0 |
| Published | 2026-01-20 |
| First published | 2022-05-21 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 27.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Willian Rodrigues |
| Maintainers | willian-rodrigues |
| Keywords | query, querybuilder, prisma, nest, nestjs-prisma-querybuilder, nestjs-querybuilder, prisma-querybuilder, interface, qs |

## Links

- npm: https://www.npmjs.com/package/nestjs-prisma-querybuilder-interface
- Repository: https://github.com/EvoluWil/nestjs-prisma-querybuilder-interface
- Homepage: https://github.com/EvoluWil/nestjs-prisma-querybuilder-interface#readme
- Issues: https://github.com/EvoluWil/nestjs-prisma-querybuilder-interface/issues
- npm.io page: https://npm.io/package/nestjs-prisma-querybuilder-interface

## Dependencies (1)

- [qs](https://npm.io/package/qs.md) ^6.10.3

## Alternatives

- [gamedig](https://npm.io/package/gamedig.md) — 29.3K weekly downloads
- [join-monster](https://npm.io/package/join-monster.md) — 12.8K weekly downloads
- [masked](https://npm.io/package/masked.md) — 5.5K weekly downloads
- [@comunica/actor-query-process-explain-logical](https://npm.io/package/@comunica/actor-query-process-explain-logical.md) — 4.7K weekly downloads
- [@veracity/vui](https://npm.io/package/@veracity/vui.md) — 4.6K weekly downloads

## Recent versions

- 1.5.0 (latest) — 2026-01-20
- 1.4.0 — 2023-12-08
- 1.3.2 — 2023-05-30
- 1.3.1 — 2023-05-03
- 1.3.0 — 2023-05-03
- 1.2.7 — 2023-05-03
- 1.2.6 — 2023-05-02
- 1.2.5 — 2023-05-01
- 1.2.4 — 2023-04-30
- 1.2.3 — 2023-04-30
- 1.2.1 — 2023-04-30
- 1.2.0 — 2023-04-30
- 1.1.4 — 2023-04-30
- 1.1.3 — 2023-04-30
- 1.1.2 — 2023-01-06
- … 13 more at https://npm.io/package/nestjs-prisma-querybuilder-interface/versions

## README

# Nestjs/prisma-querybuilder-interface

![https://nestjs.com/img/logo_text.svg](https://nestjs.com/img/logo_text.svg)

<br/>

## Use case

### this is a frontend interface to [nestjs-prisma-querybuilder](https://github.com/HarielThums/nestjs-prisma-querybuilder)

<br/>

### What's new

- **Filter in Populate**

  You can filter inside populate

- **Insensitive Case**

  now in the filter you can search with insensitive case

<hr>

### Documentation

- **How to install it?**

  #### npm

  ```sh
  npm install --save nestjs-prisma-querybuilder-interface
  ```

  #### yarn

  ```sh
  yarn add nestjs-prisma-querybuilder-interface
  ```

- **Properties**

  - Usage

    | Name     | Type       | exemple                                          |
    | -------- | ---------- | ------------------------------------------------ |
    | select   | string     | select: 'name email',                            |
    | page     | number     | page: 2,                                         |
    | limit    | number     | limit: 20,                                       |
    | sort     | SortFields | sort: {field: string, criteria: 'asc'},          |
    | populate | Populate   | populate: [{path: 'car', select: 'model plate'}] |
    | filter   | Filter     | filter: [{name: 'jonas'}, {value: { gte: 4 }}]   |

<br/>

- **Exported Interfaces**

  ```tsx
  import {
    Query,
    Populate,
    Filter
  } from 'nestjs-prisma-querybuilder-interface';
  ```

  - **Query**

    all types

  - **Populate**
  - **Filter**
  - **Operators**

    contains, endsWith, startsWith, equals, gt, gte, in, lt, lte ,not, notIn, hasEvery, hasSome, has, isEmpty;

  <br/>

- **Full usage exemple**

  ```tsx
  QueryString({
    select: 'firstName picture',
    populate: [
      {
        path: 'car',
        select: 'model plate',
        populate: [
          {
            path: 'brand',
            select: 'name'
          }
        ]
      }
    ],
    filter: [
      {
        path: 'plate',
        value: 'XFS1T67'
      }
    ]
  });
  ```

- **Populate**

  ```tsx
  const populate: Populate = [
    {
      path: 'car',
      select: 'model plate',
      filter: [{ path: 'name', value: 'ford', operator: 'contains' }],
      populate: [
        {
          path: 'brand',
          select: 'name'
        }
      ],
      primaryKey: 'yourTablePrimaryKey' // default 'id'
    }
  ];
  ```

- **Filter**

  ```tsx
  const filter: Filter = [
    {
      path: 'createdAt',
      value: new Date(),
      operator: 'lte'
    },
    {
      or: [
        {
          path: 'role',
          value: 'admin',
          operator: 'equals'
        },
        {
          path: 'role',
          value: 'system',
          operator: 'equals'
        }
      ]
    },
    {
      and: [
        {
          path: 'name',
          value: 'Ricky',
          operator: 'equals',
          insensitive: true
        },
        {
          path: 'lastName',
          value: 'Morty',
          operator: 'contains',
          insensitive: true
        }
      ]
    }
  ];
  ```

### END

- Nestjs/Prisma Querybuilder Interface is ISC licensed.

[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FWillian-Rodrigues%2Fnestjs-prisma-querybuilder-interface&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com)

---
_Source: https://npm.io/package/nestjs-prisma-querybuilder-interface · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
