Rompiendo
23 Abr 2025, Mié

2: Perfil de Cliente

URL: /cliente-dashboard

# account_service.py from fastapi import APIRouter, HTTPException from pydantic import BaseModel from typing import Dict router = APIRouter() # Simulación de base de datos en memoria accounts_db: Dict[str, dict] = {} class AccountCreate(BaseModel): user_id: str currency: str = «USD» class AccountResponse(BaseModel): account_id: str user_id: str balance: float currency: str @router.post(«/crear», response_model=AccountResponse) def crear_cuenta(data: AccountCreate): if data.user_id in accounts_db: raise HTTPException(status_code=400, detail=»El usuario ya tiene una cuenta») nueva_cuenta = { «account_id»: f»ACC-{data.user_id}», «user_id»: data.user_id, «balance»: 0.0, «currency»: data.currency } accounts_db[data.user_id] = nueva_cuenta return nueva_cuenta @router.get(«/{user_id}», response_model=AccountResponse) def obtener_cuenta(user_id: str): cuenta = accounts_db.get(user_id) if not cuenta: raise HTTPException(status_code=404, detail=»Cuenta no encontrada») return cuenta @router.get(«/{user_id}/balance») def obtener_balance(user_id: str): cuenta = accounts_db.get(user_id) if not cuenta: raise HTTPException(status_code=404, detail=»Cuenta no encontrada») return {«balance»: cuenta[«balance»], «currency»: cuenta[«currency»]}

Te has perdido

Enable Notifications OK No thanks