using System;
namespace axXez.TS3.Protocol
{
/// Represents an API key entry returned by apikeyadd or apikeylist.
public class ApiKeyInfo : TsEntity
{
/// Numeric API key ID.
[TsField("id")]
public int ID { get; protected set; }
/// Virtual server ID this key is bound to.
[TsField("sid")]
public int ServerID { get; protected set; }
/// Database ID of the client who owns this key.
[TsField("cldbid")]
public int ClientDBID { get; protected set; }
/// Access scope of this key: "manage", "write", or "read".
[TsField("scope")]
public string Scope { get; protected set; }
/// Remaining lifetime of this key in seconds.
[TsField("time_left")]
public int TimeLeft { get; protected set; }
/// Date and time when this key was created.
[TsField("created_at")]
public DateTime CreatedAt { get; protected set; }
/// Date and time when this key expires.
[TsField("expires_at")]
public DateTime ExpiresAt { get; protected set; }
/// The API key token string. Only set when the key is first created; null when listed.
[TsField("apikey")]
public string ApiKey { get; protected set; }
internal ApiKeyInfo(TsDataEntry data) : base(data) { }
}
}