import 'message.dart'; class BriefingConversation { final int id; final String title; final String? briefingDate; // YYYY-MM-DD or null final List messages; const BriefingConversation({ required this.id, required this.title, this.briefingDate, required this.messages, }); factory BriefingConversation.fromJson(Map json) { final rawMessages = json['messages'] as List? ?? []; return BriefingConversation( id: json['id'] as int, title: json['title'] as String? ?? '', briefingDate: json['briefing_date'] as String?, messages: rawMessages .map((e) => Message.fromJson(e as Map)) .toList(), ); } BriefingConversation copyWith({List? messages}) => BriefingConversation( id: id, title: title, briefingDate: briefingDate, messages: messages ?? this.messages, ); }