调整账号注册与删除流程
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import uuid
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query, status
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.core.deps import get_db_session, is_system_admin, require_roles
|
||||
@@ -97,4 +98,16 @@ async def delete_user(
|
||||
status_code=status.HTTP_400_BAD_REQUEST,
|
||||
detail="该账号仍在项目成员中,请先在项目成员配置中移除后再删除",
|
||||
)
|
||||
await user_crud.delete_user(db, db_user)
|
||||
if await user_crud.user_has_retained_history(db, db_user.id):
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_400_BAD_REQUEST,
|
||||
detail="该账号已有审计或权限访问记录,请停用账号以保留历史追溯",
|
||||
)
|
||||
try:
|
||||
await user_crud.delete_user(db, db_user)
|
||||
except IntegrityError as exc:
|
||||
await db.rollback()
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_400_BAD_REQUEST,
|
||||
detail="该账号已有业务记录,请停用账号以保留历史追溯",
|
||||
) from exc
|
||||
|
||||
Reference in New Issue
Block a user