Files
CityCards_Partner_Flutter/lib/local_peference/local_preference.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();
}
}