Implement Nested Profile Response & Editable Profile Card #205

Closed
opened 2026-06-05 00:49:54 +02:00 by kincses · 2 comments
Owner

Mérföldkő: Backend Refactor + Frontend Profile

Cél: A GET /users/me végpont UserResponse sémájának bővítése beágyazott Person és Address adatokkal, valamint a profil kártya helyben szerkeszthetővé tétele a frontenden.

🔗 Függőségek (Dependencies)

  • Bemenet (Mikre támaszkodik): User, Person, Address modellek (SQLAlchemy), meglévő auth/me végpont
  • Kimenet (Mik támaszkodnak rá): ProfileView.vue, auth store, KYC flow

📝 Elemzés

A jelenlegi UserResponse séma túl lapos, nem tartalmazza a Person és Address beágyazott adatokat. A frontend profil kártyája ezért üres mezőket mutat. Szükség van:

  1. AddressResponse és PersonResponse Pydantic sémák létrehozására
  2. Eager loading bevezetésére a get_current_user függvényben (joinedload(User.person).joinedload(Person.address))
  3. PUT /users/me/person végpontra a profil szerkesztéséhez
  4. Wallet modell user_id FK ondelete='CASCADE' javítására
  5. ProfileView.vue helyben szerkeszthetővé tételére
**Mérföldkő:** Backend Refactor + Frontend Profile **Cél:** A GET /users/me végpont UserResponse sémájának bővítése beágyazott Person és Address adatokkal, valamint a profil kártya helyben szerkeszthetővé tétele a frontenden. ### 🔗 Függőségek (Dependencies) - **Bemenet (Mikre támaszkodik):** User, Person, Address modellek (SQLAlchemy), meglévő auth/me végpont - **Kimenet (Mik támaszkodnak rá):** ProfileView.vue, auth store, KYC flow ### 📝 Elemzés A jelenlegi UserResponse séma túl lapos, nem tartalmazza a Person és Address beágyazott adatokat. A frontend profil kártyája ezért üres mezőket mutat. Szükség van: 1. AddressResponse és PersonResponse Pydantic sémák létrehozására 2. Eager loading bevezetésére a get_current_user függvényben (joinedload(User.person).joinedload(Person.address)) 3. PUT /users/me/person végpontra a profil szerkesztéséhez 4. Wallet modell user_id FK ondelete='CASCADE' javítására 5. ProfileView.vue helyben szerkeszthetővé tételére
kincses added the Type: FeatureStatus: In Progress labels 2026-06-05 00:50:02 +02:00
kincses started working 2026-06-05 00:50:02 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-06-05 00:50:01

▶️ **Munka megkezdve:** 2026-06-05 00:50:01
kincses added Status: Done and removed Status: In Progress labels 2026-06-05 00:58:30 +02:00
kincses worked for 8 minutes 2026-06-05 00:58:30 +02:00
Author
Owner

Munka befejezve: 2026-06-05 00:58:29

Technikai Összefoglaló:
Nested Profile Response & Editable Profile Card implemented. Changes: (1) AddressResponse/PersonResponse Pydantic schemas with nested structure in UserResponse, (2) Eager loading with joinedload(User.person).joinedload(Person.address) in get_current_user, (3) PUT /users/me/person endpoint with GeoService address creation, (4) Wallet model FK ondelete=CASCADE fix, (5) Frontend ProfileView.vue inline editing with isEditing state and editForm, (6) Auth store updatePerson action with PersonData/AddressData interfaces, (7) Person model address relationship added, (8) Fixed missing Device/UserDeviceLink exports in identity init.py, (9) Fixed missing Optional import in auth.py. Sync engine passed, backend running.

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-06-05 00:58:29 **Technikai Összefoglaló:** Nested Profile Response & Editable Profile Card implemented. Changes: (1) AddressResponse/PersonResponse Pydantic schemas with nested structure in UserResponse, (2) Eager loading with joinedload(User.person).joinedload(Person.address) in get_current_user, (3) PUT /users/me/person endpoint with GeoService address creation, (4) Wallet model FK ondelete=CASCADE fix, (5) Frontend ProfileView.vue inline editing with isEditing state and editForm, (6) Auth store updatePerson action with PersonData/AddressData interfaces, (7) Person model address relationship added, (8) Fixed missing Device/UserDeviceLink exports in identity __init__.py, (9) Fixed missing Optional import in auth.py. Sync engine passed, backend running. ⏱️ *Az idő rögzítve.*
Sign in to join this conversation.