using System;
using API.Entities.Enums.Device;
using API.Entities.Interfaces;
namespace API.Entities;
///
/// A Device is an entity that can receive data from Kavita (kindle)
///
public class Device : IEntityDate
{
public int Id { get; set; }
///
/// Last Seen IP Address of the device
///
public string? IpAddress { get; set; }
///
/// A name given to this device
///
/// If this device is web, this will be the browser name
/// Pixel 3a, John's Kindle
public string? Name { get; set; }
///
/// An email address associated with the device (ie Kindle). Will be used with Send to functionality
///
public string? EmailAddress { get; set; }
///
/// Platform (ie) Windows 10
///
public DevicePlatform Platform { get; set; }
public int AppUserId { get; set; }
public AppUser AppUser { get; set; } = null!;
///
/// Last time this device was used to send a file
///
public DateTime LastUsed { get; set; }
public DateTime LastUsedUtc { get; set; }
public DateTime Created { get; set; }
public DateTime LastModified { get; set; }
public DateTime CreatedUtc { get; set; }
public DateTime LastModifiedUtc { get; set; }
public void UpdateLastUsed()
{
LastUsed = DateTime.Now;
LastUsedUtc = DateTime.UtcNow;
}
}