Hello All,
I have a question about the best practice on when to fetch some data related to the authenticated user. I have a user data collection which stores users address and some settings used through out the app. When the app loads i check for auth and then i need to get the data. I have a redirect set up in the router which will detect any changes in auth and go to the correct route.
authenticated,
unauthenticated,
}
final authController =
StateNotifierProvider<AuthProvider, AuthStatus>((ref) => AuthProvider(ref));
class AuthProvider extends StateNotifier<AuthStatus> {
AuthProvider(this.ref) : super(AuthStatus.unauthenticated);
final Ref ref;
late User _currentUser;
User get currentUser => _currentUser;
Future<AuthStatus> getUser() async {
final account = ref.read(appwriteAccountProvider);
try {
final user = await account.get();
_currentUser = user;
state = AuthStatus.authenticated;
///// Should I get the data here?? ////
return AuthStatus.authenticated;
} on AppwriteException catch (e) {
state = AuthStatus.unauthenticated;
return AuthStatus.unauthenticated;
}
}
}```
```redirect: (context, state) async {
final auth = await ref.read(authController.notifier).getUser();
final bool loggingIn = state.matchedLocation == '/signin';
final isGoingSignUp = state.matchedLocation == '/signup';
if (auth == AuthStatus.unauthenticated) {
return '/signin';
}
if (isGoingSignUp && auth == AuthStatus.authenticated) {
return '/';
}
if (loggingIn) {
return '/';
}
/// User is authenticated goto destination
return null;
}```
Sure you can get the user data there since the authProvider is for the user. It contains data about the user and you're fetching data about the user so it makes sense.
If you're fetching some other data that belongs to the user, I would do that elsewhere.
Perfect! thats what i thought. Thanks.
Recommended threads
- Using Binary Log with Appwrite
If I can remember correctly appwrite uses mariaDB as the underlying database. If so could I use mariaDB’s binary log to see database operations from appwrite?
- Retrieving Data From Backups
Hiya, I have a user requesting for data they accidentally deleted. I don't have document history built into my app. Is there a way to extract data from the auto...
- Help