add admin user management: list and delete registered users
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user