package repository

import (
	"context"

	"haixun-backend/internal/model/style_preset/domain/entity"
)

type Repository interface {
	EnsureIndexes(ctx context.Context) error
	List(ctx context.Context, tenantID, ownerUID, personaID string) ([]entity.Preset, error)
	Get(ctx context.Context, tenantID, ownerUID, personaID, presetID string) (*entity.Preset, error)
	Upsert(ctx context.Context, preset *entity.Preset) (*entity.Preset, error)
	Delete(ctx context.Context, tenantID, ownerUID, personaID, presetID string) error
}
