using Chat.Domain.Enums; using System; namespace Chat.Domain.Entities; /// /// Represents a user's presence status and connection information for real-time features. /// public class UserPresence { /// /// Primary key - the unique identifier of the user. /// public Guid UserId { get; set; } /// /// The current status of the user (Online, Offline, Away). /// public UserStatus Status { get; set; } = UserStatus.Offline; /// /// Date and time when the user was last seen. /// public DateTime LastSeenAt { get; set; } = DateTime.UtcNow; /// /// SignalR connection ID for real-time messaging. Can be null if the user is not connected. /// public string? ConnectionId { get; set; } // Navigation property (to User entity when it exists) // public User User { get; set; } }