diff --git a/panel/admin.tsx b/panel/admin.tsx index 7f208034..66542cb2 100644 --- a/panel/admin.tsx +++ b/panel/admin.tsx @@ -880,9 +880,9 @@ const AdminPage: Component = (props) => { } } return ( - + ) } @@ -893,9 +893,9 @@ const AdminPage: Component = (props) => { */ function ShowHideButton({ shown, onToggle }: { shown: boolean, onToggle: () => void }) { return ( - + ) } @@ -990,17 +990,17 @@ const AdminPage: Component = (props) => { {(variable) => { - const shown = shownVars()[variable.key] || false + const shown = () => shownVars()[variable.key] || false return ( {variable.key} - {variable.isSecret && !shown + {variable.isSecret && !shown() ? '••••••••' : (variable.value || не задано)} {variable.isSecret && ( - toggleShow(variable.key)} /> + toggleShow(variable.key)} /> )} {variable.description || '-'} diff --git a/panel/styles.css b/panel/styles.css index 953df3c4..4b9e9abd 100644 --- a/panel/styles.css +++ b/panel/styles.css @@ -840,4 +840,11 @@ th.sortable.sorted { th.sortable.sorted .sort-icon { color: var(--primary-color); font-weight: bold; +} + +.btn { + text-decoration: none; + margin-left: 6px; + cursor: pointer; + user-select: none; } \ No newline at end of file diff --git a/resolvers/author.py b/resolvers/author.py index 7c95d4d8..a0522da4 100644 --- a/resolvers/author.py +++ b/resolvers/author.py @@ -389,12 +389,17 @@ async def load_authors_by(_, info, by, limit, offset): Returns: list: Список авторов с учетом критерия """ - # Получаем ID текущего пользователя и флаг админа из контекста - viewer_id = info.context.get("author", {}).get("id") - is_admin = info.context.get("is_admin", False) - - # Используем оптимизированную функцию для получения авторов - return await get_authors_with_stats(limit, offset, by, viewer_id, is_admin) + try: + # Получаем ID текущего пользователя и флаг админа из контекста + viewer_id = info.context.get("author", {}).get("id") + is_admin = info.context.get("is_admin", False) + + # Используем оптимизированную функцию для получения авторов + return await get_authors_with_stats(limit, offset, by, viewer_id, is_admin) + except Exception as exc: + import traceback + logger.error(f"{exc}:\n{traceback.format_exc()}") + return [] @query.field("load_authors_search") diff --git a/services/env.py b/services/env.py index 2b6907d4..e83110a2 100644 --- a/services/env.py +++ b/services/env.py @@ -86,7 +86,7 @@ class EnvManager: # Переменные, которые следует всегда помечать как секретные SECRET_VARS_PATTERNS = [ r".*TOKEN.*", r".*SECRET.*", r".*PASSWORD.*", r".*KEY.*", - r".*PWD.*", r".*PASS.*", r".*CRED.*", + r".*PWD.*", r".*PASS.*", r".*CRED.*", r".*_DSN.*", r".*JWT.*", r".*SESSION.*", r".*OAUTH.*", r".*GITHUB.*", r".*GOOGLE.*", r".*FACEBOOK.*" ]