class PageableModel { final List 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 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 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 json) { return Pageable( pageNumber: json['pageNumber'], pageSize: json['pageSize'], sort: Sort.fromJson(json['sort']), offset: json['offset'], paged: json['paged'], unpaged: json['unpaged'], ); } Map 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 json) { return Sort( sorted: json['sorted'], empty: json['empty'], unsorted: json['unsorted'], ); } Map toJson() { return {'sorted': sorted, 'empty': empty, 'unsorted': unsorted}; } }