Comments (2)
How would you see this happen in practice? There would need to be a specification of the mapping between the DTO and the entity type. For example, you would likely want your searchableColumns
to be those of the DTO, but how would we infer the matching entity column name to query in the database from that?
You could make a utility function in your library that does both DTO instantiation, and argument mapping for you. I think the @Paginate
decorator also processes "invalid" column names, and only later, inside of the paginate
function are invalid columns ignored. This means that you could adjust the query
that @Paginate
produces to map the columns from DTO to entity columns:
@Get()
myPaginate(@Paginate() dtoQuery: PaginateQuery) {
return paginate(transformDtoQuery(myDTO, dtoQuery), repo, config)
}
You can inspect the produced query
object, if it contains for example a filter for dtoCol
, you should map that to entityCol
.
Let me know whether I understood your question correctly. If not, please show what you mean with a couple of API request/query/response snippets and some example DTO and entities.
from nestjs-paginate.
@Helveg that's a good question. There would need to be a mapping between DTO and entity fields. This would allow for exposing DTO fields for search, while querying the DB based on the mapped fields.
I need to think about this more. We have ultimately built this in a custom fashion following: https://pietrzakadrian.com/blog/how-to-create-pagination-in-nestjs-with-typeorm-swagger. This lacks a lot of the user-facing query options available in nestjs-paginate.
from nestjs-paginate.
Related Issues (20)
- How do I know the number of occurrences for my filters? HOT 3
- Sorting by computed value HOT 2
- Multi filters with multiple comparators HOT 2
- SortBy property likely not functioning correctly HOT 2
- Searching for Dates in Non Standard Formats MySQL HOT 1
- NestJS decorators stop working if a module with Paginate decorator isn't imported first HOT 3
- PaginateConfig has string default type for some attributes even it's a generic interface HOT 2
- Make this project compatible with expressjs outside of nestjs HOT 2
- relations are not loaded when the select option is provided HOT 2
- suggestion: to add multiple sortBy query param HOT 1
- select show all columns when no primary key provided HOT 2
- Anyway to override the Example text in the generated Swagger output? HOT 3
- Search into the ManyToMany of relations HOT 3
- How to do i sort naturally instead of alphabetically? HOT 4
- Dependency policy HOT 1
- How to find the number of records in a relation? HOT 3
- ilike operator breaks with numeric column HOT 1
- Swagger lack of some meta parameters HOT 5
- Sort By Virtual Column Not Working HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nestjs-paginate.