mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-12-30 00:46:15 -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.
|
title: TimelineMarker contains information about a user's progress through a specific timeline.
|
||||||
type: object
|
type: object
|
||||||
x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
|
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:
|
account:
|
||||||
description: The modelled account can be either a remote account, or one on this instance.
|
description: The modelled account can be either a remote account, or one on this instance.
|
||||||
properties:
|
properties:
|
||||||
|
|
@ -3452,10 +3456,18 @@ definitions:
|
||||||
description: The id of the push subscription in the database.
|
description: The id of the push subscription in the database.
|
||||||
type: string
|
type: string
|
||||||
x-go-name: ID
|
x-go-name: ID
|
||||||
|
policy:
|
||||||
|
$ref: '#/definitions/WebPushNotificationPolicy'
|
||||||
server_key:
|
server_key:
|
||||||
description: The streaming server's VAPID public key.
|
description: The streaming server's VAPID public key.
|
||||||
type: string
|
type: string
|
||||||
x-go-name: ServerKey
|
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.
|
title: WebPushSubscription represents a subscription to a Web Push server.
|
||||||
type: object
|
type: object
|
||||||
x-go-name: WebPushSubscription
|
x-go-name: WebPushSubscription
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,13 @@ type WebPushSubscription struct {
|
||||||
|
|
||||||
// Which alerts should be delivered to the endpoint.
|
// Which alerts should be delivered to the endpoint.
|
||||||
Alerts WebPushSubscriptionAlerts `json:"alerts"`
|
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.
|
// 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 selects the specific events that this Web Push subscription will receive.
|
||||||
Alerts *WebPushSubscriptionAlerts `form:"-" json:"alerts"`
|
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),
|
PendingReply: subscription.NotificationFlags.Get(gtsmodel.NotificationPendingReply),
|
||||||
PendingReblog: subscription.NotificationFlags.Get(gtsmodel.NotificationPendingReblog),
|
PendingReblog: subscription.NotificationFlags.Get(gtsmodel.NotificationPendingReblog),
|
||||||
},
|
},
|
||||||
|
Policy: apimodel.WebPushNotificationPolicyAll,
|
||||||
|
Standard: true,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue