package app.mealsmadeeasy.api.recipe.view;

import app.mealsmadeeasy.api.image.view.ImageView;
import app.mealsmadeeasy.api.recipe.RecipeDraft;
import app.mealsmadeeasy.api.user.view.UserInfoView;
import lombok.Builder;
import org.jetbrains.annotations.Nullable;

import java.time.OffsetDateTime;
import java.util.List;
import java.util.UUID;

@Builder
public record RecipeDraftView(
        UUID id,
        OffsetDateTime created,
        @Nullable OffsetDateTime modified,
        RecipeDraft.State state,
        @Nullable String slug,
        @Nullable String title,
        @Nullable Integer preparationTime,
        @Nullable Integer cookingTime,
        @Nullable Integer totalTime,
        @Nullable String rawText,
        @Nullable List<RecipeDraft.IngredientDraft> ingredients,
        UserInfoView owner,
        @Nullable ImageView mainImage,
        @Nullable RecipeDraftInferenceView lastInference
) {

    @Builder
    public record RecipeDraftInferenceView(
            OffsetDateTime inferredAt,
            String title,
            String rawText
    ) {}

}
