diff options
Diffstat (limited to 'internal/typeutils')
| -rw-r--r-- | internal/typeutils/frontendtointernal.go | 12 | ||||
| -rw-r--r-- | internal/typeutils/internaltoas.go | 117 | ||||
| -rw-r--r-- | internal/typeutils/internaltoas_test.go | 72 | ||||
| -rw-r--r-- | internal/typeutils/internaltofrontend.go | 58 | ||||
| -rw-r--r-- | internal/typeutils/internaltofrontend_test.go | 236 | ||||
| -rw-r--r-- | internal/typeutils/wrap_test.go | 18 |
6 files changed, 450 insertions, 63 deletions
diff --git a/internal/typeutils/frontendtointernal.go b/internal/typeutils/frontendtointernal.go index daf64a0d2..973b20632 100644 --- a/internal/typeutils/frontendtointernal.go +++ b/internal/typeutils/frontendtointernal.go @@ -228,16 +228,16 @@ func APIInteractionPolicyToInteractionPolicy( return >smodel.InteractionPolicy{ CanLike: gtsmodel.PolicyRules{ - Always: canLikeAlways, - WithApproval: canLikeWithApproval, + AutomaticApproval: canLikeAlways, + ManualApproval: canLikeWithApproval, }, CanReply: gtsmodel.PolicyRules{ - Always: canReplyAlways, - WithApproval: canReplyWithApproval, + AutomaticApproval: canReplyAlways, + ManualApproval: canReplyWithApproval, }, CanAnnounce: gtsmodel.PolicyRules{ - Always: canAnnounceAlways, - WithApproval: canAnnounceWithApproval, + AutomaticApproval: canAnnounceAlways, + ManualApproval: canAnnounceWithApproval, }, }, nil } diff --git a/internal/typeutils/internaltoas.go b/internal/typeutils/internaltoas.go index debd93a0b..cef48e194 100644 --- a/internal/typeutils/internaltoas.go +++ b/internal/typeutils/internaltoas.go @@ -1928,6 +1928,9 @@ func populateValuesForProp[T ap.WithIRI]( // InteractionPolicyToASInteractionPolicy returns a // GoToSocial interaction policy suitable for federation. +// +// Note: This currently includes deprecated properties `always` +// and `approvalRequired`. These will be removed in v0.21.0. func (c *Converter) InteractionPolicyToASInteractionPolicy( ctx context.Context, interactionPolicy *gtsmodel.InteractionPolicy, @@ -1942,30 +1945,56 @@ func (c *Converter) InteractionPolicyToASInteractionPolicy( // Build canLike canLike := streams.NewGoToSocialCanLike() - // Build canLike.always + // Build canLike.automaticApproval + canLikeAutomaticApprovalProp := streams.NewGoToSocialAutomaticApprovalProperty() + if err := populateValuesForProp( + canLikeAutomaticApprovalProp, + status, + interactionPolicy.CanLike.AutomaticApproval, + ); err != nil { + return nil, gtserror.Newf("error setting canLike.automaticApproval: %w", err) + } + + // Set canLike.manualApproval + canLike.SetGoToSocialAutomaticApproval(canLikeAutomaticApprovalProp) + + // Build canLike.manualApproval + canLikeManualApprovalProp := streams.NewGoToSocialManualApprovalProperty() + if err := populateValuesForProp( + canLikeManualApprovalProp, + status, + interactionPolicy.CanLike.ManualApproval, + ); err != nil { + return nil, gtserror.Newf("error setting canLike.manualApproval: %w", err) + } + + // Set canLike.manualApproval. + canLike.SetGoToSocialManualApproval(canLikeManualApprovalProp) + + // deprecated: Build canLike.always canLikeAlwaysProp := streams.NewGoToSocialAlwaysProperty() if err := populateValuesForProp( canLikeAlwaysProp, status, - interactionPolicy.CanLike.Always, + interactionPolicy.CanLike.AutomaticApproval, ); err != nil { return nil, gtserror.Newf("error setting canLike.always: %w", err) } - // Set canLike.always + // deprecated: Set canLike.always canLike.SetGoToSocialAlways(canLikeAlwaysProp) - // Build canLike.approvalRequired + // deprecated: Build canLike.approvalRequired canLikeApprovalRequiredProp := streams.NewGoToSocialApprovalRequiredProperty() if err := populateValuesForProp( canLikeApprovalRequiredProp, status, - interactionPolicy.CanLike.WithApproval, + interactionPolicy.CanLike.ManualApproval, ); err != nil { return nil, gtserror.Newf("error setting canLike.approvalRequired: %w", err) } - // Set canLike.approvalRequired. + // deprecated: Set canLike.approvalRequired. canLike.SetGoToSocialApprovalRequired(canLikeApprovalRequiredProp) // Set canLike on the policy. @@ -1980,30 +2009,56 @@ func (c *Converter) InteractionPolicyToASInteractionPolicy( // Build canReply canReply := streams.NewGoToSocialCanReply() - // Build canReply.always + // Build canReply.automaticApproval + canReplyAutomaticApprovalProp := streams.NewGoToSocialAutomaticApprovalProperty() + if err := populateValuesForProp( + canReplyAutomaticApprovalProp, + status, + interactionPolicy.CanReply.AutomaticApproval, + ); err != nil { + return nil, gtserror.Newf("error setting canReply.automaticApproval: %w", err) + } + + // Set canReply.manualApproval + canReply.SetGoToSocialAutomaticApproval(canReplyAutomaticApprovalProp) + + // Build canReply.manualApproval + canReplyManualApprovalProp := streams.NewGoToSocialManualApprovalProperty() + if err := populateValuesForProp( + canReplyManualApprovalProp, + status, + interactionPolicy.CanReply.ManualApproval, + ); err != nil { + return nil, gtserror.Newf("error setting canReply.manualApproval: %w", err) + } + + // Set canReply.manualApproval. + canReply.SetGoToSocialManualApproval(canReplyManualApprovalProp) + + // deprecated: Build canReply.always canReplyAlwaysProp := streams.NewGoToSocialAlwaysProperty() if err := populateValuesForProp( canReplyAlwaysProp, status, - interactionPolicy.CanReply.Always, + interactionPolicy.CanReply.AutomaticApproval, ); err != nil { return nil, gtserror.Newf("error setting canReply.always: %w", err) } - // Set canReply.always + // deprecated: Set canReply.always canReply.SetGoToSocialAlways(canReplyAlwaysProp) - // Build canReply.approvalRequired + // deprecated: Build canReply.approvalRequired canReplyApprovalRequiredProp := streams.NewGoToSocialApprovalRequiredProperty() if err := populateValuesForProp( canReplyApprovalRequiredProp, status, - interactionPolicy.CanReply.WithApproval, + interactionPolicy.CanReply.ManualApproval, ); err != nil { return nil, gtserror.Newf("error setting canReply.approvalRequired: %w", err) } - // Set canReply.approvalRequired. + // deprecated: Set canReply.approvalRequired. canReply.SetGoToSocialApprovalRequired(canReplyApprovalRequiredProp) // Set canReply on the policy. @@ -2018,30 +2073,56 @@ func (c *Converter) InteractionPolicyToASInteractionPolicy( // Build canAnnounce canAnnounce := streams.NewGoToSocialCanAnnounce() - // Build canAnnounce.always + // Build canAnnounce.automaticApproval + canAnnounceAutomaticApprovalProp := streams.NewGoToSocialAutomaticApprovalProperty() + if err := populateValuesForProp( + canAnnounceAutomaticApprovalProp, + status, + interactionPolicy.CanAnnounce.AutomaticApproval, + ); err != nil { + return nil, gtserror.Newf("error setting canAnnounce.automaticApproval: %w", err) + } + + // Set canAnnounce.manualApproval + canAnnounce.SetGoToSocialAutomaticApproval(canAnnounceAutomaticApprovalProp) + + // Build canAnnounce.manualApproval + canAnnounceManualApprovalProp := streams.NewGoToSocialManualApprovalProperty() + if err := populateValuesForProp( + canAnnounceManualApprovalProp, + status, + interactionPolicy.CanAnnounce.ManualApproval, + ); err != nil { + return nil, gtserror.Newf("error setting canAnnounce.manualApproval: %w", err) + } + + // Set canAnnounce.manualApproval. + canAnnounce.SetGoToSocialManualApproval(canAnnounceManualApprovalProp) + + // deprecated: Build canAnnounce.always canAnnounceAlwaysProp := streams.NewGoToSocialAlwaysProperty() if err := populateValuesForProp( canAnnounceAlwaysProp, status, - interactionPolicy.CanAnnounce.Always, + interactionPolicy.CanAnnounce.AutomaticApproval, ); err != nil { return nil, gtserror.Newf("error setting canAnnounce.always: %w", err) } - // Set canAnnounce.always + // deprecated: Set canAnnounce.always canAnnounce.SetGoToSocialAlways(canAnnounceAlwaysProp) - // Build canAnnounce.approvalRequired + // deprecated: Build canAnnounce.approvalRequired canAnnounceApprovalRequiredProp := streams.NewGoToSocialApprovalRequiredProperty() if err := populateValuesForProp( canAnnounceApprovalRequiredProp, status, - interactionPolicy.CanAnnounce.WithApproval, + interactionPolicy.CanAnnounce.ManualApproval, ); err != nil { return nil, gtserror.Newf("error setting canAnnounce.approvalRequired: %w", err) } - // Set canAnnounce.approvalRequired. + // deprecated: Set canAnnounce.approvalRequired. canAnnounce.SetGoToSocialApprovalRequired(canAnnounceApprovalRequiredProp) // Set canAnnounce on the policy. diff --git a/internal/typeutils/internaltoas_test.go b/internal/typeutils/internaltoas_test.go index f8d69491c..5ba23a77e 100644 --- a/internal/typeutils/internaltoas_test.go +++ b/internal/typeutils/internaltoas_test.go @@ -540,19 +540,31 @@ func (suite *InternalToASTestSuite) TestStatusToAS() { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canLike": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canReply": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] } }, "published": "2021-10-20T12:40:37+02:00", @@ -630,19 +642,31 @@ func (suite *InternalToASTestSuite) TestStatusWithTagsToASWithIDs() { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canLike": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canReply": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] } }, "published": "2021-10-20T11:36:45Z", @@ -738,19 +762,31 @@ func (suite *InternalToASTestSuite) TestStatusWithTagsToASFromDB() { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canLike": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canReply": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] } }, "published": "2021-10-20T11:36:45Z", @@ -831,19 +867,31 @@ func (suite *InternalToASTestSuite) TestStatusToASWithMentions() { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canLike": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canReply": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] } }, "published": "2021-11-20T13:32:16Z", 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, ) } diff --git a/internal/typeutils/internaltofrontend_test.go b/internal/typeutils/internaltofrontend_test.go index 63e242f79..6a5503e83 100644 --- a/internal/typeutils/internaltofrontend_test.go +++ b/internal/typeutils/internaltofrontend_test.go @@ -583,6 +583,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontend() { "content_type": "text/plain", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -590,6 +595,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontend() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -597,6 +607,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontend() { "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -731,6 +746,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendHTMLContentWarning "content_type": "text/plain", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -738,6 +758,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendHTMLContentWarning "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -745,6 +770,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendHTMLContentWarning "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -881,6 +911,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendApplicationDeleted "content_type": "text/plain", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -888,6 +923,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendApplicationDeleted "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -895,6 +935,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendApplicationDeleted "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1088,6 +1133,11 @@ func (suite *InternalToFrontendTestSuite) TestWarnFilteredStatusToFrontend() { ], "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1095,6 +1145,11 @@ func (suite *InternalToFrontendTestSuite) TestWarnFilteredStatusToFrontend() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1102,6 +1157,11 @@ func (suite *InternalToFrontendTestSuite) TestWarnFilteredStatusToFrontend() { "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1274,6 +1334,11 @@ func (suite *InternalToFrontendTestSuite) TestWarnFilteredBoostToFrontend() { ], "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1281,6 +1346,11 @@ func (suite *InternalToFrontendTestSuite) TestWarnFilteredBoostToFrontend() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1288,6 +1358,11 @@ func (suite *InternalToFrontendTestSuite) TestWarnFilteredBoostToFrontend() { "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1366,6 +1441,11 @@ func (suite *InternalToFrontendTestSuite) TestWarnFilteredBoostToFrontend() { ], "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1373,6 +1453,11 @@ func (suite *InternalToFrontendTestSuite) TestWarnFilteredBoostToFrontend() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1380,6 +1465,11 @@ func (suite *InternalToFrontendTestSuite) TestWarnFilteredBoostToFrontend() { "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1665,6 +1755,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendUnknownAttachments "poll": null, "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1672,6 +1767,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendUnknownAttachments "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1679,6 +1779,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendUnknownAttachments "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1744,18 +1849,30 @@ func (suite *InternalToFrontendTestSuite) TestStatusToWebStatus() { "poll": null, "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public" + ], + "manual_approval": [], "always": [ "public" ], "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public" + ], + "manual_approval": [], "always": [ "public" ], "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public" + ], + "manual_approval": [], "always": [ "public" ], @@ -1985,6 +2102,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendUnknownLanguage() "content_type": "text/plain", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1992,6 +2114,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendUnknownLanguage() "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -1999,6 +2126,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendUnknownLanguage() "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -2084,18 +2216,30 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendPartialInteraction "content_type": "text/plain", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "author" + ], + "manual_approval": [], "always": [ "author" ], "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "author" + ], + "manual_approval": [], "always": [ "author" ], "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "author" + ], + "manual_approval": [], "always": [ "author" ], @@ -2208,6 +2352,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToAPIStatusPendingApproval() "content_type": "text/markdown", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -2215,6 +2364,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToAPIStatusPendingApproval() "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -2222,6 +2376,11 @@ func (suite *InternalToFrontendTestSuite) TestStatusToAPIStatusPendingApproval() "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3186,6 +3345,11 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend2() { "poll": null, "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3193,6 +3357,11 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend2() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3200,6 +3369,11 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend2() { "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3688,6 +3862,11 @@ func (suite *InternalToFrontendTestSuite) TestIntReqToAPI() { "content_type": "text/plain", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3695,6 +3874,13 @@ func (suite *InternalToFrontendTestSuite) TestIntReqToAPI() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "author", + "me" + ], + "manual_approval": [ + "public" + ], "always": [ "author", "me" @@ -3704,6 +3890,11 @@ func (suite *InternalToFrontendTestSuite) TestIntReqToAPI() { ] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3787,6 +3978,11 @@ func (suite *InternalToFrontendTestSuite) TestIntReqToAPI() { "content_type": "text/markdown", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3794,6 +3990,11 @@ func (suite *InternalToFrontendTestSuite) TestIntReqToAPI() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3801,6 +4002,11 @@ func (suite *InternalToFrontendTestSuite) TestIntReqToAPI() { "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3947,6 +4153,11 @@ func (suite *InternalToFrontendTestSuite) TestConversationToAPISelfConvo() { "content_type": "text/plain", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3954,6 +4165,11 @@ func (suite *InternalToFrontendTestSuite) TestConversationToAPISelfConvo() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -3961,6 +4177,11 @@ func (suite *InternalToFrontendTestSuite) TestConversationToAPISelfConvo() { "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -4117,6 +4338,11 @@ func (suite *InternalToFrontendTestSuite) TestConversationToAPI() { "content_type": "text/plain", "interaction_policy": { "can_favourite": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -4124,6 +4350,11 @@ func (suite *InternalToFrontendTestSuite) TestConversationToAPI() { "with_approval": [] }, "can_reply": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" @@ -4131,6 +4362,11 @@ func (suite *InternalToFrontendTestSuite) TestConversationToAPI() { "with_approval": [] }, "can_reblog": { + "automatic_approval": [ + "public", + "me" + ], + "manual_approval": [], "always": [ "public", "me" diff --git a/internal/typeutils/wrap_test.go b/internal/typeutils/wrap_test.go index 612b92ae8..ae68d98c8 100644 --- a/internal/typeutils/wrap_test.go +++ b/internal/typeutils/wrap_test.go @@ -100,19 +100,31 @@ func (suite *WrapTestSuite) TestWrapNoteInCreate() { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canLike": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] }, "canReply": { "always": [ "https://www.w3.org/ns/activitystreams#Public" ], - "approvalRequired": [] + "approvalRequired": [], + "automaticApproval": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "manualApproval": [] } }, "published": "2021-10-20T12:40:37+02:00", |
