add `removeInstance` and `removeAccount` methods

This commit is contained in:
krawieck 2020-09-21 21:44:56 +02:00
parent 9497449a93
commit 3ca16ccf21
2 changed files with 21 additions and 4 deletions

View File

@ -204,5 +204,13 @@ abstract class _AccountsStore with Store {
tokens[instanceUrl] = ObservableMap();
}
// TODO: add a way of removing accounts/instances
void removeInstance(String instanceUrl) {
users.remove(instanceUrl);
tokens.remove(instanceUrl);
}
void removeAccount(String instanceUrl, String username) {
users[instanceUrl].remove(username);
tokens[instanceUrl].remove(username);
}
}

View File

@ -23,6 +23,13 @@ mixin _$AccountsStore on _AccountsStore, Store {
(_$defaultTokenComputed ??= Computed<Jwt>(() => super.defaultToken,
name: '_AccountsStore.defaultToken'))
.value;
Computed<bool> _$hasNoAccountComputed;
@override
bool get hasNoAccount =>
(_$hasNoAccountComputed ??= Computed<bool>(() => super.hasNoAccount,
name: '_AccountsStore.hasNoAccount'))
.value;
final _$usersAtom = Atom(name: '_AccountsStore.users');
@ -96,8 +103,9 @@ mixin _$AccountsStore on _AccountsStore, Store {
final _$addInstanceAsyncAction = AsyncAction('_AccountsStore.addInstance');
@override
Future<void> addInstance(String instanceUrl) {
return _$addInstanceAsyncAction.run(() => super.addInstance(instanceUrl));
Future<void> addInstance(String instanceUrl, {bool assumeValid = false}) {
return _$addInstanceAsyncAction
.run(() => super.addInstance(instanceUrl, assumeValid: assumeValid));
}
final _$_AccountsStoreActionController =
@ -131,7 +139,8 @@ mixin _$AccountsStore on _AccountsStore, Store {
users: ${users},
tokens: ${tokens},
defaultUser: ${defaultUser},
defaultToken: ${defaultToken}
defaultToken: ${defaultToken},
hasNoAccount: ${hasNoAccount}
''';
}
}