🐛 Chat related two bug fixes
This commit is contained in:
@@ -19,6 +19,7 @@ public class RealtimeCallController(
|
|||||||
IConfiguration configuration,
|
IConfiguration configuration,
|
||||||
AppDatabase db,
|
AppDatabase db,
|
||||||
ChatService cs,
|
ChatService cs,
|
||||||
|
ChatRoomService crs,
|
||||||
IRealtimeService realtime
|
IRealtimeService realtime
|
||||||
) : ControllerBase
|
) : ControllerBase
|
||||||
{
|
{
|
||||||
@@ -64,6 +65,7 @@ public class RealtimeCallController(
|
|||||||
.Include(c => c.Sender)
|
.Include(c => c.Sender)
|
||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
if (ongoingCall is null) return NotFound();
|
if (ongoingCall is null) return NotFound();
|
||||||
|
ongoingCall.Sender = await crs.LoadMemberAccount(ongoingCall.Sender);
|
||||||
return Ok(ongoingCall);
|
return Ok(ongoingCall);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@ using Grpc.Core;
|
|||||||
|
|
||||||
namespace DysonNetwork.Sphere.Connection;
|
namespace DysonNetwork.Sphere.Connection;
|
||||||
|
|
||||||
public class WebSocketHandlerGrpc(PusherService.PusherServiceClient pusher, ChatRoomService crs)
|
public class WebSocketHandlerGrpc(PusherService.PusherServiceClient pusher, ChatRoomService crs, ChatService cs)
|
||||||
: PusherHandlerService.PusherHandlerServiceBase
|
: PusherHandlerService.PusherHandlerServiceBase
|
||||||
{
|
{
|
||||||
public override async Task<Empty> ReceiveWebSocketPacket(
|
public override async Task<Empty> ReceiveWebSocketPacket(
|
||||||
@@ -34,8 +34,10 @@ public class WebSocketHandlerGrpc(PusherService.PusherServiceClient pusher, Chat
|
|||||||
|
|
||||||
if (packet.Data == null)
|
if (packet.Data == null)
|
||||||
{
|
{
|
||||||
await SendErrorResponse(request,
|
await SendErrorResponse(
|
||||||
"Mark message as read requires you to provide the ChatRoomId and MessageId");
|
request,
|
||||||
|
"Mark message as read requires you to provide the ChatRoomId"
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -57,10 +59,7 @@ public class WebSocketHandlerGrpc(PusherService.PusherServiceClient pusher, Chat
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var readReceipt = new MessageReadReceipt { SenderId = sender.Id };
|
await cs.ReadChatRoomAsync(Guid.Parse(currentUser.Id), requestData.ChatRoomId);
|
||||||
|
|
||||||
var bufferService = context.GetHttpContext().RequestServices.GetRequiredService<FlushBufferService>();
|
|
||||||
bufferService.Enqueue(readReceipt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task HandleMessageTyping(ReceiveWebSocketPacketRequest request, ServerCallContext context)
|
private async Task HandleMessageTyping(ReceiveWebSocketPacketRequest request, ServerCallContext context)
|
||||||
|
Reference in New Issue
Block a user