using System.Text.Json.Serialization;
using System.Collections.Generic;
using Topsdk.Util;

namespace Topsdk.Top.Ability865.Domain;

public class TaobaoOpenAccountTokenValidateTokenInfo
{

    /*
        token info扩展信息
    */
    private TaobaoOpenAccountTokenValidateTokenInfoExt? ext;


    /*
        isv自己账号的唯一id
    */
    private string? isvAccountId;


    /*
        ISV APP的登录态时长
    */
    private long? loginStateExpireIn;


    /*
        open account id
    */
    private long? openAccountId;


    /*
        时间戳
    */
    private long? timestamp;


    /*
        用于防重放的唯一id
    */
    private string? uuid;



    [JsonPropertyName("ext")]
    public TaobaoOpenAccountTokenValidateTokenInfoExt? Ext
    {
        get => ext;
        set => this.ext = value;
    }

    [JsonPropertyName("isv_account_id")]
    public string? IsvAccountId
    {
        get => isvAccountId;
        set => this.isvAccountId = value;
    }

    [JsonPropertyName("login_state_expire_in")]
    public long? LoginStateExpireIn
    {
        get => loginStateExpireIn;
        set => this.loginStateExpireIn = value;
    }

    [JsonPropertyName("open_account_id")]
    public long? OpenAccountId
    {
        get => openAccountId;
        set => this.openAccountId = value;
    }

    [JsonPropertyName("timestamp")]
    public long? Timestamp
    {
        get => timestamp;
        set => this.timestamp = value;
    }

    [JsonPropertyName("uuid")]
    public string? Uuid
    {
        get => uuid;
        set => this.uuid = value;
    }

}

