summaryrefslogtreecommitdiff
path: root/internal/filter/interaction
diff options
context:
space:
mode:
authorLibravatar tobi <tobi.smethurst@protonmail.com>2025-05-13 14:48:11 +0000
committerLibravatar kim <gruf@noreply.codeberg.org>2025-05-13 14:48:11 +0000
commitca12742a7ac0aec95fc0d7897e54a2272a68c34f (patch)
treec25b5ae66b927d1dbe61833f2c228a3b24164355 /internal/filter/interaction
parent[chore] Update woodpecker to catch `len(fromJSON(CI_PIPELINE_FILES)) == 0` (#... (diff)
downloadgotosocial-ca12742a7ac0aec95fc0d7897e54a2272a68c34f.tar.xz
[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>
Diffstat (limited to 'internal/filter/interaction')
-rw-r--r--internal/filter/interaction/interactable.go44
1 files changed, 22 insertions, 22 deletions
diff --git a/internal/filter/interaction/interactable.go b/internal/filter/interaction/interactable.go
index e8afbd83c..2052ac78e 100644
--- a/internal/filter/interaction/interactable.go
+++ b/internal/filter/interaction/interactable.go
@@ -78,8 +78,8 @@ func (f *Filter) StatusLikeable(
// always like their own status,
// no need for further checks.
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
- PermittedMatchedOn: util.Ptr(gtsmodel.PolicyValueAuthor),
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
+ PermissionMatchedOn: util.Ptr(gtsmodel.PolicyValueAuthor),
}, nil
}
@@ -110,7 +110,7 @@ func (f *Filter) StatusLikeable(
// about interaction policies, and just return OK.
default:
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
}, nil
}
}
@@ -153,7 +153,7 @@ func (f *Filter) StatusReplyable(
// and having the reply-to-their-own-reply go
// through as Permitted. None of that!
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionWithApproval,
+ Permission: gtsmodel.PolicyPermissionManualApproval,
}, nil
}
}
@@ -163,8 +163,8 @@ func (f *Filter) StatusReplyable(
// always reply to their own status,
// no need for further checks.
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
- PermittedMatchedOn: util.Ptr(gtsmodel.PolicyValueAuthor),
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
+ PermissionMatchedOn: util.Ptr(gtsmodel.PolicyValueAuthor),
}, nil
}
@@ -173,8 +173,8 @@ func (f *Filter) StatusReplyable(
// to them being mentioned, and easier to check!
if status.InReplyToAccountID == requester.ID {
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
- PermittedMatchedOn: util.Ptr(gtsmodel.PolicyValueMentioned),
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
+ PermissionMatchedOn: util.Ptr(gtsmodel.PolicyValueMentioned),
}, nil
}
@@ -229,8 +229,8 @@ func (f *Filter) StatusReplyable(
// A mentioned account can always
// reply, no need for further checks.
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
- PermittedMatchedOn: util.Ptr(gtsmodel.PolicyValueMentioned),
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
+ PermissionMatchedOn: util.Ptr(gtsmodel.PolicyValueMentioned),
}, nil
}
@@ -261,7 +261,7 @@ func (f *Filter) StatusReplyable(
// about interaction policies, and just return OK.
default:
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
}, nil
}
}
@@ -291,8 +291,8 @@ func (f *Filter) StatusBoostable(
// always boost non-directs,
// no need for further checks.
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
- PermittedMatchedOn: util.Ptr(gtsmodel.PolicyValueAuthor),
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
+ PermissionMatchedOn: util.Ptr(gtsmodel.PolicyValueAuthor),
}, nil
}
@@ -324,7 +324,7 @@ func (f *Filter) StatusBoostable(
case status.Visibility == gtsmodel.VisibilityPublic ||
status.Visibility == gtsmodel.VisibilityUnlocked:
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
}, nil
// Not permitted by any of the
@@ -353,7 +353,7 @@ func (f *Filter) checkPolicy(
matchAlways, matchAlwaysValue, err := f.matchPolicy(fctx,
requester,
status,
- rules.Always,
+ rules.AutomaticApproval,
)
if err != nil {
return nil, gtserror.Newf("error checking policy match: %w", err)
@@ -364,7 +364,7 @@ func (f *Filter) checkPolicy(
matchWithApproval, _, err := f.matchPolicy(fctx,
requester,
status,
- rules.WithApproval,
+ rules.ManualApproval,
)
if err != nil {
return nil, gtserror.Newf("error checking policy approval match: %w", err)
@@ -376,26 +376,26 @@ func (f *Filter) checkPolicy(
// prioritizing "always".
case matchAlways == explicit:
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
- PermittedMatchedOn: &matchAlwaysValue,
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
+ PermissionMatchedOn: &matchAlwaysValue,
}, nil
case matchWithApproval == explicit:
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionWithApproval,
+ Permission: gtsmodel.PolicyPermissionManualApproval,
}, nil
// Then try implicit match,
// prioritizing "always".
case matchAlways == implicit:
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionPermitted,
- PermittedMatchedOn: &matchAlwaysValue,
+ Permission: gtsmodel.PolicyPermissionAutomaticApproval,
+ PermissionMatchedOn: &matchAlwaysValue,
}, nil
case matchWithApproval == implicit:
return &gtsmodel.PolicyCheckResult{
- Permission: gtsmodel.PolicyPermissionWithApproval,
+ Permission: gtsmodel.PolicyPermissionManualApproval,
}, nil
}