using AsbCloudApp.Data;
using AsbCloudApp.Data.DrillTestReport;
using AsbCloudApp.Data.SAUB;
using AsbCloudApp.Requests;
using Microsoft.AspNetCore.Mvc;
using Refit;

namespace AsbCloudWebApi.IntegrationTests.Clients;

public interface IDrillTestControllerClient
{
    [Post("/api/telemetry/{uid}/DrillTest")]
    Task<IApiResponse> PostDataAsync(
        string uid,
        IEnumerable<DrillTestBaseDto> dtos,
        CancellationToken token);

    [Get("/api/well/{idWell}/DrillTest")]
    Task<IApiResponse<PhysicalFileResult>> GenerateReportAsync(
        int idWell,
        int id,
        CancellationToken cancellationToken);

    [Get("/api/well/{idWell}/DrillTest/all")]
    Task<IApiResponse<PaginationContainer<DrillTestReportInfoDto>>> GetListAsync(
        int idWell,
        FileReportRequest request,
        CancellationToken cancellationToken);
}