"""Personas API endpoint."""

from fastapi import APIRouter, Depends
from sqlmodel import Session

from app.database import get_session
from app.repositories.persona import PersonaRepository
from app.schemas.persona import PersonaOut

router = APIRouter()


@router.get("/personas", response_model=list[PersonaOut])
async def list_personas(session: Session = Depends(get_session)):
    """Return active personas for the frontend."""
    personas = PersonaRepository(session).get_active()
    return [
        PersonaOut(
            persona_id=p.persona_id,
            name=p.name,
            header=p.header,
            image=p.image,
            sort_order=p.sort_order,
        )
        for p in personas
    ]
