39 lines
1.6 KiB
Dart
39 lines
1.6 KiB
Dart
import 'package:cb_prestige_qr/core/providers/core_providers.dart';
|
|
import 'package:cb_prestige_qr/features/auth/data/data_sources/auth_local_data_source.dart';
|
|
import 'package:cb_prestige_qr/features/auth/data/data_sources/auth_remote_data_source.dart';
|
|
import 'package:cb_prestige_qr/features/auth/data/repositories/auth_repository_impl.dart';
|
|
import 'package:cb_prestige_qr/features/auth/domain/repositories/auth_repository.dart';
|
|
import 'package:cb_prestige_qr/features/auth/domain/use_cases/get_current_user_profile_use_case.dart';
|
|
import 'package:cb_prestige_qr/features/auth/domain/use_cases/login_use_case.dart';
|
|
import 'package:cb_prestige_qr/features/auth/domain/use_cases/logout_use_case.dart';
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
|
|
final authLocalDataSourceProvider = Provider<AuthLocalDataSource>(
|
|
(ref) => AuthLocalDataSourceImpl(ref.watch(localStorageServiceProvider)),
|
|
);
|
|
|
|
final authRemoteDataSourceProvider = Provider<AuthRemoteDataSource>(
|
|
(ref) => const AuthRemoteDataSourceImpl(),
|
|
);
|
|
|
|
final authRepositoryProvider = Provider<AuthRepository>(
|
|
(ref) => AuthRepositoryImpl(
|
|
ref.watch(authRemoteDataSourceProvider),
|
|
ref.watch(authLocalDataSourceProvider),
|
|
ref.watch(deviceIdServiceProvider),
|
|
),
|
|
);
|
|
|
|
final loginUseCaseProvider = Provider<LoginUseCase>(
|
|
(ref) => LoginUseCase(ref.watch(authRepositoryProvider)),
|
|
);
|
|
|
|
final getCurrentUserProfileUseCaseProvider =
|
|
Provider<GetCurrentUserProfileUseCase>(
|
|
(ref) => GetCurrentUserProfileUseCase(ref.watch(authRepositoryProvider)),
|
|
);
|
|
|
|
final logoutUseCaseProvider = Provider<LogoutUseCase>(
|
|
(ref) => LogoutUseCase(ref.watch(authRepositoryProvider)),
|
|
);
|