package syncstate

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

type GetUseCase struct {
	syncStateRepo syncstate.Repository
}

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

// Execute retrieves the current sync state
func (uc *GetUseCase) Execute() (*syncstate.SyncState, error) {
	return uc.syncStateRepo.Get()
}
