From fc8c8941b8b6992f91ef0d190225f8315ee549e0 Mon Sep 17 00:00:00 2001 From: Loretta Date: Sun, 7 Jul 2024 08:32:19 +0200 Subject: [PATCH] improvements, fixes, etc... --- .../Logins/IAcLoginServiceCommon.cs | 8 +++--- .../Users/AcUserModelDtoDetailBase.cs | 21 ++++++++++++++- AyCode.Models/Users/AcUserModelDtoMinBase.cs | 6 +++++ .../Logins/AcLoginServiceServer.cs | 16 ++++++----- .../Logins/AcLoginServiceClient.cs | 8 +++--- .../SignalRs/IAcSignalRHubClient.cs | 27 ++++++++++--------- 6 files changed, 58 insertions(+), 28 deletions(-) diff --git a/AyCode.Interfaces/Logins/IAcLoginServiceCommon.cs b/AyCode.Interfaces/Logins/IAcLoginServiceCommon.cs index fbd939e..235256b 100644 --- a/AyCode.Interfaces/Logins/IAcLoginServiceCommon.cs +++ b/AyCode.Interfaces/Logins/IAcLoginServiceCommon.cs @@ -16,8 +16,8 @@ public interface IAcLoginServiceCommon LogoutAsync(); - public AcErrorCode Registration(string email, string password, string? phoneNumber = null); - public AcErrorCode Registration(Guid userId, string email, string password, string? phoneNumber = null); - public Task RegistrationAsync(string email, string password, string? phoneNumber = null); - public Task RegistrationAsync(Guid userId, string email, string password, string? phoneNumber = null); + public AcErrorCode Registration(string email, string password, string? phoneNumber = null, Guid? referralId = null); + public AcErrorCode Registration(Guid userId, string email, string password, string? phoneNumber = null, Guid? referralId = null); + public Task RegistrationAsync(string email, string password, string? phoneNumber = null, Guid? referralId = null); + public Task RegistrationAsync(Guid userId, string email, string password, string? phoneNumber = null, Guid? referralId = null); } \ No newline at end of file diff --git a/AyCode.Models/Users/AcUserModelDtoDetailBase.cs b/AyCode.Models/Users/AcUserModelDtoDetailBase.cs index dd8622c..145e89a 100644 --- a/AyCode.Models/Users/AcUserModelDtoDetailBase.cs +++ b/AyCode.Models/Users/AcUserModelDtoDetailBase.cs @@ -39,12 +39,17 @@ public abstract class AcUserModelDtoDetailBase user) : base(user) { + UserDto.Id = user.Id; + UserDto.ProfileId = user.ProfileId; UserDto.EmailAddress = user.EmailAddress; UserDto.EmailConfirmed = user.EmailConfirmed; UserDto.PhoneNumber = user.PhoneNumber; + UserDto.RefferalId = user.RefferalId; + UserDto.AffiliateId = user.AffiliateId; + UserDto.RefreshToken = user.RefreshToken; UserDto.Created = user.Created; UserDto.Modified = user.Modified; - + var address = Activator.CreateInstance(); address.Id = user.Profile.AddressId; @@ -54,4 +59,18 @@ public abstract class AcUserModelDtoDetailBase user) + { + base.CopyUserDtoValuesToUser(user); + + user.ProfileId = UserDto.ProfileId; + user.EmailAddress = UserDto.EmailAddress; + user.EmailConfirmed = UserDto.EmailConfirmed; + user.PhoneNumber = UserDto.PhoneNumber; + user.RefferalId = UserDto.RefferalId; + //user.RefreshToken = UserDto.RefreshToken; //Ezzel mi legyen?! - J. + user.Created = UserDto.Created; + user.Modified = UserDto.Modified; + } } \ No newline at end of file diff --git a/AyCode.Models/Users/AcUserModelDtoMinBase.cs b/AyCode.Models/Users/AcUserModelDtoMinBase.cs index 5142dcc..6c13f7b 100644 --- a/AyCode.Models/Users/AcUserModelDtoMinBase.cs +++ b/AyCode.Models/Users/AcUserModelDtoMinBase.cs @@ -34,6 +34,12 @@ public abstract class AcUserModelDtoMinBase : AcModelD //Profile.NickName = user.Profile.NickName; } + public void CopyUserDtoValuesToUser(IAcUserDtoMinBase user) + { + user.Id = UserDto.Id; + user.AffiliateId = UserDto.AffiliateId; + } + //public virtual TUserDtoMin CreateMainEntity() //{ // var user = base.CreateMainEntity(); diff --git a/AyCode.Services.Server/Logins/AcLoginServiceServer.cs b/AyCode.Services.Server/Logins/AcLoginServiceServer.cs index f8f4b22..e41a3fe 100644 --- a/AyCode.Services.Server/Logins/AcLoginServiceServer.cs +++ b/AyCode.Services.Server/Logins/AcLoginServiceServer.cs @@ -83,11 +83,13 @@ public class AcLoginServiceServer Registration(Guid.NewGuid(), email, password, phoneNumber); + public virtual AcErrorCode Registration(string email, string password, string? phoneNumber = null, Guid? referralId = null) + => Registration(Guid.NewGuid(), email, password, phoneNumber, referralId); - public virtual AcErrorCode Registration(Guid userId, string email, string password, string? phoneNumber = null) + public virtual AcErrorCode Registration(Guid userId, string email, string password, string? phoneNumber = null, Guid? referralId = null) { + email = email.ToLower(); + if ((phoneNumber != null && !AcValidate.IsValidPhoneNumberFormat(phoneNumber, out var errorCode)) || !AcValidate.IsValidEmailAndPasswordFormat(email, password, out errorCode)) return errorCode; @@ -108,11 +110,11 @@ public class AcLoginServiceServer RegistrationAsync(string email, string password, string? phoneNumber = null) - => RegistrationAsync(Guid.NewGuid(), email, password, phoneNumber); + public virtual Task RegistrationAsync(string email, string password, string? phoneNumber = null, Guid? referralId = null) + => RegistrationAsync(Guid.NewGuid(), email, password, phoneNumber, referralId); - public virtual Task RegistrationAsync(Guid userId, string email, string password, string? phoneNumber = null) - => TaskHelper.ToThreadPoolTask(() => Registration(userId, email, password, phoneNumber)); + public virtual Task RegistrationAsync(Guid userId, string email, string password, string? phoneNumber = null, Guid? referralId = null) + => TaskHelper.ToThreadPoolTask(() => Registration(userId, email, password, phoneNumber, referralId)); public virtual bool SendConfirmationToken(string? email, string confirmationToken) { diff --git a/AyCode.Services/Logins/AcLoginServiceClient.cs b/AyCode.Services/Logins/AcLoginServiceClient.cs index f0e74ac..5e82ae4 100644 --- a/AyCode.Services/Logins/AcLoginServiceClient.cs +++ b/AyCode.Services/Logins/AcLoginServiceClient.cs @@ -37,22 +37,22 @@ public class AcLoginServiceClient RegistrationAsync(string email, string password, string? phoneNumber = null) + public virtual Task RegistrationAsync(string email, string password, string? phoneNumber = null, Guid? referralId = null) { return TaskHelper.ToThreadPoolTask(() => Registration(email, password, phoneNumber)); } - public Task RegistrationAsync(Guid userId, string email, string password, string? phoneNumber = null) + public Task RegistrationAsync(Guid userId, string email, string password, string? phoneNumber = null, Guid? referralId = null) { throw new NotImplementedException(); } diff --git a/AyCode.Services/SignalRs/IAcSignalRHubClient.cs b/AyCode.Services/SignalRs/IAcSignalRHubClient.cs index 601a486..1b25839 100644 --- a/AyCode.Services/SignalRs/IAcSignalRHubClient.cs +++ b/AyCode.Services/SignalRs/IAcSignalRHubClient.cs @@ -127,37 +127,39 @@ public interface ISignalRMessage [MessagePackObject] public sealed class SignalResponseJsonMessage : ISignalResponseMessage { - [Key(0)] public SignalResponseStatus Status { get; set; } + [Key(0)] public int MessageTag { get; set; } - [Key(1)] public string? ResponseData { get; set; } = null; + [Key(1)] public SignalResponseStatus Status { get; set; } + + [Key(2)] public string? ResponseData { get; set; } = null; public SignalResponseJsonMessage(){} - public SignalResponseJsonMessage(SignalResponseStatus status) + public SignalResponseJsonMessage(int messageTag, SignalResponseStatus status) { Status = status; + MessageTag = messageTag; } - public SignalResponseJsonMessage(SignalResponseStatus status, object? responseData) : this(status) + public SignalResponseJsonMessage(int messageTag, SignalResponseStatus status, object? responseData) : this(messageTag, status) { - if (responseData is string) - ResponseData = responseData as string; + if (responseData is string stringdata) + ResponseData = stringdata; else ResponseData = responseData.ToJson(); } - public SignalResponseJsonMessage(SignalResponseStatus status, string? responseDataJson) : this(status) + public SignalResponseJsonMessage(int messageTag, SignalResponseStatus status, string? responseDataJson) : this(messageTag, status) { ResponseData = responseDataJson; } } [MessagePackObject] -public sealed class SignalResponseMessage(SignalResponseStatus status, TResponseData? responseData) : ISignalResponseMessage +public sealed class SignalResponseMessage(int messageTag, SignalResponseStatus status, TResponseData? responseData) : ISignalResponseMessage { - [Key(0)] - public SignalResponseStatus Status { get; set; } = status; - [Key(1)] - public TResponseData? ResponseData { get; set; } = responseData; + [Key(0)] public int MessageTag { get; set; } + [Key(1)] public SignalResponseStatus Status { get; set; } = status; + [Key(2)] public TResponseData? ResponseData { get; set; } = responseData; } public sealed class SignalResponseStatusMessage(SignalResponseStatus status) : ISignalRMessage @@ -179,6 +181,7 @@ public interface ISignalResponseMessage : ISignalResponseMessage public interface ISignalResponseMessage : ISignalRMessage { + int MessageTag { get; set; } SignalResponseStatus Status { get; set; } }