MotorSignal-App/lib/services/alerts/swarm_road_alert_provider.dart

47 lines
1.2 KiB
Dart

import 'road_alert_models.dart';
import 'road_alert_provider_interface.dart';
import 'swarm_road_alert_service.dart';
class SwarmRoadAlertProvider implements RoadAlertProvider {
final SwarmRoadAlertService _service;
SwarmRoadAlertProvider(this._service);
@override
String get id => 'swarm_alerts';
@override
String get name => 'MotorSignal Rider Swarm';
@override
Set<RoadAlertCategory> get supportedCategories => const {
RoadAlertCategory.police,
RoadAlertCategory.hazard,
RoadAlertCategory.accident,
RoadAlertCategory.speedCamera,
RoadAlertCategory.roadClosure,
RoadAlertCategory.construction,
RoadAlertCategory.traffic,
RoadAlertCategory.other,
};
@override
Future<RoadAlertProviderStatus> testConnection(String apiKey) async {
return RoadAlertProviderStatus.connected;
}
@override
Future<List<RoadAlert>> getAlerts({
required double latitude,
required double longitude,
required double radiusMeters,
String? apiKey,
}) async {
return _service.getAlertsNear(
latitude: latitude,
longitude: longitude,
radiusMeters: radiusMeters,
);
}
}