2026-01-16 20:20:14 +07:00
|
|
|
package ru.soune.nocopy.entity.user;
|
|
|
|
|
|
|
|
|
|
import jakarta.persistence.*;
|
|
|
|
|
import lombok.*;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
|
|
|
|
@Entity
|
|
|
|
|
@Table(name = "email_verification_tokens")
|
|
|
|
|
@Getter
|
|
|
|
|
@Setter
|
|
|
|
|
@NoArgsConstructor
|
|
|
|
|
@AllArgsConstructor
|
|
|
|
|
public class EmailVerificationToken {
|
|
|
|
|
|
|
|
|
|
@Id
|
|
|
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
|
|
|
private Long id;
|
|
|
|
|
|
|
|
|
|
@ManyToOne(fetch = FetchType.LAZY)
|
|
|
|
|
@JoinColumn(name = "user_id", nullable = false)
|
|
|
|
|
private User user;
|
|
|
|
|
|
|
|
|
|
@Column(name = "token", nullable = false, length = 6)
|
|
|
|
|
private String token;
|
|
|
|
|
|
|
|
|
|
@Column(name = "expires_at", nullable = false)
|
2026-01-20 03:47:51 +07:00
|
|
|
private LocalDateTime expiresAt = LocalDateTime.now().plusMinutes(15);
|
2026-01-16 20:20:14 +07:00
|
|
|
|
|
|
|
|
@Column(name = "created_at", nullable = false)
|
|
|
|
|
private LocalDateTime createdAt;
|
2026-01-20 15:12:24 +07:00
|
|
|
|
|
|
|
|
public boolean isExpired() {
|
|
|
|
|
return LocalDateTime.now().isAfter(expiresAt);
|
|
|
|
|
}
|
2026-01-16 20:20:14 +07:00
|
|
|
}
|