From b49c18f8975bba54416aac8ff0d36a4ef291c5b5 Mon Sep 17 00:00:00 2001 From: notfire Date: Sun, 23 Mar 2025 12:39:11 -0400 Subject: [PATCH] [backend/user-renderer] Use FlagService to get IsPleroma --- .../Controllers/Mastodon/AccountController.cs | 4 ++-- .../Controllers/Mastodon/Renderers/UserRenderer.cs | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Iceshrimp.Backend/Controllers/Mastodon/AccountController.cs b/Iceshrimp.Backend/Controllers/Mastodon/AccountController.cs index f79d93cd..a440ff8d 100644 --- a/Iceshrimp.Backend/Controllers/Mastodon/AccountController.cs +++ b/Iceshrimp.Backend/Controllers/Mastodon/AccountController.cs @@ -45,7 +45,7 @@ public class AccountController( public async Task VerifyUserCredentials() { var user = HttpContext.GetUserOrFail(); - return await userRenderer.RenderAsync(user, user.UserProfile, user, source: true, isPleroma: HttpContext.GetOauthToken()!.IsPleroma); + return await userRenderer.RenderAsync(user, user.UserProfile, user, source: true); } [HttpPatch("update_credentials")] @@ -127,7 +127,7 @@ public class AccountController( } user = await userSvc.UpdateLocalUserAsync(user, prevAvatarId, prevBannerId); - return await userRenderer.RenderAsync(user, user.UserProfile, user, source: true, isPleroma: HttpContext.GetOauthToken()!.IsPleroma); + return await userRenderer.RenderAsync(user, user.UserProfile, user, source: true); } [HttpDelete("/api/v1/profile/avatar")] diff --git a/Iceshrimp.Backend/Controllers/Mastodon/Renderers/UserRenderer.cs b/Iceshrimp.Backend/Controllers/Mastodon/Renderers/UserRenderer.cs index 62fb470e..3e26bc63 100644 --- a/Iceshrimp.Backend/Controllers/Mastodon/Renderers/UserRenderer.cs +++ b/Iceshrimp.Backend/Controllers/Mastodon/Renderers/UserRenderer.cs @@ -4,6 +4,7 @@ using Iceshrimp.Backend.Core.Database; using Iceshrimp.Backend.Core.Database.Tables; using Iceshrimp.Backend.Core.Extensions; using Iceshrimp.Backend.Core.Helpers.LibMfm.Conversion; +using Iceshrimp.Backend.Core.Services; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Options; @@ -13,16 +14,17 @@ 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"; - public Task RenderAsync(User user, UserProfile? profile, User? localUser, bool source = false, bool isPleroma = false) - => RenderAsync(user, profile, localUser, null, source, isPleroma); + public Task RenderAsync(User user, UserProfile? profile, User? localUser, bool source = false) + => RenderAsync(user, profile, localUser, null, source); private async Task RenderAsync( - User user, UserProfile? profile, User? localUser, UserRendererDto? data = null, bool source = false, bool isPleroma = false + User user, UserProfile? profile, User? localUser, UserRendererDto? data = null, bool source = false ) { var acct = user.Username; @@ -78,7 +80,7 @@ public class UserRenderer( IsDiscoverable = user.IsExplorable, Fields = fields?.ToList() ?? [], Emoji = profileEmoji, - Akkoma = isPleroma + Akkoma = flags?.IsPleroma.Value == true ? new AkkomaInfo() { PermitFollowback = user.UserSettings?.AutoAcceptFollowed } : null