linkProvider method

Future<bool> linkProvider(
  1. User user,
  2. String provider,
  3. String callback
)

Implementation

Future<bool> linkProvider(User user, String provider, String callback) {
  return linkService
      .createLink(user.userId!, provider, callback)
      .then((tokenResponse) {
        if (!tokenResponse.isSuccessful || tokenResponse.body == null) {
          throw VitalHTTPStatusException(
              tokenResponse.statusCode, "${tokenResponse.error}");
        }
        return tokenResponse.body!.linkToken;
      })
      .then((linkToken) => linkService.oauthProvider(
            provider: provider,
            linkToken: linkToken,
          ))
      .then((oauthResponse) => launchUrlString(oauthResponse.body!.oauthUrl!,
          mode: LaunchMode.externalApplication))
      .catchError((e) {
        Fimber.e(e);
        return false;
      });
}