[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 <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
tobi
2025-05-13 14:48:11 +00:00
committed by kim
parent 5925644ad3
commit ca12742a7a
28 changed files with 1214 additions and 248 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"