2.2: GET /admin/persons/{person_id} — Person részletek endpoint #310
Notifications
Total Time Spent: 7 minutes
kincses
7 minutes
No due date set.
Dependencies
No dependencies set.
Reference: kincses/service-finder#310
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 Person összes adata, kapcsolódó User-ekkel, szervezeti tagságokkal, tulajdonolt cégekkel, merge history-val.
🔗 Függőségek (Dependencies)
📝 Elemzés
GET /admin/persons/{person_id}. Válasz: Person adatok + users lista + address + memberships + owned_business_entities + merged_into (ha merge-elt) + merged_sources (ha ő a cél).
▶️ Munka megkezdve: 2026-06-29 04:31:51
▶️ Munka megkezdve: 2026-06-29 04:33:59
✅ Munka befejezve: 2026-06-29 04:39:43
Technikai Összefoglaló:
Implemented GET /admin/persons/{person_id} endpoint with full Person detail (users, memberships, owned orgs, merge history). Added PersonDetailUserInfo, PersonDetailMembership, PersonDetailOwnedOrganization, PersonDetailMergeHistory, PersonDetailResponse Pydantic models. N+1 prevention via joinedload. Created persons:view permission (id=41) in system.permissions and assigned to SUPERADMIN/ADMIN roles. Tests: existing person → 200, non-existent → 404.
⏱️ Az idő rögzítve.
✅ Gitea #310 — GET /admin/persons/{person_id} — Kész
Implementált végpont
GET /admin/persons/{person_id}— Teljes Person adatlap visszaadása kapcsolódó entitásokkal.Pydantic Response Modellek
PersonDetailUserInfo— Kapcsolódó User-ek adatai (email, role, subscription, language, currency)PersonDetailMembership— Szervezeti tagságok (organization name, type, role, status)PersonDetailOwnedOrganization— Tulajdonolt cégekPersonDetailMergeHistory— Merge history (merged_into)PersonDetailResponse— Teljes Person adatlapN+1 Prevention
joinedload(Person.address)joinedload(Person.users)joinedload(Person.memberships).joinedload(OrganizationMember.organization)joinedload(Person.owned_business_entities)Adatbázis módosítás
persons:viewpermission (id=41, domain=identity, action=view) létrehozva asystem.permissionstáblábanTesztek
GET /admin/persons/1(Admin Super)GET /admin/persons/130(Test User)GET /admin/persons/99999(nem létező){"detail":"Person with id 99999 not found"}GET /admin/persons(lista)Gitea státusz
✅ #310 lezárva:
docker exec roo-helper python3 /scripts/gitea_manager.py finish 310