Skip to content

Commit

Permalink
Remove SQL helpers: now use etnservice dependency instead
Browse files Browse the repository at this point in the history
  • Loading branch information
PietrH committed Oct 4, 2024
1 parent a694343 commit 0e15606
Show file tree
Hide file tree
Showing 10 changed files with 0 additions and 476 deletions.
168 changes: 0 additions & 168 deletions R/get_acoustic_deployments.R
Original file line number Diff line number Diff line change
Expand Up @@ -53,171 +53,3 @@ get_acoustic_deployments <- function(connection,
out <- conduct_parent_to_helpers(api)
return(out)
}

#' get_acoustic_deployments() sql helper
#'
#' @inheritParams get_acoustic_deployments()
#' @noRd
#'
get_acoustic_deployments_sql <- function(deployment_id = NULL,
receiver_id = NULL,
acoustic_project_code = NULL,
station_name = NULL,
open_only = FALSE) {
# Create connection
connection <- do.call(connect_to_etn, get_credentials())

# Check connection
check_connection(connection)

# Check deployment_id
if (is.null(deployment_id)) {
deployment_id_query <- "True"
} else {
deployment_id <- check_value(
deployment_id,
list_deployment_ids(api = FALSE),
"receiver_id"
)
deployment_id_query <- glue::glue_sql(
"dep.id_pk IN ({deployment_id*})",
.con = connection
)
}

# Check receiver_id
if (is.null(receiver_id)) {
receiver_id_query <- "True"
} else {
receiver_id <- check_value(
receiver_id,
list_receiver_ids(api = FALSE),
"receiver_id"
)
receiver_id_query <- glue::glue_sql(
"receiver.receiver IN ({receiver_id*})",
.con = connection
)
}

# Check acoustic_project_code
if (is.null(acoustic_project_code)) {
acoustic_project_code_query <- "True"
} else {
acoustic_project_code <- check_value(
acoustic_project_code,
list_acoustic_project_codes(api = FALSE),
"acoustic_project_code",
lowercase = TRUE
)
acoustic_project_code_query <- glue::glue_sql(
"LOWER(network_project.projectcode) IN ({acoustic_project_code*})",
.con = connection
)
}

# Check station_name
if (is.null(station_name)) {
station_name_query <- "True"
} else {
station_name <- check_value(
station_name,
list_station_names(api = FALSE),
"station_name"
)
station_name_query <- glue::glue_sql(
"dep.station_name IN ({station_name*})",
.con = connection
)
}

# Build query
query <- glue::glue_sql("
SELECT
dep.id_pk AS deployment_id,
receiver.receiver AS receiver_id,
network_project.projectcode AS acoustic_project_code,
dep.station_name AS station_name,
location_name AS station_description,
location_manager AS station_manager,
dep.deploy_date_time AS deploy_date_time,
dep.deploy_lat AS deploy_latitude,
dep.deploy_long AS deploy_longitude,
dep.intended_lat AS intended_latitude,
dep.intended_long AS intended_longitude,
dep.mooring_type AS mooring_type,
dep.bottom_depth AS bottom_depth,
dep.riser_length AS riser_length,
dep.instrument_depth AS deploy_depth,
dep.battery_install_date AS battery_installation_date,
dep.drop_dead_date AS battery_estimated_end_date,
dep.activation_datetime AS activation_date_time,
dep.recover_date_time AS recover_date_time,
dep.recover_lat AS recover_latitude,
dep.recover_long AS recover_longitude,
dep.download_date_time AS download_date_time,
dep.data_downloaded AS download_file_name,
dep.valid_data_until_datetime AS valid_data_until_date_time,
dep.sync_date_time AS sync_date_time,
dep.time_drift AS time_drift,
dep.ar_battery_install_date AS ar_battery_installation_date,
dep.ar_confirm AS ar_confirm,
dep.transmit_profile AS transmit_profile,
dep.transmit_power_output AS transmit_power_output,
dep.log_temperature_stats_period AS log_temperature_stats_period,
dep.log_temperature_sample_period AS log_temperature_sample_period,
dep.log_tilt_sample_period AS log_tilt_sample_period,
dep.log_noise_stats_period AS log_noise_stats_period,
dep.log_noise_sample_period AS log_noise_sample_period,
dep.log_depth_stats_period AS log_depth_stats_period,
dep.log_depth_sample_period AS log_depth_sample_period,
dep.comments AS comments
-- dep.project: dep.project_fk instead
-- dep.check_complete_time
-- dep.voltage_at_deploy
-- dep.voltage_at_download
-- dep.location_description
-- dep.date_created
-- dep.date_modified
-- dep.distance_to_mouth
-- dep.source
-- dep.acousticreleasenumber: cpod
-- dep.hydrophonecablelength: cpod
-- dep.recordingname: cpod
-- dep.hydrophonesensitivity: cpod
-- dep.amplifiersensitivity: cpod
-- dep.sample_rate: cpod
-- dep.external_id
FROM
acoustic.deployments AS dep
LEFT JOIN acoustic.receivers AS receiver
ON dep.receiver_fk = receiver.id_pk
LEFT JOIN common.projects AS network_project
ON dep.project_fk = network_project.id
WHERE
dep.deployment_type = 'acoustic_telemetry'
AND {deployment_id_query}
AND {receiver_id_query}
AND {acoustic_project_code_query}
AND {station_name_query}
", .con = connection)
deployments <- DBI::dbGetQuery(connection, query)

# Filter on open deployments
if (open_only) {
deployments <- filter(deployments, is.na(.data$recover_date_time))
}

# Sort data
deployments <-
deployments %>%
dplyr::arrange(
.data$acoustic_project_code,
factor(.data$station_name, levels = list_station_names(api = FALSE)),
.data$deploy_date_time
)
# Close connection
DBI::dbDisconnect(connection)
# Return acoustic deployments
dplyr::as_tibble(deployments)
}
55 changes: 0 additions & 55 deletions R/get_acoustic_projects.R
Original file line number Diff line number Diff line change
Expand Up @@ -30,58 +30,3 @@ get_acoustic_projects <- function(connection,
out <- conduct_parent_to_helpers(api)
return(out)
}
#' get_acoustic_projects() sql helper
#'
#' @inheritParams get_acoustic_projects()
#' @noRd
#'
get_acoustic_projects_sql <- function(acoustic_project_code = NULL) {
# Create connection
connection <- do.call(connect_to_etn, get_credentials())
# Check connection
check_connection(connection)

# Check acoustic_project_code
if (is.null(acoustic_project_code)) {
acoustic_project_code_query <- "True"
} else {
acoustic_project_code <- check_value(
acoustic_project_code,
list_acoustic_project_codes(api = FALSE),
"acoustic_project_code",
lowercase = TRUE
)
acoustic_project_code_query <- glue::glue_sql(
"LOWER(project.project_code) IN ({acoustic_project_code*})",
.con = connection
)
}

project_sql <- glue::glue_sql(
readr::read_file(system.file("sql", "project.sql", package = "etn")),
.con = connection
)

# Build query
query <- glue::glue_sql("
SELECT
project.*
FROM
({project_sql}) AS project
WHERE
project_type = 'acoustic'
AND {acoustic_project_code_query}
", .con = connection)
projects <- DBI::dbGetQuery(connection, query)

# Sort data
projects <-
projects %>%
dplyr::arrange(.data$project_code)

# Close connection
DBI::dbDisconnect(connection)

# Return acoustic projects
dplyr::as_tibble(projects)
}
12 changes: 0 additions & 12 deletions R/get_animal_projects.R
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,3 @@ get_animal_projects <- function(connection,
out <- conduct_parent_to_helpers(api)
return(out)
}

#' get_animal_projects() sql helper
#'
#' @inheritParams get_animal_projects()
#' @noRd
#'
get_animal_projects_sql <- function(animal_project_code = NULL) {
do.call(getFromNamespace("get_animal_projects", ns = "etnservice"),
args = list(credentials = get_credentials(),
animal_project_code = animal_project_code)
)
}
55 changes: 0 additions & 55 deletions R/get_cpod_projects.R
Original file line number Diff line number Diff line change
Expand Up @@ -30,58 +30,3 @@ get_cpod_projects <- function(connection,
out <- conduct_parent_to_helpers(api)
return(out)
}

#' get_cpod_projects() sql helper
#'
#' @inheritParams get_cpod_projects()
#' @noRd
#'
get_cpod_projects_sql <- function(cpod_project_code = NULL) {
# Create connection
connection <- do.call(connect_to_etn, get_credentials())
# Check connection
check_connection(connection)

# Check cpod_project_code
if (is.null(cpod_project_code)) {
cpod_project_code_query <- "True"
} else {
cpod_project_code <- check_value(
cpod_project_code,
list_cpod_project_codes(connection),
"cpod_project_code",
lowercase = TRUE
)
cpod_project_code_query <- glue::glue_sql(
"LOWER(project.project_code) IN ({cpod_project_code*})",
.con = connection
)
}

project_sql <- glue::glue_sql(
readr::read_file(system.file("sql", "project.sql", package = "etn")),
.con = connection
)

# Build query
query <- glue::glue_sql("
SELECT
project.*
FROM
({project_sql}) AS project
WHERE
project_type = 'cpod'
AND {cpod_project_code_query}
", .con = connection)
projects <- DBI::dbGetQuery(connection, query)

# Close connection
DBI::dbDisconnect(connection)

# Sort data
projects <-
projects %>%
dplyr::arrange(.data$project_code)

dplyr::as_tibble(projects)
}
27 changes: 0 additions & 27 deletions R/list_acoustic_project_codes.R
Original file line number Diff line number Diff line change
Expand Up @@ -17,30 +17,3 @@ list_acoustic_project_codes <- function(connection,
out <- conduct_parent_to_helpers(api, json = TRUE)
return(out)
}

#' list_acoustic_project_codes() sql helper
#'
#' @inheritParams list_acoustic_project_codes()
#' @noRd
#'
list_acoustic_project_codes_sql <- function(){
# Create connection
connection <- do.call(connect_to_etn, get_credentials())
# Check connection
check_connection(connection)
project_sql <- glue::glue_sql(
readr::read_file(system.file("sql", "project.sql", package = "etn")),
.con = connection
)
query <- glue::glue_sql(
"SELECT DISTINCT project_code FROM ({project_sql}) AS project WHERE project_type = 'acoustic'",
.con = connection
)
data <- DBI::dbGetQuery(connection, query)

# Close connection
DBI::dbDisconnect(connection)

# Return acoustic_project_codes
sort(data$project_code)
}
23 changes: 0 additions & 23 deletions R/list_animal_ids.R
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,3 @@ list_animal_ids <- function(connection,
return(out)
}

#' list_animal_ids() sql helper
#'
#' @inheritParams list_animal_ids()
#' @noRd
#'
list_animal_ids_sql <- function() {
# Create connection
connection <- do.call(connect_to_etn, get_credentials())
# Check connection
check_connection(connection)

query <- glue::glue_sql(
"SELECT DISTINCT id_pk FROM common.animal_release",
.con = connection
)
data <- DBI::dbGetQuery(connection, query)

# Close connection
DBI::dbDisconnect(connection)

# Return animal ids
sort(data$id_pk)
}
28 changes: 0 additions & 28 deletions R/list_cpod_project_codes.R
Original file line number Diff line number Diff line change
Expand Up @@ -16,31 +16,3 @@ list_cpod_project_codes <- function(connection, api = TRUE){
return(out)
}

#' list_cpod_project_codes() sql helper
#'
#' @inheritParams list_cpod_project_codes()
#' @noRd
#'
list_cpod_project_codes_sql <- function() {

# Create connection
connection <- do.call(connect_to_etn, get_credentials())
# Check connection
check_connection(connection)

project_query <- glue::glue_sql(
readr::read_file(system.file("sql", "project.sql", package = "etn")),
.con = connection
)
query <- glue::glue_sql(
"SELECT DISTINCT project_code FROM ({project_query}) AS project WHERE project_type = 'cpod'",
.con = connection
)
data <- DBI::dbGetQuery(connection, query)

# Close connection
DBI::dbDisconnect(connection)

# Return cpod project codes
sort(data$project_code)
}
Loading

0 comments on commit 0e15606

Please sign in to comment.