package fr.titionfire.ffsaf.rest.client.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.quarkus.runtime.annotations.RegisterForReflection;

@RegisterForReflection
public class TokenResponse {
    @JsonProperty("access_token")
    public String accessToken;

    @JsonProperty("refresh_token")
    public String refreshToken;

    @JsonProperty("token_type")
    public String tokenType;  // Toujours "bearer"

    @JsonProperty("expires_in")
    public long expiresIn;    // Durée de validité en secondes (1800s = 30min)

    // Pour stocker l'heure d'obtention du token
    private long timestamp;

    public TokenResponse() {
        this.timestamp = System.currentTimeMillis() / 1000; // Timestamp en secondes
    }

    // Vérifie si le token est expiré
    public boolean isExpired() {
        return (System.currentTimeMillis() / 1000) - timestamp >= expiresIn;
    }
}
