From fba3f70947d24296439df9ba2b2806ed9db27cb0 Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Sun, 26 May 2024 20:42:55 +0200 Subject: [PATCH] SignalR improvements, fixes, etc... --- .../Extensions/SerializeObjectExtensions.cs | 2 +- AyCode.Entities/Profiles/AcProfile.cs | 2 + .../Profiles/Dtos/IAcProfileDtoBase.cs | 7 ++- AyCode.Services/SignalRs/AcSignalRTags.cs | 5 ++ AyCode.Services/SignalRs/IAcSignalRHubBase.cs | 9 +-- .../SignalRs/IAcSignalRHubClient.cs | 57 +++++++++++++++++++ AyCode.Services/SignalRs/SignalRTags.cs | 7 --- 7 files changed, 72 insertions(+), 17 deletions(-) create mode 100644 AyCode.Services/SignalRs/AcSignalRTags.cs create mode 100644 AyCode.Services/SignalRs/IAcSignalRHubClient.cs delete mode 100644 AyCode.Services/SignalRs/SignalRTags.cs diff --git a/AyCode.Core/Extensions/SerializeObjectExtensions.cs b/AyCode.Core/Extensions/SerializeObjectExtensions.cs index 7540924..4e54585 100644 --- a/AyCode.Core/Extensions/SerializeObjectExtensions.cs +++ b/AyCode.Core/Extensions/SerializeObjectExtensions.cs @@ -14,7 +14,7 @@ public static class SerializeObjectExtensions }; - public static string ToJson(this T source) where T : class, IAcSerializableToJson => JsonConvert.SerializeObject(source, Options); + public static string ToJson(this T source) => JsonConvert.SerializeObject(source, Options); public static string ToJson(this IQueryable source) where T : class, IAcSerializableToJson => JsonConvert.SerializeObject(source, Options); public static string ToJson(this IEnumerable source) where T : class, IAcSerializableToJson => JsonConvert.SerializeObject(source, Options); diff --git a/AyCode.Entities/Profiles/AcProfile.cs b/AyCode.Entities/Profiles/AcProfile.cs index 8ab4b23..488884b 100644 --- a/AyCode.Entities/Profiles/AcProfile.cs +++ b/AyCode.Entities/Profiles/AcProfile.cs @@ -34,6 +34,8 @@ namespace AyCode.Entities.Profiles public string? LastName { get; set; } //public string NickName { get; set; } + public string? EmailAddress { get; set; } + public string? Description { get; set; } public string? ThumbnailUrl { get ; set; } diff --git a/AyCode.Interfaces/Profiles/Dtos/IAcProfileDtoBase.cs b/AyCode.Interfaces/Profiles/Dtos/IAcProfileDtoBase.cs index c33f12b..63923af 100644 --- a/AyCode.Interfaces/Profiles/Dtos/IAcProfileDtoBase.cs +++ b/AyCode.Interfaces/Profiles/Dtos/IAcProfileDtoBase.cs @@ -1,10 +1,15 @@ using AyCode.Interfaces.Addresses; using AyCode.Interfaces.Entities; using AyCode.Interfaces.MediaInfo; +using AyCode.Interfaces.Users; +using System.ComponentModel.DataAnnotations; namespace AyCode.Interfaces.Profiles.Dtos; -public interface IAcProfileDtoBase : IEntityGuid, IAcProfileName, IMediaInfo, IAcAddressForeignKey +public interface IAcProfileDtoBase : IEntityGuid, IAcProfileName, IMediaInfo, IAcAddressForeignKey//, IAcEmailAddress { + [MaxLength(150)] + string? EmailAddress { get; set; } + string? Description { get; set; } } \ No newline at end of file diff --git a/AyCode.Services/SignalRs/AcSignalRTags.cs b/AyCode.Services/SignalRs/AcSignalRTags.cs new file mode 100644 index 0000000..3b5efcb --- /dev/null +++ b/AyCode.Services/SignalRs/AcSignalRTags.cs @@ -0,0 +1,5 @@ +namespace AyCode.Services.SignalRs; + +public class AcSignalRTags +{ +} \ No newline at end of file diff --git a/AyCode.Services/SignalRs/IAcSignalRHubBase.cs b/AyCode.Services/SignalRs/IAcSignalRHubBase.cs index 6ad9fb9..7abf086 100644 --- a/AyCode.Services/SignalRs/IAcSignalRHubBase.cs +++ b/AyCode.Services/SignalRs/IAcSignalRHubBase.cs @@ -1,14 +1,7 @@ namespace AyCode.Services.SignalRs; -public interface IAcSignalRHubClient : IAcSignalRHubBase -{ - Task SendMessageToServerAsync(int messageTag, object message, int? requestId ); - Task SendRequestToServerAsync(int messageTag, int requestId); - -} - public interface IAcSignalRHubBase { - Task OnRequestMessage(int messageTag, int requesrId); + //Task OnRequestMessage(int messageTag, int requestId); Task OnReceiveMessage(int messageTag, byte[] message, int? requestId); } \ No newline at end of file diff --git a/AyCode.Services/SignalRs/IAcSignalRHubClient.cs b/AyCode.Services/SignalRs/IAcSignalRHubClient.cs new file mode 100644 index 0000000..30b4a8e --- /dev/null +++ b/AyCode.Services/SignalRs/IAcSignalRHubClient.cs @@ -0,0 +1,57 @@ +using MessagePack; + +namespace AyCode.Services.SignalRs; + +[MessagePackObject] +public class SignalRequestByIdMessage(Guid id) : ISignalRequestMessage +{ + [Key(0)] + public Guid Id { get; set; } = id; +} + +public interface ISignalRequestMessage : ISignalRMessage +{ + TRequestId Id { get; set; } +} + +public interface ISignalRMessage +{ } + + +[MessagePackObject] +public sealed class SignalResponseMessage(SignalResponseStatus status, TResponseData? responseData) : ISignalResponseMessage +{ + [Key(0)] + public SignalResponseStatus Status { get; set; } = status; + [Key(1)] + public TResponseData? ResponseData { get; set; } = responseData; +} + +//[MessagePackObject] +//public sealed class SignalResponseMessage(SignalResponseStatus status) : ISignalResponseMessage +//{ +// [Key(0)] +// public SignalResponseStatus Status { get; set; } = status; +//} + +public interface ISignalResponseMessage : ISignalResponseMessage +{ + TResponseData? ResponseData { get; set; } +} + +public interface ISignalResponseMessage : ISignalRMessage +{ + SignalResponseStatus Status { get; set; } +} + +public enum SignalResponseStatus : byte +{ + Error = 0, + Success = 5 +} + +public interface IAcSignalRHubClient : IAcSignalRHubBase +{ + Task SendMessageToServerAsync(int messageTag, ISignalRMessage? message, int? requestId ); + //Task SendRequestToServerAsync(int messageTag, int requestId); +} \ No newline at end of file diff --git a/AyCode.Services/SignalRs/SignalRTags.cs b/AyCode.Services/SignalRs/SignalRTags.cs deleted file mode 100644 index 79a30fa..0000000 --- a/AyCode.Services/SignalRs/SignalRTags.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace AyCode.Services.SignalRs; - -public static class SignalRTags -{ - public const int GetTransfersAsync = 5; - public const int PostTransfersAsync = 6; -} \ No newline at end of file