26 lines
711 B
Dart
26 lines
711 B
Dart
import 'package:pocketbase/pocketbase.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
const _kAuthKey = 'pb_auth';
|
|
|
|
class PocketBaseClient {
|
|
PocketBaseClient._({required this.pb});
|
|
static PocketBaseClient? _instance;
|
|
static PocketBaseClient get instance => _instance!;
|
|
final PocketBase pb;
|
|
|
|
static Future<void> init() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
final stored = prefs.getString(_kAuthKey);
|
|
|
|
final store = AsyncAuthStore(
|
|
save: (String data) => prefs.setString(_kAuthKey, data),
|
|
initial: stored,
|
|
);
|
|
|
|
_instance = PocketBaseClient._(
|
|
pb: PocketBase('https://pocket.kovaksoft.com', authStore: store),
|
|
);
|
|
}
|
|
}
|