cbaebcf649
- Add notifications table with Alembic migration
- Notification model with user-scoped indexing and partial index on unread
- NotificationService singleton with create/list/count/mark-read/dismiss
- FastAPI router: GET /notifications, GET /unread, PATCH /{id}/read,
POST /mark-all-read, DELETE /{id}
- Mute categories filtering from UserConfig
- 13 unit tests for NotificationService
- 10 integration tests for API endpoints
- Updated test_models.py with new table registration
Quality gates: pytest 23 new passed, ruff clean
33 lines
998 B
Python
33 lines
998 B
Python
from src.models.base import Base
|
|
from src.models.config_profile import ConfigProfile, ConfigProfileInclude
|
|
from src.models.git_repository import GitRepository
|
|
from src.models.health_check import HealthCheck
|
|
from src.models.instance_event import InstanceEvent
|
|
from src.models.notification import Notification
|
|
from src.models.project import Project
|
|
from src.models.ssh_key import SSHKey
|
|
from src.models.terminal_session import TerminalSessionModel
|
|
from src.models.tool_definition_manifest import ToolDefinitionManifest
|
|
from src.models.tool_instance import ToolInstance
|
|
from src.models.tool_type import ToolType
|
|
from src.models.user import User
|
|
from src.models.user_config import UserConfig
|
|
|
|
__all__ = [
|
|
"Base",
|
|
"ConfigProfile",
|
|
"ConfigProfileInclude",
|
|
"GitRepository",
|
|
"HealthCheck",
|
|
"InstanceEvent",
|
|
"Notification",
|
|
"Project",
|
|
"SSHKey",
|
|
"TerminalSessionModel",
|
|
"ToolDefinitionManifest",
|
|
"ToolInstance",
|
|
"ToolType",
|
|
"User",
|
|
"UserConfig",
|
|
]
|