using Dpz.Core.Entity.Base;
using Dpz.Core.Entity.Base.Indexes;

namespace Dpz.Core.Public.Entity;

/// <summary>
/// 系统通知历史记录
/// </summary>
public class SystemNotificationHistory : BaseEntity, IIndexedEntity<SystemNotificationHistory>
{
    /// <summary>
    /// 消息内容
    /// </summary>
    public required string Message { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    [BsonDateTimeOptions(Kind = DateTimeKind.Local)]
    public required DateTime CreateTime { get; set; }

    public static IReadOnlyList<EntityIndexDefinition> GetIndexDefinitions() =>
        [
            new()
            {
                Fields =
                [
                    EntityIndexField.Descending<SystemNotificationHistory>(x => x.CreateTime),
                ],
            },
        ];
}
评论加载中...