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 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; } } }