package processor

import (
	"apskel-pos-be/internal/entities"
	"context"

	"github.com/google/uuid"
)

type IngredientRepository interface {
	Create(ctx context.Context, ingredient *entities.Ingredient) error
	GetByID(ctx context.Context, id, organizationID uuid.UUID) (*entities.Ingredient, error)
	GetAll(ctx context.Context, organizationID uuid.UUID, outletID *uuid.UUID, page, limit int, search string, isSemiFinished *bool) ([]*entities.Ingredient, int, error)
	Update(ctx context.Context, ingredient *entities.Ingredient) error
	Delete(ctx context.Context, id, organizationID uuid.UUID) error
	UpdateStock(ctx context.Context, id uuid.UUID, newStock float64, organizationID uuid.UUID) error
}
