using GermanApp.Application.DTOs.Auth; using GermanApp.Domain.Entities; namespace GermanApp.Application.Interfaces; /// /// Interface for authentication services. /// Part of the Application layer. /// public interface IAuthService { /// /// Registers a new user. /// /// User registration data /// Authentication response with token Task RegisterAsync(RegisterDto registerDto); /// /// Authenticates a user and returns a JWT token. /// /// User login data /// Authentication response with token Task LoginAsync(LoginDto loginDto); /// /// Gets the current authenticated user. /// /// User ID from token claims /// The user entity Task GetCurrentUserAsync(int userId); }