Files
social-app/apps/lib/features/settings/data/services/settings_user_cache.dart
T

31 lines
716 B
Dart
Raw Normal View History

import 'dart:async';
import '../../../contacts/data/users/models/user_response.dart';
import 'user_profile_cache_repository.dart';
class SettingsUserCache {
final UserProfileCacheRepository _repository;
SettingsUserCache(this._repository);
UserResponse? _cachedUser;
UserResponse? get cachedUser => _cachedUser;
Future<UserResponse> getProfile({bool forceRefresh = false}) async {
final user = await _repository.getProfile(forceRefresh: forceRefresh);
_cachedUser = user;
return user;
}
void set(UserResponse user) {
_cachedUser = user;
unawaited(_repository.setCached(user));
}
void invalidate() {
_cachedUser = null;
unawaited(_repository.invalidate());
}
}