using System.Security.Cryptography.X509Certificates;

namespace Modules.User.Domain.Entities.Access;

public class Ban
{
    public Guid Id { get; private set; }

    public string Reason { get; private set; } = null!;
    public DateTime CreationDate { get; private set; }
    public DateTime? ReleaseDate { get; private set; }
    public Guid IssuerId { get; private set; }
    public bool Deleted { get; private set; }
    
    private Ban() {}

    internal Ban(Guid id, string reason, DateTime creationDate, Guid issuerId)
    {
        Id = id;
        Reason = reason;
        CreationDate = creationDate;
        IssuerId = issuerId;
    }

    public void SetReleaseDate(DateTime? releaseDate)
    {
        ReleaseDate = releaseDate;
    }

    public void SetReason(string reason)
    {
        Reason = reason;
    }
}