Iceshrimp.NET/Iceshrimp.Shared/Schemas/Web/UserProfileEntity.cs

43 lines
No EOL
1.2 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.Diagnostics.CodeAnalysis;
namespace Iceshrimp.Shared.Schemas.Web;
public class UserProfileEntity
{
[MaxLength(2048)] public string? Description { get; set; }
[MaxLength(128)] public string? Location { get; set; }
/// <remarks>
/// Accepts YYYY-MM-DD format, empty string, or null.
/// </remarks>
public string? Birthday { get; set; }
//TODO: public string? Lang { get; set; }
public required List<Field> Fields { get; set; }
public required FFVisibilityEnum FFVisibility { get; set; }
public required string DisplayName { get; set; }
public string? AvatarAlt { get; set; }
public string? BannerAlt { get; set; }
public required bool IsBot { get; set; }
public required bool IsCat { get; set; }
public required bool SpeakAsCat { get; set; }
public required Dictionary<string, string> Pronouns { get; set; }
[SuppressMessage("ReSharper", "UnusedMember.Global")]
public enum FFVisibilityEnum
{
Public = 0,
Followers = 1,
Private = 2
}
public class Field
{
public required string Name { get; set; }
public required string Value { get; set; }
}
}