Added pagination for runnercards

ref #205
This commit is contained in:
Nicolai Ort 2023-04-18 18:27:11 +02:00
parent a28ffe06e5
commit b35a2dd2fa
Signed by: niggl
GPG Key ID: 13AFA55AF62F269F
1 changed files with 9 additions and 2 deletions

View File

@ -26,9 +26,16 @@ export class RunnerCardController {
@Authorized("CARD:GET")
@ResponseSchema(ResponseRunnerCard, { isArray: true })
@OpenAPI({ description: 'Lists all card.' })
async getAll() {
async getAll(@QueryParam("page", { required: false }) page: number, @QueryParam("page_size", { required: false }) page_size: number = 100) {
let responseCards: ResponseRunnerCard[] = new Array<ResponseRunnerCard>();
const cards = await this.cardRepository.find({ relations: ['runner', 'runner.group', 'runner.group.parentGroup'] });
let cards: Array<RunnerCard>;
if (page) {
cards = await this.cardRepository.find({ relations: ['runner', 'runner.group', 'runner.group.parentGroup'], skip: page * page_size, take: page_size });
} else {
cards = await this.cardRepository.find({ relations: ['runner', 'runner.group', 'runner.group.parentGroup'] });
}
cards.forEach(card => {
responseCards.push(new ResponseRunnerCard(card));
});