using PostFundManagement.Domain; namespace PostFundManagement.Application.Services.Communications; public sealed record UpdateNotificationRequest([Required] long NotificationId, string? Destination = null, [Required] NotificationStatus Status = NotificationStatus.Read, DateTime? SentAt = null, [MaxLength(TextLength)] string? Error = null); public sealed record CreateNotificationRequest([Required] long OrganisationId, [Required] Guid Recipient, [Required] NotificationPlatform Platform, [Required][MaxLength(LabelLength)] string? Subject, [Required][MaxLength(LabelLength)] string? Destination, [Required][MaxLength(LargeTextLength)] string Message, NotificationStatus? Status = null); public sealed record InviteRequest([Required] long OrganisationId, [Required] long InvitedOrganisationId, [Required] long AwardId, [Required] long ContractId, [Required] Guid Recipient, [Required][MaxLength(LabelLength)] string Message, [Required] NotificationPlatform Platform);