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