add PostDocumentRequest

This commit is contained in:
tekh 2025-08-15 15:41:53 +02:00
parent aaaaf283ee
commit 6044d0bcb6
3 changed files with 36 additions and 2 deletions

View File

@ -8,4 +8,8 @@ public interface IEConnectClient<TError> where TError : class
public Task<Response<IAsyncEnumerable<TData?>, TError>> GetListAsAsyncEnumerable<TData>(string? route = null, object? queryParams = null, CancellationToken cancel = default) public Task<Response<IAsyncEnumerable<TData?>, TError>> GetListAsAsyncEnumerable<TData>(string? route = null, object? queryParams = null, CancellationToken cancel = default)
where TData : class; where TData : class;
public Task<Response<TError>> PostAsync(string? route = null, object? queryParams = null, CancellationToken cancel = default);
public Task<Response<TError>> PostAsync(StreamContent content, string? route = null, object? queryParams = null, CancellationToken cancel = default);
} }

View File

@ -0,0 +1,30 @@
using Leanetec.EConnect.Client.Dto;
using Leanetec.EConnect.Client.Interface;
using Leanetec.EConnect.Domain.Entities;
using MediatR;
namespace Leanetec.EConnect.Client.Order;
public record PostDocumentRequest(string TenantId, int OrderId, StreamContent Content) : HttpRequest<Response<ProblemDetail>>
{
}
public class PostDocumentRequestHandler : IRequestHandler<PostDocumentRequest, Response<ProblemDetail>>
{
private readonly IEConnectClient<ProblemDetail> _client;
public PostDocumentRequestHandler(IEConnectClient<ProblemDetail> client)
{
_client = client;
}
public async Task<Response<ProblemDetail>> Handle(PostDocumentRequest request, CancellationToken cancel)
{
return await _client.PostAsync(
request.Content,
$"api/public/v{request.ApiVersion}/econnect/order/document/list",
new { request.TenantId, request.OrderId },
cancel
);
}
}

View File

@ -90,7 +90,7 @@ public class EConnectClient<TError> : IEConnectClient<TError> where TError : cl
} }
} }
public async Task<Response<TData, TError>> PostAsync<TData>(string? route = null, object? queryParams = null, CancellationToken cancel = default) public async Task<Response<TError>> PostAsync(string? route = null, object? queryParams = null, CancellationToken cancel = default)
where TData : class where TData : class
{ {
route = AddQueryString(route, queryParams); route = AddQueryString(route, queryParams);
@ -117,7 +117,7 @@ public class EConnectClient<TError> : IEConnectClient<TError> where TError : cl
} }
} }
public async Task<Response<TData, TError>> PostAsync<TData>(StreamContent content, string? route = null, object? queryParams = null, CancellationToken cancel = default) public async Task<Response<TError>> PostAsync(StreamContent content, string? route = null, object? queryParams = null, CancellationToken cancel = default)
where TData : class where TData : class
{ {
route = AddQueryString(route, queryParams); route = AddQueryString(route, queryParams);