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

namespace Dpz.Core.Public.Entity;

public class Bookmark : BaseEntity, IIndexedEntity<Bookmark>
{
    /// <summary>
    /// 图标地址
    /// </summary>
    public string? Icon { get; set; }

    /// <summary>
    /// 图片地址
    /// </summary>
    public string? Image { get; set; }

    /// <summary>
    /// 标题
    /// </summary>
    public required string Title { get; set; }

    /// <summary>
    /// URL地址
    /// </summary>
    public required string Url { get; set; }

    /// <summary>
    /// 分类
    /// </summary>
    public List<string> Categories { get; set; } = [];

    /// <inheritdoc />
    public static IReadOnlyList<EntityIndexDefinition> GetIndexDefinitions() =>
        [new() { Fields = [EntityIndexField.Ascending<Bookmark>(x => x.Categories)] }];
}
评论加载中...