improvements

This commit is contained in:
jozsef.b@aycode.com 2023-11-27 09:58:52 +01:00
parent 534040b6d7
commit 0bf492f2c3
3 changed files with 68 additions and 74 deletions

View File

@ -1,22 +1,14 @@
using System; using AyCode.Database.Tests;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq; using Moq;
using TIAM.Database.DataLayers.Users; using TIAM.Database.DataLayers.Users;
using TIAM.Database.DbContexts; using TIAM.Database.DbContexts;
using TIAM.Entities.Users; using TIAM.Entities.Users;
using System.Collections.Generic;
using System.Text;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using System.Net.Sockets;
namespace TIAM.Database.Tests.DataLayers.Users namespace TIAM.Database.Test
{ {
[TestClass] [TestClass]
public class UserDalTests public class UserDalTests : DatabaseTestModelBase
{ {
private Mock<UserDbContext> _mockContext; private Mock<UserDbContext> _mockContext;
private UserDal _userDal; private UserDal _userDal;

View File

@ -86,7 +86,7 @@ namespace TIAMMobilApp.Services
string result = string.Empty; var result = string.Empty;
var url = APIUrls.AuthenticateUser; var url = APIUrls.AuthenticateUser;
var response = await http.PostAsJsonAsync(url, loginModel); var response = await http.PostAsJsonAsync(url, loginModel);
@ -108,9 +108,8 @@ namespace TIAMMobilApp.Services
public async Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel) public async Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel)
{ {
var isSuccess = true;
bool isSuccess = true; var result = string.Empty;
string result = string.Empty;
var url = APIUrls.CreateUser; var url = APIUrls.CreateUser;
var response = await http.PostAsJsonAsync(url, regModel); var response = await http.PostAsJsonAsync(url, regModel);
@ -142,7 +141,8 @@ namespace TIAMMobilApp.Services
public async Task<bool> RefreshToken() public async Task<bool> RefreshToken()
{ {
bool isTokenRefreshed = false; var isTokenRefreshed = false;
using (var client = new HttpClient()) using (var client = new HttpClient())
{ {
var url = APIUrls.RefreshToken; var url = APIUrls.RefreshToken;
@ -158,7 +158,7 @@ namespace TIAMMobilApp.Services
var response = await client.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json")); var response = await client.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
string contentStr = await response.Content.ReadAsStringAsync(); var contentStr = await response.Content.ReadAsStringAsync();
var mainResponse = JsonConvert.DeserializeObject<MainResponse>(contentStr); var mainResponse = JsonConvert.DeserializeObject<MainResponse>(contentStr);
if (mainResponse.IsSuccess) if (mainResponse.IsSuccess)
{ {
@ -166,7 +166,7 @@ namespace TIAMMobilApp.Services
Setting.UserBasicDetails.AccessToken = tokenDetails.AccessToken; Setting.UserBasicDetails.AccessToken = tokenDetails.AccessToken;
Setting.UserBasicDetails.RefreshToken = tokenDetails.RefreshToken; Setting.UserBasicDetails.RefreshToken = tokenDetails.RefreshToken;
string userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails); var userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails);
await secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr); await secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr);
isTokenRefreshed = true; isTokenRefreshed = true;
} }
@ -174,7 +174,7 @@ namespace TIAMMobilApp.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
string msg = ex.Message; var msg = ex.Message;
} }
@ -187,7 +187,7 @@ namespace TIAMMobilApp.Services
{ {
//get the userModel's roles //get the userModel's roles
int role = User.UserRoles; var role = User.UserRoles;
foreach (var roleType in roleTypes) foreach (var roleType in roleTypes)
{ {

View File

@ -21,7 +21,12 @@ namespace TIAMWebApp.Client.Services
private readonly IJSRuntime jsRuntime; private readonly IJSRuntime jsRuntime;
private readonly LogToBrowserConsole logToBrowserConsole; private readonly LogToBrowserConsole logToBrowserConsole;
public UserModel? User { get; set; } = new UserModel("", "", ""); public UserModel? User { get; set; } = new UserModel("", "", "");
public Dictionary<int, string> userRoleTypes { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
public Dictionary<int, string> userRoleTypes
{
get => throw new NotImplementedException();
set => throw new NotImplementedException();
}
public UserDataService(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime) public UserDataService(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime)
{ {
@ -71,6 +76,7 @@ namespace TIAMWebApp.Client.Services
{ {
User = new UserModel("", "", ""); User = new UserModel("", "", "");
} }
//simply return true for now //simply return true for now
User.IsLoggedIn = true; User.IsLoggedIn = true;
User.UserType = (UserType)userType; User.UserType = (UserType)userType;
@ -90,7 +96,7 @@ namespace TIAMWebApp.Client.Services
string result = string.Empty; var result = string.Empty;
var url = APIUrls.AuthenticateUser; var url = APIUrls.AuthenticateUser;
var response = await http.PostAsJsonAsync(url, loginModel); var response = await http.PostAsJsonAsync(url, loginModel);
@ -106,17 +112,16 @@ namespace TIAMWebApp.Client.Services
//result = await response.Content.ReadAsStringAsync(); //result = await response.Content.ReadAsStringAsync();
return result; return result;
} }
public async Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel) public async Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel)
{ {
var isSuccess = true;
bool isSuccess = true; var result = string.Empty;
string result = string.Empty;
var url = $"{Setting.BaseUrl}/{APIUrls.CreateUser}"; var url = $"{Setting.BaseUrl}/{APIUrls.CreateUser}";
logToBrowserConsole.LogToBC("CreateUser url: " + url); logToBrowserConsole.LogToBC("CreateUser url: " + url);
var response = await http.PostAsJsonAsync(url, regModel); var response = await http.PostAsJsonAsync(url, regModel);
result = await response.Content.ReadAsStringAsync(); result = await response.Content.ReadAsStringAsync();
/*if (response.IsSuccessStatusCode) /*if (response.IsSuccessStatusCode)
@ -147,9 +152,9 @@ namespace TIAMWebApp.Client.Services
public async Task<bool> RefreshToken() public async Task<bool> RefreshToken()
{ {
logToBrowserConsole.LogToBC("RefreshToken() called"); logToBrowserConsole.LogToBC("RefreshToken() called");
bool isTokenRefreshed = false; var isTokenRefreshed = false;
using (var client = new HttpClient())
{ using var client = new HttpClient();
var url = $"{Setting.BaseUrl}{APIUrls.RefreshToken}"; var url = $"{Setting.BaseUrl}{APIUrls.RefreshToken}";
//var url = APIUrls.RefreshToken; //var url = APIUrls.RefreshToken;
@ -165,15 +170,15 @@ namespace TIAMWebApp.Client.Services
var response = await client.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json")); var response = await client.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
string contentStr = await response.Content.ReadAsStringAsync(); var contentStr = await response.Content.ReadAsStringAsync();
var mainResponse = JsonConvert.DeserializeObject<MainResponse>(contentStr); var mainResponse = JsonConvert.DeserializeObject<MainResponse>(contentStr);
if (mainResponse.IsSuccess) if (mainResponse is { IsSuccess: true })
{ {
var tokenDetails = JsonConvert.DeserializeObject<AuthenticateRequestAndResponse>(mainResponse.Content.ToString()); var tokenDetails = JsonConvert.DeserializeObject<AuthenticateRequestAndResponse>(mainResponse.Content.ToString());
Setting.UserBasicDetails.AccessToken = tokenDetails.AccessToken; Setting.UserBasicDetails.AccessToken = tokenDetails.AccessToken;
Setting.UserBasicDetails.RefreshToken = tokenDetails.RefreshToken; Setting.UserBasicDetails.RefreshToken = tokenDetails.RefreshToken;
string userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails); var userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails);
await secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr); await secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr);
isTokenRefreshed = true; isTokenRefreshed = true;
} }
@ -181,21 +186,18 @@ namespace TIAMWebApp.Client.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
string msg = ex.Message; var msg = ex.Message;
logToBrowserConsole.LogToBC("Refreshtoken exception: " + ex.ToString()); logToBrowserConsole.LogToBC("Refreshtoken exception: " + ex.ToString());
} }
}
return isTokenRefreshed; return isTokenRefreshed;
} }
public Task<Dictionary<int, string>> GetUserRolesAsync(UserModel userModel) public Task<Dictionary<int, string>> GetUserRolesAsync(UserModel userModel)
{ {
//get the userModel's roles //get the userModel's roles
int role = User.UserRoles; var role = User.UserRoles;
foreach (var roleType in roleTypes) foreach (var roleType in roleTypes)
{ {
@ -207,8 +209,8 @@ namespace TIAMWebApp.Client.Services
} }
} }
return Task.FromResult(userRoleTypes); return Task.FromResult(userRoleTypes);
} }
} }
} }