From fd0d3699e4562e07a669878dc48640a2c6f4ac5d Mon Sep 17 00:00:00 2001
From: LittleSheep <littlesheep.code@hotmail.com>
Date: Sun, 6 Apr 2025 13:23:07 +0800
Subject: [PATCH] :sparkles: Get feed item now will preload feed

---
 pkg/internal/server/api/feed_items_api.go | 3 ++-
 pkg/internal/services/feed.go             | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/pkg/internal/server/api/feed_items_api.go b/pkg/internal/server/api/feed_items_api.go
index 8109a16..a843105 100644
--- a/pkg/internal/server/api/feed_items_api.go
+++ b/pkg/internal/server/api/feed_items_api.go
@@ -19,6 +19,7 @@ func listFeedItem(c *fiber.Ctx) error {
 	if err := database.C.
 		Order("published_at DESC").
 		Omit("Content").
+		Preload("Feed").
 		Limit(take).Offset(offset).Find(&items).Error; err != nil {
 		return fiber.NewError(fiber.StatusBadRequest, err.Error())
 	}
@@ -33,7 +34,7 @@ func getFeedItem(c *fiber.Ctx) error {
 	id, _ := c.ParamsInt("id", 0)
 
 	var item models.SubscriptionItem
-	if err := database.C.Where("id = ?", id).First(&item).Error; err != nil {
+	if err := database.C.Where("id = ?", id).Preload("Feed").First(&item).Error; err != nil {
 		return fiber.NewError(fiber.StatusNotFound, err.Error())
 	}
 
diff --git a/pkg/internal/services/feed.go b/pkg/internal/services/feed.go
index d1f35ba..4e5e271 100644
--- a/pkg/internal/services/feed.go
+++ b/pkg/internal/services/feed.go
@@ -11,6 +11,7 @@ func GetTodayFeedRandomly(limit int) ([]models.SubscriptionItem, error) {
 		Where("DATE(created_at) = CURRENT_DATE"). // Created in today
 		Order("RANDOM()").
 		Omit("Content").
+		Preload("Feed").
 		Find(&articles).Error; err != nil {
 		return articles, err
 	}