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

namespace AsbCloudWebApi.IntegrationTests.Clients;

public interface IDetectedOperationClient
{
   private const string BaseRoute = "/api/well/{idWell}/DetectedOperation";

   [Post(BaseRoute)]
   Task<IApiResponse<int>> InsertRangeAsync(int idWell, IEnumerable<DetectedOperationDto> dtos);

   [Put(BaseRoute)]
   Task<IApiResponse<int>> UpdateRangeAsync(int idWell, IEnumerable<DetectedOperationDto> dtos);

   [Delete(BaseRoute)]
   Task<IApiResponse<int>> DeleteRangeAsync(int idWell, [Body] IEnumerable<int> ids);

   [Get(BaseRoute)]
   Task<IApiResponse<PaginationContainer<DetectedOperationDto>>> GetAsync(int idWell, [Query] DetectedOperationRequest request);
}