import 'feedback.dart'; import 'reply.dart'; import 'user.dart'; class CommentData { int id; final String text; final String createdAt; final bool liked; final bool disliked; FeedbackData feedback; final UserOverview user; final List replies; CommentData({ 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 CommentData.fromJson(Map json) => CommentData( id: json['id'], text: json['text'], createdAt: json['createdAt'], liked: json['liked'], disliked: json['disliked'], feedback: FeedbackData.fromJson(json['feedback']), user: UserOverview.fromJson(json['user']), replies: List.from( json['replies'].map( (reply) => Reply.fromJson(reply), ), ), ); Map toJson() => { 'id': id, 'text': text, 'createdAt': createdAt, 'liked': liked, 'disliked': disliked, 'feedback': feedback.toJson(), 'user': user.toJson(), 'replies': replies.map((e) => e.toJson()).toList(), }; }