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

67 lines
1.6 KiB
Dart

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<Reply> 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<String, dynamic> 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<Reply>.from(
json['replies'].map(
(reply) => Reply.fromJson(reply),
),
),
status: json['status'],
mention: json['mention'],
);
Map<String, dynamic> 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(),
};
}