persistence/Persistence/API/IApiSetpoint.cs

48 lines
2.0 KiB
C#
Raw Normal View History

2024-11-08 18:24:52 +05:00
using Microsoft.AspNetCore.Mvc;
using Persistence.Models;
using System.Threading.Tasks;
namespace Persistence.API;
/// <summary>
/// Интерфейс для работы с API, предназначенного для работы с уставками
/// </summary>
public interface IApiSetpoint
{
/// <summary>
/// Получить актуальные значения уставок
/// </summary>
/// <param name="setpoitKeys"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<SetpointValueDto>>> GetCurrentAsync(IEnumerable<Guid> setpoitKeys, CancellationToken token);
/// <summary>
/// Получить значения уставок за определенный момент времени
/// </summary>
/// <param name="setpoitKeys"></param>
/// <param name="historyMoment">дата, на которую получаем данные</param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<SetpointValueDto>> GetHistoryAsync(IEnumerable<Guid> setpoitKeys, DateTimeOffset historyMoment, CancellationToken token);
/// <summary>
/// Получить историю изменений значений уставок
/// </summary>
/// <param name="setpoitKeys"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<Dictionary<Guid, IEnumerable<SetpointLogDto>>> GetLogAsync(IEnumerable<Guid> setpoitKeys, CancellationToken token);
/// <summary>
/// Метод сохранения уставки
/// </summary>
/// <param name="setpointKey">ключ операции</param>
/// <param name="newValue">значение</param>
/// <param name="token"></param>
/// <returns></returns>
/// to do
/// id User учесть в соответствующем методе репозитория
Task<int> SaveAsync(Guid setpointKey, object newValue, CancellationToken token);
}