34 lines
964 B
Dart
34 lines
964 B
Dart
part of 'auth_bloc.dart';
|
|
|
|
@freezed
|
|
class AuthState with _$AuthState {
|
|
const AuthState._();
|
|
|
|
const factory AuthState({
|
|
required User user,
|
|
required Outlet outlet,
|
|
@Default(AuthStatus.initial()) AuthStatus status,
|
|
required Option<AuthFailure> failureOption,
|
|
required Option<OutletFailure> failureOutletOption,
|
|
@Default(false) bool isFetching,
|
|
@Default(false) bool isFetchingOutlet,
|
|
}) = _AuthState;
|
|
|
|
factory AuthState.initial() => AuthState(
|
|
user: User.empty(),
|
|
failureOption: none(),
|
|
outlet: Outlet.empty(),
|
|
failureOutletOption: none(),
|
|
);
|
|
|
|
bool get isAuthenticated => status == const AuthStatus.authenticated();
|
|
bool get isInitial => status == const AuthStatus.initial();
|
|
}
|
|
|
|
@freezed
|
|
sealed class AuthStatus with _$AuthStatus {
|
|
const factory AuthStatus.authenticated() = _Authenticated;
|
|
const factory AuthStatus.unauthenticated() = _Unauthenticated;
|
|
const factory AuthStatus.initial() = _Initial;
|
|
}
|