1.1: GET /admin/users/{user_id} — Felhasználó részletek endpoint #305
Notifications
Total Time Spent: 6 minutes
kincses
6 minutes
No due date set.
Dependencies
No dependencies set.
Reference: kincses/service-finder#305
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mérföldkő: Admin User & Person Management
Cél: REST végpont létrehozása egy felhasználó összes adatának lekérésére, beleértve Person, Address, Wallet, TrustProfile, OrganizationMembership adatokat.
🔗 Függőségek (Dependencies)
📝 Elemzés
Hiányzó endpoint: GET /admin/users/{user_id}. SQL logika: LEFT JOIN identity.users, identity.persons, identity.addresses, identity.wallets, identity.user_trust_profiles, marketplace.organization_members. Válasz tartalmazza: User alapadatok, Person adatok lakcímmel, Wallet, TrustProfile, Memberships, SystemCapabilities, OrgCapabilities. Helye: backend/app/api/v1/endpoints/admin.py a meglévő list_users endpoint mellett. Authorization: RequirePermission(permissions=['users:view'])
▶️ Munka megkezdve: 2026-06-29 03:38:56
✅ Munka befejezve: 2026-06-29 03:45:39
Technikai Összefoglaló:
GET /admin/users/{user_id} végpont implementálva. Létrehozva: backend/app/api/v1/endpoints/admin_users.py. Router regisztrálva: backend/app/api/v1/api.py prefix /admin/users. Használ RequirePermission("user:view")-t, joinedload eager loading-ot User→Person→Address relációkhoz. E2E teszt: 200 OK teljes UserResponse-szel.
⏱️ Az idő rögzítve.
✅ Gitea #305 kártya sikeresen lezárva
Implementált végpont: GET /admin/users/{user_id}
Végpont: GET /api/v1/admin/users/{user_id} — Felhasználó részletes adatainak lekérése
Módosított fájlok:
backend/app/api/v1/endpoints/admin_users.py (ÚJ fájl)
Aszinkron FastAPI végpont RequirePermission("user:view") jogosultság-ellenőrzéssel
joinedload eager loading a User → Person → Address → postal_code relációkhoz
Újrahasználja a meglévő _build_user_response() helper függvényt a users.py modulból
404 hibakezelés, ha a felhasználó nem található vagy is_deleted státuszú
Teljes UserResponse sémát ad vissza (Person + Address adatokkal)
backend/app/api/v1/api.py (Módosítva)
admin_users import hozzáadva
Router regisztráció: api_router.include_router(admin_users.router, prefix="/admin/users", tags=["Admin Users"])
Teszt eredmények:
✅ Python szintaxis ellenőrzés
✅ Modul import ellenőrzés
✅ API route regisztráció: GET /admin/users/{user_id} -> get_admin_user
✅ E2E teszt: GET /api/v1/admin/users/2 → 200 OK teljes UserResponse-szel (email, role, person adatok)