package contract import ( "apskel-pos-be/internal/models" "github.com/google/uuid" ) type IngredientContract interface { Create(request *models.CreateIngredientRequest, organizationID uuid.UUID) (*models.IngredientResponse, error) GetByID(id uuid.UUID, organizationID uuid.UUID) (*models.IngredientResponse, error) GetAll(organizationID uuid.UUID, outletID *uuid.UUID, page, limit int, search string, isSemiFinished *bool) (*models.PaginatedResponse[models.IngredientResponse], error) Update(id uuid.UUID, request *models.UpdateIngredientRequest, organizationID uuid.UUID) (*models.IngredientResponse, error) Delete(id uuid.UUID, organizationID uuid.UUID) error UpdateStock(id uuid.UUID, quantity float64, organizationID uuid.UUID) (*models.IngredientResponse, error) }