TourIAm/TIAMWebApp/Shared/Interfaces/IUserDataService.cs

37 lines
1.4 KiB
C#

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<UserSessionModel> IsLoggedInAsync(Guid id);
public Task<MainResponse?> AuthenticateUser(LoginModel loginModel);
public Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel);
public Task<(bool isSuccess, UserModelDto? user)> CreateGuestUser(RegistrationModel regModel);
public Task<string> TestUserApi(int Param);
//public Task<Dictionary<int, string>> GetUserRolesAsync(UserModel userModel);
public Task<List<UserModelDto>> GetUsersAsync();
public Task<List<UserModelDtoDetail>> GetUsersWithDetailsAsync();
public Task<UserModelDto?> GetUserByIdAsync(Guid id);
public Task<UserModelDtoDetail?> GetUserDetailByIdAsync(Guid id);
public Task<UserModelDto?> GetUserByEmailAsync(string email);
Task<bool> RefreshToken();
public Task<bool> Logout(string? refreshToken);
public Task<bool> SendForgottenPasswordMail(string emailAddress);
public Task<string> ValidateForgotPasswordToken(Guid userId, string token);
public Task<bool> SetEmailConfirmed(Guid userId);
public Task<bool> SendWelcomeMail(string emailAddress);
}
}