diff options
author | Brian Picciano <mediocregopher@gmail.com> | 2022-05-14 21:30:18 -0600 |
---|---|---|
committer | Brian Picciano <mediocregopher@gmail.com> | 2022-05-14 21:35:53 -0600 |
commit | 788aba3d0d0bc98c0164f87cf3a4941cf4587a54 (patch) | |
tree | 789ea80de8041352a5e2ecda01334b1bbfc3ddbc /srv/src/post | |
parent | af08122a253916c9f7d923b6a0197db1cbbf536e (diff) |
Fix new index page
Diffstat (limited to 'srv/src/post')
-rw-r--r-- | srv/src/post/post.go | 17 | ||||
-rw-r--r-- | srv/src/post/post_test.go | 2 |
2 files changed, 8 insertions, 11 deletions
diff --git a/srv/src/post/post.go b/srv/src/post/post.go index cadfcfc..3eab9bc 100644 --- a/srv/src/post/post.go +++ b/srv/src/post/post.go @@ -31,7 +31,7 @@ type Post struct { ID string Title string Description string - Tags []string + Tags []string // only alphanumeric supported Series string Body string } @@ -199,12 +199,13 @@ func (s *store) get( query := fmt.Sprintf( `SELECT - p.id, p.title, p.description, p.series, pt.tag, + p.id, p.title, p.description, p.series, GROUP_CONCAT(pt.tag), p.published_at, p.last_updated_at, p.body FROM posts p LEFT JOIN post_tags pt ON (p.id = pt.post_id) `+where+` + GROUP BY (p.id) ORDER BY p.published_at %s, p.title %s`, s.order, s.order, ) @@ -243,18 +244,12 @@ func (s *store) get( return nil, fmt.Errorf("scanning row: %w", err) } - if tag.Valid { - - if l := len(posts); l > 0 && posts[l-1].ID == post.ID { - posts[l-1].Tags = append(posts[l-1].Tags, tag.String) - continue - } + post.Series = series.String - post.Tags = append(post.Tags, tag.String) + if tag.String != "" { + post.Tags = strings.Split(tag.String, ",") } - post.Series = series.String - if publishedAt.Valid { post.PublishedAt = time.Unix(publishedAt.Int64, 0).UTC() } diff --git a/srv/src/post/post_test.go b/srv/src/post/post_test.go index c5587c8..db247d1 100644 --- a/srv/src/post/post_test.go +++ b/srv/src/post/post_test.go @@ -159,6 +159,8 @@ func TestStore(t *testing.T) { h.testStoredPost(3), } + posts[1].Tags = []string{"1", "2"} + for _, post := range posts { assert.NoError(t, h.store.Set(post.Post, now)) } |