TIF_E41202429/Mobile/patrolin/skripsi/lib/config/session.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;
}
}