slientRefreshEffect function

void slientRefreshEffect(
  1. dynamic event
)

Implementation

void slientRefreshEffect(event) async {
  if (event is EnvInitialized || event is CertifyAuthFormResolved) {
    final refreshToken = await findRefreshToken();

    if (refreshToken == null) {
      dispatch(const AuthRefreshNotFound());

      return;
    }

    final response = await withRetry(withPostLog(post))(
      endpoint("auth/refresh"),
      body: jsonEncode({
        "refreshToken": refreshToken,
      }),
    );

    switch (response.state) {
      case ResterResponseState.success:
        final accessToken = response.json["accessToken"];

        saveAccessToken(accessToken);

        dispatch(const AuthRefreshResolved());

        break;
      case ResterResponseState.failure:
        dispatch(AuthRefreshRejected(response.message));

        break;
    }
  }
}