apskel-pos-backend/internal/contract/ingredient_contract.go
2025-08-03 23:55:51 +07:00

17 lines
781 B
Go

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)
}