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 });
}
}
}