/// Use Case: Récupérer les rapports programmés
library get_scheduled_reports;

import 'package:injectable/injectable.dart';
import '../repositories/reports_repository.dart';

/// Récupère la liste des rapports programmés pour l'utilisateur
@injectable
class GetScheduledReports {
  final IReportsRepository _repository;

  GetScheduledReports(this._repository);

  /// Exécute le use case
  /// Retourne une liste de rapports programmés avec leur configuration
  /// Exemple: [{ "id": "1", "type": "membres", "cronExpression": "0 0 1 * *", "active": true }]
  /// Endpoint: GET /api/v1/analytics/reports/scheduled
  Future<List<Map<String, dynamic>>> call() async {
    return _repository.getScheduledReports();
  }
}
