from abc import ABC, abstractmethod from app.modules.project.domain.entities import Project class ProjectRepository(ABC): @abstractmethod def list_all(self) -> list[Project]: ... @abstractmethod def get_by_id(self, project_id: str) -> Project | None: ... @abstractmethod def save(self, project: Project) -> None: ... @abstractmethod def delete(self, project_id: str) -> None: ...