Publisher API

This commit is contained in:
2025-04-19 14:41:34 +08:00
parent f9701764f3
commit 0e3b88c51c
15 changed files with 2105 additions and 26 deletions

View File

@ -14,9 +14,8 @@ public class RelationshipController(AppDatabase db, AccountService accounts) : C
public async Task<ActionResult<List<Relationship>>> ListRelationships([FromQuery] int offset = 0,
[FromQuery] int take = 20)
{
var userIdClaim = User.FindFirst("user_id")?.Value;
long? userId = long.TryParse(userIdClaim, out var id) ? id : null;
if (userId is null) return BadRequest("Invalid or missing user_id claim.");
if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized();
var userId = currentUser.Id;
var totalCount = await db.AccountRelationships
.CountAsync(r => r.Account.Id == userId);
@ -42,12 +41,8 @@ public class RelationshipController(AppDatabase db, AccountService accounts) : C
[Authorize]
public async Task<ActionResult<Relationship>> CreateRelationship([FromBody] RelationshipCreateRequest request)
{
var userIdClaim = User.FindFirst("user_id")?.Value;
long? userId = long.TryParse(userIdClaim, out var id) ? id : null;
if (userId is null) return BadRequest("Invalid or missing user_id claim.");
var currentUser = await db.Accounts.FindAsync(userId.Value);
if (currentUser is null) return BadRequest("Failed to get your current user");
if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized();
var relatedUser = await db.Accounts.FindAsync(request.UserId);
if (relatedUser is null) return BadRequest("Invalid related user");