feat(notification-outbox): add NotificationType and NotificationStatus enums

This commit is contained in:
Joseph Doherty
2026-05-19 00:45:05 -04:00
parent dff9e0aa76
commit f9b942bb94
3 changed files with 44 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
namespace ScadaLink.Commons.Types.Enums;
/// <summary>
/// Lifecycle status of a notification in the central outbox. The site-local
/// <c>Forwarding</c> concept is intentionally not part of the central status set.
/// </summary>
public enum NotificationStatus
{
Pending,
Retrying,
Delivered,
Parked,
Discarded
}

View File

@@ -0,0 +1,9 @@
namespace ScadaLink.Commons.Types.Enums;
/// <summary>
/// Delivery channel for a notification. Currently only email is supported.
/// </summary>
public enum NotificationType
{
Email
}

View File

@@ -0,0 +1,21 @@
using ScadaLink.Commons.Types.Enums;
namespace ScadaLink.Commons.Tests.Types;
public class NotificationEnumTests
{
[Fact]
public void NotificationStatus_HasExactlyTheCentralStates()
{
var names = Enum.GetNames<NotificationStatus>();
Assert.Equal(
new[] { "Pending", "Retrying", "Delivered", "Parked", "Discarded" },
names);
}
[Fact]
public void NotificationType_HasEmail()
{
Assert.True(Enum.IsDefined(NotificationType.Email));
}
}