const trendingContent = await prisma.trendingContent.findMany( where: whereClause, orderBy: trendScore: 'desc' , take: parseInt(limit), skip: parseInt(offset), include: _count: select: userBookmarks: true

The Trending Score is calculated every 15 minutes via a background job (Celery/Bull).

enum ContentType VIDEO MEME ARTICLE TRAILER

// Add user-specific interaction status if (req.user) for (const item of trendingContent) item.userLiked = await prisma.userLike.findUnique( where: userId_contentId: userId: req.user.id, contentId: item.id ) !== null;