using DD.Persistence.Models; using DD.Persistence.Models.Requests; using Refit; namespace DD.Persistence.Client.Clients.Interfaces.Refit; public interface IRefitChangeLogClient : IDisposable { private const string BaseRoute = "/api/ChangeLog"; [Post($"{BaseRoute}/replace/{{idDiscriminator}}")] Task<IApiResponse<int>> ClearAndAddRange(Guid idDiscriminator, IEnumerable<DataWithWellDepthAndSectionDto> dtos, CancellationToken token); [Get($"{BaseRoute}/moment/{{idDiscriminator}}")] Task<IApiResponse<PaginationContainer<DataWithWellDepthAndSectionDto>>> GetByDate( Guid idDiscriminator, DateTimeOffset moment, [Query] SectionPartRequest filterRequest, [Query] PaginationRequest paginationRequest, CancellationToken token); [Get($"{BaseRoute}/history/{{idDiscriminator}}")] Task<IApiResponse<IEnumerable<ChangeLogDto>>> GetChangeLogForInterval(Guid idDiscriminator, DateTimeOffset dateBegin, DateTimeOffset dateEnd, CancellationToken token); [Post($"{BaseRoute}/{{idDiscriminator}}")] Task<IApiResponse<int>> Add(Guid idDiscriminator, DataWithWellDepthAndSectionDto dto, CancellationToken token); [Post($"{BaseRoute}/range/{{idDiscriminator}}")] Task<IApiResponse<int>> AddRange(Guid idDiscriminator, IEnumerable<DataWithWellDepthAndSectionDto> dtos, CancellationToken token); [Put($"{BaseRoute}")] Task<IApiResponse<int>> Update(DataWithWellDepthAndSectionDto dto, CancellationToken token); [Put($"{BaseRoute}/range")] Task<IApiResponse<int>> UpdateRange(IEnumerable<DataWithWellDepthAndSectionDto> dtos, CancellationToken token); [Delete($"{BaseRoute}")] Task<IApiResponse<int>> Delete(Guid id, CancellationToken token); [Delete($"{BaseRoute}/range")] Task<IApiResponse<int>> DeleteRange([Body] IEnumerable<Guid> ids, CancellationToken token); [Get($"{BaseRoute}/datesRange/{{idDiscriminator}}")] Task<IApiResponse<DatesRangeDto?>> GetDatesRange(Guid idDiscriminator, CancellationToken token); }