mirror of
https://github.com/Uuttssaavv/flutter-clean-architecture-riverpod.git
synced 2025-08-06 16:19:42 +08:00
created current user provider to get the current user
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
import 'package:auto_route/auto_route.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_project/routes/app_route.gr.dart';
|
||||
import 'package:flutter_project/services/user_cache_service/domain/providers/current_user_provider.dart';
|
||||
import 'package:flutter_project/services/user_cache_service/domain/providers/user_cache_provider.dart';
|
||||
import 'package:flutter_project/shared/theme/app_theme.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
@ -0,0 +1,11 @@
|
||||
|
||||
import 'package:flutter_project/services/user_cache_service/domain/providers/user_cache_provider.dart';
|
||||
import 'package:flutter_project/shared/domain/models/models.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
final currentUserProvider = FutureProvider<User?>((ref)async{
|
||||
final repository = ref.watch(userLocalRepositoryProvider);
|
||||
final eitherType = (await repository.fetchUser());
|
||||
|
||||
return eitherType.fold((l) => null, (r) => r);
|
||||
});
|
@ -9,6 +9,7 @@ final userDatasourceProvider = Provider.family<UserDataSource, StroageService>(
|
||||
(_, networkService) => UserLocalDatasource(networkService),
|
||||
);
|
||||
|
||||
|
||||
final userLocalRepositoryProvider = Provider<UserRepository>((ref) {
|
||||
final storageService = ref.watch(storageServiceProvider);
|
||||
|
||||
@ -18,3 +19,4 @@ final userLocalRepositoryProvider = Provider<UserRepository>((ref) {
|
||||
|
||||
return respository;
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user