30 lines
778 B
Dart
30 lines
778 B
Dart
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
abstract class UserLocalDataSource {
|
|
Future<void> cacheUserToken(String token);
|
|
Future<String?> getCachedUserToken();
|
|
Future<void> clearCache();
|
|
}
|
|
|
|
class UserLocalDataSourceImpl implements UserLocalDataSource {
|
|
final SharedPreferences sharedPreferences;
|
|
static const String _tokenKey = 'user_token';
|
|
|
|
UserLocalDataSourceImpl({required this.sharedPreferences});
|
|
|
|
@override
|
|
Future<void> cacheUserToken(String token) async {
|
|
await sharedPreferences.setString(_tokenKey, token);
|
|
}
|
|
|
|
@override
|
|
Future<String?> getCachedUserToken() async {
|
|
return sharedPreferences.getString(_tokenKey);
|
|
}
|
|
|
|
@override
|
|
Future<void> clearCache() async {
|
|
await sharedPreferences.remove(_tokenKey);
|
|
}
|
|
}
|