"""Panel ziyaretçi profili (JWT). Thin handler'lar."""
from fastapi import APIRouter, Depends

from app.auth.dependencies import get_current_tenant
from app.models.tenant import Tenant
from app.services.visitor.visitor_service import VisitorService
from app.utils.responses import no_content, ok

router = APIRouter(prefix="/api/visitors", tags=["visitors"])


@router.get("/{visitor_id}")
async def get_visitor(
    visitor_id: str,
    tenant: Tenant = Depends(get_current_tenant),
    service: VisitorService = Depends(),
):
    result = await service.get_profile(visitor_id, tenant.id)
    return ok(result.model_dump(mode="json"))


@router.post("/{visitor_id}/forget")
async def forget_visitor(
    visitor_id: str,
    tenant: Tenant = Depends(get_current_tenant),
    service: VisitorService = Depends(),
):
    await service.forget(visitor_id, tenant.id)
    return no_content()
