getuserbyemail fix
This commit is contained in:
parent
a9febbf7a0
commit
a7ba221183
|
|
@ -1,5 +1,6 @@
|
||||||
using System.Net.Http.Json;
|
using System.Net.Http.Json;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Text.Json;
|
||||||
using AyCode.Interfaces.StorageHandlers;
|
using AyCode.Interfaces.StorageHandlers;
|
||||||
using AyCode.Services.Loggers;
|
using AyCode.Services.Loggers;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
@ -20,9 +21,8 @@ namespace TIAMMobileApp.Services
|
||||||
private readonly HttpClient http;
|
private readonly HttpClient http;
|
||||||
private readonly ISecureStorageHandler secureStorageHandler;
|
private readonly ISecureStorageHandler secureStorageHandler;
|
||||||
private readonly IServiceProviderDataService serviceProviderDataService;
|
private readonly IServiceProviderDataService serviceProviderDataService;
|
||||||
private readonly ILogger _logger;
|
private readonly LoggerClient<UserDataServiceMobile> _logger;
|
||||||
|
|
||||||
public Dictionary<int, string> userRoleTypes { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
|
||||||
|
|
||||||
public UserDataServiceMobile(HttpClient http, ISecureStorageHandler secureStorageHandler, IServiceProviderDataService serviceProviderDataService, IEnumerable<IAcLogWriterClientBase> logWriters)
|
public UserDataServiceMobile(HttpClient http, ISecureStorageHandler secureStorageHandler, IServiceProviderDataService serviceProviderDataService, IEnumerable<IAcLogWriterClientBase> logWriters)
|
||||||
{
|
{
|
||||||
|
|
@ -183,16 +183,46 @@ namespace TIAMMobileApp.Services
|
||||||
|
|
||||||
public async Task<UserModelDto?> GetUserByEmailAsync(string email)
|
public async Task<UserModelDto?> GetUserByEmailAsync(string email)
|
||||||
{
|
{
|
||||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}";
|
|
||||||
|
|
||||||
_logger.Info("GetUserByEmailAsync url: " + url + ", " + email);
|
|
||||||
//GlobalLogger.Info("GetUserByEmailAsync url: " + url + ", " + email, "GLOBAL_LOGGER");
|
|
||||||
|
|
||||||
|
|
||||||
var response = await http.PostAsJsonAsync(url, email);
|
try
|
||||||
var result = await response.Content.ReadAsStringAsync();
|
{
|
||||||
var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}/{email}";
|
||||||
return user;
|
_logger.Info("GetUserByEmailAsync url: " + url + ", " + email);
|
||||||
|
var response = await http.GetAsync(url);
|
||||||
|
|
||||||
|
response.EnsureSuccessStatusCode();
|
||||||
|
if (response.Content != null)
|
||||||
|
{
|
||||||
|
var jsonResponse = await response.Content.ReadAsStringAsync();
|
||||||
|
var user = System.Text.Json.JsonSerializer.Deserialize<UserModelDto>(jsonResponse, new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
PropertyNameCaseInsensitive = true
|
||||||
|
});
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (HttpRequestException httpRequestException)
|
||||||
|
{
|
||||||
|
// Handle specific HTTP request exceptions
|
||||||
|
_logger.DebugConditional($"Request error: {httpRequestException.Message}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Handle other possible exceptions
|
||||||
|
_logger.DebugConditional($"An error occurred: {ex.Message}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<UserModelDto?> GetUserByIdAsync(Guid id)
|
public async Task<UserModelDto?> GetUserByIdAsync(Guid id)
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ using TIAMWebApp.Shared.Application.Utility;
|
||||||
using AyCode.Interfaces.StorageHandlers;
|
using AyCode.Interfaces.StorageHandlers;
|
||||||
using TIAM.Models.Dtos.Users;
|
using TIAM.Models.Dtos.Users;
|
||||||
using AyCode.Services.Loggers;
|
using AyCode.Services.Loggers;
|
||||||
|
using System.Net.Http;
|
||||||
|
using AyCode.Core.Extensions;
|
||||||
|
using System.Text.Json;
|
||||||
|
|
||||||
|
|
||||||
namespace TIAMWebApp.Client.Services
|
namespace TIAMWebApp.Client.Services
|
||||||
|
|
@ -21,8 +24,7 @@ namespace TIAMWebApp.Client.Services
|
||||||
private readonly IServiceProviderDataService serviceProviderDataService;
|
private readonly IServiceProviderDataService serviceProviderDataService;
|
||||||
private readonly LoggerClient<UserDataServiceWeb> _logger;
|
private readonly LoggerClient<UserDataServiceWeb> _logger;
|
||||||
|
|
||||||
|
|
||||||
public Dictionary<int, string> userRoleTypes { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
|
||||||
|
|
||||||
public UserDataServiceWeb(HttpClient http, ISecureStorageHandler secureStorageHandler, IServiceProviderDataService serviceProviderDataService, IEnumerable<IAcLogWriterClientBase> logWriters)
|
public UserDataServiceWeb(HttpClient http, ISecureStorageHandler secureStorageHandler, IServiceProviderDataService serviceProviderDataService, IEnumerable<IAcLogWriterClientBase> logWriters)
|
||||||
//public UserDataServiceWeb(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime, IServiceProviderDataService serviceProviderDataService, HttpClientLogItemWriter logWriter)
|
//public UserDataServiceWeb(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime, IServiceProviderDataService serviceProviderDataService, HttpClientLogItemWriter logWriter)
|
||||||
|
|
@ -186,16 +188,46 @@ namespace TIAMWebApp.Client.Services
|
||||||
|
|
||||||
public async Task<UserModelDto?> GetUserByEmailAsync(string email)
|
public async Task<UserModelDto?> GetUserByEmailAsync(string email)
|
||||||
{
|
{
|
||||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}/{email}";
|
|
||||||
|
|
||||||
_logger.Info("GetUserByEmailAsync url: " + url + ", " + email);
|
|
||||||
//GlobalLogger.Info("GetUserByEmailAsync url: " + url + ", " + email, "GLOBAL_LOGGER");
|
try
|
||||||
|
{
|
||||||
|
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}/{email}";
|
||||||
|
_logger.Info("GetUserByEmailAsync url: " + url + ", " + email);
|
||||||
|
var response = await http.GetAsync(url);
|
||||||
|
|
||||||
|
response.EnsureSuccessStatusCode();
|
||||||
|
if (response.Content != null)
|
||||||
|
{
|
||||||
|
var jsonResponse = await response.Content.ReadAsStringAsync();
|
||||||
|
var user = System.Text.Json.JsonSerializer.Deserialize<UserModelDto>(jsonResponse, new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
PropertyNameCaseInsensitive = true
|
||||||
|
});
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (HttpRequestException httpRequestException)
|
||||||
|
{
|
||||||
|
// Handle specific HTTP request exceptions
|
||||||
|
_logger.DebugConditional($"Request error: {httpRequestException.Message}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Handle other possible exceptions
|
||||||
|
_logger.DebugConditional($"An error occurred: {ex.Message}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var response = (UserModelDto)(await http.GetFromJsonAsync(url,typeof (UserModelDto)));
|
|
||||||
|
|
||||||
//var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
|
||||||
return response;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<UserModelDto?> GetUserByIdAsync(Guid id)
|
public async Task<UserModelDto?> GetUserByIdAsync(Guid id)
|
||||||
|
|
|
||||||
|
|
@ -358,10 +358,20 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route(APIUrls.GetUserByEmailRouteName + "/{email}")]
|
[Route(APIUrls.GetUserByEmailRouteName + "/{email}")]
|
||||||
public Task<UserModelDto?> GetUserByEmail(string email)
|
public async Task<UserModelDto>? GetUserByEmail(string email)
|
||||||
{
|
{
|
||||||
_logger.Info($"GetUserByEmail called with email: {email}");
|
_logger.Info($"GetUserByEmail called with email: {email}");
|
||||||
return _userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false);
|
var result = _userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false);
|
||||||
|
if (result.Result == null)
|
||||||
|
{
|
||||||
|
UserModelDto resultDto = new UserModelDto();
|
||||||
|
return resultDto;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return result.Result;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,7 @@ using TIAMWebApp.Shared.Application.Models.PageModels;
|
||||||
namespace TIAMWebApp.Shared.Application.Interfaces
|
namespace TIAMWebApp.Shared.Application.Interfaces
|
||||||
{
|
{
|
||||||
public interface IUserDataService
|
public interface IUserDataService
|
||||||
{
|
{
|
||||||
public Dictionary<int, string> userRoleTypes { get; set; }
|
|
||||||
|
|
||||||
public Task<UserSessionModel> IsLoggedInAsync(Guid id);
|
public Task<UserSessionModel> IsLoggedInAsync(Guid id);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue