package syncstate

import (
	"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/domain/syncstate"
)

type ResetUseCase struct {
	syncStateRepo syncstate.Repository
}

// ProvideResetUseCase creates the use case for Wire
func ProvideResetUseCase(syncStateRepo syncstate.Repository) *ResetUseCase {
	return &ResetUseCase{syncStateRepo: syncStateRepo}
}

// Execute resets the sync state for a fresh sync
func (uc *ResetUseCase) Execute() error {
	return uc.syncStateRepo.Reset()
}
