using System.ComponentModel.DataAnnotations;
namespace DorkNet.Server.Data.Entities;
///
/// A player-scheduled gathering ("event") in a specific room. Backs
/// the watch's Events tab — players can RSVP via
/// .
///
public class PlayerEventEntity
{
public long Id { get; set; }
public long CreatorPlayerId { get; set; }
public long RoomId { get; set; }
[MaxLength(128)]
public string Title { get; set; } = string.Empty;
[MaxLength(2000)]
public string Description { get; set; } = string.Empty;
public DateTime StartsAt { get; set; }
public DateTime EndsAt { get; set; }
public int Capacity { get; set; } = 0;
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
}
/// One row per RSVP'd player + event.
public class PlayerEventResponseEntity
{
public long Id { get; set; }
public long EventId { get; set; }
public long PlayerId { get; set; }
/// 0=Going, 1=Maybe, 2=NotGoing — matches the watch's
/// three-state RSVP toggle.
public int Response { get; set; }
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
}