43 lines
1.2 KiB
Dart
43 lines
1.2 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:get/get.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
import '../controller/cUser.dart';
|
|
import '../model/user.dart';
|
|
|
|
class Session {
|
|
static Future<bool> saveUser(User user) async {
|
|
final pref = await SharedPreferences.getInstance();
|
|
Map<String, dynamic> mapUser = user.toJson();
|
|
String stringUser = jsonEncode(mapUser);
|
|
bool succes = await pref.setString('user', stringUser);
|
|
if (succes) {
|
|
final cUser = Get.put(CUser());
|
|
cUser.setData(user);
|
|
}
|
|
return succes;
|
|
}
|
|
|
|
static Future<User> getUser() async {
|
|
User user = User(); //Nilai default
|
|
final pref = await SharedPreferences.getInstance();
|
|
String? stringUser = pref.getString('user');
|
|
if (stringUser != null) {
|
|
Map<String, dynamic> mapUser = jsonDecode(stringUser);
|
|
user = User.fromJson(mapUser);
|
|
}
|
|
final cUser = Get.put(CUser());
|
|
cUser.setData(user);
|
|
return user;
|
|
}
|
|
|
|
static Future<bool> clearUser() async {
|
|
final pref = await SharedPreferences.getInstance();
|
|
bool success = await pref.remove('user');
|
|
final cUser = Get.put(CUser());
|
|
cUser.setData(User());
|
|
return success;
|
|
}
|
|
}
|