using Newtonsoft.Json; using VoidCat.Database; namespace VoidCat.Model; /// /// A user object which can be returned via the API /// public class ApiUser { /// /// Unique Id of the user /// [JsonConverter(typeof(Base58GuidConverter))] public Guid Id { get; init; } /// /// Display name /// public string? Name { get; init; } /// /// Avatar /// public string? Avatar { get; init; } /// /// If profile can be viewed by anyone /// public bool PublicProfile { get; init; } /// /// If the users uploads can be viewed by anyone /// public bool PublicUploads { get; init; } /// /// If the account is not email verified /// public bool? NeedsVerification { get; init; } /// /// A list of roles the user has /// public List Roles { get; init; } = new(); /// /// When the account was created /// public DateTime Created { get; init; } }