21 lines
502 B
Dart
21 lines
502 B
Dart
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||
|
|
|
||
|
|
import 'ink_stroke.dart';
|
||
|
|
|
||
|
|
part 'note.freezed.dart';
|
||
|
|
part 'note.g.dart';
|
||
|
|
|
||
|
|
@freezed
|
||
|
|
abstract class Note with _$Note {
|
||
|
|
const factory Note({
|
||
|
|
required String id,
|
||
|
|
@Default('Untitled') String title,
|
||
|
|
@Default([]) List<InkStroke> strokes,
|
||
|
|
required DateTime createdAt,
|
||
|
|
required DateTime updatedAt,
|
||
|
|
@Default([]) List<String> tags,
|
||
|
|
}) = _Note;
|
||
|
|
|
||
|
|
factory Note.fromJson(Map<String, dynamic> json) => _$NoteFromJson(json);
|
||
|
|
}
|