using Microsoft.AspNetCore.Mvc; using Persistence.Models; using Persistence.Models.Requests; using Refit; namespace Persistence.Client.Clients.Interfaces.Refit { public interface IRefitTechMessagesClient : IDisposable { private const string BaseRoute = "/api/techMessages"; [Get($"{BaseRoute}")] Task>> GetPage([Query] PaginationRequest request, CancellationToken token); [Post($"{BaseRoute}/{{systemId}}")] Task> AddRange(Guid systemId, [Body] IEnumerable dtos, CancellationToken token); [Get($"{BaseRoute}/systems")] Task>> GetSystems(CancellationToken token); [Get($"{BaseRoute}/range")] Task> GetDatesRangeAsync(CancellationToken token); [Get($"{BaseRoute}/part")] Task>> GetPart(DateTimeOffset dateBegin, int take, CancellationToken token); [Get($"{BaseRoute}/statistics")] Task>> GetStatistics([Query] IEnumerable systemIds, [Query] IEnumerable categoryIds, CancellationToken token); } }