Files
service-finder/backend/app/schemas/auth.py
Kincses 24d35fe0c1 feat: stabilize KYC, international assets and multi-currency schema
- Split mother's name in KYC (last/first)
- Added mileage_unit and fuel_type to Assets
- Expanded AssetCost for international VAT and original currency
- Fixed SQLAlchemy IndexError in asset catalog lookup
- Added exchange_rate and ratings tables to models
2026-02-08 23:41:07 +00:00

56 lines
1.3 KiB
Python

from pydantic import BaseModel, EmailStr, Field
from typing import Optional, Dict
from datetime import date
# --- STEP 1: LITE REGISTRATION ---
class UserLiteRegister(BaseModel):
email: EmailStr
password: str = Field(..., min_length=8)
first_name: str
last_name: str
region_code: str = "HU"
class UserLogin(BaseModel):
email: EmailStr
password: str
# --- STEP 2: KYC & ONBOARDING ---
class ICEContact(BaseModel):
name: str
phone: str
relationship: Optional[str] = None
class DocumentDetail(BaseModel):
number: str
expiry_date: date
class UserKYCComplete(BaseModel):
phone_number: str
birth_place: str
birth_date: date
mothers_last_name: str
mothers_first_name: str
# Hibrid Címmezők
address_zip: str
address_city: str
address_street_name: str
address_street_type: str
address_house_number: str
address_hrsz: Optional[str] = None # Helyrajzi szám
identity_docs: Dict[str, DocumentDetail]
ice_contact: ICEContact
# --- COMMON & SECURITY ---
class PasswordResetRequest(BaseModel):
email: EmailStr
class PasswordResetConfirm(BaseModel):
email: EmailStr
token: str
password: str = Field(..., min_length=8)
password_confirm: str = Field(..., min_length=8)
class Token(BaseModel):
access_token: str
token_type: str
is_active: bool