using TIAM.Models.Dtos.Users; using TIAMWebApp.Shared.Application.Models; using TIAMWebApp.Shared.Application.Models.PageModels; namespace TIAMWebApp.Shared.Application.Interfaces { public interface IUserDataService { public Task IsLoggedInAsync(Guid id); public Task AuthenticateUser(LoginModel loginModel); public Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel); public Task<(bool isSuccess, UserModelDto? user)> CreateGuestUser(RegistrationModel regModel); public Task TestUserApi(int Param); //public Task> GetUserRolesAsync(UserModel userModel); public Task> GetUsersAsync(); public Task> GetUsersWithDetailsAsync(); public Task GetUserByIdAsync(Guid id); public Task GetUserDetailByIdAsync(Guid id); public Task GetUserByEmailAsync(string email); Task RefreshToken(); public Task Logout(string? refreshToken); public Task SendForgottenPasswordMail(string emailAddress); public Task ValidateForgotPasswordToken(Guid userId, string token); public Task SetEmailConfirmed(Guid userId); public Task SendWelcomeMail(string emailAddress); } }