R/get_project_types.R

Defines functions get_project_types

Documented in get_project_types

#' Get project type options - A list of project type codes used in GLIS
#'
#' This function accesses the api endpoint for project type choices and returns
#' their labels, descriptions and whether they're in use. It fetches
#' the entire table of accepted project types - no other filter
#' parameters are currently available for this endpoint. Project type codes
#' represent the fifth and sixth digits of project code (PRJ_CD).
#'
#'
#' See
#' https://intra.glis.mnr.gov.on.ca/common/project_types/
#' for the full list of fisheries_office options
#'
#'
#' @param filter_list list
#'
#' @param show_id include the fields the 'id' and 'slug' in the
#' returned data frame
#'
#' @param to_upper - should the names of the dataframe be converted to
#' upper case?
#'
#' @author Rachel Henderson \email{rachel.henderson@@ontario.ca}
#' @return dataframe
#' @export
#' @examples
#'
#' fisheries_offices <- get_fisheries_offices()
#' fisheries_office_slugs <- get_fisheries_offices(show_id = TRUE)
get_project_types <- function(filter_list = list(), show_id = FALSE, to_upper = TRUE) {
  query_string <- build_query_string(filter_list)
  common_api_url <- get_common_portal_root()
  # check_filters("project_types", filter_list, "common")
  # TODO: add a warning about 'all=TRUE' being the only allowed filter

  my_url <- sprintf(
    "%s/project_types/%s",
    common_api_url,
    query_string
  )
  payload <- api_to_dataframe(my_url)
  payload <- prepare_payload(payload, show_id, to_upper)

  return(payload)
}
AdamCottrill/glfishr documentation built on Aug. 9, 2024, 5:47 p.m.