namespace ZB.MOM.WW.ScadaBridge.Commons.Types.DataConnections;

/// <summary>
/// OPC UA user identity configuration for a data connection endpoint.
/// </summary>
public sealed class OpcUaUserIdentityConfig
{
    /// <summary>The OPC UA user token type (Anonymous, UserName, or Certificate).</summary>
    public OpcUaUserTokenType TokenType { get; set; } = OpcUaUserTokenType.Anonymous;
    /// <summary>Username for UserName token type authentication.</summary>
    public string Username { get; set; } = "";
    /// <summary>Password for UserName token type authentication.</summary>
    public string Password { get; set; } = "";
    /// <summary>File path to the X.509 certificate for Certificate token type authentication.</summary>
    public string CertificatePath { get; set; } = "";
    /// <summary>Password to unlock the certificate private key.</summary>
    public string CertificatePassword { get; set; } = "";
}
