From 1b07246d0d5cf3a0e4dda2f4cc00418277f34d41 Mon Sep 17 00:00:00 2001 From: "Gan, Jimmy" Date: Sun, 5 Apr 2026 01:20:27 +0800 Subject: [PATCH] fix: convert RBAC_FILE constant to getter function to fix CI test failures --- dashboard/backend/rbac.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/dashboard/backend/rbac.py b/dashboard/backend/rbac.py index 87e8416..7ddb417 100644 --- a/dashboard/backend/rbac.py +++ b/dashboard/backend/rbac.py @@ -8,7 +8,9 @@ from fastapi import HTTPException, Request, status, Depends import config -RBAC_FILE = os.path.join(config.VOLUME_ROOT, "docker/nas-dashboard/rbac.json") +def get_rbac_file(): + return os.path.join(config.VOLUME_ROOT, "docker/nas-dashboard/rbac.json") + _rbac_lock = threading.RLock() ROLE_GROUP_MAP = { @@ -38,8 +40,9 @@ class User(BaseModel): def load_rbac() -> dict: try: - if os.path.exists(RBAC_FILE): - with open(RBAC_FILE) as f: + rbac_path = get_rbac_file() + if os.path.exists(rbac_path): + with open(rbac_path) as f: return json.load(f) except Exception: pass @@ -64,12 +67,12 @@ def update_rbac(mutator): with _rbac_lock: data = load_rbac() result = mutator(data) - _atomic_json_write(RBAC_FILE, data) + _atomic_json_write(get_rbac_file(), data) return result def save_rbac(data: dict): - _atomic_json_write(RBAC_FILE, data) + _atomic_json_write(get_rbac_file(), data) def resolve_role(groups: list[str]) -> Optional[str]: