Files
velocity-pay-flutter/lib/models/pageable_model.dart
2025-07-24 23:53:06 +02:00

120 lines
2.7 KiB
Dart

class PageableModel {
final List<dynamic> content;
final Pageable pageable;
final int totalPages;
final int totalElements;
final bool last;
final int size;
final int number;
final Sort sort;
final int numberOfElements;
final bool first;
final bool empty;
PageableModel({
required this.content,
required this.pageable,
required this.totalPages,
required this.totalElements,
required this.last,
required this.size,
required this.number,
required this.sort,
required this.numberOfElements,
required this.first,
required this.empty,
});
factory PageableModel.fromJson(Map<String, dynamic> json) {
return PageableModel(
content: json['content'] ?? [],
pageable: Pageable.fromJson(json['pageable']),
totalPages: json['totalPages'],
totalElements: json['totalElements'],
last: json['last'],
size: json['size'],
number: json['number'],
sort: Sort.fromJson(json['sort']),
numberOfElements: json['numberOfElements'],
first: json['first'],
empty: json['empty'],
);
}
Map<String, dynamic> toJson() {
return {
'content': content,
'pageable': pageable.toJson(),
'totalPages': totalPages,
'totalElements': totalElements,
'last': last,
'size': size,
'number': number,
'sort': sort.toJson(),
'numberOfElements': numberOfElements,
'first': first,
'empty': empty,
};
}
}
class Pageable {
final int pageNumber;
final int pageSize;
final Sort sort;
final int offset;
final bool paged;
final bool unpaged;
Pageable({
required this.pageNumber,
required this.pageSize,
required this.sort,
required this.offset,
required this.paged,
required this.unpaged,
});
factory Pageable.fromJson(Map<String, dynamic> json) {
return Pageable(
pageNumber: json['pageNumber'],
pageSize: json['pageSize'],
sort: Sort.fromJson(json['sort']),
offset: json['offset'],
paged: json['paged'],
unpaged: json['unpaged'],
);
}
Map<String, dynamic> toJson() {
return {
'pageNumber': pageNumber,
'pageSize': pageSize,
'sort': sort.toJson(),
'offset': offset,
'paged': paged,
'unpaged': unpaged,
};
}
}
class Sort {
final bool sorted;
final bool empty;
final bool unsorted;
Sort({required this.sorted, required this.empty, required this.unsorted});
factory Sort.fromJson(Map<String, dynamic> json) {
return Sort(
sorted: json['sorted'],
empty: json['empty'],
unsorted: json['unsorted'],
);
}
Map<String, dynamic> toJson() {
return {'sorted': sorted, 'empty': empty, 'unsorted': unsorted};
}
}