cleaned code
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
namespace AipsCore.Application.Abstract;
|
||||||
|
|
||||||
|
public interface IWhiteboardAwareContext
|
||||||
|
{
|
||||||
|
Guid GetWhiteboardId();
|
||||||
|
}
|
||||||
@@ -1,6 +1,3 @@
|
|||||||
namespace AipsCore.Application.Abstract.MessageBroking;
|
namespace AipsCore.Application.Abstract.MessageBroking;
|
||||||
|
|
||||||
public interface IMessage
|
public interface IMessage;
|
||||||
{
|
|
||||||
Guid? GetWhiteboardId();
|
|
||||||
};
|
|
||||||
@@ -1,11 +1,12 @@
|
|||||||
|
using AipsCore.Application.Abstract;
|
||||||
using AipsCore.Application.Abstract.MessageBroking;
|
using AipsCore.Application.Abstract.MessageBroking;
|
||||||
using AipsCore.Application.Models.Shape.Command.CreateArrow;
|
using AipsCore.Application.Models.Shape.Command.CreateArrow;
|
||||||
|
|
||||||
namespace AipsCore.Application.Common.Message.AddArrow;
|
namespace AipsCore.Application.Common.Message.AddArrow;
|
||||||
|
|
||||||
public record AddArrowMessage(CreateArrowCommand Command) : IMessage
|
public record AddArrowMessage(CreateArrowCommand Command) : IMessage, IWhiteboardAwareContext
|
||||||
{
|
{
|
||||||
public Guid? GetWhiteboardId()
|
public Guid GetWhiteboardId()
|
||||||
{
|
{
|
||||||
return Guid.Parse(Command.WhiteboardId);
|
return Guid.Parse(Command.WhiteboardId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
|
using AipsCore.Application.Abstract;
|
||||||
using AipsCore.Application.Abstract.MessageBroking;
|
using AipsCore.Application.Abstract.MessageBroking;
|
||||||
using AipsCore.Application.Models.Shape.Command.CreateLine;
|
using AipsCore.Application.Models.Shape.Command.CreateLine;
|
||||||
|
|
||||||
namespace AipsCore.Application.Common.Message.AddLine;
|
namespace AipsCore.Application.Common.Message.AddLine;
|
||||||
|
|
||||||
public record AddLineMessage(CreateLineCommand Command) : IMessage
|
public record AddLineMessage(CreateLineCommand Command) : IMessage, IWhiteboardAwareContext
|
||||||
{
|
{
|
||||||
public Guid? GetWhiteboardId()
|
public Guid GetWhiteboardId()
|
||||||
{
|
{
|
||||||
return Guid.Parse(Command.WhiteboardId);
|
return Guid.Parse(Command.WhiteboardId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
|
using AipsCore.Application.Abstract;
|
||||||
using AipsCore.Application.Abstract.MessageBroking;
|
using AipsCore.Application.Abstract.MessageBroking;
|
||||||
using AipsCore.Application.Models.Shape.Command.CreateRectangle;
|
using AipsCore.Application.Models.Shape.Command.CreateRectangle;
|
||||||
|
|
||||||
namespace AipsCore.Application.Common.Message.AddRectangle;
|
namespace AipsCore.Application.Common.Message.AddRectangle;
|
||||||
|
|
||||||
public record AddRectangleMessage(CreateRectangleCommand Command) : IMessage
|
public record AddRectangleMessage(CreateRectangleCommand Command) : IMessage, IWhiteboardAwareContext
|
||||||
{
|
{
|
||||||
public Guid? GetWhiteboardId()
|
public Guid GetWhiteboardId()
|
||||||
{
|
{
|
||||||
return Guid.Parse(Command.WhiteboardId);
|
return Guid.Parse(Command.WhiteboardId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
|
using AipsCore.Application.Abstract;
|
||||||
using AipsCore.Application.Abstract.MessageBroking;
|
using AipsCore.Application.Abstract.MessageBroking;
|
||||||
using AipsCore.Application.Models.Shape.Command.CreateTextShape;
|
using AipsCore.Application.Models.Shape.Command.CreateTextShape;
|
||||||
|
|
||||||
namespace AipsCore.Application.Common.Message.AddTextShape;
|
namespace AipsCore.Application.Common.Message.AddTextShape;
|
||||||
|
|
||||||
public record AddTextShapeMessage(CreateTextShapeCommand Command) : IMessage
|
public record AddTextShapeMessage(CreateTextShapeCommand Command) : IMessage, IWhiteboardAwareContext
|
||||||
{
|
{
|
||||||
public Guid? GetWhiteboardId()
|
public Guid GetWhiteboardId()
|
||||||
{
|
{
|
||||||
return Guid.Parse(Command.WhiteboardId);
|
return Guid.Parse(Command.WhiteboardId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
|
using AipsCore.Application.Abstract;
|
||||||
using AipsCore.Application.Abstract.MessageBroking;
|
using AipsCore.Application.Abstract.MessageBroking;
|
||||||
using AipsCore.Domain.Common.Validation;
|
using AipsCore.Domain.Common.Validation;
|
||||||
|
|
||||||
namespace AipsCore.Application.Common.Message.ErrorMessage;
|
namespace AipsCore.Application.Common.Message.ErrorMessage;
|
||||||
|
|
||||||
public record ErrorMessage(Guid WhiteboardId, ICollection<ValidationError> Errors) : IMessage
|
public record ErrorMessage(Guid WhiteboardId, ICollection<ValidationError> Errors) : IMessage, IWhiteboardAwareContext
|
||||||
{
|
{
|
||||||
public Guid? GetWhiteboardId()
|
public Guid GetWhiteboardId()
|
||||||
{
|
{
|
||||||
return WhiteboardId;
|
return WhiteboardId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
|
using AipsCore.Application.Abstract;
|
||||||
using AipsCore.Application.Abstract.MessageBroking;
|
using AipsCore.Application.Abstract.MessageBroking;
|
||||||
using AipsCore.Application.Models.Shape.Command.MoveShape;
|
using AipsCore.Application.Models.Shape.Command.MoveShape;
|
||||||
|
|
||||||
namespace AipsCore.Application.Common.Message.MoveShape;
|
namespace AipsCore.Application.Common.Message.MoveShape;
|
||||||
|
|
||||||
public record MoveShapeMessage(Guid WhiteboardId, MoveShapeCommand Command) : IMessage
|
public record MoveShapeMessage(Guid WhiteboardId, MoveShapeCommand Command) : IMessage, IWhiteboardAwareContext
|
||||||
{
|
{
|
||||||
public Guid? GetWhiteboardId()
|
public Guid GetWhiteboardId()
|
||||||
{
|
{
|
||||||
return WhiteboardId;
|
return WhiteboardId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,4 @@ using AipsCore.Application.Abstract.MessageBroking;
|
|||||||
|
|
||||||
namespace AipsCore.Application.Common.Message.TestMessage;
|
namespace AipsCore.Application.Common.Message.TestMessage;
|
||||||
|
|
||||||
public record TestMessage(string Text) : IMessage
|
public record TestMessage(string Text) : IMessage;
|
||||||
{
|
|
||||||
public Guid? GetWhiteboardId()
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -25,7 +25,7 @@ public class WhiteboardHub : Hub
|
|||||||
public async Task JoinWhiteboard(Guid whiteboardId)
|
public async Task JoinWhiteboard(Guid whiteboardId)
|
||||||
{
|
{
|
||||||
if (!_whiteboardManager.WhiteboardExists(whiteboardId))
|
if (!_whiteboardManager.WhiteboardExists(whiteboardId))
|
||||||
await _whiteboardManager.AddWhiteboard(whiteboardId);
|
await _whiteboardManager.LoadWhiteboard(whiteboardId);
|
||||||
|
|
||||||
await Groups.AddToGroupAsync(Context.ConnectionId, whiteboardId.ToString());
|
await Groups.AddToGroupAsync(Context.ConnectionId, whiteboardId.ToString());
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ public class WhiteboardManager
|
|||||||
_scopeFactory = scopeFactory;
|
_scopeFactory = scopeFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task AddWhiteboard(Guid whiteboardId)
|
public async Task LoadWhiteboard(Guid whiteboardId)
|
||||||
{
|
{
|
||||||
var getWhiteboardService = _scopeFactory.CreateScope().ServiceProvider.GetRequiredService<GetWhiteboardService>();
|
var getWhiteboardService = _scopeFactory.CreateScope().ServiceProvider.GetRequiredService<GetWhiteboardService>();
|
||||||
var whiteboard = await getWhiteboardService.GetWhiteboard(whiteboardId);
|
var whiteboard = await getWhiteboardService.GetWhiteboard(whiteboardId);
|
||||||
@@ -36,12 +36,12 @@ public class WhiteboardManager
|
|||||||
{
|
{
|
||||||
var whiteboard = GetWhiteboard(whiteboardId);
|
var whiteboard = GetWhiteboard(whiteboardId);
|
||||||
|
|
||||||
if (whiteboard == null)
|
if (whiteboard is not null)
|
||||||
{
|
{
|
||||||
RemoveWhiteboard(whiteboardId);
|
RemoveWhiteboard(whiteboardId);
|
||||||
}
|
}
|
||||||
|
|
||||||
await AddWhiteboard(whiteboardId);
|
await LoadWhiteboard(whiteboardId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Whiteboard? GetWhiteboard(Guid whiteboardId)
|
public Whiteboard? GetWhiteboard(Guid whiteboardId)
|
||||||
|
|||||||
@@ -40,24 +40,26 @@ public class WorkerService : BackgroundService
|
|||||||
|
|
||||||
private async Task HandleMessage<T>(T message, CancellationToken ct) where T : IMessage
|
private async Task HandleMessage<T>(T message, CancellationToken ct) where T : IMessage
|
||||||
{
|
{
|
||||||
|
Console.WriteLine($"*--------{message.GetType().Name}--------*");
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await _dispatcher.Execute(message, ct);
|
await _dispatcher.Execute(message, ct);
|
||||||
|
|
||||||
Console.WriteLine($"OK: {message.GetType().Name}");
|
Console.WriteLine("OK!");
|
||||||
}
|
}
|
||||||
catch (ValidationException validationException)
|
catch (ValidationException validationException)
|
||||||
{
|
{
|
||||||
var whiteboardId = message.GetWhiteboardId();
|
if (message is IWhiteboardAwareContext)
|
||||||
|
|
||||||
if (whiteboardId is not null)
|
|
||||||
{
|
{
|
||||||
var errorMessage = new ErrorMessage(whiteboardId.Value, validationException.ValidationErrors);
|
var whiteboardId = ((IWhiteboardAwareContext)message).GetWhiteboardId();
|
||||||
|
|
||||||
|
var errorMessage = new ErrorMessage(whiteboardId, validationException.ValidationErrors);
|
||||||
|
|
||||||
await _publisher.PublishAsync(errorMessage, ct);
|
await _publisher.PublishAsync(errorMessage, ct);
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLine("===Validation Exception: ");
|
Console.WriteLine("Validation Exception: ");
|
||||||
foreach (var error in validationException.ValidationErrors)
|
foreach (var error in validationException.ValidationErrors)
|
||||||
{
|
{
|
||||||
Console.WriteLine(" * Code: " + error.Code);
|
Console.WriteLine(" * Code: " + error.Code);
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ export const useWhiteboardStore = defineStore('whiteboard', () => {
|
|||||||
isConnected.value = true
|
isConnected.value = true
|
||||||
|
|
||||||
whiteboardHubService.onInitWhiteboard((wb) => {
|
whiteboardHubService.onInitWhiteboard((wb) => {
|
||||||
|
deselectShape()
|
||||||
whiteboard.value = wb
|
whiteboard.value = wb
|
||||||
isLoading.value = false
|
isLoading.value = false
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user