using DMS.Core.Models;
namespace DMS.Core.Interfaces;
///
/// 继承自IBaseRepository,提供设备相关的特定数据查询功能。
///
public interface IDeviceRepository : IBaseRepository
{
///
/// 异步获取所有激活的设备,并级联加载其下的变量表和变量。
/// 这是后台轮询服务需要的主要数据。
///
/// 包含完整层级结构的激活设备列表。
Task> GetActiveDevicesWithDetailsAsync(ProtocolType protocol);
///
/// 异步根据设备ID获取设备及其所有详细信息(变量表、变量、MQTT别名等)。
///
/// 设备ID。
/// 包含详细信息的设备对象。
Task GetDeviceWithDetailsAsync(int deviceId);
}