import '../local/models/app_settings.dart';
import 'notification_event_producer_service.dart';
import 'notification_inbox_service.dart';
import 'remote_notification_content_service.dart';

/// High-level coordinator for non-prayer notification flows.
class NotificationOrchestratorService {
  NotificationOrchestratorService._();
  static final NotificationOrchestratorService instance =
      NotificationOrchestratorService._();

  Future<void> runPassivePass({
    required AppSettings settings,
  }) async {
    await NotificationInboxService.instance.removeExpired();
    await NotificationEventProducerService.instance.emitStreakRiskIfNeeded(
      settings: settings,
    );
    await NotificationEventProducerService.instance.emitWeeklySummaryIfNeeded(
      settings: settings,
    );
    await RemoteNotificationContentService.instance.sync(settings: settings);
  }
}
