from typing import List
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from fastapi import APIRouter, Depends

from src.core.database import get_db
from src.core.auth import require_enterprise_or_front
from src.services.classificacao import ClassifierService
from src.schemas.classificacao import (
    ClassifierSchema
)

router = APIRouter(tags=["Classificação"])


@router.get(
    "/classificar",
    summary="Classificações",
    responses={
        200: {
            "description": (
                "Atividades classificadas recuperadas com sucesso."
            )},
        500: {
            "description": "Erro interno do servidor"},
    },
    response_model=List[ClassifierSchema],
)
async def get_classifiers(
    db: AsyncSession = Depends(get_db),
    auth: dict = Depends(require_enterprise_or_front),
):
    return await ClassifierService.get_classifiers(db)
