package org.initialde.yakasave.Domain.Entities;


import jakarta.persistence.*;
import lombok.*;

import java.time.LocalDate;
import java.util.UUID;

@Entity
@Table(name = "contributions")
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@Builder
public class Contribution {
    @Id
    @GeneratedValue(strategy = GenerationType.UUID)
    private UUID id;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "contributor_id")
    private User contributor;

    private double amount;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "savings_fund_id")
    private SavingsFundSnapshot savingsFund;

    private LocalDate contributionDate;

    public Contribution(User contributor, double amount){
        this.contributor = contributor;
        this.amount = amount;
    }
}
