Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Functions to inform user of correct access. #5

Merged
merged 5 commits into from
Oct 7, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ export(get_hscp_locality)
export(get_simd_datazone)
export(get_simd_postcode)
export(get_spd)
export(have_access)
importFrom(rlang,.data)
importFrom(tibble,tibble)
43 changes: 43 additions & 0 deletions R/access.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#' Check access to lookups
#'
#' @description
#' `have_access()` provides a convenient way to check that you have the
#' correct access to the necessary folders.
#'
#' @returns
#' `[logical(1)]` - `TRUE` if you have appropriate access and `FALSE` otherwise.
#'
#' @examples
#' \dontrun{
#' library(phslookups)
#' if (have_access()) {
#' print("Success!")
#' } else {
#' print("Maybe next time")
#' }
#' }
#' @export
have_access <- function() {
Moohan marked this conversation as resolved.
Show resolved Hide resolved
read_access_to_dir(get_lookups_dir())
}
check_access <- function(fail_on_no_access = TRUE) {
if (have_access()) {
cli::cli_inform(c("v" = "You have the appropriate file permissions!"),
.frequency = "once",
.frequency_id = "lookup_access_inform"
)
} else {
no_access_msg <- c(
"x" = "You don't have the appropriate file permissions to {get_lookups_dir()}",

Check warning on line 31 in R/access.R

View workflow job for this annotation

GitHub Actions / lint

file=R/access.R,line=31,col=81,[line_length_linter] Lines should not be more than 80 characters. This line is 85 characters.
"i" = "Please raise a ServiceNow request for access to the UNIX acute dataset"

Check warning on line 32 in R/access.R

View workflow job for this annotation

GitHub Actions / lint

file=R/access.R,line=32,col=81,[line_length_linter] Lines should not be more than 80 characters. This line is 84 characters.
)
if (fail_on_no_access) {
cli::cli_abort(no_access_msg)
} else {
cli::cli_warn(no_access_msg)
}
}
}
read_access_to_dir <- function(path) {
file.access(path, 4) >= 0L
}
3 changes: 3 additions & 0 deletions R/zzz.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.onLoad <- function(libname, pkgname) {
check_access(fail_on_no_access = FALSE)
}
25 changes: 25 additions & 0 deletions man/have_access.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading