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

namespace DigitalData.UserManager.Domain.Entities
{
    [Table("TBDD_GROUPS", Schema = "dbo")]
    public class Group : BaseEntity
    {
        [StringLength(50)]
        public string? Name { get; set; }

        [Required]
        [DefaultValue(false)]
        [Column("AD_SYNC")]
        public bool AdSync { get; set; }

        [Required]
        [DefaultValue(false)]
        public bool Internal { get; set; }

        [Required]
        [DefaultValue(true)]
        public bool Active { get; set; }

        [StringLength(200)]
        public string? Comment { get; set; }

        // TODO: this column should be assigned by triggers. despite this it is not null and this is problem for creation. talk with others
        [Required]
        [Column("ECM_FK_ID")]
        [DefaultValue(-1)]
        public int EcmFkId { get; init; } = -1;
    }
}