54 lines
1.1 KiB
Dart
54 lines
1.1 KiB
Dart
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
part 'moment.g.dart';
|
|
|
|
@JsonSerializable()
|
|
class Comment {
|
|
final int id;
|
|
final String username;
|
|
final String avatar;
|
|
final String content;
|
|
final String date;
|
|
|
|
const Comment({
|
|
required this.id,
|
|
required this.username,
|
|
required this.avatar,
|
|
required this.content,
|
|
required this.date,
|
|
});
|
|
|
|
factory Comment.fromJson(Map<String, dynamic> json) => _$CommentFromJson(json);
|
|
|
|
Map<String, dynamic> toJson() => _$CommentToJson(this);
|
|
}
|
|
|
|
@JsonSerializable()
|
|
class Moment {
|
|
final int? id;
|
|
final int? userId;
|
|
final String? username;
|
|
final String? avatar;
|
|
final String content;
|
|
final List<String> imageList;
|
|
final String? date;
|
|
final List<int>? likeList;
|
|
final List<Comment>? commentList;
|
|
|
|
Moment({
|
|
this.id,
|
|
this.userId,
|
|
this.username,
|
|
this.avatar,
|
|
required this.content,
|
|
required this.imageList,
|
|
this.date,
|
|
this.likeList,
|
|
this.commentList,
|
|
});
|
|
|
|
factory Moment.fromJson(Map<String, dynamic> json) => _$MomentFromJson(json);
|
|
|
|
Map<String, dynamic> toJson() => _$MomentToJson(this);
|
|
}
|