package com.ttstd.controller.network.model;

import com.google.gson.annotations.SerializedName;

/** 令牌校验响应，对应服务端 {@code GET /api/client/verify}。 */
public class VerifyResponse {

    @SerializedName("valid")
    private boolean valid;

    /** USER / DEVICE。 */
    @SerializedName("principalType")
    private String principalType;

    @SerializedName("principalId")
    private String principalId;

    @SerializedName("displayName")
    private String displayName;

    /** 过期时间（秒级时间戳）。 */
    @SerializedName("expiresAt")
    private long expiresAt;

    /** 剩余有效秒数。 */
    @SerializedName("remainingSeconds")
    private long remainingSeconds;

    @SerializedName("message")
    private String message;

    public boolean isValid() {
        return valid;
    }

    public String getPrincipalType() {
        return principalType;
    }

    public String getPrincipalId() {
        return principalId;
    }

    public String getDisplayName() {
        return displayName;
    }

    public long getExpiresAt() {
        return expiresAt;
    }

    public long getRemainingSeconds() {
        return remainingSeconds;
    }

    public String getMessage() {
        return message;
    }
}
