namespace StellaOps.Notifier.WebService.Contracts; /// /// Request for creating or updating a rule. /// public sealed record RuleUpsertRequest { public string? Name { get; init; } public RuleMatchRequest? Match { get; init; } public IReadOnlyList? Actions { get; init; } public bool? Enabled { get; init; } public string? Description { get; init; } } /// /// Match criteria for a rule. /// public sealed record RuleMatchRequest { public string[]? EventKinds { get; init; } } /// /// Action definition for a rule. /// public sealed record RuleActionRequest { public string? ActionId { get; init; } public string? Channel { get; init; } public string? Template { get; init; } public string? Locale { get; init; } public bool? Enabled { get; init; } }