refactor(pipelines): address code review - shared get_current_user_id, aria-live, deduplicate user ID logic

- Extract _get_user_id into shared auth.get_current_user_id() used by both
  pipelines API and the assign-pipeline endpoint in files API
- Fix aria-live attribute: use two separate static containers (polite/assertive)
  instead of dynamic Alpine.js binding for correct screen reader announcements
- Fix migration comment to accurately describe batch-mode FK creation
- Remove redundant tags parameter from reorder endpoint decorator
- Rename _make_file test helper to _make_test_file_record for clarity
- Update docs/UserGuide.md and docs/API.md with full Pipelines reference

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-07 10:39:19 +00:00
parent 89e0c2fb50
commit 1203a4b75f
8 changed files with 271 additions and 29 deletions
+2 -6
View File
@@ -1590,15 +1590,11 @@ def assign_pipeline_to_file(
HTTPException 404: If the file or pipeline does not exist / is not
accessible to the current user.
"""
from app.auth import get_current_user
from app.auth import get_current_user, get_current_user_id
from app.models import Pipeline
user = get_current_user(request)
# Derive user identity the same way the pipelines API does (_get_user_id)
if user:
user_id: str = user.get("preferred_username") or user.get("email") or user.get("id") or "anonymous"
else:
user_id = "anonymous"
user_id: str = get_current_user_id(request)
is_admin_user = bool(user and user.get("is_admin"))