diff --git a/packages/adapters/sqlite_tracker/__init__.py b/packages/adapters/sqlite_tracker/__init__.py deleted file mode 100644 index ef2cad630..000000000 --- a/packages/adapters/sqlite_tracker/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -"""SQLite Tracker Adapter""" - -__all__ = [ - "SQLiteTaskRepository", - "SQLiteMilestoneRepository", - "SQLiteTaskIssueRepository", -] diff --git a/packages/domain/permissions.py b/packages/domain/permissions.py deleted file mode 100644 index 952849fed..000000000 --- a/packages/domain/permissions.py +++ /dev/null @@ -1,50 +0,0 @@ -""" -Permissions module. -All permission checks pass by default (workspace concept removed). -""" - - -class PermissionChecker: - """Permission checker - all checks pass by default.""" - - def __init__(self, member_repository=None): - self.member_repository = member_repository - - def check_access(self, project_id, user_id): - return True, "owner" - - def check_is_owner(self, project_id, user_id): - return True - - def check_is_admin_or_owner(self, project_id, user_id): - return True - - def check_can_manage_members(self, project_id, user_id): - return True - - def check_can_edit_project(self, project_id, user_id): - return True - - def check_can_delete_project(self, project_id, user_id): - return True - - def check_can_view_project(self, project_id, user_id): - return True - - -class Permission: - PROJECT_VIEW = "project:view" - PROJECT_CREATE = "project:create" - PROJECT_EDIT = "project:edit" - PROJECT_DELETE = "project:delete" - ASSET_VIEW = "asset:view" - ASSET_UPLOAD = "asset:upload" - ASSET_EDIT = "asset:edit" - ASSET_DELETE = "asset:delete" - - -ROLE_PERMISSIONS = {} - - -def has_permission(role, permission): - return True diff --git a/requirements.txt b/requirements.txt index 99dc5e323..ae0d9cdc0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,9 +21,6 @@ python-multipart==0.0.32 # Redis redis==5.2.0 -# 邮件 -aiosmtplib==3.0.2 - # HTTP 客户端 httpx==0.27.2 @@ -32,9 +29,6 @@ pytest==8.3.3 pytest-asyncio==0.24.0 pytest-cov==6.0.0 -# 工具 -python-dotenv==1.0.1 - # 视频处理 ffmpeg-python==0.2.0 Pillow==10.4.0 diff --git a/tests/unit/test_email_service.py b/tests/unit/test_email_service.py index 2bbbe74dc..08b97b4f8 100644 --- a/tests/unit/test_email_service.py +++ b/tests/unit/test_email_service.py @@ -137,30 +137,6 @@ class TestEmailService: # 验证收件人 assert call_args[0][1] == ["user@example.com"] - @patch("smtplib.SMTP") - def test_send_workspace_invitation_email(self, mock_smtp, email_service): - """测试发送工作空间邀请邮件""" - mock_server = MagicMock() - mock_smtp.return_value.__enter__.return_value = mock_server - - success, error = email_service.send_workspace_invitation_email( - to_email="user@example.com", - inviter_name="Alice", - workspace_name="My Workspace", - role="admin", - invitation_url="https://example.com/invite?token=inv123", - ) - - assert success is True - assert error is None - - # 验证发送了邮件 - mock_server.sendmail.assert_called_once() - call_args = mock_server.sendmail.call_args - - # 验证收件人 - assert call_args[0][1] == ["user@example.com"] - @patch("smtplib.SMTP") def test_email_without_tls(self, mock_smtp): """测试不使用 TLS 发送邮件"""