package session

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

type DeleteUseCase struct {
	sessionRepo session.Repository
}

// ProvideDeleteUseCase creates the use case for Wire
func ProvideDeleteUseCase(sessionRepo session.Repository) *DeleteUseCase {
	return &DeleteUseCase{sessionRepo: sessionRepo}
}

// Execute deletes the current session
func (uc *DeleteUseCase) Execute() error {
	return uc.sessionRepo.Delete()
}
