using DD.Persistence.Models; using DD.Persistence.Models.Common; using Refit; namespace DD.Persistence.Client.Clients.Interfaces.Refit; public interface IRefitTimestampedValuesClient : IRefitClient, IDisposable { private const string baseUrl = "/api/TimestampedSet/{idDiscriminator}"; [Post(baseUrl)] Task> AddRange(Guid idDiscriminator, IEnumerable sets, CancellationToken token); [Get(baseUrl)] Task>> Get(Guid idDiscriminator, [Query] DateTimeOffset? geTimestamp, [Query] IEnumerable? columnNames, int skip, int take, CancellationToken token); [Get($"{baseUrl}/last")] Task>> GetLast(Guid discriminatorId, [Query] IEnumerable? columnNames, int take, CancellationToken token); [Get($"{baseUrl}/count")] Task> Count(Guid discriminatorId, CancellationToken token); [Get($"{baseUrl}/datesRange")] Task> GetDatesRange(Guid discriminatorId, CancellationToken token); [Get($"{baseUrl}/resampled")] Task>> GetResampledData(DateTimeOffset dateBegin, double intervalSec = 600d, int approxPointsCount = 1024, CancellationToken token = default); }