Compare commits
2 Commits
8af2dddb45
...
fcab12f175
Author | SHA1 | Date | |
---|---|---|---|
|
fcab12f175 | ||
|
f5b04fa745 |
@@ -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)
|
||||||
|
@@ -130,6 +130,23 @@ public class ChatRoomController(
|
|||||||
return Ok(dmRoom);
|
return Ok(dmRoom);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet("direct/{userId:guid}")]
|
||||||
|
[Authorize]
|
||||||
|
public async Task<ActionResult<ChatRoom>> GetDirectChatRoom(Guid userId)
|
||||||
|
{
|
||||||
|
if (HttpContext.Items["CurrentUser"] is not Account.Account currentUser)
|
||||||
|
return Unauthorized();
|
||||||
|
|
||||||
|
var room = await db.ChatRooms
|
||||||
|
.Include(c => c.Members)
|
||||||
|
.Where(c => c.Type == ChatRoomType.DirectMessage && c.Members.Count == 2)
|
||||||
|
.Where(c => c.Members.Any(m => m.AccountId == currentUser.Id))
|
||||||
|
.Where(c => c.Members.Any(m => m.AccountId == userId))
|
||||||
|
.FirstOrDefaultAsync();
|
||||||
|
if (room is null) return NotFound();
|
||||||
|
|
||||||
|
return Ok(room);
|
||||||
|
}
|
||||||
|
|
||||||
public class ChatRoomRequest
|
public class ChatRoomRequest
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user