Interactive feed provider

This commit is contained in:
2025-03-15 13:37:43 +08:00
parent ee4e7a58fe
commit 17c280ddf7
7 changed files with 71 additions and 7 deletions

View File

@@ -0,0 +1,26 @@
package services
import (
"git.solsynth.dev/hypernet/reader/pkg/internal/database"
"git.solsynth.dev/hypernet/reader/pkg/internal/models"
)
func GetTodayNewsRandomly(limit int, isAdvanced bool) ([]models.NewsArticle, error) {
var sources []string
for _, srv := range GetNewsSources() {
if !isAdvanced && srv.Advanced {
continue
}
sources = append(sources, srv.ID)
}
var articles []models.NewsArticle
if err := database.C.Limit(limit).
Where("source IN ?", sources).
Where("DATE(created_at) = CURRENT_DATE"). // Created in today
Order("RANDOM()").
Find(&articles).Error; err != nil {
return articles, err
}
return articles, nil
}