- Updated Group, Trip, User, and other model classes to include comprehensive documentation for better understanding and maintainability. - Improved error handling and logging in services, including AuthService, ErrorService, and StorageService. - Added validation and business logic explanations in ExpenseService and TripService. - Refactored method comments to follow a consistent format across the codebase. - Translated error messages and comments from French to English for consistency.
77 lines
2.4 KiB
Dart
77 lines
2.4 KiB
Dart
import 'package:equatable/equatable.dart';
|
|
import '../../models/user.dart';
|
|
|
|
/// Abstract base class for all authentication states.
|
|
///
|
|
/// This class extends [Equatable] to enable value equality for state comparison.
|
|
/// All authentication states in the application should inherit from this class.
|
|
abstract class AuthState extends Equatable {
|
|
/// Creates a new [AuthState].
|
|
const AuthState();
|
|
|
|
@override
|
|
List<Object?> get props => [];
|
|
}
|
|
|
|
/// Initial state of the authentication bloc.
|
|
///
|
|
/// This state represents the initial state before any authentication
|
|
/// actions have been performed.
|
|
class AuthInitial extends AuthState {}
|
|
|
|
/// State indicating that an authentication operation is in progress.
|
|
///
|
|
/// This state is used to show loading indicators during authentication
|
|
/// processes like sign-in, sign-up, or sign-out.
|
|
class AuthLoading extends AuthState {}
|
|
|
|
/// State indicating that a user is successfully authenticated.
|
|
///
|
|
/// This state contains the authenticated user's information and is
|
|
/// used throughout the app to access user data.
|
|
class AuthAuthenticated extends AuthState {
|
|
/// The authenticated user.
|
|
final User user;
|
|
|
|
/// Creates an [AuthAuthenticated] state with the given [user].
|
|
const AuthAuthenticated({required this.user});
|
|
|
|
@override
|
|
List<Object?> get props => [user];
|
|
}
|
|
|
|
/// State indicating that no user is currently authenticated.
|
|
///
|
|
/// This state is used when a user is not signed in or has signed out
|
|
/// of the application.
|
|
class AuthUnauthenticated extends AuthState {}
|
|
|
|
/// State indicating that an authentication error has occurred.
|
|
///
|
|
/// This state contains an error message that can be displayed to the user
|
|
/// when authentication operations fail.
|
|
class AuthError extends AuthState {
|
|
/// The error message describing what went wrong.
|
|
final String message;
|
|
|
|
/// Creates an [AuthError] state with the given error [message].
|
|
const AuthError({required this.message});
|
|
|
|
@override
|
|
List<Object?> get props => [message];
|
|
}
|
|
|
|
/// State indicating that a password reset email has been sent.
|
|
///
|
|
/// This state is used to confirm to the user that a password reset
|
|
/// email has been successfully sent to their email address.
|
|
class AuthPasswordResetSent extends AuthState {
|
|
/// The email address to which the reset link was sent.
|
|
final String email;
|
|
|
|
/// Creates an [AuthPasswordResetSent] state with the given [email].
|
|
const AuthPasswordResetSent({required this.email});
|
|
|
|
@override
|
|
List<Object?> get props => [email];
|
|
} |