// src/Webshop.Application/Services/Admin/Interfaces/IAdminUserService.cs
using System.Collections.Generic;
using System.Threading.Tasks;
using Webshop.Application.DTOs.Users;
namespace Webshop.Application.Services.Admin.Interfaces
{
///
/// Definiert den Vertrag für den Dienst zur Verwaltung von Benutzern durch einen Admin.
///
public interface IAdminUserService
{
///
/// Ruft eine Liste aller Benutzer mit ihren zugehörigen Daten ab.
///
Task> GetAllUsersAsync();
///
/// Ruft einen einzelnen Benutzer anhand seiner ID ab.
///
Task GetUserByIdAsync(string userId);
///
/// Aktualisiert die Rollen eines bestimmten Benutzers.
///
Task UpdateUserRolesAsync(string userId, List newRoles);
///
/// Löscht einen Benutzer und alle seine abhängigen Daten (Kundenprofil, Bestellungen etc.).
///
Task DeleteUserAsync(string userId);
}
}