using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace RobotNet.RobotManager.Data;

#nullable disable

[Table("Robots")]
public class Robot
{
    [Column("Id", TypeName = "uniqueidentifier")]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    [Required]
    public Guid Id { get; set; }

    [Column("RobotId", TypeName = "varchar(127)")]
    [Required]
    public string RobotId { get; set; } = string.Empty;

    [Column("Name", TypeName = "varchar(127)")]
    [Required]
    public string Name { get; set; }

    [Column("ModelId", TypeName = "uniqueidentifier")]
    [Required]
    public Guid ModelId { get; set; }

    [Column("MapId", TypeName = "uniqueidentifier")]
    [Required]
    public Guid MapId { get; set; }

    [Column("HomeNode", TypeName = "varchar(127)")]
    public string HomeNode { get; set; }

    [Column("ChargerNode", TypeName = "varchar(127)")]
    public string ChargerNode { get; set; }

    public RobotModel Model { get; set; }
}
