current outlet
This commit is contained in:
@@ -4,6 +4,7 @@ import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:injectable/injectable.dart';
|
||||
|
||||
import '../../domain/auth/auth.dart';
|
||||
import '../../domain/outlet/outlet.dart';
|
||||
|
||||
part 'auth_event.dart';
|
||||
part 'auth_state.dart';
|
||||
@@ -12,7 +13,9 @@ part 'auth_bloc.freezed.dart';
|
||||
@injectable
|
||||
class AuthBloc extends Bloc<AuthEvent, AuthState> {
|
||||
final IAuthRepository _repository;
|
||||
AuthBloc(this._repository) : super(AuthState.initial()) {
|
||||
final IOutletRepository _outletRepository;
|
||||
AuthBloc(this._repository, this._outletRepository)
|
||||
: super(AuthState.initial()) {
|
||||
on<AuthEvent>(_onAuthEvent);
|
||||
}
|
||||
|
||||
@@ -43,6 +46,20 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
add(AuthEvent.fetchCurrentOutlet(state.user.outletId));
|
||||
},
|
||||
fetchCurrentOutlet: (e) async {
|
||||
emit(state.copyWith(failureOutletOption: none()));
|
||||
|
||||
final failureOrOutlet = await _outletRepository.getOutletById(
|
||||
e.outletId,
|
||||
);
|
||||
|
||||
failureOrOutlet.fold(
|
||||
(f) => emit(state.copyWith(failureOutletOption: optionOf(f))),
|
||||
(outlet) => emit(state.copyWith(outlet: outlet)),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user