51 lines
1.5 KiB
C#
51 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace Svrnty.CQRS.Grpc.Generators.Models
|
|
{
|
|
/// <summary>
|
|
/// Represents a discovered streaming notification type for proto/gRPC generation.
|
|
/// </summary>
|
|
public class NotificationInfo
|
|
{
|
|
/// <summary>
|
|
/// The notification type name (e.g., "InventoryChangeNotification").
|
|
/// </summary>
|
|
public string Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// The fully qualified type name including namespace.
|
|
/// </summary>
|
|
public string FullyQualifiedName { get; set; }
|
|
|
|
/// <summary>
|
|
/// The namespace of the notification type.
|
|
/// </summary>
|
|
public string Namespace { get; set; }
|
|
|
|
/// <summary>
|
|
/// The property name used as the subscription key (from [StreamingNotification] attribute).
|
|
/// </summary>
|
|
public string SubscriptionKeyProperty { get; set; }
|
|
|
|
/// <summary>
|
|
/// The subscription key property info.
|
|
/// </summary>
|
|
public PropertyInfo SubscriptionKeyInfo { get; set; }
|
|
|
|
/// <summary>
|
|
/// All properties of the notification type.
|
|
/// </summary>
|
|
public List<PropertyInfo> Properties { get; set; }
|
|
|
|
public NotificationInfo()
|
|
{
|
|
Name = string.Empty;
|
|
FullyQualifiedName = string.Empty;
|
|
Namespace = string.Empty;
|
|
SubscriptionKeyProperty = string.Empty;
|
|
SubscriptionKeyInfo = new PropertyInfo();
|
|
Properties = new List<PropertyInfo>();
|
|
}
|
|
}
|
|
}
|