File

src/core/domain/dtos/page.dto.ts

Description

Page model for pagination

Index

Properties

Constructor

constructor(data: PaperDto[], meta: PageMeta)

Constructs an object with provided parameters

Parameters :
Name Type Optional
data PaperDto[] No
meta PageMeta No

Properties

Readonly data
Type : PaperDto[]
Decorators :
@IsArray()
@ApiProperty({description: 'All data the page contains', isArray: true})

Data block of the page

Readonly meta
Type : PageMeta
Decorators :
@ApiProperty({description: 'Metadata for the page'})

Metadata of the page

import { ApiProperty } from "@nestjs/swagger";
import { IsArray } from "class-validator";
import { PageMeta } from "../interfaces/page-meta.interface";
import { PaperDto } from "./paper.dto";

/**
 * List of allowed properties in this DTO
 */
const allowedProperties = ['data', 'meta'];

/**
 * Page model for pagination
 */
export class PageDto {
    /**
     * Data block of the page
     */
    @IsArray()
    @ApiProperty({
        description: 'All data the page contains',
        isArray: true,
    })
    readonly data: PaperDto[];

    /**
     * Metadata of the page
     */
    @ApiProperty({
        description: 'Metadata for the page',
        // example: [],
    })
    readonly meta: PageMeta;

    /**
     * Constructs an object with provided parameters
     * @param data 
     * @param meta 
     */
    constructor(data: PaperDto[], meta: PageMeta) {
        this.data = data;
        this.meta = meta;
    }
}

results matching ""

    No results matching ""