src/common/dtos/page-meta.dto.ts
Properties |
itemCount |
itemCount:
|
Type : number
|
pageOptionsDto |
pageOptionsDto:
|
Type : PageOptionsDto
|
import { ApiProperty } from '@nestjs/swagger';
import { PageOptionsDto } from 'common/dtos';
interface IPageMetaDtoParameters {
pageOptionsDto: PageOptionsDto;
itemCount: number;
}
export class PageMetaDto {
@ApiProperty()
readonly page: number;
@ApiProperty()
readonly take: number;
@ApiProperty()
readonly itemCount: number;
@ApiProperty()
readonly pageCount: number;
constructor({ pageOptionsDto, itemCount }: IPageMetaDtoParameters) {
this.page = pageOptionsDto.page;
this.take = pageOptionsDto.take;
this.itemCount = itemCount;
this.pageCount = Math.ceil(itemCount / this.take);
}
}