From ca12742a7ac0aec95fc0d7897e54a2272a68c34f Mon Sep 17 00:00:00 2001 From: tobi Date: Tue, 13 May 2025 14:48:11 +0000 Subject: [chore] Deprecate `with_approval`, `always` (client API), `approvalRequired`, `always` (fedi API) (#4173) This pull request deprecates `with_approval` and `always` on the client API side, and `approvalRequired` and `always` on the fedi API side, replacing them with `automatic_approval` and `manual_approval` and `automaticApproval` and `manualApproval`, respectively. Back-compat is kept with these deprecated fields, and they're still serialized to the client API and fedi APIs respectively, in addition to the new non-deprecated properties. This will stay the case until v0.21.0 when they'll be removed. For the sake of not doing a massive database migration, the fields are still named `Always` and `WithApproval` in storage. I think this is probably fine! Part of https://codeberg.org/superseriousbusiness/gotosocial/issues/4026 Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4173 Co-authored-by: tobi Co-committed-by: tobi --- internal/processing/status/boost.go | 4 ++-- internal/processing/status/create.go | 4 ++-- internal/processing/status/fave.go | 4 ++-- internal/processing/stream/statusupdate_test.go | 15 +++++++++++++++ 4 files changed, 21 insertions(+), 6 deletions(-) (limited to 'internal/processing') diff --git a/internal/processing/status/boost.go b/internal/processing/status/boost.go index c8c50d3ee..7c7162c12 100644 --- a/internal/processing/status/boost.go +++ b/internal/processing/status/boost.go @@ -96,7 +96,7 @@ func (p *Processor) BoostCreate( // Derive pendingApproval status. var pendingApproval bool switch { - case policyResult.WithApproval(): + case policyResult.ManualApproval(): // We're allowed to do // this pending approval. pendingApproval = true @@ -117,7 +117,7 @@ func (p *Processor) BoostCreate( boost.PreApproved = true } - case policyResult.Permitted(): + case policyResult.AutomaticApproval(): // We're permitted to do this // based on another kind of match. pendingApproval = false diff --git a/internal/processing/status/create.go b/internal/processing/status/create.go index 8596f2f1a..23189411a 100644 --- a/internal/processing/status/create.go +++ b/internal/processing/status/create.go @@ -406,7 +406,7 @@ func (p *Processor) processInReplyTo( // Derive pendingApproval status. var pendingApproval bool switch { - case policyResult.WithApproval(): + case policyResult.ManualApproval(): // We're allowed to do // this pending approval. pendingApproval = true @@ -427,7 +427,7 @@ func (p *Processor) processInReplyTo( status.PreApproved = true } - case policyResult.Permitted(): + case policyResult.AutomaticApproval(): // We're permitted to do this // based on another kind of match. pendingApproval = false diff --git a/internal/processing/status/fave.go b/internal/processing/status/fave.go index 95eb8bff2..52e6b9d43 100644 --- a/internal/processing/status/fave.go +++ b/internal/processing/status/fave.go @@ -112,7 +112,7 @@ func (p *Processor) FaveCreate( ) switch { - case policyResult.WithApproval(): + case policyResult.ManualApproval(): // We're allowed to do // this pending approval. pendingApproval = true @@ -133,7 +133,7 @@ func (p *Processor) FaveCreate( preApproved = true } - case policyResult.Permitted(): + case policyResult.AutomaticApproval(): // We're permitted to do this // based on another kind of match. pendingApproval = false diff --git a/internal/processing/stream/statusupdate_test.go b/internal/processing/stream/statusupdate_test.go index 0045cceed..f11ab40a2 100644 --- a/internal/processing/stream/statusupdate_test.go +++ b/internal/processing/stream/statusupdate_test.go @@ -135,6 +135,11 @@ func (suite *StatusUpdateTestSuite) TestStreamNotification() { "poll": null, "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -142,6 +147,11 @@ func (suite *StatusUpdateTestSuite) TestStreamNotification() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -149,6 +159,11 @@ func (suite *StatusUpdateTestSuite) TestStreamNotification() { "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" -- cgit v1.2.3