actions-test/lib/backend/user.dart

39 lines
970 B
Dart
Raw Normal View History

import 'package:localstore/localstore.dart';
import './resolve_url.dart';
class User {
const User(
{required this.username, required this.password, required this.server});
final String username;
final String password;
final OutbagServer server;
Future<void> toDisk() async {
final db = Localstore.instance;
await db
.collection('meta')
.doc('auth')
.set({'username': username, 'password': password});
await server.toDisk();
}
static Future<User> fromDisk() async {
final db = Localstore.instance;
final data = await db.collection('meta').doc('auth').get();
final server = await OutbagServer.fromDisk();
return User(
username: data?['username'],
password: data?['password'],
server: server,
);
}
static listen(Function(Map<String, dynamic>) cb) async {
final db = Localstore.instance;
final stream = db.collection('meta').stream;
stream.listen(cb);
}
}