package de.effigenix.domain.inventory;

/**
 * Rohe Eingabe zum Erzeugen eines Stock-Aggregates.
 * Wird vom Application Layer aus dem Command gebaut und an Stock.create() übergeben.
 * Das Aggregate ist verantwortlich für Validierung und VO-Konstruktion.
 *
 * @param articleId              Pflicht
 * @param storageLocationId      Pflicht
 * @param minimumLevelAmount     Optional – BigDecimal als String, nullable
 * @param minimumLevelUnit       Optional – UnitOfMeasure als String, nullable
 * @param minimumShelfLifeDays   Optional – Integer, nullable
 */
public record StockDraft(
        String articleId,
        String storageLocationId,
        String minimumLevelAmount,
        String minimumLevelUnit,
        Integer minimumShelfLifeDays
) {}
