104 lines
2.5 KiB
Dart
104 lines
2.5 KiB
Dart
class Publication {
|
|
int id;
|
|
int userId;
|
|
String articleTitle;
|
|
String journalName;
|
|
DateTime date;
|
|
String author;
|
|
DateTime? createdAt;
|
|
DateTime? updatedAt;
|
|
|
|
Publication({
|
|
required this.id,
|
|
required this.userId,
|
|
required this.articleTitle,
|
|
required this.journalName,
|
|
required this.date,
|
|
required this.author,
|
|
this.createdAt,
|
|
this.updatedAt,
|
|
});
|
|
|
|
// Convert a Publication to a Map
|
|
Map<String, dynamic> toMap() {
|
|
return {
|
|
'id': id,
|
|
'user_id': userId,
|
|
'article_title': articleTitle,
|
|
'journal_name': journalName,
|
|
'date': date.toIso8601String(),
|
|
'author': author,
|
|
'created_at': createdAt?.toIso8601String(),
|
|
'updated_at': updatedAt?.toIso8601String(),
|
|
};
|
|
}
|
|
|
|
// Create a Publication from a Map
|
|
factory Publication.fromMap(Map<String, dynamic> map) {
|
|
return Publication(
|
|
id: map['id'],
|
|
userId: map['user_id'],
|
|
articleTitle: map['article_title'],
|
|
journalName: map['journal_name'],
|
|
date: DateTime.parse(map['date']),
|
|
author: map['author'],
|
|
createdAt:
|
|
map['created_at'] != null ? DateTime.parse(map['created_at']) : null,
|
|
updatedAt:
|
|
map['updated_at'] != null ? DateTime.parse(map['updated_at']) : null,
|
|
);
|
|
}
|
|
}
|
|
|
|
class Affiliation {
|
|
int id;
|
|
int userId;
|
|
String articleTitle;
|
|
String journalName;
|
|
DateTime date;
|
|
String author;
|
|
DateTime? createdAt;
|
|
DateTime? updatedAt;
|
|
|
|
Affiliation({
|
|
required this.id,
|
|
required this.userId,
|
|
required this.articleTitle,
|
|
required this.journalName,
|
|
required this.date,
|
|
required this.author,
|
|
this.createdAt,
|
|
this.updatedAt,
|
|
});
|
|
|
|
// Convert an Affiliation to a Map
|
|
Map<String, dynamic> toMap() {
|
|
return {
|
|
'id': id,
|
|
'user_id': userId,
|
|
'article_title': articleTitle,
|
|
'journal_name': journalName,
|
|
'date': date.toIso8601String(),
|
|
'author': author,
|
|
'created_at': createdAt?.toIso8601String(),
|
|
'updated_at': updatedAt?.toIso8601String(),
|
|
};
|
|
}
|
|
|
|
// Create an Affiliation from a Map
|
|
factory Affiliation.fromMap(Map<String, dynamic> map) {
|
|
return Affiliation(
|
|
id: map['id'],
|
|
userId: map['user_id'],
|
|
articleTitle: map['article_title'],
|
|
journalName: map['journal_name'],
|
|
date: DateTime.parse(map['date']),
|
|
author: map['author'],
|
|
createdAt:
|
|
map['created_at'] != null ? DateTime.parse(map['created_at']) : null,
|
|
updatedAt:
|
|
map['updated_at'] != null ? DateTime.parse(map['updated_at']) : null,
|
|
);
|
|
}
|
|
}
|