using System; using System.Text.Json; using System.Text.Json.Serialization; namespace Altinn.Platform.Events.Models { /// /// Class that describes the events subscription request model /// public class SubscriptionRequestModel { /// /// Endpoint to receive matching events /// public Uri EndPoint { get; set; } /// /// Filter on source /// public Uri SourceFilter { get; set; } /// /// Filter on subject /// public string SubjectFilter { get; set; } /// /// Filter on resource /// public string ResourceFilter { get; set; } /// /// Filter on alternative subject /// public string AlternativeSubjectFilter { get; set; } /// /// Filter for type. The different sources has different types. /// public string TypeFilter { get; set; } /// /// Serializes the subscription request to a JSON string. /// /// Serialized cloud event public string Serialize() { return JsonSerializer.Serialize(this, new JsonSerializerOptions { DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull }); } } }