26 lines
593 B
Dart
26 lines
593 B
Dart
import '../domain/app_settings.dart';
|
|
import '../domain/course_occurrence.dart';
|
|
|
|
enum ReminderStatus { off, permissionDenied, exact, inexact, error }
|
|
|
|
class ReminderResult {
|
|
const ReminderResult(
|
|
this.status, {
|
|
this.scheduledCount = 0,
|
|
this.message = '',
|
|
});
|
|
final ReminderStatus status;
|
|
final int scheduledCount;
|
|
final String message;
|
|
}
|
|
|
|
abstract class NotificationService {
|
|
Future<ReminderResult> reconcile(
|
|
List<CourseOccurrence> occurrences,
|
|
AppSettings settings,
|
|
DateTime now,
|
|
);
|
|
Future<void> requestPermissions();
|
|
Future<void> cancelOwned();
|
|
}
|