onSignedOut method

  1. @override
Future<void> onSignedOut(
  1. String username,
  2. DataDeletion deletion,
  3. bool ended
)

Implementation

@override
Future<void> onSignedOut(String username, DataDeletion deletion, bool ended) async {
  _signedIn = false;
  auth.setActive(false);
  conn.stop();
  sync.reset();
  for (final module in modules) {
    try {
      module.onSignedOut();
    } catch (e) {
      log.child('core').warn('模块清理出错', code: e.runtimeType.toString());
    }
  }
  await store.close();
  if (deletion == DataDeletion.user) await store.deleteUser(username).catchError((Object _) {});
  if (deletion == DataDeletion.app) {
    await store.deleteAll().catchError((Object _) {});
    for (final key in kv.keysWithPrefix(SecureKeys.appPrefix(opts.appKey))) {
      kv.remove(key);
    }
  }
}