* integrate course translation group * Update lib/pangea/payload_client/models/course_plan/cms_course_plan_translation_group.dart Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * formatting --------- Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: ggurdin <ggurdin@gmail.com>
43 lines
1.2 KiB
Dart
43 lines
1.2 KiB
Dart
/// Response model for paginated results from PayloadCMS
|
|
class PayloadPaginatedResponse<T> {
|
|
final List<T> docs;
|
|
final int totalDocs;
|
|
final int limit;
|
|
final int page;
|
|
final int totalPages;
|
|
final bool hasNextPage;
|
|
final bool hasPrevPage;
|
|
final int? nextPage;
|
|
final int? prevPage;
|
|
|
|
PayloadPaginatedResponse({
|
|
required this.docs,
|
|
required this.totalDocs,
|
|
required this.limit,
|
|
required this.page,
|
|
required this.totalPages,
|
|
required this.hasNextPage,
|
|
required this.hasPrevPage,
|
|
this.nextPage,
|
|
this.prevPage,
|
|
});
|
|
|
|
factory PayloadPaginatedResponse.fromJson(
|
|
Map<String, dynamic> json,
|
|
T Function(Map<String, dynamic>) fromJsonT,
|
|
) {
|
|
return PayloadPaginatedResponse<T>(
|
|
docs: (json['docs'] as List<dynamic>)
|
|
.map((e) => fromJsonT(e as Map<String, dynamic>))
|
|
.toList(),
|
|
totalDocs: json['totalDocs'] as int,
|
|
limit: json['limit'] as int,
|
|
page: json['page'] as int,
|
|
totalPages: json['totalPages'] as int,
|
|
hasNextPage: json['hasNextPage'] as bool,
|
|
hasPrevPage: json['hasPrevPage'] as bool,
|
|
nextPage: json['nextPage'] as int?,
|
|
prevPage: json['prevPage'] as int?,
|
|
);
|
|
}
|
|
}
|