cc8d8ab8bf
Co-Authored-By: claude-flow <ruv@ruv.net>
33 lines
910 B
Dart
33 lines
910 B
Dart
/// A single audit-trail event on a programmer day sheet.
|
|
class ProgrammerDaySheetEvent {
|
|
final String id;
|
|
final String sheetId;
|
|
final String kind;
|
|
final String? actorId;
|
|
final String? body;
|
|
final List<String> flaggedTaskIds;
|
|
final DateTime createdAt;
|
|
|
|
const ProgrammerDaySheetEvent({
|
|
required this.id,
|
|
required this.sheetId,
|
|
required this.kind,
|
|
this.actorId,
|
|
this.body,
|
|
required this.flaggedTaskIds,
|
|
required this.createdAt,
|
|
});
|
|
|
|
factory ProgrammerDaySheetEvent.fromMap(Map<String, dynamic> m) {
|
|
return ProgrammerDaySheetEvent(
|
|
id: m['id'] as String,
|
|
sheetId: m['sheet_id'] as String,
|
|
kind: m['kind'] as String,
|
|
actorId: m['actor_id'] as String?,
|
|
body: m['body'] as String?,
|
|
flaggedTaskIds: List<String>.from(m['flagged_task_ids'] as List? ?? []),
|
|
createdAt: DateTime.parse(m['created_at'] as String),
|
|
);
|
|
}
|
|
}
|