Post-Migrator/services/wordpress/get-posts.go

41 lines
842 B
Go
Raw Normal View History

2024-05-07 22:03:15 +00:00
package wordpress
import (
"encoding/json"
"federated.computer/wp-sync-slowtwitch/utilities"
"io"
"net/http"
)
type PostData struct {
Id int `json:"id"`
Link string `json:"link"`
Title struct {
Rendered string `json:"rendered"`
} `json:"title"`
Content struct {
Rendered string `json:"rendered"`
} `json:"content"`
AuthorId int `json:"author"`
Excerpt struct {
Rendered string `json:"rendered"`
} `json:"excerpt"`
FeaturedMediaId int `json:"featured_media"`
}
func GetPosts(baseUrl string) []PostData {
url := "posts?per_page=99"
req, err := http.Get(baseUrl + url)
utilities.CheckError(err)
defer utilities.CloseBodyAndCheckError(req.Body)
body, err := io.ReadAll(req.Body)
utilities.CheckError(err)
var posts []PostData
err = json.Unmarshal(body, &posts)
utilities.CheckError(err)
return posts
}