diff options
Diffstat (limited to 'internal/typeutils')
-rw-r--r-- | internal/typeutils/frontendtointernal.go | 14 | ||||
-rw-r--r-- | internal/typeutils/internaltoas_test.go | 4 | ||||
-rw-r--r-- | internal/typeutils/internaltofrontend.go | 16 |
3 files changed, 31 insertions, 3 deletions
diff --git a/internal/typeutils/frontendtointernal.go b/internal/typeutils/frontendtointernal.go index 82957ee05..b341aa6ae 100644 --- a/internal/typeutils/frontendtointernal.go +++ b/internal/typeutils/frontendtointernal.go @@ -231,3 +231,17 @@ func APIInteractionPolicyToInteractionPolicy( }, }, nil } + +func APIWebPushNotificationPolicyToWebPushNotificationPolicy(policy apimodel.WebPushNotificationPolicy) gtsmodel.WebPushNotificationPolicy { + switch policy { + case apimodel.WebPushNotificationPolicyAll: + return gtsmodel.WebPushNotificationPolicyAll + case apimodel.WebPushNotificationPolicyFollowed: + return gtsmodel.WebPushNotificationPolicyFollowed + case apimodel.WebPushNotificationPolicyFollower: + return gtsmodel.WebPushNotificationPolicyFollower + case apimodel.WebPushNotificationPolicyNone: + return gtsmodel.WebPushNotificationPolicyNone + } + return 0 +} diff --git a/internal/typeutils/internaltoas_test.go b/internal/typeutils/internaltoas_test.go index ce949d577..9eeaa3c0d 100644 --- a/internal/typeutils/internaltoas_test.go +++ b/internal/typeutils/internaltoas_test.go @@ -1235,9 +1235,9 @@ func (suite *InternalToASTestSuite) TestInteractionReqToASAcceptAnnounce() { req := >smodel.InteractionRequest{ ID: "01J1AKMZ8JE5NW0ZSFTRC1JJNE", CreatedAt: testrig.TimeMustParse("2022-06-09T13:12:00Z"), - StatusID: "01JJYCVKCXB9JTQD1XW2KB8MT3", + StatusID: "01JJYCVKCXB9JTQD1XW2KB8MT3", Status: >smodel.Status{URI: "http://localhost:8080/users/the_mighty_zork/statuses/01JJYCVKCXB9JTQD1XW2KB8MT3"}, - TargetAccountID: acceptingAccount.ID, + TargetAccountID: acceptingAccount.ID, TargetAccount: acceptingAccount, InteractingAccountID: interactingAccount.ID, InteractingAccount: interactingAccount, diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 487e8434e..d966c054c 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -3019,6 +3019,20 @@ func (c *Converter) InteractionReqToAPIInteractionReq( }, nil } +func webPushNotificationPolicyToAPIWebPushNotificationPolicy(policy gtsmodel.WebPushNotificationPolicy) apimodel.WebPushNotificationPolicy { + switch policy { + case gtsmodel.WebPushNotificationPolicyAll: + return apimodel.WebPushNotificationPolicyAll + case gtsmodel.WebPushNotificationPolicyFollowed: + return apimodel.WebPushNotificationPolicyFollowed + case gtsmodel.WebPushNotificationPolicyFollower: + return apimodel.WebPushNotificationPolicyFollower + case gtsmodel.WebPushNotificationPolicyNone: + return apimodel.WebPushNotificationPolicyNone + } + return "" +} + func (c *Converter) WebPushSubscriptionToAPIWebPushSubscription( ctx context.Context, subscription *gtsmodel.WebPushSubscription, @@ -3047,7 +3061,7 @@ func (c *Converter) WebPushSubscriptionToAPIWebPushSubscription( PendingReply: subscription.NotificationFlags.Get(gtsmodel.NotificationPendingReply), PendingReblog: subscription.NotificationFlags.Get(gtsmodel.NotificationPendingReblog), }, - Policy: apimodel.WebPushNotificationPolicyAll, + Policy: webPushNotificationPolicyToAPIWebPushNotificationPolicy(subscription.Policy), Standard: true, }, nil } |