using System;
namespace axXez.TS3.Protocol
{
/// Persistent database record for a client, returned by clientdbinfo or clientdblist.
public class ClientDBInfo : TsEntity
{
/// Unique identifier of the client.
[TsField("client_unique_identifier")]
public string UID { get; protected set; }
/// Nickname the client used on their last connection.
[TsField("client_nickname")]
public string LastSeenName { get; protected set; }
/// Permanent database ID of the client.
[TsField("client_database_id")]
public int DBID { get; protected set; }
/// Date and time of the client's first connection to this server.
[TsField("client_created")]
public DateTime CreationDate { get; protected set; }
/// Date and time of the client's most recent connection.
[TsField("client_lastconnected")]
public DateTime LastConnectionDate { get; protected set; }
/// Total number of times the client has connected to this server.
[TsField("client_totalconnections")]
public int TotalConnections { get; protected set; }
/// MD5 hash of the client's avatar image; empty if no avatar is set.
[TsField("client_flag_avatar")]
public string AvatarFlag { get; protected set; }
/// Description text set on the client's profile.
[TsField("client_description")]
public string Description { get; protected set; }
/// Bytes uploaded by the client during the current calendar month.
[TsField("client_month_bytes_uploaded")]
public long BytesUploadedLastMonth { get; protected set; }
/// Bytes downloaded by the client during the current calendar month.
[TsField("client_month_bytes_downloaded")]
public long BytesDownloadedLastMonth { get; protected set; }
/// Total bytes uploaded by the client across all connections.
[TsField("client_total_bytes_uploaded")]
public long TotalBytesUploaded { get; protected set; }
/// Total bytes downloaded by the client across all connections.
[TsField("client_total_bytes_downloaded")]
public long TotalBytesDownloaded { get; protected set; }
/// Base64-encoded hash of the client's UID, used for client identification.
[TsField("client_base64HashClientUID")]
public string Base64HashClientUID { get; protected set; }
/// IP address used by the client on their last connection.
[TsField("client_lastip")]
public string LastIP { get; protected set; }
internal ClientDBInfo(TsDataEntry data) : base(data) { }
}
}