feat(client): Implementierung von GetDocumentRequestHandler mit IEConnectClient-Integration

This commit is contained in:
tekh 2025-08-15 11:19:50 +02:00
parent 65d59c6c67
commit f994781713
2 changed files with 17 additions and 5 deletions

View File

@ -4,7 +4,7 @@ namespace Leanetec.EConnect.Client.Dto;
public record HttpRequestBase public record HttpRequestBase
{ {
public int? ApiVersion { get; set; } public int ApiVersion { get; set; } = 1;
} }
public record HttpRequest : HttpRequestBase, IRequest public record HttpRequest : HttpRequestBase, IRequest

View File

@ -1,17 +1,29 @@
using Leanetec.EConnect.Client.Dto; using Leanetec.EConnect.Client.Dto;
using Leanetec.EConnect.Client.Interface;
using Leanetec.EConnect.Domain.Entities; using Leanetec.EConnect.Domain.Entities;
using MediatR; using MediatR;
namespace Leanetec.EConnect.Client.Order; namespace Leanetec.EConnect.Client.Order;
public record GetDocumentRequest(string TenantId, int OrderId) : HttpRequest<OrderDocument> public record GetDocumentRequest(string TenantId, int OrderId) : HttpRequest<Response<OrderDocument, ProblemDetail>>
{ {
} }
public class GetDocumentRequestHandler : IRequestHandler<GetDocumentRequest, OrderDocument> public class GetDocumentRequestHandler : IRequestHandler<GetDocumentRequest, Response<OrderDocument, ProblemDetail>>
{ {
public Task<OrderDocument> Handle(GetDocumentRequest request, CancellationToken cancellationToken) private readonly IEConnectClient<ProblemDetail> _client;
public GetDocumentRequestHandler(IEConnectClient<ProblemDetail> client)
{ {
throw new NotImplementedException(); _client = client;
}
public async Task<Response<OrderDocument, ProblemDetail>> Handle(GetDocumentRequest request, CancellationToken cancel)
{
return await _client.GetAsync<OrderDocument>(
route: $"api/public/v{request.ApiVersion}/econnect/order/document/list",
queryParams: new { request.TenantId, request.OrderId },
cancel: cancel
);
} }
} }