Files
prosappco/lib/dependency_user/user_di.dart
T
2024-02-19 20:36:45 -05:00

37 lines
1.5 KiB
Dart

import 'package:firebase_auth/firebase_auth.dart';
import 'package:injector/injector.dart';
import 'package:prosappco/blocs/authentication_bloc/authentication_bloc.dart';
import 'package:prosappco/blocs/my_user_bloc/my_user_bloc.dart';
import 'package:prosappco/blocs/profile_bloc/profile_bloc.dart';
import 'package:prosappco/blocs/setting_bloc/setting_bloc.dart';
import 'package:prosappco/blocs/sign_up_bloc/sign_up_bloc.dart';
import 'package:prosappco/blocs/sing_in_bloc/sign_in_bloc.dart';
import 'package:user_repository/user_repository.dart';
class UserDI {
void register() {
final injector = Injector.appInstance;
injector.registerSingleton<UserRepository>(
(() => FirebaseUserRepository(FirebaseAuth.instance)));
injector.registerSingleton<AuthenticationBloc>((() =>
AuthenticationBloc(myUserRepository: injector.get<UserRepository>())));
injector.registerSingleton<MyUserBloc>(
(() => MyUserBloc(myUserRepository: injector.get<UserRepository>())));
injector.registerSingleton<ProfileBloc>(
(() => ProfileBloc(userRepository: injector.get<UserRepository>())));
injector.registerDependency<SignInBloc>(
(() => SignInBloc(userRepository: injector.get<UserRepository>())));
injector.registerDependency<SignUpBloc>(
(() => SignUpBloc(userRepository: injector.get<UserRepository>())));
injector.registerDependency<SettingBloc>(
(() => SettingBloc(userRepository: injector.get<UserRepository>())));
}
}