From e1483e9f90ef506444a75499768ec0d7c27bfdc8 Mon Sep 17 00:00:00 2001 From: "Emma [it/its]@Rory&" Date: Thu, 10 Apr 2025 17:12:53 +0200 Subject: Further admin api work --- .../Controllers/Media/UserMediaController.cs | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 extra/admin-api/Spacebar.AdminAPI/Controllers/Media/UserMediaController.cs (limited to 'extra/admin-api/Spacebar.AdminAPI/Controllers/Media/UserMediaController.cs') diff --git a/extra/admin-api/Spacebar.AdminAPI/Controllers/Media/UserMediaController.cs b/extra/admin-api/Spacebar.AdminAPI/Controllers/Media/UserMediaController.cs new file mode 100644 index 000000000..a06d110bb --- /dev/null +++ b/extra/admin-api/Spacebar.AdminAPI/Controllers/Media/UserMediaController.cs @@ -0,0 +1,27 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using Spacebar.AdminApi.Models; +using Spacebar.Db.Contexts; +using Spacebar.Db.Models; +using Spacebar.RabbitMqUtilities; + +namespace Spacebar.AdminAPI.Controllers.Media; + +[ApiController] +[Route("/media/user")] +public class UserMediaController(ILogger logger, SpacebarDbContext db, RabbitMQService mq, IServiceProvider sp) : ControllerBase { + + [HttpGet("{userId}/attachments")] + public async IAsyncEnumerable GetAttachmentsByUser(string userId) { + var db2 = sp.CreateScope().ServiceProvider.GetService(); + var attachments = db.Attachments + // .IgnoreAutoIncludes() + .Where(x => x.Message!.AuthorId == userId) + .AsAsyncEnumerable(); + await foreach (var attachment in attachments) { + attachment.Message = await db2.Messages.FindAsync(attachment.MessageId); + // attachment.Message.Author = await db2.Users.FindAsync(attachment.Message.AuthorId); + yield return attachment; + } + } +} \ No newline at end of file -- cgit 1.5.1