Shuffle/app/lib/features/auth/domain/auth_status.dart
cschlaefke 54337ffc59 feat(auth): add auth domain, repository, validators and router redirects
Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 00:09:47 +01:00

21 lines
774 B
Dart

import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:shuffle/features/auth/domain/auth_user.dart';
part 'auth_status.freezed.dart';
/// Anmeldestatus der App.
///
/// [AuthStatus.passwordRecovery] gilt nur im laufenden Prozess: Eine
/// Recovery-Sitzung ist nach einem Neustart nicht mehr von einer normalen
/// Anmeldung zu unterscheiden (Spec #1 § 5.4, Risiko R12).
@freezed
sealed class AuthStatus with _$AuthStatus {
const AuthStatus._();
const factory AuthStatus.signedOut() = SignedOut;
const factory AuthStatus.signedIn(AuthUser user) = SignedIn;
const factory AuthStatus.passwordRecovery(AuthUser user) = PasswordRecovery;
bool get isSignedOut => this is SignedOut;
bool get isPasswordRecovery => this is PasswordRecovery;
}