Files
social-app/apps/lib/app/services/auth_session_controller.dart

21 lines
688 B
Dart

import 'dart:async';
import 'package:social_app/core/auth/session_controller.dart';
import 'package:social_app/features/auth/presentation/bloc/auth_bloc.dart';
import 'package:social_app/features/auth/presentation/bloc/auth_event.dart';
import 'package:social_app/features/auth/presentation/bloc/auth_state.dart';
class AuthSessionController implements SessionController {
final AuthBloc _authBloc;
AuthSessionController(this._authBloc);
@override
Future<void> logoutAndWaitUnauthenticated() async {
_authBloc.add(AuthLoggedOut());
await _authBloc.stream
.firstWhere((state) => state is AuthUnauthenticated)
.timeout(const Duration(seconds: 5));
}
}