using MemoryPack;

namespace Insight.Domain.Network.Agent.Messages;

[MemoryPackable]
public partial class AuthenticationRequest : IMessage { }

[MemoryPackable]
public partial class AuthenticationResponse : IMessage
{
    [MemoryPackOrder(0)]
    public PlatformType? Platform { get; set; }

    [MemoryPackOrder(1)]
    public Guid Serial { get; set; }

    [MemoryPackOrder(2)]
    public Version? Version { get; set; }

    [MemoryPackOrder(3)]
    public string? Hostname { get; set; }

    public enum PlatformType
    {
        Unknown = 0,
        Windows = 1,
        Unix = 2
    }
}