[backend/user-renderer] Use FlagService to get IsPleroma

This commit is contained in:
notfire 2025-03-23 12:39:11 -04:00
parent 7f505837e7
commit b49c18f897
Signed by: notfire
GPG key ID: 3AFDACAAB4E56B16
2 changed files with 9 additions and 7 deletions

View file

@ -45,7 +45,7 @@ public class AccountController(
public async Task<AccountEntity> VerifyUserCredentials() public async Task<AccountEntity> VerifyUserCredentials()
{ {
var user = HttpContext.GetUserOrFail(); 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")] [HttpPatch("update_credentials")]
@ -127,7 +127,7 @@ public class AccountController(
} }
user = await userSvc.UpdateLocalUserAsync(user, prevAvatarId, prevBannerId); 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")] [HttpDelete("/api/v1/profile/avatar")]

View file

@ -4,6 +4,7 @@ using Iceshrimp.Backend.Core.Database;
using Iceshrimp.Backend.Core.Database.Tables; using Iceshrimp.Backend.Core.Database.Tables;
using Iceshrimp.Backend.Core.Extensions; using Iceshrimp.Backend.Core.Extensions;
using Iceshrimp.Backend.Core.Helpers.LibMfm.Conversion; using Iceshrimp.Backend.Core.Helpers.LibMfm.Conversion;
using Iceshrimp.Backend.Core.Services;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
@ -13,16 +14,17 @@ public class UserRenderer(
IOptions<Config.InstanceSection> config, IOptions<Config.InstanceSection> config,
IOptionsSnapshot<Config.SecuritySection> security, IOptionsSnapshot<Config.SecuritySection> security,
MfmConverter mfmConverter, MfmConverter mfmConverter,
DatabaseContext db DatabaseContext db,
FlagService flags
) : IScopedService ) : IScopedService
{ {
private readonly string _transparent = $"https://{config.Value.WebDomain}/assets/transparent.png"; private readonly string _transparent = $"https://{config.Value.WebDomain}/assets/transparent.png";
public Task<AccountEntity> RenderAsync(User user, UserProfile? profile, User? localUser, bool source = false, bool isPleroma = false) public Task<AccountEntity> RenderAsync(User user, UserProfile? profile, User? localUser, bool source = false)
=> RenderAsync(user, profile, localUser, null, source, isPleroma); => RenderAsync(user, profile, localUser, null, source);
private async Task<AccountEntity> RenderAsync( private async Task<AccountEntity> 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; var acct = user.Username;
@ -78,7 +80,7 @@ public class UserRenderer(
IsDiscoverable = user.IsExplorable, IsDiscoverable = user.IsExplorable,
Fields = fields?.ToList() ?? [], Fields = fields?.ToList() ?? [],
Emoji = profileEmoji, Emoji = profileEmoji,
Akkoma = isPleroma Akkoma = flags?.IsPleroma.Value == true
? new AkkomaInfo() ? new AkkomaInfo()
{ PermitFollowback = user.UserSettings?.AutoAcceptFollowed } { PermitFollowback = user.UserSettings?.AutoAcceptFollowed }
: null : null