Initial go
This commit is contained in:
@@ -7,7 +7,7 @@ from app.api.deps import get_db, get_current_admin_user, get_current_read_user
|
||||
from app.core.config import settings
|
||||
from app.core.security import create_access_token
|
||||
from app.crud.crud_user import user as crud_user
|
||||
from app.schemas.ppr import Token, UserCreate, UserUpdate, User
|
||||
from app.schemas.ppr import Token, UserCreate, UserUpdate, User, ChangePassword
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@@ -90,4 +90,22 @@ async def update_user(
|
||||
detail="User not found"
|
||||
)
|
||||
user = crud_user.update(db, db_obj=user, obj_in=user_in)
|
||||
return user
|
||||
|
||||
|
||||
@router.post("/users/{user_id}/change-password", response_model=User)
|
||||
async def change_user_password(
|
||||
user_id: int,
|
||||
password_data: ChangePassword,
|
||||
db: Session = Depends(get_db),
|
||||
current_user = Depends(get_current_admin_user)
|
||||
):
|
||||
"""Change a user's password (admin only)"""
|
||||
user = crud_user.get(db, user_id=user_id)
|
||||
if not user:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail="User not found"
|
||||
)
|
||||
user = crud_user.change_password(db, db_obj=user, new_password=password_data.password)
|
||||
return user
|
||||
Reference in New Issue
Block a user