21 lines
525 B
Dart
21 lines
525 B
Dart
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'time_entry.freezed.dart';
|
|
part 'time_entry.g.dart';
|
|
|
|
@freezed
|
|
class TimeEntry with _$TimeEntry {
|
|
const factory TimeEntry({
|
|
required int id,
|
|
required int projectId,
|
|
required DateTime startTime,
|
|
DateTime? endTime,
|
|
int? durationSeconds,
|
|
String? note,
|
|
@Default([]) List<String> tags,
|
|
required DateTime createdAt,
|
|
}) = _TimeEntry;
|
|
|
|
factory TimeEntry.fromJson(Map<String, dynamic> json) =>
|
|
_$TimeEntryFromJson(json);
|
|
}
|