forked from cardosofelipe/fast-next-template
Infrastructure: - Add Redis and Celery workers to all docker-compose files - Fix celery migration race condition in entrypoint.sh - Add healthchecks and resource limits to dev compose - Update .env.template with Redis/Celery variables Backend Models & Schemas: - Rename Sprint.completed_points to velocity (per requirements) - Add AgentInstance.name as required field - Rename Issue external tracker fields for consistency - Add IssueSource and TrackerType enums - Add Project.default_tracker_type field Backend Fixes: - Add Celery retry configuration with exponential backoff - Remove unused sequence counter from EventBus - Add mypy overrides for test dependencies - Fix test file using wrong schema (UserUpdate -> dict) Frontend Fixes: - Fix memory leak in useProjectEvents (proper cleanup) - Fix race condition with stale closure in reconnection - Sync TokenWithUser type with regenerated API client - Fix expires_in null handling in useAuth - Clean up unused imports in prototype pages - Add ESLint relaxed rules for prototype files CI/CD: - Add E2E testing stage with Testcontainers - Add security scanning with Trivy and pip-audit - Add dependency caching for faster builds Tests: - Update all tests to use renamed fields (velocity, name, etc.) - Fix 14 schema test failures - All 1500 tests pass with 91% coverage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
57 lines
1.3 KiB
Python
57 lines
1.3 KiB
Python
"""
|
|
Models package initialization.
|
|
Imports all models to ensure they're registered with SQLAlchemy.
|
|
"""
|
|
|
|
# First import Base to avoid circular imports
|
|
from app.core.database import Base
|
|
|
|
from .base import TimestampMixin, UUIDMixin
|
|
|
|
# OAuth models (client mode - authenticate via Google/GitHub)
|
|
from .oauth_account import OAuthAccount
|
|
|
|
# OAuth provider models (server mode - act as authorization server for MCP)
|
|
from .oauth_authorization_code import OAuthAuthorizationCode
|
|
from .oauth_client import OAuthClient
|
|
from .oauth_provider_token import OAuthConsent, OAuthProviderRefreshToken
|
|
from .oauth_state import OAuthState
|
|
from .organization import Organization
|
|
|
|
# Syndarix domain models
|
|
from .syndarix import (
|
|
AgentInstance,
|
|
AgentType,
|
|
Issue,
|
|
Project,
|
|
Sprint,
|
|
)
|
|
|
|
# Import models
|
|
from .user import User
|
|
from .user_organization import OrganizationRole, UserOrganization
|
|
from .user_session import UserSession
|
|
|
|
__all__ = [
|
|
# Syndarix models
|
|
"AgentInstance",
|
|
"AgentType",
|
|
"Base",
|
|
"Issue",
|
|
"OAuthAccount",
|
|
"OAuthAuthorizationCode",
|
|
"OAuthClient",
|
|
"OAuthConsent",
|
|
"OAuthProviderRefreshToken",
|
|
"OAuthState",
|
|
"Organization",
|
|
"OrganizationRole",
|
|
"Project",
|
|
"Sprint",
|
|
"TimestampMixin",
|
|
"UUIDMixin",
|
|
"User",
|
|
"UserOrganization",
|
|
"UserSession",
|
|
]
|