"""Abstract repository interface for PreschoolPlanningDays. Adds entity-specific queries on top of the generic CRUD contract. Concrete implementations live in app/repositories_impl//. """ from abc import abstractmethod from uuid import UUID from app.entities.preschool_planning_days import PreschoolPlanningDays from app.repositories.base import Repository class PreschoolPlanningDaysRepository(Repository[PreschoolPlanningDays]): @abstractmethod async def get_by_child_year(self, child_id: UUID, year: int) -> PreschoolPlanningDays | None: """Return the entry for a given (child, year) (UNIQUE), or None."""