From 8251a9ec7d31a4f32d0a5bb33e1beab3f45d8081 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sat, 28 Jun 2025 18:53:04 +0800 Subject: [PATCH] :sparkles: Publisher myself endpoint --- .../Publisher/PublisherController.cs | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/DysonNetwork.Sphere/Publisher/PublisherController.cs b/DysonNetwork.Sphere/Publisher/PublisherController.cs index 28129e6..00e92b1 100644 --- a/DysonNetwork.Sphere/Publisher/PublisherController.cs +++ b/DysonNetwork.Sphere/Publisher/PublisherController.cs @@ -468,4 +468,27 @@ public class PublisherController( return Ok(members); } -} + + [HttpGet("{name}/members/me")] + [Authorize] + public async Task> GetCurrentIdentity(string name) + { + if (HttpContext.Items["CurrentUser"] is not Account.Account currentUser) return Unauthorized(); + var userId = currentUser.Id; + + var publisher = await db.Publishers + .Where(p => p.Name == name) + .FirstOrDefaultAsync(); + if (publisher is null) return NotFound(); + + var member = await db.PublisherMembers + .Where(m => m.AccountId == userId) + .Where(m => m.PublisherId == publisher.Id) + .Include(m => m.Account) + .ThenInclude(m => m.Profile) + .FirstOrDefaultAsync(); + + if (member is null) return NotFound(); + return Ok(member); + } +} \ No newline at end of file