[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:
Vyr Cossont
2025-02-03 02:25:53 -08:00
committed by GitHub
parent 8b74cad422
commit 27844b7da2
16 changed files with 340 additions and 35 deletions

View File

@ -24,6 +24,7 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/gtserror"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
"github.com/superseriousbusiness/gotosocial/internal/id"
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
)
// CreateOrReplace creates a Web Push subscription for the given access token,
@ -54,6 +55,7 @@ func (p *Processor) CreateOrReplace(
Auth: request.Subscription.Keys.Auth,
P256dh: request.Subscription.Keys.P256dh,
NotificationFlags: alertsToNotificationFlags(request.Data.Alerts),
Policy: typeutils.APIWebPushNotificationPolicyToWebPushNotificationPolicy(*request.Data.Policy),
}
if err := p.state.DB.PutWebPushSubscription(ctx, subscription); err != nil {