suna/backend/templates/repositories/base.py

19 lines
390 B
Python
Raw Normal View History

2025-07-14 18:36:27 +08:00
from abc import ABC, abstractmethod
from typing import Generic, TypeVar, Optional
T = TypeVar('T')
class Repository(ABC, Generic[T]):
@abstractmethod
async def find_by_id(self, id: str) -> Optional[T]:
pass
@abstractmethod
async def save(self, entity: T) -> T:
pass
@abstractmethod
async def delete(self, id: str) -> bool:
pass