package pl.hackerspace.domain;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Entity
@Table(name = "invoice")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Invoice {

    @Id
    private long id;

    @Column(nullable = false)
    private String invoiceTitle;

    private String monthOfSubscription;

    @Column(nullable = false)
    private LocalDateTime creationDate;

    @Column(columnDefinition = "VARBINARY(50000)", nullable = false)
    private byte[] pdfContent;

    @ManyToOne
    @JoinColumn(nullable = false)
    private Client client;
}
