重命名 PushSubscriptionEntity 为 PushSubscription,并更新相关引用
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 21s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 0s

This commit is contained in:
孙诚
2026-01-04 16:59:34 +08:00
parent 14296d65d1
commit 36126097fa
4 changed files with 10 additions and 10 deletions

View File

@@ -2,7 +2,7 @@
namespace Entity; namespace Entity;
public class PushSubscriptionEntity : BaseEntity public class PushSubscription : BaseEntity
{ {
[Required] [Required]
public string Endpoint { get; set; } = string.Empty; public string Endpoint { get; set; } = string.Empty;

View File

@@ -1,15 +1,15 @@
namespace Repository; namespace Repository;
public interface IPushSubscriptionRepository : IBaseRepository<PushSubscriptionEntity> public interface IPushSubscriptionRepository : IBaseRepository<PushSubscription>
{ {
Task<PushSubscriptionEntity?> GetByEndpointAsync(string endpoint); Task<PushSubscription?> GetByEndpointAsync(string endpoint);
} }
public class PushSubscriptionRepository(IFreeSql freeSql) : BaseRepository<PushSubscriptionEntity>(freeSql), IPushSubscriptionRepository public class PushSubscriptionRepository(IFreeSql freeSql) : BaseRepository<PushSubscription>(freeSql), IPushSubscriptionRepository
{ {
public async Task<PushSubscriptionEntity?> GetByEndpointAsync(string endpoint) public async Task<PushSubscription?> GetByEndpointAsync(string endpoint)
{ {
return await FreeSql.Select<PushSubscriptionEntity>() return await FreeSql.Select<PushSubscription>()
.Where(x => x.Endpoint == endpoint) .Where(x => x.Endpoint == endpoint)
.FirstAsync(); .FirstAsync();
} }

View File

@@ -5,7 +5,7 @@ namespace Service;
public interface INotificationService public interface INotificationService
{ {
Task<string> GetVapidPublicKeyAsync(); Task<string> GetVapidPublicKeyAsync();
Task SubscribeAsync(PushSubscriptionEntity subscription); Task SubscribeAsync(Entity.PushSubscription subscription);
Task SendNotificationAsync(string message, string? url = null); Task SendNotificationAsync(string message, string? url = null);
} }
@@ -32,7 +32,7 @@ public class NotificationService(
return Task.FromResult(GetSettings().PublicKey); return Task.FromResult(GetSettings().PublicKey);
} }
public async Task SubscribeAsync(PushSubscriptionEntity subscription) public async Task SubscribeAsync(Entity.PushSubscription subscription)
{ {
var existing = await subscriptionRepo.GetByEndpointAsync(subscription.Endpoint); var existing = await subscriptionRepo.GetByEndpointAsync(subscription.Endpoint);
if (existing != null) if (existing != null)
@@ -73,7 +73,7 @@ public class NotificationService(
{ {
try try
{ {
var pushSubscription = new PushSubscription(sub.Endpoint, sub.P256DH, sub.Auth); var pushSubscription = new WebPush.PushSubscription(sub.Endpoint, sub.P256DH, sub.Auth);
await webPushClient.SendNotificationAsync(pushSubscription, payload, vapidDetails); await webPushClient.SendNotificationAsync(pushSubscription, payload, vapidDetails);
} }
catch (WebPushException ex) catch (WebPushException ex)

View File

@@ -18,7 +18,7 @@ public class NotificationController(INotificationService notificationService) :
} }
} }
public async Task<BaseResponse> Subscribe([FromBody] PushSubscriptionEntity subscription) public async Task<BaseResponse> Subscribe([FromBody] PushSubscription subscription)
{ {
try try
{ {