package com.unicorn.hgzero.common.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * JWT 토큰 DTO
 * Access Token과 Refresh Token을 함께 반환하는 DTO
 */
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class JwtTokenDTO {

    /**
     * Access Token
     * 단기 인증 토큰 (기본 1시간)
     */
    private String accessToken;

    /**
     * Refresh Token
     * 장기 인증 토큰 (기본 7일)
     */
    private String refreshToken;

    /**
     * Access Token 유효 기간 (초)
     */
    private Long accessTokenValidity;

    /**
     * Refresh Token 유효 기간 (초)
     */
    private Long refreshTokenValidity;

    /**
     * 토큰 타입 (Bearer)
     */
    @Builder.Default
    private String tokenType = "Bearer";
}
