"""更新任务基本信息用例""" from packages.domain import Task from packages.ports import TaskRepository class UpdateTaskUseCase: """更新任务基本信息""" def __init__(self, task_repo: TaskRepository): self.task_repo = task_repo def execute( self, task_id: str, name: str | None = None, description: str | None = None, priority: str | None = None, assignee_user_id: str | None = None, ) -> Task: task = self.task_repo.get_by_id(task_id) if not task: raise ValueError(f"Task {task_id} not found") if name is not None: task.name = name if description is not None: task.description = description if priority is not None: task.priority = priority if assignee_user_id is not None: task.assignee_user_id = assignee_user_id self.task_repo.update(task) return task