using AsbCloudApp.Data;
using AsbCloudApp.Requests;
using Refit;

namespace AsbCloudWebApi.IntegrationTests.Clients;

public interface IWellOperationClient
{
    private const string BaseRoute = "/api/well/{idWell}/wellOperations";

    [Post(BaseRoute + "/{idType}/{deleteBeforeInsert}")]
    Task<IApiResponse<int>> InsertRangeAsync(int idWell, int idType, bool deleteBeforeInsert, [Body] IEnumerable<WellOperationDto> dtos);

    [Put(BaseRoute + "/{idOperation}")]
    Task<IApiResponse<int>> UpdateAsync(int idWell, int idOperation, [Body] WellOperationDto value, CancellationToken token);

	[Get(BaseRoute + "/plan")]
	Task<IApiResponse<PaginationContainer<WellOperationDto>>> GetPageOperationsPlanAsync(int idWell,
		[Query] WellOperationRequestBase request,
		CancellationToken token);
}