重命名 PushSubscriptionEntity 为 PushSubscription,并更新相关引用
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user