You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
758 B

from app.models.friend import Friend
def friend_serialize(friend: list) -> Friend:
status = friend['status'] if 'status' in friend else 'pending'
return Friend(**{
"id": str(friend["_id"]),
"user_id": friend["user_id"],
"friend_user_id": friend["friend_user_id"],
"status": status
})
def friends_serialize(friends: list, external_friends: list) -> dict:
serialized_friends: dict = {
'friends': [],
'external_friends': []
}
for friend in friends:
serialized_friends["friends"].append(friend_serialize(friend))
for external_friend in external_friends:
serialized_friends["external_friends"].append(friend_serialize(external_friend))
return serialized_friends