Polish navigation, Quran flows, and sharing UX
This commit is contained in:
24
lib/data/services/notification_orchestrator_service.dart
Normal file
24
lib/data/services/notification_orchestrator_service.dart
Normal file
@@ -0,0 +1,24 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user