fix: 修复 episodes + yearly_targets 模型导入缺失,增 DELETE 接口,冒烟 6/6 全绿

This commit is contained in:
simonkoson
2026-05-15 13:05:58 +08:00
parent 773441bb87
commit b3667aa7b9
5 changed files with 244 additions and 65 deletions
+18 -2
View File
@@ -1,5 +1,5 @@
"""
年度收视目标 API — 增改查
年度收视目标 API — 增改查
业务规则(.clinerules 5.2 只增不改):
- yearly_targets.year 有 UNIQUE 约束
@@ -13,6 +13,7 @@ from sqlmodel import Session, select
from app.core.deps import get_current_user, require_role
from app.db.session import get_session
from app.models.user import User, UserRole
from app.models.yearly_target import YearlyTarget
from app.schemas.yearly_target import YearlyTargetCreate, YearlyTargetResponse, YearlyTargetUpdate
router = APIRouter(prefix="/api/yearly_targets", tags=["年度目标"])
@@ -93,4 +94,19 @@ def update_target(
session.add(target)
session.commit()
session.refresh(target)
return target
return target
@router.delete("/{target_id}", status_code=status.HTTP_204_NO_CONTENT)
def delete_target(
target_id: int,
session: Session = Depends(get_session),
current_user: User = Depends(require_role(UserRole.zhipianren, UserRole.zebian)),
):
"""删除年度目标(仅管理员/责编)。"""
target = session.get(YearlyTarget, target_id)
if target is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="目标不存在")
session.delete(target)
session.commit()
return None