Add TaskResponse model to encapsulate tasks and pagination data

This commit introduces a new class called TaskResponse, which holds both the tasks and pagination information returned from the API. The class includes a factory constructor to create an instance from JSON data, ensuring that the API response is neatly packaged into an easily manageable object. This enhances code readability and maintainability.

- Create a TaskResponse class with tasks and pagination fields
- Add a factory constructor for JSON to TaskResponse conversion
This commit is contained in:
hunteraraujo
2023-09-02 15:06:23 -07:00
parent 855c7fe8ea
commit 3b710b3c7c

View File

@@ -0,0 +1,19 @@
import 'package:auto_gpt_flutter_client/models/pagination.dart';
import 'package:auto_gpt_flutter_client/models/task.dart';
class TaskResponse {
final List<Task> tasks;
final Pagination pagination;
TaskResponse({required this.tasks, required this.pagination});
factory TaskResponse.fromJson(Map<String, dynamic> json) {
return TaskResponse(
tasks: (json['tasks'] as List).map((taskJson) {
var task = Task.fromMap(taskJson);
return task;
}).toList(),
pagination: Pagination.fromJson(json['pagination']),
);
}
}