1.4: GET /admin/users/{user_id}/memberships — Szervezeti tagságok endpoint #308
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: Egy felhasználó szervezeti tagságainak listázása. Válasz: organization_id, organization_name, role, status, is_permanent, expires_at, invited_email, is_verified.
🔗 Függőségek (Dependencies)
📝 Elemzés
Új GET /admin/users/{user_id}/memberships endpoint. JOIN marketplace.organization_members ON user_id, majd JOIN fleet.organizations ON organization_id a névhez.
✅ Munka befejezve: 2026-06-29 04:19:26
Technikai Összefoglaló:
GET /admin/users/{user_id}/memberships endpoint implementálva. A végpont listázza egy admin felhasználó szervezeti tagságait (OrganizationMember) a fleet.organization_members táblából, joinedload-dal betöltve a szervezet nevét. Válasz: {total, items} struktúra. Jogosultság: RequirePermission('user:view'). Tesztelve: létező user (124) → 200, nem létező user (99999) → 404.
⏱️ Az idő rögzítve.
✅ Gitea #308 - GET /admin/users/{user_id}/memberships — Kész
Implementált végpont
GET /admin/users/{user_id}/membershipsA
logic_spec_admin_user_person_management.mdspecifikáció 4.8-as szekciója alapján elkészült az admin felhasználó szervezeti tagságait listázó endpoint.Technikai részletek
UserMembershipResponse,UserMembershipsResponse✅ Gitea #308 kártya sikeresen implementálva és lezárva
Implementált végpont:
GET /admin/users/{user_id}/membershipsSpecifikáció:
logic_spec_admin_user_person_management.md— Section 4.8 (EPIC-1, task 1.4)Működés:
RequirePermission("user:view")— csak admin felhasználók hívhatjákuser_id: int(path paraméter)UserMembershipsResponse { total: int, items: UserMembershipResponse[] }id,organization_id,organization_name,organization_display_name,role,status,is_verified,is_permanent,created_at,updated_at404ha a felhasználó nem létezikTechnikai részletek:
OrganizationMembermodellből queryzjoinedload(Organization)-dal a szervezet nevének hatékony betöltéséhezroleenum érték stringgé alakítva a JSON serializációhozcreated_at/updated_atdatetime objektumok ISO string formátumba konvertálvaTesztek:
200→{"total":0,"items":[]}404→{"detail":"Felhasználó nem található."}