from abc import ABC, abstractmethod
from uuid import UUID

from domain.tasks.tasks import Task


class TaskRepository(ABC):
    @abstractmethod
    def create(self, task: Task) -> Task: ...

    @abstractmethod
    def get(self, task_id: UUID) -> Task: ...

    @abstractmethod
    def save(self, task: Task) -> None: ...
