init method

Future<void> init()

Implementation

Future<void> init() async {
  _store = await Hive.openBox("hu.systicore.authenticator.user");

  String? accessToken = _store.get("accessToken");
  String? refreshToken = _store.get("refreshToken");
  _username = _store.get("username");
  _userId = _store.get("userId");

  if (accessToken != null) {
    loggedIn = true;

    _userAPI.authAPI.setTokens(accessToken, refreshToken);
    () async {
      try {
        final response = await _userAPI.authAPI.refreshToken();
        if (response.statusCode == 200) {
          if (await loginCallback(response.body, false) != true) {
            log("Failed to refresh token");
          }
          // Get User's avatar
          await getUserAvatar().then((value) {
            _avatar = value;
          });
        }
      } catch (e) {
        log("Failed to refresh token: $e");
      }
      notifyListeners();
    }();
  }
}