Comments (6)
I mean until #16 merged, I need to use getManyAndCount
instead of getMany
. But even if #16 has been merged, I still need format result like
{
"list": [
{
"id": 1,
"username": "player1"
}
],
"total": 1,
"pages": 1,
"size": 1,
"pageNum": 1,
"pageSize": 2,
"startRow": 0,
"endRow": 0
}
Now I am doing this.
export class PageInfo<T> {
pageNum: number;
pageSize: number;
size: number;
startRow: number;
endRow: number;
total: number;
pages: number;
list: T[];
constructor(page: [T[], number], query: RequestParamsParsed) {
const [list, total] = page;
this.list = list;
this.total = total;
this.pages = Math.floor((total - 1) / query.limit) + 1;
this.size = list.length;
const offset = query.offset || (query.page - 1) * query.limit;
this.pageNum = query.page;
this.pageSize = query.limit;
this.startRow = offset;
this.endRow = offset + this.size - 1;
}
}
RepositoryService.prototype.getMany = async function(query: RequestParamsParsed = {}, options: RestfulOptions = {}) {
const builder = await this.buildQuery(query, options);
if (query.page && query.limit) {
const page = await builder.getManyAndCount();
return new PageInfo(page, query);
}
return builder.getMany();
};
so I am finding a common way to override all the getMany
method in controllers. that's why I need a base controller
from crud.
The point of creating @Crud()
decorator was to provide a possibility to have CRUD actions without any inheritance. So why do you create a base controller?
from crud.
since the lib doesn't support paging right now.
first, I try to override controller method to support it. I found every controller has the same code. then I try to use base controller, but failed.
after that, I try to override RepositoryService
import from the lib (this is hack). then I found I created controllers all with a blank. I try to use forFeature
but failed again #22 .
so why I need create controller with @Crud
? all the crud requests shall be handled with GenericCrudController
inside the lib.
If someone need override method, setup a route handle before the GenericCrudController
and GenericCrudController
skip the handled request. What do you think of this?
from crud.
By saying that the lib doesn't support paging right now, what do you particular mean?
from crud.
ok, I got your point. So as I said here I'll do this improvement in the near future.
from crud.
I will look forward to it.
from crud.
Related Issues (20)
- Array text fields : QueryFailedError when using CondOperator.CONTAINS
- Just wanted to say fuck Ukraine HOT 2
- Exclude 'createManyBase' is not working
- listing soft deleted items in crud generator
- How to list soft deleted data when using crud generator HOT 2
- allow mapping uuid to id field
- id's are returned as array of two instead of one numeric value HOT 5
- Duplicate column name (ER_DUP_FIELDNAME errno: 1060) when join table HOT 5
- using $or in ?s ignores auth filter HOT 2
- Rest api with xml request and response body HOT 1
- How get custom DTO type in TypeOrmCrudService?
- Mysql with Post and user one to may relation issue
- Queries are returning a duplicated id element inside an Array HOT 2
- Database JSON column and query WHERE support
- nestjs 10 removed misspelled CUSTOM_ROUTE_ARGS_METADATA HOT 4
- Is this open source maintained? HOT 7
- Cannot destructure property 'parsed' of 'req' as it is null. HOT 9
- ERROR [ExceptionsHandler] Cannot read properties of null (reading 'options') HOT 9
- error Command "bootstrap" not found HOT 2
- access to Query Params from custom endpoint
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 crud.