import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart'; import 'package:eatvio_app/features/feed/models/post_feed_pagination_model.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; part 'feed_blog_post_model.freezed.dart'; part 'feed_blog_post_model.g.dart'; @freezed abstract class FeedBlogPostModel with _$FeedBlogPostModel { const factory FeedBlogPostModel({ required int id, required String state, required String image, required String description, required Author author, @JsonKey(name: "video_url") required String videoUrl, @JsonKey(name: "created_at", fromJson: parseDate) required DateTime createdAt, @JsonKey(name: "updated_at", fromJson: parseDate) required DateTime updatedAt, required String title, @JsonKey(name: "total_likes") required int totalLikes, @JsonKey(name: "total_views") required int totalViews, @JsonKey(name: "total_comments") required int totalComments, @JsonKey(name: "was_liked_by_me") required bool wasLikedByMe, @Default([]) List images, @JsonKey(name: "video_embed_url") String? videoEmbedUrl, @JsonKey(name: "video_url_thumb") String? videoUrlThumb, }) = _FeedBlogPostModel; factory FeedBlogPostModel.fromJson(Map json) => _$FeedBlogPostModelFromJson(json); } DateTime parseDate(String date) => DateTime.parse(date).toLocal();