9 1081cf75 2024-11-04 o func decodePosts(r io.Reader) ([]Post, error) {
10 1081cf75 2024-11-04 o var jresponse struct {
11 1081cf75 2024-11-04 o Posts []struct {
15 1081cf75 2024-11-04 o if err := json.NewDecoder(r).Decode(&jresponse); err != nil {
16 1081cf75 2024-11-04 o return nil, fmt.Errorf("decode posts response: %w", err)
18 1081cf75 2024-11-04 o var posts []Post
19 1081cf75 2024-11-04 o for _, post := range jresponse.Posts {
20 1081cf75 2024-11-04 o posts = append(posts, post.Post)
22 1081cf75 2024-11-04 o return posts, nil
25 1081cf75 2024-11-04 o func decodePostResponse(r io.Reader) (Post, Person, Community, error) {
26 1081cf75 2024-11-04 o type jresponse struct {
27 1081cf75 2024-11-04 o PostView struct {
30 1081cf75 2024-11-04 o Community Community
31 1081cf75 2024-11-04 o } `json:"post_view"`
33 1081cf75 2024-11-04 o var jresp jresponse
34 1081cf75 2024-11-04 o if err := json.NewDecoder(r).Decode(&jresp); err != nil {
35 1081cf75 2024-11-04 o return Post{}, Person{}, Community{}, fmt.Errorf("decode post: %w", err)
37 1081cf75 2024-11-04 o jresp.PostView.Post.Creator = jresp.PostView.Creator
38 1081cf75 2024-11-04 o return jresp.PostView.Post, jresp.PostView.Creator, jresp.PostView.Community, nil