diff --git a/backend/routers/feed.py b/backend/routers/feed.py index 95143c1..f9dc0f8 100644 --- a/backend/routers/feed.py +++ b/backend/routers/feed.py @@ -41,29 +41,53 @@ def get_global_feed( for r in reviews: user = session.get(User, r.user_id) + user_data = {"id": 0, "username": "Deleted User", "avatar": None} + if user: + user_data = { + "id": user.id, + "username": user.email.split("@")[0] if user.email else "User", + "avatar": user.avatar + } + feed_items.append(FeedItem( type="review", - timestamp=r.created_at or datetime.utcnow(), # Handle missing created_at if any + timestamp=r.created_at or datetime.utcnow(), data=r, - user={"id": user.id, "username": user.email.split("@")[0], "avatar": user.avatar} if user else {} + user=user_data )) for a in attendance: user = session.get(User, a.user_id) + user_data = {"id": 0, "username": "Deleted User", "avatar": None} + if user: + user_data = { + "id": user.id, + "username": user.email.split("@")[0] if user.email else "User", + "avatar": user.avatar + } + feed_items.append(FeedItem( type="attendance", timestamp=a.created_at, data=a, - user={"id": user.id, "username": user.email.split("@")[0], "avatar": user.avatar} if user else {} + user=user_data )) for p in posts: user = session.get(User, p.user_id) + user_data = {"id": 0, "username": "Deleted User", "avatar": None} + if user: + user_data = { + "id": user.id, + "username": user.email.split("@")[0] if user.email else "User", + "avatar": user.avatar + } + feed_items.append(FeedItem( type="post", timestamp=p.created_at, data=p, - user={"id": user.id, "username": user.email.split("@")[0], "avatar": user.avatar} if user else {} + user=user_data )) # Sort by timestamp desc