mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[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:
@@ -1173,15 +1173,7 @@ func extractCanLike(
|
||||
return gtsmodel.PolicyRules{}
|
||||
}
|
||||
|
||||
withRules := propIter.Get()
|
||||
if withRules == nil {
|
||||
return gtsmodel.PolicyRules{}
|
||||
}
|
||||
|
||||
return gtsmodel.PolicyRules{
|
||||
Always: extractPolicyValues(withRules.GetGoToSocialAlways(), owner),
|
||||
WithApproval: extractPolicyValues(withRules.GetGoToSocialApprovalRequired(), owner),
|
||||
}
|
||||
return extractPolicyRules(propIter.Get(), owner)
|
||||
}
|
||||
|
||||
func extractCanReply(
|
||||
@@ -1197,15 +1189,7 @@ func extractCanReply(
|
||||
return gtsmodel.PolicyRules{}
|
||||
}
|
||||
|
||||
withRules := propIter.Get()
|
||||
if withRules == nil {
|
||||
return gtsmodel.PolicyRules{}
|
||||
}
|
||||
|
||||
return gtsmodel.PolicyRules{
|
||||
Always: extractPolicyValues(withRules.GetGoToSocialAlways(), owner),
|
||||
WithApproval: extractPolicyValues(withRules.GetGoToSocialApprovalRequired(), owner),
|
||||
}
|
||||
return extractPolicyRules(propIter.Get(), owner)
|
||||
}
|
||||
|
||||
func extractCanAnnounce(
|
||||
@@ -1226,9 +1210,39 @@ func extractCanAnnounce(
|
||||
return gtsmodel.PolicyRules{}
|
||||
}
|
||||
|
||||
return extractPolicyRules(propIter.Get(), owner)
|
||||
}
|
||||
|
||||
func extractPolicyRules(
|
||||
withRules WithPolicyRules,
|
||||
owner *gtsmodel.Account,
|
||||
) gtsmodel.PolicyRules {
|
||||
if withRules == nil {
|
||||
return gtsmodel.PolicyRules{}
|
||||
}
|
||||
|
||||
// Check for `automaticApproval` and
|
||||
// `manualApproval` properties first.
|
||||
var (
|
||||
automaticApproval = withRules.GetGoToSocialAutomaticApproval()
|
||||
manualApproval = withRules.GetGoToSocialManualApproval()
|
||||
)
|
||||
if (automaticApproval != nil && automaticApproval.Len() != 0) ||
|
||||
(manualApproval != nil && manualApproval.Len() != 0) {
|
||||
// At least one is set, use these props.
|
||||
return gtsmodel.PolicyRules{
|
||||
AutomaticApproval: extractPolicyValues(automaticApproval, owner),
|
||||
ManualApproval: extractPolicyValues(manualApproval, owner),
|
||||
}
|
||||
}
|
||||
|
||||
// Fall back to deprecated `always`
|
||||
// and `withApproval` properties.
|
||||
//
|
||||
// TODO: Remove this in GtS v0.21.0.
|
||||
return gtsmodel.PolicyRules{
|
||||
Always: extractPolicyValues(withRules.GetGoToSocialAlways(), owner),
|
||||
WithApproval: extractPolicyValues(withRules.GetGoToSocialApprovalRequired(), owner),
|
||||
AutomaticApproval: extractPolicyValues(withRules.GetGoToSocialAlways(), owner),
|
||||
ManualApproval: extractPolicyValues(withRules.GetGoToSocialApprovalRequired(), owner),
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user