Список проектов-8
This commit is contained in:
parent
ebba6d66af
commit
b9847560aa
@ -4,6 +4,7 @@ export "src/data/models/auth_model.dart";
|
||||
export "src/data/models/metadata_model.dart";
|
||||
export "src/data/models/news_model.dart";
|
||||
export "src/data/models/product_model.dart";
|
||||
export "src/data/models/project_model.dart";
|
||||
|
||||
export "src/data/repository/client.dart";
|
||||
export "src/data/repository/repository.dart";
|
||||
|
46
lib/src/data/models/project_model.dart
Normal file
46
lib/src/data/models/project_model.dart
Normal file
@ -0,0 +1,46 @@
|
||||
class ProjectModel {
|
||||
final String title;
|
||||
final String typeProject;
|
||||
final String userId;
|
||||
final String dateStart;
|
||||
final String dateEnd;
|
||||
final String gender;
|
||||
final String descriptionSource;
|
||||
final String category;
|
||||
final String image;
|
||||
|
||||
ProjectModel({
|
||||
required this.title,
|
||||
required this.typeProject,
|
||||
required this.userId,
|
||||
required this.dateStart,
|
||||
required this.dateEnd,
|
||||
required this.gender,
|
||||
required this.descriptionSource,
|
||||
required this.category,
|
||||
required this.image,
|
||||
});
|
||||
|
||||
ProjectModel.fromJSON(Map<String, dynamic> json)
|
||||
: title = json["title"],
|
||||
typeProject = json["typeProject"],
|
||||
userId = json["user_id"],
|
||||
dateStart = json["dateStart"],
|
||||
dateEnd = json["dateEnd"],
|
||||
gender = json["gender"],
|
||||
descriptionSource = json["description_source"],
|
||||
category = json["category"],
|
||||
image = json["image"];
|
||||
|
||||
Map<String, dynamic> toJSON() => {
|
||||
"title": title,
|
||||
"typeProject": typeProject,
|
||||
"user_id": userId,
|
||||
"dateStart": dateStart,
|
||||
"dateEnd": dateEnd,
|
||||
"gender": gender,
|
||||
"description_source": descriptionSource,
|
||||
"category": category,
|
||||
"image": image,
|
||||
};
|
||||
}
|
@ -110,4 +110,15 @@ class Client extends Repository {
|
||||
.map((e) => NewsModel.fromJSON(e))
|
||||
.toList();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<ProjectModel>> getProjectList() async {
|
||||
Response response = await dio.get(
|
||||
"$apiUrl/collections/project/records",
|
||||
options: options,
|
||||
);
|
||||
return (response.data["items"] as List)
|
||||
.map((e) => ProjectModel.fromJSON(e))
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
|
@ -31,4 +31,6 @@ abstract class Repository {
|
||||
Future<ProductModel> getProduct(String id);
|
||||
|
||||
Future<List<NewsModel>> getNewsList();
|
||||
|
||||
Future<List<ProjectModel>> getProjectList();
|
||||
}
|
||||
|
@ -97,4 +97,11 @@ class BaseUseCase {
|
||||
) async {
|
||||
await helper.request(() => client.getNewsList(), onResponse, onError);
|
||||
}
|
||||
|
||||
Future<void> getProjectList(
|
||||
Function(List<ProjectModel>) onResponse,
|
||||
Function(Exception) onError,
|
||||
) async {
|
||||
await helper.request(() => client.getProjectList(), onResponse, onError);
|
||||
}
|
||||
}
|
||||
|
@ -72,5 +72,8 @@ void main() {
|
||||
test("NewsList", () async {
|
||||
await useCase.getNewsList(onResponse, onError);
|
||||
});
|
||||
test("ProjectList", () async {
|
||||
await useCase.getProjectList(onResponse, onError);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user