add admin user management: list and delete registered users

This commit is contained in:
2026-08-31 15:54:30 +08:00
parent 4a61afd5a9
commit 3652ebda07
5 changed files with 133 additions and 1 deletions

View File

@@ -43,6 +43,7 @@ from .models import (
UserDubShareSummary,
UserPublic,
UserResultSummary,
UserAdminListResponse,
VideoDetailResponse,
VideoListResponse,
VideoSummary,
@@ -249,6 +250,26 @@ def create_app(
# 后台页面本身不缓存,静态 JS 通过版本号刷新,避免发布后浏览器继续跑旧逻辑。
return FileResponse(page, headers={"Cache-Control": "no-cache"})
@application.get(
"/api/v1/admin/users",
response_model=UserAdminListResponse,
dependencies=[Depends(require_admin)],
)
def list_registered_users() -> UserAdminListResponse:
return UserAdminListResponse(
users=video_repository.list_users()
)
@application.delete("/api/v1/admin/users/{user_id}", status_code=204)
def delete_registered_user(
user_id: str,
_: None = Depends(require_admin),
) -> Response:
deleted = video_repository.delete_user(user_id)
if not deleted:
raise HTTPException(status_code=404, detail="User was not found.")
return Response(status_code=204)
@application.get("/api/v1/videos", response_model=VideoListResponse)
def list_videos() -> VideoListResponse:
return VideoListResponse(