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 — 增改查(责编和管理员可操作)
"""
from fastapi import APIRouter, Depends, HTTPException, status
@@ -7,6 +7,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.episode import Episode
from app.models.user import User, UserRole
from app.schemas.episode import EpisodeCreate, EpisodeResponse, EpisodeUpdate
@@ -79,4 +80,19 @@ def update_episode(
session.add(episode)
session.commit()
session.refresh(episode)
return episode
return episode
@router.delete("/{episode_id}", status_code=status.HTTP_204_NO_CONTENT)
def delete_episode(
episode_id: int,
session: Session = Depends(get_session),
current_user: User = Depends(require_role(UserRole.zhipianren, UserRole.zebian)),
):
"""删除一期节目(仅管理员/责编)。"""
episode = session.get(Episode, episode_id)
if episode is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="期次不存在")
session.delete(episode)
session.commit()
return None