/// Use Case: Supprimer le compte utilisateur
library delete_account;

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

/// Supprime le compte utilisateur (soft delete via désactivation)
/// Endpoint: POST /api/membres/{id}/desactiver
/// Marque le compte comme inactif au lieu de supprimer les données
@injectable
class DeleteAccount {
  final IProfileRepository _repository;

  DeleteAccount(this._repository);

  /// Exécute le use case
  /// [id] : Identifiant du membre
  /// Lance une suppression de compte (soft delete via désactivation)
  /// L'utilisateur sera déconnecté après cette opération
  Future<void> call(String id) async {
    return _repository.deleteAccount(id);
  }
}
