R/get_export_status.R

Defines functions get_export_status

Documented in get_export_status

#' Check the status of an export request from Go.Data (version 2.38.1 or later)
#'
#' A function to check the status of an export
#' request. This is a housekeeping function
#' used in many of the other `godataR` functions.
#'
#' @param url Insert the base URL for your instance of Go.Data here. Don't
#' forget the forward slash "/" at end!
#' @param username The email address for your Go.Data login.
#' @param password The password for your Go.Data login
#' @param request_id The id number for the export request.
#'
#' @return
#' Returns the current status of the export request.
#' @export
#' @examples
#' \dontrun{
#' url <- "https://MyGoDataServer.com/"
#' username <- "myemail@email.com"
#' password <- "mypassword"
#' outbreak_id <- "3b5554d7-2c19-41d0-b9af-475ad25a382b"
#' access_token <- get_access_token(
#'   url = url,
#'   username = username,
#'   password = password
#' )
#'
#' # Submit an export request
#' export_request <- GET(
#'   paste0(
#'     url,
#'     "api/outbreaks/",
#'     outbreak_id,
#'     "/cases/export",
#'     "&access_token=",
#'     access_token
#'   )
#' )
#' request_id <- content(export_request)
#' request_id <- pluck(request_id, "exportLogId")
#'
#' # Check the status of the export request
#'
#' export_request_status <- get_export_status(
#'   url = url,
#'   username = username,
#'   password = password,
#'   request_id = request_id
#' )
#' }
get_export_status <- function(url,
                              username,
                              password,
                              request_id) {

  export_request_status <- httr::GET(
    paste0(
      url,
      "api/export-logs/",
      request_id,
      "?access_token=",
      get_access_token(
        url = url,
        username = username,
        password = password
      )
    )
  )
  export_request_status <- httr::content(export_request_status)

  export_request_status <- export_request_status[
    c("statusStep", "totalNo", "processedNo")
  ]

  return(export_request_status)
}
WorldHealthOrganization/godataR documentation built on May 21, 2023, 11:30 a.m.