package tokenmanager

import (
	"go.uber.org/zap"

	"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/pkg/maplefile/client"
	"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/service/auth"
	"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/usecase/session"
)

// ProvideManager creates the token manager for Wire
func ProvideManager(
	client *client.Client,
	authService *auth.Service,
	getSession *session.GetByIdUseCase,
	logger *zap.Logger,
) *Manager {
	config := DefaultConfig()
	return New(config, client, authService, getSession, logger)
}
