summaryrefslogtreecommitdiff
path: root/internal/processing/push/update.go
diff options
context:
space:
mode:
authorLibravatar Vyr Cossont <VyrCossont@users.noreply.github.com>2025-02-03 02:25:53 -0800
committerLibravatar GitHub <noreply@github.com>2025-02-03 10:25:53 +0000
commit27844b7da2567491661f9ddd2d4662f9f1b3ce40 (patch)
tree1832fe4ec4d3a0fbf6d01bcb5f39acf6885cc1f5 /internal/processing/push/update.go
parent[chore]: Bump github.com/tdewolff/minify/v2 from 2.21.2 to 2.21.3 (#3727) (diff)
downloadgotosocial-27844b7da2567491661f9ddd2d4662f9f1b3ce40.tar.xz
[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?)
Diffstat (limited to 'internal/processing/push/update.go')
-rw-r--r--internal/processing/push/update.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/processing/push/update.go b/internal/processing/push/update.go
index 370536f9b..94529455a 100644
--- a/internal/processing/push/update.go
+++ b/internal/processing/push/update.go
@@ -24,6 +24,7 @@ import (
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
"github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/gtserror"
+ "github.com/superseriousbusiness/gotosocial/internal/typeutils"
)
// Update updates the Web Push subscription for the given access token.
@@ -50,10 +51,13 @@ func (p *Processor) Update(
// Update it.
subscription.NotificationFlags = alertsToNotificationFlags(request.Data.Alerts)
+ subscription.Policy = typeutils.APIWebPushNotificationPolicyToWebPushNotificationPolicy(*request.Data.Policy)
+
if err = p.state.DB.UpdateWebPushSubscription(
ctx,
subscription,
"notification_flags",
+ "policy",
); err != nil {
err := gtserror.Newf("couldn't update Web Push subscription for token ID %s: %w", tokenID, err)
return nil, gtserror.NewErrorInternalError(err)