using CredentialManager.Models;
namespace CredentialManager.Services;
///
/// Interfaccia per il servizio di gestione dei profili Data Coupler
///
public interface IDataCouplerProfileService
{
///
/// Ottiene tutti i profili attivi
///
Task> GetAllProfilesAsync();
///
/// Ottiene tutti i profili per nome (inclusi quelli inattivi)
///
Task GetProfileByNameIncludingInactiveAsync(string name);
///
/// Ottiene un profilo per ID
///
Task GetProfileByIdAsync(int id);
///
/// Ottiene un profilo per nome
///
Task GetProfileByNameAsync(string name);
///
/// Salva un nuovo profilo
///
Task SaveProfileAsync(DataCouplerProfile profile);
///
/// Aggiorna un profilo esistente
///
Task UpdateProfileAsync(DataCouplerProfile profile);
///
/// Elimina un profilo
///
Task DeleteProfileAsync(int id);
///
/// Aggiorna la data di ultimo utilizzo di un profilo
///
Task UpdateLastUsedAsync(int id);
///
/// Verifica se esiste un profilo con il nome specificato
///
Task ProfileExistsAsync(string name, int? excludeId = null);
}