Skip to content

Commit 9fd2c4c

Browse files
committed
feat(app): allow injection of pre-authenticated user
- Add initialUser parameter to AppBloc constructor - Update AppState initialization to use initialUser for status and user - Improve app startup process for authenticated users
1 parent 5b4f322 commit 9fd2c4c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

lib/app/bloc/app_bloc.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class AppBloc extends Bloc<AppEvent, AppState> {
2222
required DataRepository<User> userRepository,
2323
required local_config.AppEnvironment environment,
2424
this.demoDataMigrationService,
25+
this.initialUser,
2526
}) : _authenticationRepository = authenticationRepository,
2627
_userAppSettingsRepository = userAppSettingsRepository,
2728
_appConfigRepository = appConfigRepository,
@@ -54,6 +55,13 @@ class AppBloc extends Bloc<AppEvent, AppState> {
5455
selectedBottomNavigationIndex: 0,
5556
remoteConfig: null,
5657
environment: environment,
58+
// Initialize status and user based on initialUser
59+
status: initialUser != null
60+
? (initialUser.appRole == AppUserRole.standardUser
61+
? AppStatus.authenticated
62+
: AppStatus.anonymous)
63+
: AppStatus.unauthenticated,
64+
user: initialUser,
5765
),
5866
) {
5967
on<AppUserChanged>(_onAppUserChanged);
@@ -79,6 +87,7 @@ class AppBloc extends Bloc<AppEvent, AppState> {
7987
final DataRepository<User> _userRepository;
8088
final local_config.AppEnvironment _environment;
8189
final DemoDataMigrationService? demoDataMigrationService;
90+
final User? initialUser;
8291
late final StreamSubscription<User?> _userSubscription;
8392

8493
/// Handles user changes and loads initial settings once user is available.

0 commit comments

Comments
 (0)