using System.Collections.Generic; using System.Security.Cryptography; using System.Threading.Tasks; using app.Model.DTOs; using app.Share.Common; namespace app.Interface.Services { public interface IAuthService { Task> GetAllAuthUsersAsync(); Task GetFilteredAuthUsersAsync(AuthUserSelectCriterion selectCriterion); Task GetAuthUserByEMailAsync(string email); Task FindAuthUserByEMailAsync(string email); Task AddAuthUserAsync(AuthUserDTO userDTO); Task ConfirmEMail(string id); Task Login(AuthUserDTO userDTO); Task ForgotPassword(string email); Task ConfirmForgotPassword(string id); Task ResetPassword(ResetPasswordDTO rpDTO); Task UpdateUser(UpdateUserDTO updateUserDTO); Task UpdateUserAsAdmin(AdminUpdateUserDTO updateUserDTO); Task Refresh(TokenDTO tokenDTO); Task Revoke(TokenDTO tokenDTO); Task DeleteAuthUserByEMailAsync(string email); Task DeleteAuthUserAsync(AuthUserDTO userDTO); } }