Files
xiaoxia-saas/packages/ports/project_repository.py
T
2026-06-21 06:52:19 +08:00

33 lines
695 B
Python

"""
Project 仓储接口
"""
from abc import ABC, abstractmethod
from typing import Optional
from packages.domain.entities import Project
class ProjectRepository(ABC):
"""Project 仓储接口"""
@abstractmethod
def save(self, project: Project) -> None:
"""保存项目"""
pass
@abstractmethod
def find_by_id(self, project_id: str) -> Optional[Project]:
"""根据 ID 查找项目"""
pass
@abstractmethod
def count_by_workspace(self, workspace_id: str) -> int:
"""统计工作空间的项目数量"""
pass
@abstractmethod
def delete(self, project_id: str) -> bool:
"""删除项目"""
pass