package commitintel

import (
	"context"

	"bit.admedia.com/scm/ad/adpilot-indexing-commit-intel.com/internal/store"
)

// AnalysisWriter persists commit analysis documents.
type AnalysisWriter interface {
	ExistsByEventID(ctx context.Context, eventID string) (bool, error)
	SaveAnalysis(ctx context.Context, doc store.CommitAnalysisDoc) error
}

// IndexingRunUpdater updates indexing run stage progress.
type IndexingRunUpdater interface {
	UpdateCommitIntelStage(ctx context.Context, repoID, snapshotID string) error
	IncrementFailedCommit(ctx context.Context, repoID, snapshotID, commitSHA, eventID, message string) error
}
