24 lines
656 B
Dart
24 lines
656 B
Dart
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'guardian_child.freezed.dart';
|
|
part 'guardian_child.g.dart';
|
|
|
|
/// A student linked to the signed-in guardian. [id] is an opaque server id,
|
|
/// not a WebUntis id.
|
|
@freezed
|
|
abstract class GuardianChild with _$GuardianChild {
|
|
const GuardianChild._();
|
|
|
|
const factory GuardianChild({
|
|
required String id,
|
|
required String firstName,
|
|
required String lastName,
|
|
@Default('') String className,
|
|
}) = _GuardianChild;
|
|
|
|
factory GuardianChild.fromJson(Map<String, Object?> json) =>
|
|
_$GuardianChildFromJson(json);
|
|
|
|
String get displayName => '$firstName $lastName'.trim();
|
|
}
|