Web Push: add policy to API

This commit is contained in:
Vyr Cossont 2025-01-31 12:34:20 -08:00
commit c0e53662cf
10 changed files with 121 additions and 4 deletions

View file

@ -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
}

View file

@ -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
}