forked from eatvio/eatvio_app
28 lines
1.1 KiB
Dart
28 lines
1.1 KiB
Dart
import 'package:eatvio_app/features/feed/models/diets_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,
|
|
}) = _FeedBlogPostModel;
|
|
|
|
factory FeedBlogPostModel.fromJson(Map<String, Object?> json) => _$FeedBlogPostModelFromJson(json);
|
|
}
|
|
|
|
DateTime parseDate(String date) => DateTime.parse(date).toLocal(); |