33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
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; }
|
||
|
||
/// <summary>
|
||
/// Soft‑delete flag (false by default, true once DeletedAt is set)
|
||
/// </summary>
|
||
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!" };
|
||
}
|