namespace OpenAuth.App.ServiceApp.DjiCloud;

/// <summary>
/// 设备数据传输对象，用于封装设备相关的信息。
/// </summary>
public class DeviceDTO
{
    /// <summary>
    /// 设备序列号。
    /// </summary>
    public string DeviceSn { get; set; }

    /// <summary>
    /// 设备名称。
    /// </summary>
    public string DeviceName { get; set; }

    /// <summary>
    /// 工作区 ID。
    /// </summary>
    public string WorkspaceId { get; set; }

    /// <summary>
    /// 控制源。
    /// </summary>
    //public ControlSourceEnum ControlSource { get; set; }

    /// <summary>
    /// 设备描述。
    /// </summary>
    public string DeviceDesc { get; set; }

    /// <summary>
    /// 子设备序列号。
    /// </summary>
    public string ChildDeviceSn { get; set; }

    /// <summary>
    /// 设备域。
    /// </summary>
    //public DeviceDomainEnum Domain { get; set; }

    /// <summary>
    /// 设备类型。
    /// </summary>
    // public DeviceTypeEnum Type { get; set; }

    /// <summary>
    /// 设备子类型。
    /// </summary>
    //  public DeviceSubTypeEnum SubType { get; set; }

    /// <summary>
    /// 负载列表。
    /// </summary>
    // public List<DevicePayloadDTO> PayloadsList { get; set; }

    /// <summary>
    /// 图标 URL。
    /// </summary>
    // public DeviceIconUrl IconUrl { get; set; }

    /// <summary>
    /// 状态。
    /// </summary>
    public bool Status { get; set; }

    /// <summary>
    /// 绑定状态。
    /// </summary>
    public bool BoundStatus { get; set; }

    /// <summary>
    /// 登录时间。
    /// </summary>
    public DateTime LoginTime { get; set; }

    /// <summary>
    /// 绑定时间。
    /// </summary>
    public DateTime BoundTime { get; set; }

    /// <summary>
    /// 昵称。
    /// </summary>
    public string Nickname { get; set; }

    /// <summary>
    /// 用户 ID。
    /// </summary>
    public string UserId { get; set; }

    /// <summary>
    /// 固件版本。
    /// </summary>
    public string FirmwareVersion { get; set; }

    /// <summary>
    /// 工作区名称。
    /// </summary>
    public string WorkspaceName { get; set; }

    /// <summary>
    /// 子设备 DTO。
    /// </summary>
    public DeviceDTO Children { get; set; }

    /// <summary>
    /// 固件状态。
    /// </summary>
    //  public DeviceFirmwareStatusEnum FirmwareStatus { get; set; }

    /// <summary>
    /// 固件进度。
    /// </summary>
    public int FirmwareProgress { get; set; }

    /// <summary>
    /// 父设备序列号。
    /// </summary>
    public string ParentSn { get; set; }

    /// <summary>
    /// 物模型版本。
    /// </summary>
    public string ThingVersion { get; set; }
}