package de.oaa.xxx.dating;

import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;
import java.util.UUID;

@Getter
@Setter
@Entity
@Table(name = "dating_date")
public class DatingDateEntity {

    @Id
    @Column
    private UUID dateId;

    @Column(nullable = false)
    private UUID creatorId;

    @Column(length = 200, nullable = false)
    private String title;

    @Column(columnDefinition = "MEDIUMTEXT", nullable = false)
    private String description;

    /** Optional base64-kodiertes Bild */
    @Column(columnDefinition = "MEDIUMTEXT")
    private String imageData;

    /** Optionaler Termin – wenn gesetzt, läuft das Date danach ab */
    @Column
    private LocalDateTime scheduledAt;

    @Column(nullable = false)
    private LocalDateTime createdAt;

    /**
     * Ablaufzeitpunkt: scheduledAt (wenn gesetzt) oder createdAt + 30 Tage.
     * Wird vom CleanupTask zum Löschen herangezogen.
     */
    @Column(nullable = false)
    private LocalDateTime expiresAt;
}
