createUserReport method

Future<String> createUserReport(
  1. String userId,
  2. String type,
  3. RaliPosition position,
  4. Map<String, dynamic> details, {
  5. int? direction,
  6. int? lane,
  7. String suggestedAlternative = 'none',
})

//////////// //////////// Creates a new user-submitted report (passes through to ReportService)

Implementation

// II.D - Report Creation Methods
///////////////
/// Creates a new user-submitted report (passes through to ReportService)
Future<String> createUserReport(
  String userId,
  String type,
  RaliPosition position,
  Map<String, dynamic> details, {
  int? direction,
  int? lane,
  String suggestedAlternative = 'none',
}) async {
  try {
    // Convert RaliPosition to Firestore GeoPoint
    final geoPoint = GeoPoint(position.lat, position.lng);

    return await _reportService.createReport(
      userId,
      type,
      geoPoint,
      details,
      direction: direction,
      lane: lane,
      suggestedAlternative: suggestedAlternative,
    );
  } catch (e) {
    print('Error creating user report: $e');
    rethrow;
  }
}