From de57d12097cced0427807232fc2e43fd1e80f299 Mon Sep 17 00:00:00 2001 From: notfire Date: Sun, 30 Mar 2025 21:57:10 -0400 Subject: [PATCH] wow! services --- .../Controllers/Pleroma/AdminController.cs | 18 +++++++++++++++--- .../Pleroma/Schemas/ReportsResponse.cs | 4 ++-- 2 files changed, 17 insertions(+), 5 deletions(-) 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; }