using System.Diagnostics.CodeAnalysis;
using OliverBooth.Data.Web;
namespace OliverBooth.Services;
///
/// Represents a service for managing users.
///
public interface IUserService
{
///
/// Attempts to find a user with the specified ID.
///
/// The ID of the user to find.
///
/// When this method returns, contains the user with the specified ID, if the user is found; otherwise,
/// .
///
///
/// if a user with the specified ID is found; otherwise, .
///
bool TryGetUser(Guid id, [NotNullWhen(true)] out IUser? user);
///
/// Verifies the login information of the specified user.
///
/// The email address.
/// The password.
///
/// When this method returns, contains the user associated with the login credentials, or
/// if the credentials are invalid.
///
///
/// if the login credentials are valid; otherwise, .
///
public bool VerifyLogin(string email, string password, [NotNullWhen(true)] out IUser? user);
}