refactor: remove db.commit() from audit_service.log_action, all callers use UoW
This commit is contained in:
@@ -47,26 +47,25 @@ def create_user_route(
|
||||
current_user: User = Depends(require_role("admin")),
|
||||
):
|
||||
"""Create a new user. **Requires admin role.**"""
|
||||
user = create_user(
|
||||
db,
|
||||
username=payload.username,
|
||||
email=payload.email,
|
||||
password=payload.password,
|
||||
role=payload.role,
|
||||
)
|
||||
with UnitOfWork(db) as uow:
|
||||
user = create_user(
|
||||
db,
|
||||
username=payload.username,
|
||||
email=payload.email,
|
||||
password=payload.password,
|
||||
role=payload.role,
|
||||
)
|
||||
log_action(
|
||||
db,
|
||||
user_id=current_user.id,
|
||||
action="create_user",
|
||||
entity_type="user",
|
||||
entity_id=user.id,
|
||||
details={"username": user.username, "role": user.role},
|
||||
)
|
||||
uow.commit()
|
||||
db.refresh(user)
|
||||
|
||||
log_action(
|
||||
db,
|
||||
user_id=current_user.id,
|
||||
action="create_user",
|
||||
entity_type="user",
|
||||
entity_id=user.id,
|
||||
details={"username": user.username, "role": user.role},
|
||||
)
|
||||
|
||||
return user
|
||||
|
||||
|
||||
@@ -99,18 +98,17 @@ def update_user_route(
|
||||
):
|
||||
"""Update one or more fields of an existing user. **Requires admin role.**"""
|
||||
update_data = payload.model_dump(exclude_unset=True)
|
||||
user = update_user(db, user_id, **update_data)
|
||||
with UnitOfWork(db) as uow:
|
||||
user = update_user(db, user_id, **update_data)
|
||||
log_action(
|
||||
db,
|
||||
user_id=current_user.id,
|
||||
action="update_user",
|
||||
entity_type="user",
|
||||
entity_id=user.id,
|
||||
details={"updated_fields": list(update_data.keys())},
|
||||
)
|
||||
uow.commit()
|
||||
db.refresh(user)
|
||||
|
||||
log_action(
|
||||
db,
|
||||
user_id=current_user.id,
|
||||
action="update_user",
|
||||
entity_type="user",
|
||||
entity_id=user.id,
|
||||
details={"updated_fields": list(update_data.keys())},
|
||||
)
|
||||
|
||||
return user
|
||||
|
||||
Reference in New Issue
Block a user