From 1b4f4a674ac533c0b51260ba35ab91dd2cf9486d Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero Date: Thu, 2 Apr 2026 12:38:10 +0200 Subject: Basic push notification system for service alerts Co-authored-by: Copilot --- .../Configuration/AppConfiguration.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/Enmarcha.Backend/Configuration/AppConfiguration.cs') diff --git a/src/Enmarcha.Backend/Configuration/AppConfiguration.cs b/src/Enmarcha.Backend/Configuration/AppConfiguration.cs index 8c6e411..ca2425b 100644 --- a/src/Enmarcha.Backend/Configuration/AppConfiguration.cs +++ b/src/Enmarcha.Backend/Configuration/AppConfiguration.cs @@ -7,6 +7,7 @@ public class AppConfiguration public string NominatimBaseUrl { get; set; } = "https://nominatim.openstreetmap.org"; public string[] OtpFeeds { get; set; } = []; public OpenTelemetryConfiguration? OpenTelemetry { get; set; } + public VapidConfiguration? Vapid { get; set; } } public class OpenTelemetryConfiguration @@ -14,3 +15,22 @@ public class OpenTelemetryConfiguration public string? Endpoint { get; set; } public string? Headers { get; set; } } + +public class VapidConfiguration +{ + /// + /// VAPID subject — typically "mailto:admin@yourdomain.com" or a URL. + /// + public required string Subject { get; set; } + + /// + /// Base64url-encoded VAPID public key. Safe to expose to browsers. + /// + public required string PublicKey { get; set; } + + /// + /// Base64url-encoded VAPID private key. Store in user secrets or environment variables only. + /// Generate a key pair with: VapidHelper.GenerateVapidKeys() from the WebPush NuGet package. + /// + public required string PrivateKey { get; set; } +} -- cgit v1.3