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; } /// /// Accepts YYYY-MM-DD format, empty string, or null. /// public string? Birthday { get; set; } //TODO: public string? Lang { get; set; } public required List 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; } [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; } } }