feat(push): add service-owned firebase channels and delivery
Add push contracts, provider delivery and channel diagnostics. Link email channels to services and document migration and validation. Ref: IT-1074
This commit is contained in:
@@ -2,6 +2,10 @@ namespace HrynCo.NotificationService.Contracts.Messages;
|
||||
|
||||
public record NotificationResultData
|
||||
{
|
||||
public Guid? PushRegistrationId { get; init; }
|
||||
public Guid? PushBindingId { get; init; }
|
||||
public string? PushTokenHash { get; init; }
|
||||
public bool InvalidPushRegistration { get; init; }
|
||||
public required string ServiceName { get; init; }
|
||||
public required string RecipientEmail { get; init; }
|
||||
public required string TemplateKey { get; init; }
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace HrynCo.NotificationService.Contracts.Messages;
|
||||
|
||||
using Hrynco.RabbitMq;
|
||||
|
||||
public sealed record SendPushMessage : IRabbitMqMessage<SendPushMessageData>
|
||||
{
|
||||
public CorrelationContext CorrelationContext { get; set; } = default!;
|
||||
public SendPushMessageData Data { get; set; } = default!;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace HrynCo.NotificationService.Contracts.Messages;
|
||||
|
||||
public sealed record SendPushMessageData
|
||||
{
|
||||
public required Guid RegistrationId { get; init; }
|
||||
public required Guid BindingId { get; init; }
|
||||
public required Guid UserId { get; init; }
|
||||
public required string ServiceName { get; init; }
|
||||
public required string Title { get; init; }
|
||||
public required string Body { get; init; }
|
||||
public string Route { get; init; } = "/home";
|
||||
public int Version { get; init; } = 1;
|
||||
public required DateTimeOffset ExpiresAt { get; init; }
|
||||
public string? Token { get; init; }
|
||||
public string? TokenHash { get; init; }
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace HrynCo.NotificationService.Contracts.Messages;
|
||||
|
||||
public enum SupportedMessageType
|
||||
{
|
||||
SendEmailV1,
|
||||
SendPushV1
|
||||
}
|
||||
Reference in New Issue
Block a user