R/hs_user_details.R

Defines functions hs_user_details

Documented in hs_user_details

#' @title List User Details for Some User
#' @param user_identifier HydroShare User Identifier
#' @return A [tibble][tibble::tibble-package] of user details.
#' @export
hs_user_details <- function(user_identifier) {
    if (missing(user_identifier)) {
        rlang::abort("(hs_user_details) user_identifer required.")
    }

    request <- hsapi_request(
        path = paste0(
            "userDetails/",
            user_identifier,
            "/"
        )
    )

    httr::stop_for_status(request)

    if ("xml_document" %in% class(httr::content(request))) {
        rlang::abort("(hs_user_details) Please authenticate first :)")
    }

    content <- httr::content(request) %>%
               lapply(FUN = function(attribute) {
                   if (identical(attribute, ""))
                       NA
                   else
                       attribute
               })

    tibble::tibble(
        Name         = content$name,
        Email        = content$email,
        Profile_URL  = content$url,
        Phone_Number = content$phone,
        Address      = content$address,
        Organization = content$organization,
        Website      = content$website
    )
}
program--/HSClientR documentation built on April 14, 2021, 8:40 a.m.