31 lines
878 B
Python
31 lines
878 B
Python
"""
|
|
Workspace 仓储 In-Memory 实现
|
|
"""
|
|
|
|
from typing import Dict, Optional
|
|
|
|
from packages.domain.entities import Workspace
|
|
from packages.ports.workspace_repository import WorkspaceRepository
|
|
|
|
|
|
class InMemoryWorkspaceRepository(WorkspaceRepository):
|
|
"""Workspace 仓储内存实现"""
|
|
|
|
def __init__(self):
|
|
self._workspaces: Dict[str, Workspace] = {}
|
|
|
|
def save(self, workspace: Workspace) -> None:
|
|
"""保存 Workspace"""
|
|
self._workspaces[workspace.id] = workspace
|
|
|
|
def find_by_id(self, workspace_id: str) -> Optional[Workspace]:
|
|
"""根据 ID 查找 Workspace"""
|
|
return self._workspaces.get(workspace_id)
|
|
|
|
def delete(self, workspace_id: str) -> bool:
|
|
"""删除 Workspace"""
|
|
if workspace_id in self._workspaces:
|
|
del self._workspaces[workspace_id]
|
|
return True
|
|
return False
|