/// Use Case: Mettre à jour la configuration système
library update_settings;

import 'package:injectable/injectable.dart';
import '../repositories/system_config_repository.dart';
import '../../data/models/system_config_model.dart';

/// Met à jour la configuration système
///
/// Use case pour modifier les paramètres de configuration système
/// Endpoint: PUT /api/system/config
@injectable
class UpdateSettings {
  final ISystemConfigRepository _repository;

  UpdateSettings(this._repository);

  /// Exécute le use case
  /// [config] : Map contenant les paramètres à mettre à jour
  /// Retourne la configuration mise à jour
  Future<SystemConfigModel> call(Map<String, dynamic> config) async {
    return _repository.updateConfig(config);
  }
}
