From 87ac996e2456c5d9b1ea8dcbb851f6502ffcafcf Mon Sep 17 00:00:00 2001 From: Rory& Date: Sat, 8 Aug 2026 05:08:29 +0200 Subject: Discovery schemas --- .../Spacebar.Models.Api/DiscoverableGuild.cs | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 extra/admin-api/Models/Spacebar.Models.Api/DiscoverableGuild.cs (limited to 'extra/admin-api/Models') diff --git a/extra/admin-api/Models/Spacebar.Models.Api/DiscoverableGuild.cs b/extra/admin-api/Models/Spacebar.Models.Api/DiscoverableGuild.cs new file mode 100644 index 00000000..334facd9 --- /dev/null +++ b/extra/admin-api/Models/Spacebar.Models.Api/DiscoverableGuild.cs @@ -0,0 +1,109 @@ +using System.Diagnostics; +using System.Text.Json.Serialization; +using Spacebar.Models.Generic; + +namespace Spacebar.Models.Api; + +[DebuggerDisplay("{Id} ({Name})")] +public class DiscoverableGuild { + [JsonPropertyName("id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)] + public required long Id { get; set; } + + [JsonPropertyName("name")] + public string Name { get; set; } + + [JsonPropertyName("icon")] + public string? Icon { get; set; } + + [JsonPropertyName("description")] + public string? Description { get; set; } + + [JsonPropertyName("banner")] + public string? Banner { get; set; } + + [JsonPropertyName("discovery_splash")] + public string? DiscoverySplash { get; set; } + + [JsonPropertyName("emojis")] + public List Emojis { get; set; } + + [JsonPropertyName("emoji_count")] + public int EmojiCount { get; set; } + + [JsonPropertyName("features")] + public List Features { get; set; } + + [JsonPropertyName("preferred_locale")] + public string PreferredLocale { get; set; } + + [JsonPropertyName("premium_subscription_count")] + public int PremiumSubscriptionCount { get; set; } + + [JsonPropertyName("splash")] + public string? Splash { get; set; } + + [JsonPropertyName("stickers")] + public List Stickers { get; set; } + + [JsonPropertyName("sticker_count")] + public int StickerCount { get; set; } + + [JsonPropertyName("vanity_url_code")] + public string? VanityUrlCode { get; set; } + + [JsonPropertyName("approximate_member_count")] + public int ApproximateMemberCount { get; set; } + + [JsonPropertyName("approximate_presence_count")] + public int ApproximatePresenceCount { get; set; } + + [JsonPropertyName("auto_removed")] + public bool AutoRemoved { get; set; } + + [JsonPropertyName("primary_category_id")] + public short PrimaryCategoryId { get; set; } + + [JsonPropertyName("primary_category")] + public DiscoveryCategory PrimaryCategory { get; set; } + + [JsonPropertyName("keywords")] + public List Keywords { get; set; } + + [JsonPropertyName("is_published")] + public bool IsPublished { get; set; } + + [JsonPropertyName("reasons_to_join")] + public List ReasonsToJoin { get; set; } + + [JsonPropertyName("social_links")] + public List SocialLinks { get; set; } + + [JsonPropertyName("about")] + public string About { get; set; } + + [JsonPropertyName("category_ids")] + public List CategoryIds { get; set; } + + [JsonPropertyName("categories")] + public List Categories { get; set; } + + [JsonPropertyName("created_at")] + public DateTime CreatedAt { get; set; } + + [JsonPropertyName("nsfw_properties")] + public DiscoveryNsfwProperties NsfwProperties { get; set; } +} + +public class DiscoveryCategory { + public short Id { get; set; } + public string Name { get; set; } + public bool IsPrimary { get; set; } +} + +public class DiscoveryReason { + +} + +public class DiscoveryNsfwProperties { + +} -- cgit 1.5.1