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); }