using AsbCloudApp.Data; using AsbCloudApp.Data.WellOperation; using AsbCloudApp.Requests; using Microsoft.AspNetCore.Mvc; using Refit; namespace AsbCloudWebApi.IntegrationTests.Clients; public interface IWellOperationClient { private const string BaseRoute = "/api/well/{idWell}/wellOperations"; [Post(BaseRoute + "/{deleteBeforeInsert}")] Task<IApiResponse<int>> InsertRangeAsync(int idWell, bool deleteBeforeInsert, [Body] IEnumerable<WellOperationDto> dtos); [Put(BaseRoute)] Task<IApiResponse<int>> UpdateRangeAsync(int idWell, [Body] IEnumerable<WellOperationDto> dtos); [Get(BaseRoute)] Task<IApiResponse<PaginationContainer<WellOperationDto>>> GetPageOperationsAsync(int idWell, [Query] WellOperationRequestBase request); [Multipart] [Post(BaseRoute + "/parse/{idType}")] Task<IApiResponse<ParserResultDto<WellOperationDto>>> ParseAsync(int idWell, int idType, [AliasAs("file")] StreamPart file); [Get(BaseRoute + "/export")] Task<IApiResponse<PhysicalFileResult>> ExportAsync(int idWell, int idType); [Get(BaseRoute + "/template")] Task<IApiResponse<Stream>> GetTemplate(int idWell, int idType); [Get(BaseRoute + "/categories")] Task<IApiResponse<IEnumerable<WellOperationCategoryDto>>> GetCategories(int idWell, bool includeParents, bool includeHidden); }