0e90f19377
Creates MemberChannelBinding, LineBindingCode, MessagingGroup, and NotificationLog entities under ROLAC.API.Entities.Notifications; wires DbSets and fluent config into AppDbContext; generates EF migration AddNotifications creating the four tables. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
1.1 KiB
C#
23 lines
1.1 KiB
C#
using ROLAC.API.Entities;
|
|
|
|
namespace ROLAC.API.Entities.Notifications;
|
|
|
|
/// <summary>An append-only audit row for every email or Line send (success or failure).</summary>
|
|
public class NotificationLog
|
|
{
|
|
public long Id { get; set; }
|
|
public string Channel { get; set; } = null!; // "email" | "line"
|
|
public string TargetType { get; set; } = null!; // "email" | "user" | "group"
|
|
public string TargetExternalId { get; set; } = null!; // email address OR Line id
|
|
public string? Subject { get; set; } // email only
|
|
public int? MemberId { get; set; }
|
|
public Member? Member { get; set; }
|
|
public int? MessagingGroupId { get; set; }
|
|
public MessagingGroup? MessagingGroup { get; set; }
|
|
public string Body { get; set; } = null!;
|
|
public string Status { get; set; } = null!; // "sent" | "failed"
|
|
public string? Error { get; set; }
|
|
public string SentByUserId { get; set; } = null!;
|
|
public DateTime SentAt { get; set; }
|
|
}
|