logout method

FutureOr<bool> logout(
  1. APICredential? credential, {
  2. bool allTokens = false,
  3. APIRequest? request,
})

Implementation

FutureOr<bool> logout(APICredential? credential,
    {bool allTokens = false, APIRequest? request}) {
  if (credential == null) return false;

  if (!allTokens) {
    if (credential.token == null) return false;
  }

  return checkCredential(credential).then((ok) {
    if (!ok) return false;

    if (allTokens) {
      return invalidateUserTokens(credential.username);
    }

    return getAPIToken(credential.token).resolveMapped((apiToken) {
      if (apiToken == null) return false;
      return invalidateToken(apiToken);
    });
  });
}