Initial commit - production deployment
This commit is contained in:
48
services/demo_session/app/api/demo_accounts.py
Normal file
48
services/demo_session/app/api/demo_accounts.py
Normal file
@@ -0,0 +1,48 @@
|
||||
"""
|
||||
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"
|
||||
else "Punto de venta con obrador central"
|
||||
),
|
||||
"features": (
|
||||
["Gestión de Producción", "Recetas", "Inventario", "Ventas", "Previsión de Demanda"]
|
||||
if account_type == "professional"
|
||||
else ["Gestión de Proveedores", "Pedidos", "Inventario", "Ventas", "Previsión de Demanda"]
|
||||
),
|
||||
"business_model": (
|
||||
"Producción Local" if account_type == "professional" else "Obrador Central + Punto de Venta"
|
||||
)
|
||||
})
|
||||
|
||||
return accounts
|
||||
Reference in New Issue
Block a user