summary refs log tree commit diff
path: root/extra/admin-api/Spacebar.AdminAPI/Controllers
diff options
context:
space:
mode:
authorEmma [it/its]@Rory& <root@rory.gay>2025-04-10 17:12:53 +0200
committerEmma [it/its]@Rory& <root@rory.gay>2025-10-05 21:34:42 +0200
commite1483e9f90ef506444a75499768ec0d7c27bfdc8 (patch)
tree9f2db36f9a4ffd169f89e3d4d3a66cb72015370e /extra/admin-api/Spacebar.AdminAPI/Controllers
parentLocal changes (diff)
downloadserver-ts-e1483e9f90ef506444a75499768ec0d7c27bfdc8.tar.xz
Further admin api work
Diffstat (limited to 'extra/admin-api/Spacebar.AdminAPI/Controllers')
-rw-r--r--extra/admin-api/Spacebar.AdminAPI/Controllers/Media/UserMediaController.cs27
-rw-r--r--extra/admin-api/Spacebar.AdminAPI/Controllers/UserController.cs7
2 files changed, 34 insertions, 0 deletions
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<UserMediaController> logger, SpacebarDbContext db, RabbitMQService mq, IServiceProvider sp) : ControllerBase { + + [HttpGet("{userId}/attachments")] + public async IAsyncEnumerable<Attachment> GetAttachmentsByUser(string userId) { + var db2 = sp.CreateScope().ServiceProvider.GetService<SpacebarDbContext>(); + 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 diff --git a/extra/admin-api/Spacebar.AdminAPI/Controllers/UserController.cs b/extra/admin-api/Spacebar.AdminAPI/Controllers/UserController.cs
index 3b753ebde..620382e1f 100644 --- a/extra/admin-api/Spacebar.AdminAPI/Controllers/UserController.cs +++ b/extra/admin-api/Spacebar.AdminAPI/Controllers/UserController.cs
@@ -146,6 +146,13 @@ public class UserController(ILogger<UserController> logger, SpacebarDbContext db yield break; } + user.Data = "{}"; + user.Deleted = true; + user.Disabled = true; + user.Rights = 0; + db.Users.Update(user); + await db.SaveChangesAsync(); + var factory = new ConnectionFactory { Uri = new Uri("amqp://guest:guest@127.0.0.1/") };