didvan-app/lib/models/comment/comment.dart

52 lines
1.2 KiB
Dart

import 'feedback.dart';
import 'reply.dart';
import 'user.dart';
class Comment {
final int id;
final String text;
final String createdAt;
final bool liked;
final bool disliked;
final Feedback feedback;
final User user;
final List<Reply> replies;
Comment({
required this.id,
required this.text,
required this.createdAt,
required this.liked,
required this.disliked,
required this.feedback,
required this.user,
required this.replies,
});
factory Comment.fromJson(Map<String, dynamic> json) => Comment(
id: json['id'],
text: json['text'],
createdAt: json['createdAt'],
liked: json['liked'],
disliked: json['disliked'],
feedback: Feedback.fromJson(json['feedback']),
user: User.fromJson(json['user']),
replies: List<Reply>.from(
json['replies'].map(
(reply) => Reply.fromJson(reply),
),
),
);
Map<String, dynamic> toJson() => {
'id': id,
'text': text,
'createdAt': createdAt,
'liked': liked,
'disliked': disliked,
'feedback': feedback.toJson(),
'user': user.toJson(),
'replies': replies.map((e) => e.toJson()).toList(),
};
}