Add random post selection

This commit is contained in:
2025-05-13 22:58:46 +03:30
parent f9ec882cd9
commit 61a48c1cf4

View File

@@ -22,7 +22,7 @@ func NewPostService(db *gorm.DB) *PostService {
return &PostService{db: db}
}
func (ps *PostService) GetPostsFromApi(ctx context.Context, tag string, instance string) (error, []models.Post) {
func (*PostService) GetPostsFromApi(ctx context.Context, tag string, instance string) (error, []models.Post) {
var requestUrl = instance + "/api/v1/timelines/tag/" + tag + "?limit=40"
req, err := http.NewRequestWithContext(ctx, "GET", requestUrl, nil)
if err != nil {
@@ -93,6 +93,12 @@ func (ps *PostService) InsertNewAccounts(newAccounts []models.Account) int {
return int(ps.db.Clauses(clause.OnConflict{UpdateAll: true}).Create(&newAccounts).RowsAffected)
}
func (ps *PostService) GetRandomPost() models.Post {
var post models.Post
ps.db.Order("RANDOM()").First(&post) // TODO: only approved posts
return post
}
func arrayContains(arr []string, str string) bool {
for _, a := range arr {
if a == str {