using PostFundManagement.Domain; using static PostFundManagement.Domain.Extensions.Constants; namespace PostFundManagement.Application.Services.Communications; public sealed record UpdateNotificationRequest([Required] long NotificationId, string? Destination, [Required] NotificationStatus Status, [Required] DateTime SentAt, [MaxLength(TextLength)] string? Error); 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(TextLength)] string Message); 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);