Files
eatvio_app/lib/features/feed/repositories/feed_repository.dart
2024-08-23 11:45:24 +03:00

124 lines
2.7 KiB
Dart

import 'package:eatvio_app/features/feed/models/comment_model.dart';
import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart';
import 'package:eatvio_app/features/feed/models/feed_blog_post_settings_model.dart';
import 'package:eatvio_app/features/feed/models/recipes_model.dart';
import 'package:eatvio_app/features/feed/services/feed_service.dart';
class FeedRepository {
final FeedService feedService;
FeedRepository({required this.feedService});
Future<FeedBlogPostSettingsModel> getFeedBlogPosts({int page = 1}) async {
try {
return (await feedService.getBlocPostList(page: page));
} catch (e) {
rethrow;
}
}
Future<List<Recipes>> getRecipes() async {
try {
return (await feedService.getRecipes()).recipesList;
} catch (e) {
rethrow;
}
}
Future<DietsPagination> getDiets() async {
try {
return (await feedService.getDiets());
} catch (e) {
rethrow;
}
}
Future<Comment> getBlogPostComments(int id) async {
try {
return (await feedService.getBlogPostComments(id: id));
} catch (e) {
rethrow;
}
}
Future<void> sendBlogPostComment({
required int id,
required String commentText,
int? parentCommentId,
}) async {
try {
await feedService.sendBlogPostComment(
id: id,
body: commentText,
parentCommentId: parentCommentId,
);
} catch (e) {
rethrow;
}
}
Future<Comment> getDietsComments(int id) async {
try {
return (await feedService.getDietsComments(id: id));
} catch (e) {
rethrow;
}
}
Future<void> sendDietsComment({
required int id,
required String commentText,
int? parentCommentId,
}) async {
try {
await feedService.sendDietsComment(
id: id,
body: commentText,
parentCommentId: parentCommentId,
);
} catch (e) {
rethrow;
}
}
Future<Comment> getRecipesComments(String id) async {
try {
return (await feedService.getRecipesComments(id: id));
} catch (e) {
rethrow;
}
}
Future<void> sendRecipesComment({
required String id,
required String commentText,
int? parentCommentId,
}) async {
try {
await feedService.sendRecipesComment(
id: id,
body: commentText,
parentCommentId: parentCommentId,
);
} catch (e) {
rethrow;
}
}
Future<void> likeBlogPost(int id) async {
try {
await feedService.likeBlogPost(id: id);
} catch (e) {
rethrow;
}
}
Future<void> unlikedBlogPost(int id) async {
try {
await feedService.unlikedBlogPost(id: id);
} catch (e) {
rethrow;
}
}
}