wow! services
Some checks are pending
/ test-build-and-push (push) Waiting to run

This commit is contained in:
notfire 2025-03-30 21:57:10 -04:00
parent 1039a5296b
commit de57d12097
Signed by: notfire
GPG key ID: 3AFDACAAB4E56B16
2 changed files with 17 additions and 5 deletions

View file

@ -13,6 +13,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.RateLimiting; using Microsoft.AspNetCore.RateLimiting;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using NoteRenderer = Iceshrimp.Backend.Controllers.Mastodon.Renderers.NoteRenderer; using NoteRenderer = Iceshrimp.Backend.Controllers.Mastodon.Renderers.NoteRenderer;
using UserRenderer = Iceshrimp.Backend.Controllers.Mastodon.Renderers.UserRenderer;
namespace Iceshrimp.Backend.Controllers.Pleroma; namespace Iceshrimp.Backend.Controllers.Pleroma;
@ -24,7 +25,8 @@ namespace Iceshrimp.Backend.Controllers.Pleroma;
public class AdminController( public class AdminController(
DatabaseContext db, DatabaseContext db,
ReportRenderer reportRenderer, ReportRenderer reportRenderer,
NoteRenderer noteRenderer NoteRenderer noteRenderer,
UserRenderer userRenderer
) : ControllerBase ) : ControllerBase
{ {
[HttpGet("/api/v1/pleroma/admin/reports")] [HttpGet("/api/v1/pleroma/admin/reports")]
@ -43,6 +45,16 @@ public class AdminController(
var reportsList = new List<Reports>(); var reportsList = new List<Reports>();
foreach (var r in rendered) 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) foreach (var n in r.Notes)
{ {
var note = await db.Notes var note = await db.Notes
@ -52,8 +64,8 @@ public class AdminController(
reportsList.Add(new Reports() reportsList.Add(new Reports()
{ {
Account = r.TargetUser, Account = reTarget.FirstOrDefault()!,
Actor = r.Reporter, Actor = reActor.FirstOrDefault()!,
Id = r.Id, Id = r.Id,
CreatedAt = r.CreatedAt, CreatedAt = r.CreatedAt,
State = r.Resolved ? "resolved" : "open", State = r.Resolved ? "resolved" : "open",

View file

@ -15,8 +15,8 @@ public class ReportsResponse
public class Reports public class Reports
{ {
[J("account")] public required UserResponse Account { get; set; } [J("account")] public required AccountEntity Account { get; set; }
[J("actor")] public required UserResponse Actor { get; set; } [J("actor")] public required AccountEntity Actor { get; set; }
[J("id")] public required string Id { get; set; } [J("id")] public required string Id { get; set; }
[J("created_at")] public required DateTime CreatedAt { get; set; } [J("created_at")] public required DateTime CreatedAt { get; set; }
[J("state")] public required string State { get; set; } [J("state")] public required string State { get; set; }