mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-12-29 15:56:16 -06:00
Stub policy and standard
This commit is contained in:
parent
a8ae0e3173
commit
b9f759d922
3 changed files with 29 additions and 0 deletions
|
|
@ -186,6 +186,10 @@ definitions:
|
|||
title: TimelineMarker contains information about a user's progress through a specific timeline.
|
||||
type: object
|
||||
x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
|
||||
WebPushNotificationPolicy:
|
||||
title: WebPushNotificationPolicy names sets of accounts that can generate notifications.
|
||||
type: string
|
||||
x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
|
||||
account:
|
||||
description: The modelled account can be either a remote account, or one on this instance.
|
||||
properties:
|
||||
|
|
@ -3452,10 +3456,18 @@ definitions:
|
|||
description: The id of the push subscription in the database.
|
||||
type: string
|
||||
x-go-name: ID
|
||||
policy:
|
||||
$ref: '#/definitions/WebPushNotificationPolicy'
|
||||
server_key:
|
||||
description: The streaming server's VAPID public key.
|
||||
type: string
|
||||
x-go-name: ServerKey
|
||||
standard:
|
||||
description: |-
|
||||
Whether the subscription uses RFC or pre-RFC Web Push standards.
|
||||
For GotoSocial, this is always true.
|
||||
type: boolean
|
||||
x-go-name: Standard
|
||||
title: WebPushSubscription represents a subscription to a Web Push server.
|
||||
type: object
|
||||
x-go-name: WebPushSubscription
|
||||
|
|
|
|||
|
|
@ -32,6 +32,13 @@ type WebPushSubscription struct {
|
|||
|
||||
// Which alerts should be delivered to the endpoint.
|
||||
Alerts WebPushSubscriptionAlerts `json:"alerts"`
|
||||
|
||||
// Which accounts should generate notifications.
|
||||
Policy WebPushNotificationPolicy `json:"policy"`
|
||||
|
||||
// Whether the subscription uses RFC or pre-RFC Web Push standards.
|
||||
// For GotoSocial, this is always true.
|
||||
Standard bool `json:"standard"`
|
||||
}
|
||||
|
||||
// WebPushSubscriptionAlerts represents the specific events that this Web Push subscription will receive.
|
||||
|
|
@ -140,3 +147,11 @@ type WebPushSubscriptionRequestData struct {
|
|||
// Alerts selects the specific events that this Web Push subscription will receive.
|
||||
Alerts *WebPushSubscriptionAlerts `form:"-" json:"alerts"`
|
||||
}
|
||||
|
||||
// WebPushNotificationPolicy names sets of accounts that can generate notifications.
|
||||
type WebPushNotificationPolicy string
|
||||
|
||||
const (
|
||||
// WebPushNotificationPolicyAll allows all accounts to send notifications to the subscribing user.
|
||||
WebPushNotificationPolicyAll WebPushNotificationPolicy = "all"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -3026,5 +3026,7 @@ func (c *Converter) WebPushSubscriptionToAPIWebPushSubscription(
|
|||
PendingReply: subscription.NotificationFlags.Get(gtsmodel.NotificationPendingReply),
|
||||
PendingReblog: subscription.NotificationFlags.Get(gtsmodel.NotificationPendingReblog),
|
||||
},
|
||||
Policy: apimodel.WebPushNotificationPolicyAll,
|
||||
Standard: true,
|
||||
}, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue