Add user deletion functionality with related customer access cleanup (#539)
taylor_socfortress committed
Dec 1, 2025 at 12:06 UTC
5854dfe68f29b2a429736a3c86c4fb25c882867b
1 file changed
+6
backend/app/auth/services/universal.py
+6
@@ -12,6 +12,7 @@ from sqlmodel import select
12
from app.auth.models.users import Password
13
from app.auth.models.users import Role
14
from app.auth.models.users import User
15
+from app.auth.models.users import UserCustomerAccess
16
from app.db.db_session import async_engine
17
18
passwords_in_memory = {}
@@ -240,6 +241,11 @@ async def delete_user(user_id: int, session: AsyncSession):
241
242
# Database operations in try block
243
try:
244
+ # Delete related customer access records first
245
+ from sqlalchemy import delete as sql_delete
246
+
247
+ await session.execute(sql_delete(UserCustomerAccess).where(UserCustomerAccess.user_id == user_id))
248
+
249
await session.delete(user)
250
await session.commit()
251
logger.info(f"User with ID {user_id} deleted.")