Set the owner and uploader permissions for a project.
setPermissions(
project,
registry,
staging,
url,
owners = NULL,
uploaders = NULL,
globalWrite = NULL,
append = TRUE
)
String containing the project name.
String containing a path to the registry.
String containing the path to the staging directory.
String containing the URL of the gobbler REST API.
Character vector containing the user IDs for owners of this project.
If NULL
, no change is made to the existing owners of the project.
List specifying the authorized uploaders for this project.
See the uploaders
field in the fetchPermissions
return value for the expected format.
If NULL
, no change is made to the existing uploaders of the project.
Logical scalar indicating whether global writes should be enabled (see fetchPermissions
for details).
If NULL
, no change is made to the global write status of the project.
Logical scalar indicating whether owners
and uploaders
should be appended to the existing owners and uploaders, respectively, of the project.
If FALSE
, the owners
and uploaders
are used to replace the existing values.
NULL
is invisibly returned upon successful setting of the permissions.
fetchPermissions
, to fetch the permissions.
createProject
, to set permissions during project creation.
info <- startGobbler()
removeProject("test", info$staging, url=info$url) # start with a clean slate.
createProject("test", info$staging, url=info$url)
# Mocking up an upload.
src <- allocateUploadDirectory(info$staging)
write(file=file.path(src, "foo"), "BAR")
uploadDirectory("test", "simple", "v1", src, staging=info$staging, url=info$url)
fetchPermissions("test", registry=info$registry)
#> $owners
#> $owners[[1]]
#> [1] "root"
#>
#>
#> $uploaders
#> list()
#>
# Setting them to something else.
setPermissions("test",
owners=c("mum", "dad"),
uploaders=list(
list(id='brother1', asset='ps5', until=Sys.time() + 100000),
list(id='brother2', asset='harry_potter', version='goblet_of_fire')
),
staging=info$staging,
url=info$url,
registry=info$registry
)
fetchPermissions("test", registry=info$registry)
#> $owners
#> $owners[[1]]
#> [1] "root"
#>
#> $owners[[2]]
#> [1] "mum"
#>
#> $owners[[3]]
#> [1] "dad"
#>
#>
#> $uploaders
#> $uploaders[[1]]
#> $uploaders[[1]]$id
#> [1] "brother1"
#>
#> $uploaders[[1]]$asset
#> [1] "ps5"
#>
#> $uploaders[[1]]$until
#> [1] "2024-10-29 04:15:03 UTC"
#>
#>
#> $uploaders[[2]]
#> $uploaders[[2]]$id
#> [1] "brother2"
#>
#> $uploaders[[2]]$asset
#> [1] "harry_potter"
#>
#> $uploaders[[2]]$version
#> [1] "goblet_of_fire"
#>
#>
#>