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; }
}