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 System.Linq;
using System.Threading;
using System.Threading.Tasks;
using AyCode.Database.Tests;
using Microsoft.EntityFrameworkCore;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using TIAM.Database.DataLayers.Users;
using TIAM.Database.DbContexts;
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]
public class UserDalTests
public class UserDalTests : DatabaseTestModelBase
{
private Mock<UserDbContext> _mockContext;
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 response = await http.PostAsJsonAsync(url, loginModel);
@ -108,9 +108,8 @@ namespace TIAMMobilApp.Services
public async Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel)
{
bool isSuccess = true;
string result = string.Empty;
var isSuccess = true;
var result = string.Empty;
var url = APIUrls.CreateUser;
var response = await http.PostAsJsonAsync(url, regModel);
@ -142,7 +141,8 @@ namespace TIAMMobilApp.Services
public async Task<bool> RefreshToken()
{
bool isTokenRefreshed = false;
var isTokenRefreshed = false;
using (var client = new HttpClient())
{
var url = APIUrls.RefreshToken;
@ -158,7 +158,7 @@ namespace TIAMMobilApp.Services
var response = await client.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
if (response.IsSuccessStatusCode)
{
string contentStr = await response.Content.ReadAsStringAsync();
var contentStr = await response.Content.ReadAsStringAsync();
var mainResponse = JsonConvert.DeserializeObject<MainResponse>(contentStr);
if (mainResponse.IsSuccess)
{
@ -166,7 +166,7 @@ namespace TIAMMobilApp.Services
Setting.UserBasicDetails.AccessToken = tokenDetails.AccessToken;
Setting.UserBasicDetails.RefreshToken = tokenDetails.RefreshToken;
string userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails);
var userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails);
await secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr);
isTokenRefreshed = true;
}
@ -174,7 +174,7 @@ namespace TIAMMobilApp.Services
}
catch (Exception ex)
{
string msg = ex.Message;
var msg = ex.Message;
}
@ -187,7 +187,7 @@ namespace TIAMMobilApp.Services
{
//get the userModel's roles
int role = User.UserRoles;
var role = User.UserRoles;
foreach (var roleType in roleTypes)
{

View File

@ -21,7 +21,12 @@ namespace TIAMWebApp.Client.Services
private readonly IJSRuntime jsRuntime;
private readonly LogToBrowserConsole logToBrowserConsole;
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)
{
@ -33,18 +38,18 @@ namespace TIAMWebApp.Client.Services
public List<RoleType> roleTypes = new List<RoleType>
{
new RoleType { Id = 1, RoleName = "Login" },
new RoleType { Id = 2, RoleName = "Member" },
new RoleType { Id = 4, RoleName = "Vip" },
new RoleType { Id = 8, RoleName = "Uvip" },
new RoleType { Id = 16, RoleName = "Volunteer" },
new RoleType { Id = 32, RoleName = "Guide" },
new RoleType { Id = 64, RoleName = "Protector" },
new RoleType { Id = 128, RoleName = "Admin" },
new RoleType { Id = 256, RoleName = "SuperAdmin" },
new RoleType { Id = 512, RoleName = "God" }
};
{
new RoleType { Id = 1, RoleName = "Login" },
new RoleType { Id = 2, RoleName = "Member" },
new RoleType { Id = 4, RoleName = "Vip" },
new RoleType { Id = 8, RoleName = "Uvip" },
new RoleType { Id = 16, RoleName = "Volunteer" },
new RoleType { Id = 32, RoleName = "Guide" },
new RoleType { Id = 64, RoleName = "Protector" },
new RoleType { Id = 128, RoleName = "Admin" },
new RoleType { Id = 256, RoleName = "SuperAdmin" },
new RoleType { Id = 512, RoleName = "God" }
};
public async Task<UserModel> IsLoggedInAsync()
@ -71,6 +76,7 @@ namespace TIAMWebApp.Client.Services
{
User = new UserModel("", "", "");
}
//simply return true for now
User.IsLoggedIn = true;
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 response = await http.PostAsJsonAsync(url, loginModel);
@ -106,17 +112,16 @@ namespace TIAMWebApp.Client.Services
//result = await response.Content.ReadAsStringAsync();
return result;
}
public async Task<(bool isSuccess, string ErrorMessage)> CreateUser(RegistrationModel regModel)
{
bool isSuccess = true;
string result = string.Empty;
var isSuccess = true;
var result = string.Empty;
var url = $"{Setting.BaseUrl}/{APIUrls.CreateUser}";
logToBrowserConsole.LogToBC("CreateUser url: " + url);
var response = await http.PostAsJsonAsync(url, regModel);
result = await response.Content.ReadAsStringAsync();
/*if (response.IsSuccessStatusCode)
@ -147,55 +152,52 @@ namespace TIAMWebApp.Client.Services
public async Task<bool> RefreshToken()
{
logToBrowserConsole.LogToBC("RefreshToken() called");
bool isTokenRefreshed = false;
using (var client = new HttpClient())
var isTokenRefreshed = false;
using var client = new HttpClient();
var url = $"{Setting.BaseUrl}{APIUrls.RefreshToken}";
//var url = APIUrls.RefreshToken;
var serializedStr = JsonConvert.SerializeObject(new AuthenticateRequestAndResponse
{
var url = $"{Setting.BaseUrl}{APIUrls.RefreshToken}";
//var url = APIUrls.RefreshToken;
RefreshToken = Setting.UserBasicDetails.RefreshToken,
AccessToken = Setting.UserBasicDetails.AccessToken
});
var serializedStr = JsonConvert.SerializeObject(new AuthenticateRequestAndResponse
try
{
logToBrowserConsole.LogToBC("Refreshtoken url: " + url);
var response = await client.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
if (response.IsSuccessStatusCode)
{
RefreshToken = Setting.UserBasicDetails.RefreshToken,
AccessToken = Setting.UserBasicDetails.AccessToken
});
try
{
logToBrowserConsole.LogToBC("Refreshtoken url: " + url);
var response = await client.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
if (response.IsSuccessStatusCode)
var contentStr = await response.Content.ReadAsStringAsync();
var mainResponse = JsonConvert.DeserializeObject<MainResponse>(contentStr);
if (mainResponse is { IsSuccess: true })
{
string contentStr = await response.Content.ReadAsStringAsync();
var mainResponse = JsonConvert.DeserializeObject<MainResponse>(contentStr);
if (mainResponse.IsSuccess)
{
var tokenDetails = JsonConvert.DeserializeObject<AuthenticateRequestAndResponse>(mainResponse.Content.ToString());
Setting.UserBasicDetails.AccessToken = tokenDetails.AccessToken;
Setting.UserBasicDetails.RefreshToken = tokenDetails.RefreshToken;
var tokenDetails = JsonConvert.DeserializeObject<AuthenticateRequestAndResponse>(mainResponse.Content.ToString());
Setting.UserBasicDetails.AccessToken = tokenDetails.AccessToken;
Setting.UserBasicDetails.RefreshToken = tokenDetails.RefreshToken;
string userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails);
await secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr);
isTokenRefreshed = true;
}
var userDetailsStr = JsonConvert.SerializeObject(Setting.UserBasicDetails);
await secureStorageHandler.SaveToSecureStorageAsync(nameof(Setting.UserBasicDetails), userDetailsStr);
isTokenRefreshed = true;
}
}
catch (Exception ex)
{
string msg = ex.Message;
logToBrowserConsole.LogToBC("Refreshtoken exception: " + ex.ToString());
}
}
catch (Exception ex)
{
var msg = ex.Message;
logToBrowserConsole.LogToBC("Refreshtoken exception: " + ex.ToString());
}
return isTokenRefreshed;
}
public Task<Dictionary<int, string>> GetUserRolesAsync(UserModel userModel)
{
//get the userModel's roles
int role = User.UserRoles;
var role = User.UserRoles;
foreach (var roleType in roleTypes)
{
@ -207,8 +209,8 @@ namespace TIAMWebApp.Client.Services
}
}
return Task.FromResult(userRoleTypes);
return Task.FromResult(userRoleTypes);
}
}
}