nestjs-paginate icon indicating copy to clipboard operation
nestjs-paginate copied to clipboard

JSONB support

Open VladimirTambovtsev opened this issue 2 years ago • 4 comments

How to use filterableColumns with Postgres JSONB ?


const assigned_bids = await paginate<Bid>(request, qb, {
        relations: ['product', 'statuses', 'basisBuyer'],
        sortableColumns: sortBy.map((e) => e[0]) as PaginateConfig<Bid>['sortableColumns'],
        searchableColumns: (request.searchBy as PaginateConfig<Bid>['searchableColumns']) || [],
        defaultLimit: 4,
        maxLimit: 500,
        where: { user: { id: In(assignedIds) } },
        filterableColumns: {
          year: [FilterOperator.EQ, FilterOperator.NOT, FilterOperator.IN],

          mass: [FilterOperator.EQ, FilterOperator.BTW, FilterOperator.GTE, FilterOperator.NOT, FilterOperator.IN],
          'basisBuyer.id': [FilterOperator.EQ],
          'product.nomenclatureGroupId': [FilterOperator.EQ],

          // deliveryDate is JSONB field in PostgreSQL. ex:
          /*
          {
            "to": "2022-06-26",
            "from": "2022-06-20"
          }
          */
          deliveryDate: [FilterOperator.EQ, FilterOperator.BTW, FilterOperator.IN]

       
        }

Thanks

VladimirTambovtsev avatar Oct 18 '22 22:10 VladimirTambovtsev

Currently not supported, or at least not covered with a test.

Happy to accept a PR 👋

ppetzold avatar Oct 20 '22 12:10 ppetzold

add JSONB support for all features

ppetzold avatar Oct 29 '22 05:10 ppetzold

Any update on this @ppetzold :( ?

yjradeh avatar Dec 26 '23 16:12 yjradeh

Happy to accept PR. Shouldn't be too difficult :)

ppetzold avatar Dec 26 '23 17:12 ppetzold