belépés jó, rgisztráción kicsit faragni kell még

This commit is contained in:
Roo
2026-06-05 14:45:02 +00:00
parent f03b5f3916
commit b84b1bab41
7 changed files with 570 additions and 42 deletions

View File

@@ -294,9 +294,15 @@ async def complete_kyc(kyc_in: UserKYCComplete, db: AsyncSession = Depends(get_d
return {"status": "success", "message": "Fiók aktiválva."}
@router.get("/me")
async def get_current_user_profile(current_user: User = Depends(get_current_user)):
async def get_current_user_profile(
db: AsyncSession = Depends(get_db),
current_user: User = Depends(get_current_user),
):
"""
Return current user profile (alias for /users/me).
Uses _build_user_response() to ensure proper address field mapping.
"""
from app.schemas.user import UserResponse
return UserResponse.model_validate(current_user)
from app.api.v1.endpoints.users import _build_user_response
response_data = _build_user_response(current_user)
return UserResponse.model_validate(response_data)

View File

@@ -68,15 +68,15 @@ def _build_user_response(user: User, active_org_id: Optional[int] = None) -> dic
address_data = None
if person.address:
address_data = {
"zip": getattr(person.address, 'zip', None) or getattr(getattr(person.address, 'postal_code', None), 'zip_code', None),
"city": getattr(person.address, 'city', None) or getattr(getattr(person.address, 'postal_code', None), 'city', None),
"street_name": person.address.street_name,
"street_type": person.address.street_type,
"house_number": person.address.house_number,
"stairwell": person.address.stairwell,
"floor": person.address.floor,
"door": person.address.door,
"parcel_id": person.address.parcel_id,
"address_zip": getattr(person.address, 'zip', None) or getattr(getattr(person.address, 'postal_code', None), 'zip_code', None),
"address_city": getattr(person.address, 'city', None) or getattr(getattr(person.address, 'postal_code', None), 'city', None),
"address_street_name": person.address.street_name,
"address_street_type": person.address.street_type,
"address_house_number": person.address.house_number,
"address_stairwell": person.address.stairwell,
"address_floor": person.address.floor,
"address_door": person.address.door,
"address_hrsz": person.address.parcel_id,
"full_address_text": person.address.full_address_text,
"latitude": person.address.latitude,
"longitude": person.address.longitude,
@@ -249,13 +249,12 @@ async def update_my_person(
)
if addr_id:
person.address_id = addr_id
# EXPLICIT betöltjük az új címet a memóriába, hogy felülírjuk a régit!
person.address = await db.get(Address, addr_id)
try:
await db.commit()
# Refresh to get the latest state
await db.refresh(person)
if person.address:
await db.refresh(person.address)
except SQLAlchemyError as e:
await db.rollback()
raise HTTPException(status_code=500, detail=f"Database error: {str(e)}")