ba6e7669e8
Features: - FastAPI + SQLAlchemy 2.0 async + PostgreSQL/pgvector + Redis backend - Vue 3 + TypeScript + Element Plus frontend - JWT auth with access/refresh tokens and revocation - Admin/member RBAC - RSS feed CRUD and article listing - Settings management with Fernet encryption for sensitive values - Redis distributed lock service - Alembic initial migration - Docker Compose development environment Fixes from code review: - Fix DB session leak in dependency injection - Restrict registration to admin only - Add default admin password warning - Implement JWT refresh tokens and jti blacklist - Strengthen password policy - Use func.count for pagination totals - Replace NullPool with AsyncAdaptedQueuePool - Remove init_db from lifespan to enforce alembic migrations - Add request_id middleware and logging filter - Fix vite.config.ts env loading - Add frontend token refresh interceptor - Add Vue error handler Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
35 lines
905 B
Python
35 lines
905 B
Python
"""Models package."""
|
|
from app.models.ai_config import AIProviderConfig, AITaskConfig
|
|
from app.models.article import CleanedArticle, RawArticle
|
|
from app.models.base import Base, TimestampMixin, UUIDMixin, utc_now
|
|
from app.models.chat import ChatMessage, ChatSession
|
|
from app.models.feed import Feed
|
|
from app.models.lock import Lock
|
|
from app.models.output import Output, OutputTask
|
|
from app.models.reference import ArticleReference, DuplicateGroup
|
|
from app.models.setting import AppSetting
|
|
from app.models.skill import Skill
|
|
from app.models.user import User
|
|
|
|
__all__ = [
|
|
"Base",
|
|
"TimestampMixin",
|
|
"UUIDMixin",
|
|
"utc_now",
|
|
"User",
|
|
"Feed",
|
|
"RawArticle",
|
|
"CleanedArticle",
|
|
"ArticleReference",
|
|
"DuplicateGroup",
|
|
"Skill",
|
|
"AIProviderConfig",
|
|
"AITaskConfig",
|
|
"OutputTask",
|
|
"Output",
|
|
"ChatSession",
|
|
"ChatMessage",
|
|
"Lock",
|
|
"AppSetting",
|
|
]
|