35 lines
		
	
	
		
			997 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			997 B
		
	
	
	
		
			C#
		
	
	
	
	
	
using NodaTime;
 | 
						|
 | 
						|
namespace DysonNetwork.Shared.Stream;
 | 
						|
 | 
						|
public class WebSocketPacketEvent
 | 
						|
{
 | 
						|
    public static string Type => "websocket_msg";
 | 
						|
 | 
						|
    public const string SubjectPrefix = "websocket_";
 | 
						|
 | 
						|
    public Guid AccountId { get; set; }
 | 
						|
    public string DeviceId { get; set; } = null!;
 | 
						|
    public byte[] PacketBytes { get; set; } = null!;
 | 
						|
}
 | 
						|
 | 
						|
public class WebSocketConnectedEvent
 | 
						|
{
 | 
						|
    public static string Type => "websocket_connected";
 | 
						|
 | 
						|
    public Guid AccountId { get; set; }
 | 
						|
    public string DeviceId { get; set; } = null!;
 | 
						|
    public Instant ConnectedAt { get; set; } = SystemClock.Instance.GetCurrentInstant();
 | 
						|
    public bool IsOffline { get; set; } = false;
 | 
						|
}
 | 
						|
 | 
						|
public class WebSocketDisconnectedEvent
 | 
						|
{
 | 
						|
    public static string Type => "websocket_disconnected";
 | 
						|
 | 
						|
    public Guid AccountId { get; set; }
 | 
						|
    public string DeviceId { get; set; } = null!;
 | 
						|
    public Instant DisconnectedAt { get; set; } = SystemClock.Instance.GetCurrentInstant();
 | 
						|
    public bool IsOffline { get; set; }
 | 
						|
}
 |