feat(dal,api): IMatchingStatusService - управление статусами matcher`a. Отображение статусов в АПИ, нельзя повторно из апи отправить задание мэтчеру если сейчас идет matching

This commit is contained in:
Mikhail Trubnikov
2026-01-16 11:04:26 +10:00
parent 3205c1db8e
commit 99a491ede8
14 changed files with 303 additions and 91 deletions

View File

@@ -0,0 +1,38 @@
using PARR.Constants;
using PARR.DAL.Cache.Models;
using PARR.DAL.DomainModels;
namespace PARR.DAL.DomainServices.Interfaces
{
/// <summary>
/// Сервис по управлению статусом Matching`a
/// </summary>
public interface IMatchingStatusService
{
/// <summary>
/// Получить статус matching`a
/// </summary>
/// <param name="objectId"></param>
/// <param name="type"></param>
/// <returns></returns>
Task<MatchingStatus> GetStatusAsync(Guid objectId, SyncTaskEntityTypeEnum type);
/// <summary>
/// Установить/обновить статус matching`a
/// </summary>
/// <param name="objectId"></param>
/// <param name="type"></param>
/// <param name="data"></param>
/// <param name="cacheDuration"></param>
/// <returns></returns>
Task SetMatchingStatusAsync(Guid objectId, SyncTaskEntityTypeEnum type, MatchingStatusItem data, TimeSpan cacheDuration);
/// <summary>
/// Удалить статус matching`a
/// </summary>
/// <param name="objectId"></param>
/// <param name="type"></param>
/// <returns></returns>
Task DeleteMatchingStatusAsync(Guid objectId, SyncTaskEntityTypeEnum type);
}
}