feat: bring config file back

This commit is contained in:
2026-04-20 18:50:40 +03:00
parent 7a006f6d6b
commit ac75ab08c2
8 changed files with 84 additions and 35 deletions

41
app.R
View File

@@ -9,12 +9,9 @@ suppressPackageStartupMessages({
library(shinymanager)
})
# КАК ЗАПРЯТЯАТЬ ID
# SOURCE FILES ============================
box::purge_cache()
box::use(
configs/enabled_schemes[enabled_schemes],
modules/utils,
modules/global_options,
modules/db,
@@ -22,17 +19,25 @@ box::use(
modules/scheme_generator[scheme_R6]
)
# SETTINGS ================================
FILE_SCHEME <- fs::path("configs/schemas", "schema.xlsx")
AUTH_ENABLED <- Sys.getenv("FORM_AUTH_ENABLED", FALSE)
HEADER_TEXT <- sprintf("%s (%s)", Sys.getenv("FORM_TITLE", "NA"), Sys.getenv("FORM_VERSION", "NA"))
global_options$set_global_options(
shiny.host = "0.0.0.0"
# enabled_schemes = "example_of_scheme"
)
global_options$check_and_init_scheme()
# global vars
box::use(
modules/global_options[AUTH_ENABLED]
)
# SETTINGS ================================
HEADER_TEXT <- sprintf("%s (%s)", config::get("form_name"), config::get("form_app_version"))
# sadasdasdasdasdas
options(box.path = config::get("form_configs_path"))
box::use(enabled/enabled_schemes[enabled_schemes])
# CHECK FOR PANDOC
# TEMP ! NEED TO HANDLE
rmarkdown::find_pandoc(dir = "/opt/homebrew/bin/")
@@ -45,7 +50,14 @@ schms <- readRDS("scheme.rds")
# UI =======================
ui <- page_sidebar(
title = HEADER_TEXT,
# title = HEADER_TEXT,
title = tagList(
h4(HEADER_TEXT, style = "margin-top: .5rem"),
tooltip(
span("about", icon("circle-info", lib = "font-awesome")),
"Данный функционал позволяет обрабатывать информацию о пациентах на комиссию, используя Excel (обновление данных возможно через окно формирования списка пациентов)"
)
),
theme = bs_theme(version = 5, preset = "bootstrap"),
sidebar = sidebar(
actionButton("add_new_main_key_button", "Добавить новую запись", icon("plus", lib = "font-awesome")),
@@ -59,12 +71,9 @@ ui <- page_sidebar(
position = "left",
open = list(mobile = "always")
),
as_fill_carrier(uiOutput("main_ui_navset"))
as_fill_carrier(uiOutput("main_ui_navset")),
)
# MODALS ========================
# окно для подвтерждения очищения данных
# init auth =======================
if (AUTH_ENABLED) {
# shinymanager::set_labels("en", "Please authenticate" = "scheme()")
@@ -898,6 +907,8 @@ server <- function(input, output, session) {
"Пользователь" , ifelse(AUTH_ENABLED, res_auth$user, "anonymous"),
"Название базы" , names(enabled_schemes)[enabled_schemes == scheme()],
"id базы" , scheme(),
"id формы" , config::get("form_id"),
"ver формы" , config::get("form_app_version"),
"Время выгрузки" , format(Sys.time(), "%d.%m.%Y %H:%M:%S"),
)
@@ -1196,6 +1207,8 @@ server <- function(input, output, session) {
action_row <- tibble(
date = Sys.time(),
user = ifelse(AUTH_ENABLED, res_auth$user, "anonymous"),
app_id = config::get("form_id"),
app_ver = config::get("form_app_version"),
remote_addr = session$request$REMOTE_ADDR,
key = key,
action = action,