i forgor
This commit is contained in:
parent
105aed226d
commit
30cdbb4c5c
1 changed files with 33 additions and 0 deletions
33
lib/controllers/client_controller.dart
Normal file
33
lib/controllers/client_controller.dart
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
import "dart:io";
|
||||||
|
|
||||||
|
import "package:matrix/matrix.dart";
|
||||||
|
import "package:nexusbot/controllers/settings_controller.dart";
|
||||||
|
import "package:riverpod/riverpod.dart";
|
||||||
|
import "package:sqflite_common_ffi/sqflite_ffi.dart";
|
||||||
|
|
||||||
|
class ClientController extends AsyncNotifier<Client> {
|
||||||
|
@override
|
||||||
|
Future<Client> build() async {
|
||||||
|
final settings = ref.watch(SettingsController.provider)!;
|
||||||
|
final client = Client(
|
||||||
|
"nexusbot",
|
||||||
|
database: await MatrixSdkDatabase.init(
|
||||||
|
"NexusBot",
|
||||||
|
database: await databaseFactoryFfi.openDatabase(inMemoryDatabasePath),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
await client.checkHomeserver(settings.homeserver);
|
||||||
|
await client.login(
|
||||||
|
LoginType.mLoginPassword,
|
||||||
|
identifier: AuthenticationUserIdentifier(user: settings.name),
|
||||||
|
password: (await File(settings.botPasswordFile).readAsString()).trim(),
|
||||||
|
);
|
||||||
|
|
||||||
|
return client;
|
||||||
|
}
|
||||||
|
|
||||||
|
static final provider = AsyncNotifierProvider<ClientController, Client>(
|
||||||
|
ClientController.new,
|
||||||
|
);
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue