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,
|
"verified": user.verified,
|
||||||
"suspended": user.suspended or False,
|
"suspended": user.suspended or False,
|
||||||
"suspension_reason": user.suspension_reason,
|
"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")
|
@router.get("/check_auth")
|
||||||
|
|||||||
@@ -164,8 +164,8 @@ def convert_message(msg: Message) -> dict:
|
|||||||
"username": reaction.user.display_name
|
"username": reaction.user.display_name
|
||||||
})
|
})
|
||||||
|
|
||||||
# Handle deleted users
|
# Handle deleted or suspended users
|
||||||
if msg.author.deleted:
|
if msg.author.deleted or msg.author.suspended:
|
||||||
username = f"Deleted User #{msg.author.id}"
|
username = f"Deleted User #{msg.author.id}"
|
||||||
profile_picture = None
|
profile_picture = None
|
||||||
verified = False
|
verified = False
|
||||||
@@ -222,8 +222,8 @@ def convert_dm_envelope(envelope: DMEnvelope) -> dict:
|
|||||||
db = next(get_db())
|
db = next(get_db())
|
||||||
sender = db.query(User).filter(User.id == envelope.sender_id).first()
|
sender = db.query(User).filter(User.id == envelope.sender_id).first()
|
||||||
|
|
||||||
# Handle deleted users
|
# Handle deleted or suspended users
|
||||||
if sender and sender.deleted:
|
if sender and (sender.deleted or sender.suspended):
|
||||||
sender_verified = False
|
sender_verified = False
|
||||||
else:
|
else:
|
||||||
sender_verified = sender.verified if sender else False
|
sender_verified = sender.verified if sender else False
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ async def get_user_profile(
|
|||||||
verified=current_user.verified,
|
verified=current_user.verified,
|
||||||
suspended=current_user.suspended or False,
|
suspended=current_user.suspended or False,
|
||||||
suspension_reason=current_user.suspension_reason,
|
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,
|
verified=user.verified,
|
||||||
suspended=user.suspended or False,
|
suspended=user.suspended or False,
|
||||||
suspension_reason=user.suspension_reason,
|
suspension_reason=user.suspension_reason,
|
||||||
deleted=user.deleted or False,
|
deleted=(user.deleted or user.suspended) or False, # Treat suspended as deleted
|
||||||
).model_dump()
|
).model_dump()
|
||||||
for user in users
|
for user in users
|
||||||
]
|
]
|
||||||
@@ -282,6 +282,23 @@ async def get_user_by_username(
|
|||||||
|
|
||||||
_ensure_owner_unsuspended(user, db)
|
_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(
|
return UserProfileResponse(
|
||||||
id=user.id,
|
id=user.id,
|
||||||
username=user.username,
|
username=user.username,
|
||||||
@@ -294,7 +311,7 @@ async def get_user_by_username(
|
|||||||
verified=user.verified,
|
verified=user.verified,
|
||||||
suspended=user.suspended or False,
|
suspended=user.suspended or False,
|
||||||
suspension_reason=user.suspension_reason,
|
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}")
|
@router.get("/user/id/{user_id}")
|
||||||
@@ -312,8 +329,8 @@ async def get_user_by_id(
|
|||||||
|
|
||||||
_ensure_owner_unsuspended(user, db)
|
_ensure_owner_unsuspended(user, db)
|
||||||
|
|
||||||
# Handle deleted users
|
# Handle deleted or suspended users
|
||||||
if user.deleted:
|
if user.deleted or user.suspended:
|
||||||
return UserProfileResponse(
|
return UserProfileResponse(
|
||||||
id=user.id,
|
id=user.id,
|
||||||
username="deleted",
|
username="deleted",
|
||||||
|
|||||||
Reference in New Issue
Block a user