Files
alex 2d9d45d430 Fix frame deduplication and chronological ordering in time series endpoint
- Fix scraping to wait for display label to change after step forward, preventing duplicate minutesAgo values within same folder
- Add hashset-based deduplication by AbsoluteObservationTime across cache folders
- Filter frames that are too close together (< 4 minutes apart)
- Preserve original folder structure while pruning filtered frames
- Sort folders by earliest frame time to maintain chronological order
- Add validation to detect folder overlaps that could cause out-of-order frames
2025-12-08 01:20:09 +10:00

30 lines
924 B
C#

namespace BomLocalService.Models;
/// <summary>
/// Information about the available cache range for a location.
/// Provides oldest and newest cache folder information to help clients understand available historical data.
/// </summary>
public class CacheRange
{
/// <summary>
/// Information about the oldest available cache folder.
/// </summary>
public CacheFolder? OldestCache { get; set; }
/// <summary>
/// Information about the newest available cache folder.
/// </summary>
public CacheFolder? NewestCache { get; set; }
/// <summary>
/// Total number of complete cache folders available.
/// </summary>
public int TotalCacheFolders { get; set; }
/// <summary>
/// The time span between oldest and newest cache (in minutes).
/// Null if there are fewer than 2 cache folders.
/// </summary>
public int? TimeSpanMinutes { get; set; }
}