created current user provider to get the current user

This commit is contained in:
Utsav Ghimire
2023-03-08 03:14:24 +05:45
parent a49a3c6f9f
commit 5a5e7eb459
3 changed files with 14 additions and 0 deletions

View File

@ -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';

View File

@ -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);
});

View File

@ -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;
});