package usecase

import (
	"context"
)

type CopyDraftSummary struct {
	ID             string
	PersonaID      string
	ScanPostID     string
	DraftType      string
	Text           string
	Angle          string
	Hook           string
	Rationale      string
	ReferenceNotes string
	Sources        []string
	Status         string
	CreateAt       int64
}

type CreateRequest struct {
	TenantID       string
	OwnerUID       string
	PersonaID      string
	ScanPostID     string
	DraftType      string
	Text           string
	Angle          string
	Hook           string
	Rationale      string
	ReferenceNotes string
	Sources        []string
}

type UseCase interface {
	Create(ctx context.Context, req CreateRequest) (*CopyDraftSummary, error)
	List(ctx context.Context, tenantID, ownerUID, personaID string, limit int) ([]CopyDraftSummary, error)
}
