package com.example.FinanceTracker.Models;

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

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Entity
@Table(name = "transactions")
@AllArgsConstructor
@NoArgsConstructor
public class Transaction {

    @Id
    @GeneratedValue(strategy = GenerationType.UUID)
    private UUID id;
    
    @Column
    private LocalDate date;

    @Column
    private String description;

    @Column
    private String category;

    @Column
    private BigDecimal moneyIn;

    @Column
    private BigDecimal moneyOut;

    @Column
    private BigDecimal fee;

    @Column
    private BigDecimal balance;

}
