using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Diagnostics.CodeAnalysis;

namespace Entities
{
    /// <summary>
    /// define a lobby for QMC rapidity fight
    /// properties :
    ///     Id : identifier of the lobby in the database
    ///     Name : name of the lobby
    ///     Password : password require to access at the lobby
    ///     IdCreator : identifier of the creator player
    ///     Creator : the creator player
    /// </summary>
    [Table("Lobby")]
    public class LobbyEntity
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }
        [Required]
        public string Name { get; set; } = null!;
        public string Password { get; set; } = null!;
        public int NbPlayers { get; set; }

        [ForeignKey(nameof(Creator))]
        public int? IdCreator { get; set; }

        public PlayerEntity? Creator { get; set; }
    }
}
