summaryrefslogtreecommitdiff
path: root/internal/api/model/interactionpolicy.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/api/model/interactionpolicy.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/api/model/interactionpolicy.go')
-rw-r--r--internal/api/model/interactionpolicy.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/internal/api/model/interactionpolicy.go b/internal/api/model/interactionpolicy.go
index 7c5df09e8..c43142d58 100644
--- a/internal/api/model/interactionpolicy.go
+++ b/internal/api/model/interactionpolicy.go
@@ -48,9 +48,16 @@ const (
//
// swagger:model interactionPolicyRules
type PolicyRules struct {
+ // Policy entries for accounts that will receive automatic approval for this type of interaction.
+ AutomaticApproval []PolicyValue `form:"automatic_approval" json:"automatic_approval"`
+ // Policy entries for accounts that require manual approval for this type of interaction.
+ ManualApproval []PolicyValue `form:"manual_approval" json:"manual_approval"`
+
// Policy entries for accounts that can always do this type of interaction.
+ // Deprecated: Use "automatic_approval" instead.
Always []PolicyValue `form:"always" json:"always"`
// Policy entries for accounts that require approval to do this type of interaction.
+ // Deprecated: Use "manual_approval" instead.
WithApproval []PolicyValue `form:"with_approval" json:"with_approval"`
}