Add shared authentication and email verification services

Provide reusable models, injectable service contracts, lifecycle-safe providers and explicit dummy implementations for login, signup and verification. Add focused error and async lifecycle tests. Related to #4 and #5.
This commit is contained in:
Stephan D committed 2026-09-11 15:36:58 +02:00
1 parent d9318053e8
commit 27424ed886
15 files changed
+708

No files matched your search

@@ -0,0 +1,31 @@
enum VerificationStatus {
idle,
sending,
sent,
checking,
verified,
expired,
invalid,
error,
}
enum VerificationError { expired, invalid, internal }
class VerificationException implements Exception {
const VerificationException(this.code);
final VerificationError code;
}
class VerificationResult {
const VerificationResult({required this.isSimulated});
final bool isSimulated;
}
class VerificationState {
const VerificationState(this.status, {this.isSimulated = false});
final VerificationStatus status;
final bool isSimulated;
bool get isLoading =>
status == VerificationStatus.sending ||
status == VerificationStatus.checking;
}