From 24cec4e7aab33b6c44ba6d1ecf16895f254351b8 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Wed, 1 Mar 2023 18:52:44 +0100 Subject: [feature] Federate pinned posts (aka `featuredCollection`) in and out (#1560) * start fiddling * the ol' fiddle + update * start working on fetching statuses * poopy doopy doo where r u uwu * further adventures in featuring statuses * finishing up * fmt * simply status unpin loop * move empty featured check back to caller function * remove unnecessary log.WithContext calls * remove unnecessary IsIRI() checks * add explanatory comment about status URIs * change log level to error * better test names --- internal/db/bundb/admin.go | 4 ++-- internal/db/bundb/status.go | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'internal/db/bundb') diff --git a/internal/db/bundb/admin.go b/internal/db/bundb/admin.go index a4bc46a73..6b738261e 100644 --- a/internal/db/bundb/admin.go +++ b/internal/db/bundb/admin.go @@ -135,7 +135,7 @@ func (a *adminDB) NewSignup(ctx context.Context, username string, reason string, OutboxURI: accountURIs.OutboxURI, FollowersURI: accountURIs.FollowersURI, FollowingURI: accountURIs.FollowingURI, - FeaturedCollectionURI: accountURIs.CollectionURI, + FeaturedCollectionURI: accountURIs.FeaturedCollectionURI, } // insert the new account! @@ -237,7 +237,7 @@ func (a *adminDB) CreateInstanceAccount(ctx context.Context) db.Error { OutboxURI: newAccountURIs.OutboxURI, FollowersURI: newAccountURIs.FollowersURI, FollowingURI: newAccountURIs.FollowingURI, - FeaturedCollectionURI: newAccountURIs.CollectionURI, + FeaturedCollectionURI: newAccountURIs.FeaturedCollectionURI, } // insert the new account! diff --git a/internal/db/bundb/status.go b/internal/db/bundb/status.go index 2bec07759..8f1df2886 100644 --- a/internal/db/bundb/status.go +++ b/internal/db/bundb/status.go @@ -246,7 +246,13 @@ func (s *statusDB) PutStatus(ctx context.Context, status *gtsmodel.Status) db.Er }) } -func (s *statusDB) UpdateStatus(ctx context.Context, status *gtsmodel.Status) db.Error { +func (s *statusDB) UpdateStatus(ctx context.Context, status *gtsmodel.Status, columns ...string) db.Error { + status.UpdatedAt = time.Now() + if len(columns) > 0 { + // If we're updating by column, ensure "updated_at" is included. + columns = append(columns, "updated_at") + } + if err := s.conn.RunInTx(ctx, func(tx bun.Tx) error { // create links between this status and any emojis it uses for _, i := range status.EmojiIDs { @@ -298,6 +304,7 @@ func (s *statusDB) UpdateStatus(ctx context.Context, status *gtsmodel.Status) db _, err := tx. NewUpdate(). Model(status). + Column(columns...). Where("? = ?", bun.Ident("status.id"), status.ID). Exec(ctx) return err -- cgit v1.3