mirror of
https://github.com/imartinez/privateGPT.git
synced 2025-06-29 16:58:00 +00:00
Updated audit logs
This commit is contained in:
parent
fb35ba28a2
commit
6818cba858
@ -13,12 +13,8 @@ RUN apt-get update && apt-get install -y \
|
|||||||
wget \
|
wget \
|
||||||
make \
|
make \
|
||||||
cmake \
|
cmake \
|
||||||
g++
|
g++ \
|
||||||
|
gcc
|
||||||
# Set the C++ compiler
|
|
||||||
ENV CMAKE_CXX_COMPILER=g++
|
|
||||||
ENV CC=gcc
|
|
||||||
ENV CXX=g++
|
|
||||||
|
|
||||||
# Switch to the Python image for the final build stage
|
# Switch to the Python image for the final build stage
|
||||||
FROM python:3.11.6-slim-bookworm as base
|
FROM python:3.11.6-slim-bookworm as base
|
||||||
|
@ -76,6 +76,7 @@ def list_departments(
|
|||||||
|
|
||||||
@router.post("/create", response_model=schemas.Department)
|
@router.post("/create", response_model=schemas.Department)
|
||||||
def create_department(
|
def create_department(
|
||||||
|
request: Request,
|
||||||
department_in: schemas.DepartmentCreate,
|
department_in: schemas.DepartmentCreate,
|
||||||
db: Session = Depends(deps.get_db),
|
db: Session = Depends(deps.get_db),
|
||||||
current_user: models.User = Security(
|
current_user: models.User = Security(
|
||||||
@ -99,7 +100,7 @@ def create_department(
|
|||||||
'department_name': department.name
|
'department_name': department.name
|
||||||
}
|
}
|
||||||
|
|
||||||
log_audit_department(db, current_user, 'create', details)
|
log_audit_department(request, db, current_user, 'create', details)
|
||||||
|
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=status.HTTP_201_CREATED,
|
status_code=status.HTTP_201_CREATED,
|
||||||
@ -145,6 +146,7 @@ def read_department(
|
|||||||
|
|
||||||
@router.post("/update", response_model=schemas.Department)
|
@router.post("/update", response_model=schemas.Department)
|
||||||
def update_department(
|
def update_department(
|
||||||
|
request: Request,
|
||||||
department_in: schemas.DepartmentUpdate,
|
department_in: schemas.DepartmentUpdate,
|
||||||
db: Session = Depends(deps.get_db),
|
db: Session = Depends(deps.get_db),
|
||||||
current_user: models.User = Security(
|
current_user: models.User = Security(
|
||||||
@ -172,7 +174,7 @@ def update_department(
|
|||||||
'new_department_name': department.name,
|
'new_department_name': department.name,
|
||||||
}
|
}
|
||||||
|
|
||||||
log_audit_department(db, current_user, 'update', details)
|
log_audit_department(request, db, current_user, 'update', details)
|
||||||
|
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=status.HTTP_200_OK,
|
status_code=status.HTTP_200_OK,
|
||||||
@ -192,6 +194,7 @@ def update_department(
|
|||||||
|
|
||||||
@router.post("/delete", response_model=schemas.Department)
|
@router.post("/delete", response_model=schemas.Department)
|
||||||
def delete_department(
|
def delete_department(
|
||||||
|
request: Request,
|
||||||
department_in: schemas.DepartmentDelete,
|
department_in: schemas.DepartmentDelete,
|
||||||
db: Session = Depends(deps.get_db),
|
db: Session = Depends(deps.get_db),
|
||||||
current_user: models.User = Security(
|
current_user: models.User = Security(
|
||||||
@ -213,10 +216,8 @@ def delete_department(
|
|||||||
'department_id': department.id,
|
'department_id': department.id,
|
||||||
'department_name': department.name
|
'department_name': department.name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
deleted_department = crud.department.remove(db=db, id=department_id)
|
deleted_department = crud.department.remove(db=db, id=department_id)
|
||||||
log_audit_department(db, current_user, 'delete', details)
|
log_audit_department(request, db, current_user, 'delete', details)
|
||||||
|
|
||||||
deleted_department = jsonable_encoder(deleted_department)
|
deleted_department = jsonable_encoder(deleted_department)
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
|
@ -84,6 +84,7 @@ def read_users_by_company(
|
|||||||
@router.post("", response_model=schemas.User)
|
@router.post("", response_model=schemas.User)
|
||||||
def create_user(
|
def create_user(
|
||||||
*,
|
*,
|
||||||
|
request: Request,
|
||||||
db: Session = Depends(deps.get_db),
|
db: Session = Depends(deps.get_db),
|
||||||
user_in: schemas.UserCreate,
|
user_in: schemas.UserCreate,
|
||||||
current_user: models.User = Security(
|
current_user: models.User = Security(
|
||||||
@ -110,7 +111,7 @@ def create_user(
|
|||||||
'company_id': user.company_id,
|
'company_id': user.company_id,
|
||||||
'department_id': user.department_id,
|
'department_id': user.department_id,
|
||||||
}
|
}
|
||||||
log_audit_user(db, current_user, 'create', details)
|
log_audit_user(request, db, current_user, 'create', details)
|
||||||
|
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=status.HTTP_201_CREATED,
|
status_code=status.HTTP_201_CREATED,
|
||||||
@ -121,6 +122,7 @@ def create_user(
|
|||||||
@router.put("/me", response_model=schemas.User)
|
@router.put("/me", response_model=schemas.User)
|
||||||
def update_username(
|
def update_username(
|
||||||
*,
|
*,
|
||||||
|
request: Request,
|
||||||
db: Session = Depends(deps.get_db),
|
db: Session = Depends(deps.get_db),
|
||||||
current_user: models.User = Depends(deps.get_current_user),
|
current_user: models.User = Depends(deps.get_current_user),
|
||||||
update_in: schemas.UsernameUpdate,
|
update_in: schemas.UsernameUpdate,
|
||||||
@ -141,7 +143,7 @@ def update_username(
|
|||||||
'old_fullname': old_fullname,
|
'old_fullname': old_fullname,
|
||||||
'new_fullname': user.fullname,
|
'new_fullname': user.fullname,
|
||||||
}
|
}
|
||||||
log_audit_user(db, current_user, 'update_username', details)
|
log_audit_user(request=request, db=db, current_user=current_user, action='update_username', details=details)
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=status.HTTP_200_OK,
|
status_code=status.HTTP_200_OK,
|
||||||
content={"message": "Username updated successfully",
|
content={"message": "Username updated successfully",
|
||||||
@ -175,6 +177,7 @@ def read_user_me(
|
|||||||
@router.patch("/me/change-password", response_model=schemas.User)
|
@router.patch("/me/change-password", response_model=schemas.User)
|
||||||
def change_password(
|
def change_password(
|
||||||
*,
|
*,
|
||||||
|
request: Request,
|
||||||
db: Session = Depends(deps.get_db),
|
db: Session = Depends(deps.get_db),
|
||||||
current_user: models.User = Depends(deps.get_current_user),
|
current_user: models.User = Depends(deps.get_current_user),
|
||||||
old_password: str = Body(..., embed=True),
|
old_password: str = Body(..., embed=True),
|
||||||
@ -203,7 +206,7 @@ def change_password(
|
|||||||
'detail': 'Password changed successfully!',
|
'detail': 'Password changed successfully!',
|
||||||
'user_id': current_user.id,
|
'user_id': current_user.id,
|
||||||
}
|
}
|
||||||
log_audit_user(db, current_user, 'change_password', details)
|
log_audit_user(request, db, current_user, 'change_password', details)
|
||||||
|
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=status.HTTP_200_OK,
|
status_code=status.HTTP_200_OK,
|
||||||
@ -235,6 +238,7 @@ def read_user_by_id(
|
|||||||
@router.put("/{user_id}", response_model=schemas.User)
|
@router.put("/{user_id}", response_model=schemas.User)
|
||||||
def update_user(
|
def update_user(
|
||||||
*,
|
*,
|
||||||
|
request: Request,
|
||||||
db: Session = Depends(deps.get_db),
|
db: Session = Depends(deps.get_db),
|
||||||
user_id: int,
|
user_id: int,
|
||||||
user_in: schemas.UserUpdate,
|
user_in: schemas.UserUpdate,
|
||||||
@ -268,7 +272,7 @@ def update_user(
|
|||||||
'company_id': user.company_id,
|
'company_id': user.company_id,
|
||||||
'department_id': user.department_id,
|
'department_id': user.department_id,
|
||||||
}
|
}
|
||||||
log_audit_user(db, current_user, 'update user', details)
|
log_audit_user(request, db, current_user, 'update user', details)
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=status.HTTP_200_OK,
|
status_code=status.HTTP_200_OK,
|
||||||
content={"message": "User updated successfully", "user": jsonable_encoder(user_data)},
|
content={"message": "User updated successfully", "user": jsonable_encoder(user_data)},
|
||||||
@ -319,6 +323,7 @@ def admin_change_password(
|
|||||||
company_id=user.company_id,
|
company_id=user.company_id,
|
||||||
department_id=user.department_id,
|
department_id=user.department_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=status.HTTP_200_OK,
|
status_code=status.HTTP_200_OK,
|
||||||
content={"message": "User password changed successfully",
|
content={"message": "User password changed successfully",
|
||||||
@ -329,6 +334,7 @@ def admin_change_password(
|
|||||||
@router.post("/delete")
|
@router.post("/delete")
|
||||||
def delete_user(
|
def delete_user(
|
||||||
*,
|
*,
|
||||||
|
request: Request,
|
||||||
db: Session = Depends(deps.get_db),
|
db: Session = Depends(deps.get_db),
|
||||||
delete_user: schemas.DeleteUser,
|
delete_user: schemas.DeleteUser,
|
||||||
current_user: models.User = Security(
|
current_user: models.User = Security(
|
||||||
@ -349,7 +355,7 @@ def delete_user(
|
|||||||
'department_id': user.department_id,
|
'department_id': user.department_id,
|
||||||
}
|
}
|
||||||
|
|
||||||
log_audit_user(db, current_user, 'delete', details)
|
log_audit_user(request, db, current_user, 'delete', details)
|
||||||
|
|
||||||
if user is None:
|
if user is None:
|
||||||
raise HTTPException(status_code=404, detail="User not found")
|
raise HTTPException(status_code=404, detail="User not found")
|
||||||
@ -363,6 +369,7 @@ def delete_user(
|
|||||||
@router.post("/update_user")
|
@router.post("/update_user")
|
||||||
def admin_update_user(
|
def admin_update_user(
|
||||||
*,
|
*,
|
||||||
|
request: Request,
|
||||||
db: Session = Depends(deps.get_db),
|
db: Session = Depends(deps.get_db),
|
||||||
user_update: schemas.UserAdminUpdate,
|
user_update: schemas.UserAdminUpdate,
|
||||||
current_user: models.User = Security(
|
current_user: models.User = Security(
|
||||||
@ -376,20 +383,17 @@ def admin_update_user(
|
|||||||
try:
|
try:
|
||||||
|
|
||||||
existing_user = crud.user.get_by_id(db, id=user_update.id)
|
existing_user = crud.user.get_by_id(db, id=user_update.id)
|
||||||
|
|
||||||
if existing_user is None:
|
if existing_user is None:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=status.HTTP_404_NOT_FOUND,
|
status_code=status.HTTP_404_NOT_FOUND,
|
||||||
detail=f"User not found with id: {user_update.id}",
|
detail=f"User not found with id: {user_update.id}",
|
||||||
)
|
)
|
||||||
old_detail = {
|
old_detail = {
|
||||||
'fullnam': existing_user.fullname,
|
'fullname': existing_user.fullname,
|
||||||
'role': existing_user.user_role.role.name,
|
'role': existing_user.user_role.role.name,
|
||||||
'department': existing_user.department_id
|
'department': existing_user.department_id
|
||||||
}
|
}
|
||||||
if existing_user.fullname == user_update.fullname:
|
if not (existing_user.fullname == user_update.fullname):
|
||||||
pass
|
|
||||||
else:
|
|
||||||
fullname = crud.user.get_by_name(db, name=user_update.fullname)
|
fullname = crud.user.get_by_name(db, name=user_update.fullname)
|
||||||
if fullname:
|
if fullname:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
@ -410,19 +414,18 @@ def admin_update_user(
|
|||||||
role_id=role.id,
|
role_id=role.id,
|
||||||
)
|
)
|
||||||
role = crud.user_role.update(db, db_obj=user_role, obj_in=role_in)
|
role = crud.user_role.update(db, db_obj=user_role, obj_in=role_in)
|
||||||
print(f"THe new user name : {user_update.fullname} Department: {user_update.department_id}")
|
|
||||||
user_update_in = schemas.UserAdmin(fullname=user_update.fullname, department_id=user_update.department_id)
|
user_update_in = schemas.UserAdmin(fullname=user_update.fullname, department_id=user_update.department_id)
|
||||||
|
|
||||||
new_detail = {
|
new_detail = {
|
||||||
'email': existing_user.email,
|
'fullname': user_update.fullname,
|
||||||
'fullname': existing_user.fullname,
|
'role': user_update.role,
|
||||||
'department_id': existing_user.department_id,
|
'department': user_update.department_id
|
||||||
}
|
}
|
||||||
details = {
|
details = {
|
||||||
'old detail': old_detail,
|
'old detail': old_detail,
|
||||||
'new detail': new_detail,
|
'new detail': new_detail,
|
||||||
}
|
}
|
||||||
log_audit_user(db, current_user, 'admin_update', details)
|
log_audit_user(request, db, current_user, 'admin_update', details)
|
||||||
user = crud.user.get_by_id(db, id=existing_user.id)
|
user = crud.user.get_by_id(db, id=existing_user.id)
|
||||||
crud.user.update(db, db_obj=user, obj_in=user_update_in)
|
crud.user.update(db, db_obj=user, obj_in=user_update_in)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user