diff --git a/Iceshrimp.Backend/Controllers/Pleroma/AdminController.cs b/Iceshrimp.Backend/Controllers/Pleroma/AdminController.cs index 62f88871..054668d7 100644 --- a/Iceshrimp.Backend/Controllers/Pleroma/AdminController.cs +++ b/Iceshrimp.Backend/Controllers/Pleroma/AdminController.cs @@ -13,6 +13,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.RateLimiting; using Microsoft.EntityFrameworkCore; using NoteRenderer = Iceshrimp.Backend.Controllers.Mastodon.Renderers.NoteRenderer; +using UserRenderer = Iceshrimp.Backend.Controllers.Mastodon.Renderers.UserRenderer; namespace Iceshrimp.Backend.Controllers.Pleroma; @@ -24,7 +25,8 @@ namespace Iceshrimp.Backend.Controllers.Pleroma; public class AdminController( DatabaseContext db, ReportRenderer reportRenderer, - NoteRenderer noteRenderer + NoteRenderer noteRenderer, + UserRenderer userRenderer ) : ControllerBase { [HttpGet("/api/v1/pleroma/admin/reports")] @@ -43,6 +45,16 @@ public class AdminController( var reportsList = new List(); foreach (var r in rendered) { + var reActor = await db.Users + .IncludeCommonProperties() + .Where(p => p.Id == r.Reporter.Id) + .RenderAllForMastodonAsync(userRenderer, user); + + var reTarget = await db.Users + .IncludeCommonProperties() + .Where(p => p.Id == r.TargetUser.Id) + .RenderAllForMastodonAsync(userRenderer, user); + foreach (var n in r.Notes) { var note = await db.Notes @@ -52,8 +64,8 @@ public class AdminController( reportsList.Add(new Reports() { - Account = r.TargetUser, - Actor = r.Reporter, + Account = reTarget.FirstOrDefault()!, + Actor = reActor.FirstOrDefault()!, Id = r.Id, CreatedAt = r.CreatedAt, State = r.Resolved ? "resolved" : "open", diff --git a/Iceshrimp.Backend/Controllers/Pleroma/Schemas/ReportsResponse.cs b/Iceshrimp.Backend/Controllers/Pleroma/Schemas/ReportsResponse.cs index 7eb61474..c6ef64ff 100644 --- a/Iceshrimp.Backend/Controllers/Pleroma/Schemas/ReportsResponse.cs +++ b/Iceshrimp.Backend/Controllers/Pleroma/Schemas/ReportsResponse.cs @@ -15,8 +15,8 @@ public class ReportsResponse public class Reports { - [J("account")] public required UserResponse Account { get; set; } - [J("actor")] public required UserResponse Actor { get; set; } + [J("account")] public required AccountEntity Account { get; set; } + [J("actor")] public required AccountEntity Actor { get; set; } [J("id")] public required string Id { get; set; } [J("created_at")] public required DateTime CreatedAt { get; set; } [J("state")] public required string State { get; set; }