package de.assecutor.pdftool.invoice;

import com.vaadin.flow.spring.annotation.VaadinSessionScope;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * Hält die zuletzt in der E-Rechnungs-Maske erfassten Rechnungspositionen für
 * die Dauer der Sitzung, damit der Rechnungsgenerator sie in der
 * Positionsliste und der PDF-Vorschau verwenden kann.
 */
@Component
@VaadinSessionScope
public class CapturedInvoiceData {

    private List<InvoiceMetadata.LineItem> items = List.of();

    public List<InvoiceMetadata.LineItem> getItems() {
        return items;
    }

    public void setItems(List<InvoiceMetadata.LineItem> items) {
        this.items = items != null ? List.copyOf(items) : List.of();
    }
}
