This commit is contained in:
Loretta 2024-07-03 14:44:04 +02:00
commit 945e4128cf
13 changed files with 127 additions and 54 deletions

5
DeployReadme.txt Normal file
View File

@ -0,0 +1,5 @@
aycode.core rebuild product mode
copy: \AyCode.Core\AyCode.Services.Server\bin\Product\net8.0 to \AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0
Setting.cs baseurl
megnézni a Loglevelt és ha olyan, átállítani TiamConstClient.DefaultLogLevelClient
database connection, server side loglevel string átírni tiamwebappserver\appsettings.json

View File

@ -1,4 +1,5 @@
using AyCode.Core.Consts; using AyCode.Core.Consts;
using AyCode.Core.Loggers;
namespace TIAM.Core.Consts; namespace TIAM.Core.Consts;
@ -12,6 +13,11 @@ public static class TiamConstClient
Guid.Parse("4cbaed43-2465-4d99-84f1-c8bc6b7025f7"), Guid.Parse("4cbaed43-2465-4d99-84f1-c8bc6b7025f7"),
Guid.Parse("540271f6-c604-4c16-8160-d5a7cafedf00") Guid.Parse("540271f6-c604-4c16-8160-d5a7cafedf00")
}; };
#if RELEASE
public static LogLevel DefaultLogLevelClient = LogLevel.Debug;
#else
public static LogLevel DefaultLogLevelClient = LogLevel.Detail;
#endif
} }
public class TiamConst : AcConst public class TiamConst : AcConst

View File

@ -23,6 +23,11 @@ namespace TIAM.Database.DataLayers.Users
public async Task<bool> CreateUserAsync(User user) public async Task<bool> CreateUserAsync(User user)
{ {
Context.Users.Add(user); Context.Users.Add(user);
Profile profile = new Profile();
profile.Id = Guid.NewGuid();
var parts = user.EmailAddress.Split('@');
profile.Name = parts[0];
Context.Profiles.Add(profile);
Console.WriteLine($@"Saving user to db {user.Id}, {user.EmailAddress}, {user.PhoneNumber}, {user.Password}"); Console.WriteLine($@"Saving user to db {user.Id}, {user.EmailAddress}, {user.PhoneNumber}, {user.Password}");
return await Context.SaveChangesAsync() > 0; return await Context.SaveChangesAsync() > 0;
} }

View File

@ -22,9 +22,6 @@
<meta name="twitter:description" content="Book reliable and affordable airport transfers with Tour I Am. Enjoy a hassle-free ride to and from the airport with our professional drivers."> <meta name="twitter:description" content="Book reliable and affordable airport transfers with Tour I Am. Enjoy a hassle-free ride to and from the airport with our professional drivers.">
<meta name="twitter:image" content="https://touriam.com/images/airport-transfer.jpg"> <meta name="twitter:image" content="https://touriam.com/images/airport-transfer.jpg">
<!-->link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0/css/bootstrap.min.css"-->
<base href="/" /> <base href="/" />
<link rel="stylesheet" href="_content/TIAMSharedUI/css/bootstrap/bootstrap.min.css" /> <link rel="stylesheet" href="_content/TIAMSharedUI/css/bootstrap/bootstrap.min.css" />

View File

@ -151,9 +151,9 @@
foreach (UserProductMapping Permission in Permissions) foreach (UserProductMapping Permission in Permissions)
{ {
var permissionToCheck = await ServiceProviderDataService.GetUserProductMappingByIdAsync(Permission.Id); //var permissionToCheck = await ServiceProviderDataService.GetUserProductMappingByIdAsync(Permission.Id);
_logger.Debug($"calling IsPowerOf with values: {Permission.Id}, {Permission.Permissions}, {permissionToCheck.Permissions}, {3}"); _logger.Debug($"calling IsPowerOf with values: {Permission.Id}, {Permission.Permissions}, {1}");
var driverPermissionResult = IsBitSet(permissionToCheck.Permissions, 3); var driverPermissionResult = IsBitSet(Permission.Permissions, 1);
if (driverPermissionResult) if (driverPermissionResult)
{ {
_isDriver = true; _isDriver = true;

View File

@ -12,6 +12,7 @@ using AyCode.Services.Loggers;
using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components.Authorization;
using TIAM.Core.Consts; using TIAM.Core.Consts;
using TIAM.Entities.Users; using TIAM.Entities.Users;
using TIAMWebApp.Shared.Application.Services;
namespace TIAMSharedUI.Pages namespace TIAMSharedUI.Pages
{ {
@ -157,12 +158,12 @@ namespace TIAMSharedUI.Pages
/// This method stores the user data in the session service so we know during navigation that the user is logged in. /// This method stores the user data in the session service so we know during navigation that the user is logged in.
/// </summary> /// </summary>
/// <param name="user"></param> /// <param name="user"></param>
protected void SaveToSessionInfo(UserSessionModel user) protected async Task SaveToSessionInfo(UserSessionModel user)
{ {
sessionService.User = user; sessionService.User = user;
sessionService.IsAuthenticated = true; sessionService.IsAuthenticated = true;
sessionService.HasCompany = user.UserModelDto.UserProductMappings.Count > 0; sessionService.HasCompany = user.UserModelDto.UserProductMappings.Count > 0;
sessionService.IsDriver = CheckIfDriver(user.UserModelDto.UserProductMappings); sessionService.IsDriver = await CheckIfDriver(user.UserModelDto.UserProductMappings);
if (user.UserModelDto.Id == TiamConstClient.DevAdminIds[0] || user.UserModelDto.Id == TiamConstClient.DevAdminIds[1]) if (user.UserModelDto.Id == TiamConstClient.DevAdminIds[0] || user.UserModelDto.Id == TiamConstClient.DevAdminIds[1])
{ {
sessionService.IsDevAdmin = true; sessionService.IsDevAdmin = true;
@ -177,12 +178,16 @@ namespace TIAMSharedUI.Pages
BrowserConsoleLogWriter.Debug($"Saved to session: IsAuthenticated: {sessionService.IsAuthenticated}, HasCompany: {sessionService.HasCompany}, IsDriver: {sessionService.IsDriver}, IsDevAdmin: {sessionService.IsDevAdmin}, IsSysAdmin: {sessionService.IsSysAdmin}"); BrowserConsoleLogWriter.Debug($"Saved to session: IsAuthenticated: {sessionService.IsAuthenticated}, HasCompany: {sessionService.HasCompany}, IsDriver: {sessionService.IsDriver}, IsDevAdmin: {sessionService.IsDevAdmin}, IsSysAdmin: {sessionService.IsSysAdmin}");
} }
public bool CheckIfDriver(List<UserProductMapping> Permissions) public async Task<bool> CheckIfDriver(List<UserProductMapping> Permissions)
{ {
bool _isDriver = false; bool _isDriver = false;
foreach (UserProductMapping Permission in Permissions) foreach (UserProductMapping Permission in Permissions)
{ {
if (IsPowerOfTwoInSum(2, Permission.Permissions)) //var permissionToCheck = await ServiceProviderDataService.GetUserProductMappingByIdAsync(Permission.Id);
BrowserConsoleLogWriter.Debug($"calling IsPowerOf with values: {Permission.Id}, {Permission.Permissions}, {1}");
var driverPermissionResult = IsBitSet(Permission.Permissions, 1);
if (driverPermissionResult)
{ {
_isDriver = true; _isDriver = true;
sessionService.DriverPersmissionId = Permission.Id; sessionService.DriverPersmissionId = Permission.Id;
@ -191,10 +196,16 @@ namespace TIAMSharedUI.Pages
return _isDriver; return _isDriver;
} }
public static bool IsPowerOfTwoInSum(int number, int power) public bool IsBitSet(int number, int power)
{ {
BrowserConsoleLogWriter.Debug($"called IsBitSet with values: {number}, {power}");
int powerOfTwo = 1 << power; // Calculate 2^power int powerOfTwo = 1 << power; // Calculate 2^power
return (number & powerOfTwo) != 0; // Check if the bit at position `power` is set
BrowserConsoleLogWriter.Debug($"powerOfTwo: {powerOfTwo}, {power}");
bool result = (number & powerOfTwo) != 0; // Check if the bit at position `power` is set
return result;
} }
} }
} }

View File

@ -14,6 +14,7 @@ using TIAM.Entities.Profiles;
using TIAM.Entities.Addresses; using TIAM.Entities.Addresses;
using TIAM.Services.Server.Logins; using TIAM.Services.Server.Logins;
using ILogger = TIAM.Core.Loggers.ILogger; using ILogger = TIAM.Core.Loggers.ILogger;
using AyCode.Core.Helpers;
namespace TIAMWebApp.Server.Controllers namespace TIAMWebApp.Server.Controllers
{ {
@ -197,7 +198,7 @@ namespace TIAMWebApp.Server.Controllers
else else
{ {
var user = JObject.Parse(serializedRegistrationModel.GetRawText()).ToObject<RegistrationModel>(); var user = JObject.Parse(serializedRegistrationModel.GetRawText()).ToObject<RegistrationModel>();
bool result = false;
if (user != null) if (user != null)
{ {
//add userModel to users array //add userModel to users array
@ -220,12 +221,22 @@ namespace TIAMWebApp.Server.Controllers
_logger.Info($@"User to be created: {email}"); _logger.Info($@"User to be created: {email}");
_logger.Info($@"User to be created: {phoneNumber}"); _logger.Info($@"User to be created: {phoneNumber}");
_logger.Info($@"User to be created: {password}"); _logger.Info($@"User to be created: {password}");
//var hashedPassword = PasswordHasher.HashPassword(user.Password, PasswordHasher.GenerateDynamicSalt(userId));
await _userDal.CreateUserAsync(new User(userId, email, phoneNumber, password)); //await _userDal.CreateUserAsync(new User(userId, email, phoneNumber, hashedPassword));
var createResult = await _loginService.RegistrationAsync(userId, email, password, phoneNumber);
if (createResult != AyCode.Core.Consts.AcErrorCode.Unset)
{
_logger.Error("Error:" + createResult.ToString());
result = false;
}
else
{
result = true;
}
} }
} }
return Ok("yes"); return Ok(result.ToString());
} }
} }
@ -297,7 +308,8 @@ namespace TIAMWebApp.Server.Controllers
var userId = Guid.NewGuid(); var userId = Guid.NewGuid();
var email = user?.Email; var email = user?.Email;
var phoneNumber = user?.PhoneNumber; var phoneNumber = user?.PhoneNumber;
var password = user?.Password; var password = user?.Password;
var referralId = user?.ReferralId; var referralId = user?.ReferralId;
if (email is null || phoneNumber is null || password is null) if (email is null || phoneNumber is null || password is null)
@ -310,23 +322,32 @@ namespace TIAMWebApp.Server.Controllers
_logger.Info($@"User to be created: {email}"); _logger.Info($@"User to be created: {email}");
_logger.Info($@"User to be created: {phoneNumber}"); _logger.Info($@"User to be created: {phoneNumber}");
_logger.Info($@"User to be created: {password}"); _logger.Info($@"User to be created: {password}");
User userToCreate = new(userId, email, phoneNumber, password); //User userToCreate = new(userId, email, phoneNumber, hashedPassword);
userToCreate.ProfileId = Guid.NewGuid(); //userToCreate.ProfileId = Guid.NewGuid();
userToCreate.Profile = new Profile(); //userToCreate.Profile = new Profile();
userToCreate.Profile.Id = userToCreate.ProfileId; //userToCreate.Profile.Id = userToCreate.ProfileId;
userToCreate.Profile.Name = "Guest - " + nameExtension; //userToCreate.Profile.Name = "Guest - " + nameExtension;
userToCreate.RefferalId = referralId; //userToCreate.RefferalId = referralId;
userToCreate.Profile.AddressId = Guid.NewGuid(); //userToCreate.Profile.AddressId = Guid.NewGuid();
//Random rnd = new Random(); ////Random rnd = new Random();
userToCreate.Profile.Address = new Address(); //userToCreate.Profile.Address = new Address();
userToCreate.Profile.Address.Id = userToCreate.Profile.AddressId; //userToCreate.Profile.Address.Id = userToCreate.Profile.AddressId;
userToCreate.Profile.Address.AddressText = null; //userToCreate.Profile.Address.AddressText = null;
userToCreate.Profile.Address.Latitude = null; //Math.Round(90 + rnd.NextDouble(), 8); //userToCreate.Profile.Address.Latitude = null; //Math.Round(90 + rnd.NextDouble(), 8);
userToCreate.Profile.Address.Longitude = null; //Math.Round(180 + rnd.NextDouble(), 8); //userToCreate.Profile.Address.Longitude = null; //Math.Round(180 + rnd.NextDouble(), 8);
result = await _userDal.AddUserAsync(userToCreate); //result = await _userDal.AddUserAsync(userToCreate);
guestUser = await _userDal.GetUserModelDtoByIdAsync<UserModelDtoDetail>(userId, false); //guestUser = await _userDal.GetUserModelDtoByIdAsync<UserModelDtoDetail>(userId, false);
var createResult = await _loginService.RegistrationAsync(userId, email, password, phoneNumber);
if (createResult != AyCode.Core.Consts.AcErrorCode.Unset)
{
_logger.Error("Error:" + createResult.ToString());
}
else
{
result = true;
}
} }
} }

View File

@ -147,16 +147,16 @@ builder.WebHost.ConfigureKestrel((context, options) =>
}); });
}); });
builder.Services.AddResponseCompression(options => //builder.Services.AddResponseCompression(options =>
{ //{
options.EnableForHttps = true; // options.EnableForHttps = true;
options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "application/octet-stream" }); // options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "application/octet-stream" });
options.Providers.Add<BrotliCompressionProvider>(); // options.Providers.Add<BrotliCompressionProvider>();
options.Providers.Add<GzipCompressionProvider>(); // options.Providers.Add<GzipCompressionProvider>();
}); //});
builder.Services.Configure<BrotliCompressionProviderOptions>(options => options.Level = CompressionLevel.Optimal); //builder.Services.Configure<BrotliCompressionProviderOptions>(options => options.Level = CompressionLevel.Optimal);
builder.Services.Configure<GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Optimal); //builder.Services.Configure<GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Optimal);
//builder.Services.AddSingleton(sp => (sp.GetRequiredService<IHostEnvironment>() as IWebHostEnvironment)!); //builder.Services.AddSingleton(sp => (sp.GetRequiredService<IHostEnvironment>() as IWebHostEnvironment)!);
@ -173,10 +173,10 @@ else
app.UseHsts(); app.UseHsts();
} }
//if (!app.Environment.IsDevelopment()) ////if (!app.Environment.IsDevelopment())
{ //{
app.UseResponseCompression(); // app.UseResponseCompression();
} //}
app.UseSwagger(); app.UseSwagger();
app.UseSwaggerUI(c => app.UseSwaggerUI(c =>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
<PropertyGroup>
<DeleteExistingFiles>true</DeleteExistingFiles>
<ExcludeApp_Data>false</ExcludeApp_Data>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>C:\REPOS\AYCODE\Publish\ServerRelease</PublishUrl>
<WebPublishMethod>FileSystem</WebPublishMethod>
<_TargetId>Folder</_TargetId>
<SiteUrlToLaunchAfterPublish />
<TargetFramework>net8.0</TargetFramework>
<ProjectGuid>9d0f60cb-0462-4bdb-91bd-cadb574ab5a5</ProjectGuid>
<SelfContained>false</SelfContained>
</PropertyGroup>
</Project>

View File

@ -2,7 +2,7 @@
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ActiveDebugProfile>https</ActiveDebugProfile> <ActiveDebugProfile>https</ActiveDebugProfile>
<NameOfLastUsedPublishProfile>C:\REPOS\AYCODE\source\TourIAm\TIAMWebApp\Server\Properties\PublishProfiles\FolderProfile1.pubxml</NameOfLastUsedPublishProfile> <NameOfLastUsedPublishProfile>C:\REPOS\AYCODE\source\TourIAm\TIAMWebApp\Server\Properties\PublishProfiles\ReleaseDeployProfile.pubxml</NameOfLastUsedPublishProfile>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor> <DebuggerFlavor>ProjectDebugger</DebuggerFlavor>

View File

@ -3,12 +3,17 @@
public class Setting public class Setting
{ {
public static UserBasicDetails UserBasicDetails { get; set; } public static UserBasicDetails UserBasicDetails { get; set; }
public const string BaseUrl = "https://localhost:7116";
public const string ApiBaseUrl = "https://localhost:7116";
//public const string BaseUrl = "https://touriam.mangoweb.hu"; //public const string BaseUrl = "https://touriam.mangoweb.hu";
//public const string ApiBaseUrl = "https://touriam.mangoweb.hu"; //public const string ApiBaseUrl = "https://touriam.mangoweb.hu";
//public const string BaseUrl = "https://test.touriam.com"; #if RELEASE
//public const string ApiBaseUrl = "https://test.touriam.com"; public const string BaseUrl = "https://test.touriam.com";
public const string ApiBaseUrl = "https://test.touriam.com";
//public const string BaseUrl = "https://qa.touriam.com";
//public const string ApiBaseUrl = "https://qa.touriam.com";
#else
public const string BaseUrl = "https://localhost:7116";
public const string ApiBaseUrl = "https://localhost:7116";
#endif
public const bool DarkMode = false; public const bool DarkMode = false;
public static string Locale { get; set; } public static string Locale { get; set; }
} }

View File

@ -1,6 +1,7 @@
using AyCode.Core.Enums; using AyCode.Core.Enums;
using AyCode.Core.Loggers; using AyCode.Core.Loggers;
using AyCode.Services.Loggers; using AyCode.Services.Loggers;
using TIAM.Core.Consts;
using TIAM.Core.Loggers; using TIAM.Core.Loggers;
namespace TIAMWebApp.Shared.Application.Utility; namespace TIAMWebApp.Shared.Application.Utility;
@ -11,10 +12,10 @@ public class LoggerClient : Logger, ILogger
{ {
} }
public LoggerClient(string? categoryName) : base(AppType.Web, LogLevel.Detail, categoryName) public LoggerClient(string? categoryName) : base(AppType.Web, TiamConstClient.DefaultLogLevelClient, categoryName)
{ } { }
public LoggerClient(string? categoryName, params IAcLogWriterBase[] logWriters) : base(AppType.Web, LogLevel.Detail, categoryName, logWriters) public LoggerClient(string? categoryName, params IAcLogWriterBase[] logWriters) : base(AppType.Web, TiamConstClient.DefaultLogLevelClient, categoryName, logWriters)
{ } { }
public LoggerClient(AppType appType, LogLevel logLevel, string? categoryName, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, categoryName, logWriters) public LoggerClient(AppType appType, LogLevel logLevel, string? categoryName, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, categoryName, logWriters)
@ -23,10 +24,10 @@ public class LoggerClient : Logger, ILogger
public class LoggerClient<TCategory> : LoggerClient, ILogger<TCategory> public class LoggerClient<TCategory> : LoggerClient, ILogger<TCategory>
{ {
public LoggerClient() : base(AppType.Web, LogLevel.Detail, typeof(TCategory).Name) public LoggerClient() : base(AppType.Web, TiamConstClient.DefaultLogLevelClient, typeof(TCategory).Name)
{ } { }
public LoggerClient(params IAcLogWriterClientBase[] logWriters) : base(AppType.Web, LogLevel.Detail, typeof(TCategory).Name, logWriters) public LoggerClient(params IAcLogWriterClientBase[] logWriters) : base(AppType.Web, TiamConstClient.DefaultLogLevelClient, typeof(TCategory).Name, logWriters)
{ } { }
public LoggerClient(AppType appType, LogLevel logLevel, params IAcLogWriterClientBase[] logWriters) : base(appType, logLevel, typeof(TCategory).Name, logWriters) public LoggerClient(AppType appType, LogLevel logLevel, params IAcLogWriterClientBase[] logWriters) : base(appType, logLevel, typeof(TCategory).Name, logWriters)

View File

@ -39,6 +39,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TIAM.Resources", "TIAMResou
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DD32C7C2-218C-4148-8FD6-1AB3C824A7D5}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DD32C7C2-218C-4148-8FD6-1AB3C824A7D5}"
ProjectSection(SolutionItems) = preProject ProjectSection(SolutionItems) = preProject
DeployReadme.txt = DeployReadme.txt
SqlSchemaCompare_Dev_to_DevRelease.scmp = SqlSchemaCompare_Dev_to_DevRelease.scmp SqlSchemaCompare_Dev_to_DevRelease.scmp = SqlSchemaCompare_Dev_to_DevRelease.scmp
EndProjectSection EndProjectSection
EndProject EndProject