"""Profile query handlers — Phase 13.0."""
from __future__ import annotations

from uuid import UUID

from sqlalchemy.ext.asyncio import AsyncSession

from app.services.profiles import DoctorService, PatientService


class ProfileQueries:
    def __init__(self, session: AsyncSession) -> None:
        self.doctors = DoctorService(session)
        self.patients = PatientService(session)

    async def get_doctor(self, tenant_id: UUID, doctor_id: UUID):
        return await self.doctors.get(tenant_id, doctor_id)

    async def list_doctors(self, tenant_id: UUID, *, offset: int = 0, limit: int = 20):
        return await self.doctors.list(tenant_id, offset=offset, limit=limit)

    async def get_patient(self, tenant_id: UUID, patient_id: UUID):
        return await self.patients.get(tenant_id, patient_id)

    async def list_patients(self, tenant_id: UUID, *, offset: int = 0, limit: int = 20):
        return await self.patients.list(tenant_id, offset=offset, limit=limit)
