getXfUser( $user_id ); if( !$user ){ return response()->json(['error' => 'User not found'], 404); } return [ 'user_id' => $user_id, 'username' => $user->username, 'avatar_url' => $user->getAvatarUrl(), 'avatar_color' => XenForoHelpers::getAvatarColor( $user ), 'avatar_letter' => XenForoHelpers::getAvatarLetter( $user ), 'group_name' => $service->getXfUserGroup( $user?->user_group_id ?? 0 )?->title ?? 'Guest', 'joined' => \DateTimeImmutable::createFromTimestamp( $user->register_date ?? 0 )->format('Y-m-d'), 'last_seen' => \DateTimeImmutable::createFromTimestamp( $user->last_activity ?? 0 )->format('Y-m-d'), 'message_count' => $user->message_count, 'reaction_score' => $user->reaction_score, 'trophy_points' => $user->trophy_points, 'entries_count' => $user->rhpz_entry_count, ]; }); return response()->json( ['user' => $data] ); } public function getNotifications( Request $request ){ $service = app(XenforoApiService::class); $data = $service->getUserAlerts(\Auth::user()->user_id); return response()->json( $data ); } public function markAllRead( Request $request ){ $service = app(XenforoApiService::class); $service->markAllNotificationsRead(\Auth::user()->user_id); return response()->json( ['success' => true] ); } public function getConversations( Request $request ){ $service = app(XenforoApiService::class); $data = $service->getConversations(\Auth::user()->user_id); return response()->json( $data ); } }