## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----setup--------------------------------------------------------------------
library(formr)

# So this vignette runs offline, API calls are replayed from pre-recorded
# responses (vcr cassettes shipped with the package). With a real server you
# would instead call formr_api_authenticate() with your own host/credentials.
.formr_vcr <- requireNamespace("vcr", quietly = TRUE) &&
  nzchar(system.file("extdata/vcr_cassettes", package = "formr"))

if (.formr_vcr) {
  vcr::vcr_configure(
    dir = system.file("extdata/vcr_cassettes", package = "formr"),
    filter_sensitive_data = list(
      "formr-client-id-redacted"     = "dummy_client_id",
      "formr-client-secret-redacted" = "dummy_client_secret",
      "formr-host-redacted"          = "api.localhost"
    )
  )
  vcr::use_cassette("formr_api_authenticate", {
    formr_api_authenticate(host = "http://api.localhost",
      client_id = "dummy_client_id", client_secret = "dummy_client_secret",
      verbose = FALSE)
  })
}

## ----eval = .formr_vcr--------------------------------------------------------
# List all files attached to the study
vcr::use_cassette("formr_api_upload_delete_flow", {
  files <- formr_api_files("test-run")
})

# View the first few files
head(files)

## ----eval = FALSE-------------------------------------------------------------
# # Not run: needs a live formr server.
# # Upload a single logo
# formr_api_upload_file("my-study-name", path = "assets/logo.png")

## ----eval = FALSE-------------------------------------------------------------
# # Not run: needs a live formr server.
# # Upload multiple specific files
# formr_api_upload_file("my-study-name", path = c("assets/img1.jpg", "assets/img2.jpg"))
# 
# # Upload an entire folder of stimuli
# formr_api_upload_file("my-study-name", path = "assets/stimuli/")

## ----eval = FALSE-------------------------------------------------------------
# # Not run: needs a live formr server.
# # Delete a specific file
# formr_api_delete_file("my-study-name", file_name = "old_logo.png")
# 
# # Delete a list of files
# formr_api_delete_file("my-study-name", file_name = c("test1.jpg", "test2.jpg"))

## ----eval = FALSE-------------------------------------------------------------
# # Not run: needs a live formr server.
# # Delete ALL files (prompts for confirmation)
# formr_api_delete_all_files("my-study-name")

