using Rs_system.Models;
using Rs_system.Models.ViewModels;
namespace Rs_system.Services;
public interface IAuthService
{
///
/// Validates user credentials and returns the user if valid
///
Task ValidateUserAsync(string username, string password);
///
/// Registers a new user
///
Task<(bool Success, string Message, Usuario? User)> RegisterUserAsync(RegisterViewModel model);
///
/// Gets the roles for a user
///
Task> GetUserRolesAsync(long userId);
///
/// Updates the last login timestamp
///
Task UpdateLastLoginAsync(long userId);
///
/// Checks if a user has a specific permission
///
Task HasPermissionAsync(long userId, string permissionCode);
}