Files
bakery-ia/services/demo_session/app/api/demo_accounts.py

49 lines
1.6 KiB
Python
Raw Permalink Normal View History

2025-10-06 15:27:01 +02:00
"""
Demo Accounts API - Public demo account information (ATOMIC READ)
"""
from fastapi import APIRouter
from typing import List
import structlog
from app.api.schemas import DemoAccountInfo
from app.core import settings
from shared.routing import RouteBuilder
router = APIRouter(tags=["demo-accounts"])
logger = structlog.get_logger()
route_builder = RouteBuilder('demo')
@router.get(
route_builder.build_base_route("accounts", include_tenant_prefix=False),
response_model=List[DemoAccountInfo]
)
async def get_demo_accounts():
"""Get public demo account information (ATOMIC READ)"""
accounts = []
for account_type, config in settings.DEMO_ACCOUNTS.items():
accounts.append({
"account_type": account_type,
"name": config["name"],
"email": config["email"],
"password": "DemoSanPablo2024!" if "sanpablo" in config["email"] else "DemoLaEspiga2024!",
"description": (
"Panadería individual que produce todo localmente"
if account_type == "professional"
2025-10-06 15:27:01 +02:00
else "Punto de venta con obrador central"
),
"features": (
2025-11-01 21:35:03 +01:00
["Gestión de Producción", "Recetas", "Inventario", "Ventas", "Previsión de Demanda"]
if account_type == "professional"
2025-11-01 21:35:03 +01:00
else ["Gestión de Proveedores", "Pedidos", "Inventario", "Ventas", "Previsión de Demanda"]
2025-10-06 15:27:01 +02:00
),
"business_model": (
"Producción Local" if account_type == "professional" else "Obrador Central + Punto de Venta"
2025-10-06 15:27:01 +02:00
)
})
return accounts