23 lines
748 B
Dart
23 lines
748 B
Dart
/// Use Case: Programmer un rapport automatique
|
|
library schedule_report;
|
|
|
|
import 'package:injectable/injectable.dart';
|
|
import '../repositories/reports_repository.dart';
|
|
|
|
/// Programme un rapport pour génération automatique récurrente
|
|
@injectable
|
|
class ScheduleReport {
|
|
final IReportsRepository _repository;
|
|
|
|
ScheduleReport(this._repository);
|
|
|
|
/// Exécute le use case
|
|
/// [cronExpression] : Expression cron optionnelle pour la récurrence
|
|
/// Exemples: "0 0 1 * *" (1er de chaque mois à minuit)
|
|
/// "0 9 * * 1" (tous les lundis à 9h)
|
|
/// Endpoint: POST /api/v1/analytics/reports/schedule
|
|
Future<void> call({String? cronExpression}) async {
|
|
return _repository.scheduleReport(cronExpression: cronExpression);
|
|
}
|
|
}
|