82 lines
2.7 KiB
Dart
82 lines
2.7 KiB
Dart
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
class LocalPreference {
|
|
// Keys
|
|
static const String _keyLogin = "is_logged_in";
|
|
static const String _keyUserId = "user_id";
|
|
static const String _keyAccessToken = "access_token";
|
|
static const String _keyRefreshToken = "refresh_token";
|
|
static const String _keyOnBoarding = "on_boarding_done";
|
|
|
|
// -------------------- LOGIN --------------------
|
|
|
|
static Future<void> setLogin(bool value) async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
await prefs.setBool(_keyLogin, value);
|
|
}
|
|
|
|
static Future<bool> getLogin() async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
return prefs.getBool(_keyLogin) ?? false;
|
|
}
|
|
|
|
// -------------------- USER ID --------------------
|
|
|
|
static Future<void> setUserId(int id) async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
await prefs.setInt(_keyUserId, id);
|
|
}
|
|
|
|
static Future<int> getUserId() async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
return prefs.getInt(_keyUserId) ?? 0;
|
|
}
|
|
|
|
// -------------------- ACCESS TOKEN --------------------
|
|
|
|
static Future<void> setAccessToken(String token) async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
await prefs.setString(_keyAccessToken, token);
|
|
}
|
|
|
|
static Future<String> getAccessToken() async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
return prefs.getString(_keyAccessToken) ?? "";
|
|
}
|
|
|
|
static Future<void> clearAccessToken() async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
await prefs.remove(_keyAccessToken);
|
|
}
|
|
|
|
// -------------------- REFRESH TOKEN --------------------
|
|
|
|
static Future<void> setRefreshToken(String token) async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
await prefs.setString(_keyRefreshToken, token);
|
|
}
|
|
|
|
static Future<String> getRefreshToken() async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
return prefs.getString(_keyRefreshToken) ?? "";
|
|
}
|
|
|
|
// -------------------- ONBOARDING --------------------
|
|
|
|
static Future<void> setOnBoarding(bool value) async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
await prefs.setBool(_keyOnBoarding, value);
|
|
}
|
|
|
|
static Future<bool> getOnBoarding() async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
return prefs.getBool(_keyOnBoarding) ?? true;
|
|
}
|
|
|
|
// -------------------- CLEAR --------------------
|
|
|
|
static Future<void> clearAll() async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
await prefs.clear();
|
|
}
|
|
} |