mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-31 23:22:24 -05:00
[feature] Implement Web Push notification policy (#3721)
* Web Push: add policy column to subscriptions * Web Push: add policy to API * Web Push: test notification policy * go-fmt unrelated file (how did this get thru?)
This commit is contained in:
parent
8b74cad422
commit
27844b7da2
16 changed files with 340 additions and 35 deletions
|
|
@ -138,6 +138,8 @@ type WebPushSubscriptionUpdateRequest struct {
|
|||
DataAlertsPendingFavourite *bool `form:"data[alerts][pending.favourite]" json:"-"`
|
||||
DataAlertsPendingReply *bool `form:"data[alerts][pending.reply]" json:"-"`
|
||||
DataAlertsPendingReblog *bool `form:"data[alerts][pending.reblog]" json:"-"`
|
||||
|
||||
DataPolicy *WebPushNotificationPolicy `form:"data[policy]" json:"-"`
|
||||
}
|
||||
|
||||
// WebPushSubscriptionRequestData is the part of a Web Push subscription that can be changed after creation.
|
||||
|
|
@ -146,6 +148,9 @@ type WebPushSubscriptionUpdateRequest struct {
|
|||
type WebPushSubscriptionRequestData struct {
|
||||
// Alerts selects the specific events that this Web Push subscription will receive.
|
||||
Alerts *WebPushSubscriptionAlerts `form:"-" json:"alerts"`
|
||||
|
||||
// Policy selects which accounts will trigger Web Push notifications.
|
||||
Policy *WebPushNotificationPolicy `form:"-" json:"policy"`
|
||||
}
|
||||
|
||||
// WebPushNotificationPolicy names sets of accounts that can generate notifications.
|
||||
|
|
@ -154,4 +159,10 @@ type WebPushNotificationPolicy string
|
|||
const (
|
||||
// WebPushNotificationPolicyAll allows all accounts to send notifications to the subscribing user.
|
||||
WebPushNotificationPolicyAll WebPushNotificationPolicy = "all"
|
||||
// WebPushNotificationPolicyFollowed allows accounts followed by the subscribing user to send notifications.
|
||||
WebPushNotificationPolicyFollowed WebPushNotificationPolicy = "followed"
|
||||
// WebPushNotificationPolicyFollower allows accounts following the subscribing user to send notifications.
|
||||
WebPushNotificationPolicyFollower WebPushNotificationPolicy = "follower"
|
||||
// WebPushNotificationPolicyNone doesn't allow any acounts to send notifications to the subscribing user.
|
||||
WebPushNotificationPolicyNone WebPushNotificationPolicy = "none"
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue