Gabung app Android Flutter 'Saat Invest' ke repo saat-app (folder flutter/)
Satu repo untuk backend Odoo (addon saat_invest) + app Android. - flutter/ berisi project Flutter (lib/, android/, pubspec, test) - Login Odoo JSON-RPC, tab Portofolio+Equity, tab Transaksi, catat jual/beli otomatis sync - Build .gitignore nested dipakai sehingga artefak build/.dart_tool tak ter-track Sejarah: gabung flat (satu sejarah backend+app).
This commit is contained in:
35
flutter/lib/services/session.dart
Normal file
35
flutter/lib/services/session.dart
Normal file
@@ -0,0 +1,35 @@
|
||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
|
||||
const _kBase = 'odoo_base';
|
||||
const _kDb = 'odoo_db';
|
||||
const _kUser = 'odoo_user';
|
||||
const _kPass = 'odoo_pass';
|
||||
|
||||
/// Menyimpan konfigurasi login (url, db, user, password) secara aman
|
||||
/// + menyediakan OdooClient terautentikasi.
|
||||
class Session {
|
||||
static const _storage = FlutterSecureStorage();
|
||||
|
||||
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);
|
||||
await _storage.write(key: _kUser, value: user);
|
||||
await _storage.write(key: _kPass, value: pass);
|
||||
}
|
||||
|
||||
static Future<({String base, String db, String user, String pass})?> load() async {
|
||||
final base = await _storage.read(key: _kBase);
|
||||
final db = await _storage.read(key: _kDb);
|
||||
final user = await _storage.read(key: _kUser);
|
||||
final pass = await _storage.read(key: _kPass);
|
||||
if (base == null || user == null || pass == null) return null;
|
||||
return (base: base, db: db ?? 'odoo', user: user, pass: pass);
|
||||
}
|
||||
|
||||
static Future<void> clear() async {
|
||||
await _storage.delete(key: _kBase);
|
||||
await _storage.delete(key: _kDb);
|
||||
await _storage.delete(key: _kUser);
|
||||
await _storage.delete(key: _kPass);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user