diff --git a/R/modules/global_options.R b/R/modules/global_options.R index 0d7f69f..e887233 100644 --- a/R/modules/global_options.R +++ b/R/modules/global_options.R @@ -1,6 +1,13 @@ .on_load = function(ns) { check_and_init_scheme() + + # set global settings: + set_global_options( + shiny.host = "0.0.0.0", + shiny.port = 1338, + APP.DEBUG = FALSE + ) } @@ -8,9 +15,6 @@ #' @description костыли для упрощения работы себе set_global_options = function( SYMBOL_DELIM = "; ", - APP.DEBUG = FALSE, - # shiny.host = "127.0.0.1", - # shiny.port = 1338, ... ) { @@ -33,17 +37,21 @@ set_global_options = function( options( SYMBOL_DELIM = SYMBOL_DELIM, - # form.db_path = config::get("form_db_path"), - APP.DEBUG = APP.DEBUG, - # shiny.host = shiny.host, - # shiny.port = shiny.port, ... ) } +# global vars ------------------------------------ #' @export AUTH_ENABLED <- config::get("form_auth_enabled") +#' @export +#' TODO: нормальный разворот +ENABLED_SCHEMES <- unlist(config::get()$form_schemes) +ENABLED_SCHEMES <- stats::setNames(names(ENABLED_SCHEMES), ENABLED_SCHEMES) + +# ------------------------------------------------- + #' @export check_and_init_scheme = function() { diff --git a/app.R b/app.R index 7ee9079..48cd64d 100644 --- a/app.R +++ b/app.R @@ -9,7 +9,6 @@ box::use( # modules box::use( R/modules/utils, - R/modules/global_options, R/modules/db, R/modules/data_validation, R/app/forms, @@ -18,23 +17,12 @@ box::use( R/modules/data_manipulations[is_this_empty_value] ) -# set global settings: -global_options$set_global_options( - shiny.host = "0.0.0.0", - shiny.port = 1338, - APP.DEBUG = FALSE -) - -# global vars: -# TODO: загружается автоматически при загрузке всего модуля, нужно ли засирать файл? +# глобальные переменные и проверка/инициация схемы: box::use( - R/modules/global_options[AUTH_ENABLED] + R/modules/global_options[AUTH_ENABLED, ENABLED_SCHEMES], ) -enabled_schemes <- unlist(config::get()$form_schemes) -enabled_schemes <- setNames(names(enabled_schemes), enabled_schemes) -# load schemes object: -schms <- readRDS("temp/scheme.rds") +SCHMS <- readRDS("temp/scheme.rds") # CHECK FOR PANDOC ---------- # rmarkdown::find_pandoc(dir = "/opt/homebrew/bin/") @@ -131,7 +119,7 @@ server <- function(input, output, session) { forms_access <- stringr::str_split_1(string, ", ") # check if exists - exists <- forms_access %in% enabled_schemes + exists <- forms_access %in% ENABLED_SCHEMES if (!all(exists)) { cli::cli_warn(c("these forms is not exist:", paste("- ", forms_access[!exists]))) } @@ -188,7 +176,7 @@ server <- function(input, output, session) { nested_form_id = NULL, tasks_id = NULL, current_user = NULL, - user_form_access = enabled_schemes + user_form_access = ENABLED_SCHEMES ) scheme <- reactiveVal(NULL) # наименование выбранной схемы @@ -216,16 +204,16 @@ server <- function(input, output, session) { allowed_schemas <- if (is.na(res)) { NA # нет доступа } else if (res == "all") { - enabled_schemes # все схемы + ENABLED_SCHEMES # все схемы } else { - enabled_schemes[enabled_schemes == res] # только указанные + ENABLED_SCHEMES[ENABLED_SCHEMES == res] # только указанные } # переопределяем переменные main_form_is_empty(ifelse(is.na(res), "empty", "main_menu")) values$user_form_access <- allowed_schemas scheme(values$user_form_access[1]) - mhcs(schms[[values$user_form_access[1]]]) + mhcs(SCHMS[[values$user_form_access[1]]]) }) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -325,7 +313,7 @@ server <- function(input, output, session) { observeEvent(input$schmes_selector, { scheme(input$schmes_selector) - mhcs(schms[[input$schmes_selector]]) + mhcs(SCHMS[[input$schmes_selector]]) }) @@ -781,7 +769,7 @@ server <- function(input, output, session) { need(values$main_key, "⚠️ Необходимо указать id пациента!") ) span( - strong("Таблица: "), names(enabled_schemes)[enabled_schemes == scheme()], + strong("Таблица: "), names(ENABLED_SCHEMES)[ENABLED_SCHEMES == scheme()], br(), strong("ID: "), values$main_key ) @@ -1042,7 +1030,7 @@ server <- function(input, output, session) { list_of_df[["meta"]] <- dplyr::tribble( ~`Параметр` , ~`Значение`, "Пользователь" , values$current_user, - "Название базы" , names(enabled_schemes)[enabled_schemes == scheme()], + "Название базы" , names(ENABLED_SCHEMES)[ENABLED_SCHEMES == scheme()], "id базы" , scheme(), "id формы" , config::get("form_id"), "ver формы" , config::get("form_app_version"),