package usecase

import "context"

type PresetSummary struct {
	ID          string
	PersonaID   string
	Name        string
	Tone        string
	CTA         []string
	BannedWords []string
	Notes       string
	CreateAt    int64
	UpdateAt    int64
}

type UpsertRequest struct {
	TenantID    string
	OwnerUID    string
	PersonaID   string
	PresetID    string
	Name        string
	Tone        string
	CTA         []string
	BannedWords []string
	Notes       string
	Apply       bool
}

type UseCase interface {
	List(ctx context.Context, tenantID, ownerUID, personaID string) ([]PresetSummary, error)
	Upsert(ctx context.Context, req UpsertRequest) (*PresetSummary, error)
	Delete(ctx context.Context, tenantID, ownerUID, personaID, presetID string) error
}
