using System.ComponentModel.DataAnnotations; namespace Hutopy.Modules.Creators.Data; public class Creator { public Guid Id { get; set; } public Guid CreatedBy { get; set; } public DateTimeOffset CreatedAt { get; init; } public Guid? DeletedBy { get; set; } public DateTimeOffset? DeletedAt { get; set; } /// /// Soft‑delete flag (false by default, true once DeletedAt is set) /// public bool IsDeleted { get; private set; } // private set → EF updates it [MaxLength(2048)] public string? BannerUrl { get; set; } [MaxLength(2048)] public string? PortraitUrl { get; set; } public bool Verified { get; set; } [MaxLength(256)] public required string Name { get; set; } [MaxLength(128)] public required string Slug { get; set; } [MaxLength(256)] public string? Title { get; set; } [MaxLength(21)] public string? StripeAccountId { get; set; } public bool IsStripeDetailsSubmitted { get; set; } public bool IsStripePayoutReady { get; set; } public bool IsStripeChargesEnabled { get; set; } public Socials Socials { get; set; } = new(); public Presentation Presentation { get; set; } = new() { Description = "Welcome to my profile!" }; }