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; }
}