20 lines
1.1 KiB
Go
20 lines
1.1 KiB
Go
package service
|
|
|
|
import (
|
|
"apskel-pos-be/internal/models"
|
|
"context"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type IngredientProcessor interface {
|
|
CreateIngredient(ctx context.Context, req *models.CreateIngredientRequest) (*models.IngredientResponse, error)
|
|
UpdateIngredient(ctx context.Context, id uuid.UUID, req *models.UpdateIngredientRequest) (*models.IngredientResponse, error)
|
|
DeleteIngredient(ctx context.Context, id uuid.UUID) error
|
|
GetIngredientByID(ctx context.Context, id uuid.UUID) (*models.IngredientResponse, error)
|
|
ListIngredients(ctx context.Context, organizationID uuid.UUID, outletID *uuid.UUID, page, limit int, search string) (*models.PaginatedResponse[models.IngredientResponse], error)
|
|
UpdateComposition(ctx context.Context, id uuid.UUID, req *models.UpdateIngredientCompositionRequest) (*models.IngredientCompositionResponse, error)
|
|
DeleteComposition(ctx context.Context, id uuid.UUID) (*models.IngredientResponse, error)
|
|
AddCompositions(ctx context.Context, parentID uuid.UUID, req *models.AddIngredientCompositionsRequest) (*models.AddIngredientCompositionsResponse, error)
|
|
}
|