using adas_core.Domain.Enums;
using MongoDB.Bson;
namespace adas_core.Domain.Models.MongoModels;
///
/// Represents a device entity within the application.
///
public class Device
{
public ObjectId Id { get; set; }
public List PointOfCareIds { get; set; } = new();
public DeviceType DeviceType { get; set; }
public string? Name { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
public int? Battery { get; set; }
public string? MacAddr { get; set; }
public string? SerialNumber { get; set; }
public string? Color { get; set; }
public bool Connected { get; set; }
public bool Ready { get; set; }
public string? Uuid { get; set; }
public string? Key { get; set; }
public DeviceSettings? Settings { get; set; }
}
///
/// Represents the configuration settings for a device.
///
public class DeviceSettings
{
public DeviceAction? Action { get; set; }
}
///
/// Represents an action that can be performed on or by a device.
///
public class DeviceAction
{
public DeviceActionType Type { get; set; }
public ObjectId ConfigObservationId { get; set; }
public string? AlarmName { get; set; }
public object? ValueOnSingleClick { get; set; }
public object? ValueOnDoubleClick { get; set; }
public object? ValueOnHoldClick { get; set; }
}