- 新增 test_auth_api.py (48 tests): 注册/登录/刷新/退出全流程覆盖 - 新增 test_tasks_api.py (38 tests): 任务 CRUD/审核/申诉/权限控制 - 新增 AuditLog 模型 + log_action 审计服务 - 新增 logging_config.py 结构化日志配置 - 修复 task_service.py 缺少 Project.brand 嵌套加载导致的 MissingGreenlet 错误 - 修复 conftest.py 添加限流清理 fixture 防止测试间干扰 - 修复 TDD 红色阶段测试文件的 import 错误 (skip) - auth.py 集成审计日志 (注册/登录/退出) - 全部 211 tests passed, 2 skipped Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
1.2 KiB
Python
51 lines
1.2 KiB
Python
"""
|
|
数据库模型
|
|
导出所有 ORM 模型
|
|
"""
|
|
from app.models.base import Base, TimestampMixin
|
|
from app.models.user import User, UserRole
|
|
from app.models.organization import Brand, Agency, Creator, brand_agency_association, agency_creator_association
|
|
from app.models.project import Project, project_agency_association
|
|
from app.models.task import Task, TaskStage, TaskStatus
|
|
from app.models.brief import Brief
|
|
from app.models.ai_config import AIConfig
|
|
from app.models.review import ReviewTask, Platform
|
|
from app.models.rule import ForbiddenWord, WhitelistItem, Competitor
|
|
from app.models.audit_log import AuditLog
|
|
# 保留 Tenant 兼容旧代码,但新代码应使用 Brand
|
|
from app.models.tenant import Tenant
|
|
|
|
__all__ = [
|
|
# Base
|
|
"Base",
|
|
"TimestampMixin",
|
|
# 用户与组织
|
|
"User",
|
|
"UserRole",
|
|
"Brand",
|
|
"Agency",
|
|
"Creator",
|
|
"brand_agency_association",
|
|
"agency_creator_association",
|
|
# 项目与任务
|
|
"Project",
|
|
"project_agency_association",
|
|
"Task",
|
|
"TaskStage",
|
|
"TaskStatus",
|
|
"Brief",
|
|
# AI 配置
|
|
"AIConfig",
|
|
# 审核
|
|
"ReviewTask",
|
|
"Platform",
|
|
# 规则
|
|
"ForbiddenWord",
|
|
"WhitelistItem",
|
|
"Competitor",
|
|
# 审计日志
|
|
"AuditLog",
|
|
# 兼容
|
|
"Tenant",
|
|
]
|