SignalR improvements, fixes, etc...

This commit is contained in:
jozsef.b@aycode.com 2024-05-26 20:42:55 +02:00
parent 2ce2273a53
commit fba3f70947
7 changed files with 72 additions and 17 deletions

View File

@ -14,7 +14,7 @@ public static class SerializeObjectExtensions
};
public static string ToJson<T>(this T source) where T : class, IAcSerializableToJson => JsonConvert.SerializeObject(source, Options);
public static string ToJson<T>(this T source) => JsonConvert.SerializeObject(source, Options);
public static string ToJson<T>(this IQueryable<T> source) where T : class, IAcSerializableToJson => JsonConvert.SerializeObject(source, Options);
public static string ToJson<T>(this IEnumerable<T> source) where T : class, IAcSerializableToJson => JsonConvert.SerializeObject(source, Options);

View File

@ -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; }

View File

@ -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; }
}

View File

@ -0,0 +1,5 @@
namespace AyCode.Services.SignalRs;
public class AcSignalRTags
{
}

View File

@ -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);
}

View File

@ -0,0 +1,57 @@
using MessagePack;
namespace AyCode.Services.SignalRs;
[MessagePackObject]
public class SignalRequestByIdMessage(Guid id) : ISignalRequestMessage<Guid>
{
[Key(0)]
public Guid Id { get; set; } = id;
}
public interface ISignalRequestMessage<TRequestId> : ISignalRMessage
{
TRequestId Id { get; set; }
}
public interface ISignalRMessage
{ }
[MessagePackObject]
public sealed class SignalResponseMessage<TResponseData>(SignalResponseStatus status, TResponseData? responseData) : ISignalResponseMessage<TResponseData>
{
[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<TResponseData> : 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);
}

View File

@ -1,7 +0,0 @@
namespace AyCode.Services.SignalRs;
public static class SignalRTags
{
public const int GetTransfersAsync = 5;
public const int PostTransfersAsync = 6;
}