package com.ttstd.controller.network.model;

import com.google.gson.annotations.SerializedName;

/**
 * 登录 / 刷新令牌响应，对应服务端 {@code AuthDtos.TokenResponse}。
 *
 * <p>设备令牌场景 refreshToken 为 null；主控端（用户令牌）两者均会下发。
 */
public class TokenResponse {

    @SerializedName("accessToken")
    private String accessToken;

    @SerializedName("refreshToken")
    private String refreshToken;

    /** access 令牌有效期（秒）。 */
    @SerializedName("expiresIn")
    private long expiresIn;

    @SerializedName("sessionId")
    private String sessionId;

    /** 用户 ID。 */
    @SerializedName("principalId")
    private String principalId;

    /** 展示名（一般为用户名）。 */
    @SerializedName("displayName")
    private String displayName;

    public String getAccessToken() {
        return accessToken;
    }

    public String getRefreshToken() {
        return refreshToken;
    }

    public long getExpiresIn() {
        return expiresIn;
    }

    public String getSessionId() {
        return sessionId;
    }

    public String getPrincipalId() {
        return principalId;
    }

    public String getDisplayName() {
        return displayName;
    }
}
