25 lines
878 B
Dart
25 lines
878 B
Dart
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);
|
|
}
|
|
}
|