2023-02-02 20:24:20 -06:00
|
|
|
/**
|
|
|
|
|
* @class PagedResponse - A generic paged response model
|
|
|
|
|
*/
|
2023-01-27 22:53:14 -06:00
|
|
|
export class PagedResponse<T> {
|
2023-02-02 20:24:20 -06:00
|
|
|
/**
|
|
|
|
|
* @property {T[]} items - The items in the collection.
|
|
|
|
|
*/
|
2023-01-27 22:53:14 -06:00
|
|
|
public items: T[];
|
2023-02-02 20:24:20 -06:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @property {number} pageNumber - The page number of the response.
|
|
|
|
|
*/
|
2023-01-27 22:53:14 -06:00
|
|
|
public pageNumber: number;
|
2023-02-02 20:24:20 -06:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @property {number} pageSize - The page size of the response.
|
|
|
|
|
*/
|
2023-01-27 22:53:14 -06:00
|
|
|
public pageSize: number;
|
2023-02-02 20:24:20 -06:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @property {number} totalPages - The total number of pages in the response.
|
|
|
|
|
*/
|
2023-02-01 21:21:39 -06:00
|
|
|
public totalPages: number;
|
2023-02-02 20:24:20 -06:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @property {number} totalRecords - The total number of records in the response.
|
|
|
|
|
*/
|
2023-02-01 21:21:39 -06:00
|
|
|
public totalRecords: number;
|
2023-01-27 22:53:14 -06:00
|
|
|
|
2023-02-02 20:24:20 -06:00
|
|
|
/**
|
|
|
|
|
* @constructor - Creates a new instance of the PagedResponse class.
|
|
|
|
|
* @param {T[]} items - The items in the collection.
|
|
|
|
|
* @param {number} pageNumber - The page number of the response.
|
|
|
|
|
* @param {number} pageSize - The page size of the response.
|
|
|
|
|
* @param {number} totalPages - The total number of pages in the response.
|
|
|
|
|
* @param {number} totalRecords - The total number of records in the response.
|
|
|
|
|
* @returns {PagedResponse<T>} - A new instance of the PagedResponse class.
|
|
|
|
|
*/
|
2023-02-01 23:45:14 -06:00
|
|
|
constructor(
|
|
|
|
|
items: T[],
|
|
|
|
|
pageNumber: number,
|
|
|
|
|
pageSize: number,
|
|
|
|
|
totalPages: number,
|
|
|
|
|
totalRecords: number
|
|
|
|
|
) {
|
2023-01-27 22:53:14 -06:00
|
|
|
this.items = items;
|
|
|
|
|
this.pageNumber = pageNumber;
|
|
|
|
|
this.pageSize = pageSize;
|
2023-02-01 21:21:39 -06:00
|
|
|
this.totalPages = totalPages;
|
|
|
|
|
this.totalRecords = totalRecords;
|
2023-01-27 22:53:14 -06:00
|
|
|
}
|
2023-02-01 23:45:14 -06:00
|
|
|
}
|