43 lines
No EOL
1.2 KiB
C#
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; }
|
|
}
|
|
} |