Files
sxchnge/frontend/packages/sxchnge_auth/lib/src/models/verification.dart
T

47 lines
1.1 KiB
Dart

enum VerificationStatus {
idle,
sending,
sent,
checking,
verified,
expired,
invalid,
error,
}
enum VerificationError { expired, invalid, internal, needsAssistance }
/// An accepted email-queue operation, not proof of inbox delivery or activation.
class VerificationDelivery {
const VerificationDelivery({required this.email, required this.isSimulated});
final String email;
final bool isSimulated;
}
class VerificationException implements Exception {
const VerificationException(this.code);
final VerificationError code;
}
class VerificationResult {
const VerificationResult({required this.isSimulated, this.verifiedEmail});
final bool isSimulated;
final String? verifiedEmail;
}
class VerificationState {
const VerificationState(
this.status, {
this.isSimulated = false,
this.error,
this.result,
});
final VerificationStatus status;
final VerificationError? error;
final bool isSimulated;
final VerificationResult? result;
bool get isLoading =>
status == VerificationStatus.sending ||
status == VerificationStatus.checking;
}