summaryrefslogtreecommitdiff
path: root/internal/typeutils/internaltofrontend.go
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/typeutils/internaltofrontend.go
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/typeutils/internaltofrontend.go')
-rw-r--r--internal/typeutils/internaltofrontend.go58
1 files changed, 34 insertions, 24 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go
index a22e504c0..6da78ed83 100644
--- a/internal/typeutils/internaltofrontend.go
+++ b/internal/typeutils/internaltofrontend.go
@@ -2862,19 +2862,29 @@ func (c *Converter) InteractionPolicyToAPIInteractionPolicy(
) (*apimodel.InteractionPolicy, error) {
apiPolicy := &apimodel.InteractionPolicy{
CanFavourite: apimodel.PolicyRules{
- Always: policyValsToAPIPolicyVals(policy.CanLike.Always),
- WithApproval: policyValsToAPIPolicyVals(policy.CanLike.WithApproval),
+ AutomaticApproval: policyValsToAPIPolicyVals(policy.CanLike.AutomaticApproval),
+ ManualApproval: policyValsToAPIPolicyVals(policy.CanLike.ManualApproval),
},
CanReply: apimodel.PolicyRules{
- Always: policyValsToAPIPolicyVals(policy.CanReply.Always),
- WithApproval: policyValsToAPIPolicyVals(policy.CanReply.WithApproval),
+ AutomaticApproval: policyValsToAPIPolicyVals(policy.CanReply.AutomaticApproval),
+ ManualApproval: policyValsToAPIPolicyVals(policy.CanReply.ManualApproval),
},
CanReblog: apimodel.PolicyRules{
- Always: policyValsToAPIPolicyVals(policy.CanAnnounce.Always),
- WithApproval: policyValsToAPIPolicyVals(policy.CanAnnounce.WithApproval),
+ AutomaticApproval: policyValsToAPIPolicyVals(policy.CanAnnounce.AutomaticApproval),
+ ManualApproval: policyValsToAPIPolicyVals(policy.CanAnnounce.ManualApproval),
},
}
+ defer func() {
+ // Include deprecated fields for back-compat. TODO: Remove these in 0.21.0.
+ apiPolicy.CanFavourite.Always = apiPolicy.CanFavourite.AutomaticApproval
+ apiPolicy.CanFavourite.WithApproval = apiPolicy.CanFavourite.ManualApproval
+ apiPolicy.CanReply.Always = apiPolicy.CanReply.AutomaticApproval
+ apiPolicy.CanReply.WithApproval = apiPolicy.CanReply.ManualApproval
+ apiPolicy.CanReblog.Always = apiPolicy.CanReblog.AutomaticApproval
+ apiPolicy.CanReblog.WithApproval = apiPolicy.CanReblog.ManualApproval
+ }()
+
if status == nil || requester == nil {
// We're done here!
return apiPolicy, nil
@@ -2890,16 +2900,16 @@ func (c *Converter) InteractionPolicyToAPIInteractionPolicy(
return nil, err
}
- if likeable.Permission == gtsmodel.PolicyPermissionPermitted {
+ if likeable.Permission == gtsmodel.PolicyPermissionAutomaticApproval {
// We can do this!
- apiPolicy.CanFavourite.Always = append(
- apiPolicy.CanFavourite.Always,
+ apiPolicy.CanFavourite.AutomaticApproval = append(
+ apiPolicy.CanFavourite.AutomaticApproval,
apimodel.PolicyValueMe,
)
- } else if likeable.Permission == gtsmodel.PolicyPermissionWithApproval {
+ } else if likeable.Permission == gtsmodel.PolicyPermissionManualApproval {
// We can do this with approval.
- apiPolicy.CanFavourite.WithApproval = append(
- apiPolicy.CanFavourite.WithApproval,
+ apiPolicy.CanFavourite.ManualApproval = append(
+ apiPolicy.CanFavourite.ManualApproval,
apimodel.PolicyValueMe,
)
}
@@ -2910,16 +2920,16 @@ func (c *Converter) InteractionPolicyToAPIInteractionPolicy(
return nil, err
}
- if replyable.Permission == gtsmodel.PolicyPermissionPermitted {
+ if replyable.Permission == gtsmodel.PolicyPermissionAutomaticApproval {
// We can do this!
- apiPolicy.CanReply.Always = append(
- apiPolicy.CanReply.Always,
+ apiPolicy.CanReply.AutomaticApproval = append(
+ apiPolicy.CanReply.AutomaticApproval,
apimodel.PolicyValueMe,
)
- } else if replyable.Permission == gtsmodel.PolicyPermissionWithApproval {
+ } else if replyable.Permission == gtsmodel.PolicyPermissionManualApproval {
// We can do this with approval.
- apiPolicy.CanReply.WithApproval = append(
- apiPolicy.CanReply.WithApproval,
+ apiPolicy.CanReply.ManualApproval = append(
+ apiPolicy.CanReply.ManualApproval,
apimodel.PolicyValueMe,
)
}
@@ -2930,16 +2940,16 @@ func (c *Converter) InteractionPolicyToAPIInteractionPolicy(
return nil, err
}
- if boostable.Permission == gtsmodel.PolicyPermissionPermitted {
+ if boostable.Permission == gtsmodel.PolicyPermissionAutomaticApproval {
// We can do this!
- apiPolicy.CanReblog.Always = append(
- apiPolicy.CanReblog.Always,
+ apiPolicy.CanReblog.AutomaticApproval = append(
+ apiPolicy.CanReblog.AutomaticApproval,
apimodel.PolicyValueMe,
)
- } else if boostable.Permission == gtsmodel.PolicyPermissionWithApproval {
+ } else if boostable.Permission == gtsmodel.PolicyPermissionManualApproval {
// We can do this with approval.
- apiPolicy.CanReblog.WithApproval = append(
- apiPolicy.CanReblog.WithApproval,
+ apiPolicy.CanReblog.ManualApproval = append(
+ apiPolicy.CanReblog.ManualApproval,
apimodel.PolicyValueMe,
)
}