package session

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

type GetByIdUseCase struct {
	sessionRepo session.Repository
}

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

// Execute retrieves the current session
func (uc *GetByIdUseCase) Execute() (*session.Session, error) {
	return uc.sessionRepo.Get()
}
