52 lines
1.3 KiB
Dart
52 lines
1.3 KiB
Dart
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<Reply> 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<String, dynamic> 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<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(),
|
|
};
|
|
}
|