Список проектов-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/metadata_model.dart";
|
||||||
export "src/data/models/news_model.dart";
|
export "src/data/models/news_model.dart";
|
||||||
export "src/data/models/product_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/client.dart";
|
||||||
export "src/data/repository/repository.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))
|
.map((e) => NewsModel.fromJSON(e))
|
||||||
.toList();
|
.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<ProductModel> getProduct(String id);
|
||||||
|
|
||||||
Future<List<NewsModel>> getNewsList();
|
Future<List<NewsModel>> getNewsList();
|
||||||
|
|
||||||
|
Future<List<ProjectModel>> getProjectList();
|
||||||
}
|
}
|
||||||
|
@ -97,4 +97,11 @@ class BaseUseCase {
|
|||||||
) async {
|
) async {
|
||||||
await helper.request(() => client.getNewsList(), onResponse, onError);
|
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 {
|
test("NewsList", () async {
|
||||||
await useCase.getNewsList(onResponse, onError);
|
await useCase.getNewsList(onResponse, onError);
|
||||||
});
|
});
|
||||||
|
test("ProjectList", () async {
|
||||||
|
await useCase.getProjectList(onResponse, onError);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user