prisma-api-query-builder
TypeScript icon, indicating that this package has built-in type declarations

0.1.10 • Public • Published

View Implementation

ApiQueryBuilder

Kind: global class

new ApiQueryBuilder(modelEntity, entity, [query], validStringFilter)

The constructor takes in a modelEntity, entity, query, and validStringFilter

Param Type Description
modelEntity PrismaModelDelegate This is the prisma entity e.g this.prisma.shoppingItem
entity TModelEntity This is the entity that you want to query. it also contains all the settings for filtering and selecting of data
[query] IQueryFields This is the query string fields from the api.
validStringFilter Array.<PrismaValidStringFilter> This is an array of PrismaValidStringFilter. This is used to validate the string filter.

apiQueryBuilder.filter() ⇒

keysakes a query string, parses it into an object, and then recursively filters out any invalid

Kind: instance method of ApiQueryBuilder Returns: The builder object with the filter property set to the validFilterObj.

apiQueryBuilder.sort() ⇒

the sortable columnsery parameter, splits it into an array, and then filters it to only include

Kind: instance method of ApiQueryBuilder Returns: The builder object

apiQueryBuilder.select() ⇒

whether the column was selected or notmn names and the values being true or false depending on

Kind: instance method of ApiQueryBuilder Returns: The builder object

apiQueryBuilder.populate() ⇒

property to the knex query builderparameter called include then we will add the select

Kind: instance method of ApiQueryBuilder Returns: The builder object with the select property set to the selectables object.

apiQueryBuilder.paginate() ⇒

take values for the paginationom the query string, and then uses them to calculate the skip and

Kind: instance method of ApiQueryBuilder properties. The builder object with the paginate property set to an object with skip and take

apiQueryBuilder.build() ⇒

them to the builderObj propertyselect, and sort properties from the builder object and assigns

Kind: instance method of ApiQueryBuilder Returns: The builder object

apiQueryBuilder.all() ⇒

query.unction sorts, filters, selects, populates, and paginates the query, and then returns the

Kind: instance method of ApiQueryBuilder Returns: The query object.

apiQueryBuilder.many() ⇒

It returns a paginated object with the data and the paginated object

Kind: instance method of ApiQueryBuilder Returns: An object with two properties: data and paginated.

apiQueryBuilder.findMany(filter) ⇒

and returns the data and paginated objectatch the filter, calculates the total number of pages,ct,

| --- | --- | --- | | selectables | Array.<string> | string[] - an array of strings that are the selectable options | | array | Array.<string> | string[] - the array of strings to convert to a boolean object |

apiQueryBuilder.filterRecursive(filterObj)

it's empty filter object, picks only the valid keys, and then recursively filters the object until

Kind: instance method of ApiQueryBuilder

Param Type Description
filterObj object object - The object that you want to filter.

View Implementation

Readme

Keywords

none

Package Sidebar

Install

npm i prisma-api-query-builder

Weekly Downloads

1

Version

0.1.10

License

MIT

Unpacked Size

112 kB

Total Files

25

Last publish

Collaborators

  • jeremiaholisa