29 lines
984 B
C#
29 lines
984 B
C#
using Grpc.Core;
|
|
using IM.Protocols.Grpc.Conversation;
|
|
using MessageService.WebApi.Application.Conversation;
|
|
|
|
namespace MessageService.WebApi.Services
|
|
{
|
|
public class ConversationIntegrationService:ConversationInternal.ConversationInternalBase
|
|
{
|
|
private readonly ConversationService service;
|
|
|
|
public ConversationIntegrationService(ConversationService service)
|
|
{
|
|
this.service = service;
|
|
}
|
|
public override async Task<UserStreamKeysResponse> GetUserStreamKeys(GetUserStreamKeysRequest request, ServerCallContext context)
|
|
{
|
|
var res = await service.GetStreamkeysAsync(Guid.Parse(request.UserId));
|
|
if (!res.Succeeded)
|
|
{
|
|
throw new RpcException(new Status(StatusCode.InvalidArgument, res.Message));
|
|
}
|
|
|
|
var response = new UserStreamKeysResponse();
|
|
response.StreamKeys.AddRange(res.Data);
|
|
return response;
|
|
}
|
|
}
|
|
}
|