using Extrudex.Domain.DTOs.Moonraker; namespace Extrudex.Domain.Interfaces; /// /// Service interface for syncing Moonraker printer data into the Extrudex database. /// Handles periodic polling of printer status and mapping print job history /// to PrintJob and FilamentUsage entities. /// public interface IMoonrakerPrinterSyncService { /// /// Performs a single sync cycle: queries all active Moonraker printers, /// fetches their current status and print job history, and persists /// updates to the database. /// /// Cancellation token for graceful shutdown. /// The number of printers successfully synced. Task SyncAllAsync(CancellationToken cancellationToken = default); }