R/upload_meta_table.R

Defines functions upload_meta_table

Documented in upload_meta_table

#' Push meta tables to Google Drive and s3
#'
#' @param type table type, "mech" or "org"
#' @param folder where is the file stored? default = "out/DATIM"
#'
#' @export
#'
#' @examples
#' \dontrun{
#'  #pull updated mechanism table
#'    pull_mech(folderpath_output = savefolder)
#'  #upload to Google Drive and s3
#'    upload_meta_table("mech") }
upload_meta_table <- function(type = c("mech", "org"), folder = "out/DATIM"){

  if (dir.exists(folder)) {
    newfile <- glamr::return_latest(folder, {{type}})
  } else {
    usethis::ui_warn(glue::glue("Directory: {folder} does not exit"))
    return(NULL)
  }

  gdrive_fldr <- dplyr::case_when(type == "org" ~ "1enffr2NUZAz5eabUAGmfdXKoKWnLlWZ5",
                                  type == "mech" ~ "1wMvvO1x8OgVU3aGej4kdAw3F2NbeY-eM")

  gdrive_fldr <- googledrive::as_id(gdrive_fldr)
  gdrive_fldr_archv <- googledrive::drive_ls(gdrive_fldr, "Archive") %>% dplyr::pull(id) %>% googledrive::as_id()
  gdrive_file_old <- googledrive::drive_ls(gdrive_fldr, "HFR_FY21_GLOBAL")

  gdrive_file_old_id <- gdrive_file_old %>% dplyr::pull(id) %>% googledrive::as_id()
  gdrive_file_old_name <- gdrive_file_old %>% dplyr::pull(name)

  newfile_name <- stringr::str_remove(basename(newfile), ".csv")

  if (newfile_name > gdrive_file_old_name) {

    googledrive::drive_mv(gdrive_file_old_id, gdrive_fldr_archv)

    googledrive::drive_upload(newfile,
                              gdrive_fldr,
                              name = newfile_name,
                              type = "spreadsheet")

    usethis::ui_info(glue::glue("{basename(newfile)} uploaded to Google Drive"))

    grabr::s3_upload(
      filepath = newfile,
      bucket = "gov-usaid",
      prefix = "ddc/uat/raw/hfr/receiving"
    )

    usethis::ui_info(glue::glue("{basename(newfile)} uploaded to s3 - {usethis::ui_path('ddc/uat/raw/hfr/receiving')}"))

  } else {
    usethis::ui_warn(glue::glue("Upload skipped. Your local file seems to be older: {newfile}"))
  }
}
USAID-OHA-SI/Wavelength documentation built on March 24, 2023, 10:07 a.m.