using BookmarkApi.Shared.Enums;

namespace BookmarkApi.Shared.DTOs;

/// <summary>
/// 书签信息 DTO
/// </summary>
public class BookmarkDto
{
    /// <summary>
    /// 书签ID
    /// </summary>
    public Guid Id { get; set; }

    /// <summary>
    /// 书签标题
    /// </summary>
    public string Title { get; set; } = string.Empty;

    /// <summary>
    /// 书签URL
    /// </summary>
    public string Url { get; set; } = string.Empty;

    /// <summary>
    /// 书签描述
    /// </summary>
    public string? Description { get; set; }

    /// <summary>
    /// 网站图标
    /// </summary>
    public string? Icon { get; set; }

    /// <summary>
    /// 标签数组
    /// </summary>
    public string[] Tags { get; set; } = Array.Empty<string>();

    /// <summary>
    /// 访问次数
    /// </summary>
    public int VisitCount { get; set; }

    /// <summary>
    /// 最后访问时间
    /// </summary>
    public DateTime? LastVisitTime { get; set; }

    /// <summary>
    /// 排序值
    /// </summary>
    public long Order { get; set; }

    /// <summary>
    /// 可见性类型
    /// </summary>
    public VisibilityType Visibility { get; set; }

    /// <summary>
    /// 允许查看的设备ID列表
    /// </summary>
    public Guid[]? AllowedDevices { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime CreatedAt { get; set; }

    /// <summary>
    /// 更新时间
    /// </summary>
    public DateTime UpdatedAt { get; set; }
}

