VerificationRequest.java
package com.wavii.model;
import com.wavii.model.enums.VerificationStatus;
import jakarta.persistence.*;
import lombok.*;
import java.time.LocalDateTime;
import java.util.UUID;
/**
* Entidad que representa una solicitud de verificación de profesor certificado.
* Almacena el estado de la solicitud y el documento acreditativo subido.
*/
@Entity
@Table(name = "verification_requests")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VerificationRequest {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
private UUID id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
private User user;
@Column(nullable = false)
private String fileName;
@Column(nullable = false)
private String filePath;
@Enumerated(EnumType.STRING)
@Column(nullable = false)
@Builder.Default
private VerificationStatus status = VerificationStatus.PENDING;
@Column(nullable = false, updatable = false)
@Builder.Default
private LocalDateTime createdAt = LocalDateTime.now();
}