using Indotalent.Data.Interfaces;
using Indotalent.Shared.Utils;
using System.ComponentModel.DataAnnotations;

namespace Indotalent.Data.Abstracts;

public abstract class BaseEntity : IHasAudit, IHasIsDeleted
{
    [Key]
    public string Id { get; set; } = SequentialGuidGenerator.NewSequentialId();
    public DateTimeOffset? CreatedAt { get; set; }
    public string? CreatedBy { get; set; }
    public DateTimeOffset? UpdatedAt { get; set; }
    public string? UpdatedBy { get; set; }
    public bool IsDeleted { get; set; } = false;
}
