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 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 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 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 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, ); } }