mirror of
https://github.com/fromchat-messenger/web.git
synced 2026-09-22 19:15:08 +03:00
Make suspended accounts look like deleted
This commit is contained in:
@@ -53,7 +53,7 @@ def convert_user(user: User) -> dict:
|
||||
"verified": user.verified,
|
||||
"suspended": user.suspended or False,
|
||||
"suspension_reason": user.suspension_reason,
|
||||
"deleted": user.deleted or False
|
||||
"deleted": (user.deleted or user.suspended) or False # Treat suspended as deleted
|
||||
}
|
||||
|
||||
@router.get("/check_auth")
|
||||
|
||||
@@ -164,8 +164,8 @@ def convert_message(msg: Message) -> dict:
|
||||
"username": reaction.user.display_name
|
||||
})
|
||||
|
||||
# Handle deleted users
|
||||
if msg.author.deleted:
|
||||
# Handle deleted or suspended users
|
||||
if msg.author.deleted or msg.author.suspended:
|
||||
username = f"Deleted User #{msg.author.id}"
|
||||
profile_picture = None
|
||||
verified = False
|
||||
@@ -222,8 +222,8 @@ def convert_dm_envelope(envelope: DMEnvelope) -> dict:
|
||||
db = next(get_db())
|
||||
sender = db.query(User).filter(User.id == envelope.sender_id).first()
|
||||
|
||||
# Handle deleted users
|
||||
if sender and sender.deleted:
|
||||
# Handle deleted or suspended users
|
||||
if sender and (sender.deleted or sender.suspended):
|
||||
sender_verified = False
|
||||
else:
|
||||
sender_verified = sender.verified if sender else False
|
||||
|
||||
@@ -131,7 +131,7 @@ async def get_user_profile(
|
||||
verified=current_user.verified,
|
||||
suspended=current_user.suspended or False,
|
||||
suspension_reason=current_user.suspension_reason,
|
||||
deleted=current_user.deleted or False,
|
||||
deleted=(current_user.deleted or current_user.suspended) or False, # Treat suspended as deleted
|
||||
)
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@ async def list_users(
|
||||
verified=user.verified,
|
||||
suspended=user.suspended or False,
|
||||
suspension_reason=user.suspension_reason,
|
||||
deleted=user.deleted or False,
|
||||
deleted=(user.deleted or user.suspended) or False, # Treat suspended as deleted
|
||||
).model_dump()
|
||||
for user in users
|
||||
]
|
||||
@@ -282,6 +282,23 @@ async def get_user_by_username(
|
||||
|
||||
_ensure_owner_unsuspended(user, db)
|
||||
|
||||
# Handle deleted or suspended users
|
||||
if user.deleted or user.suspended:
|
||||
return UserProfileResponse(
|
||||
id=user.id,
|
||||
username="deleted",
|
||||
display_name="Deleted User",
|
||||
profile_picture=None,
|
||||
bio=None,
|
||||
online=False,
|
||||
last_seen=None, # Clear last seen timestamp
|
||||
created_at=None, # Clear member since timestamp
|
||||
verified=False,
|
||||
suspended=False,
|
||||
suspension_reason=None,
|
||||
deleted=True
|
||||
)
|
||||
|
||||
return UserProfileResponse(
|
||||
id=user.id,
|
||||
username=user.username,
|
||||
@@ -294,7 +311,7 @@ async def get_user_by_username(
|
||||
verified=user.verified,
|
||||
suspended=user.suspended or False,
|
||||
suspension_reason=user.suspension_reason,
|
||||
deleted=user.deleted or False,
|
||||
deleted=(user.deleted or user.suspended) or False, # Treat suspended as deleted
|
||||
)
|
||||
|
||||
@router.get("/user/id/{user_id}")
|
||||
@@ -312,8 +329,8 @@ async def get_user_by_id(
|
||||
|
||||
_ensure_owner_unsuspended(user, db)
|
||||
|
||||
# Handle deleted users
|
||||
if user.deleted:
|
||||
# Handle deleted or suspended users
|
||||
if user.deleted or user.suspended:
|
||||
return UserProfileResponse(
|
||||
id=user.id,
|
||||
username="deleted",
|
||||
|
||||
Reference in New Issue
Block a user