Get user's relationship API one to one

This commit is contained in:
LittleSheep 2025-06-14 11:49:20 +08:00
parent 8af2dddb45
commit f5b04fa745

View File

@ -65,7 +65,8 @@ public class RelationshipController(AppDatabase db, RelationshipService rels) :
[HttpPost("{userId:guid}")] [HttpPost("{userId:guid}")]
[Authorize] [Authorize]
public async Task<ActionResult<Relationship>> CreateRelationship(Guid userId, [FromBody] RelationshipRequest request) public async Task<ActionResult<Relationship>> CreateRelationship(Guid userId,
[FromBody] RelationshipRequest request)
{ {
if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized();
@ -87,7 +88,8 @@ public class RelationshipController(AppDatabase db, RelationshipService rels) :
[HttpPatch("{userId:guid}")] [HttpPatch("{userId:guid}")]
[Authorize] [Authorize]
public async Task<ActionResult<Relationship>> UpdateRelationship(Guid userId, [FromBody] RelationshipRequest request) public async Task<ActionResult<Relationship>> UpdateRelationship(Guid userId,
[FromBody] RelationshipRequest request)
{ {
if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized();
@ -106,6 +108,18 @@ public class RelationshipController(AppDatabase db, RelationshipService rels) :
} }
} }
[HttpGet("{userId:guid}")]
[Authorize]
public async Task<ActionResult<Relationship>> GetRelationship(Guid userId)
{
if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized();
var relationship = await rels.GetRelationship(currentUser.Id, userId);
if (relationship is null) return NotFound();
return relationship;
}
[HttpPost("{userId:guid}/friends")] [HttpPost("{userId:guid}/friends")]
[Authorize] [Authorize]
public async Task<ActionResult<Relationship>> SendFriendRequest(Guid userId) public async Task<ActionResult<Relationship>> SendFriendRequest(Guid userId)