diff --git a/DESCRIPTION b/DESCRIPTION
index 5612c05c7..f7e8f3a34 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -87,7 +87,6 @@ Collate:
'page.R'
'parse.R'
'promote.R'
- 'ptype.R'
'remote.R'
'runtime-caches.R'
'schedule.R'
diff --git a/NEWS.md b/NEWS.md
index 3c8ce5708..40f489e86 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,5 +1,11 @@
# connectapi (development version)
+- Improved performance of API response parsing and pagination. Data frames
+ returned by getter functions now include all columns from the server, so new
+ fields added in future Connect releases will appear automatically. Column
+ names and types are now determined by the server response rather than a
+ hardcoded schema, so they may vary across Connect versions.
+
# connectapi 0.12.1
- Fixed `repo_check_branches()` and `repo_check_branches_ref()` to handle the
diff --git a/R/connect.R b/R/connect.R
index bb7671f97..ac6199f0c 100644
--- a/R/connect.R
+++ b/R/connect.R
@@ -138,8 +138,11 @@ Connect <- R6::R6Class(
#' @param parser How the response is parsed. If `NULL`, the `httr_response`
#' will be returned. Otherwise, the argument is forwarded to
#' `httr::content(res, as = parser)`.
+ #' @param simplify Logical; if `TRUE`, JSON arrays of objects are
+ #' simplified to data frames by jsonlite. Default `FALSE` preserves
+ #' list-of-lists for compatibility with pagination helpers.
#' @param ... Additional arguments passed to the request function
- request = function(method, url, ..., parser = "parsed") {
+ request = function(method, url, ..., parser = "parsed", simplify = FALSE) {
old_opt <- options(scipen = 999)
on.exit(options(old_opt), add = TRUE)
@@ -161,7 +164,21 @@ Connect <- R6::R6Class(
res
} else {
self$raise_error(res)
- httr::content(res, as = parser)
+ if (parser != "parsed") {
+ return(httr::content(res, as = parser))
+ }
+ if (is.null(res$content) || length(res$content) == 0) {
+ return(NULL)
+ }
+ content_text <- httr::content(res, as = "text", encoding = "UTF-8")
+ if (is.null(content_text) || nchar(content_text) == 0) {
+ return(NULL)
+ }
+ jsonlite::fromJSON(
+ content_text,
+ simplifyVector = simplify,
+ simplifyDataFrame = simplify
+ )
}
},
@@ -173,8 +190,11 @@ Connect <- R6::R6Class(
#' @param parser How the response is parsed. If `NULL`, the `httr_response`
#' will be returned. Otherwise, the argument is forwarded to
#' `httr::content(res, as = parser)`.
- GET = function(path, ..., url = self$api_url(path), parser = "parsed") {
- self$request("GET", url, parser = parser, ...)
+ #' @param simplify Logical; if `TRUE`, JSON arrays of objects are
+ #' simplified to data frames by jsonlite. Default `FALSE` preserves
+ #' list-of-lists for compatibility with pagination helpers.
+ GET = function(path, ..., url = self$api_url(path), parser = "parsed", simplify = FALSE) {
+ self$request("GET", url, parser = parser, simplify = simplify, ...)
},
#' @description Perform an HTTP PUT request of the named API path.
diff --git a/R/connectapi.R b/R/connectapi.R
index 5b625696b..bc4305274 100644
--- a/R/connectapi.R
+++ b/R/connectapi.R
@@ -10,7 +10,6 @@ utils::globalVariables(
c(
".",
"access_type",
- "connectapi_ptypes",
"guid",
"last_deployed_time",
"owner_guid",
@@ -27,6 +26,5 @@ current_connect_version <- "2024.03.0"
.onLoad <- function(...) {
vctrs::s3_register("dplyr::collect", "tbl_connect")
- vctrs::s3_register("vctrs::vec_cast", "character.integer")
invisible()
}
diff --git a/R/content.R b/R/content.R
index 486c7e398..0a9796a0b 100644
--- a/R/content.R
+++ b/R/content.R
@@ -788,7 +788,23 @@ get_jobs <- function(content) {
validate_R6_class(content, "Content")
jobs <- content$jobs()
- parse_connectapi_typed(jobs, connectapi_ptypes$jobs, strict = TRUE)
+ out <- parse_connectapi_typed(
+ jobs,
+ datetime_cols = c("start_time", "end_time", "last_heartbeat_time", "queued_time")
+ )
+
+ # The older /applications/ endpoint returns timestamps as Unix epoch integers
+ # and ID fields as integers. Normalize to match the v1 endpoint's types.
+ # For the v1 endpoint these are already character/POSIXct, so the coercions
+ # are no-ops.
+ out <- coerce_epoch_to_posixct(
+ out,
+ c("start_time", "end_time", "last_heartbeat_time", "queued_time")
+ )
+ coerce_to_character(
+ out,
+ c("id", "ppid", "pid", "app_id", "content_id", "variant_id", "bundle_id")
+ )
}
#' Terminate Jobs
@@ -832,22 +848,19 @@ terminate_jobs <- function(content, keys = NULL) {
keys <- all_jobs[all_jobs$status == 0, ]$key
if (length(keys) == 0) {
message("No active jobs found.")
- return(vctrs::vec_ptype(connectapi_ptypes$job_termination))
+ return(tibble::tibble())
}
}
res <- purrr::map(keys, content$register_job_kill_order)
res_content <- purrr::map(res, httr::content)
- res_df <- tibble::tibble(
- parse_connectapi_typed(
- res_content,
- connectapi_ptypes$job_termination,
- strict = TRUE
- )
- )
+ res_df <- parse_connectapi_typed(res_content)
# Errors will not have the job_key.
res_df$job_key <- keys
- res_df
+ # Keep only the columns relevant to job termination; the API response
+ # includes extra fields (e.g. payload, guid) on error that vary by outcome.
+ keep <- c("app_id", "app_guid", "job_key", "job_id", "result", "code", "error")
+ res_df[, keep, drop = FALSE]
}
#' @rdname get_jobs
@@ -896,7 +909,7 @@ get_log <- function(job, max_log_lines = NULL) {
v1_url("content", job$app_guid, "jobs", job$key, "log"),
query = query
)
- parse_connectapi_typed(res$entries, connectapi_ptypes$job_log)
+ parse_connectapi_typed(res$entries, datetime_cols = "timestamp")
}
#' Set RunAs User
@@ -1141,7 +1154,8 @@ get_bundles <- function(content) {
validate_R6_class(content, "Content")
bundles <- content$get_bundles()
- parse_connectapi_typed(bundles, connectapi_ptypes$bundles)
+ out <- parse_connectapi_typed(bundles, datetime_cols = "created_time")
+ coerce_fs_bytes(out, "size")
}
#' @rdname get_bundles
@@ -1347,7 +1361,7 @@ get_group_permission <- function(content, guid) {
get_content_permissions <- function(content, add_owner = TRUE) {
validate_R6_class(content, "Content")
res <- content$permissions(add_owner = add_owner)
- parse_connectapi_typed(res, connectapi_ptypes$permissions)
+ parse_connectapi_typed(res)
}
#' Render a content item.
@@ -1495,7 +1509,7 @@ content_restart <- function(content) {
get_content_packages <- function(content) {
error_if_less_than(content$connect$version, "2025.01.0")
res <- content$packages()
- parse_connectapi_typed(res, connectapi_ptypes$content_packages)
+ parse_connectapi_typed(res)
}
#' Search for content on the Connect server
@@ -1627,5 +1641,8 @@ as.data.frame.connect_content_list <- function(
#' @export
as_tibble.connect_content_list <- function(x, ...) {
content_data <- purrr::map(x, "content")
- parse_connectapi_typed(content_data, connectapi_ptypes$content)
+ parse_connectapi_typed(
+ content_data,
+ datetime_cols = datetime_columns$content
+ )
}
diff --git a/R/get.R b/R/get.R
index 7cf4affa7..30e92d017 100644
--- a/R/get.R
+++ b/R/get.R
@@ -73,7 +73,10 @@ get_users <- function(
limit = limit
)
- out <- parse_connectapi_typed(res, connectapi_ptypes$users)
+ out <- parse_connectapi_typed(
+ res,
+ datetime_cols = datetime_columns$users
+ )
return(out)
}
@@ -229,12 +232,8 @@ get_content <- function(
# v2024.06.0.
if (compare_connect_version(src$version, "2024.06.0") < 0) {
include <- "tags,owner"
- content_ptype <- connectapi_ptypes$content[,
- names(connectapi_ptypes$content) != "vanity_url"
- ]
} else {
include <- "tags,owner,vanity_url"
- content_ptype <- connectapi_ptypes$content
}
res <- src$content(
@@ -253,7 +252,10 @@ get_content <- function(
res <- res %>% purrr::keep(.p = .p)
}
- out <- parse_connectapi_typed(res, content_ptype)
+ out <- parse_connectapi_typed(
+ res,
+ datetime_cols = datetime_columns$content
+ )
return(out)
}
@@ -327,7 +329,10 @@ content_list_by_tag <- function(src, tag) {
res <- src$GET(v1_url("tags", tag_id, "content"))
- out <- parse_connectapi_typed(res, connectapi_ptypes$content)
+ out <- parse_connectapi_typed(
+ res,
+ datetime_cols = datetime_columns$content
+ )
return(out)
}
@@ -425,7 +430,7 @@ get_usage_shiny <- function(
res <- page_cursor(src, res, limit = limit)
- out <- parse_connectapi_typed(res, connectapi_ptypes$usage_shiny)
+ out <- parse_connectapi_typed(res, datetime_cols = datetime_columns$usage_shiny)
return(out)
}
@@ -521,7 +526,7 @@ get_usage_static <- function(
res <- page_cursor(src, res, limit = limit)
- out <- parse_connectapi_typed(res, connectapi_ptypes$usage_static)
+ out <- parse_connectapi_typed(res, datetime_cols = datetime_columns$usage_static)
return(out)
}
@@ -658,7 +663,7 @@ as.data.frame.connect_list_hits <- function(
...,
unnest = TRUE
) {
- usage_df <- parse_connectapi_typed(x, connectapi_ptypes$usage)
+ usage_df <- parse_connectapi_typed(x, datetime_cols = "timestamp")
if (unnest) {
if (!requireNamespace("tidyr", quietly = TRUE)) {
stop(
@@ -750,7 +755,7 @@ get_audit_logs <- function(
res <- page_cursor(src, res, limit = limit)
- out <- parse_connectapi_typed(res, connectapi_ptypes$audit_logs)
+ out <- parse_connectapi_typed(res, datetime_cols = datetime_columns$audit_logs)
return(out)
}
@@ -792,7 +797,8 @@ get_procs <- function(src) {
c(list(pid = y), x)
}
)
- tbl_data <- parse_connectapi_typed(proc_prep, connectapi_ptypes$procs)
+ tbl_data <- parse_connectapi_typed(proc_prep)
+ tbl_data <- coerce_fs_bytes(tbl_data, "ram")
return(tbl_data)
}
@@ -1217,7 +1223,7 @@ get_packages <- function(src, name = NULL, page_size = 100000, limit = Inf) {
page_size = page_size
)
)
- out <- parse_connectapi_typed(res, connectapi_ptypes$packages)
+ out <- parse_connectapi_typed(res)
# Connect is standardizing on using `content_id` and `content_guid`.
# Handle that name change now in a forward-compatible way.
@@ -1253,5 +1259,5 @@ get_packages <- function(src, name = NULL, page_size = 100000, limit = Inf) {
#' @export
get_vanity_urls <- function(client) {
res <- client$vanities()
- parse_connectapi_typed(res, connectapi_ptypes$vanities)
+ parse_connectapi_typed(res, datetime_cols = "created_time")
}
diff --git a/R/groups.R b/R/groups.R
index 79d98edbc..66d965b1e 100644
--- a/R/groups.R
+++ b/R/groups.R
@@ -53,7 +53,7 @@ get_groups <- function(src, page_size = 500, prefix = NULL, limit = Inf) {
limit = limit
)
- parse_connectapi_typed(res, connectapi_ptypes$groups)
+ parse_connectapi_typed(res, datetime_cols = datetime_columns$groups)
}
#' Get users within a specific group
@@ -106,7 +106,10 @@ get_group_members <- function(src, guid) {
res <- src$group_members(guid)
- parse_connectapi(res$results)
+ parse_connectapi_typed(
+ res$results,
+ datetime_cols = c("created_time", "updated_time", "active_time")
+ )
}
#' Get content access permissions for a group or groups
@@ -172,7 +175,7 @@ get_one_groups_content <- function(src, guid) {
role = NA_character_
))
}
- parsed <- parse_connectapi_typed(res, connectapi_ptypes$group_content)
+ parsed <- parse_connectapi_typed(res)
permissions_df <- purrr::list_rbind(
purrr::map(
diff --git a/R/integrations.R b/R/integrations.R
index ad833bbc2..d421871d8 100644
--- a/R/integrations.R
+++ b/R/integrations.R
@@ -136,7 +136,10 @@ as.data.frame.connect_integration_list <- function(
#' @return A tibble with one row per integration.
#' @export
as_tibble.connect_integration_list <- function(x, ...) {
- parse_connectapi_typed(x, connectapi_ptypes$integrations)
+ parse_connectapi_typed(
+ x,
+ datetime_cols = c("created_time", "updated_time")
+ )
}
# Integration class ----
diff --git a/R/lazy.R b/R/lazy.R
index cbb038872..48a266d0e 100644
--- a/R/lazy.R
+++ b/R/lazy.R
@@ -37,9 +37,12 @@ tbl_connect <- function(
from <- arg_match(from)
- # TODO: go get the vars we should expect...
- vars <- connectapi_ptypes[[from]]
- if (is.null(vars)) vars <- character()
+ # Discover column names from a small API request rather than maintaining a
+ # hardcoded dictionary that must be updated every time the server changes.
+ vars <- tryCatch(
+ names(tbl_lazy_fetch(src, from, limit = 1)),
+ error = function(e) character()
+ )
# TODO: figure out number of rows...
ops <- op_base_connect(from, vars)
@@ -47,6 +50,32 @@ tbl_connect <- function(
dplyr::make_tbl(c("connect", "lazy"), src = src, ops = ops)
}
+
+# Fetch data for a lazy table endpoint. Shared by tbl_connect (for column
+# discovery) and api_build.op_base_connect (for full collection).
+tbl_lazy_fetch <- function(src, from, limit = Inf) {
+ if (from == "users") {
+ res <- page_offset(src, src$users(), limit = limit)
+ } else if (from == "groups") {
+ res <- page_offset(src, src$groups(), limit = limit)
+ } else if (from == "content") {
+ # TODO: no limit notion here... we just pull all of them...
+ res <- src$content()
+ } else if (from == "usage_shiny") {
+ res <- src$inst_shiny_usage(limit = limit) %>%
+ page_cursor(src, ., limit = limit)
+ } else if (from == "usage_static") {
+ res <- src$inst_content_visits(limit = limit) %>%
+ page_cursor(src, ., limit = limit)
+ } else if (from == "audit_logs") {
+ res <- src$audit_logs(limit = limit) %>%
+ page_cursor(src, ., limit = limit)
+ } else {
+ stop(glue::glue("'{from}' is not recognized"))
+ }
+ parse_connectapi_typed(res, datetime_cols = datetime_columns[[from]])
+}
+
# This will be registered in .onLoad if dplyr is available
collect.tbl_connect <- # nolint
function(x, ..., n = Inf) {
@@ -65,23 +94,7 @@ api_build.op_head <- function(op, con, ..., n) {
#' @export
api_build.op_base_connect <- function(op, con, ..., n) {
- if (op$x == "users") {
- res <- page_offset(con, con$users(), limit = n)
- } else if (op$x == "groups") {
- res <- page_offset(con, con$groups(), limit = n)
- } else if (op$x == "content") {
- # TODO: no limit notion here... we just pull all of them...
- res <- con$content()
- } else if (op$x == "usage_shiny") {
- res <- con$inst_shiny_usage(limit = n) %>% page_cursor(con, ., limit = n)
- } else if (op$x == "usage_static") {
- res <- con$inst_content_visits(limit = n) %>% page_cursor(con, ., limit = n)
- } else if (op$x == "audit_logs") {
- res <- con$audit_logs(limit = n) %>% page_cursor(con, ., limit = n)
- } else {
- stop(glue::glue("'{op$x}' is not recognized"))
- }
- parse_connectapi_typed(res, op$ptype)
+ tbl_lazy_fetch(con, op$x, limit = n)
}
cat_line <- function(...) {
@@ -124,13 +137,12 @@ op_base_connect <- function(x, vars) {
}
op_base <- function(x, vars, class = character()) {
- stopifnot(is.character(vars) || is.character(names(vars)))
+ stopifnot(is.character(vars))
structure(
list(
x = x,
- vars = names(vars),
- ptype = vars
+ vars = vars
),
class = c(paste0("op_base_", class), "op_base", "op")
)
diff --git a/R/page.R b/R/page.R
index 8808c25bb..9aa5cf28d 100644
--- a/R/page.R
+++ b/R/page.R
@@ -24,20 +24,34 @@ page_cursor <- function(client, req, limit = Inf) {
prg$tick()
response <- req
- # collect whole pages, then flatten once at the end
- pages <- list(response$results)
- n_items <- length(response$results)
+ # Convert the first page (list-of-lists from simplify=FALSE) to a data frame.
+ # Subsequent pages use simplify=TRUE so jsonlite builds data frames in C,
+ # which is significantly faster for high-volume endpoints.
+ first_results <- response$results
+ if (length(first_results) > 0 && !is.data.frame(first_results)) {
+ first_results <- parse_connectapi(first_results)
+ }
+
+ pages <- list(first_results)
+ n_items <- if (is.data.frame(first_results)) nrow(first_results) else length(first_results)
+
while (!is.null(response$paging$`next`) && n_items < limit) {
prg$tick()
next_url <- response$paging$`next`
- response <- client$GET(url = next_url)
+ response <- client$GET(url = next_url, simplify = TRUE)
pages[[length(pages) + 1L]] <- response$results
- n_items <- n_items + length(response$results)
+ n_items <- n_items + nrow(response$results)
+ }
+
+ if (length(pages) == 1L && !is.data.frame(pages[[1L]])) {
+ # Single empty page — return as-is for downstream handling
+ return(pages[[1L]])
}
- head(do.call(c, pages), n = limit)
+ out <- vctrs::vec_rbind(!!!pages)
+ head(out, n = limit)
}
# TODO: Decide if this `limit = Inf` is helpful or a hack...
# it is essentially a "row limit" on paging
diff --git a/R/parse.R b/R/parse.R
index a0b90541d..20380d23c 100644
--- a/R/parse.R
+++ b/R/parse.R
@@ -27,128 +27,121 @@ make_timestamp <- function(input) {
safe_format(input, "%Y-%m-%dT%H:%M:%SZ", tz = "UTC", usetz = FALSE)
}
-ensure_columns <- function(.data, ptype, strict = FALSE) {
- # Given a prototype, ensure that all columns are present and cast to the correct type.
- # If a column is missing in .data, it will be created with all missing values of the correct type.
- # If a column is present in both, it will be cast to the correct type.
- # If a column is present in .data but not in ptype, it will be left as is.
- # If `strict == TRUE`, include only columns present in the ptype, in the order they occur.
- for (i in names(ptype)) {
- .data <- ensure_column(.data, ptype[[i]], i)
- }
+# Post-parse helpers for special column types. These are used by individual
+# getter functions to coerce columns that jsonlite cannot infer automatically
+# (e.g. byte sizes, 64-bit integers, epoch timestamps).
- if (strict) {
- .data <- .data[, names(ptype), drop = FALSE]
+coerce_fs_bytes <- function(df, col) {
+ if (col %in% names(df)) {
+ df[[col]] <- fs::as_fs_bytes(df[[col]])
}
-
- .data
+ df
}
-ensure_column <- function(data, default, name) {
- stopifnot(length(default) == 1)
- col <- data[[name]]
- scoped_experimental_silence()
- if (rlang::is_null(col)) {
- col <- vctrs::vec_rep(default, nrow(data))
- col <- vctrs::vec_cast(col, default)
- } else {
- if (
- vctrs::vec_is(default, NA_datetime_) && !vctrs::vec_is(col, NA_datetime_)
- ) {
- # manual fix because vctrs::vec_cast cannot cast double -> datetime or char -> datetime
- col <- coerce_datetime(col, default, name = name)
- }
-
- if (inherits(default, "fs_bytes") && !inherits(col, "fs_bytes")) {
- col <- coerce_fsbytes(col, default)
- }
-
- if (inherits(default, "integer64") && !inherits(col, "integer64")) {
- col <- bit64::as.integer64(col)
- }
-
- if (is.character(default) && (is.integer(col) || is.double(col))) {
- if (is.double(col)) {
- col <- format(col, scientific = FALSE, trim = TRUE)
- } else {
- col <- as.character(col)
- }
- }
-
- if (inherits(default, "list") && !inherits(col, "list")) {
- col <- list(col)
- }
-
- col <- vctrs::vec_cast(col, default, x_arg = name)
+coerce_integer64 <- function(df, col) {
+ if (col %in% names(df)) {
+ df[[col]] <- bit64::as.integer64(df[[col]])
}
- data[[name]] <- col
- data
+ df
}
-parse_connectapi_typed <- function(data, ptype, strict = FALSE) {
- ensure_columns(parse_connectapi(data), ptype, strict)
+coerce_epoch_to_posixct <- function(df, cols) {
+ for (col in intersect(cols, names(df))) {
+ if (is.numeric(df[[col]])) {
+ df[[col]] <- .POSIXct(as.double(df[[col]]), tz = Sys.timezone())
+ }
+ }
+ df
}
-# Build a tibble column-by-column instead of row-by-row (via list_rbind).
-# This avoids type conflicts when the same field is NULL in some rows and
-# non-NULL in others: NULL -> NA, and unlist() coerces that NA to match the
-# type of the non-null values in the same column. ensure_columns() handles
-# any further type coercion (e.g. character -> POSIXct) after this step.
-parse_connectapi <- function(data) {
- if (length(data) == 0) return(tibble::tibble())
-
- all_names <- unique(unlist(lapply(data, names)))
- cols <- stats::setNames(lapply(all_names, function(nm) {
- # NULL / missing fields become NA; unlist() will coerce to the right type
- values <- lapply(data, function(row) row[[nm]] %||% NA)
- if (any(vapply(values, function(v) is.list(v) || length(v) > 1, logical(1)))) {
- # List column: wrap scalars so every element is a list
- lapply(values, function(v) if (is.list(v)) v else list(v))
- } else {
- # Scalar column: simplify to a vector
- unlist(values)
+coerce_to_character <- function(df, cols) {
+ for (col in intersect(cols, names(df))) {
+ if (is.numeric(df[[col]])) {
+ df[[col]] <- as.character(df[[col]])
}
- }), all_names)
- tibble::as_tibble(cols)
+ }
+ df
}
-coerce_fsbytes <- function(x, to, ...) {
- if (is.numeric(x)) {
- fs::as_fs_bytes(x)
+# Datetime columns by endpoint, shared by getter functions (get_users, etc.)
+# and tbl_lazy_fetch(). Define once here so the two stay in sync.
+datetime_columns <- list(
+ users = c("created_time", "updated_time", "active_time"),
+ groups = character(),
+ content = c("created_time", "last_deployed_time"),
+ usage_shiny = c("started", "ended"),
+ usage_static = "time",
+ audit_logs = "time"
+)
+
+parse_connectapi_typed <- function(data, datetime_cols = character()) {
+ if (inherits(data, "data.frame")) {
+ # Strip custom S3 classes to avoid dispatch loops (e.g., connect_list_hits
+ # defines as_tibble which calls parse_connectapi_typed, causing recursion)
+ class(data) <- "data.frame"
+ df <- tibble::as_tibble(data)
} else {
- vctrs::stop_incompatible_cast(x = x, to = to, x_arg = "x", to_arg = "to")
+ # Fallback for list-of-lists (backward compat, non-simplified responses)
+ df <- parse_connectapi(data)
}
-}
-
-# name - optional. Must be named, the name of the variable / column being converted
-coerce_datetime <- function(x, to, ...) {
- tmp_name <- rlang::dots_list(...)[["name"]]
- if (is.null(tmp_name) || is.na(tmp_name) || !is.character(tmp_name)) {
- tmp_name <- "x"
+ for (col in intersect(datetime_cols, names(df))) {
+ df[[col]] <- coerce_datetime(df[[col]])
}
+ df
+}
+# Coerce a column to POSIXct. Handles character (RFC 3339), numeric (epoch
+# seconds), POSIXct (pass-through), and all-NA logical vectors.
+coerce_datetime <- function(x) {
if (is.null(x)) {
- as.POSIXct(character(), tz = tzone(to))
- } else if (is.numeric(x)) {
- vctrs::new_datetime(as.double(x), tzone = tzone(to))
+ .POSIXct(double(), tz = Sys.timezone())
} else if (is.character(x)) {
parse_connect_rfc3339(x)
+ } else if (is.numeric(x)) {
+ .POSIXct(as.double(x), tz = Sys.timezone())
} else if (inherits(x, "POSIXct")) {
x
- } else if (
- all(is.logical(x) & is.na(x)) && length(is.logical(x) & is.na(x)) > 0
- ) {
- NA_datetime_
+ } else if (is.logical(x) && all(is.na(x))) {
+ .POSIXct(rep(NA_real_, length(x)), tz = Sys.timezone())
} else {
- vctrs::stop_incompatible_cast(
- x = x,
- to = to,
- x_arg = tmp_name,
- to_arg = "to"
- )
+ stop("Cannot coerce ", class(x)[[1]], " to POSIXct", call. = FALSE)
}
}
+# Build a tibble column-by-column instead of row-by-row (via list_rbind).
+# This avoids type conflicts when the same field is NULL in some rows and
+# non-NULL in others: NULL -> NA, and unlist() coerces that NA to match the
+# type of the non-null values in the same column.
+parse_connectapi <- function(data) {
+ if (length(data) == 0) return(tibble::tibble())
+
+ all_names <- unique(unlist(lapply(data, names), use.names = FALSE))
+ n <- length(data)
+
+ cols <- lapply(all_names, function(nm) {
+ # .subset2 is the internal no-dispatch version of `[[`
+ values <- lapply(data, .subset2, nm)
+ nulls <- vapply(values, is.null, logical(1))
+
+ # Determine column type from first non-NULL value
+ is_list_col <- FALSE
+ if (!all(nulls)) {
+ first_val <- values[[which.min(nulls)]]
+ is_list_col <- is.list(first_val) || length(first_val) > 1L
+ }
+
+ values[nulls] <- list(NA)
+
+ if (is_list_col) {
+ lapply(values, function(v) if (is.list(v)) v else list(v))
+ } else {
+ unlist(values, use.names = FALSE)
+ }
+ })
+ names(cols) <- all_names
+ tibble::new_tibble(cols, nrow = n)
+}
+
# nolint start: commented_code_linter
# Parses a character vector of dates received from Connect, using use RFC 3339,
# returning a vector of POSIXct datetimes.
@@ -165,49 +158,9 @@ coerce_datetime <- function(x, to, ...) {
# - "2020-01-01T00:02:03-01:00"
# nolint end
parse_connect_rfc3339 <- function(x) {
- # Convert timestamps with offsets to a format recognized by `strptime`.
+ # Convert offsets from RFC 3339 "+HH:MM" to strptime's "+HHMM", and "Z" to
+ # "+0000", so %z can parse them.
x <- gsub("([+-]\\d\\d):(\\d\\d)$", "\\1\\2", x)
x <- gsub("Z$", "+0000", x)
-
- # Parse with an inner call to `strptime()`, which returns a POSIXlt object,
- # and convert that to `POSIXct`.
- #
- # We must specify `tz` in the inner call to correctly compute date math.
- # Specifying `tz` when in the outer call just changes the time zone without
- # doing any date math!
- #
- # > xlt [1] "2024-08-29 16:36:33 EDT" tzone(xlt) [1] "America/New_York"
- # as.POSIXct(xlt, tz = "UTC") [1] "2024-08-29 16:36:33 UTC"
- format_string <- "%Y-%m-%dT%H:%M:%OS%z"
- as.POSIXct(x, format = format_string, tz = Sys.timezone())
-}
-
-vec_cast.POSIXct.double <- # nolint: object_name_linter
- function(x, to, ...) {
- warn_experimental("vec_cast.POSIXct.double")
- vctrs::new_datetime(x, tzone = tzone(to))
- }
-
-vec_cast.POSIXct.character <- # nolint: object_name_linter
- function(x, to, ...) {
- as.POSIXct(x, tz = tzone(to))
- }
-
-tzone <- function(x) {
- attr(x, "tzone")[[1]] %||% ""
-}
-
-vec_cast.character.integer <- # nolint: object_name_linter
- function(x, to, ...) {
- as.character(x)
- }
-
-new_datetime <- function(x = double(), tzone = "") {
- tzone <- tzone %||% ""
- if (is.integer(x)) {
- x <- as.double(x)
- }
- stopifnot(is.double(x))
- stopifnot(is.character(tzone))
- structure(x, tzone = tzone, class = c("POSIXct", "POSIXt"))
+ as.POSIXct(x, format = "%Y-%m-%dT%H:%M:%OS%z", tz = Sys.timezone())
}
diff --git a/R/ptype.R b/R/ptype.R
deleted file mode 100644
index ccc8f91a9..000000000
--- a/R/ptype.R
+++ /dev/null
@@ -1,269 +0,0 @@
-NA_datetime_ <- # nolint: object_name_linter
- vctrs::new_datetime(NA_real_, tzone = Sys.timezone())
-NA_list_ <- # nolint: object_name_linter
- list(list())
-
-connectapi_ptypes <- list(
- users = tibble::tibble(
- "email" = NA_character_,
- "username" = NA_character_,
- "first_name" = NA_character_,
- "last_name" = NA_character_,
- "user_role" = NA_character_,
- "created_time" = NA_datetime_,
- "updated_time" = NA_datetime_,
- "active_time" = NA_datetime_,
- "confirmed" = FALSE,
- "locked" = FALSE,
- "external_id" = NA_character_,
- "guid" = NA_character_
- ),
- groups = tibble::tibble(
- "guid" = NA_character_,
- "name" = NA_character_,
- "owner_guid" = NA_character_,
- "gid" = NA_character_
- ),
- usage_shiny = tibble::tibble(
- "content_guid" = NA_character_,
- "user_guid" = NA_character_,
- "started" = NA_datetime_,
- "ended" = NA_datetime_,
- "data_version" = NA_integer_
- ),
- usage_static = tibble::tibble(
- "content_guid" = NA_character_,
- "user_guid" = NA_character_,
- "variant_key" = NA_character_,
- "time" = NA_datetime_,
- "rendering_id" = NA_character_,
- "bundle_id" = NA_character_,
- "data_version" = NA_integer_
- ),
- usage = tibble::tibble(
- "id" = NA_character_,
- "user_guid" = NA_character_,
- "content_guid" = NA_character_,
- "timestamp" = NA_datetime_,
- "data" = NA_list_
- ),
- content = tibble::tibble(
- "guid" = NA_character_,
- "name" = NA_character_,
- "title" = NA_character_,
- "description" = NA_character_,
- "access_type" = NA_character_,
- "connection_timeout" = NA_integer_,
- "read_timeout" = NA_integer_,
- "init_timeout" = NA_integer_,
- "idle_timeout" = NA_integer_,
- "max_processes" = NA_integer_,
- "min_processes" = NA_integer_,
- "max_conns_per_process" = NA_integer_,
- "load_factor" = NA_real_,
- "created_time" = NA_datetime_,
- "last_deployed_time" = NA_datetime_,
- "bundle_id" = NA_character_,
- "app_mode" = NA_character_,
- "content_category" = NA_character_,
- "parameterized" = FALSE,
- "cluster_name" = NA_character_,
- "image_name" = NA_character_,
- "r_version" = NA_character_,
- "py_version" = NA_character_,
- "quarto_version" = NA_character_,
- "run_as" = NA_character_,
- "run_as_current_user" = FALSE,
- "owner_guid" = NA_character_,
- "content_url" = NA_character_,
- "dashboard_url" = NA_character_,
- "app_role" = NA_character_,
- "vanity_url" = NA_character_,
- "id" = NA_character_,
- "owner" = NA_list_,
- "tags" = NA_list_,
- ),
- content_old = tibble::tibble(
- "id" = NA_integer_,
- "guid" = NA_character_,
- "access_type" = NA_character_,
- "connection_timeout" = NA_real_,
- "read_timeout" = NA_real_,
- "init_timeout" = NA_real_,
- "idle_timeout" = NA_real_,
- "max_processes" = NA_integer_,
- "min_processes" = NA_integer_,
- "max_conns_per_process" = NA_integer_,
- "load_factor" = NA_real_,
- "url" = NA_character_,
- "vanity_url" = NA,
- "name" = NA_character_,
- "title" = NA_character_,
- "bundle_id" = NA_integer_,
- # (1=shiny, 2=shiny Rmd, 3=source Rmd, 4=static, 5=api, 6=tensorflow, 7=python, 8=flask, 9=dash, 10=streamlit)
- "app_mode" = NA_integer_,
- "content_category" = NA_character_,
- "has_parameters" = NA,
- "created_time" = NA_datetime_,
- "last_deployed_time" = NA_datetime_,
- "r_version" = NA_character_,
- "py_version" = NA_character_,
- "build_status" = NA_integer_,
- "run_as" = NA_character_,
- "run_as_current_user" = NA,
- "description" = NA_character_,
- "app_role" = NA_character_,
- "owner_first_name" = NA_character_,
- "owner_last_name" = NA_character_,
- "owner_username" = NA_character_,
- "owner_guid" = NA_character_,
- "owner_email" = NA_character_,
- "owner_locked" = NA,
- "is_scheduled" = NA,
- "git" = NA_list_
- ),
- audit_logs = tibble::tibble(
- "id" = NA_character_,
- "time" = NA_datetime_,
- "user_id" = NA_character_,
- "user_guid" = NA_character_,
- "user_description" = NA_character_,
- "action" = NA_character_,
- "event_description" = NA_character_
- ),
- procs = tibble::tibble(
- pid = NA_character_,
- appId = NA_integer_,
- appGuid = NA_character_,
- appName = NA_character_,
- appUrl = NA_character_,
- appRunAs = NA_character_,
- type = NA_character_,
- cpuCurrent = NA_real_,
- cpuTotal = NA_integer_,
- ram = fs::as_fs_bytes(NA_integer_)
- ),
- variant = tibble::tibble(
- id = NA_integer_,
- app_id = NA_integer_,
- key = NA_character_,
- bundle_id = NA_integer_,
- is_default = NA,
- name = NA_character_,
- email_collaborators = NA,
- email_viewers = NA,
- created_time = NA_datetime_,
- rendering_id = NA_integer_,
- render_time = NA_datetime_,
- render_duration = bit64::NA_integer64_,
- visibility = NA_character_,
- owner_id = NA_integer_
- ),
- rendering = tibble::tibble(
- id = NA_integer_,
- app_id = NA_integer_,
- variant_id = NA_integer_,
- bundle_id = NA_integer_,
- job_key = NA_character_,
- render_time = NA_datetime_,
- render_duration = bit64::as.integer64(NA_integer_),
- active = NA,
- app_guid = NA_character_,
- variant_key = NA_character_,
- ),
- jobs = tibble::tibble(
- id = NA_character_,
- ppid = NA_character_,
- pid = NA_character_,
- key = NA_character_,
- remote_id = NA_character_,
- content_id = NA_character_,
- content_guid = NA_character_,
- app_id = NA_character_,
- app_guid = NA_character_,
- variant_id = NA_character_,
- bundle_id = NA_character_,
- start_time = NA_datetime_,
- end_time = NA_datetime_,
- last_heartbeat_time = NA_datetime_,
- queued_time = NA_datetime_,
- queue_name = NA_character_,
- tag = NA_character_,
- exit_code = NA_integer_,
- status = NA_integer_,
- hostname = NA_character_,
- cluster = NA_character_,
- image = NA_character_,
- run_as = NA_character_,
- ),
- bundles = tibble::tibble(
- id = NA_character_,
- content_guid = NA_character_,
- created_time = NA_datetime_,
- r_version = NA_character_,
- py_version = NA_character_,
- active = NA,
- size = fs::as_fs_bytes(NA_integer_),
- metadata = NA_list_,
- ),
- permissions = tibble::tibble(
- id = NA_character_,
- content_guid = NA_character_,
- principal_guid = NA_character_,
- principal_type = NA_character_,
- role = NA_character_
- ),
- group_content = tibble::tibble(
- content_guid = NA_character_,
- content_name = NA_character_,
- content_title = NA_character_,
- access_type = NA_character_,
- permissions = NA_list_
- ),
- job_termination = tibble::tibble(
- app_id = NA_integer_,
- app_guid = NA_character_,
- job_key = NA_character_,
- job_id = NA_character_,
- result = NA_character_,
- code = NA_integer_,
- error = NA_character_
- ),
- vanities = tibble::tibble(
- content_guid = NA_character_,
- path = NA_character_,
- created_time = NA_datetime_
- ),
- job_log = tibble::tibble(
- source = NA_character_,
- timestamp = NA_datetime_,
- data = NA_character_
- ),
- packages = tibble::tibble(
- language = NA_character_,
- language_version = NA_character_,
- name = NA_character_,
- version = NA_character_,
- hash = NA_character_,
- bundle_id = NA_character_,
- app_id = NA_character_,
- app_guid = NA_character_,
- ),
- content_packages = tibble::tibble(
- language = NA_character_,
- name = NA_character_,
- version = NA_character_,
- hash = NA_character_
- ),
- integrations = tibble::tibble(
- id = NA_character_,
- guid = NA_character_,
- created_time = NA_datetime_,
- updated_time = NA_datetime_,
- name = NA_character_,
- description = NA_character_,
- template = NA_character_,
- auth_type = NA_character_,
- config = NA_list_
- )
-)
diff --git a/R/remote.R b/R/remote.R
index c57b71d8e..f1141bcec 100644
--- a/R/remote.R
+++ b/R/remote.R
@@ -98,7 +98,7 @@ groups_create_remote <- function(
expect <- as.integer(expect)
if (check) {
local_groups <- get_groups(connect, prefix = prefix)
- if (exact) {
+ if (exact && nrow(local_groups) > 0) {
local_groups <- local_groups[local_groups["name"] == prefix, ]
}
if (nrow(local_groups) > 0) {
diff --git a/R/user.R b/R/user.R
index 90b2122b1..938dc5b78 100644
--- a/R/user.R
+++ b/R/user.R
@@ -16,6 +16,7 @@ user_guid_from_username <- function(client, username) {
user <- client$users(prefix = username)
res <- user$results
+
if (length(res) == 0) {
stop("ERROR: user not found")
} else if (length(res) > 1) {
diff --git a/R/variant.R b/R/variant.R
index 4aa55be0f..f7287890d 100644
--- a/R/variant.R
+++ b/R/variant.R
@@ -257,7 +257,11 @@ get_variants <- function(content) {
variants <- content$variants()
- parse_connectapi_typed(variants, connectapi_ptypes$variant)
+ out <- parse_connectapi_typed(
+ variants,
+ datetime_cols = c("created_time", "render_time")
+ )
+ coerce_integer64(out, "render_duration")
}
#' @rdname variant
@@ -300,7 +304,8 @@ get_variant_renderings <- function(variant) {
validate_R6_class(variant, "Variant")
renders <- variant$renderings()
- parse_connectapi_typed(renders, connectapi_ptypes$rendering)
+ out <- parse_connectapi_typed(renders, datetime_cols = "render_time")
+ coerce_integer64(out, "render_duration")
}
#' @rdname variant_render
diff --git a/man/Bundle.Rd b/man/Bundle.Rd
index c6c060449..b807b39a7 100644
--- a/man/Bundle.Rd
+++ b/man/Bundle.Rd
@@ -4,15 +4,10 @@
\alias{Bundle}
\title{Bundle}
\description{
-Bundle
-
-Bundle
-}
-\details{
An R6 class that represents a bundle
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Content}},
\code{\link{ContentTask}},
\code{\link{Environment}},
@@ -25,71 +20,77 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Public fields}{
-\if{html}{\out{
}}
-\describe{
-\item{\code{path}}{The bundle path on disk.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{path}}{The bundle path on disk.}
-\item{\code{size}}{The size of the bundle.}
-}
-\if{html}{\out{
}}
+ \item{\code{size}}{The size of the bundle.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-Bundle-new}{\code{Bundle$new()}}
-\item \href{#method-Bundle-print}{\code{Bundle$print()}}
-\item \href{#method-Bundle-clone}{\code{Bundle$clone()}}
-}
+ \itemize{
+ \item \href{#method-Bundle-initialize}{\code{Bundle$new()}}
+ \item \href{#method-Bundle-print}{\code{Bundle$print()}}
+ \item \href{#method-Bundle-clone}{\code{Bundle$clone()}}
+ }
}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-Bundle-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize this content bundle.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Bundle$new(path)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Bundle-initialize}{}}}
+\subsection{\code{Bundle$new()}}{
+ Initialize this content bundle.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Bundle$new(path)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{path}}{The bundle path on disk.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{path}}{The bundle path on disk.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Bundle-print}{}}}
-\subsection{Method \code{print()}}{
-Print this object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Bundle$print(...)}\if{html}{\out{
}}
+\subsection{\code{Bundle$print()}}{
+ Print this object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Bundle$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Unused.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Unused.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Bundle-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Bundle$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Bundle$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Bundle$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/Content.Rd b/man/Content.Rd
index 12b08bd40..8d564492c 100644
--- a/man/Content.Rd
+++ b/man/Content.Rd
@@ -4,15 +4,10 @@
\alias{Content}
\title{Content}
\description{
-Content
-
-Content
-}
-\details{
An R6 class that represents content.
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Bundle}},
\code{\link{ContentTask}},
\code{\link{Environment}},
@@ -25,428 +20,466 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Public fields}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{An R6 Connect object.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{connect}}{An R6 Connect object.}
-\item{\code{content}}{The content details from Posit Connect. Properties are described in \code{\link[=get_content]{get_content()}}.}
-}
-\if{html}{\out{
}}
+ \item{\code{content}}{The content details from Posit Connect. Properties are described in \code{\link[=get_content]{get_content()}}.}
+ }
+ \if{html}{\out{
}}
}
\section{Active bindings}{
-\if{html}{\out{}}
-\describe{
-\item{\code{default_variant}}{The default variant for this object.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{default_variant}}{The default variant for this object.}
-\item{\code{is_rendered}}{TRUE if this is a rendered content type, otherwise FALSE.}
+ \item{\code{is_rendered}}{TRUE if this is a rendered content type, otherwise FALSE.}
-\item{\code{is_interactive}}{TRUE if this is a rendered content type, otherwise FALSE.}
-}
-\if{html}{\out{
}}
+ \item{\code{is_interactive}}{TRUE if this is a rendered content type, otherwise FALSE.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-Content-new}{\code{Content$new()}}
-\item \href{#method-Content-get_content_remote}{\code{Content$get_content_remote()}}
-\item \href{#method-Content-get_bundles}{\code{Content$get_bundles()}}
-\item \href{#method-Content-bundle_download}{\code{Content$bundle_download()}}
-\item \href{#method-Content-bundle_delete}{\code{Content$bundle_delete()}}
-\item \href{#method-Content-update}{\code{Content$update()}}
-\item \href{#method-Content-danger_delete}{\code{Content$danger_delete()}}
-\item \href{#method-Content-get_url}{\code{Content$get_url()}}
-\item \href{#method-Content-get_dashboard_url}{\code{Content$get_dashboard_url()}}
-\item \href{#method-Content-jobs}{\code{Content$jobs()}}
-\item \href{#method-Content-register_job_kill_order}{\code{Content$register_job_kill_order()}}
-\item \href{#method-Content-variants}{\code{Content$variants()}}
-\item \href{#method-Content-tag_set}{\code{Content$tag_set()}}
-\item \href{#method-Content-tag_delete}{\code{Content$tag_delete()}}
-\item \href{#method-Content-tags}{\code{Content$tags()}}
-\item \href{#method-Content-permissions_add}{\code{Content$permissions_add()}}
-\item \href{#method-Content-permissions_update}{\code{Content$permissions_update()}}
-\item \href{#method-Content-permissions_delete}{\code{Content$permissions_delete()}}
-\item \href{#method-Content-permissions}{\code{Content$permissions()}}
-\item \href{#method-Content-environment}{\code{Content$environment()}}
-\item \href{#method-Content-environment_set}{\code{Content$environment_set()}}
-\item \href{#method-Content-environment_all}{\code{Content$environment_all()}}
-\item \href{#method-Content-deploy}{\code{Content$deploy()}}
-\item \href{#method-Content-repository}{\code{Content$repository()}}
-\item \href{#method-Content-repo_enable}{\code{Content$repo_enable()}}
-\item \href{#method-Content-repo_set}{\code{Content$repo_set()}}
-\item \href{#method-Content-packages}{\code{Content$packages()}}
-\item \href{#method-Content-print}{\code{Content$print()}}
-\item \href{#method-Content-clone}{\code{Content$clone()}}
-}
+ \itemize{
+ \item \href{#method-Content-initialize}{\code{Content$new()}}
+ \item \href{#method-Content-get_content_remote}{\code{Content$get_content_remote()}}
+ \item \href{#method-Content-get_bundles}{\code{Content$get_bundles()}}
+ \item \href{#method-Content-bundle_download}{\code{Content$bundle_download()}}
+ \item \href{#method-Content-bundle_delete}{\code{Content$bundle_delete()}}
+ \item \href{#method-Content-update}{\code{Content$update()}}
+ \item \href{#method-Content-danger_delete}{\code{Content$danger_delete()}}
+ \item \href{#method-Content-get_url}{\code{Content$get_url()}}
+ \item \href{#method-Content-get_dashboard_url}{\code{Content$get_dashboard_url()}}
+ \item \href{#method-Content-jobs}{\code{Content$jobs()}}
+ \item \href{#method-Content-register_job_kill_order}{\code{Content$register_job_kill_order()}}
+ \item \href{#method-Content-variants}{\code{Content$variants()}}
+ \item \href{#method-Content-tag_set}{\code{Content$tag_set()}}
+ \item \href{#method-Content-tag_delete}{\code{Content$tag_delete()}}
+ \item \href{#method-Content-tags}{\code{Content$tags()}}
+ \item \href{#method-Content-permissions_add}{\code{Content$permissions_add()}}
+ \item \href{#method-Content-permissions_update}{\code{Content$permissions_update()}}
+ \item \href{#method-Content-permissions_delete}{\code{Content$permissions_delete()}}
+ \item \href{#method-Content-permissions}{\code{Content$permissions()}}
+ \item \href{#method-Content-environment}{\code{Content$environment()}}
+ \item \href{#method-Content-environment_set}{\code{Content$environment_set()}}
+ \item \href{#method-Content-environment_all}{\code{Content$environment_all()}}
+ \item \href{#method-Content-deploy}{\code{Content$deploy()}}
+ \item \href{#method-Content-repository}{\code{Content$repository()}}
+ \item \href{#method-Content-repo_enable}{\code{Content$repo_enable()}}
+ \item \href{#method-Content-repo_set}{\code{Content$repo_set()}}
+ \item \href{#method-Content-packages}{\code{Content$packages()}}
+ \item \href{#method-Content-print}{\code{Content$print()}}
+ \item \href{#method-Content-clone}{\code{Content$clone()}}
+ }
}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-Content-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$new(connect, content)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Content-initialize}{}}}
+\subsection{\code{Content$new()}}{
+ Initialize this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$new(connect, content)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{connect}}{The \code{Connect} instance.}
+ \item{\code{content}}{The content data.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{The \code{Connect} instance.}
-
-\item{\code{content}}{The content data.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-get_content_remote}{}}}
-\subsection{Method \code{get_content_remote()}}{
-Obtain the content data from the Connect server.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$get_content_remote()}\if{html}{\out{
}}
+\subsection{\code{Content$get_content_remote()}}{
+ Obtain the content data from the Connect server.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$get_content_remote()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-get_bundles}{}}}
-\subsection{Method \code{get_bundles()}}{
-Return the set of content bundles.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$get_bundles()}\if{html}{\out{
}}
+\subsection{\code{Content$get_bundles()}}{
+ Return the set of content bundles.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$get_bundles()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-bundle_download}{}}}
-\subsection{Method \code{bundle_download()}}{
-Download the source archive for a content bundle.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$bundle_download(
+\subsection{\code{Content$bundle_download()}}{
+ Download the source archive for a content bundle.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Content$bundle_download(
bundle_id,
filename = tempfile(pattern = "bundle", fileext = ".tar.gz"),
overwrite = FALSE
-)}\if{html}{\out{
}}
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{bundle_id}}{The bundle identifer.}
+ \item{\code{filename}}{Where to write the result.}
+ \item{\code{overwrite}}{Overwrite an existing filename.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{bundle_id}}{The bundle identifer.}
-
-\item{\code{filename}}{Where to write the result.}
-
-\item{\code{overwrite}}{Overwrite an existing filename.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-bundle_delete}{}}}
-\subsection{Method \code{bundle_delete()}}{
-Delete a content bundle.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$bundle_delete(bundle_id)}\if{html}{\out{
}}
+\subsection{\code{Content$bundle_delete()}}{
+ Delete a content bundle.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$bundle_delete(bundle_id)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{bundle_id}}{The bundle identifer.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{bundle_id}}{The bundle identifer.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-update}{}}}
-\subsection{Method \code{update()}}{
-Update this content item.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$update(...)}\if{html}{\out{
}}
+\subsection{\code{Content$update()}}{
+ Update this content item.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$update(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Content fields.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Content fields.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-danger_delete}{}}}
-\subsection{Method \code{danger_delete()}}{
-Delete this content item.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$danger_delete()}\if{html}{\out{
}}
+\subsection{\code{Content$danger_delete()}}{
+ Delete this content item.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$danger_delete()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-get_url}{}}}
-\subsection{Method \code{get_url()}}{
-Return the URL for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$get_url()}\if{html}{\out{
}}
+\subsection{\code{Content$get_url()}}{
+ Return the URL for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$get_url()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-get_dashboard_url}{}}}
-\subsection{Method \code{get_dashboard_url()}}{
-Return the URL for this content in the Posit Connect dashboard.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$get_dashboard_url(pane = "")}\if{html}{\out{
}}
+\subsection{\code{Content$get_dashboard_url()}}{
+ Return the URL for this content in the Posit Connect dashboard.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$get_dashboard_url(pane = "")}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{pane}}{The pane in the dashboard to link to.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{pane}}{The pane in the dashboard to link to.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-jobs}{}}}
-\subsection{Method \code{jobs()}}{
-Return the jobs for this content
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$jobs()}\if{html}{\out{
}}
+\subsection{\code{Content$jobs()}}{
+ Return the jobs for this content
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$jobs()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-register_job_kill_order}{}}}
-\subsection{Method \code{register_job_kill_order()}}{
-Terminate a single job for this content item.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$register_job_kill_order(key)}\if{html}{\out{
}}
+\subsection{\code{Content$register_job_kill_order()}}{
+ Terminate a single job for this content item.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$register_job_kill_order(key)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{key}}{The job key.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{key}}{The job key.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-variants}{}}}
-\subsection{Method \code{variants()}}{
-Return the variants for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$variants()}\if{html}{\out{
}}
+\subsection{\code{Content$variants()}}{
+ Return the variants for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$variants()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-tag_set}{}}}
-\subsection{Method \code{tag_set()}}{
-Set a tag for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$tag_set(tag_id)}\if{html}{\out{
}}
+\subsection{\code{Content$tag_set()}}{
+ Set a tag for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$tag_set(tag_id)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{tag_id}}{The tag identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{tag_id}}{The tag identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-tag_delete}{}}}
-\subsection{Method \code{tag_delete()}}{
-Remove a tag for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$tag_delete(tag_id)}\if{html}{\out{
}}
+\subsection{\code{Content$tag_delete()}}{
+ Remove a tag for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$tag_delete(tag_id)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{tag_id}}{The tag identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{tag_id}}{The tag identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-tags}{}}}
-\subsection{Method \code{tags()}}{
-The tags for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$tags()}\if{html}{\out{
}}
+\subsection{\code{Content$tags()}}{
+ The tags for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$tags()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-permissions_add}{}}}
-\subsection{Method \code{permissions_add()}}{
-Add a principal to the ACL for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$permissions_add(principal_guid, principal_type, role)}\if{html}{\out{
}}
+\subsection{\code{Content$permissions_add()}}{
+ Add a principal to the ACL for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$permissions_add(principal_guid, principal_type, role)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{principal_guid}}{GUID for the target user or group.}
+ \item{\code{principal_type}}{Acting on user or group.}
+ \item{\code{role}}{The kind of content access.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{principal_guid}}{GUID for the target user or group.}
-
-\item{\code{principal_type}}{Acting on user or group.}
-
-\item{\code{role}}{The kind of content access.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-permissions_update}{}}}
-\subsection{Method \code{permissions_update()}}{
-Alter a principal in the ACL for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$permissions_update(id, principal_guid, principal_type, role)}\if{html}{\out{
}}
+\subsection{\code{Content$permissions_update()}}{
+ Alter a principal in the ACL for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$permissions_update(id, principal_guid, principal_type, role)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{id}}{The target identifier.}
+ \item{\code{principal_guid}}{GUID for the target user or group.}
+ \item{\code{principal_type}}{Acting on user or group.}
+ \item{\code{role}}{The kind of content access.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{id}}{The target identifier.}
-
-\item{\code{principal_guid}}{GUID for the target user or group.}
-
-\item{\code{principal_type}}{Acting on user or group.}
-
-\item{\code{role}}{The kind of content access.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-permissions_delete}{}}}
-\subsection{Method \code{permissions_delete()}}{
-Remove an entry from the ACL for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$permissions_delete(id)}\if{html}{\out{
}}
+\subsection{\code{Content$permissions_delete()}}{
+ Remove an entry from the ACL for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$permissions_delete(id)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{id}}{The target identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{id}}{The target identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-permissions}{}}}
-\subsection{Method \code{permissions()}}{
-Obtain some or all of the ACL for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$permissions(id = NULL, add_owner = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Content$permissions()}}{
+ Obtain some or all of the ACL for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$permissions(id = NULL, add_owner = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{id}}{The target identifier.}
+ \item{\code{add_owner}}{Include the content owner in the result set.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{id}}{The target identifier.}
-
-\item{\code{add_owner}}{Include the content owner in the result set.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-environment}{}}}
-\subsection{Method \code{environment()}}{
-Return the environment variables set for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$environment()}\if{html}{\out{
}}
+\subsection{\code{Content$environment()}}{
+ Return the environment variables set for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$environment()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-environment_set}{}}}
-\subsection{Method \code{environment_set()}}{
-Adjust the environment variables set for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$environment_set(...)}\if{html}{\out{
}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Environment variable names and values. Use \code{NA} as the value
+\subsection{\code{Content$environment_set()}}{
+ Adjust the environment variables set for this content.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Content$environment_set(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{...}}{Environment variable names and values. Use \code{NA} as the value
to unset variables.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\if{html}{\out{
}}
-}
-}
+
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-environment_all}{}}}
-\subsection{Method \code{environment_all()}}{
-Overwrite the environment variables set for this content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$environment_all(...)}\if{html}{\out{
}}
+\subsection{\code{Content$environment_all()}}{
+ Overwrite the environment variables set for this content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$environment_all(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Environment variable names and values.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Environment variable names and values.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-deploy}{}}}
-\subsection{Method \code{deploy()}}{
-Deploy this content
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$deploy(bundle_id = NULL)}\if{html}{\out{
}}
+\subsection{\code{Content$deploy()}}{
+ Deploy this content
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$deploy(bundle_id = NULL)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{bundle_id}}{Target bundle identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{bundle_id}}{Target bundle identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-repository}{}}}
-\subsection{Method \code{repository()}}{
-Get Git repository details
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$repository()}\if{html}{\out{
}}
-}
-
-\subsection{Returns}{
-NULL if no repo is set, otherwise a list with fields:
+\subsection{\code{Content$repository()}}{
+ Get Git repository details
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$repository()}
+ \if{html}{\out{
}}
+ }
+ \subsection{Returns}{
+ NULL if no repo is set, otherwise a list with fields:
\itemize{
\item repository
\item branch
@@ -455,90 +488,98 @@ NULL if no repo is set, otherwise a list with fields:
\item last_error
\item last_known_commit
}
+ }
}
-}
+
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-repo_enable}{}}}
-\subsection{Method \code{repo_enable()}}{
-Adjust Git polling.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$repo_enable(polling = TRUE)}\if{html}{\out{
}}
+\subsection{\code{Content$repo_enable()}}{
+ Adjust Git polling.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$repo_enable(polling = TRUE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{polling}}{Polling enabled.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{polling}}{Polling enabled.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-repo_set}{}}}
-\subsection{Method \code{repo_set()}}{
-Adjust Git repository
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$repo_set(repository, branch = "main", directory = ".", polling = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Content$repo_set()}}{
+ Adjust Git repository
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$repo_set(repository, branch = "main", directory = ".", polling = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{repository}}{Git repository URL}
+ \item{\code{branch}}{Git repository branch}
+ \item{\code{directory}}{Git repository directory}
+ \item{\code{polling}}{Whether to check for updates}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{repository}}{Git repository URL}
-
-\item{\code{branch}}{Git repository branch}
-
-\item{\code{directory}}{Git repository directory}
-
-\item{\code{polling}}{Whether to check for updates}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-packages}{}}}
-\subsection{Method \code{packages()}}{
-Get package dependencies
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$packages()}\if{html}{\out{
}}
+\subsection{\code{Content$packages()}}{
+ Get package dependencies
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$packages()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-print}{}}}
-\subsection{Method \code{print()}}{
-Print this object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$print(...)}\if{html}{\out{
}}
+\subsection{\code{Content$print()}}{
+ Print this object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Unused.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Unused.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Content-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Content$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Content$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Content$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/ContentTask.Rd b/man/ContentTask.Rd
index c94e5a9d5..8bac69c33 100644
--- a/man/ContentTask.Rd
+++ b/man/ContentTask.Rd
@@ -4,15 +4,10 @@
\alias{ContentTask}
\title{ContentTask}
\description{
-ContentTask
-
-ContentTask
-}
-\details{
An R6 class that represents a Task for a piece of Content
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Bundle}},
\code{\link{Content}},
\code{\link{Environment}},
@@ -25,150 +20,158 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Super class}{
-\code{\link[connectapi:Content]{connectapi::Content}} -> \code{ContentTask}
+\code{\link[connectapi:Content]{Content}} -> \code{ContentTask}
}
\section{Public fields}{
-\if{html}{\out{}}
-\describe{
-\item{\code{task}}{The task.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{task}}{The task.}
-\item{\code{data}}{The task data.}
-}
-\if{html}{\out{
}}
+ \item{\code{data}}{The task data.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-ContentTask-new}{\code{ContentTask$new()}}
-\item \href{#method-ContentTask-get_task}{\code{ContentTask$get_task()}}
-\item \href{#method-ContentTask-add_data}{\code{ContentTask$add_data()}}
-\item \href{#method-ContentTask-get_data}{\code{ContentTask$get_data()}}
-\item \href{#method-ContentTask-print}{\code{ContentTask$print()}}
-\item \href{#method-ContentTask-clone}{\code{ContentTask$clone()}}
-}
-}
-\if{html}{\out{
-Inherited methods
+ \itemize{
+ \item \href{#method-ContentTask-initialize}{\code{ContentTask$new()}}
+ \item \href{#method-ContentTask-get_task}{\code{ContentTask$get_task()}}
+ \item \href{#method-ContentTask-add_data}{\code{ContentTask$add_data()}}
+ \item \href{#method-ContentTask-get_data}{\code{ContentTask$get_data()}}
+ \item \href{#method-ContentTask-print}{\code{ContentTask$print()}}
+ \item \href{#method-ContentTask-clone}{\code{ContentTask$clone()}}
+ }
+}
+\if{html}{\out{Inherited methods
-
-}}
+ }}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-ContentTask-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize this task.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{ContentTask$new(connect, content, task)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-ContentTask-initialize}{}}}
+\subsection{\code{ContentTask$new()}}{
+ Initialize this task.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{ContentTask$new(connect, content, task)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{connect}}{The \code{Connect} instance.}
+ \item{\code{content}}{The \code{Content} instance.}
+ \item{\code{task}}{The task data.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{The \code{Connect} instance.}
-
-\item{\code{content}}{The \code{Content} instance.}
-
-\item{\code{task}}{The task data.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-ContentTask-get_task}{}}}
-\subsection{Method \code{get_task()}}{
-Return the underlying task.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{ContentTask$get_task()}\if{html}{\out{
}}
+\subsection{\code{ContentTask$get_task()}}{
+ Return the underlying task.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{ContentTask$get_task()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-ContentTask-add_data}{}}}
-\subsection{Method \code{add_data()}}{
-Set the data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{ContentTask$add_data(data)}\if{html}{\out{
}}
+\subsection{\code{ContentTask$add_data()}}{
+ Set the data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{ContentTask$add_data(data)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{data}}{The data.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{data}}{The data.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-ContentTask-get_data}{}}}
-\subsection{Method \code{get_data()}}{
-Get the data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{ContentTask$get_data()}\if{html}{\out{
}}
+\subsection{\code{ContentTask$get_data()}}{
+ Get the data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{ContentTask$get_data()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-ContentTask-print}{}}}
-\subsection{Method \code{print()}}{
-Print this object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{ContentTask$print(...)}\if{html}{\out{
}}
+\subsection{\code{ContentTask$print()}}{
+ Print this object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{ContentTask$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Unused.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Unused.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-ContentTask-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{ContentTask$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{ContentTask$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{ContentTask$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/EnvironmentR6.Rd b/man/EnvironmentR6.Rd
index 91bdc9c14..64189eedc 100644
--- a/man/EnvironmentR6.Rd
+++ b/man/EnvironmentR6.Rd
@@ -4,15 +4,10 @@
\alias{Environment}
\title{Environment}
\description{
-Environment
-
-Environment
-}
-\details{
An R6 class that represents a Content's Environment Variables
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Bundle}},
\code{\link{Content}},
\code{\link{ContentTask}},
@@ -25,163 +20,174 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Super class}{
-\code{\link[connectapi:Content]{connectapi::Content}} -> \code{Environment}
+\code{\link[connectapi:Content]{Content}} -> \code{Environment}
}
\section{Public fields}{
-\if{html}{\out{}}
-\describe{
-\item{\code{env_raw}}{The (raw) set of environment variables.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{env_raw}}{The (raw) set of environment variables.}
-\item{\code{env_vars}}{The set of environment variables.}
-}
-\if{html}{\out{
}}
+ \item{\code{env_vars}}{The set of environment variables.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-Environment-new}{\code{Environment$new()}}
-\item \href{#method-Environment-environment}{\code{Environment$environment()}}
-\item \href{#method-Environment-environment_set}{\code{Environment$environment_set()}}
-\item \href{#method-Environment-environment_all}{\code{Environment$environment_all()}}
-\item \href{#method-Environment-env_refresh}{\code{Environment$env_refresh()}}
-\item \href{#method-Environment-print}{\code{Environment$print()}}
-\item \href{#method-Environment-clone}{\code{Environment$clone()}}
-}
-}
-\if{html}{\out{
-Inherited methods
+ \itemize{
+ \item \href{#method-Environment-initialize}{\code{Environment$new()}}
+ \item \href{#method-Environment-environment}{\code{Environment$environment()}}
+ \item \href{#method-Environment-environment_set}{\code{Environment$environment_set()}}
+ \item \href{#method-Environment-environment_all}{\code{Environment$environment_all()}}
+ \item \href{#method-Environment-env_refresh}{\code{Environment$env_refresh()}}
+ \item \href{#method-Environment-print}{\code{Environment$print()}}
+ \item \href{#method-Environment-clone}{\code{Environment$clone()}}
+ }
+}
+\if{html}{\out{Inherited methods
-
-}}
+ }}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-Environment-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize this set of environment variables.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Environment$new(connect, content)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Environment-initialize}{}}}
+\subsection{\code{Environment$new()}}{
+ Initialize this set of environment variables.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Environment$new(connect, content)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{connect}}{The \code{Connect} instance.}
+ \item{\code{content}}{The \code{Content} instance.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{The \code{Connect} instance.}
-
-\item{\code{content}}{The \code{Content} instance.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Environment-environment}{}}}
-\subsection{Method \code{environment()}}{
-Fetch the set of environment variables.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Environment$environment()}\if{html}{\out{
}}
+\subsection{\code{Environment$environment()}}{
+ Fetch the set of environment variables.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Environment$environment()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Environment-environment_set}{}}}
-\subsection{Method \code{environment_set()}}{
-Update the set of environment variables.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Environment$environment_set(...)}\if{html}{\out{
}}
+\subsection{\code{Environment$environment_set()}}{
+ Update the set of environment variables.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Environment$environment_set(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Environment variable names and values.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Environment variable names and values.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Environment-environment_all}{}}}
-\subsection{Method \code{environment_all()}}{
-Overwrite the set of environment variables.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Environment$environment_all(...)}\if{html}{\out{
}}
+\subsection{\code{Environment$environment_all()}}{
+ Overwrite the set of environment variables.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Environment$environment_all(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Environment variable names and values.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Environment variable names and values.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Environment-env_refresh}{}}}
-\subsection{Method \code{env_refresh()}}{
-Fetch the set o environment variables.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Environment$env_refresh()}\if{html}{\out{
}}
+\subsection{\code{Environment$env_refresh()}}{
+ Fetch the set o environment variables.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Environment$env_refresh()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Environment-print}{}}}
-\subsection{Method \code{print()}}{
-Print this object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Environment$print(...)}\if{html}{\out{
}}
+\subsection{\code{Environment$print()}}{
+ Print this object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Environment$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Unused.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Unused.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Environment-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Environment$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Environment$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Environment$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/PositConnect.Rd b/man/PositConnect.Rd
index f6730e4b1..9e7cf89b0 100644
--- a/man/PositConnect.Rd
+++ b/man/PositConnect.Rd
@@ -5,8 +5,6 @@
\alias{Connect}
\title{Class representing a Connect API client}
\description{
-Class representing a Connect API client
-
Class representing a Connect API client
}
\section{Usage}{
@@ -28,7 +26,7 @@ API. Authentication is done by providing an API key.
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Bundle}},
\code{\link{Content}},
\code{\link{ContentTask}},
@@ -41,792 +39,829 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Public fields}{
-\if{html}{\out{}}
-\describe{
-\item{\code{server}}{The base URL of your Posit Connect server.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{server}}{The base URL of your Posit Connect server.}
-\item{\code{api_key}}{Your Posit Connect API key.}
+ \item{\code{api_key}}{Your Posit Connect API key.}
-\item{\code{tags}}{The initial set of tags.}
+ \item{\code{tags}}{The initial set of tags.}
-\item{\code{tag_map}}{The initial tag map.}
+ \item{\code{tag_map}}{The initial tag map.}
-\item{\code{httr_additions}}{An initial set of \code{httr} configuration added to each HTTP call.}
+ \item{\code{httr_additions}}{An initial set of \code{httr} configuration added to each HTTP call.}
-\item{\code{using_auth}}{Indicates that the API key is added to each HTTP call.}
-}
-\if{html}{\out{
}}
+ \item{\code{using_auth}}{Indicates that the API key is added to each HTTP call.}
+ }
+ \if{html}{\out{
}}
}
\section{Active bindings}{
-\if{html}{\out{}}
-\describe{
-\item{\code{version}}{The server version.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{version}}{The server version.}
-\item{\code{timezones}}{The server timezones.}
-}
-\if{html}{\out{
}}
+ \item{\code{timezones}}{The server timezones.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-Connect-new}{\code{Connect$new()}}
-\item \href{#method-Connect-httr_config}{\code{Connect$httr_config()}}
-\item \href{#method-Connect-print}{\code{Connect$print()}}
-\item \href{#method-Connect-raise_error}{\code{Connect$raise_error()}}
-\item \href{#method-Connect-add_auth}{\code{Connect$add_auth()}}
-\item \href{#method-Connect-api_url}{\code{Connect$api_url()}}
-\item \href{#method-Connect-server_url}{\code{Connect$server_url()}}
-\item \href{#method-Connect-request}{\code{Connect$request()}}
-\item \href{#method-Connect-GET}{\code{Connect$GET()}}
-\item \href{#method-Connect-PUT}{\code{Connect$PUT()}}
-\item \href{#method-Connect-HEAD}{\code{Connect$HEAD()}}
-\item \href{#method-Connect-DELETE}{\code{Connect$DELETE()}}
-\item \href{#method-Connect-PATCH}{\code{Connect$PATCH()}}
-\item \href{#method-Connect-POST}{\code{Connect$POST()}}
-\item \href{#method-Connect-me}{\code{Connect$me()}}
-\item \href{#method-Connect-get_dashboard_url}{\code{Connect$get_dashboard_url()}}
-\item \href{#method-Connect-get_tags}{\code{Connect$get_tags()}}
-\item \href{#method-Connect-get_tag_id}{\code{Connect$get_tag_id()}}
-\item \href{#method-Connect-get_tag_tree}{\code{Connect$get_tag_tree()}}
-\item \href{#method-Connect-tag_create_safe}{\code{Connect$tag_create_safe()}}
-\item \href{#method-Connect-tag_create}{\code{Connect$tag_create()}}
-\item \href{#method-Connect-tag}{\code{Connect$tag()}}
-\item \href{#method-Connect-tag_delete}{\code{Connect$tag_delete()}}
-\item \href{#method-Connect-get_schedule}{\code{Connect$get_schedule()}}
-\item \href{#method-Connect-content_create}{\code{Connect$content_create()}}
-\item \href{#method-Connect-content_upload}{\code{Connect$content_upload()}}
-\item \href{#method-Connect-content_deploy}{\code{Connect$content_deploy()}}
-\item \href{#method-Connect-content}{\code{Connect$content()}}
-\item \href{#method-Connect-task}{\code{Connect$task()}}
-\item \href{#method-Connect-set_content_tag}{\code{Connect$set_content_tag()}}
-\item \href{#method-Connect-remove_content_tag}{\code{Connect$remove_content_tag()}}
-\item \href{#method-Connect-user}{\code{Connect$user()}}
-\item \href{#method-Connect-users}{\code{Connect$users()}}
-\item \href{#method-Connect-users_remote}{\code{Connect$users_remote()}}
-\item \href{#method-Connect-users_create}{\code{Connect$users_create()}}
-\item \href{#method-Connect-users_create_remote}{\code{Connect$users_create_remote()}}
-\item \href{#method-Connect-users_lock}{\code{Connect$users_lock()}}
-\item \href{#method-Connect-users_unlock}{\code{Connect$users_unlock()}}
-\item \href{#method-Connect-users_update}{\code{Connect$users_update()}}
-\item \href{#method-Connect-groups}{\code{Connect$groups()}}
-\item \href{#method-Connect-group_members}{\code{Connect$group_members()}}
-\item \href{#method-Connect-group_member_add}{\code{Connect$group_member_add()}}
-\item \href{#method-Connect-group_member_remove}{\code{Connect$group_member_remove()}}
-\item \href{#method-Connect-groups_create}{\code{Connect$groups_create()}}
-\item \href{#method-Connect-groups_create_remote}{\code{Connect$groups_create_remote()}}
-\item \href{#method-Connect-groups_remote}{\code{Connect$groups_remote()}}
-\item \href{#method-Connect-group_content}{\code{Connect$group_content()}}
-\item \href{#method-Connect-inst_content_visits}{\code{Connect$inst_content_visits()}}
-\item \href{#method-Connect-inst_shiny_usage}{\code{Connect$inst_shiny_usage()}}
-\item \href{#method-Connect-procs}{\code{Connect$procs()}}
-\item \href{#method-Connect-repo_account}{\code{Connect$repo_account()}}
-\item \href{#method-Connect-repo_branches}{\code{Connect$repo_branches()}}
-\item \href{#method-Connect-repo_manifest_dirs}{\code{Connect$repo_manifest_dirs()}}
-\item \href{#method-Connect-schedules}{\code{Connect$schedules()}}
-\item \href{#method-Connect-packages}{\code{Connect$packages()}}
-\item \href{#method-Connect-docs}{\code{Connect$docs()}}
-\item \href{#method-Connect-audit_logs}{\code{Connect$audit_logs()}}
-\item \href{#method-Connect-vanities}{\code{Connect$vanities()}}
-\item \href{#method-Connect-server_settings}{\code{Connect$server_settings()}}
-\item \href{#method-Connect-clone}{\code{Connect$clone()}}
-}
+ \itemize{
+ \item \href{#method-Connect-initialize}{\code{Connect$new()}}
+ \item \href{#method-Connect-httr_config}{\code{Connect$httr_config()}}
+ \item \href{#method-Connect-print}{\code{Connect$print()}}
+ \item \href{#method-Connect-raise_error}{\code{Connect$raise_error()}}
+ \item \href{#method-Connect-add_auth}{\code{Connect$add_auth()}}
+ \item \href{#method-Connect-api_url}{\code{Connect$api_url()}}
+ \item \href{#method-Connect-server_url}{\code{Connect$server_url()}}
+ \item \href{#method-Connect-request}{\code{Connect$request()}}
+ \item \href{#method-Connect-GET}{\code{Connect$GET()}}
+ \item \href{#method-Connect-PUT}{\code{Connect$PUT()}}
+ \item \href{#method-Connect-HEAD}{\code{Connect$HEAD()}}
+ \item \href{#method-Connect-DELETE}{\code{Connect$DELETE()}}
+ \item \href{#method-Connect-PATCH}{\code{Connect$PATCH()}}
+ \item \href{#method-Connect-POST}{\code{Connect$POST()}}
+ \item \href{#method-Connect-me}{\code{Connect$me()}}
+ \item \href{#method-Connect-get_dashboard_url}{\code{Connect$get_dashboard_url()}}
+ \item \href{#method-Connect-get_tags}{\code{Connect$get_tags()}}
+ \item \href{#method-Connect-get_tag_id}{\code{Connect$get_tag_id()}}
+ \item \href{#method-Connect-get_tag_tree}{\code{Connect$get_tag_tree()}}
+ \item \href{#method-Connect-tag_create_safe}{\code{Connect$tag_create_safe()}}
+ \item \href{#method-Connect-tag_create}{\code{Connect$tag_create()}}
+ \item \href{#method-Connect-tag}{\code{Connect$tag()}}
+ \item \href{#method-Connect-tag_delete}{\code{Connect$tag_delete()}}
+ \item \href{#method-Connect-get_schedule}{\code{Connect$get_schedule()}}
+ \item \href{#method-Connect-content_create}{\code{Connect$content_create()}}
+ \item \href{#method-Connect-content_upload}{\code{Connect$content_upload()}}
+ \item \href{#method-Connect-content_deploy}{\code{Connect$content_deploy()}}
+ \item \href{#method-Connect-content}{\code{Connect$content()}}
+ \item \href{#method-Connect-task}{\code{Connect$task()}}
+ \item \href{#method-Connect-set_content_tag}{\code{Connect$set_content_tag()}}
+ \item \href{#method-Connect-remove_content_tag}{\code{Connect$remove_content_tag()}}
+ \item \href{#method-Connect-user}{\code{Connect$user()}}
+ \item \href{#method-Connect-users}{\code{Connect$users()}}
+ \item \href{#method-Connect-users_remote}{\code{Connect$users_remote()}}
+ \item \href{#method-Connect-users_create}{\code{Connect$users_create()}}
+ \item \href{#method-Connect-users_create_remote}{\code{Connect$users_create_remote()}}
+ \item \href{#method-Connect-users_lock}{\code{Connect$users_lock()}}
+ \item \href{#method-Connect-users_unlock}{\code{Connect$users_unlock()}}
+ \item \href{#method-Connect-users_update}{\code{Connect$users_update()}}
+ \item \href{#method-Connect-groups}{\code{Connect$groups()}}
+ \item \href{#method-Connect-group_members}{\code{Connect$group_members()}}
+ \item \href{#method-Connect-group_member_add}{\code{Connect$group_member_add()}}
+ \item \href{#method-Connect-group_member_remove}{\code{Connect$group_member_remove()}}
+ \item \href{#method-Connect-groups_create}{\code{Connect$groups_create()}}
+ \item \href{#method-Connect-groups_create_remote}{\code{Connect$groups_create_remote()}}
+ \item \href{#method-Connect-groups_remote}{\code{Connect$groups_remote()}}
+ \item \href{#method-Connect-group_content}{\code{Connect$group_content()}}
+ \item \href{#method-Connect-inst_content_visits}{\code{Connect$inst_content_visits()}}
+ \item \href{#method-Connect-inst_shiny_usage}{\code{Connect$inst_shiny_usage()}}
+ \item \href{#method-Connect-procs}{\code{Connect$procs()}}
+ \item \href{#method-Connect-repo_account}{\code{Connect$repo_account()}}
+ \item \href{#method-Connect-repo_branches}{\code{Connect$repo_branches()}}
+ \item \href{#method-Connect-repo_manifest_dirs}{\code{Connect$repo_manifest_dirs()}}
+ \item \href{#method-Connect-schedules}{\code{Connect$schedules()}}
+ \item \href{#method-Connect-packages}{\code{Connect$packages()}}
+ \item \href{#method-Connect-docs}{\code{Connect$docs()}}
+ \item \href{#method-Connect-audit_logs}{\code{Connect$audit_logs()}}
+ \item \href{#method-Connect-vanities}{\code{Connect$vanities()}}
+ \item \href{#method-Connect-server_settings}{\code{Connect$server_settings()}}
+ \item \href{#method-Connect-clone}{\code{Connect$clone()}}
+ }
}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-Connect-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize a new connect.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$new(server, api_key)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Connect-initialize}{}}}
+\subsection{\code{Connect$new()}}{
+ Initialize a new connect.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$new(server, api_key)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{server}}{The base URL of your Posit Connect server.}
+ \item{\code{api_key}}{Your Posit Connect API key.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{server}}{The base URL of your Posit Connect server.}
-
-\item{\code{api_key}}{Your Posit Connect API key.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-httr_config}{}}}
-\subsection{Method \code{httr_config()}}{
-Set additional \code{httr} configuration that is added to each HTTP call.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$httr_config(...)}\if{html}{\out{
}}
+\subsection{\code{Connect$httr_config()}}{
+ Set additional \code{httr} configuration that is added to each HTTP call.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$httr_config(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Set of httr configurations.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Set of httr configurations.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-print}{}}}
-\subsection{Method \code{print()}}{
-Print details about this instance.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$print(...)}\if{html}{\out{
}}
+\subsection{\code{Connect$print()}}{
+ Print details about this instance.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Ignored.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Ignored.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-raise_error}{}}}
-\subsection{Method \code{raise_error()}}{
-Raise an error when the HTTP result is an HTTP error.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$raise_error(res)}\if{html}{\out{
}}
+\subsection{\code{Connect$raise_error()}}{
+ Raise an error when the HTTP result is an HTTP error.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$raise_error(res)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{res}}{HTTP result.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{res}}{HTTP result.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-add_auth}{}}}
-\subsection{Method \code{add_auth()}}{
-Returns HTTP authorization headers, or NULL when none are used.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$add_auth()}\if{html}{\out{
}}
+\subsection{\code{Connect$add_auth()}}{
+ Returns HTTP authorization headers, or NULL when none are used.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$add_auth()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-api_url}{}}}
-\subsection{Method \code{api_url()}}{
-Build a URL relative to the API root
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$api_url(...)}\if{html}{\out{
}}
+\subsection{\code{Connect$api_url()}}{
+ Build a URL relative to the API root
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$api_url(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{path segments}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{path segments}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-server_url}{}}}
-\subsection{Method \code{server_url()}}{
-Build a URL relative to the server root
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$server_url(...)}\if{html}{\out{
}}
+\subsection{\code{Connect$server_url()}}{
+ Build a URL relative to the server root
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$server_url(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{path segments}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{path segments}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-request}{}}}
-\subsection{Method \code{request()}}{
-General wrapper around \code{httr} verbs
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$request(method, url, ..., parser = "parsed")}\if{html}{\out{
}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{method}}{HTTP request method}
-
-\item{\code{url}}{URL to request}
-
-\item{\code{...}}{Additional arguments passed to the request function}
-
-\item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
+\subsection{\code{Connect$request()}}{
+ General wrapper around \code{httr} verbs
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$request(method, url, ..., parser = "parsed", simplify = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{method}}{HTTP request method}
+ \item{\code{url}}{URL to request}
+ \item{\code{...}}{Additional arguments passed to the request function}
+ \item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
will be returned. Otherwise, the argument is forwarded to
\code{httr::content(res, as = parser)}.}
+ \item{\code{simplify}}{Logical; if \code{TRUE}, JSON arrays of objects are
+simplified to data frames by jsonlite. Default \code{FALSE} preserves
+list-of-lists for compatibility with pagination helpers.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\if{html}{\out{
}}
-}
-}
+
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-GET}{}}}
-\subsection{Method \code{GET()}}{
-Perform an HTTP GET request of the named API path.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$GET(path, ..., url = self$api_url(path), parser = "parsed")}\if{html}{\out{
}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
-
-\item{\code{...}}{Arguments to \code{httr::GET()}}
-
-\item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
+\subsection{\code{Connect$GET()}}{
+ Perform an HTTP GET request of the named API path.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$GET(
+ path,
+ ...,
+ url = self$api_url(path),
+ parser = "parsed",
+ simplify = FALSE
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
+ \item{\code{...}}{Arguments to \code{httr::GET()}}
+ \item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
a server resource that is not under \verb{/__api__}}
-
-\item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
+ \item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
will be returned. Otherwise, the argument is forwarded to
\code{httr::content(res, as = parser)}.}
+ \item{\code{simplify}}{Logical; if \code{TRUE}, JSON arrays of objects are
+simplified to data frames by jsonlite. Default \code{FALSE} preserves
+list-of-lists for compatibility with pagination helpers.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\if{html}{\out{
}}
-}
-}
+
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-PUT}{}}}
-\subsection{Method \code{PUT()}}{
-Perform an HTTP PUT request of the named API path.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$PUT(
+\subsection{\code{Connect$PUT()}}{
+ Perform an HTTP PUT request of the named API path.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$PUT(
path,
body = "{}",
...,
url = self$api_url(path),
encode = "json",
parser = "parsed"
-)}\if{html}{\out{
}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{
}}
-\describe{
-\item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
-
-\item{\code{body}}{The HTTP payload.}
-
-\item{\code{...}}{Arguments to \code{httr::PUT()}}
-
-\item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
+ \item{\code{body}}{The HTTP payload.}
+ \item{\code{...}}{Arguments to \code{httr::PUT()}}
+ \item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
a server resource that is not under \verb{/__api__}}
-
-\item{\code{encode}}{How the payload is encoded.}
-
-\item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
+ \item{\code{encode}}{How the payload is encoded.}
+ \item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
will be returned. Otherwise, the argument is forwarded to
\code{httr::content(res, as = parser)}.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\if{html}{\out{
}}
-}
-}
+
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-HEAD}{}}}
-\subsection{Method \code{HEAD()}}{
-Perform an HTTP HEAD request of the named API path.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$HEAD(path, ..., url = self$api_url(path))}\if{html}{\out{
}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
-
-\item{\code{...}}{Arguments to \code{httr::HEAD()}}
-
-\item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
+\subsection{\code{Connect$HEAD()}}{
+ Perform an HTTP HEAD request of the named API path.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$HEAD(path, ..., url = self$api_url(path))}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
+ \item{\code{...}}{Arguments to \code{httr::HEAD()}}
+ \item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
a server resource that is not under \verb{/__api__}
\code{httr::content(res, as = parser)}.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\if{html}{\out{
}}
-}
-}
+
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-DELETE}{}}}
-\subsection{Method \code{DELETE()}}{
-Perform an HTTP DELETE request of the named API path. Returns the HTTP response object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$DELETE(path, ..., url = self$api_url(path), parser = NULL)}\if{html}{\out{
}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
-
-\item{\code{...}}{Arguments to \code{httr::DELETE()}}
-
-\item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
+\subsection{\code{Connect$DELETE()}}{
+ Perform an HTTP DELETE request of the named API path. Returns the HTTP response object.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$DELETE(path, ..., url = self$api_url(path), parser = NULL)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
+ \item{\code{...}}{Arguments to \code{httr::DELETE()}}
+ \item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
a server resource that is not under \verb{/__api__}}
-
-\item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
+ \item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
will be returned. Otherwise, the argument is forwarded to
\code{httr::content(res, as = parser)}.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\if{html}{\out{
}}
-}
-}
+
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-PATCH}{}}}
-\subsection{Method \code{PATCH()}}{
-Perform an HTTP PATCH request of the named API path.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$PATCH(
+\subsection{\code{Connect$PATCH()}}{
+ Perform an HTTP PATCH request of the named API path.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$PATCH(
path,
body = "{}",
...,
url = self$api_url(path),
encode = "json",
parser = "parsed"
-)}\if{html}{\out{
}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{
}}
-\describe{
-\item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
-
-\item{\code{body}}{The HTTP payload.}
-
-\item{\code{...}}{Arguments to \code{httr::PATCH()}}
-
-\item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
+ \item{\code{body}}{The HTTP payload.}
+ \item{\code{...}}{Arguments to \code{httr::PATCH()}}
+ \item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
a server resource that is not under \verb{/__api__}}
-
-\item{\code{encode}}{How the payload is encoded.}
-
-\item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
+ \item{\code{encode}}{How the payload is encoded.}
+ \item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
will be returned. Otherwise, the argument is forwarded to
\code{httr::content(res, as = parser)}.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\if{html}{\out{
}}
-}
-}
+
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-POST}{}}}
-\subsection{Method \code{POST()}}{
-Perform an HTTP POST request of the named API path.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$POST(
+\subsection{\code{Connect$POST()}}{
+ Perform an HTTP POST request of the named API path.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$POST(
path,
body = "{}",
...,
url = self$api_url(path),
encode = "json",
parser = "parsed"
-)}\if{html}{\out{
}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{
}}
-\describe{
-\item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
-
-\item{\code{body}}{The HTTP payload.}
-
-\item{\code{...}}{Arguments to \code{httr::POST()}}
-
-\item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{path}}{API path relative to the server's \verb{/__api__} root.}
+ \item{\code{body}}{The HTTP payload.}
+ \item{\code{...}}{Arguments to \code{httr::POST()}}
+ \item{\code{url}}{Target URL. Default uses \code{path}, but provide \code{url} to request
a server resource that is not under \verb{/__api__}}
-
-\item{\code{encode}}{How the payload is encoded.}
-
-\item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
+ \item{\code{encode}}{How the payload is encoded.}
+ \item{\code{parser}}{How the response is parsed. If \code{NULL}, the \code{httr_response}
will be returned. Otherwise, the argument is forwarded to
\code{httr::content(res, as = parser)}.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\if{html}{\out{
}}
-}
-}
+
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-me}{}}}
-\subsection{Method \code{me()}}{
-Perform an HTTP GET request of the "me" server endpoint.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$me()}\if{html}{\out{
}}
+\subsection{\code{Connect$me()}}{
+ Perform an HTTP GET request of the "me" server endpoint.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$me()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-get_dashboard_url}{}}}
-\subsection{Method \code{get_dashboard_url()}}{
-Return the base URL of the Connect server.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$get_dashboard_url()}\if{html}{\out{
}}
+\subsection{\code{Connect$get_dashboard_url()}}{
+ Return the base URL of the Connect server.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$get_dashboard_url()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-get_tags}{}}}
-\subsection{Method \code{get_tags()}}{
-Return all tags.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$get_tags(use_cache = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Connect$get_tags()}}{
+ Return all tags.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$get_tags(use_cache = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{use_cache}}{Indicates that a cached set of tags is used.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{use_cache}}{Indicates that a cached set of tags is used.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-get_tag_id}{}}}
-\subsection{Method \code{get_tag_id()}}{
-Get the identifier for the named tag.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$get_tag_id(tagname)}\if{html}{\out{
}}
+\subsection{\code{Connect$get_tag_id()}}{
+ Get the identifier for the named tag.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$get_tag_id(tagname)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{tagname}}{The name of the tag.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{tagname}}{The name of the tag.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-get_tag_tree}{}}}
-\subsection{Method \code{get_tag_tree()}}{
-Get the tag tree.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$get_tag_tree()}\if{html}{\out{
}}
+\subsection{\code{Connect$get_tag_tree()}}{
+ Get the tag tree.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$get_tag_tree()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-tag_create_safe}{}}}
-\subsection{Method \code{tag_create_safe()}}{
-Create a tag.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$tag_create_safe(name, parent_id = NULL)}\if{html}{\out{
}}
+\subsection{\code{Connect$tag_create_safe()}}{
+ Create a tag.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$tag_create_safe(name, parent_id = NULL)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{name}}{The tag name.}
+ \item{\code{parent_id}}{The parent identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{name}}{The tag name.}
-
-\item{\code{parent_id}}{The parent identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-tag_create}{}}}
-\subsection{Method \code{tag_create()}}{
-Create a tag.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$tag_create(name, parent_id = NULL)}\if{html}{\out{
}}
+\subsection{\code{Connect$tag_create()}}{
+ Create a tag.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$tag_create(name, parent_id = NULL)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{name}}{The tag name.}
+ \item{\code{parent_id}}{The parent identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{name}}{The tag name.}
-
-\item{\code{parent_id}}{The parent identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-tag}{}}}
-\subsection{Method \code{tag()}}{
-Get a tag.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$tag(id = NULL)}\if{html}{\out{
}}
+\subsection{\code{Connect$tag()}}{
+ Get a tag.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$tag(id = NULL)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{id}}{The tag identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{id}}{The tag identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-tag_delete}{}}}
-\subsection{Method \code{tag_delete()}}{
-Delete a tag.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$tag_delete(id)}\if{html}{\out{
}}
+\subsection{\code{Connect$tag_delete()}}{
+ Delete a tag.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$tag_delete(id)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{id}}{The tag identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{id}}{The tag identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-get_schedule}{}}}
-\subsection{Method \code{get_schedule()}}{
-Get a schedule.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$get_schedule(schedule_id)}\if{html}{\out{
}}
+\subsection{\code{Connect$get_schedule()}}{
+ Get a schedule.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$get_schedule(schedule_id)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{schedule_id}}{The schedule identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{schedule_id}}{The schedule identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-content_create}{}}}
-\subsection{Method \code{content_create()}}{
-Create content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$content_create(name, title = name, ...)}\if{html}{\out{
}}
+\subsection{\code{Connect$content_create()}}{
+ Create content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$content_create(name, title = name, ...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{name}}{The content name.}
+ \item{\code{title}}{The content title.}
+ \item{\code{...}}{Other content fields.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{name}}{The content name.}
-
-\item{\code{title}}{The content title.}
-
-\item{\code{...}}{Other content fields.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-content_upload}{}}}
-\subsection{Method \code{content_upload()}}{
-Upload a content bundle.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$content_upload(bundle_path, guid)}\if{html}{\out{
}}
+\subsection{\code{Connect$content_upload()}}{
+ Upload a content bundle.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$content_upload(bundle_path, guid)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{bundle_path}}{The path to the bundle archive.}
+ \item{\code{guid}}{The content GUID.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{bundle_path}}{The path to the bundle archive.}
-
-\item{\code{guid}}{The content GUID.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-content_deploy}{}}}
-\subsection{Method \code{content_deploy()}}{
-Deploy a content bundle.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$content_deploy(guid, bundle_id)}\if{html}{\out{
}}
+\subsection{\code{Connect$content_deploy()}}{
+ Deploy a content bundle.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$content_deploy(guid, bundle_id)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{guid}}{The content GUID.}
+ \item{\code{bundle_id}}{The bundle identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{guid}}{The content GUID.}
-
-\item{\code{bundle_id}}{The bundle identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-content}{}}}
-\subsection{Method \code{content()}}{
-Get a content item.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$content(
+\subsection{\code{Connect$content()}}{
+ Get a content item.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$content(
guid = NULL,
owner_guid = NULL,
name = NULL,
include = "tags,owner"
-)}\if{html}{\out{
}}
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{guid}}{The content GUID.}
+ \item{\code{owner_guid}}{The target content owner.}
+ \item{\code{name}}{The target name.}
+ \item{\code{include}}{Additional response fields.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{guid}}{The content GUID.}
-
-\item{\code{owner_guid}}{The target content owner.}
-
-\item{\code{name}}{The target name.}
-
-\item{\code{include}}{Additional response fields.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-task}{}}}
-\subsection{Method \code{task()}}{
-Get a task.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$task(task_id, first = 0, wait = 5)}\if{html}{\out{
}}
+\subsection{\code{Connect$task()}}{
+ Get a task.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$task(task_id, first = 0, wait = 5)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{task_id}}{The task identifier.}
+ \item{\code{first}}{The initial status position.}
+ \item{\code{wait}}{Maximum time to wait for update.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{task_id}}{The task identifier.}
-
-\item{\code{first}}{The initial status position.}
-
-\item{\code{wait}}{Maximum time to wait for update.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-set_content_tag}{}}}
-\subsection{Method \code{set_content_tag()}}{
-Set a tag for a content item.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$set_content_tag(content_id, tag_id)}\if{html}{\out{
}}
+\subsection{\code{Connect$set_content_tag()}}{
+ Set a tag for a content item.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$set_content_tag(content_id, tag_id)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{content_id}}{The content identifier.}
+ \item{\code{tag_id}}{The tag identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{content_id}}{The content identifier.}
-
-\item{\code{tag_id}}{The tag identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-remove_content_tag}{}}}
-\subsection{Method \code{remove_content_tag()}}{
-Remove a tag from a content item.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$remove_content_tag(content_id, tag_id)}\if{html}{\out{
}}
+\subsection{\code{Connect$remove_content_tag()}}{
+ Remove a tag from a content item.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$remove_content_tag(content_id, tag_id)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{content_id}}{The content identifier.}
+ \item{\code{tag_id}}{The tag identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{content_id}}{The content identifier.}
-
-\item{\code{tag_id}}{The tag identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-user}{}}}
-\subsection{Method \code{user()}}{
-Get user details.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$user(guid)}\if{html}{\out{
}}
+\subsection{\code{Connect$user()}}{
+ Get user details.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$user(guid)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{guid}}{The user GUID.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{guid}}{The user GUID.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-users}{}}}
-\subsection{Method \code{users()}}{
-Get users.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$users(
+\subsection{\code{Connect$users()}}{
+ Get users.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$users(
page_number = 1,
prefix = NULL,
page_size = 500,
user_role = NULL,
account_status = NULL
-)}\if{html}{\out{
}}
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{page_number}}{The page number.}
+ \item{\code{prefix}}{The search term.}
+ \item{\code{page_size}}{The page size.}
+ \item{\code{user_role}}{Filter by user role.}
+ \item{\code{account_status}}{Filter by account status.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{page_number}}{The page number.}
-
-\item{\code{prefix}}{The search term.}
-
-\item{\code{page_size}}{The page size.}
-
-\item{\code{user_role}}{Filter by user role.}
-
-\item{\code{account_status}}{Filter by account status.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-users_remote}{}}}
-\subsection{Method \code{users_remote()}}{
-Get remote users.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$users_remote(prefix)}\if{html}{\out{
}}
+\subsection{\code{Connect$users_remote()}}{
+ Get remote users.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$users_remote(prefix)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{prefix}}{The search term.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{prefix}}{The search term.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-users_create}{}}}
-\subsection{Method \code{users_create()}}{
-Create a user.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$users_create(
+\subsection{\code{Connect$users_create()}}{
+ Create a user.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$users_create(
username,
email,
first_name = NULL,
@@ -835,254 +870,267 @@ Create a user.
user_must_set_password = NULL,
user_role = NULL,
unique_id = NULL
-)}\if{html}{\out{
}}
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{username}}{The username.}
+ \item{\code{email}}{Email address.}
+ \item{\code{first_name}}{First name.}
+ \item{\code{last_name}}{Last name.}
+ \item{\code{password}}{The password.}
+ \item{\code{user_must_set_password}}{Indicates that user sets password on first login.}
+ \item{\code{user_role}}{Role for user.}
+ \item{\code{unique_id}}{Identifier for user.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{username}}{The username.}
-
-\item{\code{email}}{Email address.}
-
-\item{\code{first_name}}{First name.}
-
-\item{\code{last_name}}{Last name.}
-
-\item{\code{password}}{The password.}
-
-\item{\code{user_must_set_password}}{Indicates that user sets password on first login.}
-
-\item{\code{user_role}}{Role for user.}
-
-\item{\code{unique_id}}{Identifier for user.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-users_create_remote}{}}}
-\subsection{Method \code{users_create_remote()}}{
-Create a remote user.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$users_create_remote(temp_ticket)}\if{html}{\out{
}}
+\subsection{\code{Connect$users_create_remote()}}{
+ Create a remote user.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$users_create_remote(temp_ticket)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{temp_ticket}}{Ticket identifying target remote user.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{temp_ticket}}{Ticket identifying target remote user.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-users_lock}{}}}
-\subsection{Method \code{users_lock()}}{
-Lock a user.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$users_lock(user_guid)}\if{html}{\out{
}}
+\subsection{\code{Connect$users_lock()}}{
+ Lock a user.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$users_lock(user_guid)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{user_guid}}{User GUID.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{user_guid}}{User GUID.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-users_unlock}{}}}
-\subsection{Method \code{users_unlock()}}{
-Unlock a user.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$users_unlock(user_guid)}\if{html}{\out{
}}
+\subsection{\code{Connect$users_unlock()}}{
+ Unlock a user.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$users_unlock(user_guid)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{user_guid}}{User GUID.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{user_guid}}{User GUID.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-users_update}{}}}
-\subsection{Method \code{users_update()}}{
-Update a user.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$users_update(user_guid, ...)}\if{html}{\out{
}}
+\subsection{\code{Connect$users_update()}}{
+ Update a user.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$users_update(user_guid, ...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{user_guid}}{User GUID.}
+ \item{\code{...}}{User fields.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{user_guid}}{User GUID.}
-
-\item{\code{...}}{User fields.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-groups}{}}}
-\subsection{Method \code{groups()}}{
-Get groups.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$groups(page_number = 1, prefix = NULL, page_size = 500)}\if{html}{\out{
}}
+\subsection{\code{Connect$groups()}}{
+ Get groups.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$groups(page_number = 1, prefix = NULL, page_size = 500)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{page_number}}{The page number.}
+ \item{\code{prefix}}{The search term.}
+ \item{\code{page_size}}{The page size.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{page_number}}{The page number.}
-
-\item{\code{prefix}}{The search term.}
-
-\item{\code{page_size}}{The page size.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-group_members}{}}}
-\subsection{Method \code{group_members()}}{
-Get group members.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$group_members(guid)}\if{html}{\out{
}}
+\subsection{\code{Connect$group_members()}}{
+ Get group members.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$group_members(guid)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{guid}}{The group GUID.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{guid}}{The group GUID.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-group_member_add}{}}}
-\subsection{Method \code{group_member_add()}}{
-Add a group member.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$group_member_add(group_guid, user_guid)}\if{html}{\out{
}}
+\subsection{\code{Connect$group_member_add()}}{
+ Add a group member.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$group_member_add(group_guid, user_guid)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{group_guid}}{The group GUID.}
+ \item{\code{user_guid}}{The user GUID.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{group_guid}}{The group GUID.}
-
-\item{\code{user_guid}}{The user GUID.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-group_member_remove}{}}}
-\subsection{Method \code{group_member_remove()}}{
-Remove a group member.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$group_member_remove(group_guid, user_guid)}\if{html}{\out{
}}
+\subsection{\code{Connect$group_member_remove()}}{
+ Remove a group member.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$group_member_remove(group_guid, user_guid)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{group_guid}}{The group GUID.}
+ \item{\code{user_guid}}{The user GUID.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{group_guid}}{The group GUID.}
-
-\item{\code{user_guid}}{The user GUID.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-groups_create}{}}}
-\subsection{Method \code{groups_create()}}{
-Create a group.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$groups_create(name)}\if{html}{\out{
}}
+\subsection{\code{Connect$groups_create()}}{
+ Create a group.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$groups_create(name)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{name}}{The group name.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{name}}{The group name.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-groups_create_remote}{}}}
-\subsection{Method \code{groups_create_remote()}}{
-Create a remote group.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$groups_create_remote(temp_ticket)}\if{html}{\out{
}}
+\subsection{\code{Connect$groups_create_remote()}}{
+ Create a remote group.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$groups_create_remote(temp_ticket)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{temp_ticket}}{Ticket identifying target remote group.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{temp_ticket}}{Ticket identifying target remote group.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-groups_remote}{}}}
-\subsection{Method \code{groups_remote()}}{
-Get remote groups.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$groups_remote(prefix = NULL, limit = 500)}\if{html}{\out{
}}
+\subsection{\code{Connect$groups_remote()}}{
+ Get remote groups.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$groups_remote(prefix = NULL, limit = 500)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{prefix}}{The search term.}
+ \item{\code{limit}}{The maximal result set size.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{prefix}}{The search term.}
-
-\item{\code{limit}}{The maximal result set size.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-group_content}{}}}
-\subsection{Method \code{group_content()}}{
-Get content to which a group has access
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$group_content(guid)}\if{html}{\out{
}}
+\subsection{\code{Connect$group_content()}}{
+ Get content to which a group has access
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$group_content(guid)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{guid}}{The group GUID.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{guid}}{The group GUID.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-inst_content_visits}{}}}
-\subsection{Method \code{inst_content_visits()}}{
-Get (non-interactive) content visits.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$inst_content_visits(
+\subsection{\code{Connect$inst_content_visits()}}{
+ Get (non-interactive) content visits.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$inst_content_visits(
content_guid = NULL,
min_data_version = NULL,
from = NULL,
@@ -1091,41 +1139,36 @@ Get (non-interactive) content visits.
previous = NULL,
nxt = NULL,
asc_order = TRUE
-)}\if{html}{\out{
}}
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{content_guid}}{Content GUID.}
+ \item{\code{min_data_version}}{Data version for request.}
+ \item{\code{from}}{Start of range.}
+ \item{\code{to}}{End of range.}
+ \item{\code{limit}}{Result set size.}
+ \item{\code{previous}}{Previous item.}
+ \item{\code{nxt}}{Next item.}
+ \item{\code{asc_order}}{Indicates ascending result order.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{content_guid}}{Content GUID.}
-
-\item{\code{min_data_version}}{Data version for request.}
-
-\item{\code{from}}{Start of range.}
-
-\item{\code{to}}{End of range.}
-
-\item{\code{limit}}{Result set size.}
-
-\item{\code{previous}}{Previous item.}
-
-\item{\code{nxt}}{Next item.}
-
-\item{\code{asc_order}}{Indicates ascending result order.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-inst_shiny_usage}{}}}
-\subsection{Method \code{inst_shiny_usage()}}{
-Get interactive content visits.
+\subsection{\code{Connect$inst_shiny_usage()}}{
+ Get interactive content visits.
-Get (non-interactive) content visits.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$inst_shiny_usage(
+ Get (non-interactive) content visits.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$inst_shiny_usage(
content_guid = NULL,
min_data_version = NULL,
from = NULL,
@@ -1134,217 +1177,224 @@ Get (non-interactive) content visits.
previous = NULL,
nxt = NULL,
asc_order = TRUE
-)}\if{html}{\out{
}}
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{content_guid}}{Content GUID.}
+ \item{\code{min_data_version}}{Data version for request.}
+ \item{\code{from}}{Start of range.}
+ \item{\code{to}}{End of range.}
+ \item{\code{limit}}{Result set size.}
+ \item{\code{previous}}{Previous item.}
+ \item{\code{nxt}}{Next item.}
+ \item{\code{asc_order}}{Indicates ascending result order.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{content_guid}}{Content GUID.}
-
-\item{\code{min_data_version}}{Data version for request.}
-
-\item{\code{from}}{Start of range.}
-
-\item{\code{to}}{End of range.}
-
-\item{\code{limit}}{Result set size.}
-
-\item{\code{previous}}{Previous item.}
-
-\item{\code{nxt}}{Next item.}
-
-\item{\code{asc_order}}{Indicates ascending result order.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-procs}{}}}
-\subsection{Method \code{procs()}}{
-Get running processes.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$procs()}\if{html}{\out{
}}
+\subsection{\code{Connect$procs()}}{
+ Get running processes.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$procs()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-repo_account}{}}}
-\subsection{Method \code{repo_account()}}{
-Determine if Git repository is associated with authorization.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$repo_account(host)}\if{html}{\out{
}}
+\subsection{\code{Connect$repo_account()}}{
+ Determine if Git repository is associated with authorization.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$repo_account(host)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{host}}{Repository URL.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{host}}{Repository URL.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-repo_branches}{}}}
-\subsection{Method \code{repo_branches()}}{
-Get Git repository branches.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$repo_branches(repo)}\if{html}{\out{
}}
+\subsection{\code{Connect$repo_branches()}}{
+ Get Git repository branches.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$repo_branches(repo)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{repo}}{Repository URL.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{repo}}{Repository URL.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-repo_manifest_dirs}{}}}
-\subsection{Method \code{repo_manifest_dirs()}}{
-Get Git repository directories.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$repo_manifest_dirs(repo, branch)}\if{html}{\out{
}}
+\subsection{\code{Connect$repo_manifest_dirs()}}{
+ Get Git repository directories.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$repo_manifest_dirs(repo, branch)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{repo}}{Repository URL.}
+ \item{\code{branch}}{Repository branch.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{repo}}{Repository URL.}
-
-\item{\code{branch}}{Repository branch.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-schedules}{}}}
-\subsection{Method \code{schedules()}}{
-Get schedules.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$schedules(
+\subsection{\code{Connect$schedules()}}{
+ Get schedules.
+ \subsection{Usage}{
+ \if{html}{\out{
}}
+ \preformatted{Connect$schedules(
start = Sys.time(),
end = Sys.time() + 60 * 60 * 24 * 7,
detailed = FALSE
-)}\if{html}{\out{
}}
+)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{start}}{Starting time.}
+ \item{\code{end}}{Ending time.}
+ \item{\code{detailed}}{Indicates detailed schedule information.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{start}}{Starting time.}
-
-\item{\code{end}}{Ending time.}
-
-\item{\code{detailed}}{Indicates detailed schedule information.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-packages}{}}}
-\subsection{Method \code{packages()}}{
-Get packages. This endpoint is paginated.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$packages(name = NULL, page_number = 1, page_size = 1e+05)}\if{html}{\out{
}}
+\subsection{\code{Connect$packages()}}{
+ Get packages. This endpoint is paginated.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$packages(name = NULL, page_number = 1, page_size = 1e+05)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{name}}{The package name to filter by.}
+ \item{\code{page_number}}{Page number.}
+ \item{\code{page_size}}{Page size, default 100000.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{name}}{The package name to filter by.}
-
-\item{\code{page_number}}{Page number.}
-
-\item{\code{page_size}}{Page size, default 100000.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-docs}{}}}
-\subsection{Method \code{docs()}}{
-Get documentation.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$docs(docs = "api", browse = TRUE)}\if{html}{\out{
}}
+\subsection{\code{Connect$docs()}}{
+ Get documentation.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$docs(docs = "api", browse = TRUE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{docs}}{Named document.}
+ \item{\code{browse}}{Open a browser.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{docs}}{Named document.}
-
-\item{\code{browse}}{Open a browser.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-audit_logs}{}}}
-\subsection{Method \code{audit_logs()}}{
-Get auditing.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$audit_logs(limit = 500, previous = NULL, nxt = NULL, asc_order = TRUE)}\if{html}{\out{
}}
+\subsection{\code{Connect$audit_logs()}}{
+ Get auditing.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$audit_logs(limit = 500, previous = NULL, nxt = NULL, asc_order = TRUE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{limit}}{Result set size.}
+ \item{\code{previous}}{Previous item.}
+ \item{\code{nxt}}{Next item.}
+ \item{\code{asc_order}}{Indicates ascending result order.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{limit}}{Result set size.}
-
-\item{\code{previous}}{Previous item.}
-
-\item{\code{nxt}}{Next item.}
-
-\item{\code{asc_order}}{Indicates ascending result order.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-vanities}{}}}
-\subsection{Method \code{vanities()}}{
-Get all vanity URLs
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$vanities()}\if{html}{\out{
}}
+\subsection{\code{Connect$vanities()}}{
+ Get all vanity URLs
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$vanities()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-server_settings}{}}}
-\subsection{Method \code{server_settings()}}{
-Get server settings.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$server_settings()}\if{html}{\out{
}}
+\subsection{\code{Connect$server_settings()}}{
+ Get server settings.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$server_settings()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Connect-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Connect$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Connect$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Connect$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/Task.Rd b/man/Task.Rd
index df76f9ab4..234daa7ff 100644
--- a/man/Task.Rd
+++ b/man/Task.Rd
@@ -4,15 +4,10 @@
\alias{Task}
\title{Task}
\description{
-Task
-
-Task
-}
-\details{
An R6 class that represents a Task
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Bundle}},
\code{\link{Content}},
\code{\link{ContentTask}},
@@ -25,115 +20,126 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Public fields}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{The Connect instance.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{connect}}{The Connect instance.}
-\item{\code{task}}{The task.}
+ \item{\code{task}}{The task.}
-\item{\code{data}}{The task data.}
-}
-\if{html}{\out{
}}
+ \item{\code{data}}{The task data.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-Task-new}{\code{Task$new()}}
-\item \href{#method-Task-get_task}{\code{Task$get_task()}}
-\item \href{#method-Task-add_data}{\code{Task$add_data()}}
-\item \href{#method-Task-get_data}{\code{Task$get_data()}}
-\item \href{#method-Task-print}{\code{Task$print()}}
-\item \href{#method-Task-clone}{\code{Task$clone()}}
-}
+ \itemize{
+ \item \href{#method-Task-initialize}{\code{Task$new()}}
+ \item \href{#method-Task-get_task}{\code{Task$get_task()}}
+ \item \href{#method-Task-add_data}{\code{Task$add_data()}}
+ \item \href{#method-Task-get_data}{\code{Task$get_data()}}
+ \item \href{#method-Task-print}{\code{Task$print()}}
+ \item \href{#method-Task-clone}{\code{Task$clone()}}
+ }
}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-Task-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize this task.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Task$new(connect, task)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Task-initialize}{}}}
+\subsection{\code{Task$new()}}{
+ Initialize this task.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Task$new(connect, task)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{connect}}{The \code{Connect} instance.}
+ \item{\code{task}}{The task data.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{The \code{Connect} instance.}
-
-\item{\code{task}}{The task data.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Task-get_task}{}}}
-\subsection{Method \code{get_task()}}{
-Return the underlying task.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Task$get_task()}\if{html}{\out{
}}
+\subsection{\code{Task$get_task()}}{
+ Return the underlying task.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Task$get_task()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Task-add_data}{}}}
-\subsection{Method \code{add_data()}}{
-Set the data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Task$add_data(data)}\if{html}{\out{
}}
+\subsection{\code{Task$add_data()}}{
+ Set the data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Task$add_data(data)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{data}}{The data.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{data}}{The data.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Task-get_data}{}}}
-\subsection{Method \code{get_data()}}{
-Get the data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Task$get_data()}\if{html}{\out{
}}
+\subsection{\code{Task$get_data()}}{
+ Get the data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Task$get_data()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Task-print}{}}}
-\subsection{Method \code{print()}}{
-Print this object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Task$print(...)}\if{html}{\out{
}}
+\subsection{\code{Task$print()}}{
+ Print this object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Task$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Unused.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Unused.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Task-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Task$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Task$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Task$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/Vanity.Rd b/man/Vanity.Rd
index 9782f493d..005b11d50 100644
--- a/man/Vanity.Rd
+++ b/man/Vanity.Rd
@@ -4,15 +4,10 @@
\alias{Vanity}
\title{Vanity}
\description{
-Vanity
-
-Vanity
-}
-\details{
An R6 class that represents a Vanity URL
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Bundle}},
\code{\link{Content}},
\code{\link{ContentTask}},
@@ -25,119 +20,123 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Super class}{
-\code{\link[connectapi:Content]{connectapi::Content}} -> \code{Vanity}
+\code{\link[connectapi:Content]{Content}} -> \code{Vanity}
}
\section{Public fields}{
-\if{html}{\out{}}
-\describe{
-\item{\code{vanity}}{The vanity.}
-}
-\if{html}{\out{
}}
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{vanity}}{The vanity.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-Vanity-new}{\code{Vanity$new()}}
-\item \href{#method-Vanity-get_vanity}{\code{Vanity$get_vanity()}}
-\item \href{#method-Vanity-print}{\code{Vanity$print()}}
-\item \href{#method-Vanity-clone}{\code{Vanity$clone()}}
-}
-}
-\if{html}{\out{
-Inherited methods
+ \itemize{
+ \item \href{#method-Vanity-initialize}{\code{Vanity$new()}}
+ \item \href{#method-Vanity-get_vanity}{\code{Vanity$get_vanity()}}
+ \item \href{#method-Vanity-print}{\code{Vanity$print()}}
+ \item \href{#method-Vanity-clone}{\code{Vanity$clone()}}
+ }
+}
+\if{html}{\out{Inherited methods
-
-}}
+ }}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-Vanity-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize this vanity.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Vanity$new(connect, content, vanity)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Vanity-initialize}{}}}
+\subsection{\code{Vanity$new()}}{
+ Initialize this vanity.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Vanity$new(connect, content, vanity)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{connect}}{The \code{Connect} instance.}
+ \item{\code{content}}{The \code{Content} instance.}
+ \item{\code{vanity}}{The vanity data.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{The \code{Connect} instance.}
-
-\item{\code{content}}{The \code{Content} instance.}
-
-\item{\code{vanity}}{The vanity data.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Vanity-get_vanity}{}}}
-\subsection{Method \code{get_vanity()}}{
-Return the underlying vanity.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Vanity$get_vanity()}\if{html}{\out{
}}
+\subsection{\code{Vanity$get_vanity()}}{
+ Return the underlying vanity.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Vanity$get_vanity()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Vanity-print}{}}}
-\subsection{Method \code{print()}}{
-Print this object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Vanity$print(...)}\if{html}{\out{
}}
+\subsection{\code{Vanity$print()}}{
+ Print this object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Vanity$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Unused.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Unused.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Vanity-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Vanity$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Vanity$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Vanity$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/VariantR6.Rd b/man/VariantR6.Rd
index 67bd82d0b..d21ea2c54 100644
--- a/man/VariantR6.Rd
+++ b/man/VariantR6.Rd
@@ -4,15 +4,10 @@
\alias{Variant}
\title{Variant}
\description{
-Variant
-
-Variant
-}
-\details{
An R6 class that represents a Variant
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Bundle}},
\code{\link{Content}},
\code{\link{ContentTask}},
@@ -25,306 +20,336 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Super class}{
-\code{\link[connectapi:Content]{connectapi::Content}} -> \code{Variant}
+\code{\link[connectapi:Content]{Content}} -> \code{Variant}
}
\section{Public fields}{
-\if{html}{\out{}}
-\describe{
-\item{\code{key}}{The variant key.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{key}}{The variant key.}
-\item{\code{variant}}{The variant.}
-}
-\if{html}{\out{
}}
+ \item{\code{variant}}{The variant.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-Variant-get_variant_remote}{\code{Variant$get_variant_remote()}}
-\item \href{#method-Variant-new}{\code{Variant$new()}}
-\item \href{#method-Variant-send_mail}{\code{Variant$send_mail()}}
-\item \href{#method-Variant-get_schedule}{\code{Variant$get_schedule()}}
-\item \href{#method-Variant-get_schedule_remote}{\code{Variant$get_schedule_remote()}}
-\item \href{#method-Variant-get_subscribers}{\code{Variant$get_subscribers()}}
-\item \href{#method-Variant-remove_subscriber}{\code{Variant$remove_subscriber()}}
-\item \href{#method-Variant-add_subscribers}{\code{Variant$add_subscribers()}}
-\item \href{#method-Variant-render}{\code{Variant$render()}}
-\item \href{#method-Variant-renderings}{\code{Variant$renderings()}}
-\item \href{#method-Variant-update_variant}{\code{Variant$update_variant()}}
-\item \href{#method-Variant-jobs}{\code{Variant$jobs()}}
-\item \href{#method-Variant-get_url}{\code{Variant$get_url()}}
-\item \href{#method-Variant-get_url_rev}{\code{Variant$get_url_rev()}}
-\item \href{#method-Variant-get_dashboard_url}{\code{Variant$get_dashboard_url()}}
-\item \href{#method-Variant-print}{\code{Variant$print()}}
-\item \href{#method-Variant-clone}{\code{Variant$clone()}}
-}
-}
-\if{html}{\out{
-Inherited methods
+ \itemize{
+ \item \href{#method-Variant-get_variant_remote}{\code{Variant$get_variant_remote()}}
+ \item \href{#method-Variant-initialize}{\code{Variant$new()}}
+ \item \href{#method-Variant-send_mail}{\code{Variant$send_mail()}}
+ \item \href{#method-Variant-get_schedule}{\code{Variant$get_schedule()}}
+ \item \href{#method-Variant-get_schedule_remote}{\code{Variant$get_schedule_remote()}}
+ \item \href{#method-Variant-get_subscribers}{\code{Variant$get_subscribers()}}
+ \item \href{#method-Variant-remove_subscriber}{\code{Variant$remove_subscriber()}}
+ \item \href{#method-Variant-add_subscribers}{\code{Variant$add_subscribers()}}
+ \item \href{#method-Variant-render}{\code{Variant$render()}}
+ \item \href{#method-Variant-renderings}{\code{Variant$renderings()}}
+ \item \href{#method-Variant-update_variant}{\code{Variant$update_variant()}}
+ \item \href{#method-Variant-jobs}{\code{Variant$jobs()}}
+ \item \href{#method-Variant-get_url}{\code{Variant$get_url()}}
+ \item \href{#method-Variant-get_url_rev}{\code{Variant$get_url_rev()}}
+ \item \href{#method-Variant-get_dashboard_url}{\code{Variant$get_dashboard_url()}}
+ \item \href{#method-Variant-print}{\code{Variant$print()}}
+ \item \href{#method-Variant-clone}{\code{Variant$clone()}}
+ }
+}
+\if{html}{\out{Inherited methods
-
-}}
+ }}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-get_variant_remote}{}}}
-\subsection{Method \code{get_variant_remote()}}{
-Get the underlying variant data.
+\subsection{\code{Variant$get_variant_remote()}}{
+ Get the underlying variant data.
-Get and store the (remote) variant data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$get_variant_remote()}\if{html}{\out{
}}
+ Get and store the (remote) variant data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$get_variant_remote()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-Variant-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize this variant.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$new(connect, content, key)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Variant-initialize}{}}}
+\subsection{\code{Variant$new()}}{
+ Initialize this variant.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$new(connect, content, key)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{connect}}{The \code{Connect} instance.}
+ \item{\code{content}}{The \code{Content} instance.}
+ \item{\code{key}}{The variant key.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{The \code{Connect} instance.}
-
-\item{\code{content}}{The \code{Content} instance.}
-
-\item{\code{key}}{The variant key.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-send_mail}{}}}
-\subsection{Method \code{send_mail()}}{
-Mail previously rendered content.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$send_mail(to = c("me", "collaborators", "collaborators_viewers"))}\if{html}{\out{
}}
+\subsection{\code{Variant$send_mail()}}{
+ Mail previously rendered content.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$send_mail(to = c("me", "collaborators", "collaborators_viewers"))}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{to}}{Targeting.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{to}}{Targeting.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-get_schedule}{}}}
-\subsection{Method \code{get_schedule()}}{
-Get the (remote) schedule data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$get_schedule()}\if{html}{\out{
}}
+\subsection{\code{Variant$get_schedule()}}{
+ Get the (remote) schedule data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$get_schedule()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-get_schedule_remote}{}}}
-\subsection{Method \code{get_schedule_remote()}}{
-Get the (remote) schedule data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$get_schedule_remote()}\if{html}{\out{
}}
+\subsection{\code{Variant$get_schedule_remote()}}{
+ Get the (remote) schedule data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$get_schedule_remote()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-get_subscribers}{}}}
-\subsection{Method \code{get_subscribers()}}{
-Get the subscribers.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$get_subscribers()}\if{html}{\out{
}}
+\subsection{\code{Variant$get_subscribers()}}{
+ Get the subscribers.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$get_subscribers()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-remove_subscriber}{}}}
-\subsection{Method \code{remove_subscriber()}}{
-Remove a named subscriber.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$remove_subscriber(guid)}\if{html}{\out{
}}
+\subsection{\code{Variant$remove_subscriber()}}{
+ Remove a named subscriber.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$remove_subscriber(guid)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{guid}}{User GUID.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{guid}}{User GUID.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-add_subscribers}{}}}
-\subsection{Method \code{add_subscribers()}}{
-Add named subscribers.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$add_subscribers(guids)}\if{html}{\out{
}}
+\subsection{\code{Variant$add_subscribers()}}{
+ Add named subscribers.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$add_subscribers(guids)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{guids}}{User GUIDs.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{guids}}{User GUIDs.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-render}{}}}
-\subsection{Method \code{render()}}{
-Render this variant.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$render()}\if{html}{\out{
}}
+\subsection{\code{Variant$render()}}{
+ Render this variant.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$render()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-renderings}{}}}
-\subsection{Method \code{renderings()}}{
-List the renderings of this variant.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$renderings()}\if{html}{\out{
}}
+\subsection{\code{Variant$renderings()}}{
+ List the renderings of this variant.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$renderings()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-update_variant}{}}}
-\subsection{Method \code{update_variant()}}{
-Update this variant.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$update_variant(...)}\if{html}{\out{
}}
+\subsection{\code{Variant$update_variant()}}{
+ Update this variant.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$update_variant(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Target fields and values.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Target fields and values.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-jobs}{}}}
-\subsection{Method \code{jobs()}}{
-Jobs for this variant.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$jobs()}\if{html}{\out{
}}
+\subsection{\code{Variant$jobs()}}{
+ Jobs for this variant.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$jobs()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-get_url}{}}}
-\subsection{Method \code{get_url()}}{
-Return the URL for this variant.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$get_url()}\if{html}{\out{
}}
+\subsection{\code{Variant$get_url()}}{
+ Return the URL for this variant.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$get_url()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-get_url_rev}{}}}
-\subsection{Method \code{get_url_rev()}}{
-Return the URL associated with one rendering for this variant.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$get_url_rev(rev)}\if{html}{\out{
}}
+\subsection{\code{Variant$get_url_rev()}}{
+ Return the URL associated with one rendering for this variant.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$get_url_rev(rev)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{rev}}{Rendering identifier.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{rev}}{Rendering identifier.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-get_dashboard_url}{}}}
-\subsection{Method \code{get_dashboard_url()}}{
-Return the URL for this variant in the Posit Connect dashboard.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$get_dashboard_url(pane = "access")}\if{html}{\out{
}}
+\subsection{\code{Variant$get_dashboard_url()}}{
+ Return the URL for this variant in the Posit Connect dashboard.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$get_dashboard_url(pane = "access")}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{pane}}{The pane in the dashboard to link to.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{pane}}{The pane in the dashboard to link to.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-print}{}}}
-\subsection{Method \code{print()}}{
-Print this object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$print(...)}\if{html}{\out{
}}
+\subsection{\code{Variant$print()}}{
+ Print this object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Unused.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Unused.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-Variant-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{Variant$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{Variant$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{Variant$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/VariantSchedule.Rd b/man/VariantSchedule.Rd
index 252bd7ffa..c90e4e76e 100644
--- a/man/VariantSchedule.Rd
+++ b/man/VariantSchedule.Rd
@@ -4,15 +4,10 @@
\alias{VariantSchedule}
\title{VariantSchedule}
\description{
-VariantSchedule
-
-VariantSchedule
-}
-\details{
An R6 class that represents a Schedule
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Bundle}},
\code{\link{Content}},
\code{\link{ContentTask}},
@@ -25,237 +20,253 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Super classes}{
-\code{\link[connectapi:Content]{connectapi::Content}} -> \code{\link[connectapi:Variant]{connectapi::Variant}} -> \code{VariantSchedule}
+\code{\link[connectapi:Content]{Content}} -> \code{\link[connectapi:Variant]{Variant}} -> \code{VariantSchedule}
}
\section{Public fields}{
-\if{html}{\out{}}
-\describe{
-\item{\code{schedule_data}}{The schedule data.}
-}
-\if{html}{\out{
}}
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{schedule_data}}{The schedule data.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-VariantSchedule-new}{\code{VariantSchedule$new()}}
-\item \href{#method-VariantSchedule-GET}{\code{VariantSchedule$GET()}}
-\item \href{#method-VariantSchedule-POST}{\code{VariantSchedule$POST()}}
-\item \href{#method-VariantSchedule-DELETE}{\code{VariantSchedule$DELETE()}}
-\item \href{#method-VariantSchedule-set_schedule}{\code{VariantSchedule$set_schedule()}}
-\item \href{#method-VariantSchedule-is_empty}{\code{VariantSchedule$is_empty()}}
-\item \href{#method-VariantSchedule-print}{\code{VariantSchedule$print()}}
-\item \href{#method-VariantSchedule-get_schedule}{\code{VariantSchedule$get_schedule()}}
-\item \href{#method-VariantSchedule-get_schedule_remote}{\code{VariantSchedule$get_schedule_remote()}}
-\item \href{#method-VariantSchedule-describe_schedule}{\code{VariantSchedule$describe_schedule()}}
-\item \href{#method-VariantSchedule-clone}{\code{VariantSchedule$clone()}}
-}
-}
-\if{html}{\out{
-Inherited methods
+ \itemize{
+ \item \href{#method-VariantSchedule-initialize}{\code{VariantSchedule$new()}}
+ \item \href{#method-VariantSchedule-GET}{\code{VariantSchedule$GET()}}
+ \item \href{#method-VariantSchedule-POST}{\code{VariantSchedule$POST()}}
+ \item \href{#method-VariantSchedule-DELETE}{\code{VariantSchedule$DELETE()}}
+ \item \href{#method-VariantSchedule-set_schedule}{\code{VariantSchedule$set_schedule()}}
+ \item \href{#method-VariantSchedule-is_empty}{\code{VariantSchedule$is_empty()}}
+ \item \href{#method-VariantSchedule-print}{\code{VariantSchedule$print()}}
+ \item \href{#method-VariantSchedule-get_schedule}{\code{VariantSchedule$get_schedule()}}
+ \item \href{#method-VariantSchedule-get_schedule_remote}{\code{VariantSchedule$get_schedule_remote()}}
+ \item \href{#method-VariantSchedule-describe_schedule}{\code{VariantSchedule$describe_schedule()}}
+ \item \href{#method-VariantSchedule-clone}{\code{VariantSchedule$clone()}}
+ }
+}
+\if{html}{\out{Inherited methods
-
-}}
+ }}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-VariantSchedule-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize this schedule.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$new(connect, content, key, schedule)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-VariantSchedule-initialize}{}}}
+\subsection{\code{VariantSchedule$new()}}{
+ Initialize this schedule.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$new(connect, content, key, schedule)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{connect}}{The \code{Connect} instance.}
+ \item{\code{content}}{The \code{Content} instance.}
+ \item{\code{key}}{The variant key.}
+ \item{\code{schedule}}{The schedule data.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{The \code{Connect} instance.}
-
-\item{\code{content}}{The \code{Content} instance.}
-
-\item{\code{key}}{The variant key.}
-
-\item{\code{schedule}}{The schedule data.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-GET}{}}}
-\subsection{Method \code{GET()}}{
-Perform an HTTP GET request of the named API path. Returns an object parsed from the HTTP response.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$GET(path)}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$GET()}}{
+ Perform an HTTP GET request of the named API path. Returns an object parsed from the HTTP response.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$GET(path)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{path}}{API path.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{path}}{API path.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-POST}{}}}
-\subsection{Method \code{POST()}}{
-Perform an HTTP POST request of the named API path. Returns an object parsed from the HTTP response.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$POST(path, body)}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$POST()}}{
+ Perform an HTTP POST request of the named API path. Returns an object parsed from the HTTP response.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$POST(path, body)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{path}}{API path.}
+ \item{\code{body}}{The HTTP payload.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{path}}{API path.}
-
-\item{\code{body}}{The HTTP payload.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-DELETE}{}}}
-\subsection{Method \code{DELETE()}}{
-Perform an HTTP DELETE request of the named API path. Returns the HTTP response object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$DELETE(path)}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$DELETE()}}{
+ Perform an HTTP DELETE request of the named API path. Returns the HTTP response object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$DELETE(path)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{path}}{API path.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{path}}{API path.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-set_schedule}{}}}
-\subsection{Method \code{set_schedule()}}{
-Set the schedule for this variant
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$set_schedule(...)}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$set_schedule()}}{
+ Set the schedule for this variant
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$set_schedule(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Schedule fields.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Schedule fields.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-is_empty}{}}}
-\subsection{Method \code{is_empty()}}{
-Return if this variant has a schedule.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$is_empty()}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$is_empty()}}{
+ Return if this variant has a schedule.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$is_empty()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-print}{}}}
-\subsection{Method \code{print()}}{
-Print this object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$print(...)}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$print()}}{
+ Print this object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Unused.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Unused.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-get_schedule}{}}}
-\subsection{Method \code{get_schedule()}}{
-Get the schedule data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$get_schedule()}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$get_schedule()}}{
+ Get the schedule data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$get_schedule()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-get_schedule_remote}{}}}
-\subsection{Method \code{get_schedule_remote()}}{
-Get and store the (remote) schedule data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$get_schedule_remote()}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$get_schedule_remote()}}{
+ Get and store the (remote) schedule data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$get_schedule_remote()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-describe_schedule}{}}}
-\subsection{Method \code{describe_schedule()}}{
-Description of the associated schedule.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$describe_schedule()}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$describe_schedule()}}{
+ Description of the associated schedule.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$describe_schedule()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantSchedule-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantSchedule$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{VariantSchedule$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantSchedule$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/VariantTask.Rd b/man/VariantTask.Rd
index 6bb765801..5c244dda3 100644
--- a/man/VariantTask.Rd
+++ b/man/VariantTask.Rd
@@ -4,15 +4,10 @@
\alias{VariantTask}
\title{VariantTask}
\description{
-VariantTask
-
-VariantTask
-}
-\details{
An R6 class that represents a Variant Task
}
\seealso{
-Other R6 classes:
+Other R6 classes:
\code{\link{Bundle}},
\code{\link{Content}},
\code{\link{ContentTask}},
@@ -25,163 +20,170 @@ Other R6 classes:
}
\concept{R6 classes}
\section{Super classes}{
-\code{\link[connectapi:Content]{connectapi::Content}} -> \code{\link[connectapi:Variant]{connectapi::Variant}} -> \code{VariantTask}
+\code{\link[connectapi:Content]{Content}} -> \code{\link[connectapi:Variant]{Variant}} -> \code{VariantTask}
}
\section{Public fields}{
-\if{html}{\out{}}
-\describe{
-\item{\code{task}}{The task.}
+ \if{html}{\out{
}}
+ \describe{
+ \item{\code{task}}{The task.}
-\item{\code{data}}{The variant data.}
-}
-\if{html}{\out{
}}
+ \item{\code{data}}{The variant data.}
+ }
+ \if{html}{\out{
}}
}
\section{Methods}{
\subsection{Public methods}{
-\itemize{
-\item \href{#method-VariantTask-new}{\code{VariantTask$new()}}
-\item \href{#method-VariantTask-get_task}{\code{VariantTask$get_task()}}
-\item \href{#method-VariantTask-add_data}{\code{VariantTask$add_data()}}
-\item \href{#method-VariantTask-get_data}{\code{VariantTask$get_data()}}
-\item \href{#method-VariantTask-print}{\code{VariantTask$print()}}
-\item \href{#method-VariantTask-clone}{\code{VariantTask$clone()}}
-}
-}
-\if{html}{\out{
-Inherited methods
+ \itemize{
+ \item \href{#method-VariantTask-initialize}{\code{VariantTask$new()}}
+ \item \href{#method-VariantTask-get_task}{\code{VariantTask$get_task()}}
+ \item \href{#method-VariantTask-add_data}{\code{VariantTask$add_data()}}
+ \item \href{#method-VariantTask-get_data}{\code{VariantTask$get_data()}}
+ \item \href{#method-VariantTask-print}{\code{VariantTask$print()}}
+ \item \href{#method-VariantTask-clone}{\code{VariantTask$clone()}}
+ }
+}
+\if{html}{\out{Inherited methods
-
-}}
+ }}
\if{html}{\out{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-VariantTask-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize this variant task.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantTask$new(connect, content, key, task)}\if{html}{\out{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-VariantTask-initialize}{}}}
+\subsection{\code{VariantTask$new()}}{
+ Initialize this variant task.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantTask$new(connect, content, key, task)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{connect}}{The \code{Connect} instance.}
+ \item{\code{content}}{The \code{Content} instance.}
+ \item{\code{key}}{The variant key.}
+ \item{\code{task}}{The task data.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{connect}}{The \code{Connect} instance.}
-
-\item{\code{content}}{The \code{Content} instance.}
-
-\item{\code{key}}{The variant key.}
-
-\item{\code{task}}{The task data.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantTask-get_task}{}}}
-\subsection{Method \code{get_task()}}{
-Return the underlying task.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantTask$get_task()}\if{html}{\out{
}}
+\subsection{\code{VariantTask$get_task()}}{
+ Return the underlying task.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantTask$get_task()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantTask-add_data}{}}}
-\subsection{Method \code{add_data()}}{
-Set the data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantTask$add_data(data)}\if{html}{\out{
}}
+\subsection{\code{VariantTask$add_data()}}{
+ Set the data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantTask$add_data(data)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{data}}{The data.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{data}}{The data.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantTask-get_data}{}}}
-\subsection{Method \code{get_data()}}{
-Get the data.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantTask$get_data()}\if{html}{\out{
}}
+\subsection{\code{VariantTask$get_data()}}{
+ Get the data.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantTask$get_data()}
+ \if{html}{\out{
}}
+ }
}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantTask-print}{}}}
-\subsection{Method \code{print()}}{
-Print this object.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantTask$print(...)}\if{html}{\out{
}}
+\subsection{\code{VariantTask$print()}}{
+ Print this object.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantTask$print(...)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{...}}{Unused.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{...}}{Unused.}
-}
-\if{html}{\out{
}}
-}
-}
\if{html}{\out{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-VariantTask-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{}}\preformatted{VariantTask$clone(deep = FALSE)}\if{html}{\out{
}}
+\subsection{\code{VariantTask$clone()}}{
+ The objects of this class are cloneable with this method.
+ \subsection{Usage}{
+ \if{html}{\out{}}
+ \preformatted{VariantTask$clone(deep = FALSE)}
+ \if{html}{\out{
}}
+ }
+ \subsection{Arguments}{
+ \if{html}{\out{}}
+ \describe{
+ \item{\code{deep}}{Whether to make a deep clone.}
+ }
+ \if{html}{\out{
}}
+ }
}
-\subsection{Arguments}{
-\if{html}{\out{}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{
}}
-}
-}
}
diff --git a/man/audit_access_open.Rd b/man/audit_access_open.Rd
index 42485675b..513a66b05 100644
--- a/man/audit_access_open.Rd
+++ b/man/audit_access_open.Rd
@@ -17,9 +17,9 @@ apps whose access control is set to "All logged in users"}
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}}
}
\seealso{
-Other audit functions:
-\code{\link{audit_r_versions}()},
-\code{\link{audit_runas}()},
-\code{\link{vanity_is_available}()}
+Other audit functions:
+\code{\link[=audit_r_versions]{audit_r_versions()}},
+\code{\link[=audit_runas]{audit_runas()}},
+\code{\link[=vanity_is_available]{vanity_is_available()}}
}
\concept{audit functions}
diff --git a/man/audit_r_versions.Rd b/man/audit_r_versions.Rd
index 71c2f5fce..1143b4ea1 100644
--- a/man/audit_r_versions.Rd
+++ b/man/audit_r_versions.Rd
@@ -17,9 +17,9 @@ aggregate.
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}}
}
\seealso{
-Other audit functions:
-\code{\link{audit_access_open}()},
-\code{\link{audit_runas}()},
-\code{\link{vanity_is_available}()}
+Other audit functions:
+\code{\link[=audit_access_open]{audit_access_open()}},
+\code{\link[=audit_runas]{audit_runas()}},
+\code{\link[=vanity_is_available]{vanity_is_available()}}
}
\concept{audit functions}
diff --git a/man/audit_runas.Rd b/man/audit_runas.Rd
index dd6862296..b81d27b7d 100644
--- a/man/audit_runas.Rd
+++ b/man/audit_runas.Rd
@@ -17,9 +17,9 @@ is not the default
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}}
}
\seealso{
-Other audit functions:
-\code{\link{audit_access_open}()},
-\code{\link{audit_r_versions}()},
-\code{\link{vanity_is_available}()}
+Other audit functions:
+\code{\link[=audit_access_open]{audit_access_open()}},
+\code{\link[=audit_r_versions]{audit_r_versions()}},
+\code{\link[=vanity_is_available]{vanity_is_available()}}
}
\concept{audit functions}
diff --git a/man/bundle_dir.Rd b/man/bundle_dir.Rd
index 47d7c865a..6ade1f745 100644
--- a/man/bundle_dir.Rd
+++ b/man/bundle_dir.Rd
@@ -27,11 +27,11 @@ bundle_dir(system.file("tests/testthat/examples/shiny/", package = "connectapi")
\dontshow{\}) # examplesIf}
}
\seealso{
-Other deployment functions:
-\code{\link{bundle_path}()},
-\code{\link{bundle_static}()},
-\code{\link{deploy}()},
-\code{\link{download_bundle}()},
-\code{\link{poll_task}()}
+Other deployment functions:
+\code{\link[=bundle_path]{bundle_path()}},
+\code{\link[=bundle_static]{bundle_static()}},
+\code{\link[=deploy]{deploy()}},
+\code{\link[=download_bundle]{download_bundle()}},
+\code{\link[=poll_task]{poll_task()}}
}
\concept{deployment functions}
diff --git a/man/bundle_path.Rd b/man/bundle_path.Rd
index 586e0d119..bffe7b969 100644
--- a/man/bundle_path.Rd
+++ b/man/bundle_path.Rd
@@ -22,11 +22,11 @@ bundle_path(system.file("tests/testthat/examples/static.tar.gz", package = "conn
\dontshow{\}) # examplesIf}
}
\seealso{
-Other deployment functions:
-\code{\link{bundle_dir}()},
-\code{\link{bundle_static}()},
-\code{\link{deploy}()},
-\code{\link{download_bundle}()},
-\code{\link{poll_task}()}
+Other deployment functions:
+\code{\link[=bundle_dir]{bundle_dir()}},
+\code{\link[=bundle_static]{bundle_static()}},
+\code{\link[=deploy]{deploy()}},
+\code{\link[=download_bundle]{download_bundle()}},
+\code{\link[=poll_task]{poll_task()}}
}
\concept{deployment functions}
diff --git a/man/bundle_static.Rd b/man/bundle_static.Rd
index 0a7559598..0ca9a5216 100644
--- a/man/bundle_static.Rd
+++ b/man/bundle_static.Rd
@@ -32,11 +32,11 @@ bundle_static(system.file("logo.png", package = "connectapi"))
\dontshow{\}) # examplesIf}
}
\seealso{
-Other deployment functions:
-\code{\link{bundle_dir}()},
-\code{\link{bundle_path}()},
-\code{\link{deploy}()},
-\code{\link{download_bundle}()},
-\code{\link{poll_task}()}
+Other deployment functions:
+\code{\link[=bundle_dir]{bundle_dir()}},
+\code{\link[=bundle_path]{bundle_path()}},
+\code{\link[=deploy]{deploy()}},
+\code{\link[=download_bundle]{download_bundle()}},
+\code{\link[=poll_task]{poll_task()}}
}
\concept{deployment functions}
diff --git a/man/connectapi-package.Rd b/man/connectapi-package.Rd
index ea685ca8d..8e8dce516 100644
--- a/man/connectapi-package.Rd
+++ b/man/connectapi-package.Rd
@@ -5,11 +5,11 @@
\alias{connectapi-package}
\title{connectapi: Utilities for Interacting with the 'Posit Connect' Server API}
\description{
-\if{html}{\figure{logo.png}{options: style='float: right' alt='logo' width='120'}}
+\if{html}{\figure{logo.svg}{options: style='float: right' alt='logo' width='120'}}
Provides a helpful 'R6' class and methods for interacting with the 'Posit Connect' Server API along with some meaningful utility functions for regular tasks. API documentation varies by 'Posit Connect' installation and version, but the latest documentation is also hosted publicly at \url{https://docs.posit.co/connect/api/}.
-\if{html}{\figure{logo.png}{options: style='float: right' alt='logo' width='120'}}
+\if{html}{\figure{logo.svg}{options: style='float: right' alt='logo' width='120'}}
Provides a helpful 'R6' class and methods for interacting with the 'Posit Connect' Server API along with some meaningful utility functions for regular tasks. API documentation varies by 'Posit Connect' installation and version, but the latest documentation is also hosted publicly at \url{https://docs.posit.co/connect/api/}.
}
@@ -21,20 +21,13 @@ Useful links:
\item Report bugs at \url{https://github.com/posit-dev/connectapi/issues}
}
-
-Useful links:
-\itemize{
- \item \url{https://posit-dev.github.io/connectapi/}
- \item \url{https://github.com/posit-dev/connectapi}
- \item Report bugs at \url{https://github.com/posit-dev/connectapi/issues}
-}
-
}
\author{
\strong{Maintainer}: Kara Woo \email{kara.woo@posit.co}
Authors:
\itemize{
+ \item Kara Woo \email{kara.woo@posit.co}
\item Toph Allen \email{toph@posit.co}
\item Neal Richardson
\item Sean Lopp
diff --git a/man/content_delete.Rd b/man/content_delete.Rd
index 93b03f724..3aeee6e81 100644
--- a/man/content_delete.Rd
+++ b/man/content_delete.Rd
@@ -19,33 +19,33 @@ Delete a content item. WARNING: This action deletes all history, configuration,
logs, and resources about a content item. It \emph{cannot} be undone.
}
\seealso{
-Other content functions:
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/content_item.Rd b/man/content_item.Rd
index f4f8e3fe6..9060ff0c9 100644
--- a/man/content_item.Rd
+++ b/man/content_item.Rd
@@ -25,33 +25,33 @@ connect() \%>\%
}
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/content_title.Rd b/man/content_title.Rd
index 7d7b6d687..543018d2b 100644
--- a/man/content_title.Rd
+++ b/man/content_title.Rd
@@ -21,33 +21,33 @@ Return content title for a piece of content. If the content
is missing (deleted) or not visible, then returns the \code{default}
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/content_update.Rd b/man/content_update.Rd
index 243d3cdf4..c3111a658 100644
--- a/man/content_update.Rd
+++ b/man/content_update.Rd
@@ -41,33 +41,33 @@ etc.
}
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/create_integration.Rd b/man/create_integration.Rd
index f7f72a079..52b30dca0 100644
--- a/man/create_integration.Rd
+++ b/man/create_integration.Rd
@@ -71,12 +71,12 @@ custom_integration <- create_integration(
\code{\link[=get_integrations]{get_integrations()}}, \code{\link[=get_integration]{get_integration()}}, \code{\link[=update_integration]{update_integration()}},
\code{\link[=delete_integration]{delete_integration()}}
-Other oauth integration functions:
-\code{\link{delete_integration}()},
-\code{\link{get_associations}()},
-\code{\link{get_integration}()},
-\code{\link{get_integrations}()},
-\code{\link{set_integrations}()},
-\code{\link{update_integration}()}
+Other oauth integration functions:
+\code{\link[=delete_integration]{delete_integration()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_integration]{get_integration()}},
+\code{\link[=get_integrations]{get_integrations()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=update_integration]{update_integration()}}
}
\concept{oauth integration functions}
diff --git a/man/create_random_name.Rd b/man/create_random_name.Rd
index ff92e7871..924444faa 100644
--- a/man/create_random_name.Rd
+++ b/man/create_random_name.Rd
@@ -18,33 +18,33 @@ Creates a random name from the LETTERS dataset
\seealso{
connectapi::verify_content_name
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/dashboard_url.Rd b/man/dashboard_url.Rd
index bc876a78c..9cb0efdac 100644
--- a/man/dashboard_url.Rd
+++ b/man/dashboard_url.Rd
@@ -18,33 +18,33 @@ character The dashboard URL for the content provided
Returns the URL for the content dashboard (opened to the selected pane).
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/delete_integration.Rd b/man/delete_integration.Rd
index 416e63841..a4cd6a43f 100644
--- a/man/delete_integration.Rd
+++ b/man/delete_integration.Rd
@@ -39,12 +39,12 @@ delete_integration(integration)
\code{\link[=get_integrations]{get_integrations()}}, \code{\link[=get_integration]{get_integration()}}, \code{\link[=create_integration]{create_integration()}},
\code{\link[=update_integration]{update_integration()}}
-Other oauth integration functions:
-\code{\link{create_integration}()},
-\code{\link{get_associations}()},
-\code{\link{get_integration}()},
-\code{\link{get_integrations}()},
-\code{\link{set_integrations}()},
-\code{\link{update_integration}()}
+Other oauth integration functions:
+\code{\link[=create_integration]{create_integration()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_integration]{get_integration()}},
+\code{\link[=get_integrations]{get_integrations()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=update_integration]{update_integration()}}
}
\concept{oauth integration functions}
diff --git a/man/delete_runtime_cache.Rd b/man/delete_runtime_cache.Rd
index 8c658d071..6baf919d1 100644
--- a/man/delete_runtime_cache.Rd
+++ b/man/delete_runtime_cache.Rd
@@ -44,7 +44,7 @@ poll_task(task)
\seealso{
\code{\link[=get_runtime_caches]{get_runtime_caches()}}
-Other server management functions:
-\code{\link{get_runtime_caches}()}
+Other server management functions:
+\code{\link[=get_runtime_caches]{get_runtime_caches()}}
}
\concept{server management functions}
diff --git a/man/delete_thumbnail.Rd b/man/delete_thumbnail.Rd
index 5e58a6282..32be1f3f6 100644
--- a/man/delete_thumbnail.Rd
+++ b/man/delete_thumbnail.Rd
@@ -24,39 +24,39 @@ thumbnail <- get_thumbnail(item)
}
\seealso{
-Other thumbnail functions:
-\code{\link{get_thumbnail}()},
-\code{\link{has_thumbnail}()},
-\code{\link{set_thumbnail}()}
+Other thumbnail functions:
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}}
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
\concept{thumbnail functions}
diff --git a/man/delete_vanity_url.Rd b/man/delete_vanity_url.Rd
index 6d7d8b231..064e60ca8 100644
--- a/man/delete_vanity_url.Rd
+++ b/man/delete_vanity_url.Rd
@@ -13,33 +13,33 @@ delete_vanity_url(content)
Delete the vanity URL for a piece of content.
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/deploy.Rd b/man/deploy.Rd
index 977e992e3..968300873 100644
--- a/man/deploy.Rd
+++ b/man/deploy.Rd
@@ -70,11 +70,11 @@ deploy(client, bnd)
\seealso{
connectapi::content_update
-Other deployment functions:
-\code{\link{bundle_dir}()},
-\code{\link{bundle_path}()},
-\code{\link{bundle_static}()},
-\code{\link{download_bundle}()},
-\code{\link{poll_task}()}
+Other deployment functions:
+\code{\link[=bundle_dir]{bundle_dir()}},
+\code{\link[=bundle_path]{bundle_path()}},
+\code{\link[=bundle_static]{bundle_static()}},
+\code{\link[=download_bundle]{download_bundle()}},
+\code{\link[=poll_task]{poll_task()}}
}
\concept{deployment functions}
diff --git a/man/deploy_repo.Rd b/man/deploy_repo.Rd
index 741c6e7fe..c4e06cd29 100644
--- a/man/deploy_repo.Rd
+++ b/man/deploy_repo.Rd
@@ -56,33 +56,33 @@ repository, if any are present
\seealso{
connectapi::poll_task, connectapi::repo_check_branches, connectapi::repo_check_manifest_dirs
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/download_bundle.Rd b/man/download_bundle.Rd
index e6a747b41..a043540fa 100644
--- a/man/download_bundle.Rd
+++ b/man/download_bundle.Rd
@@ -28,11 +28,11 @@ Bundle A bundle object
Downloads a Content item's active bundle, or (optionally) one of its other bundles.
}
\seealso{
-Other deployment functions:
-\code{\link{bundle_dir}()},
-\code{\link{bundle_path}()},
-\code{\link{bundle_static}()},
-\code{\link{deploy}()},
-\code{\link{poll_task}()}
+Other deployment functions:
+\code{\link[=bundle_dir]{bundle_dir()}},
+\code{\link[=bundle_path]{bundle_path()}},
+\code{\link[=bundle_static]{bundle_static()}},
+\code{\link[=deploy]{deploy()}},
+\code{\link[=poll_task]{poll_task()}}
}
\concept{deployment functions}
diff --git a/man/environment.Rd b/man/environment.Rd
index 5b3ae2404..eb2f392e4 100644
--- a/man/environment.Rd
+++ b/man/environment.Rd
@@ -38,33 +38,33 @@ allows removing named / listed variables quickly
variables not specified)
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/get_associations.Rd b/man/get_associations.Rd
index f3c905e21..df10727b5 100644
--- a/man/get_associations.Rd
+++ b/man/get_associations.Rd
@@ -47,42 +47,42 @@ my_app_integrations <- purrr::map(
\seealso{
\code{\link[=set_integrations]{set_integrations()}}, \code{\link[=get_integrations]{get_integrations()}}, \code{\link[=get_integration]{get_integration()}}
-Other oauth integration functions:
-\code{\link{create_integration}()},
-\code{\link{delete_integration}()},
-\code{\link{get_integration}()},
-\code{\link{get_integrations}()},
-\code{\link{set_integrations}()},
-\code{\link{update_integration}()}
+Other oauth integration functions:
+\code{\link[=create_integration]{create_integration()}},
+\code{\link[=delete_integration]{delete_integration()}},
+\code{\link[=get_integration]{get_integration()}},
+\code{\link[=get_integrations]{get_integrations()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=update_integration]{update_integration()}}
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
\concept{oauth integration functions}
diff --git a/man/get_bundles.Rd b/man/get_bundles.Rd
index 6ac39d740..fdb952ab9 100644
--- a/man/get_bundles.Rd
+++ b/man/get_bundles.Rd
@@ -18,62 +18,33 @@ delete_bundle(content, bundle_id)
Lists bundles for a content item
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
-
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
-\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
-\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/get_content_packages.Rd b/man/get_content_packages.Rd
index 389582d7c..2f7988dcd 100644
--- a/man/get_content_packages.Rd
+++ b/man/get_content_packages.Rd
@@ -30,7 +30,7 @@ packages <- get_content_packages(item)
}
\seealso{
-Other packages functions:
-\code{\link{get_packages}()}
+Other packages functions:
+\code{\link[=get_packages]{get_packages()}}
}
\concept{packages functions}
diff --git a/man/get_group_content.Rd b/man/get_group_content.Rd
index dd2d7b333..9baed9cb0 100644
--- a/man/get_group_content.Rd
+++ b/man/get_group_content.Rd
@@ -47,8 +47,8 @@ get_group_content(client, groups$guid)
}
\seealso{
-Other groups functions:
-\code{\link{get_group_members}()},
-\code{\link{get_groups}()}
+Other groups functions:
+\code{\link[=get_group_members]{get_group_members()}},
+\code{\link[=get_groups]{get_groups()}}
}
\concept{groups functions}
diff --git a/man/get_group_members.Rd b/man/get_group_members.Rd
index 8b8e85862..9442cee6f 100644
--- a/man/get_group_members.Rd
+++ b/man/get_group_members.Rd
@@ -55,8 +55,8 @@ get_group_members(client, guid = group_guid)
}
\seealso{
-Other groups functions:
-\code{\link{get_group_content}()},
-\code{\link{get_groups}()}
+Other groups functions:
+\code{\link[=get_group_content]{get_group_content()}},
+\code{\link[=get_groups]{get_groups()}}
}
\concept{groups functions}
diff --git a/man/get_groups.Rd b/man/get_groups.Rd
index f5ec64f4f..07e135fd6 100644
--- a/man/get_groups.Rd
+++ b/man/get_groups.Rd
@@ -45,8 +45,8 @@ get_groups(client, limit = Inf)
}
\seealso{
-Other groups functions:
-\code{\link{get_group_content}()},
-\code{\link{get_group_members}()}
+Other groups functions:
+\code{\link[=get_group_content]{get_group_content()}},
+\code{\link[=get_group_members]{get_group_members()}}
}
\concept{groups functions}
diff --git a/man/get_integration.Rd b/man/get_integration.Rd
index b7a8055b4..e47af3653 100644
--- a/man/get_integration.Rd
+++ b/man/get_integration.Rd
@@ -45,12 +45,12 @@ x <- get_integration(client, guid)
\seealso{
\code{\link[=get_integrations]{get_integrations()}}, \code{\link[=get_associations]{get_associations()}}, \code{\link[=set_integrations]{set_integrations()}}
-Other oauth integration functions:
-\code{\link{create_integration}()},
-\code{\link{delete_integration}()},
-\code{\link{get_associations}()},
-\code{\link{get_integrations}()},
-\code{\link{set_integrations}()},
-\code{\link{update_integration}()}
+Other oauth integration functions:
+\code{\link[=create_integration]{create_integration()}},
+\code{\link[=delete_integration]{delete_integration()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_integrations]{get_integrations()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=update_integration]{update_integration()}}
}
\concept{oauth integration functions}
diff --git a/man/get_integrations.Rd b/man/get_integrations.Rd
index 25b354a0f..37089a56f 100644
--- a/man/get_integrations.Rd
+++ b/man/get_integrations.Rd
@@ -65,12 +65,12 @@ snowflake_integrations <- purrr::keep(content_integrations, ~ .x$template == "sn
\seealso{
\code{\link[=get_integration]{get_integration()}}, \code{\link[=set_integrations]{set_integrations()}}, \code{\link[=get_associations]{get_associations()}}
-Other oauth integration functions:
-\code{\link{create_integration}()},
-\code{\link{delete_integration}()},
-\code{\link{get_associations}()},
-\code{\link{get_integration}()},
-\code{\link{set_integrations}()},
-\code{\link{update_integration}()}
+Other oauth integration functions:
+\code{\link[=create_integration]{create_integration()}},
+\code{\link[=delete_integration]{delete_integration()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_integration]{get_integration()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=update_integration]{update_integration()}}
}
\concept{oauth integration functions}
diff --git a/man/get_jobs.Rd b/man/get_jobs.Rd
index 3d8279c45..fce72f8e8 100644
--- a/man/get_jobs.Rd
+++ b/man/get_jobs.Rd
@@ -92,38 +92,38 @@ job_list <- get_job_list(item)
}
\seealso{
-Other job functions:
-\code{\link{get_log}()},
-\code{\link{terminate_jobs}()}
+Other job functions:
+\code{\link[=get_log]{get_log()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}}
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
\concept{job functions}
diff --git a/man/get_log.Rd b/man/get_log.Rd
index 7a1cc5845..398ae0b50 100644
--- a/man/get_log.Rd
+++ b/man/get_log.Rd
@@ -39,38 +39,38 @@ log <- get_log(jobs[[1]])
}
\seealso{
-Other job functions:
-\code{\link{get_jobs}()},
-\code{\link{terminate_jobs}()}
+Other job functions:
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}}
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
\concept{job functions}
diff --git a/man/get_packages.Rd b/man/get_packages.Rd
index a7435c8ae..66f3bcba1 100644
--- a/man/get_packages.Rd
+++ b/man/get_packages.Rd
@@ -45,7 +45,7 @@ packages <- get_packages(client)
}
\seealso{
-Other packages functions:
-\code{\link{get_content_packages}()}
+Other packages functions:
+\code{\link[=get_content_packages]{get_content_packages()}}
}
\concept{packages functions}
diff --git a/man/get_runtime_caches.Rd b/man/get_runtime_caches.Rd
index 91a46ab39..86b42a953 100644
--- a/man/get_runtime_caches.Rd
+++ b/man/get_runtime_caches.Rd
@@ -28,7 +28,7 @@ get_runtime_caches(client)
\seealso{
\code{\link[=delete_runtime_cache]{delete_runtime_cache()}}
-Other server management functions:
-\code{\link{delete_runtime_cache}()}
+Other server management functions:
+\code{\link[=delete_runtime_cache]{delete_runtime_cache()}}
}
\concept{server management functions}
diff --git a/man/get_thumbnail.Rd b/man/get_thumbnail.Rd
index fdd952ca2..e9f232e97 100644
--- a/man/get_thumbnail.Rd
+++ b/man/get_thumbnail.Rd
@@ -29,39 +29,39 @@ thumbnail <- get_thumbnail(item)
}
\seealso{
-Other thumbnail functions:
-\code{\link{delete_thumbnail}()},
-\code{\link{has_thumbnail}()},
-\code{\link{set_thumbnail}()}
+Other thumbnail functions:
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}}
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
\concept{thumbnail functions}
diff --git a/man/get_timezones.Rd b/man/get_timezones.Rd
index bf2cc59a6..03be2122b 100644
--- a/man/get_timezones.Rd
+++ b/man/get_timezones.Rd
@@ -16,8 +16,8 @@ A TimeZone vector to be used for setting time zones
Get the available timezones from the server.
}
\seealso{
-Other schedule functions:
-\code{\link{get_variant_schedule}()},
-\code{\link{set_schedule}()}
+Other schedule functions:
+\code{\link[=get_variant_schedule]{get_variant_schedule()}},
+\code{\link[=set_schedule]{set_schedule()}}
}
\concept{schedule functions}
diff --git a/man/get_vanity_url.Rd b/man/get_vanity_url.Rd
index 48f55be5d..df6d2e6e8 100644
--- a/man/get_vanity_url.Rd
+++ b/man/get_vanity_url.Rd
@@ -16,33 +16,33 @@ A character string (or NULL if not defined)
Get the vanity URL for a piece of content.
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/get_variant_schedule.Rd b/man/get_variant_schedule.Rd
index eb6ec3cd5..9bb4f7e24 100644
--- a/man/get_variant_schedule.Rd
+++ b/man/get_variant_schedule.Rd
@@ -16,8 +16,8 @@ A VariantSchedule object
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} Gets the schedule associated with a Variant.
}
\seealso{
-Other schedule functions:
-\code{\link{get_timezones}()},
-\code{\link{set_schedule}()}
+Other schedule functions:
+\code{\link[=get_timezones]{get_timezones()}},
+\code{\link[=set_schedule]{set_schedule()}}
}
\concept{schedule functions}
diff --git a/man/git.Rd b/man/git.Rd
index 749f4f18a..3fe97af83 100644
--- a/man/git.Rd
+++ b/man/git.Rd
@@ -41,33 +41,33 @@ deployment using \code{deploy_repo()}
\seealso{
connectapi::deploy_repo
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/has_thumbnail.Rd b/man/has_thumbnail.Rd
index 7e706d2b7..e9c36f198 100644
--- a/man/has_thumbnail.Rd
+++ b/man/has_thumbnail.Rd
@@ -25,39 +25,39 @@ has_thumbnail(item)
}
\seealso{
-Other thumbnail functions:
-\code{\link{delete_thumbnail}()},
-\code{\link{get_thumbnail}()},
-\code{\link{set_thumbnail}()}
+Other thumbnail functions:
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}}
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{lock_content}()},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
\concept{thumbnail functions}
diff --git a/man/lock_content.Rd b/man/lock_content.Rd
index 51fd64797..43c6cfae9 100644
--- a/man/lock_content.Rd
+++ b/man/lock_content.Rd
@@ -43,33 +43,33 @@ content <- unlock_content(content)
}
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/permissions.Rd b/man/permissions.Rd
index 46a5f161d..9f8a2873c 100644
--- a/man/permissions.Rd
+++ b/man/permissions.Rd
@@ -63,33 +63,33 @@ NOTE: by default, the owner is injected with an "NA_character_" permission id.
This makes it easier to find / isolate this record.
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/poll_task.Rd b/man/poll_task.Rd
index 2e19fe111..9fd153ab1 100644
--- a/man/poll_task.Rd
+++ b/man/poll_task.Rd
@@ -25,11 +25,11 @@ available to retrieve the results.
For a simple way to silence messages, set \code{callback = NULL}
}
\seealso{
-Other deployment functions:
-\code{\link{bundle_dir}()},
-\code{\link{bundle_path}()},
-\code{\link{bundle_static}()},
-\code{\link{deploy}()},
-\code{\link{download_bundle}()}
+Other deployment functions:
+\code{\link[=bundle_dir]{bundle_dir()}},
+\code{\link[=bundle_path]{bundle_path()}},
+\code{\link[=bundle_static]{bundle_static()}},
+\code{\link[=deploy]{deploy()}},
+\code{\link[=download_bundle]{download_bundle()}}
}
\concept{deployment functions}
diff --git a/man/search_content.Rd b/man/search_content.Rd
index 4f056571c..01837bb3a 100644
--- a/man/search_content.Rd
+++ b/man/search_content.Rd
@@ -58,33 +58,33 @@ purrr::map(shiny_content, lock_content)
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/set_integrations.Rd b/man/set_integrations.Rd
index 132466515..04dbc833f 100644
--- a/man/set_integrations.Rd
+++ b/man/set_integrations.Rd
@@ -47,42 +47,42 @@ set_integrations(content, NULL)
\seealso{
\code{\link[=get_integrations]{get_integrations()}}, \code{\link[=get_integration]{get_integration()}}, \code{\link[=get_associations]{get_associations()}}, \code{\link[=content_item]{content_item()}}
-Other oauth integration functions:
-\code{\link{create_integration}()},
-\code{\link{delete_integration}()},
-\code{\link{get_associations}()},
-\code{\link{get_integration}()},
-\code{\link{get_integrations}()},
-\code{\link{update_integration}()}
+Other oauth integration functions:
+\code{\link[=create_integration]{create_integration()}},
+\code{\link[=delete_integration]{delete_integration()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_integration]{get_integration()}},
+\code{\link[=get_integrations]{get_integrations()}},
+\code{\link[=update_integration]{update_integration()}}
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
\concept{oauth integration functions}
diff --git a/man/set_run_as.Rd b/man/set_run_as.Rd
index c1f2cca9b..b8ce1837f 100644
--- a/man/set_run_as.Rd
+++ b/man/set_run_as.Rd
@@ -36,33 +36,33 @@ To "read" the current RunAs user, use the \code{Content} object or \code{get_con
\seealso{
connectapi::content_update
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/set_schedule.Rd b/man/set_schedule.Rd
index 6a68fc75d..9dd40c453 100644
--- a/man/set_schedule.Rd
+++ b/man/set_schedule.Rd
@@ -160,8 +160,8 @@ directly, and so can be a little clunky. Using the \verb{set_schedule_*()} is ge
recommended.
}
\seealso{
-Other schedule functions:
-\code{\link{get_timezones}()},
-\code{\link{get_variant_schedule}()}
+Other schedule functions:
+\code{\link[=get_timezones]{get_timezones()}},
+\code{\link[=get_variant_schedule]{get_variant_schedule()}}
}
\concept{schedule functions}
diff --git a/man/set_thumbnail.Rd b/man/set_thumbnail.Rd
index 7f149525f..0b776de3d 100644
--- a/man/set_thumbnail.Rd
+++ b/man/set_thumbnail.Rd
@@ -28,39 +28,39 @@ set_thumbnail(item, "resources/image.png")
}
\seealso{
-Other thumbnail functions:
-\code{\link{delete_thumbnail}()},
-\code{\link{get_thumbnail}()},
-\code{\link{has_thumbnail}()}
+Other thumbnail functions:
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=has_thumbnail]{has_thumbnail()}}
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
\concept{thumbnail functions}
diff --git a/man/set_vanity_url.Rd b/man/set_vanity_url.Rd
index 3192ccc76..32f8bdfda 100644
--- a/man/set_vanity_url.Rd
+++ b/man/set_vanity_url.Rd
@@ -29,33 +29,33 @@ connect() \%>\%
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/swap_vanity_urls.Rd b/man/swap_vanity_urls.Rd
index a2bdbc04b..ad2b2888f 100644
--- a/man/swap_vanity_urls.Rd
+++ b/man/swap_vanity_urls.Rd
@@ -18,33 +18,33 @@ A list of the new vanity URLs for \code{content_a} and \code{content_b}
Swap the vanity URLs of two pieces of content.
}
\seealso{
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{terminate_jobs}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
diff --git a/man/terminate_jobs.Rd b/man/terminate_jobs.Rd
index 1a1856230..1095f4250 100644
--- a/man/terminate_jobs.Rd
+++ b/man/terminate_jobs.Rd
@@ -41,38 +41,38 @@ result <- terminate_jobs(item)
}
\seealso{
-Other job functions:
-\code{\link{get_jobs}()},
-\code{\link{get_log}()}
+Other job functions:
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}}
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{verify_content_name}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=verify_content_name]{verify_content_name()}}
}
\concept{content functions}
\concept{job functions}
diff --git a/man/update_integration.Rd b/man/update_integration.Rd
index a4ca7aaa5..c7072bf27 100644
--- a/man/update_integration.Rd
+++ b/man/update_integration.Rd
@@ -68,12 +68,12 @@ updated_integration <- update_integration(
\code{\link[=get_integrations]{get_integrations()}}, \code{\link[=get_integration]{get_integration()}}, \code{\link[=create_integration]{create_integration()}},
\code{\link[=delete_integration]{delete_integration()}}
-Other oauth integration functions:
-\code{\link{create_integration}()},
-\code{\link{delete_integration}()},
-\code{\link{get_associations}()},
-\code{\link{get_integration}()},
-\code{\link{get_integrations}()},
-\code{\link{set_integrations}()}
+Other oauth integration functions:
+\code{\link[=create_integration]{create_integration()}},
+\code{\link[=delete_integration]{delete_integration()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_integration]{get_integration()}},
+\code{\link[=get_integrations]{get_integrations()}},
+\code{\link[=set_integrations]{set_integrations()}}
}
\concept{oauth integration functions}
diff --git a/man/vanity_is_available.Rd b/man/vanity_is_available.Rd
index 3120e0c80..86c1ed87f 100644
--- a/man/vanity_is_available.Rd
+++ b/man/vanity_is_available.Rd
@@ -18,9 +18,9 @@ logical indicating if the vanity URL is available.
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}}
}
\seealso{
-Other audit functions:
-\code{\link{audit_access_open}()},
-\code{\link{audit_r_versions}()},
-\code{\link{audit_runas}()}
+Other audit functions:
+\code{\link[=audit_access_open]{audit_access_open()}},
+\code{\link[=audit_r_versions]{audit_r_versions()}},
+\code{\link[=audit_runas]{audit_runas()}}
}
\concept{audit functions}
diff --git a/man/variant.Rd b/man/variant.Rd
index 9eb154279..0b62cb5fc 100644
--- a/man/variant.Rd
+++ b/man/variant.Rd
@@ -28,13 +28,7 @@ get_variant_default(content)
}
}
\seealso{
-Other variant functions:
-\code{\link{get_variant_renderings}()}
-
-Other variant functions:
-\code{\link{get_variant_renderings}()}
-
-Other variant functions:
-\code{\link{get_variant_renderings}()}
+Other variant functions:
+\code{\link[=get_variant_renderings]{get_variant_renderings()}}
}
\concept{variant functions}
diff --git a/man/variant_render.Rd b/man/variant_render.Rd
index d9e6d1a2d..19ee2d421 100644
--- a/man/variant_render.Rd
+++ b/man/variant_render.Rd
@@ -23,7 +23,7 @@ or execute a variant on demand
}
}
\seealso{
-Other variant functions:
-\code{\link{get_variants}()}
+Other variant functions:
+\code{\link[=get_variants]{get_variants()}}
}
\concept{variant functions}
diff --git a/man/verify_content_name.Rd b/man/verify_content_name.Rd
index 530f9276f..5e96d1515 100644
--- a/man/verify_content_name.Rd
+++ b/man/verify_content_name.Rd
@@ -21,33 +21,33 @@ and underscores
\seealso{
connectapi::create_random_name
-Other content functions:
-\code{\link{content_delete}()},
-\code{\link{content_item}()},
-\code{\link{content_title}()},
-\code{\link{content_update}()},
-\code{\link{create_random_name}()},
-\code{\link{dashboard_url}()},
-\code{\link{delete_thumbnail}()},
-\code{\link{delete_vanity_url}()},
-\code{\link{deploy_repo}()},
-\code{\link{get_associations}()},
-\code{\link{get_bundles}()},
-\code{\link{get_environment}()},
-\code{\link{get_jobs}()},
-\code{\link{get_log}()},
-\code{\link{get_thumbnail}()},
-\code{\link{get_vanity_url}()},
+Other content functions:
+\code{\link[=content_delete]{content_delete()}},
+\code{\link[=content_item]{content_item()}},
+\code{\link[=content_title]{content_title()}},
+\code{\link[=content_update]{content_update()}},
+\code{\link[=create_random_name]{create_random_name()}},
+\code{\link[=dashboard_url]{dashboard_url()}},
+\code{\link[=delete_thumbnail]{delete_thumbnail()}},
+\code{\link[=delete_vanity_url]{delete_vanity_url()}},
+\code{\link[=deploy_repo]{deploy_repo()}},
+\code{\link[=get_associations]{get_associations()}},
+\code{\link[=get_bundles]{get_bundles()}},
+\code{\link[=get_environment]{get_environment()}},
+\code{\link[=get_jobs]{get_jobs()}},
+\code{\link[=get_log]{get_log()}},
+\code{\link[=get_thumbnail]{get_thumbnail()}},
+\code{\link[=get_vanity_url]{get_vanity_url()}},
\code{\link{git}},
-\code{\link{has_thumbnail}()},
-\code{\link{lock_content}()},
+\code{\link[=has_thumbnail]{has_thumbnail()}},
+\code{\link[=lock_content]{lock_content()}},
\code{\link{permissions}},
-\code{\link{search_content}()},
-\code{\link{set_integrations}()},
-\code{\link{set_run_as}()},
-\code{\link{set_thumbnail}()},
-\code{\link{set_vanity_url}()},
-\code{\link{swap_vanity_urls}()},
-\code{\link{terminate_jobs}()}
+\code{\link[=search_content]{search_content()}},
+\code{\link[=set_integrations]{set_integrations()}},
+\code{\link[=set_run_as]{set_run_as()}},
+\code{\link[=set_thumbnail]{set_thumbnail()}},
+\code{\link[=set_vanity_url]{set_vanity_url()}},
+\code{\link[=swap_vanity_urls]{swap_vanity_urls()}},
+\code{\link[=terminate_jobs]{terminate_jobs()}}
}
\concept{content functions}
diff --git a/tests/integrated/helper.R b/tests/integrated/helper.R
index 78dae1286..a1b9c62c1 100644
--- a/tests/integrated/helper.R
+++ b/tests/integrated/helper.R
@@ -1,11 +1,24 @@
-expect_ptype_equal <- function(actual, expected, exact = TRUE) {
+expect_column_types <- function(actual, expected_types, exact = TRUE) {
+ # expected_types is a named list: list(col_name = "type_string", ...)
if (!exact) {
- # Keep only the columns from each that are in the other
- shared_names <- intersect(names(actual), names(expected))
- actual <- actual[, shared_names]
- expected <- expected[, shared_names]
+ shared_names <- intersect(names(actual), names(expected_types))
+ expected_types <- expected_types[shared_names]
+ }
+ for (nm in names(expected_types)) {
+ expect_true(
+ nm %in% names(actual),
+ info = paste("Expected column", nm, "not found")
+ )
+ if (nm %in% names(actual)) {
+ expect_true(
+ inherits(actual[[nm]], expected_types[[nm]]),
+ info = paste0(
+ "Column '", nm, "': expected ", expected_types[[nm]],
+ ", got ", paste(class(actual[[nm]]), collapse = "/")
+ )
+ )
+ }
}
- expect_equal(vctrs::vec_ptype(actual), vctrs::vec_ptype(expected))
}
skip_if_connect_older_than <- function(client, version) {
diff --git a/tests/integrated/test-get.R b/tests/integrated/test-get.R
index 30e347f59..27b4d8474 100644
--- a/tests/integrated/test-get.R
+++ b/tests/integrated/test-get.R
@@ -10,7 +10,11 @@ test_that("get_users works", {
users <- get_users(client)
expect_s3_class(users, c("tbl_df", "tbl", "data.frame"))
- expect_ptype_equal(users, connectapi_ptypes$users, exact = FALSE)
+
+ expect_true("guid" %in% names(users))
+ expect_true("email" %in% names(users))
+ expect_true("username" %in% names(users))
+ expect_s3_class(users$created_time, "POSIXct")
# Other tests create users, so specifying the exact number here is conditional
# on the contents of other tests and the order that tests run in.
@@ -22,39 +26,41 @@ test_that("get_users works", {
})
test_that("get_groups works", {
+ # Create a group so we have data to assert against (test-get.R runs before
+ # test-groups.R alphabetically).
+ client$groups_create(name = paste0("test-get-groups-", uuid::UUIDgenerate()))
+
groups_list <- get_groups(client)
expect_s3_class(groups_list, c("tbl_df", "tbl", "data.frame"))
-
- expect_ptype_equal(groups_list, connectapi_ptypes$groups)
+ expect_true(nrow(groups_list) > 0)
+ expect_true("guid" %in% names(groups_list))
+ expect_true("name" %in% names(groups_list))
})
test_that("get_content works", {
scoped_experimental_silence()
content_list <- get_content(client)
expect_s3_class(content_list, c("tbl_df", "tbl", "data.frame"))
-
- # various attributes have been added over the years, so exact match
- # doesn't work against all versions of Connect
- expect_ptype_equal(content_list, connectapi_ptypes$content, exact = FALSE)
+ expect_true("guid" %in% names(content_list))
+ expect_true("name" %in% names(content_list))
+ expect_s3_class(content_list$created_time, "POSIXct")
})
test_that("get_usage_shiny works", {
shiny_usage <- get_usage_shiny(client)
expect_s3_class(shiny_usage, c("tbl_df", "tbl", "data.frame"))
-
- expect_ptype_equal(shiny_usage, connectapi_ptypes$usage_shiny)
+ # No shiny apps are deployed in integration tests, so this may be empty.
+ if (nrow(shiny_usage) > 0) {
+ expect_true("content_guid" %in% names(shiny_usage))
+ expect_s3_class(shiny_usage$started, "POSIXct")
+ }
})
test_that("get_usage_static works", {
content_visits <- get_usage_static(client)
expect_s3_class(content_visits, c("tbl_df", "tbl", "data.frame"))
-
- # path was added to usage_static in 2024
- expect_ptype_equal(
- content_visits,
- connectapi_ptypes$usage_static,
- exact = FALSE
- )
+ expect_true("content_guid" %in% names(content_visits))
+ expect_s3_class(content_visits$time, "POSIXct")
})
test_that("get_audit_logs works", {
@@ -63,17 +69,19 @@ test_that("get_audit_logs works", {
# This is different on older versions, not sure it's worth worrying about how
skip_if_connect_older_than(client, "2022.09.0")
- expect_ptype_equal(audit_list, connectapi_ptypes$audit_logs)
+ expect_true("id" %in% names(audit_list))
+ expect_s3_class(audit_list$time, "POSIXct")
})
test_that("get_procs works", {
scoped_experimental_silence()
proc_data <- get_procs(client)
- # TODO: This is not a great test, since no processes are running
- # we could always start a content restoration...
+ # No long-running processes on a fresh test server, so this is usually empty.
expect_s3_class(proc_data, "tbl_df")
- expect_ptype_equal(proc_data, connectapi_ptypes$procs)
+ if (nrow(proc_data) > 0) {
+ expect_true(all(c("pid", "appId", "appGuid") %in% names(proc_data)))
+ }
})
# experimental --------------------------------------------
diff --git a/tests/integrated/test-lazy.R b/tests/integrated/test-lazy.R
index 36ee6627b..26eb29474 100644
--- a/tests/integrated/test-lazy.R
+++ b/tests/integrated/test-lazy.R
@@ -35,7 +35,9 @@ test_that("users works", {
expect_type(colnames(users), "character")
expect_gt(length(colnames(users)), 1)
- expect_ptype_equal(users_local, connectapi_ptypes$users, exact = FALSE)
+ expect_true("guid" %in% names(users_local))
+ expect_true("email" %in% names(users_local))
+ expect_s3_class(users_local$created_time, "POSIXct")
})
test_that("usage_static works", {
@@ -49,12 +51,8 @@ test_that("usage_static works", {
expect_type(colnames(content_visits), "character")
expect_gt(length(colnames(content_visits)), 1)
- # path was added in 2024
- expect_ptype_equal(
- content_visits_local,
- connectapi_ptypes$usage_static,
- exact = FALSE
- )
+ expect_true("content_guid" %in% names(content_visits_local))
+ expect_s3_class(content_visits_local$time, "POSIXct")
})
test_that("usage_shiny works", {
@@ -66,9 +64,13 @@ test_that("usage_shiny works", {
expect_true(is.na(nrow(shiny_usage)))
expect_type(colnames(shiny_usage), "character")
- expect_gt(length(colnames(shiny_usage)), 1)
- expect_ptype_equal(shiny_usage_local, connectapi_ptypes$usage_shiny)
+ # No shiny apps are deployed in integration tests, so this may be empty.
+ if (nrow(shiny_usage_local) > 0) {
+ expect_gt(length(colnames(shiny_usage)), 1)
+ expect_true("content_guid" %in% names(shiny_usage_local))
+ expect_s3_class(shiny_usage_local$started, "POSIXct")
+ }
})
test_that("content works", {
@@ -83,13 +85,8 @@ test_that("content works", {
expect_type(colnames(content_list), "character")
expect_gt(length(colnames(content_list)), 1)
- # various attributes have been added over the years, so exact match
- # doesn't work against all versions of Connect
- expect_ptype_equal(
- content_list_local,
- connectapi_ptypes$content,
- exact = FALSE
- )
+ expect_true("guid" %in% names(content_list_local))
+ expect_s3_class(content_list_local$created_time, "POSIXct")
})
test_that("groups works", {
@@ -104,7 +101,8 @@ test_that("groups works", {
expect_type(colnames(groups_list), "character")
expect_gt(length(colnames(groups_list)), 1)
- expect_ptype_equal(groups_list_local, connectapi_ptypes$groups, exact = FALSE)
+ expect_true("guid" %in% names(groups_list_local))
+ expect_true("name" %in% names(groups_list_local))
})
test_that("audit_logs works", {
@@ -121,5 +119,6 @@ test_that("audit_logs works", {
# This is different on older versions, not sure it's worth worrying about how
skip_if_connect_older_than(client, "2022.09.0")
- expect_ptype_equal(audit_list_local, connectapi_ptypes$audit_logs)
+ expect_true("id" %in% names(audit_list_local))
+ expect_s3_class(audit_list_local$time, "POSIXct")
})
diff --git a/tests/testthat/2026.03.0/__api__/server_settings.json b/tests/testthat/2026.03.0/__api__/server_settings.json
new file mode 100644
index 000000000..6115de7fc
--- /dev/null
+++ b/tests/testthat/2026.03.0/__api__/server_settings.json
@@ -0,0 +1,3 @@
+{
+ "version": "2026.03.0"
+}
diff --git a/tests/testthat/2026.03.0/__api__/v1/instrumentation/content/hits-c331ad.json b/tests/testthat/2026.03.0/__api__/v1/instrumentation/content/hits-c331ad.json
new file mode 100644
index 000000000..333f970d2
--- /dev/null
+++ b/tests/testthat/2026.03.0/__api__/v1/instrumentation/content/hits-c331ad.json
@@ -0,0 +1,52 @@
+[
+ {
+ "id": "8966707",
+ "user_guid": null,
+ "content_guid": "475618c9",
+ "timestamp": "2025-04-30T12:49:16.269904Z",
+ "data": {
+ "path": "/hello",
+ "user_agent": "Datadog/Synthetics"
+ }
+ },
+ {
+ "id": "8966708",
+ "user_guid": null,
+ "content_guid": "475618c9",
+ "timestamp": "2025-04-30T12:49:17.002848Z",
+ "data": {
+ "path": "/world",
+ "user_agent": null
+ }
+ },
+ {
+ "id": "8967206",
+ "user_guid": null,
+ "content_guid": "475618c9",
+ "timestamp": "2025-04-30T13:01:47.40738Z",
+ "data": {
+ "path": "/chinchilla",
+ "user_agent": "Datadog/Synthetics"
+ }
+ },
+ {
+ "id": "8967210",
+ "user_guid": null,
+ "content_guid": "475618c9",
+ "timestamp": "2025-04-30T13:04:13.176791Z",
+ "data": {
+ "path": "/lava-lamp",
+ "user_agent": "Datadog/Synthetics"
+ }
+ },
+ {
+ "id": "8966214",
+ "user_guid": "fecbd383",
+ "content_guid": "b0eaf295",
+ "timestamp": "2025-04-30T12:36:13.818466Z",
+ "data": {
+ "path": null,
+ "user_agent": null
+ }
+ }
+]
diff --git a/tests/testthat/2026.03.0/__ping__.json b/tests/testthat/2026.03.0/__ping__.json
new file mode 100644
index 000000000..0db3279e4
--- /dev/null
+++ b/tests/testthat/2026.03.0/__ping__.json
@@ -0,0 +1,3 @@
+{
+
+}
diff --git a/tests/testthat/setup.R b/tests/testthat/setup.R
index dd8191e20..e3f21d782 100644
--- a/tests/testthat/setup.R
+++ b/tests/testthat/setup.R
@@ -49,7 +49,7 @@ MockConnect <- R6Class(
# The request function matches the route against the routes in the names of
# the response list. When a response is selected, it is removed from the
# list.
- request = function(method, url, ..., parser = "parsed") {
+ request = function(method, url, ..., parser = "parsed", simplify = FALSE) {
route <- paste(method, url)
# Record call
@@ -67,7 +67,15 @@ MockConnect <- R6Class(
res
} else {
self$raise_error(res)
- httr::content(res, as = parser)
+ content_text <- httr::content(res, as = "text", encoding = "UTF-8")
+ if (is.null(content_text) || nchar(content_text) == 0) {
+ return(NULL)
+ }
+ jsonlite::fromJSON(
+ content_text,
+ simplifyVector = simplify,
+ simplifyDataFrame = simplify
+ )
}
},
responses = list(),
diff --git a/tests/testthat/test-content.R b/tests/testthat/test-content.R
index 164e47064..e15d9d5c1 100644
--- a/tests/testthat/test-content.R
+++ b/tests/testthat/test-content.R
@@ -352,7 +352,7 @@ with_mock_api({
app_id = c(NA, 52389L),
app_guid = c(NA, "8f37d6e0"),
job_key = c("waaTO7v75I84S1hQ", "k3sHkEoWJNwQim7g"),
- job_id = c(NA, "40669829"),
+ job_id = c(NA_integer_, 40669829L),
result = c(NA, "Order to kill job registered"),
code = c(163L, NA),
error = c(
@@ -366,18 +366,7 @@ with_mock_api({
test_that("terminate_jobs() functions as expected with no active jobs", {
item <- content_item(client, "01234567")
expect_message(
- expect_equal(
- terminate_jobs(item),
- tibble::tibble(
- app_id = integer(),
- app_guid = character(),
- job_key = character(),
- job_id = character(),
- result = character(),
- code = integer(),
- error = character()
- )
- ),
+ expect_equal(terminate_jobs(item), tibble::tibble()),
"No active jobs found."
)
})
@@ -508,45 +497,7 @@ with_mock_dir("2025.09.0", {
test_that("search_content() can be converted to a data frame correctly", {
content_df <- search_content(client, q = "sea bream") |>
as_tibble()
- expect_named(
- content_df,
- c(
- "guid",
- "name",
- "title",
- "description",
- "access_type",
- "connection_timeout",
- "read_timeout",
- "init_timeout",
- "idle_timeout",
- "max_processes",
- "min_processes",
- "max_conns_per_process",
- "load_factor",
- "created_time",
- "last_deployed_time",
- "bundle_id",
- "app_mode",
- "content_category",
- "parameterized",
- "cluster_name",
- "image_name",
- "r_version",
- "py_version",
- "quarto_version",
- "run_as",
- "run_as_current_user",
- "owner_guid",
- "content_url",
- "dashboard_url",
- "app_role",
- "vanity_url",
- "id",
- "owner",
- "tags"
- )
- )
+ expect_true(all(c("guid", "name", "title") %in% names(content_df)))
expect_equal(
content_df$title,
c("sea bream report", "sea bream dashboard")
diff --git a/tests/testthat/test-get.R b/tests/testthat/test-get.R
index bbb5c6d13..9e1529d70 100644
--- a/tests/testthat/test-get.R
+++ b/tests/testthat/test-get.R
@@ -249,7 +249,7 @@ test_that("get_packages() works as expected with current return value", {
language_version = c("3.7.6", "3.7.7"),
name = c("absl-py", "absl-py"),
version = c("0.12.0", "0.8.1"),
- hash = c(NA_character_, NA_character_),
+ hash = c(NA, NA),
bundle_id = c("9375", "6623"),
content_id = c("4906", "3652"),
content_guid = c("9bf33774", "1935b6cb")
@@ -320,7 +320,7 @@ test_that("get_packages() works as expected with `content_guid` names in API res
language_version = c("3.7.6", "3.7.7"),
name = c("absl-py", "absl-py"),
version = c("0.12.0", "0.8.1"),
- hash = c(NA_character_, NA_character_),
+ hash = c(NA, NA),
bundle_id = c("9375", "6623"),
content_id = c("4906", "3652"),
content_guid = c("9bf33774", "1935b6cb")
@@ -375,7 +375,7 @@ test_that("get_content only requests vanity URLs for Connect 2024.06.0 and up",
})
})
-with_mock_dir("2025.04.0", {
+with_mock_dir("2026.03.0", {
test_that("get_usage() returns usage data in the expected shape", {
client <- connect(server = "https://connect.example", api_key = "fake")
usage <- get_usage(
@@ -384,16 +384,18 @@ with_mock_dir("2025.04.0", {
)
expect_s3_class(usage, "connect_list_hits")
- expect_s3_class(usage, "list")
+ expect_true(is.list(usage))
+ expect_equal(length(usage), 5)
+ expect_equal(usage[[1]]$id, "8966707")
+ expect_equal(usage[[1]]$content_guid, "475618c9")
expect_length(usage, 5)
# Check first element (raw list, before conversion to data.frame).
- # The id is numeric in the JSON, so it stays numeric in the raw list.
expect_equal(
usage[[1]],
list(
- id = 8966707L,
+ id = "8966707",
user_guid = NULL,
content_guid = "475618c9",
timestamp = "2025-04-30T12:49:16.269904Z",
@@ -404,7 +406,7 @@ with_mock_dir("2025.04.0", {
)
)
- # Check conversion to data.frame
+ # Check conversion to data.frame (with unnesting)
usage_df <- as.data.frame(usage)
expect_equal(
usage_df,
@@ -471,6 +473,35 @@ with_mock_dir("2025.04.0", {
})
})
+# The hits `id` field is transitioning from integer to string across Connect
+# versions. The fixture in 2025.04.0/ uses integer IDs (older API); the
+# fixture in 2026.03.0/ uses string IDs (newer API).
+test_that("get_usage() handles both integer and string ids", {
+ with_mock_dir("2025.04.0", {
+ client <- connect(server = "https://connect.example", api_key = "fake")
+ usage <- get_usage(
+ client,
+ from = as.POSIXct("2025-04-01 00:00:01", tz = "UTC")
+ )
+ usage_df <- as.data.frame(usage)
+ expect_type(usage_df$id, "integer")
+ expect_equal(usage_df$id, c(8966707L, 8966708L, 8967206L, 8967210L, 8966214L))
+ expect_s3_class(usage_df$timestamp, "POSIXct")
+ })
+
+ with_mock_dir("2026.03.0", {
+ client <- connect(server = "https://connect.example", api_key = "fake")
+ usage <- get_usage(
+ client,
+ from = as.POSIXct("2025-04-01 00:00:01", tz = "UTC")
+ )
+ usage_df <- as.data.frame(usage)
+ expect_type(usage_df$id, "character")
+ expect_equal(usage_df$id, c("8966707", "8966708", "8967206", "8967210", "8966214"))
+ expect_s3_class(usage_df$timestamp, "POSIXct")
+ })
+})
+
with_mock_dir("2026.01.0", {
test_that("content_guid is passed to the hits endpoint", {
client <- Connect$new(server = "https://connect.example", api_key = "fake")
diff --git a/tests/testthat/test-page.R b/tests/testthat/test-page.R
index 1638dbb0a..4510e0adf 100644
--- a/tests/testthat/test-page.R
+++ b/tests/testthat/test-page.R
@@ -14,3 +14,155 @@ with_mock_dir("2025.09.0", {
)
})
})
+
+test_that("page_cursor accumulates data frames from multiple pages", {
+ # Simulate a two-page cursor-paginated response. The first page comes from
+ # the caller with simplify=FALSE (list-of-lists), while page_cursor fetches
+ # subsequent pages with simplify=TRUE (data frames).
+ mock_client <- list(
+ GET = function(url, ..., simplify = FALSE) {
+ list(
+ results = data.frame(id = 3:4, name = c("c", "d")),
+ paging = list(`next` = NULL)
+ )
+ }
+ )
+
+ initial_response <- list(
+ results = list(
+ list(id = 1L, name = "a"),
+ list(id = 2L, name = "b")
+ ),
+ paging = list(`next` = "https://connect.example/__api__/v1/things?next=abc")
+ )
+
+ res <- page_cursor(mock_client, initial_response)
+ expect_s3_class(res, "data.frame")
+ expect_equal(nrow(res), 4)
+ expect_equal(res$id, 1:4)
+ expect_equal(res$name, c("a", "b", "c", "d"))
+})
+
+test_that("page_cursor returns empty list for empty single page", {
+ mock_client <- list(GET = function(...) stop("should not be called"))
+
+ initial_response <- list(
+ results = list(),
+ paging = list(`next` = NULL)
+ )
+
+ res <- page_cursor(mock_client, initial_response)
+ expect_equal(length(res), 0)
+})
+
+test_that("page_cursor binds pages when a field is null on page 1 but populated on page 2", {
+ # First page: "note" is NULL in every row → parse_connectapi produces logical
+ # NA column. Second page: "note" has character values → jsonlite produces a
+ # character column. vctrs::vec_rbind must coerce logical NA → character.
+ mock_client <- list(
+ GET = function(url, ..., simplify = FALSE) {
+ list(
+ results = data.frame(
+ id = 3:4,
+ note = c("hello", "world"),
+ stringsAsFactors = FALSE
+ ),
+ paging = list(`next` = NULL)
+ )
+ }
+ )
+
+ initial_response <- list(
+ results = list(
+ list(id = 1L, note = NULL),
+ list(id = 2L, note = NULL)
+ ),
+ paging = list(`next` = "https://connect.example/__api__/v1/things?next=abc")
+ )
+
+ res <- page_cursor(mock_client, initial_response)
+ expect_s3_class(res, "data.frame")
+ expect_equal(nrow(res), 4)
+ expect_type(res$note, "character")
+ expect_equal(res$note, c(NA, NA, "hello", "world"))
+})
+
+test_that("page_cursor binds pages with integer vs. double coercion", {
+ # parse_connectapi sees integers on page 1; jsonlite may produce doubles on
+ # page 2 (e.g. from a JSON number with a decimal). vctrs should widen
+ # integer → double.
+ mock_client <- list(
+ GET = function(url, ..., simplify = FALSE) {
+ list(
+ results = data.frame(id = 3L, value = 3.14),
+ paging = list(`next` = NULL)
+ )
+ }
+ )
+
+ initial_response <- list(
+ results = list(
+ list(id = 1L, value = 100L),
+ list(id = 2L, value = 200L)
+ ),
+ paging = list(`next` = "https://connect.example/__api__/v1/things?next=abc")
+ )
+
+ res <- page_cursor(mock_client, initial_response)
+ expect_s3_class(res, "data.frame")
+ expect_equal(nrow(res), 3)
+ expect_equal(res$value, c(100, 200, 3.14))
+})
+
+test_that("page_cursor binds pages when a column is missing from page 2", {
+ # Page 1 has an "extra" column; page 2 does not. vctrs::vec_rbind should fill
+ # the missing column with NA.
+ mock_client <- list(
+ GET = function(url, ..., simplify = FALSE) {
+ list(
+ results = data.frame(id = 3:4, stringsAsFactors = FALSE),
+ paging = list(`next` = NULL)
+ )
+ }
+ )
+
+ initial_response <- list(
+ results = list(
+ list(id = 1L, extra = "yes"),
+ list(id = 2L, extra = "no")
+ ),
+ paging = list(`next` = "https://connect.example/__api__/v1/things?next=abc")
+ )
+
+ res <- page_cursor(mock_client, initial_response)
+ expect_s3_class(res, "data.frame")
+ expect_equal(nrow(res), 4)
+ expect_equal(res$extra, c("yes", "no", NA, NA))
+})
+
+test_that("page_cursor respects limit", {
+ call_count <- 0L
+ mock_client <- list(
+ GET = function(url, ..., simplify = FALSE) {
+ call_count <<- call_count + 1L
+ list(
+ results = data.frame(id = 3:4, name = c("c", "d")),
+ paging = list(`next` = "https://connect.example/__api__/v1/things?next=more")
+ )
+ }
+ )
+
+ initial_response <- list(
+ results = list(
+ list(id = 1L, name = "a"),
+ list(id = 2L, name = "b")
+ ),
+ paging = list(`next` = "https://connect.example/__api__/v1/things?next=abc")
+ )
+
+ res <- page_cursor(mock_client, initial_response, limit = 3)
+ expect_s3_class(res, "data.frame")
+ expect_equal(nrow(res), 3)
+ # Only fetched one additional page since we hit the limit
+ expect_equal(call_count, 1L)
+})
diff --git a/tests/testthat/test-parse.R b/tests/testthat/test-parse.R
index ec444200d..5298da49b 100644
--- a/tests/testthat/test-parse.R
+++ b/tests/testthat/test-parse.R
@@ -1,51 +1,3 @@
-test_that("coerce_fsbytes fills the void", {
- expect_s3_class(coerce_fsbytes(1L, fs::as_fs_bytes(NA_integer_)), "fs_bytes")
- expect_s3_class(coerce_fsbytes(1, fs::as_fs_bytes(NA_integer_)), "fs_bytes")
- expect_error(
- coerce_fsbytes(data.frame(), fs::as_fs_bytes(NA_integer_)),
- class = "vctrs_error_incompatible_type"
- )
-})
-
-test_that("coerce_datetime fills the void", {
- chardate <- "2023-10-25T17:04:08Z"
- numdate <- as.double(Sys.time())
- expect_s3_class(coerce_datetime(chardate, NA_datetime_), "POSIXct")
- expect_s3_class(
- coerce_datetime(c(chardate, chardate), NA_datetime_),
- "POSIXct"
- )
- expect_s3_class(coerce_datetime(numdate, NA_datetime_), "POSIXct")
- expect_s3_class(coerce_datetime(c(numdate, numdate), NA_datetime_), "POSIXct")
- expect_s3_class(coerce_datetime(NA_datetime_, NA_datetime_), "POSIXct")
- expect_s3_class(
- coerce_datetime(c(NA_datetime_, NA_datetime_), NA_datetime_),
- "POSIXct"
- )
- expect_s3_class(coerce_datetime(NA_integer_, NA_datetime_), "POSIXct")
- expect_s3_class(
- coerce_datetime(c(NA_integer_, NA_integer_), NA_datetime_),
- "POSIXct"
- )
- expect_s3_class(coerce_datetime(NA, NA_datetime_), "POSIXct")
- expect_s3_class(coerce_datetime(c(NA, NA), NA), "POSIXct")
- expect_s3_class(coerce_datetime(NULL, NA), "POSIXct")
-
- expect_error(
- coerce_datetime(data.frame(), NA_datetime_),
- class = "vctrs_error_incompatible_type"
- )
- expect_error(
- coerce_datetime(list(), NA_datetime_, name = "list"),
- class = "vctrs_error_incompatible_type"
- )
-
- expect_error(
- coerce_datetime(NA_complex_, NA_datetime_, name = "complexity"),
- class = "vctrs_error_incompatible_type"
- )
-})
-
test_that("parse_connect_rfc3339() parses timestamps with offsets as expected", {
x_mixed <- c(
"2023-08-22T14:13:14Z",
@@ -139,6 +91,20 @@ test_that("parse_connect_rfc3339() handles fractional seconds", {
expect_identical(parse_connect_rfc3339(x), expected)
})
+test_that("parse_connect_rfc3339() handles NA values", {
+ withr::local_envvar(TZ = "UTC")
+ result <- parse_connect_rfc3339(c("2023-08-22T14:13:14Z", NA))
+ expect_s3_class(result, "POSIXct")
+ expect_equal(length(result), 2)
+ expect_false(is.na(result[1]))
+ expect_true(is.na(result[2]))
+
+ # All NA
+ result <- parse_connect_rfc3339(c(NA_character_, NA_character_))
+ expect_s3_class(result, "POSIXct")
+ expect_true(all(is.na(result)))
+})
+
test_that("make_timestamp produces expected output", {
x_mixed <- c(
"2023-08-22T14:13:14Z",
@@ -173,81 +139,81 @@ test_that("make_timestamp produces expected output", {
withr::local_envvar(TZ = "America/New_York")
expect_equal(
- make_timestamp(coerce_datetime(x_mixed, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_mixed)),
rep(outcome, 2)
)
expect_equal(
- make_timestamp(coerce_datetime(x_zero_offset, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_zero_offset)),
outcome
)
expect_equal(
- make_timestamp(coerce_datetime(x_plus_one, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_plus_one)),
outcome
)
expect_equal(
- make_timestamp(coerce_datetime(x_minus_one, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_minus_one)),
outcome
)
expect_equal(
- make_timestamp(coerce_datetime(single_zero_offset, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(single_zero_offset)),
outcome[1]
)
expect_equal(
- make_timestamp(coerce_datetime(single_offset, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(single_offset)),
outcome[1]
)
expect_equal(make_timestamp(outcome), outcome)
withr::local_envvar(TZ = "UTC")
expect_equal(
- make_timestamp(coerce_datetime(x_mixed, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_mixed)),
rep(outcome, 2)
)
expect_equal(
- make_timestamp(coerce_datetime(x_zero_offset, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_zero_offset)),
outcome
)
expect_equal(
- make_timestamp(coerce_datetime(x_plus_one, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_plus_one)),
outcome
)
expect_equal(
- make_timestamp(coerce_datetime(x_minus_one, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_minus_one)),
outcome
)
expect_equal(
- make_timestamp(coerce_datetime(single_zero_offset, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(single_zero_offset)),
outcome[1]
)
expect_equal(
- make_timestamp(coerce_datetime(single_offset, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(single_offset)),
outcome[1]
)
expect_equal(make_timestamp(outcome), outcome)
withr::local_envvar(TZ = "Asia/Tokyo")
expect_equal(
- make_timestamp(coerce_datetime(x_mixed, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_mixed)),
rep(outcome, 2)
)
expect_equal(
- make_timestamp(coerce_datetime(x_zero_offset, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_zero_offset)),
outcome
)
expect_equal(
- make_timestamp(coerce_datetime(x_plus_one, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_plus_one)),
outcome
)
expect_equal(
- make_timestamp(coerce_datetime(x_minus_one, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(x_minus_one)),
outcome
)
expect_equal(
- make_timestamp(coerce_datetime(single_zero_offset, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(single_zero_offset)),
outcome[1]
)
expect_equal(
- make_timestamp(coerce_datetime(single_offset, NA_datetime_)),
+ make_timestamp(parse_connect_rfc3339(single_offset)),
outcome[1]
)
expect_equal(make_timestamp(outcome), outcome)
@@ -261,49 +227,8 @@ test_that("make_timestamp is safe for strings", {
})
test_that("make_timestamp converts to character", {
- expect_type(make_timestamp(NA_datetime_), "character")
-})
-
-test_that("ensure_column works with lists", {
- list_chk_null <- ensure_column(tibble::tibble(), NA_list_, "hello")
- expect_s3_class(list_chk_null, "tbl_df")
- expect_type(list_chk_null$hello, "list")
-
- list_chk_same <- ensure_column(
- tibble::tibble(hello = list(list(1, 2, 3), list(1, 2, 3, 4))),
- NA_list_,
- "hello"
- )
- expect_s3_class(list_chk_same, "tbl_df")
- expect_type(list_chk_same$hello, "list")
-})
-
-test_that("ensure_column works with POSIXct", {
- time_chk_null <- ensure_column(tibble::tibble(), NA_datetime_, "hello")
- expect_s3_class(time_chk_null, "tbl_df")
- expect_s3_class(time_chk_null$hello, "POSIXct")
-
- time_chk_some <- ensure_column(
- tibble::tibble(one = c(1, 2, 3)),
- NA_datetime_,
- "hello"
- )
- expect_s3_class(time_chk_some, "tbl_df")
- expect_s3_class(time_chk_some$hello, "POSIXct")
-
- skip("Ahh! this fails presently. Are double -> POSIXct conversions allowed?")
- time_chk_convert <- ensure_column(
- tibble::tibble(hello = c(1, 2, 3)),
- NA_datetime_,
- "hello"
- )
- expect_s3_class(time_chk_convert, "tbl_df")
- expect_s3_class(time_chk_convert$hello, "POSIXct")
-})
-
-test_that("converts length one list", {
- hm <- ensure_column(tibble::tibble(one = "hi"), NA_list_, "one")
- expect_type(hm$one, "list")
+ ts <- .POSIXct(NA_real_, tz = Sys.timezone())
+ expect_type(make_timestamp(ts), "character")
})
test_that("parse_connectapi handles mixed null/non-null character values", {
@@ -345,45 +270,96 @@ test_that("parse_connectapi handles mixed null/non-null integer timestamps", {
expect_identical(result$end_time, c(NA_real_, 1732556770))
})
-test_that("ensure_column coerces integer to character when ptype expects character", {
- # Old Connect returns integer IDs
- int_data <- tibble::tibble(id = c(100L, 200L, 300L))
- result <- ensure_column(int_data, NA_character_, "id")
- expect_type(result$id, "character")
- expect_identical(result$id, c("100", "200", "300"))
+test_that("coerce_datetime handles character (RFC 3339)", {
+ withr::local_envvar(TZ = "UTC")
+ result <- coerce_datetime(c("2023-08-22T14:13:14Z", "2020-01-01T01:02:03Z"))
+ expect_s3_class(result, "POSIXct")
+ expect_equal(length(result), 2)
+})
+
+test_that("coerce_datetime handles numeric (epoch seconds)", {
+ result <- coerce_datetime(1692713594)
+ expect_s3_class(result, "POSIXct")
+ expect_equal(as.double(result), 1692713594, tolerance = 1)
+})
+
+test_that("coerce_datetime handles POSIXct pass-through", {
+ ts <- as.POSIXct("2023-08-22 14:13:14", tz = "UTC")
+ result <- coerce_datetime(ts)
+ expect_identical(result, ts)
+})
+
+test_that("coerce_datetime handles NULL", {
+ result <- coerce_datetime(NULL)
+ expect_s3_class(result, "POSIXct")
+ expect_equal(length(result), 0)
+})
+
+test_that("coerce_datetime handles all-NA logical", {
+ result <- coerce_datetime(c(NA, NA))
+ expect_s3_class(result, "POSIXct")
+ expect_true(all(is.na(result)))
+ expect_equal(length(result), 2)
+})
+
+test_that("coerce_datetime rejects unsupported types", {
+ expect_error(coerce_datetime(data.frame()), "Cannot coerce")
+ expect_error(coerce_datetime(NA_complex_), "Cannot coerce")
+})
+
+test_that("parse_connectapi_typed converts specified datetime columns", {
+ data <- list(
+ list(guid = "aaa", created_time = "2023-08-22T14:13:14Z"),
+ list(guid = "bbb", created_time = "2020-01-01T01:02:03Z")
+ )
- # New Connect returns character IDs
+ result <- parse_connectapi_typed(data, datetime_cols = "created_time")
+ expect_s3_class(result, "tbl_df")
+ expect_s3_class(result$created_time, "POSIXct")
+ expect_type(result$guid, "character")
+})
- char_data <- tibble::tibble(id = c("100", "200", "300"))
- result <- ensure_column(char_data, NA_character_, "id")
- expect_type(result$id, "character")
- expect_identical(result$id, c("100", "200", "300"))
+test_that("parse_connectapi_typed leaves columns alone without datetime_cols", {
+ data <- list(
+ list(guid = "aaa", created_time = "2023-08-22T14:13:14Z"),
+ list(guid = "bbb", created_time = "2020-01-01T01:02:03Z")
+ )
+
+ result <- parse_connectapi_typed(data)
+ expect_s3_class(result, "tbl_df")
+ # Without datetime_cols, timestamps stay as character
+ expect_type(result$created_time, "character")
})
-test_that("parse_connectapi_typed produces character id for usage with integer input", {
- # Simulates old Connect returning integer IDs
- int_hits <- list(
- list(id = 123L, user_guid = "abc", content_guid = "def",
- timestamp = "2025-04-30T12:00:00Z", data = list(path = "/test")),
- list(id = 456L, user_guid = "ghi", content_guid = "jkl",
- timestamp = "2025-04-30T13:00:00Z", data = list(path = "/other"))
+test_that("parse_connectapi_typed handles data frame input (fast path)", {
+ df <- data.frame(
+ guid = c("aaa", "bbb"),
+ created_time = c("2023-08-22T14:13:14Z", "2020-01-01T01:02:03Z"),
+ stringsAsFactors = FALSE
)
- result <- parse_connectapi_typed(int_hits, connectapi_ptypes$usage)
- expect_type(result$id, "character")
- expect_identical(result$id, c("123", "456"))
+ result <- parse_connectapi_typed(df, datetime_cols = "created_time")
+ expect_s3_class(result, "tbl_df")
+ expect_s3_class(result$created_time, "POSIXct")
+})
+
+test_that("parse_connectapi_typed handles empty input", {
+ result <- parse_connectapi_typed(list())
+ expect_s3_class(result, "tbl_df")
+ expect_equal(nrow(result), 0)
+
+ result <- parse_connectapi_typed(tibble::tibble())
+ expect_s3_class(result, "tbl_df")
+ expect_equal(nrow(result), 0)
})
-test_that("parse_connectapi_typed produces character id for usage with character input", {
- # Simulates new Connect returning character IDs
- char_hits <- list(
- list(id = "123", user_guid = "abc", content_guid = "def",
- timestamp = "2025-04-30T12:00:00Z", data = list(path = "/test")),
- list(id = "456", user_guid = "ghi", content_guid = "jkl",
- timestamp = "2025-04-30T13:00:00Z", data = list(path = "/other"))
+test_that("parse_connectapi_typed handles all-NA datetime column", {
+ data <- list(
+ list(guid = "aaa", active_time = NULL),
+ list(guid = "bbb", active_time = NULL)
)
- result <- parse_connectapi_typed(char_hits, connectapi_ptypes$usage)
- expect_type(result$id, "character")
- expect_identical(result$id, c("123", "456"))
+ result <- parse_connectapi_typed(data, datetime_cols = "active_time")
+ expect_s3_class(result$active_time, "POSIXct")
+ expect_true(all(is.na(result$active_time)))
})