From d7c965319d96976e628c100d1ee804a09f3de1d9 Mon Sep 17 00:00:00 2001 From: notfire Date: Sun, 30 Mar 2025 18:39:39 -0400 Subject: [PATCH] let's try what random github user said --- .../Controllers/Mastodon/Renderers/UserRenderer.cs | 11 +++++++++-- .../Mastodon/Schemas/Entities/AccountEntity.cs | 2 +- .../Pleroma/Schemas/Entities/PleromaUserExtensions.cs | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Iceshrimp.Backend/Controllers/Mastodon/Renderers/UserRenderer.cs b/Iceshrimp.Backend/Controllers/Mastodon/Renderers/UserRenderer.cs index 018fa38a..3a682791 100644 --- a/Iceshrimp.Backend/Controllers/Mastodon/Renderers/UserRenderer.cs +++ b/Iceshrimp.Backend/Controllers/Mastodon/Renderers/UserRenderer.cs @@ -15,7 +15,8 @@ public class UserRenderer( IOptions config, IOptionsSnapshot security, MfmConverter mfmConverter, - DatabaseContext db + DatabaseContext db, + FlagService flags ) : IScopedService { private readonly string _transparent = $"https://{config.Value.WebDomain}/assets/transparent.png"; @@ -76,7 +77,13 @@ public class UserRenderer( IsBot = user.IsBot, IsDiscoverable = user.IsExplorable, Fields = fields?.ToList() ?? [], - Emoji = profileEmoji + Emoji = profileEmoji, + Pleroma = flags?.IsPleroma.Value == true + ? new PleromaUserExtensions + { + IsAdmin = user.IsAdmin, + IsModerator = user.IsModerator + } : null }; if (localUser is null && security.Value.PublicPreview == Enums.PublicPreview.RestrictedNoMedia) //TODO diff --git a/Iceshrimp.Backend/Controllers/Mastodon/Schemas/Entities/AccountEntity.cs b/Iceshrimp.Backend/Controllers/Mastodon/Schemas/Entities/AccountEntity.cs index 139703a0..96716808 100644 --- a/Iceshrimp.Backend/Controllers/Mastodon/Schemas/Entities/AccountEntity.cs +++ b/Iceshrimp.Backend/Controllers/Mastodon/Schemas/Entities/AccountEntity.cs @@ -30,7 +30,7 @@ public class AccountEntity : IIdentifiable [J("emojis")] public required List Emoji { get; set; } [J("id")] public required string Id { get; set; } [J("last_status_at")] public string? LastStatusAt { get; set; } - //[J("pleroma")] public required PleromaUserExtensions? Pleroma { get; set; } + [J("pleroma")] public required PleromaUserExtensions? Pleroma { get; set; } [J("avatar_description")] public required string AvatarDescription { get; set; } [J("header_description")] public required string HeaderDescription { get; set; } diff --git a/Iceshrimp.Backend/Controllers/Pleroma/Schemas/Entities/PleromaUserExtensions.cs b/Iceshrimp.Backend/Controllers/Pleroma/Schemas/Entities/PleromaUserExtensions.cs index 7db14c87..c15d1596 100644 --- a/Iceshrimp.Backend/Controllers/Pleroma/Schemas/Entities/PleromaUserExtensions.cs +++ b/Iceshrimp.Backend/Controllers/Pleroma/Schemas/Entities/PleromaUserExtensions.cs @@ -1,7 +1,9 @@ +using Microsoft.EntityFrameworkCore; using J = System.Text.Json.Serialization.JsonPropertyNameAttribute; namespace Iceshrimp.Backend.Controllers.Pleroma.Schemas.Entities; +[Keyless] public class PleromaUserExtensions { [J("is_admin")] public required bool IsAdmin { get; set; }