mirror of
https://github.com/inventree/inventree-app.git
synced 2025-06-12 10:15:32 +00:00
Better use of async functions for API
- Use local_preferences for storing data
This commit is contained in:
41
lib/preferences.dart
Normal file
41
lib/preferences.dart
Normal file
@ -0,0 +1,41 @@
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'api.dart';
|
||||
|
||||
|
||||
class InvenTreeUserPreferences {
|
||||
|
||||
static const String _SERVER = 'server';
|
||||
static const String _USERNAME = 'username';
|
||||
static const String _PASSWORD = 'password';
|
||||
|
||||
// Ensure we only ever create a single instance of the preferences class
|
||||
static final InvenTreeUserPreferences _api = new InvenTreeUserPreferences._internal();
|
||||
|
||||
factory InvenTreeUserPreferences() {
|
||||
return _api;
|
||||
}
|
||||
|
||||
InvenTreeUserPreferences._internal();
|
||||
|
||||
// Load saved login details, and attempt connection
|
||||
void loadLoginDetails() async {
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
|
||||
var server = prefs.getString(_SERVER);
|
||||
var username = prefs.getString(_USERNAME);
|
||||
var password = prefs.getString(_PASSWORD);
|
||||
|
||||
await InvenTreeAPI().connect(server, username, password);
|
||||
}
|
||||
|
||||
void saveLoginDetails(String server, String username, String password) async {
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
|
||||
await prefs.setString(_SERVER, server);
|
||||
await prefs.setString(_USERNAME, username);
|
||||
await prefs.setString(_PASSWORD, password);
|
||||
|
||||
// Reconnect the API
|
||||
await InvenTreeAPI().connect(server, username, password);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user