% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/safe_people.R
\name{safe_people}
\alias{safe_people}
\alias{safe_people.character}
\alias{safe_people.opal}
\alias{safe_people.rocrate}
\title{Safe People details}
\source{
\itemize{
\item Research Data Scotland, 2025. "What is the Five Safes framework?".
\url{https://www.researchdata.scot/engage-and-learn/data-explainers/what-is-the-five-safes-framework/}
}
}
\usage{
safe_people(x, ...)

\method{safe_people}{character}(
  x,
  ...,
  user = attr(x, "user"),
  user_id_suffix = "#person:",
  set_author = TRUE,
  set_project = TRUE,
  connection = attr(x, "connection"),
  path = attr(x, "path"),
  profile = attr(x, "profile"),
  project = attr(x, "project"),
  resources = attr(x, "resources"),
  tables = attr(x, "tables")
)

\method{safe_people}{opal}(
  x,
  ...,
  rocrate = rocrateR::rocrate_5s(),
  user = NULL,
  user_id_suffix = "#person:",
  set_author = TRUE,
  set_project = TRUE,
  path = NULL,
  profile = "default",
  project = NULL,
  resources = NULL,
  tables = NULL
)

\method{safe_people}{rocrate}(
  x,
  ...,
  user = attr(x, "user"),
  user_id_suffix = "#person:",
  set_author = TRUE,
  set_project = TRUE,
  connection = attr(x, "connection"),
  path = attr(x, "path"),
  profile = attr(x, "profile"),
  project = attr(x, "project"),
  resources = attr(x, "resources"),
  tables = attr(x, "tables")
)
}
\arguments{
\item{x}{This can be a connection to a 'DataSHIELD' server (e.g., object with
the \code{opal} class, see \code{\link[opalr:opal.login]{opalr::opal.login()}}), an RO-Crate
(\link[rocrateR:rocrate]{rocrate} class) or a string with the path to an
RO-Crate.}

\item{...}{Other optional arguments. See the full documentation,
\code{\link[=safe_people]{?dsROCrate::safe_people}}.}

\item{user}{List (or \link[rocrateR:entity]{entity} object) with details for
the Safe People, it must include \verb{@id} and \code{name} entries. Alternatively,
this can be a string with the \code{name} of the current user.}

\item{user_id_suffix}{String with ID suffix for the tables/datasets
entities in the RO-Crate (default: \code{"#dataset:"}).}

\item{set_author}{Boolean flag to indicate if the current user should be
set as the author of the RO-Crate.}

\item{set_project}{Boolean flag to indicate if any \code{Project} entities found
in \code{x} should be linked to the Safe People entity.}

\item{connection}{Connection object for the 'DataSHIELD' server where the
values will be extracted from (e.g., OBiBa's Opal). Optional, if \code{x} is
set to a connection object. If so, then \code{rocrate} is required.}

\item{path}{String with path pointing to the root of the RO-Crate. This will
be used to store log files. If not provided, logs will be stored within
the RO-Crate returned by this function.}

\item{profile}{String with profile name (used for OBiBa's Opal backend).}

\item{project}{String with the name of the \link[=safe_project]{Safe Project}.}

\item{resources}{Vector of strings with the names of the resources, part of
\code{project}. Optional, if not provided, all the resources associated to
\code{project} will be included in the RO-Crate.}

\item{tables}{Vector of strings with the names of the tables/datasets, part
of \code{project}. Optional, if not provided, all the tables/datasets
associated to \code{project} will be included in the RO-Crate.}

\item{rocrate}{RO-Crate object. Optional, if \code{x} is either an RO-Crate
object or a path to a valid RO-Crate. If so, then \code{connection} is
required (default: \code{rocrateR::rocrate_5s()}).}
}
\value{
Updated RO-Crate object with Safe People information.
}
\description{
Safe People details for the RO-Crate.
}
\details{
Researchers must be accredited and trained before accessing the data that
has been prepared for them.

The access service provider may require the researcher to sign a statement
that they know and understand the regulations of the TRE.
}
