< Summary

Information
Class: Services.SearchServices.OrderSearch.OrderSearchSyncCheckpoint
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/SearchServices/OrderSearch/IOrderSearchSyncService.cs
Line coverage
100%
Covered lines: 1
Uncovered lines: 0
Coverable lines: 1
Total lines: 29
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_UpdatedAt()100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/SearchServices/OrderSearch/IOrderSearchSyncService.cs

#LineLine coverage
 1namespace Services.SearchServices.OrderSearch;
 2
 123public sealed record OrderSearchSyncCheckpoint(DateTime UpdatedAt, int OrderId);
 4
 5public interface IOrderSearchSyncService
 6{
 7    /// <summary>Переиндексирует один заказ (используется enqueue-путём из OrderChangeNotifier).</summary>
 8    Task SyncOrderAsync(int orderId);
 9
 10    /// <summary>
 11    /// Докатывает в индекс заказы после составного checkpoint (UpdatedAt, Id),
 12    /// постранично, размером батча <paramref name="batchSize"/>. Возвращает checkpoint
 13    /// последнего обработанного заказа или null, если изменений не было.
 14    /// </summary>
 15    Task<OrderSearchSyncCheckpoint?> SyncBatchAsync(
 16        DateTime sinceUtc,
 17        int sinceOrderId,
 18        int batchSize);
 19
 20    /// <summary>Полная переиндексация: пересоздаёт индекс и заливает все заказы заново.</summary>
 21    Task FullReindexAsync();
 22
 23    /// <summary>
 24    /// Точечное исправление расхождения ES↔MySQL: доиндексирует отсутствующие заказы и удаляет сироты в ES.
 25    /// </summary>
 26    Task<OrderSearchDriftRepairResult> RepairDriftAsync(
 27        string trigger,
 28        CancellationToken cancellationToken = default);
 29}

Methods/Properties

get_UpdatedAt()