fix logout

This commit is contained in:
2026-09-06 04:31:16 +07:00
parent 47c8688884
commit 286b207f27
6 changed files with 165 additions and 98 deletions

View File

@@ -4,12 +4,17 @@ const _kBase = 'odoo_base';
const _kDb = 'odoo_db';
const _kUser = 'odoo_user';
const _kPass = 'odoo_pass';
const _kUid = 'odoo_uid';
/// Menyimpan konfigurasi login (url, db, user, password) secara aman
/// + menyediakan OdooClient terautentikasi.
class Session {
static const _storage = FlutterSecureStorage();
static Future<void> saveUid(int uid) async {
await _storage.write(key: _kUid, value: uid.toString());
}
static Future<void> save(String baseUrl, String db, String user, String pass) async {
await _storage.write(key: _kBase, value: baseUrl);
await _storage.write(key: _kDb, value: db);
@@ -35,4 +40,28 @@ class Session {
static Future<String?> readLastUrl() async {
return _storage.read(key: _kBase);
}
static Future<String> readBase() async {
final base = await _storage.read(key: _kBase);
if (base == null) throw Exception('URL tidak ditemukan');
return base;
}
static Future<String?> readDb() async {
return _storage.read(key: _kDb);
}
static Future<String?> readUser() async {
return _storage.read(key: _kUser);
}
static Future<String?> readPass() async {
return _storage.read(key: _kPass);
}
static Future<int?> readUid() async {
final uid = await _storage.read(key: _kUid);
if (uid == null) return null;
return int.tryParse(uid);
}
}